@bastani/atomic 0.9.16-alpha.2 → 0.9.16-alpha.3
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 +7 -0
- package/dist/builtin/intercom/broker/spawn.ts +22 -2
- package/dist/builtin/intercom/index.bundle.mjs +61694 -0
- package/dist/builtin/intercom/package.json +3 -3
- package/dist/builtin/mcp/index.bundle.mjs +64901 -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 +85671 -0
- package/dist/builtin/web-access/index.bundle.mjs +67413 -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 +76391 -96336
- package/dist/builtin/workflows/src/index.bundle.mjs +73244 -0
- 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,424 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workflow discovery for workflows extension startup.
|
|
3
|
-
*
|
|
4
|
-
* Supports bundled workflows (shipped with this package) as well as
|
|
5
|
-
* project-local, user-global, settings-project, and settings-global sources
|
|
6
|
-
* loaded from the file system via dynamic import.
|
|
7
|
-
*
|
|
8
|
-
* Supported file extensions: .ts, .js, .mjs, .cjs
|
|
9
|
-
*
|
|
10
|
-
* Precedence order (highest wins on duplicate normalizedName):
|
|
11
|
-
* 1. settings-project — paths listed in config.projectWorkflows
|
|
12
|
-
* 2. project-local — {cwd}/.atomic/workflows/*.{ts,js,mjs,cjs}
|
|
13
|
-
* 3. settings-global — paths listed in config.globalWorkflows
|
|
14
|
-
* 4. user-global — {agentDir}/workflows/*.{ts,js,mjs,cjs}
|
|
15
|
-
* 5. package — workflow files supplied by Atomic/pi packages
|
|
16
|
-
* 6. bundled — shipped workflows (skipped when includeBundled=false)
|
|
17
|
-
*
|
|
18
|
-
* Usage:
|
|
19
|
-
* // Full discovery (all sources):
|
|
20
|
-
* const result = await discoverWorkflows({ cwd: process.cwd() });
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import { join } from "node:path";
|
|
24
|
-
import { CONFIG_DIR_NAMES, getAgentDirs, getProjectConfigPaths } from "@bastani/atomic";
|
|
25
|
-
import * as bundledManifest from "../../builtin/index.js";
|
|
26
|
-
import type { WorkflowDefinition } from "../shared/types.js";
|
|
27
|
-
import type { WorkflowRegistry } from "../workflows/registry.js";
|
|
28
|
-
import { createRegistry } from "../workflows/registry.js";
|
|
29
|
-
import { loadFromDir, loadFromPaths, type WorkflowModuleCandidateRecord } from "./discovery-loaders.js";
|
|
30
|
-
import { validateWorkflowDefinitionShape as validateDefinitionShape } from "./workflow-module-loader.js";
|
|
31
|
-
|
|
32
|
-
// ---------------------------------------------------------------------------
|
|
33
|
-
// Public types
|
|
34
|
-
// ---------------------------------------------------------------------------
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* The source kind for a discovered workflow.
|
|
38
|
-
*
|
|
39
|
-
* bundled — shipped with the workflows package
|
|
40
|
-
* project-local — found in {cwd}/.atomic/workflows/
|
|
41
|
-
* user-global — found in {agentDir}/workflows/
|
|
42
|
-
* settings-project — listed in DiscoveryConfig.projectWorkflows
|
|
43
|
-
* settings-global — listed in DiscoveryConfig.globalWorkflows
|
|
44
|
-
* package — supplied by Atomic/pi package workflow resources
|
|
45
|
-
*/
|
|
46
|
-
export type DiscoveryKind =
|
|
47
|
-
| "bundled"
|
|
48
|
-
| "project-local"
|
|
49
|
-
| "user-global"
|
|
50
|
-
| "settings-project"
|
|
51
|
-
| "settings-global"
|
|
52
|
-
| "package";
|
|
53
|
-
|
|
54
|
-
/** Identifies the origin of a discovered workflow definition. */
|
|
55
|
-
export interface DiscoverySource {
|
|
56
|
-
/** The workflow's normalizedName (registry key). */
|
|
57
|
-
readonly id: string;
|
|
58
|
-
/** Where this workflow was discovered from. */
|
|
59
|
-
readonly kind: DiscoveryKind;
|
|
60
|
-
/** Human-readable display name as authored. */
|
|
61
|
-
readonly name: string;
|
|
62
|
-
/** Absolute file path (undefined for bundled). */
|
|
63
|
-
readonly filePath?: string;
|
|
64
|
-
/**
|
|
65
|
-
* The configured name (key) under which this workflow was registered in
|
|
66
|
-
* settings (e.g. the key in `config.projectWorkflows`).
|
|
67
|
-
* Only present for settings-project and settings-global sources loaded
|
|
68
|
-
* via a named-entry config map.
|
|
69
|
-
*/
|
|
70
|
-
readonly configuredName?: string;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/** Severity of a discovery diagnostic. */
|
|
74
|
-
export type DiagnosticLevel = "error" | "warn";
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* A diagnostic emitted during discovery.
|
|
78
|
-
* Errors indicate a definition was rejected; warnings indicate a recoverable
|
|
79
|
-
* condition (e.g. a duplicate that was skipped).
|
|
80
|
-
*
|
|
81
|
-
* Codes:
|
|
82
|
-
* INVALID_DEFINITION — failed structural validation
|
|
83
|
-
* DUPLICATE_NAME — normalizedName already registered; skipped (warn)
|
|
84
|
-
* IMPORT_FAILED — dynamic import of a workflow file threw
|
|
85
|
-
* PATH_NOT_FOUND — a config-specified path does not exist
|
|
86
|
-
* CONFIG_INVALID — DiscoveryConfig has an invalid structure
|
|
87
|
-
*/
|
|
88
|
-
export interface DiscoveryDiagnostic {
|
|
89
|
-
readonly level: DiagnosticLevel;
|
|
90
|
-
readonly code: "INVALID_DEFINITION" | "DUPLICATE_NAME" | "IMPORT_FAILED" | "PATH_NOT_FOUND" | "CONFIG_INVALID";
|
|
91
|
-
readonly message: string;
|
|
92
|
-
/** Export key, workflow name, or file path associated with this diagnostic. */
|
|
93
|
-
readonly source?: string;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Optional config for settings-based workflow paths.
|
|
98
|
-
* Entries are absolute paths (or resolvable relative paths) to .ts/.js/.mjs/.cjs
|
|
99
|
-
* files that export a default WorkflowDefinition.
|
|
100
|
-
*
|
|
101
|
-
* Both plain string arrays and named entry maps are supported:
|
|
102
|
-
* - `string[]` — paths without configured names
|
|
103
|
-
* - `Record<string, string>` — maps configuredName → path (preserves name in DiscoverySource)
|
|
104
|
-
*/
|
|
105
|
-
export interface DiscoveryConfig {
|
|
106
|
-
/** Paths to project-scoped workflow files (settings-project). */
|
|
107
|
-
projectWorkflows?: string[] | Record<string, string>;
|
|
108
|
-
/** Paths to globally-scoped workflow files (settings-global). */
|
|
109
|
-
globalWorkflows?: string[] | Record<string, string>;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Options for discoverWorkflows().
|
|
114
|
-
* All fields have sensible defaults so callers can pass Partial<DiscoveryOptions>.
|
|
115
|
-
*/
|
|
116
|
-
export interface DiscoveryOptions {
|
|
117
|
-
/** Working directory; used as root for project-local discovery. Default: process.cwd() */
|
|
118
|
-
cwd: string;
|
|
119
|
-
/** User's home directory; when set, preserves legacy test/compat user-global discovery roots. */
|
|
120
|
-
homeDir: string;
|
|
121
|
-
/** User agent config directories in precedence order. Defaults to Atomic's configured agent directories. */
|
|
122
|
-
agentDirs?: readonly string[];
|
|
123
|
-
/** Optional extra paths from project/global config. */
|
|
124
|
-
config?: DiscoveryConfig;
|
|
125
|
-
/** Workflow files supplied by installed Atomic/pi packages. */
|
|
126
|
-
packageWorkflowPaths?: string[] | Record<string, string>;
|
|
127
|
-
/** When false, bundled workflows are excluded. Default: true */
|
|
128
|
-
includeBundled?: boolean;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/** Result returned by discoverWorkflows(). */
|
|
132
|
-
export interface DiscoveryResult {
|
|
133
|
-
/** Registry populated with all valid, non-duplicate definitions (precedence-ordered). */
|
|
134
|
-
readonly registry: WorkflowRegistry;
|
|
135
|
-
/** One record per successfully registered workflow. */
|
|
136
|
-
readonly sources: readonly DiscoverySource[];
|
|
137
|
-
/** All diagnostics (errors + warnings). Empty when all is well. */
|
|
138
|
-
readonly errors: readonly DiscoveryDiagnostic[];
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// ---------------------------------------------------------------------------
|
|
142
|
-
// Internal helpers
|
|
143
|
-
// ---------------------------------------------------------------------------
|
|
144
|
-
|
|
145
|
-
function workflowAgentDirs(options: Partial<DiscoveryOptions> | undefined): readonly string[] {
|
|
146
|
-
if (options?.agentDirs !== undefined) return options.agentDirs;
|
|
147
|
-
if (options?.homeDir !== undefined) {
|
|
148
|
-
const homeDir = options.homeDir;
|
|
149
|
-
return CONFIG_DIR_NAMES.map((name) => join(homeDir, name, "agent"));
|
|
150
|
-
}
|
|
151
|
-
return getAgentDirs();
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Validate DiscoveryConfig shape.
|
|
156
|
-
* Returns null when valid, or a description of the problem.
|
|
157
|
-
*/
|
|
158
|
-
function validateConfig(config: unknown): string | null {
|
|
159
|
-
if (config === null || typeof config !== "object") {
|
|
160
|
-
return "config must be an object";
|
|
161
|
-
}
|
|
162
|
-
const c = config as Record<string, unknown>;
|
|
163
|
-
for (const field of ["projectWorkflows", "globalWorkflows"] as const) {
|
|
164
|
-
const val = c[field];
|
|
165
|
-
if (val !== undefined) {
|
|
166
|
-
if (Array.isArray(val)) {
|
|
167
|
-
for (const entry of val) {
|
|
168
|
-
if (typeof entry !== "string") return `config.${field} entries must be strings`;
|
|
169
|
-
}
|
|
170
|
-
} else if (typeof val === "object" && val !== null) {
|
|
171
|
-
// Named map: Record<string, string>
|
|
172
|
-
for (const [key, entry] of Object.entries(val as Record<string, unknown>)) {
|
|
173
|
-
if (typeof entry !== "string") return `config.${field}["${key}"] must be a string path`;
|
|
174
|
-
}
|
|
175
|
-
} else {
|
|
176
|
-
return `config.${field} must be a string array or a Record<string, string> map`;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
return null;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/** Merge a batch of candidates into registry state, first-seen wins. */
|
|
184
|
-
async function applyBatch(
|
|
185
|
-
candidates: WorkflowModuleCandidateRecord[],
|
|
186
|
-
registry: WorkflowRegistry,
|
|
187
|
-
sources: DiscoverySource[],
|
|
188
|
-
diagnostics: DiscoveryDiagnostic[],
|
|
189
|
-
): Promise<WorkflowRegistry> {
|
|
190
|
-
for (const { value, exportKey, kind, filePath, configuredName } of candidates) {
|
|
191
|
-
const reason = validateDefinitionShape(value);
|
|
192
|
-
if (reason !== null) {
|
|
193
|
-
diagnostics.push({
|
|
194
|
-
level: "error",
|
|
195
|
-
code: "INVALID_DEFINITION",
|
|
196
|
-
message: `${kind} export "${exportKey}" rejected: ${reason}`,
|
|
197
|
-
source: filePath ?? exportKey,
|
|
198
|
-
});
|
|
199
|
-
continue;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
const def = value as WorkflowDefinition;
|
|
203
|
-
const key = def.normalizedName;
|
|
204
|
-
|
|
205
|
-
if (registry.has(key)) {
|
|
206
|
-
diagnostics.push({
|
|
207
|
-
level: "warn",
|
|
208
|
-
code: "DUPLICATE_NAME",
|
|
209
|
-
message: `${kind} export "${exportKey}" skipped: normalizedName "${key}" already registered`,
|
|
210
|
-
source: filePath ?? exportKey,
|
|
211
|
-
});
|
|
212
|
-
continue;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
registry = registry.register(def);
|
|
216
|
-
sources.push({
|
|
217
|
-
id: key,
|
|
218
|
-
kind,
|
|
219
|
-
name: def.name,
|
|
220
|
-
...(filePath !== undefined ? { filePath } : {}),
|
|
221
|
-
...(configuredName !== undefined ? { configuredName } : {}),
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
return registry;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
/** Merge bundled startup candidates with shape-only validation to keep startup seeding synchronous. */
|
|
228
|
-
function applyBatchShapeOnly(
|
|
229
|
-
candidates: WorkflowModuleCandidateRecord[],
|
|
230
|
-
registry: WorkflowRegistry,
|
|
231
|
-
sources: DiscoverySource[],
|
|
232
|
-
diagnostics: DiscoveryDiagnostic[],
|
|
233
|
-
): WorkflowRegistry {
|
|
234
|
-
for (const { value, exportKey, kind, filePath, configuredName } of candidates) {
|
|
235
|
-
const reason = validateDefinitionShape(value);
|
|
236
|
-
if (reason !== null) {
|
|
237
|
-
diagnostics.push({
|
|
238
|
-
level: "error",
|
|
239
|
-
code: "INVALID_DEFINITION",
|
|
240
|
-
message: `${kind} export "${exportKey}" rejected: ${reason}`,
|
|
241
|
-
source: filePath ?? exportKey,
|
|
242
|
-
});
|
|
243
|
-
continue;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
const def = value as WorkflowDefinition;
|
|
247
|
-
const key = def.normalizedName;
|
|
248
|
-
|
|
249
|
-
if (registry.has(key)) {
|
|
250
|
-
diagnostics.push({
|
|
251
|
-
level: "warn",
|
|
252
|
-
code: "DUPLICATE_NAME",
|
|
253
|
-
message: `${kind} export "${exportKey}" skipped: normalizedName "${key}" already registered`,
|
|
254
|
-
source: filePath ?? exportKey,
|
|
255
|
-
});
|
|
256
|
-
continue;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
registry = registry.register(def);
|
|
260
|
-
sources.push({
|
|
261
|
-
id: key,
|
|
262
|
-
kind,
|
|
263
|
-
name: def.name,
|
|
264
|
-
...(filePath !== undefined ? { filePath } : {}),
|
|
265
|
-
...(configuredName !== undefined ? { configuredName } : {}),
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
return registry;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// ---------------------------------------------------------------------------
|
|
272
|
-
// Main API
|
|
273
|
-
// ---------------------------------------------------------------------------
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Discover workflows from all configured sources, applying precedence order.
|
|
277
|
-
*
|
|
278
|
-
* Precedence (highest first; first-registered wins on duplicate normalizedName):
|
|
279
|
-
* 1. settings-project — config.projectWorkflows paths
|
|
280
|
-
* 2. project-local — {cwd}/.atomic/workflows/*.{ts,js,mjs,cjs}
|
|
281
|
-
* 3. settings-global — config.globalWorkflows paths
|
|
282
|
-
* 4. user-global — {agentDir}/workflows/*.{ts,js,mjs,cjs}
|
|
283
|
-
* 5. package — package-supplied workflow files
|
|
284
|
-
* 6. bundled — shipped workflows (omitted when includeBundled=false)
|
|
285
|
-
*/
|
|
286
|
-
export async function discoverWorkflows(options?: Partial<DiscoveryOptions>): Promise<DiscoveryResult> {
|
|
287
|
-
const cwd = options?.cwd ?? process.cwd();
|
|
288
|
-
const homeDir = options?.homeDir ?? (await defaultHomeDir());
|
|
289
|
-
const agentDirs = workflowAgentDirs(options);
|
|
290
|
-
const config = options?.config;
|
|
291
|
-
const packageWorkflowPaths = options?.packageWorkflowPaths;
|
|
292
|
-
const includeBundled = options?.includeBundled !== false;
|
|
293
|
-
|
|
294
|
-
const diagnostics: DiscoveryDiagnostic[] = [];
|
|
295
|
-
const sources: DiscoverySource[] = [];
|
|
296
|
-
let registry = createRegistry();
|
|
297
|
-
|
|
298
|
-
// Validate config if provided
|
|
299
|
-
let configIsValid = true;
|
|
300
|
-
if (config !== undefined) {
|
|
301
|
-
const configErr = validateConfig(config);
|
|
302
|
-
if (configErr !== null) {
|
|
303
|
-
diagnostics.push({
|
|
304
|
-
level: "error",
|
|
305
|
-
code: "CONFIG_INVALID",
|
|
306
|
-
message: `DiscoveryConfig is invalid: ${configErr}`,
|
|
307
|
-
source: "config",
|
|
308
|
-
});
|
|
309
|
-
configIsValid = false;
|
|
310
|
-
// Skip settings-project and settings-global loading for invalid config
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
// 1. settings-project (highest precedence)
|
|
315
|
-
if (configIsValid && config !== undefined && config.projectWorkflows !== undefined) {
|
|
316
|
-
const pw = config.projectWorkflows;
|
|
317
|
-
const hasEntries = Array.isArray(pw) ? pw.length > 0 : Object.keys(pw).length > 0;
|
|
318
|
-
if (hasEntries) {
|
|
319
|
-
const candidates = await loadFromPaths(pw, "settings-project", cwd, diagnostics);
|
|
320
|
-
registry = await applyBatch(candidates, registry, sources, diagnostics);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
// 2. project-local
|
|
325
|
-
for (const dir of getProjectConfigPaths(cwd, "workflows").reverse()) {
|
|
326
|
-
const candidates = await loadFromDir(dir, "project-local", diagnostics);
|
|
327
|
-
registry = await applyBatch(candidates, registry, sources, diagnostics);
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
// 3. settings-global
|
|
331
|
-
if (configIsValid && config !== undefined && config.globalWorkflows !== undefined) {
|
|
332
|
-
const gw = config.globalWorkflows;
|
|
333
|
-
const hasEntries = Array.isArray(gw) ? gw.length > 0 : Object.keys(gw).length > 0;
|
|
334
|
-
if (hasEntries) {
|
|
335
|
-
const candidates = await loadFromPaths(gw, "settings-global", homeDir, diagnostics);
|
|
336
|
-
registry = await applyBatch(candidates, registry, sources, diagnostics);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
// 4. user-global — configured Atomic agent dir plus legacy/defaults when applicable.
|
|
341
|
-
for (const dir of agentDirs.map((agentDir) => join(agentDir, "workflows")).reverse()) {
|
|
342
|
-
const candidates = await loadFromDir(dir, "user-global", diagnostics);
|
|
343
|
-
registry = await applyBatch(candidates, registry, sources, diagnostics);
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
// 5. package workflows
|
|
347
|
-
if (packageWorkflowPaths !== undefined) {
|
|
348
|
-
const hasEntries = Array.isArray(packageWorkflowPaths)
|
|
349
|
-
? packageWorkflowPaths.length > 0
|
|
350
|
-
: Object.keys(packageWorkflowPaths).length > 0;
|
|
351
|
-
if (hasEntries) {
|
|
352
|
-
const candidates = await loadFromPaths(packageWorkflowPaths, "package", cwd, diagnostics);
|
|
353
|
-
registry = await applyBatch(candidates, registry, sources, diagnostics);
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
// 6. bundled
|
|
358
|
-
if (includeBundled) {
|
|
359
|
-
const bundledResult = discoverBundledManifest();
|
|
360
|
-
// Merge bundled: only register names not already present (lower precedence)
|
|
361
|
-
for (const def of bundledResult.registry.all()) {
|
|
362
|
-
const key = def.normalizedName;
|
|
363
|
-
if (registry.has(key)) {
|
|
364
|
-
diagnostics.push({
|
|
365
|
-
level: "warn",
|
|
366
|
-
code: "DUPLICATE_NAME",
|
|
367
|
-
message: `Bundled workflow "${key}" skipped: already registered by higher-precedence source`,
|
|
368
|
-
source: key,
|
|
369
|
-
});
|
|
370
|
-
continue;
|
|
371
|
-
}
|
|
372
|
-
registry = registry.register(def);
|
|
373
|
-
sources.push({ id: key, kind: "bundled", name: def.name });
|
|
374
|
-
}
|
|
375
|
-
// Propagate bundled diagnostics (e.g. INVALID_DEFINITION within bundled)
|
|
376
|
-
for (const d of bundledResult.errors) {
|
|
377
|
-
diagnostics.push(d);
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
return { registry, sources, errors: diagnostics };
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
/** Resolve default homeDir using os.homedir(). */
|
|
385
|
-
async function defaultHomeDir(): Promise<string> {
|
|
386
|
-
const { homedir } = await import("node:os");
|
|
387
|
-
return homedir();
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
// ---------------------------------------------------------------------------
|
|
391
|
-
// Startup seed discovery
|
|
392
|
-
// ---------------------------------------------------------------------------
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* Discover all bundled workflow definitions, validate them, and register valid
|
|
396
|
-
* ones into a new WorkflowRegistry.
|
|
397
|
-
*
|
|
398
|
-
* Duplicate policy: first-seen wins (insertion order of the manifest export).
|
|
399
|
-
*/
|
|
400
|
-
export function discoverStartupWorkflowsSync(): DiscoveryResult {
|
|
401
|
-
return discoverBundledManifest();
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
function discoverBundledManifest(): DiscoveryResult {
|
|
405
|
-
const manifest = bundledManifest as Record<string, unknown>;
|
|
406
|
-
const diagnostics: DiscoveryDiagnostic[] = [];
|
|
407
|
-
const sources: DiscoverySource[] = [];
|
|
408
|
-
let registry = createRegistry();
|
|
409
|
-
|
|
410
|
-
const candidates = Object.entries(manifest).map(([exportKey, value]) => ({
|
|
411
|
-
value,
|
|
412
|
-
exportKey,
|
|
413
|
-
kind: "bundled" as DiscoveryKind,
|
|
414
|
-
}));
|
|
415
|
-
|
|
416
|
-
registry = applyBatchShapeOnly(candidates, registry, sources, diagnostics);
|
|
417
|
-
|
|
418
|
-
return { registry, sources, errors: diagnostics };
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
// ---------------------------------------------------------------------------
|
|
422
|
-
// Re-export types needed by callers (avoids them importing from registry.ts)
|
|
423
|
-
// ---------------------------------------------------------------------------
|
|
424
|
-
export type { WorkflowRegistry };
|
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WorkflowDispatcher — routes tool actions (list, inputs, run) through the
|
|
3
|
-
* WorkflowRegistry + executor. status/interrupt/resume are handled upstream in
|
|
4
|
-
* index.ts since they operate on in-flight run tracking, not the registry.
|
|
5
|
-
*
|
|
6
|
-
* Design: pure function `dispatch(args, opts)`. No broad catch — caller sees
|
|
7
|
-
* real errors so bugs surface instead of being swallowed as success-shaped results.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { getDurableBackend } from "../durable/factory.js";
|
|
11
|
-
import type { CancellationRegistry } from "../runs/background/cancellation-registry.js";
|
|
12
|
-
import { jobTracker as defaultJobTracker, type JobTracker } from "../runs/background/job-tracker.js";
|
|
13
|
-
import { launchDetachedUntilStartup, workflowStartupFailureMessage } from "../runs/background/startup-admission.js";
|
|
14
|
-
import { resolveAndValidateInputs } from "../runs/foreground/executor.js";
|
|
15
|
-
import type { StageAdapters } from "../runs/foreground/stage-runner.js";
|
|
16
|
-
import { resolve_budget } from "../shared/budget.js";
|
|
17
|
-
import { effectiveRunStatus } from "../shared/returned-run-status.js";
|
|
18
|
-
import { deriveInputFields, schemaIsRequired } from "../shared/schema-introspection.js";
|
|
19
|
-
import { store as defaultStore, type Store } from "../shared/store.js";
|
|
20
|
-
import type { WorkflowActor } from "../shared/store-types.js";
|
|
21
|
-
import {
|
|
22
|
-
INTERACTIVE_WORKFLOW_POLICY,
|
|
23
|
-
type WorkflowExecutionPolicy,
|
|
24
|
-
type WorkflowMcpPort,
|
|
25
|
-
type WorkflowModelCatalogPort,
|
|
26
|
-
type WorkflowPersistencePort,
|
|
27
|
-
type WorkflowRuntimeConfig,
|
|
28
|
-
} from "../shared/types.js";
|
|
29
|
-
import type { WorkflowRegistry } from "../workflows/registry.js";
|
|
30
|
-
import type { WorkflowToolArgs } from "./index.js";
|
|
31
|
-
import type { WorkflowInputEntry, WorkflowToolResult } from "./render-result.js";
|
|
32
|
-
import { raceWorkflowRequestAbort } from "./workflow-request-abort.js";
|
|
33
|
-
|
|
34
|
-
type WorkflowRunResult = Extract<WorkflowToolResult, { action: "run" }>;
|
|
35
|
-
|
|
36
|
-
function failedRunResult(name: string | undefined, runId: string, error: string): WorkflowRunResult {
|
|
37
|
-
return {
|
|
38
|
-
action: "run",
|
|
39
|
-
name,
|
|
40
|
-
runId,
|
|
41
|
-
status: "failed",
|
|
42
|
-
error,
|
|
43
|
-
stages: [],
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
async function discardUnadmittedRun(runId: string, activeStore: Store): Promise<void> {
|
|
47
|
-
activeStore.removeRun(runId);
|
|
48
|
-
const backend = getDurableBackend();
|
|
49
|
-
const handle = backend.getWorkflow(runId);
|
|
50
|
-
if (handle?.status === "running") {
|
|
51
|
-
backend.setWorkflowStatus(runId, "failed", handle.pendingPrompts, false);
|
|
52
|
-
await backend.flush();
|
|
53
|
-
}
|
|
54
|
-
const deleted = await backend.deleteWorkflowIfInactive(runId);
|
|
55
|
-
if (!deleted.ok && deleted.reason !== "not_found") {
|
|
56
|
-
throw new Error(`workflow ${runId} remained ${deleted.reason}`);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// ---------------------------------------------------------------------------
|
|
61
|
-
// Options
|
|
62
|
-
// ---------------------------------------------------------------------------
|
|
63
|
-
|
|
64
|
-
export interface DispatcherOpts {
|
|
65
|
-
/** Registry of compiled workflow definitions. */
|
|
66
|
-
registry: WorkflowRegistry;
|
|
67
|
-
/** Stage adapters forwarded to the executor (prompt/complete). */
|
|
68
|
-
adapters?: StageAdapters;
|
|
69
|
-
/** Store override (defaults to executor's singleton). */
|
|
70
|
-
store?: Store;
|
|
71
|
-
/** Cancellation registry forwarded to the detached runner. */
|
|
72
|
-
cancellation?: CancellationRegistry;
|
|
73
|
-
/** Job tracker forwarded to runDetached() for background run management. */
|
|
74
|
-
jobs?: JobTracker;
|
|
75
|
-
/** Persistence port forwarded to the executor. */
|
|
76
|
-
persistence?: WorkflowPersistencePort;
|
|
77
|
-
/** MCP scope-gating port forwarded to the executor. */
|
|
78
|
-
mcp?: WorkflowMcpPort;
|
|
79
|
-
/**
|
|
80
|
-
* Resolved runtime configuration. Forwarded to runDetached() so downstream
|
|
81
|
-
* tasks (maxDepth, concurrency, statusFile) can consume it.
|
|
82
|
-
*/
|
|
83
|
-
config?: WorkflowRuntimeConfig;
|
|
84
|
-
/** Optional model catalog forwarded to workflow runs for fallback resolution. */
|
|
85
|
-
models?: WorkflowModelCatalogPort;
|
|
86
|
-
/** Runtime-derived interaction policy for this dispatch. */
|
|
87
|
-
policy?: WorkflowExecutionPolicy;
|
|
88
|
-
/** Who launched this run. Omitted when the launcher is not attributable. */
|
|
89
|
-
origin?: WorkflowActor;
|
|
90
|
-
/** Invocation cwd used for workflow execution. */
|
|
91
|
-
cwd?: string;
|
|
92
|
-
/** Host-resolved non-default session directory inherited by stages without explicit sessionDir. */
|
|
93
|
-
defaultSessionDir?: string;
|
|
94
|
-
/** Cancels only startup admission waiting; the detached run keeps its own lifecycle. */
|
|
95
|
-
signal?: AbortSignal;
|
|
96
|
-
/** Reports the exact detached identity before startup admission is awaited. */
|
|
97
|
-
onRunAccepted?: (runId: string) => void;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// ---------------------------------------------------------------------------
|
|
101
|
-
// Dispatcher
|
|
102
|
-
// ---------------------------------------------------------------------------
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Dispatch a `list`, `inputs`, or `run` action.
|
|
106
|
-
*
|
|
107
|
-
* Throws for unknown actions or not-found workflows on `run`.
|
|
108
|
-
* Returns a typed `WorkflowToolResult` — no broad catch, no success-shaped errors.
|
|
109
|
-
*/
|
|
110
|
-
export async function dispatch(args: WorkflowToolArgs, opts: DispatcherOpts): Promise<WorkflowToolResult> {
|
|
111
|
-
const action = args.action ?? "run";
|
|
112
|
-
const name = args.workflow ?? "";
|
|
113
|
-
const inputs = args.inputs ?? {};
|
|
114
|
-
|
|
115
|
-
switch (action) {
|
|
116
|
-
// -----------------------------------------------------------------------
|
|
117
|
-
// list — enumerate registered workflow metadata: name, description,
|
|
118
|
-
// inputs. Single source of truth for the catalogue renderer.
|
|
119
|
-
// -----------------------------------------------------------------------
|
|
120
|
-
case "list": {
|
|
121
|
-
const items = opts.registry.all().map((def) => ({
|
|
122
|
-
name: def.normalizedName,
|
|
123
|
-
description: def.description,
|
|
124
|
-
inputs: Object.entries(def.inputs).map(([iname, schema]) => ({
|
|
125
|
-
name: iname,
|
|
126
|
-
required: schemaIsRequired(schema),
|
|
127
|
-
})),
|
|
128
|
-
}));
|
|
129
|
-
return { action: "list", items };
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
// -----------------------------------------------------------------------
|
|
133
|
-
// inputs — return a workflow's input schema, or a clear not-found result
|
|
134
|
-
// -----------------------------------------------------------------------
|
|
135
|
-
case "inputs": {
|
|
136
|
-
const def = opts.registry.get(name);
|
|
137
|
-
if (!def) {
|
|
138
|
-
return {
|
|
139
|
-
action: "inputs",
|
|
140
|
-
name,
|
|
141
|
-
inputs: [],
|
|
142
|
-
error: `Workflow not found: "${name}"`,
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
const inputSchema: WorkflowInputEntry[] = deriveInputFields(def.inputs);
|
|
146
|
-
return { action: "inputs", name, inputs: inputSchema };
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// -----------------------------------------------------------------------
|
|
150
|
-
// run — always dispatched as a background run. The chat editor stays
|
|
151
|
-
// free; the workflow surfaces progress through the store, the widget,
|
|
152
|
-
// and the graph viewer overlay. Foreground execution is no longer a
|
|
153
|
-
// user-facing option — call `run()` directly from src/runs/foreground
|
|
154
|
-
// /executor.js if you need synchronous semantics in code or tests.
|
|
155
|
-
// -----------------------------------------------------------------------
|
|
156
|
-
case "run": {
|
|
157
|
-
const def = opts.registry.get(name);
|
|
158
|
-
if (!def) {
|
|
159
|
-
// Return structured failed result — not-found is a user error, not a bug.
|
|
160
|
-
// Status "failed" is honest; action is "run" for tool consumers to dispatch on.
|
|
161
|
-
return {
|
|
162
|
-
action: "run",
|
|
163
|
-
name,
|
|
164
|
-
runId: "",
|
|
165
|
-
status: "failed",
|
|
166
|
-
error: `Workflow not found: "${name}"`,
|
|
167
|
-
stages: [],
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
const policy = opts.policy ?? INTERACTIVE_WORKFLOW_POLICY;
|
|
172
|
-
// Pre-validate inputs and budget declarations. The executor would otherwise
|
|
173
|
-
// reject them deep in the background promise, silently from the caller's
|
|
174
|
-
// perspective. Catch errors here so the dispatch result names the problem.
|
|
175
|
-
try {
|
|
176
|
-
resolveAndValidateInputs(def.inputs, inputs, `workflow "${def.name}"`);
|
|
177
|
-
resolve_budget({ config: opts.config?.budget, definition: def.budget, run: args.budget });
|
|
178
|
-
} catch (err) {
|
|
179
|
-
return failedRunResult(def.name, "", err instanceof Error ? err.message : String(err));
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
const runId = crypto.randomUUID();
|
|
183
|
-
let launch: ReturnType<typeof launchDetachedUntilStartup>;
|
|
184
|
-
try {
|
|
185
|
-
launch = launchDetachedUntilStartup(def, inputs, {
|
|
186
|
-
registry: opts.registry,
|
|
187
|
-
adapters: opts.adapters,
|
|
188
|
-
store: opts.store,
|
|
189
|
-
cancellation: opts.cancellation,
|
|
190
|
-
jobs: opts.jobs,
|
|
191
|
-
persistence: opts.persistence,
|
|
192
|
-
mcp: opts.mcp,
|
|
193
|
-
config: opts.config,
|
|
194
|
-
budget: args.budget,
|
|
195
|
-
models: opts.models,
|
|
196
|
-
executionMode: policy.mode,
|
|
197
|
-
cwd: opts.cwd,
|
|
198
|
-
defaultSessionDir: opts.defaultSessionDir,
|
|
199
|
-
...(opts.origin === undefined ? {} : { origin: opts.origin }),
|
|
200
|
-
runId,
|
|
201
|
-
});
|
|
202
|
-
} catch (error) {
|
|
203
|
-
return failedRunResult(def.name, runId, error instanceof Error ? error.message : String(error));
|
|
204
|
-
}
|
|
205
|
-
const { accepted } = launch;
|
|
206
|
-
opts.onRunAccepted?.(accepted.runId);
|
|
207
|
-
const admission = await raceWorkflowRequestAbort(launch.wait, opts.signal);
|
|
208
|
-
if (!admission.started) {
|
|
209
|
-
const activeStore = opts.store ?? defaultStore;
|
|
210
|
-
const snapshot = activeStore.runs().find((run) => run.id === accepted.runId);
|
|
211
|
-
const error = workflowStartupFailureMessage(
|
|
212
|
-
admission,
|
|
213
|
-
snapshot?.error,
|
|
214
|
-
`Workflow run ${accepted.runId} ended before startup admission`,
|
|
215
|
-
);
|
|
216
|
-
try {
|
|
217
|
-
await discardUnadmittedRun(accepted.runId, activeStore);
|
|
218
|
-
} catch (cleanupError) {
|
|
219
|
-
return failedRunResult(
|
|
220
|
-
accepted.name,
|
|
221
|
-
accepted.runId,
|
|
222
|
-
`${error}; startup cleanup failed: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`,
|
|
223
|
-
);
|
|
224
|
-
}
|
|
225
|
-
return failedRunResult(accepted.name, accepted.runId, error);
|
|
226
|
-
}
|
|
227
|
-
if (policy.awaitTerminalRun === true) {
|
|
228
|
-
const tracker = opts.jobs ?? defaultJobTracker;
|
|
229
|
-
const job = tracker.get(accepted.runId);
|
|
230
|
-
if (!job) {
|
|
231
|
-
return failedRunResult(
|
|
232
|
-
accepted.name,
|
|
233
|
-
accepted.runId,
|
|
234
|
-
`Workflow run ${accepted.runId} was accepted but no live job was registered to await`,
|
|
235
|
-
);
|
|
236
|
-
}
|
|
237
|
-
await job.promise;
|
|
238
|
-
const activeStore = opts.store ?? defaultStore;
|
|
239
|
-
const snapshot = activeStore.runs().find((run) => run.id === accepted.runId);
|
|
240
|
-
if (!snapshot) {
|
|
241
|
-
return failedRunResult(
|
|
242
|
-
accepted.name,
|
|
243
|
-
accepted.runId,
|
|
244
|
-
`Workflow run ${accepted.runId} ended without a retained snapshot`,
|
|
245
|
-
);
|
|
246
|
-
}
|
|
247
|
-
return {
|
|
248
|
-
action: "run",
|
|
249
|
-
name: snapshot.name,
|
|
250
|
-
runId: snapshot.id,
|
|
251
|
-
status: effectiveRunStatus(snapshot),
|
|
252
|
-
result: snapshot.result,
|
|
253
|
-
error: snapshot.error,
|
|
254
|
-
exited: snapshot.exited,
|
|
255
|
-
exitReason: snapshot.exitReason,
|
|
256
|
-
stages: snapshot.stages.map((stage) => structuredClone(stage)),
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
return {
|
|
260
|
-
action: "run",
|
|
261
|
-
name: accepted.name,
|
|
262
|
-
runId: accepted.runId,
|
|
263
|
-
status: accepted.status,
|
|
264
|
-
message: accepted.message,
|
|
265
|
-
stages: [],
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
default:
|
|
270
|
-
// Status and run-control actions are not routed here; unknown actions are bugs.
|
|
271
|
-
throw new Error(`WorkflowDispatcher: unknown action "${action}"`);
|
|
272
|
-
}
|
|
273
|
-
}
|