@bastani/atomic 0.9.16-alpha.2 → 0.9.16-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/builtin/intercom/broker/spawn.ts +22 -2
- package/dist/builtin/intercom/index.bundle.mjs +61756 -0
- package/dist/builtin/intercom/package.json +3 -3
- package/dist/builtin/mcp/index.bundle.mjs +64963 -0
- package/dist/builtin/mcp/package.json +2 -2
- package/dist/builtin/subagents/package.json +2 -2
- package/dist/builtin/subagents/src/extension/index.bundle.mjs +85733 -0
- package/dist/builtin/web-access/index.bundle.mjs +67475 -0
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/package.json +3 -3
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +76480 -96363
- package/dist/builtin/workflows/src/index.bundle.mjs +73306 -0
- package/dist/config-package-identity.d.ts +22 -0
- package/dist/config-package-identity.d.ts.map +1 -0
- package/dist/config-package-identity.js +73 -0
- package/dist/config-package-identity.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -10
- package/dist/config.js.map +1 -1
- package/dist/core/builtin-install-layout.d.ts +22 -0
- package/dist/core/builtin-install-layout.d.ts.map +1 -0
- package/dist/core/builtin-install-layout.js +23 -0
- package/dist/core/builtin-install-layout.js.map +1 -0
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +8 -32
- package/dist/core/builtin-packages.js.map +1 -1
- package/npm-shrinkwrap.json +32 -32
- package/package.json +3 -3
- package/dist/builtin/intercom/closed-workflow-stage-message.ts +0 -66
- package/dist/builtin/intercom/config.ts +0 -121
- package/dist/builtin/intercom/contact-supervisor-tool.ts +0 -328
- package/dist/builtin/intercom/foreground-detach-handoff.ts +0 -164
- package/dist/builtin/intercom/group.ts +0 -85
- package/dist/builtin/intercom/inbound-idle-queue.ts +0 -82
- package/dist/builtin/intercom/inbound-message-admission.ts +0 -79
- package/dist/builtin/intercom/incoming-message-delivery.ts +0 -49
- package/dist/builtin/intercom/index-heavy.ts +0 -539
- package/dist/builtin/intercom/index.ts +0 -503
- package/dist/builtin/intercom/intercom-test-seams.ts +0 -6
- package/dist/builtin/intercom/intercom-tool.ts +0 -602
- package/dist/builtin/intercom/intercom-utils.ts +0 -427
- package/dist/builtin/intercom/late-stage-message-router.ts +0 -148
- package/dist/builtin/intercom/lazy-heavy-proxy.ts +0 -108
- package/dist/builtin/intercom/lazy-subagent-ack.ts +0 -25
- package/dist/builtin/intercom/lazy-tool-execution.ts +0 -39
- package/dist/builtin/intercom/lifecycle-lease.ts +0 -51
- package/dist/builtin/intercom/lifecycle.ts +0 -144
- package/dist/builtin/intercom/overlay.ts +0 -96
- package/dist/builtin/intercom/parent-ask-handoff.ts +0 -72
- package/dist/builtin/intercom/reconnect-backoff.ts +0 -6
- package/dist/builtin/intercom/reply-routing.ts +0 -17
- package/dist/builtin/intercom/reply-tracker.ts +0 -110
- package/dist/builtin/intercom/reply-waiter.ts +0 -115
- package/dist/builtin/intercom/result-renderers.ts +0 -77
- package/dist/builtin/intercom/runtime-group.ts +0 -13
- package/dist/builtin/intercom/session-target.ts +0 -54
- package/dist/builtin/intercom/source-ownership.ts +0 -31
- package/dist/builtin/intercom/stable-delivery-retry.ts +0 -32
- package/dist/builtin/intercom/subagent-relay.ts +0 -290
- package/dist/builtin/intercom/supervisor-authorization-registry.ts +0 -22
- package/dist/builtin/intercom/terminal-ordering-barrier.ts +0 -247
- package/dist/builtin/intercom/types.ts +0 -66
- package/dist/builtin/intercom/ui/compose.ts +0 -159
- package/dist/builtin/intercom/ui/inline-message.ts +0 -78
- package/dist/builtin/intercom/ui/session-list.ts +0 -195
- package/dist/builtin/intercom/workflow-reply-tracker.ts +0 -19
- package/dist/builtin/intercom/workflow-stage-admission.ts +0 -43
- package/dist/builtin/intercom/workflow-stage-delivery-failure.ts +0 -77
- package/dist/builtin/mcp/agent-dir.ts +0 -30
- package/dist/builtin/mcp/apps-cancellation.ts +0 -32
- package/dist/builtin/mcp/call-tool-result.ts +0 -9
- package/dist/builtin/mcp/caller-wait.ts +0 -50
- package/dist/builtin/mcp/cli.js +0 -191
- package/dist/builtin/mcp/command-registration.ts +0 -82
- package/dist/builtin/mcp/commands.ts +0 -424
- package/dist/builtin/mcp/config-write-utils.ts +0 -104
- package/dist/builtin/mcp/config.ts +0 -498
- package/dist/builtin/mcp/consent-manager.ts +0 -64
- package/dist/builtin/mcp/direct-tool-executor.ts +0 -280
- package/dist/builtin/mcp/direct-tools.ts +0 -216
- package/dist/builtin/mcp/errors.ts +0 -219
- package/dist/builtin/mcp/glimpse-ui.ts +0 -81
- package/dist/builtin/mcp/host-html-template.ts +0 -426
- package/dist/builtin/mcp/index.ts +0 -443
- package/dist/builtin/mcp/init.ts +0 -319
- package/dist/builtin/mcp/lifecycle.ts +0 -93
- package/dist/builtin/mcp/logger.ts +0 -169
- package/dist/builtin/mcp/mcp-auth-flow.ts +0 -372
- package/dist/builtin/mcp/mcp-auth.ts +0 -297
- package/dist/builtin/mcp/mcp-callback-server.ts +0 -306
- package/dist/builtin/mcp/mcp-oauth-provider.ts +0 -324
- package/dist/builtin/mcp/mcp-panel-renderer.ts +0 -243
- package/dist/builtin/mcp/mcp-panel-state.ts +0 -227
- package/dist/builtin/mcp/mcp-panel-types.ts +0 -86
- package/dist/builtin/mcp/mcp-panel.ts +0 -393
- package/dist/builtin/mcp/mcp-setup-panel.ts +0 -502
- package/dist/builtin/mcp/metadata-cache.ts +0 -201
- package/dist/builtin/mcp/metadata-hydration.ts +0 -52
- package/dist/builtin/mcp/npx-resolver.ts +0 -425
- package/dist/builtin/mcp/oauth-handler.ts +0 -60
- package/dist/builtin/mcp/onboarding-state.ts +0 -68
- package/dist/builtin/mcp/proxy-auth.ts +0 -61
- package/dist/builtin/mcp/proxy-call.ts +0 -447
- package/dist/builtin/mcp/proxy-connect.ts +0 -78
- package/dist/builtin/mcp/proxy-info-modes.ts +0 -409
- package/dist/builtin/mcp/proxy-modes.ts +0 -3
- package/dist/builtin/mcp/proxy-types.ts +0 -3
- package/dist/builtin/mcp/resource-tools.ts +0 -17
- package/dist/builtin/mcp/sampling-handler.ts +0 -273
- package/dist/builtin/mcp/server-manager.ts +0 -372
- package/dist/builtin/mcp/session-cleanup-barrier.ts +0 -43
- package/dist/builtin/mcp/startup-warmup.ts +0 -110
- package/dist/builtin/mcp/state-lease.ts +0 -12
- package/dist/builtin/mcp/state.ts +0 -41
- package/dist/builtin/mcp/tool-call-timeout.ts +0 -101
- package/dist/builtin/mcp/tool-metadata.ts +0 -152
- package/dist/builtin/mcp/tool-registrar.ts +0 -46
- package/dist/builtin/mcp/tool-result-renderer.ts +0 -66
- package/dist/builtin/mcp/types.ts +0 -445
- package/dist/builtin/mcp/ui-resource-handler.ts +0 -145
- package/dist/builtin/mcp/ui-server-http.ts +0 -81
- package/dist/builtin/mcp/ui-server.ts +0 -499
- package/dist/builtin/mcp/ui-session.ts +0 -378
- package/dist/builtin/mcp/ui-stream-types.ts +0 -89
- package/dist/builtin/mcp/utils.ts +0 -165
- package/dist/builtin/subagents/src/agents/agent-discovery.ts +0 -116
- package/dist/builtin/subagents/src/agents/agent-loaders.ts +0 -216
- package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +0 -221
- package/dist/builtin/subagents/src/agents/agent-management.ts +0 -315
- package/dist/builtin/subagents/src/agents/agent-overrides.ts +0 -450
- package/dist/builtin/subagents/src/agents/agent-paths.ts +0 -69
- package/dist/builtin/subagents/src/agents/agent-scope.ts +0 -6
- package/dist/builtin/subagents/src/agents/agent-selection.ts +0 -23
- package/dist/builtin/subagents/src/agents/agent-serializer.ts +0 -113
- package/dist/builtin/subagents/src/agents/agent-types.ts +0 -97
- package/dist/builtin/subagents/src/agents/agents.ts +0 -25
- package/dist/builtin/subagents/src/agents/frontmatter.ts +0 -74
- package/dist/builtin/subagents/src/agents/identity.ts +0 -37
- package/dist/builtin/subagents/src/agents/skills-paths.ts +0 -380
- package/dist/builtin/subagents/src/agents/skills.ts +0 -398
- package/dist/builtin/subagents/src/extension/api-lifecycle.ts +0 -64
- package/dist/builtin/subagents/src/extension/config.ts +0 -16
- package/dist/builtin/subagents/src/extension/control-notices.ts +0 -91
- package/dist/builtin/subagents/src/extension/index.ts +0 -420
- package/dist/builtin/subagents/src/extension/notification-content.ts +0 -85
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +0 -11
- package/dist/builtin/subagents/src/extension/schemas.ts +0 -208
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +0 -133
- package/dist/builtin/subagents/src/extension/tool-description.ts +0 -17
- package/dist/builtin/subagents/src/extension/tool-rendering.ts +0 -53
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +0 -376
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +0 -246
- package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +0 -30
- package/dist/builtin/subagents/src/runs/foreground/completion-notification.ts +0 -42
- package/dist/builtin/subagents/src/runs/foreground/detached-cleanup-barrier.ts +0 -26
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +0 -58
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +0 -19
- package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +0 -51
- package/dist/builtin/subagents/src/runs/foreground/execution-parent-ask-handoff.ts +0 -78
- package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +0 -1
- package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +0 -26
- package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +0 -61
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +0 -6
- package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +0 -512
- package/dist/builtin/subagents/src/runs/foreground/notify.ts +0 -355
- package/dist/builtin/subagents/src/runs/foreground/parent-ask-output.ts +0 -48
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-burst-display.ts +0 -46
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-burst.ts +0 -403
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +0 -223
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-cwd.ts +0 -6
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +0 -139
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-live-update.ts +0 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +0 -268
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +0 -327
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parent-ask-projection.ts +0 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +0 -12
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +0 -350
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +0 -246
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +0 -131
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +0 -102
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +0 -217
- package/dist/builtin/subagents/src/runs/inprocess/child-policy.ts +0 -27
- package/dist/builtin/subagents/src/runs/inprocess/control-registry.ts +0 -55
- package/dist/builtin/subagents/src/runs/inprocess/control-status.ts +0 -72
- package/dist/builtin/subagents/src/runs/inprocess/index.ts +0 -27
- package/dist/builtin/subagents/src/runs/inprocess/prompt-behavior.ts +0 -168
- package/dist/builtin/subagents/src/runs/inprocess/runner.ts +0 -1280
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/temp-cleanup.ts +0 -69
- package/dist/builtin/subagents/src/runs/inprocess.ts +0 -1
- package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +0 -67
- package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +0 -182
- package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +0 -391
- package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +0 -56
- package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +0 -88
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +0 -70
- package/dist/builtin/subagents/src/runs/shared/progress-trend.ts +0 -69
- package/dist/builtin/subagents/src/runs/shared/run-history.ts +0 -64
- package/dist/builtin/subagents/src/runs/shared/single-output.ts +0 -169
- package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +0 -234
- package/dist/builtin/subagents/src/runs/shared/worktree-post-create.ts +0 -111
- package/dist/builtin/subagents/src/runs/shared/worktree-root.ts +0 -67
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +0 -552
- package/dist/builtin/subagents/src/shared/artifacts.ts +0 -240
- package/dist/builtin/subagents/src/shared/atomic-json.ts +0 -16
- package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +0 -330
- package/dist/builtin/subagents/src/shared/exclusive-file-publication.ts +0 -44
- package/dist/builtin/subagents/src/shared/fast-mode.ts +0 -87
- package/dist/builtin/subagents/src/shared/file-coalescer.ts +0 -40
- package/dist/builtin/subagents/src/shared/fork-context.ts +0 -79
- package/dist/builtin/subagents/src/shared/formatters.ts +0 -89
- package/dist/builtin/subagents/src/shared/jsonl-writer.ts +0 -83
- package/dist/builtin/subagents/src/shared/model-info.ts +0 -101
- package/dist/builtin/subagents/src/shared/model-resolution.ts +0 -78
- package/dist/builtin/subagents/src/shared/session-identity.ts +0 -10
- package/dist/builtin/subagents/src/shared/session-tokens.ts +0 -45
- package/dist/builtin/subagents/src/shared/settings.ts +0 -118
- package/dist/builtin/subagents/src/shared/status-format.ts +0 -50
- package/dist/builtin/subagents/src/shared/types-config.ts +0 -206
- package/dist/builtin/subagents/src/shared/types-depth.ts +0 -46
- package/dist/builtin/subagents/src/shared/types-foreground-state.ts +0 -48
- package/dist/builtin/subagents/src/shared/types-output.ts +0 -63
- package/dist/builtin/subagents/src/shared/types-results.ts +0 -259
- package/dist/builtin/subagents/src/shared/types-runtime.ts +0 -115
- package/dist/builtin/subagents/src/shared/types.ts +0 -13
- package/dist/builtin/subagents/src/shared/utils.ts +0 -342
- package/dist/builtin/subagents/src/slash/bridge-settlement.ts +0 -87
- package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +0 -455
- package/dist/builtin/subagents/src/slash/slash-bridge.ts +0 -194
- package/dist/builtin/subagents/src/slash/slash-commands.ts +0 -5
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +0 -259
- package/dist/builtin/subagents/src/tui/render-event-formatting.ts +0 -7
- package/dist/builtin/subagents/src/tui/render-helpers.ts +0 -90
- package/dist/builtin/subagents/src/tui/render-layout.ts +0 -157
- package/dist/builtin/subagents/src/tui/render-progress.ts +0 -89
- package/dist/builtin/subagents/src/tui/render-result-animation.ts +0 -47
- package/dist/builtin/subagents/src/tui/render-result-compact.ts +0 -248
- package/dist/builtin/subagents/src/tui/render-result.ts +0 -438
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +0 -50
- package/dist/builtin/subagents/src/tui/render-status-progress.ts +0 -168
- package/dist/builtin/subagents/src/tui/render.ts +0 -23
- package/dist/builtin/web-access/activity.ts +0 -101
- package/dist/builtin/web-access/chrome-cookies.ts +0 -323
- package/dist/builtin/web-access/code-search.ts +0 -107
- package/dist/builtin/web-access/config-paths.ts +0 -11
- package/dist/builtin/web-access/content-tools.ts +0 -354
- package/dist/builtin/web-access/curator-page-assets/script-1.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-2.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-3.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-4.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-5.ts +0 -398
- package/dist/builtin/web-access/curator-page-assets/styles-1.ts +0 -394
- package/dist/builtin/web-access/curator-page-assets/styles-2.ts +0 -394
- package/dist/builtin/web-access/curator-page-assets/styles-3.ts +0 -393
- package/dist/builtin/web-access/curator-page.ts +0 -196
- package/dist/builtin/web-access/curator-server-helpers.ts +0 -115
- package/dist/builtin/web-access/curator-server.ts +0 -494
- package/dist/builtin/web-access/exa-mcp.ts +0 -218
- package/dist/builtin/web-access/exa.ts +0 -317
- package/dist/builtin/web-access/extract-frames.ts +0 -229
- package/dist/builtin/web-access/extract.ts +0 -500
- package/dist/builtin/web-access/flat-string.ts +0 -37
- package/dist/builtin/web-access/gemini-api.ts +0 -111
- package/dist/builtin/web-access/gemini-search.ts +0 -363
- package/dist/builtin/web-access/gemini-url-context.ts +0 -126
- package/dist/builtin/web-access/gemini-web-config.ts +0 -53
- package/dist/builtin/web-access/gemini-web.ts +0 -397
- package/dist/builtin/web-access/github-api.ts +0 -198
- package/dist/builtin/web-access/github-config.ts +0 -156
- package/dist/builtin/web-access/github-extract.ts +0 -487
- package/dist/builtin/web-access/index-heavy.ts +0 -164
- package/dist/builtin/web-access/index.ts +0 -401
- package/dist/builtin/web-access/lifecycle-lease.ts +0 -38
- package/dist/builtin/web-access/pdf-extract.ts +0 -192
- package/dist/builtin/web-access/perplexity.ts +0 -194
- package/dist/builtin/web-access/result-renderers.ts +0 -366
- package/dist/builtin/web-access/rsc-extract.ts +0 -338
- package/dist/builtin/web-access/storage.ts +0 -72
- package/dist/builtin/web-access/subprocess.ts +0 -102
- package/dist/builtin/web-access/summary-review.ts +0 -287
- package/dist/builtin/web-access/utils.ts +0 -44
- package/dist/builtin/web-access/video-extract.ts +0 -375
- package/dist/builtin/web-access/web-search-activity.ts +0 -102
- package/dist/builtin/web-access/web-search-browser.ts +0 -124
- package/dist/builtin/web-access/web-search-command.ts +0 -242
- package/dist/builtin/web-access/web-search-config.ts +0 -157
- package/dist/builtin/web-access/web-search-curator.ts +0 -214
- package/dist/builtin/web-access/web-search-features.ts +0 -181
- package/dist/builtin/web-access/web-search-formatting.ts +0 -117
- package/dist/builtin/web-access/web-search-return.ts +0 -143
- package/dist/builtin/web-access/web-search-summary.ts +0 -177
- package/dist/builtin/web-access/web-search-tool.ts +0 -286
- package/dist/builtin/web-access/web-search-types.ts +0 -50
- package/dist/builtin/web-access/web-search-workflow.ts +0 -10
- package/dist/builtin/web-access/youtube-extract.ts +0 -309
- package/dist/builtin/workflows/src/authoring/keep-context.ts +0 -46
- package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +0 -41
- package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +0 -180
- package/dist/builtin/workflows/src/authoring/workflow.ts +0 -206
- package/dist/builtin/workflows/src/durable/backend.ts +0 -598
- package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +0 -172
- package/dist/builtin/workflows/src/durable/boundary-topology.ts +0 -475
- package/dist/builtin/workflows/src/durable/child-invocation.ts +0 -14
- package/dist/builtin/workflows/src/durable/child-primitive.ts +0 -124
- package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +0 -385
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +0 -685
- package/dist/builtin/workflows/src/durable/completed-inspection.ts +0 -157
- package/dist/builtin/workflows/src/durable/completed-subtree.ts +0 -50
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +0 -580
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres-root.ts +0 -681
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +0 -717
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +0 -516
- package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +0 -208
- package/dist/builtin/workflows/src/durable/dbos-local-postgres.ts +0 -166
- package/dist/builtin/workflows/src/durable/dbos-metadata.ts +0 -196
- package/dist/builtin/workflows/src/durable/dbos-process-owner.ts +0 -87
- package/dist/builtin/workflows/src/durable/dbos-prompt-reservations.ts +0 -377
- package/dist/builtin/workflows/src/durable/dbos-registration-diagnostics.ts +0 -113
- package/dist/builtin/workflows/src/durable/dbos-sdk-handle.ts +0 -182
- package/dist/builtin/workflows/src/durable/dbos-status-transition.ts +0 -67
- package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +0 -27
- package/dist/builtin/workflows/src/durable/durable-hash.ts +0 -18
- package/dist/builtin/workflows/src/durable/factory.ts +0 -93
- package/dist/builtin/workflows/src/durable/format-version.ts +0 -6
- package/dist/builtin/workflows/src/durable/index.ts +0 -82
- package/dist/builtin/workflows/src/durable/local-command.ts +0 -135
- package/dist/builtin/workflows/src/durable/prompt-reservation-state.ts +0 -184
- package/dist/builtin/workflows/src/durable/prompt-reservations.ts +0 -36
- package/dist/builtin/workflows/src/durable/resume-catalog.ts +0 -20
- package/dist/builtin/workflows/src/durable/resume-eligibility.ts +0 -106
- package/dist/builtin/workflows/src/durable/resume-runtime.ts +0 -344
- package/dist/builtin/workflows/src/durable/retention-policy.ts +0 -43
- package/dist/builtin/workflows/src/durable/run-timing.ts +0 -151
- package/dist/builtin/workflows/src/durable/scoped-backend.ts +0 -308
- package/dist/builtin/workflows/src/durable/stage-primitive.ts +0 -553
- package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +0 -247
- package/dist/builtin/workflows/src/durable/stage-topology.ts +0 -53
- package/dist/builtin/workflows/src/durable/targeted-inspection.ts +0 -110
- package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +0 -54
- package/dist/builtin/workflows/src/durable/tool-outcome.ts +0 -130
- package/dist/builtin/workflows/src/durable/tool-primitive.ts +0 -861
- package/dist/builtin/workflows/src/durable/types.ts +0 -343
- package/dist/builtin/workflows/src/durable/ui-primitive.ts +0 -263
- package/dist/builtin/workflows/src/durable/workflow-child-result.ts +0 -63
- package/dist/builtin/workflows/src/durable/workflow-heartbeat-anchor.ts +0 -153
- package/dist/builtin/workflows/src/durable/workflow-status-transition.ts +0 -31
- package/dist/builtin/workflows/src/engine/graph-inference.ts +0 -100
- package/dist/builtin/workflows/src/engine/options.ts +0 -44
- package/dist/builtin/workflows/src/engine/primitives/chain.ts +0 -34
- package/dist/builtin/workflows/src/engine/primitives/exit.ts +0 -2
- package/dist/builtin/workflows/src/engine/primitives/parallel.ts +0 -74
- package/dist/builtin/workflows/src/engine/primitives/task.ts +0 -127
- package/dist/builtin/workflows/src/engine/primitives/ui.ts +0 -54
- package/dist/builtin/workflows/src/engine/primitives/workflow.ts +0 -219
- package/dist/builtin/workflows/src/engine/replay.ts +0 -8
- package/dist/builtin/workflows/src/engine/run-budget.ts +0 -308
- package/dist/builtin/workflows/src/engine/run-durable-admission.ts +0 -50
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +0 -97
- package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +0 -65
- package/dist/builtin/workflows/src/engine/run-durable-topology.ts +0 -295
- package/dist/builtin/workflows/src/engine/run-returned-status.ts +0 -86
- package/dist/builtin/workflows/src/engine/run-terminal-event.ts +0 -39
- package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +0 -53
- package/dist/builtin/workflows/src/engine/run-tool-admission-boundary.ts +0 -99
- package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +0 -187
- package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +0 -164
- package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +0 -158
- package/dist/builtin/workflows/src/engine/run.ts +0 -841
- package/dist/builtin/workflows/src/engine/runtime.ts +0 -220
- package/dist/builtin/workflows/src/engine/workflow-activity.ts +0 -13
- package/dist/builtin/workflows/src/engine/workflow-tool-abort.ts +0 -92
- package/dist/builtin/workflows/src/extension/adopt-session-run-state.ts +0 -20
- package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +0 -168
- package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +0 -154
- package/dist/builtin/workflows/src/extension/companions.ts +0 -210
- package/dist/builtin/workflows/src/extension/completed-stage-intercom-ask.ts +0 -167
- package/dist/builtin/workflows/src/extension/config-file-loader.ts +0 -185
- package/dist/builtin/workflows/src/extension/config-loader.ts +0 -439
- package/dist/builtin/workflows/src/extension/discovery-loaders.ts +0 -112
- package/dist/builtin/workflows/src/extension/discovery.ts +0 -424
- package/dist/builtin/workflows/src/extension/dispatcher.ts +0 -273
- package/dist/builtin/workflows/src/extension/extension-factory.ts +0 -133
- package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +0 -174
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +0 -596
- package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +0 -367
- package/dist/builtin/workflows/src/extension/index.ts +0 -42
- package/dist/builtin/workflows/src/extension/lifecycle-notification-delivery.ts +0 -83
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +0 -849
- package/dist/builtin/workflows/src/extension/mcp.ts +0 -121
- package/dist/builtin/workflows/src/extension/postmortem-deps.ts +0 -70
- package/dist/builtin/workflows/src/extension/public-types.ts +0 -234
- package/dist/builtin/workflows/src/extension/render-call.ts +0 -115
- package/dist/builtin/workflows/src/extension/render-component.ts +0 -12
- package/dist/builtin/workflows/src/extension/render-result.ts +0 -558
- package/dist/builtin/workflows/src/extension/renderers.ts +0 -89
- package/dist/builtin/workflows/src/extension/runtime-active-block-claim.ts +0 -78
- package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +0 -174
- package/dist/builtin/workflows/src/extension/runtime.ts +0 -439
- package/dist/builtin/workflows/src/extension/status-writer.ts +0 -182
- package/dist/builtin/workflows/src/extension/ui-surface.ts +0 -387
- package/dist/builtin/workflows/src/extension/wiring.ts +0 -490
- package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +0 -129
- package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +0 -296
- package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +0 -114
- package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +0 -175
- package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +0 -270
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-delivery.ts +0 -241
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-notice.ts +0 -115
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-scheduler.ts +0 -962
- package/dist/builtin/workflows/src/extension/workflow-model-catalog.ts +0 -24
- package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +0 -162
- package/dist/builtin/workflows/src/extension/workflow-policy.ts +0 -13
- package/dist/builtin/workflows/src/extension/workflow-ports.ts +0 -45
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +0 -73
- package/dist/builtin/workflows/src/extension/workflow-reload-coordinator.ts +0 -66
- package/dist/builtin/workflows/src/extension/workflow-reload-report.ts +0 -42
- package/dist/builtin/workflows/src/extension/workflow-request-abort.ts +0 -15
- package/dist/builtin/workflows/src/extension/workflow-resume-picker-rows.ts +0 -96
- package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +0 -53
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +0 -562
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +0 -192
- package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +0 -252
- package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +0 -276
- package/dist/builtin/workflows/src/extension/workflow-targets.ts +0 -210
- package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +0 -265
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +0 -547
- package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +0 -153
- package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +0 -145
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +0 -488
- package/dist/builtin/workflows/src/extension/workflow-tool.ts +0 -188
- package/dist/builtin/workflows/src/index.ts +0 -8
- package/dist/builtin/workflows/src/intercom/intercom-bridge.ts +0 -90
- package/dist/builtin/workflows/src/intercom/intercom-routing.ts +0 -131
- package/dist/builtin/workflows/src/intercom/result-intercom.ts +0 -271
- package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +0 -135
- package/dist/builtin/workflows/src/runs/background/durable-resume-transition.ts +0 -63
- package/dist/builtin/workflows/src/runs/background/job-tracker.ts +0 -125
- package/dist/builtin/workflows/src/runs/background/quit-tool-node.ts +0 -71
- package/dist/builtin/workflows/src/runs/background/quit.ts +0 -417
- package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +0 -99
- package/dist/builtin/workflows/src/runs/background/run-inspect.ts +0 -126
- package/dist/builtin/workflows/src/runs/background/runner.ts +0 -185
- package/dist/builtin/workflows/src/runs/background/startup-admission.ts +0 -73
- package/dist/builtin/workflows/src/runs/background/status.ts +0 -511
- package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +0 -43
- package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +0 -441
- package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +0 -263
- package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +0 -79
- package/dist/builtin/workflows/src/runs/foreground/executor-child-workflow.ts +0 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +0 -207
- package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +0 -321
- package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +0 -224
- package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +0 -403
- package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +0 -86
- package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +0 -491
- package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +0 -156
- package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +0 -379
- package/dist/builtin/workflows/src/runs/foreground/executor-queued-user-message.ts +0 -75
- package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +0 -144
- package/dist/builtin/workflows/src/runs/foreground/executor-run.ts +0 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +0 -206
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +0 -434
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +0 -153
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +0 -225
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +0 -473
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +0 -156
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +0 -72
- package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +0 -2
- package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +0 -226
- package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +0 -186
- package/dist/builtin/workflows/src/runs/foreground/executor.ts +0 -25
- package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +0 -245
- package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +0 -466
- package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +0 -86
- package/dist/builtin/workflows/src/runs/foreground/stage-queued-user-messages.ts +0 -95
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-candidate.ts +0 -21
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +0 -330
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +0 -1472
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-message-admission.ts +0 -196
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +0 -177
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +0 -97
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +0 -278
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +0 -206
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-replacement.ts +0 -41
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +0 -134
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +0 -38
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +0 -66
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +0 -120
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +0 -211
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +0 -42
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +0 -22
- package/dist/builtin/workflows/src/runs/foreground/stage-session-heartbeat.ts +0 -88
- package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +0 -49
- package/dist/builtin/workflows/src/runs/shared/concurrency.ts +0 -76
- package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +0 -2
- package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +0 -325
- package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +0 -19
- package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +0 -2
- package/dist/builtin/workflows/src/runs/shared/prompt-callsite.ts +0 -96
- package/dist/builtin/workflows/src/runs/shared/retry.ts +0 -44
- package/dist/builtin/workflows/src/runs/shared/validate-inputs.ts +0 -111
- package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +0 -23
- package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +0 -116
- package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +0 -172
- package/dist/builtin/workflows/src/runs/shared/worktree-generation.ts +0 -57
- package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +0 -107
- package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +0 -407
- package/dist/builtin/workflows/src/runs/shared/worktree-post-create.ts +0 -137
- package/dist/builtin/workflows/src/runs/shared/worktree-root.ts +0 -84
- package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +0 -372
- package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +0 -102
- package/dist/builtin/workflows/src/runs/shared/worktree.ts +0 -21
- package/dist/builtin/workflows/src/sdk-surface.ts +0 -70
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +0 -403
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +0 -489
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +0 -327
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +0 -437
- package/dist/builtin/workflows/src/shared/budget-meter.ts +0 -34
- package/dist/builtin/workflows/src/shared/budget.d.ts +0 -67
- package/dist/builtin/workflows/src/shared/budget.ts +0 -127
- package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +0 -434
- package/dist/builtin/workflows/src/shared/flat-string.ts +0 -33
- package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +0 -188
- package/dist/builtin/workflows/src/shared/intercom-group.ts +0 -58
- package/dist/builtin/workflows/src/shared/persistence-compaction-policy.ts +0 -72
- package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +0 -613
- package/dist/builtin/workflows/src/shared/persistence-restore.ts +0 -306
- package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +0 -303
- package/dist/builtin/workflows/src/shared/prompt-answer.ts +0 -130
- package/dist/builtin/workflows/src/shared/prompt-callsite-context.ts +0 -13
- package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +0 -161
- package/dist/builtin/workflows/src/shared/resume-continuation.ts +0 -2
- package/dist/builtin/workflows/src/shared/returned-run-status.ts +0 -164
- package/dist/builtin/workflows/src/shared/run-id.ts +0 -36
- package/dist/builtin/workflows/src/shared/run-indicator-status.ts +0 -75
- package/dist/builtin/workflows/src/shared/run-visibility.ts +0 -9
- package/dist/builtin/workflows/src/shared/schema-introspection.ts +0 -111
- package/dist/builtin/workflows/src/shared/serializable.ts +0 -118
- package/dist/builtin/workflows/src/shared/session-scoped-singleton.ts +0 -98
- package/dist/builtin/workflows/src/shared/session-transcript.ts +0 -79
- package/dist/builtin/workflows/src/shared/stage-prompt.ts +0 -338
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +0 -340
- package/dist/builtin/workflows/src/shared/store-factory.ts +0 -26
- package/dist/builtin/workflows/src/shared/store-internal.ts +0 -252
- package/dist/builtin/workflows/src/shared/store-observation.ts +0 -10
- package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +0 -215
- package/dist/builtin/workflows/src/shared/store-public-types.ts +0 -282
- package/dist/builtin/workflows/src/shared/store-run-methods.ts +0 -305
- package/dist/builtin/workflows/src/shared/store-stage-methods.ts +0 -331
- package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +0 -60
- package/dist/builtin/workflows/src/shared/store-types.ts +0 -439
- package/dist/builtin/workflows/src/shared/store.ts +0 -15
- package/dist/builtin/workflows/src/shared/timing.ts +0 -71
- package/dist/builtin/workflows/src/shared/tool-payload-bounds.ts +0 -576
- package/dist/builtin/workflows/src/shared/types.ts +0 -523
- package/dist/builtin/workflows/src/shared/workflow-artifact-env.ts +0 -21
- package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +0 -259
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +0 -60
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +0 -111
- package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +0 -292
- package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +0 -74
- package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +0 -458
- package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +0 -303
- package/dist/builtin/workflows/src/shared/workflow-failures.ts +0 -13
- package/dist/builtin/workflows/src/shared/workflow-heartbeat-contract.d.ts +0 -21
- package/dist/builtin/workflows/src/shared/workflow-heartbeat-contract.ts +0 -25
- package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +0 -49
- package/dist/builtin/workflows/src/tui/chat-surface-message.ts +0 -319
- package/dist/builtin/workflows/src/tui/chat-surface.ts +0 -477
- package/dist/builtin/workflows/src/tui/color-utils.ts +0 -55
- package/dist/builtin/workflows/src/tui/connectors.ts +0 -84
- package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +0 -334
- package/dist/builtin/workflows/src/tui/edge.ts +0 -25
- package/dist/builtin/workflows/src/tui/graph-canvas.ts +0 -185
- package/dist/builtin/workflows/src/tui/graph-theme.ts +0 -292
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +0 -49
- package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +0 -157
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +0 -427
- package/dist/builtin/workflows/src/tui/graph-view-layout.ts +0 -297
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +0 -294
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +0 -361
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +0 -547
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +0 -79
- package/dist/builtin/workflows/src/tui/graph-view.ts +0 -25
- package/dist/builtin/workflows/src/tui/header.ts +0 -210
- package/dist/builtin/workflows/src/tui/host-input-form.ts +0 -64
- package/dist/builtin/workflows/src/tui/inline-form-card.ts +0 -438
- package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +0 -120
- package/dist/builtin/workflows/src/tui/inline-form-editor.ts +0 -496
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +0 -317
- package/dist/builtin/workflows/src/tui/inline-form-store.ts +0 -90
- package/dist/builtin/workflows/src/tui/inputs-overlay.ts +0 -185
- package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +0 -147
- package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +0 -357
- package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +0 -312
- package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +0 -161
- package/dist/builtin/workflows/src/tui/inputs-picker.ts +0 -20
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +0 -167
- package/dist/builtin/workflows/src/tui/layout.ts +0 -150
- package/dist/builtin/workflows/src/tui/mouse-input.ts +0 -61
- package/dist/builtin/workflows/src/tui/node-card.ts +0 -357
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +0 -449
- package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +0 -39
- package/dist/builtin/workflows/src/tui/prompt-card-input.ts +0 -215
- package/dist/builtin/workflows/src/tui/prompt-card-render.ts +0 -584
- package/dist/builtin/workflows/src/tui/prompt-card-select.ts +0 -94
- package/dist/builtin/workflows/src/tui/prompt-card-state.ts +0 -61
- package/dist/builtin/workflows/src/tui/prompt-card-text.ts +0 -122
- package/dist/builtin/workflows/src/tui/prompt-card.ts +0 -12
- package/dist/builtin/workflows/src/tui/renderers.ts +0 -14
- package/dist/builtin/workflows/src/tui/run-detail.ts +0 -438
- package/dist/builtin/workflows/src/tui/run-identity-rows.ts +0 -97
- package/dist/builtin/workflows/src/tui/session-list.ts +0 -38
- package/dist/builtin/workflows/src/tui/session-overlays.ts +0 -161
- package/dist/builtin/workflows/src/tui/session-picker.ts +0 -482
- package/dist/builtin/workflows/src/tui/stage-chat-composer-drafts.ts +0 -19
- package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +0 -81
- package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +0 -462
- package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +0 -115
- package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +0 -113
- package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +0 -219
- package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +0 -216
- package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +0 -65
- package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +0 -7
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +0 -149
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +0 -49
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +0 -575
- package/dist/builtin/workflows/src/tui/stage-chat-view-status.ts +0 -35
- package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +0 -226
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +0 -156
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +0 -309
- package/dist/builtin/workflows/src/tui/status-helpers.ts +0 -85
- package/dist/builtin/workflows/src/tui/status-list.ts +0 -447
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +0 -338
- package/dist/builtin/workflows/src/tui/submit-pane.ts +0 -148
- package/dist/builtin/workflows/src/tui/switcher.ts +0 -172
- package/dist/builtin/workflows/src/tui/text-helpers.ts +0 -208
- package/dist/builtin/workflows/src/tui/tool-detail.ts +0 -367
- package/dist/builtin/workflows/src/tui/widget.ts +0 -427
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +0 -21
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -77
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +0 -477
- package/dist/builtin/workflows/src/tui/workflow-list.ts +0 -189
- package/dist/builtin/workflows/src/tui/workflow-notice-card.ts +0 -167
- package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +0 -334
- package/dist/builtin/workflows/src/tui/workflow-status.ts +0 -12
- package/dist/builtin/workflows/src/workflows/identity.ts +0 -39
- package/dist/builtin/workflows/src/workflows/registry.ts +0 -115
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Durable workflow-heartbeat cadence anchor.
|
|
3
|
-
*
|
|
4
|
-
* The heartbeat cadence is `anchorAt + n × interval`. Every input to that is
|
|
5
|
-
* already persisted except one: the *original* run start time. A durable resume
|
|
6
|
-
* re-dispatches under the original workflow id but mints a fresh
|
|
7
|
-
* `RunSnapshot.startedAt` (`engine/run.ts`), and that fresh value is passed to
|
|
8
|
-
* `registerWorkflow` as `createdAt`, which the backend overwrites
|
|
9
|
-
* unconditionally (`durable/backend.ts`). Checkpoints are the only per-run state
|
|
10
|
-
* that survives re-registration, so this record is the sole surviving carrier of
|
|
11
|
-
* the original start — which is what keeps a resumed run on its original
|
|
12
|
-
* cadence rather than starting a fresh series.
|
|
13
|
-
*
|
|
14
|
-
* Storage shape: a reserved tool-kind checkpoint (name/argsHash
|
|
15
|
-
* `workflow-heartbeat-anchor`), following `run-timing.ts`. Its `checkpointId` is
|
|
16
|
-
* that same constant with no suffix, so `recordCheckpoint`'s duplicate-key early
|
|
17
|
-
* return makes the record **write-once and exactly one row per run** rather than
|
|
18
|
-
* one row per boundary.
|
|
19
|
-
*
|
|
20
|
-
* Three properties this shape is chosen for:
|
|
21
|
-
*
|
|
22
|
-
* - **It cannot manufacture resumability.** `recordCheckpoint` sets
|
|
23
|
-
* `completedCheckpoints = checkpoints.size`, and `isDurableWorkflowResumable`
|
|
24
|
-
* gates a running or paused run on `completedCheckpoints > 0`. Writing for a
|
|
25
|
-
* run with no durable progress of its own would make it look resumable, so the
|
|
26
|
-
* write is skipped until the run has at least one other checkpoint — the same
|
|
27
|
-
* guard, and the same reason, as `run-timing.ts`.
|
|
28
|
-
* - **It cannot walk liveness backwards.** `recordCheckpoint` copies
|
|
29
|
-
* `completedAt` onto the handle as `updatedAt`, which the foreign-liveness
|
|
30
|
-
* window reads, so `completedAt` is the write time and never a cadence
|
|
31
|
-
* boundary.
|
|
32
|
-
* - **It cannot move a boundary forward.** It is read as
|
|
33
|
-
* `min(run.startedAt, anchorAt)`, so it can only restore the original anchor,
|
|
34
|
-
* never advance it. Recovery still floors at `now`, so no missed boundary is
|
|
35
|
-
* ever replayed.
|
|
36
|
-
*
|
|
37
|
-
* The record has no per-checkpoint deletion — `DurableWorkflowBackend` removes
|
|
38
|
-
* whole workflows only — so terminal cleanup (issue #1975) invalidates it on the
|
|
39
|
-
* read side instead: the scheduler neither reads nor writes an anchor for a run
|
|
40
|
-
* it observes as terminal, and drops the in-memory memo of it. A leftover row is
|
|
41
|
-
* therefore inert, and cannot put a finished run back on a cadence.
|
|
42
|
-
*
|
|
43
|
-
* cross-ref: packages/workflows/src/extension/workflow-heartbeat-scheduler.ts
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
|
-
import type { DurableWorkflowBackend } from "./backend.js";
|
|
47
|
-
import type { DurableToolCheckpoint } from "./types.js";
|
|
48
|
-
|
|
49
|
-
/** Reserved checkpoint name, args-hash, AND checkpoint id for cadence anchors. */
|
|
50
|
-
export const WORKFLOW_HEARTBEAT_ANCHOR_CHECKPOINT_NAME = "workflow-heartbeat-anchor";
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* What a run launched with: its original start time, and the cadence its own
|
|
54
|
-
* definition declared.
|
|
55
|
-
*
|
|
56
|
-
* `intervalMinutes` is absent on records written before it was added, so a
|
|
57
|
-
* reader must treat that as "unknown" and fall back to the live definition —
|
|
58
|
-
* never as `0`.
|
|
59
|
-
*/
|
|
60
|
-
export interface WorkflowHeartbeatAnchorRecord {
|
|
61
|
-
readonly anchorAt: number;
|
|
62
|
-
readonly intervalMinutes?: number;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* The stored checkpoint payload, before validation.
|
|
67
|
-
*
|
|
68
|
-
* `getToolOutput` returns whatever a previous process wrote, so the fields are
|
|
69
|
-
* declared optional and validated below rather than trusted. Naming the shape
|
|
70
|
-
* keeps the decode free of inline casts while leaving the trust boundary
|
|
71
|
-
* explicit.
|
|
72
|
-
*/
|
|
73
|
-
interface PersistedAnchorOutput {
|
|
74
|
-
readonly anchorAt?: number;
|
|
75
|
-
readonly intervalMinutes?: number;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function asPersistedAnchorOutput(output: unknown): PersistedAnchorOutput | undefined {
|
|
79
|
-
if (typeof output !== "object" || output === null || Array.isArray(output)) return undefined;
|
|
80
|
-
const { anchorAt, intervalMinutes } = output as Partial<Record<keyof PersistedAnchorOutput, unknown>>;
|
|
81
|
-
return {
|
|
82
|
-
...(typeof anchorAt === "number" ? { anchorAt } : {}),
|
|
83
|
-
...(typeof intervalMinutes === "number" ? { intervalMinutes } : {}),
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/** The persisted launch anchor for a run, or undefined when absent or malformed. */
|
|
88
|
-
export function readWorkflowHeartbeatAnchor(
|
|
89
|
-
backend: DurableWorkflowBackend,
|
|
90
|
-
workflowId: string,
|
|
91
|
-
): WorkflowHeartbeatAnchorRecord | undefined {
|
|
92
|
-
const record = asPersistedAnchorOutput(backend.getToolOutput(workflowId, WORKFLOW_HEARTBEAT_ANCHOR_CHECKPOINT_NAME));
|
|
93
|
-
if (record === undefined) return undefined;
|
|
94
|
-
const { anchorAt, intervalMinutes } = record;
|
|
95
|
-
if (anchorAt === undefined || !Number.isFinite(anchorAt)) return undefined;
|
|
96
|
-
// Only a positive finite cadence is carried: a disabled run never writes a
|
|
97
|
-
// record at all, so a non-positive value here is corrupt rather than meaningful.
|
|
98
|
-
return intervalMinutes !== undefined && Number.isFinite(intervalMinutes) && intervalMinutes > 0
|
|
99
|
-
? { anchorAt, intervalMinutes }
|
|
100
|
-
: { anchorAt };
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Persist what a run launched with, once.
|
|
105
|
-
*
|
|
106
|
-
* Uses `recordAdditiveCheckpointBestEffort` rather than the synchronous
|
|
107
|
-
* `recordCheckpoint`, because the DBOS backend updates its in-memory mirror
|
|
108
|
-
* *before* the real write is queued: a synchronous read-back therefore proves
|
|
109
|
-
* only that the mirror holds the row, and would let a rejected storage write be
|
|
110
|
-
* remembered as a success that is never retried. The best-effort path awaits
|
|
111
|
-
* `recordStepOutput` and updates the mirror only after it resolves, and turns a
|
|
112
|
-
* storage rejection into `false` instead of a fatal flush error.
|
|
113
|
-
*
|
|
114
|
-
* Returns `true` only when the record is durably written *and* readable — the
|
|
115
|
-
* backend silently drops a checkpoint for a workflow it has never registered,
|
|
116
|
-
* so the read-back stays as well.
|
|
117
|
-
*/
|
|
118
|
-
export async function recordWorkflowHeartbeatAnchor(
|
|
119
|
-
backend: DurableWorkflowBackend,
|
|
120
|
-
record: {
|
|
121
|
-
readonly runId: string;
|
|
122
|
-
readonly anchorAt: number;
|
|
123
|
-
readonly intervalMinutes: number;
|
|
124
|
-
readonly now: number;
|
|
125
|
-
},
|
|
126
|
-
): Promise<boolean> {
|
|
127
|
-
if (!Number.isFinite(record.anchorAt)) return false;
|
|
128
|
-
// A run launched with heartbeats disabled writes no record at all, so this
|
|
129
|
-
// path is never reached for a non-positive cadence. Guarding it here keeps
|
|
130
|
-
// that invariant local to the writer as well as to its caller.
|
|
131
|
-
if (!Number.isFinite(record.intervalMinutes) || record.intervalMinutes <= 0) return false;
|
|
132
|
-
const existing = readWorkflowHeartbeatAnchor(backend, record.runId);
|
|
133
|
-
// Write-once: the first record stands. A later write cannot move the anchor
|
|
134
|
-
// forward, and it cannot retro-fit an edited cadence onto a run in flight.
|
|
135
|
-
if (existing !== undefined) return true;
|
|
136
|
-
// A record for a run with no durable progress of its own would make that run
|
|
137
|
-
// look resumable; the anchor is worth nothing on a run that cannot resume.
|
|
138
|
-
if (backend.listCheckpoints(record.runId).length === 0) return false;
|
|
139
|
-
const checkpoint: DurableToolCheckpoint = {
|
|
140
|
-
kind: "tool",
|
|
141
|
-
workflowId: record.runId,
|
|
142
|
-
checkpointId: WORKFLOW_HEARTBEAT_ANCHOR_CHECKPOINT_NAME,
|
|
143
|
-
name: WORKFLOW_HEARTBEAT_ANCHOR_CHECKPOINT_NAME,
|
|
144
|
-
argsHash: WORKFLOW_HEARTBEAT_ANCHOR_CHECKPOINT_NAME,
|
|
145
|
-
output: { anchorAt: record.anchorAt, intervalMinutes: record.intervalMinutes },
|
|
146
|
-
// Write time, never the boundary: this lands on the handle as `updatedAt`,
|
|
147
|
-
// which the foreign-liveness window reads.
|
|
148
|
-
completedAt: record.now,
|
|
149
|
-
};
|
|
150
|
-
const stored = await backend.recordAdditiveCheckpointBestEffort(checkpoint);
|
|
151
|
-
if (!stored) return false;
|
|
152
|
-
return readWorkflowHeartbeatAnchor(backend, record.runId) !== undefined;
|
|
153
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { DurableWorkflowBackend } from "./backend.js";
|
|
2
|
-
import type { DurableWorkflowHandle, DurableWorkflowStatus } from "./types.js";
|
|
3
|
-
|
|
4
|
-
/** Read one loadable handle without combining objects from different generations. */
|
|
5
|
-
export function getLoadableDurableWorkflow(
|
|
6
|
-
backend: DurableWorkflowBackend,
|
|
7
|
-
workflowId: string,
|
|
8
|
-
): DurableWorkflowHandle | undefined {
|
|
9
|
-
return backend.getLoadableWorkflow(workflowId);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/** Terminal durable generations cannot be reopened by stale nonterminal writers. */
|
|
13
|
-
export function isAbsorbingDurableStatus(status: DurableWorkflowStatus, resumable?: boolean): boolean {
|
|
14
|
-
return (
|
|
15
|
-
status === "completed" ||
|
|
16
|
-
status === "cancelled" ||
|
|
17
|
-
((status === "failed" || status === "blocked") && resumable === false)
|
|
18
|
-
);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/** Perform a required conditional status transition. */
|
|
22
|
-
export async function transitionDurableWorkflowStatus(
|
|
23
|
-
backend: DurableWorkflowBackend,
|
|
24
|
-
workflowId: string,
|
|
25
|
-
expectedStatuses: readonly DurableWorkflowStatus[],
|
|
26
|
-
status: DurableWorkflowStatus,
|
|
27
|
-
pendingPrompts?: number,
|
|
28
|
-
resumable?: boolean,
|
|
29
|
-
): Promise<boolean> {
|
|
30
|
-
return await backend.transitionWorkflowStatus(workflowId, expectedStatuses, status, pendingPrompts, resumable);
|
|
31
|
-
}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GraphFrontierTracker — infers DAG parents from JavaScript execution order.
|
|
3
|
-
*
|
|
4
|
-
* Algorithm:
|
|
5
|
-
* - Maintain `frontier: Set<string>` — settled stage IDs not yet consumed as parents
|
|
6
|
-
* - At onSpawn(stageId): snapshot current frontier as parents, store in stageParents
|
|
7
|
-
* - At onSettle(stageId): remove stage's parents from frontier, add stageId to frontier
|
|
8
|
-
* - getParents(stageId): return recorded parents
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
export interface StageNode {
|
|
12
|
-
readonly id: string;
|
|
13
|
-
readonly name: string;
|
|
14
|
-
readonly parentIds: readonly string[];
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export class GraphFrontierTracker {
|
|
18
|
-
private frontier: Set<string> = new Set();
|
|
19
|
-
private stageParents: Map<string, string[]> = new Map();
|
|
20
|
-
private nodes: Map<string, StageNode> = new Map();
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Call when ctx.stage(name) is invoked.
|
|
24
|
-
* Returns the inferred parent IDs (snapshot of current frontier).
|
|
25
|
-
*/
|
|
26
|
-
onSpawn(stageId: string, stageName: string): string[] {
|
|
27
|
-
const parents = Array.from(this.frontier);
|
|
28
|
-
this.stageParents.set(stageId, parents);
|
|
29
|
-
|
|
30
|
-
this.nodes.set(stageId, {
|
|
31
|
-
id: stageId,
|
|
32
|
-
name: stageName,
|
|
33
|
-
parentIds: Object.freeze(parents),
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
return parents;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Snapshot the current frontier without registering or mutating a stage.
|
|
41
|
-
*
|
|
42
|
-
* Use this when an already-spawned stage needs its parents refreshed before
|
|
43
|
-
* it starts; `onSpawn` must only be called for the initial `ctx.stage()`
|
|
44
|
-
* invocation that creates the graph node.
|
|
45
|
-
*/
|
|
46
|
-
currentParents(): string[] {
|
|
47
|
-
return Array.from(this.frontier);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Replace the recorded parents for a stage before it settles.
|
|
52
|
-
*
|
|
53
|
-
* Continuation replay uses source-run topology as authoritative: a replayed
|
|
54
|
-
* stage may spawn with provisional parents inferred from the continuation's
|
|
55
|
-
* current frontier, then install the translated source parents before the
|
|
56
|
-
* stage is recorded or settled.
|
|
57
|
-
*/
|
|
58
|
-
replaceParents(stageId: string, parentIds: readonly string[]): void {
|
|
59
|
-
const parents = Array.from(parentIds);
|
|
60
|
-
this.stageParents.set(stageId, parents);
|
|
61
|
-
const node = this.nodes.get(stageId);
|
|
62
|
-
if (node !== undefined) {
|
|
63
|
-
this.nodes.set(stageId, {
|
|
64
|
-
...node,
|
|
65
|
-
parentIds: Object.freeze(parents),
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Call when the stage's Promise settles.
|
|
72
|
-
* Removes the stage's parents from the frontier and adds stageId to frontier.
|
|
73
|
-
*/
|
|
74
|
-
onSettle(stageId: string): void {
|
|
75
|
-
const parents = this.stageParents.get(stageId) ?? [];
|
|
76
|
-
// Remove parents from frontier (they are now consumed)
|
|
77
|
-
for (const parentId of parents) {
|
|
78
|
-
this.frontier.delete(parentId);
|
|
79
|
-
}
|
|
80
|
-
// Add this stage to the frontier
|
|
81
|
-
this.frontier.add(stageId);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/** Get all recorded nodes as an array. */
|
|
85
|
-
getNodes(): StageNode[] {
|
|
86
|
-
return Array.from(this.nodes.values());
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/** Get parent IDs for a stage. */
|
|
90
|
-
getParents(stageId: string): string[] {
|
|
91
|
-
return this.stageParents.get(stageId) ?? [];
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/** Reset to initial state. */
|
|
95
|
-
reset(): void {
|
|
96
|
-
this.frontier.clear();
|
|
97
|
-
this.stageParents.clear();
|
|
98
|
-
this.nodes.clear();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type { RunOpts } from "../runs/foreground/executor-types.js";
|
|
2
|
-
|
|
3
|
-
export type EngineStageRuntimeOptions = Pick<
|
|
4
|
-
RunOpts,
|
|
5
|
-
| "continuation"
|
|
6
|
-
| "models"
|
|
7
|
-
| "executionMode"
|
|
8
|
-
| "defaultSessionDir"
|
|
9
|
-
| "persistence"
|
|
10
|
-
| "onStageStart"
|
|
11
|
-
| "onStageEnd"
|
|
12
|
-
| "onStageSession"
|
|
13
|
-
| "confirmStageReadiness"
|
|
14
|
-
| "usePromptNodesForUi"
|
|
15
|
-
>;
|
|
16
|
-
|
|
17
|
-
export type EngineWorkflowBoundaryOptions = Pick<RunOpts, "persistence" | "onStageStart" | "onStageEnd">;
|
|
18
|
-
|
|
19
|
-
export type EngineChildRunOptions = Pick<
|
|
20
|
-
RunOpts,
|
|
21
|
-
| "adapters"
|
|
22
|
-
| "ui"
|
|
23
|
-
| "executionMode"
|
|
24
|
-
| "defaultSessionDir"
|
|
25
|
-
| "usePromptNodesForUi"
|
|
26
|
-
| "confirmStageReadiness"
|
|
27
|
-
| "store"
|
|
28
|
-
| "persistence"
|
|
29
|
-
| "mcp"
|
|
30
|
-
| "cancellation"
|
|
31
|
-
| "overlay"
|
|
32
|
-
| "config"
|
|
33
|
-
| "models"
|
|
34
|
-
| "registry"
|
|
35
|
-
| "stageControlRegistry"
|
|
36
|
-
| "toolControlRegistry"
|
|
37
|
-
| "toolAdmissionBoundary"
|
|
38
|
-
| "onStageStart"
|
|
39
|
-
| "onStageEnd"
|
|
40
|
-
| "onStageSession"
|
|
41
|
-
| "durableBackend"
|
|
42
|
-
| "durableRootBackend"
|
|
43
|
-
| "rootBudget"
|
|
44
|
-
>;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
chainStepPrompt,
|
|
3
|
-
replaceTaskPlaceholder,
|
|
4
|
-
taskOptionsFromStep,
|
|
5
|
-
taskPrevious,
|
|
6
|
-
taskWithSharedDefaults,
|
|
7
|
-
} from "../../runs/foreground/executor-task-prompts.js";
|
|
8
|
-
import type { WorkflowChainOptions, WorkflowTaskResult, WorkflowTaskStep } from "../../shared/types.js";
|
|
9
|
-
import type { EngineRuntime } from "../runtime.js";
|
|
10
|
-
import type { WorkflowTaskPrimitive } from "./task.js";
|
|
11
|
-
|
|
12
|
-
export function createChainPrimitive(input: {
|
|
13
|
-
readonly runtime: EngineRuntime;
|
|
14
|
-
readonly task: WorkflowTaskPrimitive;
|
|
15
|
-
}): (steps: readonly WorkflowTaskStep[], options?: WorkflowChainOptions) => Promise<WorkflowTaskResult[]> {
|
|
16
|
-
return async (
|
|
17
|
-
steps: readonly WorkflowTaskStep[],
|
|
18
|
-
options: WorkflowChainOptions = {},
|
|
19
|
-
): Promise<WorkflowTaskResult[]> => {
|
|
20
|
-
input.runtime.exit.throwIfWorkflowExitSelected();
|
|
21
|
-
const results: WorkflowTaskResult[] = [];
|
|
22
|
-
for (let index = 0; index < steps.length; index += 1) {
|
|
23
|
-
input.runtime.exit.throwIfWorkflowExitSelected();
|
|
24
|
-
const step = steps[index]!;
|
|
25
|
-
const explicitPrevious = taskPrevious(step);
|
|
26
|
-
const previous = explicitPrevious ?? (index > 0 ? results[index - 1] : undefined);
|
|
27
|
-
const prompt = replaceTaskPlaceholder(chainStepPrompt(step, index), options.task ?? "");
|
|
28
|
-
results.push(
|
|
29
|
-
await input.task(step.name, taskWithSharedDefaults(taskOptionsFromStep(step, prompt, previous), options)),
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
return results;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { findWorkflowExitSignal } from "../../runs/foreground/executor-abort.js";
|
|
3
|
-
import { mapParallelSteps } from "../../runs/foreground/executor-direct-helpers.js";
|
|
4
|
-
import {
|
|
5
|
-
parallelFallbackTask,
|
|
6
|
-
replaceTaskPlaceholder,
|
|
7
|
-
taskOptionsFromStep,
|
|
8
|
-
taskPrevious,
|
|
9
|
-
taskWithSharedDefaults,
|
|
10
|
-
} from "../../runs/foreground/executor-task-prompts.js";
|
|
11
|
-
import type { ParallelFailFastScope, ParallelFailFastStage } from "../../runs/foreground/executor-types.js";
|
|
12
|
-
import { normalizeAutoGroupSentinel } from "../../shared/intercom-group.js";
|
|
13
|
-
import type { WorkflowParallelOptions, WorkflowTaskResult, WorkflowTaskStep } from "../../shared/types.js";
|
|
14
|
-
import type { EngineRuntime } from "../runtime.js";
|
|
15
|
-
import type { WorkflowTaskPrimitive } from "./task.js";
|
|
16
|
-
|
|
17
|
-
export function createParallelPrimitive(input: {
|
|
18
|
-
readonly runtime: EngineRuntime;
|
|
19
|
-
readonly task: WorkflowTaskPrimitive;
|
|
20
|
-
}): (steps: readonly WorkflowTaskStep[], options?: WorkflowParallelOptions) => Promise<WorkflowTaskResult[]> {
|
|
21
|
-
return async (
|
|
22
|
-
steps: readonly WorkflowTaskStep[],
|
|
23
|
-
options: WorkflowParallelOptions = {},
|
|
24
|
-
): Promise<WorkflowTaskResult[]> => {
|
|
25
|
-
input.runtime.exit.throwIfWorkflowExitSelected();
|
|
26
|
-
// Normalize both authored and agent-serialized sentinels before deciding
|
|
27
|
-
// whether this invocation needs one shared auto-group UUID.
|
|
28
|
-
const normalizeGroup = <T extends { group?: string | true }>(value: T): T =>
|
|
29
|
-
value.group === undefined ? value : { ...value, group: normalizeAutoGroupSentinel(value.group) };
|
|
30
|
-
const normalizedOptions = normalizeGroup(options);
|
|
31
|
-
const normalizedSteps = steps.map(normalizeGroup);
|
|
32
|
-
const needsAutoGroup = normalizedOptions.group === true || normalizedSteps.some((step) => step.group === true);
|
|
33
|
-
const autoGroup = needsAutoGroup ? randomUUID() : undefined;
|
|
34
|
-
const resolveAutoGroup = <T extends { group?: string | true }>(value: T): T =>
|
|
35
|
-
value.group === true && autoGroup ? { ...value, group: autoGroup } : value;
|
|
36
|
-
const resolvedOptions = resolveAutoGroup(normalizedOptions);
|
|
37
|
-
const resolvedSteps = normalizedSteps.map(resolveAutoGroup);
|
|
38
|
-
const fallback = parallelFallbackTask(resolvedSteps, resolvedOptions);
|
|
39
|
-
const failFastEnabled = resolvedOptions.failFast !== false;
|
|
40
|
-
const parallelScope: ParallelFailFastScope = {
|
|
41
|
-
failed: false,
|
|
42
|
-
activeStages: new Map<string, ParallelFailFastStage>(),
|
|
43
|
-
parentIds: Object.freeze(input.runtime.tracker.currentParents()),
|
|
44
|
-
};
|
|
45
|
-
return mapParallelSteps(
|
|
46
|
-
resolvedSteps,
|
|
47
|
-
resolvedOptions.concurrency,
|
|
48
|
-
resolvedOptions.failFast,
|
|
49
|
-
async (step) => {
|
|
50
|
-
input.runtime.exit.throwIfWorkflowExitSelected();
|
|
51
|
-
const prompt = replaceTaskPlaceholder(
|
|
52
|
-
step.prompt ?? step.task ?? fallback,
|
|
53
|
-
resolvedOptions.task ?? fallback,
|
|
54
|
-
);
|
|
55
|
-
return await input.task(
|
|
56
|
-
step.name,
|
|
57
|
-
taskWithSharedDefaults(taskOptionsFromStep(step, prompt, taskPrevious(step)), resolvedOptions),
|
|
58
|
-
parallelScope,
|
|
59
|
-
);
|
|
60
|
-
},
|
|
61
|
-
async (error) => {
|
|
62
|
-
if (!failFastEnabled) return;
|
|
63
|
-
parallelScope.failed = true;
|
|
64
|
-
parallelScope.firstFailure = error;
|
|
65
|
-
await Promise.all([...parallelScope.activeStages.values()].map((stage) => stage.skip()));
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
beforeDequeue: input.runtime.exit.throwIfWorkflowExitSelected,
|
|
69
|
-
beforeMap: input.runtime.exit.throwIfWorkflowExitSelected,
|
|
70
|
-
isControlSignal: (error) => findWorkflowExitSignal(error, input.runtime.exit.exitScope) !== undefined,
|
|
71
|
-
},
|
|
72
|
-
);
|
|
73
|
-
};
|
|
74
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cleanupPreparedWorktrees,
|
|
3
|
-
collectWorktreeDiffs,
|
|
4
|
-
prepareTaskWorktrees,
|
|
5
|
-
stageOptionsWithGitWorktree,
|
|
6
|
-
stageOptionsWithInputDefaults,
|
|
7
|
-
} from "../../runs/foreground/executor-direct-helpers.js";
|
|
8
|
-
import {
|
|
9
|
-
applyTaskContext,
|
|
10
|
-
structuredTaskOutputText,
|
|
11
|
-
taskPrevious,
|
|
12
|
-
taskPrompt,
|
|
13
|
-
taskPromptOptions,
|
|
14
|
-
taskReadInstruction,
|
|
15
|
-
taskStageOptions,
|
|
16
|
-
truncateTaskOutput,
|
|
17
|
-
} from "../../runs/foreground/executor-task-prompts.js";
|
|
18
|
-
import type { ParallelFailFastScope } from "../../runs/foreground/executor-types.js";
|
|
19
|
-
import { RESUME_CONTINUATION_PROMPT } from "../../shared/resume-continuation.js";
|
|
20
|
-
import type {
|
|
21
|
-
WorkflowChainOptions,
|
|
22
|
-
WorkflowParallelOptions,
|
|
23
|
-
WorkflowTaskOptions,
|
|
24
|
-
WorkflowTaskResult,
|
|
25
|
-
WorkflowTaskStep,
|
|
26
|
-
} from "../../shared/types.js";
|
|
27
|
-
import type { EngineRuntime } from "../runtime.js";
|
|
28
|
-
import { createChainPrimitive } from "./chain.js";
|
|
29
|
-
import { createParallelPrimitive } from "./parallel.js";
|
|
30
|
-
|
|
31
|
-
export type WorkflowTaskPrimitive = (
|
|
32
|
-
name: string,
|
|
33
|
-
options: WorkflowTaskOptions,
|
|
34
|
-
stageFailFastScope?: ParallelFailFastScope,
|
|
35
|
-
) => Promise<WorkflowTaskResult>;
|
|
36
|
-
|
|
37
|
-
export interface WorkflowTaskRunners {
|
|
38
|
-
task: WorkflowTaskPrimitive;
|
|
39
|
-
chain(steps: readonly WorkflowTaskStep[], options?: WorkflowChainOptions): Promise<WorkflowTaskResult[]>;
|
|
40
|
-
parallel(steps: readonly WorkflowTaskStep[], options?: WorkflowParallelOptions): Promise<WorkflowTaskResult[]>;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function createTaskPrimitive(runtime: EngineRuntime): WorkflowTaskPrimitive {
|
|
44
|
-
return async (
|
|
45
|
-
name: string,
|
|
46
|
-
options: WorkflowTaskOptions,
|
|
47
|
-
stageFailFastScope?: ParallelFailFastScope,
|
|
48
|
-
): Promise<WorkflowTaskResult> => {
|
|
49
|
-
runtime.exit.throwIfWorkflowExitSelected();
|
|
50
|
-
const runTaskOnce = async (taskOptions: WorkflowTaskOptions): Promise<WorkflowTaskResult> => {
|
|
51
|
-
runtime.exit.throwIfWorkflowExitSelected();
|
|
52
|
-
const resolvedTaskOptions =
|
|
53
|
-
stageOptionsWithGitWorktree(
|
|
54
|
-
stageOptionsWithInputDefaults(taskOptions, runtime.inputRuntimeDefaults),
|
|
55
|
-
runtime.workflowInvocationCwd,
|
|
56
|
-
runtime.gitWorktreeSetupCache,
|
|
57
|
-
) ?? taskOptions;
|
|
58
|
-
const stageOptions = taskStageOptions(resolvedTaskOptions);
|
|
59
|
-
const stageHandle = runtime.spawnStage(name, {
|
|
60
|
-
kind: "agent",
|
|
61
|
-
...(stageOptions !== undefined ? { options: stageOptions } : {}),
|
|
62
|
-
...(stageFailFastScope !== undefined ? { failFastScope: stageFailFastScope } : {}),
|
|
63
|
-
});
|
|
64
|
-
const stage = stageHandle.context;
|
|
65
|
-
const promptText =
|
|
66
|
-
resolvedTaskOptions.resumeFromSessionFile !== undefined
|
|
67
|
-
? RESUME_CONTINUATION_PROMPT
|
|
68
|
-
: applyTaskContext(
|
|
69
|
-
`${taskReadInstruction(resolvedTaskOptions)}${taskPrompt(resolvedTaskOptions)}`,
|
|
70
|
-
taskPrevious(resolvedTaskOptions),
|
|
71
|
-
);
|
|
72
|
-
const rawOutput = await stage.prompt(promptText, taskPromptOptions(resolvedTaskOptions));
|
|
73
|
-
const structured = typeof rawOutput === "string" ? undefined : rawOutput;
|
|
74
|
-
const text = truncateTaskOutput(structuredTaskOutputText(rawOutput), resolvedTaskOptions.maxOutput);
|
|
75
|
-
const sessionId = (() => {
|
|
76
|
-
try {
|
|
77
|
-
return stage.sessionId;
|
|
78
|
-
} catch {
|
|
79
|
-
return undefined;
|
|
80
|
-
}
|
|
81
|
-
})();
|
|
82
|
-
const stageMeta = stage.__modelFallbackMeta();
|
|
83
|
-
return {
|
|
84
|
-
name,
|
|
85
|
-
stageName: name,
|
|
86
|
-
text,
|
|
87
|
-
...(structured !== undefined ? { structured } : {}),
|
|
88
|
-
...(sessionId !== undefined ? { sessionId } : {}),
|
|
89
|
-
...(stage.sessionFile !== undefined ? { sessionFile: stage.sessionFile } : {}),
|
|
90
|
-
...(stageMeta.model !== undefined ? { model: stageMeta.model } : {}),
|
|
91
|
-
...(stageMeta.fastMode === true ? { fastMode: stageMeta.fastMode } : {}),
|
|
92
|
-
...(stageMeta.attemptedModels !== undefined ? { attemptedModels: stageMeta.attemptedModels } : {}),
|
|
93
|
-
...(stageMeta.modelAttempts !== undefined ? { modelAttempts: stageMeta.modelAttempts } : {}),
|
|
94
|
-
...(stageMeta.warnings !== undefined ? { warnings: stageMeta.warnings } : {}),
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
if (options.worktree !== true) return runTaskOnce(options);
|
|
99
|
-
const prepared = prepareTaskWorktrees(
|
|
100
|
-
[{ ...options, name }],
|
|
101
|
-
{ ...options, worktree: true },
|
|
102
|
-
`${runtime.runId}-${name}-${crypto.randomUUID()}`,
|
|
103
|
-
name,
|
|
104
|
-
runtime.workflowInvocationCwd,
|
|
105
|
-
runtime.worktreeSymlinkDirectories,
|
|
106
|
-
);
|
|
107
|
-
const preparedTask = prepared.tasks[0]!;
|
|
108
|
-
try {
|
|
109
|
-
const result = await runTaskOnce(preparedTask);
|
|
110
|
-
const worktreeDiffs = collectWorktreeDiffs(prepared, options.artifacts !== false);
|
|
111
|
-
return worktreeDiffs.artifacts.length === 0
|
|
112
|
-
? result
|
|
113
|
-
: { ...result, artifacts: [...(result.artifacts ?? []), ...worktreeDiffs.artifacts] };
|
|
114
|
-
} finally {
|
|
115
|
-
cleanupPreparedWorktrees(prepared);
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export function createWorkflowTaskRunners(input: { readonly runtime: EngineRuntime }): WorkflowTaskRunners {
|
|
121
|
-
const task = createTaskPrimitive(input.runtime);
|
|
122
|
-
return {
|
|
123
|
-
task,
|
|
124
|
-
chain: createChainPrimitive({ runtime: input.runtime, task }),
|
|
125
|
-
parallel: createParallelPrimitive({ runtime: input.runtime, task }),
|
|
126
|
-
};
|
|
127
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { type DurableUiDeps, wrapUiWithDurable } from "../../durable/ui-primitive.js";
|
|
2
|
-
import { makeHeadlessUnavailableUIContext, normalizeUIContext } from "../../runs/foreground/executor-hil.js";
|
|
3
|
-
import type { RunOpts } from "../../runs/foreground/executor-types.js";
|
|
4
|
-
import type { WorkflowUIContext as AuthoringWorkflowUIContext } from "../../shared/authoring-contract-ui.js";
|
|
5
|
-
import type { WorkflowCustomUiFactory, WorkflowCustomUiOptions, WorkflowUIContext } from "../../shared/types.js";
|
|
6
|
-
|
|
7
|
-
export interface BuildExitGatedUiContextInput {
|
|
8
|
-
readonly opts: RunOpts;
|
|
9
|
-
readonly baseFromPromptNodes: () => AuthoringWorkflowUIContext;
|
|
10
|
-
readonly throwIfWorkflowExitSelected: () => void;
|
|
11
|
-
/**
|
|
12
|
-
* Optional durable UI deps. When provided, completed ctx.ui responses are
|
|
13
|
-
* cached durably and replayed on resume instead of re-asking the user.
|
|
14
|
-
*
|
|
15
|
-
* cross-ref: issue #1498 — durable ctx.ui response/pending prompt state.
|
|
16
|
-
*/
|
|
17
|
-
readonly durableUi?: DurableUiDeps;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function buildExitGatedUiContext(input: BuildExitGatedUiContextInput): WorkflowUIContext {
|
|
21
|
-
const base =
|
|
22
|
-
input.opts.usePromptNodesForUi === true
|
|
23
|
-
? input.baseFromPromptNodes()
|
|
24
|
-
: input.opts.executionMode === "non_interactive" && input.opts.ui === undefined
|
|
25
|
-
? makeHeadlessUnavailableUIContext()
|
|
26
|
-
: normalizeUIContext(input.opts.ui);
|
|
27
|
-
// Prompt-node continuation owns replay so its stage remains observable;
|
|
28
|
-
// durable response replay is for non-node UI and fresh redispatches.
|
|
29
|
-
const promptNodeReplay = input.opts.usePromptNodesForUi === true && input.opts.continuation !== undefined;
|
|
30
|
-
const durableBase =
|
|
31
|
-
input.durableUi !== undefined && !promptNodeReplay ? wrapUiWithDurable(base, input.durableUi) : base;
|
|
32
|
-
return {
|
|
33
|
-
async input(promptText: string): Promise<string> {
|
|
34
|
-
input.throwIfWorkflowExitSelected();
|
|
35
|
-
return await durableBase.input(promptText);
|
|
36
|
-
},
|
|
37
|
-
async confirm(message: string): Promise<boolean> {
|
|
38
|
-
input.throwIfWorkflowExitSelected();
|
|
39
|
-
return await durableBase.confirm(message);
|
|
40
|
-
},
|
|
41
|
-
async select<T extends string>(message: string, options: readonly T[]): Promise<T> {
|
|
42
|
-
input.throwIfWorkflowExitSelected();
|
|
43
|
-
return await durableBase.select(message, options);
|
|
44
|
-
},
|
|
45
|
-
async editor(initial?: string): Promise<string> {
|
|
46
|
-
input.throwIfWorkflowExitSelected();
|
|
47
|
-
return await durableBase.editor(initial);
|
|
48
|
-
},
|
|
49
|
-
async custom<T>(factory: WorkflowCustomUiFactory<T>, options?: WorkflowCustomUiOptions): Promise<T> {
|
|
50
|
-
input.throwIfWorkflowExitSelected();
|
|
51
|
-
return await durableBase.custom(factory, options);
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
}
|