What does this mean? Is the workflow supposed to have the same name as the worker? What happens then
What does this mean? Is the workflow supposed to have the same name as the worker? What happens then if you want multiple workflows per worker?

workflows list shows nothing, you haven't registered your Workflow yet by deploying it.npm create cloudflare@latest workflows-starter -- --template "cloudflare/workflows-starter" command (apart from the empty object issue when env.MY_WORKFLOW.create() is called locally). Does this command do more than simply scaffolding the worker project on my local file system? Workflow.create was taking a whole minute. I will keep an eye when workflows get more mature.wrangler dev --remote --env stage & i have a workflow & a KV in a stage env.
Promise<InstanceStatus>

object[] instead of object;workflow.get(id).stop()) instead of terminate as a means to softly shutdown the workflow. So the user could gracefully close the workflow (for example the workflow could be a long running polling workflow that doesn't have an end state).terminate() to kill the workflow and abruptly kill the workflow in case it's stuck in a inf-loop and we want to kill it for sure.terminate is the only way to stop a long running / no end-state workflow, so it would be nice to gracefully or signal the workflow to transition to a potential end-state or cleanup.status() method (which should be fine for now) or set some outside state from inside the step callback (seems like a code smell).Maximum steps per Workflow 256, does this mean only for Workers Free? what about the limitation for Workers PaidWorkflowEvent<T> to change; the workflow would accept the original WorkflowEvent as some of sort constructor (so it could be accessed via this.initEvent etc; then the arguments in the run indicates a modified arguments that the workflow can compare to; a change of value can indicate a signalWorkflowEvent<T> to have signal property, this property has special value that could be checked and changed unlike payload indicating the original value; the signal property can have built-in signals like shouldStop to indicate a built-in option for the workflow to be informed that it should gracefully transition into a stop or cancelled state with proper clean up.WorkflowStepConfig can accept a option to overrideResult; this may be harder to implement then the second porposal.step.sleep
unknown is correct - you pass your own type: https://developers.cloudflare.com/workflows/build/workers-api/#workflowinstancecreateoptions
#:schema node_modules/wrangler/config-schema.json
name = "my-app"
compatibility_date = "2024-10-22"
compatibility_flags = ["nodejs_compat"]
main = "dist/index.js"
minify = true
upload_source_maps = true
tail_consumers = [{ service = "my-app-tail" }]
[build]
command = "pnpm run build"
[observability]
enabled = true
[ai]
binding = "AI"
[[kv_namespaces]]
binding = "INCOMING_EMAILS_KV"
id = "<redacted>"
[[kv_namespaces]]
binding = "DLQ_KV"
id = "<redacted>"
[triggers]
crons = ["* * * * *", "*/30 * * * *"]
[[queues.consumers]]
queue = "account-emails"
dead_letter_queue = "dlq"
max_batch_size = 20
max_batch_timeout = 10
max_retries = 10
[[queues.consumers]]
queue = "incoming-emails"
dead_letter_queue = "dlq"
max_batch_size = 10
max_batch_timeout = 10
max_retries = 10
[[queues.consumers]]
queue = "dlq"
[[queues.producers]]
binding = "ACCOUNT_EMAILS_QUEUE"
queue = "account-emails"
[[queues.producers]]
binding = "INCOMING_EMAILS_QUEUE"
queue = "incoming-emails"
[[workflows]]
name = "process-incoming-emails"
binding = "PROCESS_INCOMING_EMAILS_WORKFLOW"
class_name = "ProcessIncomingEmailsWorkflow"