@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,210 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Companion-package detection helpers.
|
|
3
|
-
*
|
|
4
|
-
* Why this exists:
|
|
5
|
-
* `@bastani/workflows` orchestrates a few first-party pi packages
|
|
6
|
-
* at runtime (delegation, MCP access, HIL bridge, web fetch). They are
|
|
7
|
-
* installed independently of workflows so pi's npm-identity
|
|
8
|
-
* dedup can share them with any other extensions the user already has
|
|
9
|
-
* (see pi docs/packages.md → "Scope and Deduplication"). Bundling them
|
|
10
|
-
* via `bundledDependencies` produced a parallel "local-path" identity
|
|
11
|
-
* that bypassed dedup and yielded `Tool "mcp" conflicts with ...` /
|
|
12
|
-
* `Tool "subagent" conflicts with ...` errors on load.
|
|
13
|
-
*
|
|
14
|
-
* The trade-off of independent installs is that we cannot reach in and
|
|
15
|
-
* require() them — we instead **detect** their presence by inspecting
|
|
16
|
-
* pi's slash-command and tool registries.
|
|
17
|
-
*
|
|
18
|
-
* Detection is intentionally best-effort and structural:
|
|
19
|
-
* 1. Path hints (preferred): `pi.getCommands()[].sourceInfo.path` /
|
|
20
|
-
* `.baseDir` typically include the package name (e.g.
|
|
21
|
-
* `.../node_modules/pi-subagents/...`). This survives command/tool
|
|
22
|
-
* renames in upstream packages.
|
|
23
|
-
* 2. Command-name hints (fallback): a distinctive slash command
|
|
24
|
-
* registered by the companion.
|
|
25
|
-
* 3. Tool-name hints (fallback): a registered tool name (e.g. `mcp`).
|
|
26
|
-
*
|
|
27
|
-
* Any match counts as "installed".
|
|
28
|
-
*
|
|
29
|
-
* cross-ref:
|
|
30
|
-
* - pi docs/packages.md → "Scope and Deduplication"
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
import type { ExtensionAPI } from "./index.js";
|
|
34
|
-
|
|
35
|
-
// ---------------------------------------------------------------------------
|
|
36
|
-
// Companion catalogue
|
|
37
|
-
// ---------------------------------------------------------------------------
|
|
38
|
-
|
|
39
|
-
/** One entry per companion pi package workflows can use at runtime. */
|
|
40
|
-
export interface CompanionSpec {
|
|
41
|
-
/** Display name, e.g. `pi-subagents`. */
|
|
42
|
-
readonly name: string;
|
|
43
|
-
/** Install spec used for setup hints: `npm:pi-subagents`. */
|
|
44
|
-
readonly installSpec: string;
|
|
45
|
-
/** One-line description shown beside the status. */
|
|
46
|
-
readonly purpose: string;
|
|
47
|
-
/**
|
|
48
|
-
* Path-fragment hints matched against `sourceInfo.path` / `.baseDir`.
|
|
49
|
-
* First match wins. Prefer this over name hints — surviving renames.
|
|
50
|
-
*/
|
|
51
|
-
readonly pathHints: readonly string[];
|
|
52
|
-
/** Slash-command names registered by the package (without the leading `/`). */
|
|
53
|
-
readonly commandHints: readonly string[];
|
|
54
|
-
/** Registered tool names (matched against `pi.getAllTools()[].name`). */
|
|
55
|
-
readonly toolHints: readonly string[];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Ordered companion catalogue. Order is preserved across detection
|
|
60
|
-
* outputs so any UI surfacing companions can render a stable layout.
|
|
61
|
-
*/
|
|
62
|
-
export const COMPANIONS: readonly CompanionSpec[] = [
|
|
63
|
-
{
|
|
64
|
-
name: "pi-subagents",
|
|
65
|
-
installSpec: "npm:pi-subagents",
|
|
66
|
-
purpose: "delegate stages to focused child agents",
|
|
67
|
-
pathHints: ["/pi-subagents/", "/pi-subagents-", "/pi-subagents."],
|
|
68
|
-
commandHints: [],
|
|
69
|
-
toolHints: ["subagent"],
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
name: "pi-mcp-adapter",
|
|
73
|
-
installSpec: "npm:pi-mcp-adapter",
|
|
74
|
-
purpose: "MCP servers through one proxy tool (no context bloat)",
|
|
75
|
-
pathHints: ["/pi-mcp-adapter/", "/pi-mcp-adapter-", "/pi-mcp-adapter."],
|
|
76
|
-
commandHints: ["mcp"],
|
|
77
|
-
toolHints: ["mcp"],
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
name: "pi-web-access",
|
|
81
|
-
installSpec: "npm:pi-web-access",
|
|
82
|
-
purpose: "fetch and search the web from inside a stage",
|
|
83
|
-
pathHints: ["/pi-web-access/", "/pi-web-access-", "/pi-web-access."],
|
|
84
|
-
commandHints: ["web", "web-access"],
|
|
85
|
-
toolHints: ["web_fetch", "web_search", "web"],
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: "pi-intercom",
|
|
89
|
-
installSpec: "npm:pi-intercom",
|
|
90
|
-
purpose: "child agents talk back to the parent session (HIL)",
|
|
91
|
-
pathHints: ["/pi-intercom/", "/pi-intercom-", "/pi-intercom."],
|
|
92
|
-
commandHints: ["intercom"],
|
|
93
|
-
toolHints: ["intercom", "contact_supervisor"],
|
|
94
|
-
},
|
|
95
|
-
] as const;
|
|
96
|
-
|
|
97
|
-
// ---------------------------------------------------------------------------
|
|
98
|
-
// Detection
|
|
99
|
-
// ---------------------------------------------------------------------------
|
|
100
|
-
|
|
101
|
-
export interface CompanionStatus {
|
|
102
|
-
readonly companion: CompanionSpec;
|
|
103
|
-
readonly installed: boolean;
|
|
104
|
-
/** Human-readable signal that drove the verdict — empty when missing. */
|
|
105
|
-
readonly evidence?: string;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Surface used for detection. Kept narrow so tests can stub it without
|
|
110
|
-
* the full `ExtensionAPI`.
|
|
111
|
-
*/
|
|
112
|
-
export interface CompanionProbeApi {
|
|
113
|
-
readonly getCommands?: () => ReadonlyArray<CommandProbe>;
|
|
114
|
-
readonly getAllTools?: () => ReadonlyArray<ToolProbe>;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
interface CommandProbe {
|
|
118
|
-
readonly name: string;
|
|
119
|
-
readonly sourceInfo?: { readonly path?: string; readonly baseDir?: string };
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
interface ToolProbe {
|
|
123
|
-
readonly name: string;
|
|
124
|
-
readonly sourceInfo?: { readonly path?: string; readonly baseDir?: string };
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Inspect pi's registries and return one status per companion in the
|
|
129
|
-
* catalogue order. Pure of side effects.
|
|
130
|
-
*/
|
|
131
|
-
export function detectCompanions(pi: ExtensionAPI | CompanionProbeApi): readonly CompanionStatus[] {
|
|
132
|
-
const probe = pi as CompanionProbeApi;
|
|
133
|
-
const commands = safeProbeList(probe.getCommands);
|
|
134
|
-
const tools = safeProbeList(probe.getAllTools);
|
|
135
|
-
|
|
136
|
-
return COMPANIONS.map((companion) => detectOne(companion, commands, tools));
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
function detectOne(
|
|
140
|
-
companion: CompanionSpec,
|
|
141
|
-
commands: readonly CommandProbe[],
|
|
142
|
-
tools: readonly ToolProbe[],
|
|
143
|
-
): CompanionStatus {
|
|
144
|
-
// 1. Path hints — most reliable (survives upstream renames).
|
|
145
|
-
const pathHit = findPathHit(commands, tools, companion.pathHints);
|
|
146
|
-
if (pathHit) return { companion, installed: true, evidence: `path ${pathHit}` };
|
|
147
|
-
|
|
148
|
-
// 2. Command-name hints.
|
|
149
|
-
for (const name of companion.commandHints) {
|
|
150
|
-
if (commands.some((c) => c.name === name)) {
|
|
151
|
-
return { companion, installed: true, evidence: `command /${name}` };
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// 3. Tool-name hints.
|
|
156
|
-
for (const name of companion.toolHints) {
|
|
157
|
-
if (tools.some((t) => t.name === name)) {
|
|
158
|
-
return { companion, installed: true, evidence: `tool ${name}` };
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
return { companion, installed: false };
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
function findPathHit(
|
|
166
|
-
commands: readonly CommandProbe[],
|
|
167
|
-
tools: readonly ToolProbe[],
|
|
168
|
-
hints: readonly string[],
|
|
169
|
-
): string | undefined {
|
|
170
|
-
const haystacks: string[] = [];
|
|
171
|
-
for (const c of commands) {
|
|
172
|
-
if (c.sourceInfo?.path) haystacks.push(c.sourceInfo.path);
|
|
173
|
-
if (c.sourceInfo?.baseDir) haystacks.push(c.sourceInfo.baseDir);
|
|
174
|
-
}
|
|
175
|
-
for (const t of tools) {
|
|
176
|
-
if (t.sourceInfo?.path) haystacks.push(t.sourceInfo.path);
|
|
177
|
-
if (t.sourceInfo?.baseDir) haystacks.push(t.sourceInfo.baseDir);
|
|
178
|
-
}
|
|
179
|
-
for (const hint of hints) {
|
|
180
|
-
const hit = haystacks.find((p) => p.includes(hint));
|
|
181
|
-
if (hit) return shortenForEvidence(hit);
|
|
182
|
-
}
|
|
183
|
-
return undefined;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
function safeProbeList<T>(probe: undefined | (() => ReadonlyArray<T>)): readonly T[] {
|
|
187
|
-
if (typeof probe !== "function") return [];
|
|
188
|
-
try {
|
|
189
|
-
const result = probe();
|
|
190
|
-
return Array.isArray(result) ? result : [];
|
|
191
|
-
} catch {
|
|
192
|
-
return [];
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Shorten a node_modules path so the evidence row stays readable.
|
|
198
|
-
* `…/node_modules/pi-subagents/dist/extension.ts` → `pi-subagents/dist/extension.ts`.
|
|
199
|
-
*/
|
|
200
|
-
function shortenForEvidence(p: string): string {
|
|
201
|
-
const marker = "/node_modules/";
|
|
202
|
-
const idx = p.lastIndexOf(marker);
|
|
203
|
-
if (idx >= 0) return p.slice(idx + marker.length);
|
|
204
|
-
// Some installs (git, local) land under `~/.atomic/extensions/<name>` —
|
|
205
|
-
// surface the trailing `extensions/<name>/…` segment instead.
|
|
206
|
-
const extMarker = "/extensions/";
|
|
207
|
-
const extIdx = p.lastIndexOf(extMarker);
|
|
208
|
-
if (extIdx >= 0) return p.slice(extIdx + 1);
|
|
209
|
-
return p;
|
|
210
|
-
}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
EnsurePostMortemStageHandleResult,
|
|
3
|
-
PostMortemUnavailableReason,
|
|
4
|
-
} from "../runs/foreground/postmortem-stage-chat.js";
|
|
5
|
-
import type { StageControlHandle } from "../runs/foreground/stage-control-registry.js";
|
|
6
|
-
|
|
7
|
-
const LATE_STAGE_MESSAGE_EVENT = "atomic:workflow-stage-late-message";
|
|
8
|
-
const POST_MORTEM_ATTACH_TIMEOUT_MS = 10_000;
|
|
9
|
-
|
|
10
|
-
interface IntercomAskMessage {
|
|
11
|
-
readonly customType: "intercom_message";
|
|
12
|
-
readonly content: string;
|
|
13
|
-
readonly details?: {
|
|
14
|
-
readonly message?: {
|
|
15
|
-
readonly expectsReply?: boolean;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
interface CompletedStageAskEvent {
|
|
21
|
-
handled: boolean;
|
|
22
|
-
completion?: Promise<void>;
|
|
23
|
-
readonly batch: boolean;
|
|
24
|
-
readonly workflowRunId?: string;
|
|
25
|
-
readonly workflowStageId?: string;
|
|
26
|
-
readonly messages: readonly IntercomAskMessage[];
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
interface WorkflowEventSurface {
|
|
30
|
-
readonly events?: {
|
|
31
|
-
// `unknown`, not `(() => void) | undefined`: the host ExtensionAPI's `on`
|
|
32
|
-
// returns nothing while our own event bus returns an unsubscribe. The
|
|
33
|
-
// call site narrows with a typeof check.
|
|
34
|
-
on?(event: string, listener: (payload: unknown) => void): unknown;
|
|
35
|
-
};
|
|
36
|
-
on?(event: "session_shutdown", listener: () => void): void;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export type CompletedStageHandleResolver = (
|
|
40
|
-
runId: string,
|
|
41
|
-
stageId: string,
|
|
42
|
-
) => EnsurePostMortemStageHandleResult | undefined;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Claims late blocking Intercom asks for completed workflow stages and runs one
|
|
46
|
-
* post-mortem turn in the retained conversation. Ordinary late notifications
|
|
47
|
-
* keep using the existing parent-chat route.
|
|
48
|
-
*/
|
|
49
|
-
export function registerCompletedStageIntercomAskRouter(
|
|
50
|
-
pi: WorkflowEventSurface,
|
|
51
|
-
resolveHandle: CompletedStageHandleResolver,
|
|
52
|
-
): () => void {
|
|
53
|
-
const queues = new Map<string, Promise<void>>();
|
|
54
|
-
let disposed = false;
|
|
55
|
-
const subscription = pi.events?.on?.(LATE_STAGE_MESSAGE_EVENT, (payload) => {
|
|
56
|
-
if (disposed || !isCompletedStageAskEvent(payload) || payload.handled === true) return;
|
|
57
|
-
payload.handled = true;
|
|
58
|
-
payload.completion = enqueueTargetTurn(queues, `${payload.workflowRunId}:${payload.workflowStageId}`, () =>
|
|
59
|
-
deliverAsPostMortemTurn(payload, resolveHandle),
|
|
60
|
-
);
|
|
61
|
-
});
|
|
62
|
-
const dispose = (): void => {
|
|
63
|
-
disposed = true;
|
|
64
|
-
queues.clear();
|
|
65
|
-
if (typeof subscription === "function") subscription();
|
|
66
|
-
};
|
|
67
|
-
pi.on?.("session_shutdown", dispose);
|
|
68
|
-
return dispose;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
function isCompletedStageAskEvent(payload: unknown): payload is CompletedStageAskEvent & {
|
|
72
|
-
readonly workflowRunId: string;
|
|
73
|
-
readonly workflowStageId: string;
|
|
74
|
-
} {
|
|
75
|
-
if (typeof payload !== "object" || payload === null) return false;
|
|
76
|
-
const event = payload as Partial<CompletedStageAskEvent>;
|
|
77
|
-
return (
|
|
78
|
-
typeof event.workflowRunId === "string" &&
|
|
79
|
-
event.workflowRunId.length > 0 &&
|
|
80
|
-
typeof event.workflowStageId === "string" &&
|
|
81
|
-
event.workflowStageId.length > 0 &&
|
|
82
|
-
Array.isArray(event.messages) &&
|
|
83
|
-
event.messages.length > 0 &&
|
|
84
|
-
event.messages.every(
|
|
85
|
-
(message) =>
|
|
86
|
-
message?.customType === "intercom_message" &&
|
|
87
|
-
typeof message.content === "string" &&
|
|
88
|
-
message.details?.message?.expectsReply === true,
|
|
89
|
-
)
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
function enqueueTargetTurn(
|
|
94
|
-
queues: Map<string, Promise<void>>,
|
|
95
|
-
key: string,
|
|
96
|
-
deliver: () => Promise<void>,
|
|
97
|
-
): Promise<void> {
|
|
98
|
-
const previous = queues.get(key) ?? Promise.resolve();
|
|
99
|
-
const current = previous.catch(() => {}).then(deliver);
|
|
100
|
-
queues.set(key, current);
|
|
101
|
-
void current
|
|
102
|
-
.finally(() => {
|
|
103
|
-
if (queues.get(key) === current) queues.delete(key);
|
|
104
|
-
})
|
|
105
|
-
.catch(() => {});
|
|
106
|
-
return current;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
async function deliverAsPostMortemTurn(
|
|
110
|
-
event: CompletedStageAskEvent & { readonly workflowRunId: string; readonly workflowStageId: string },
|
|
111
|
-
resolveHandle: CompletedStageHandleResolver,
|
|
112
|
-
): Promise<void> {
|
|
113
|
-
const resolution = resolveHandle(event.workflowRunId, event.workflowStageId);
|
|
114
|
-
if (resolution === undefined) {
|
|
115
|
-
throw new Error(
|
|
116
|
-
`Intercom ask target is unavailable: completed workflow stage ${event.workflowRunId}/${event.workflowStageId} was deleted or is no longer retained.`,
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
if (!resolution.ok) {
|
|
120
|
-
throw new Error(unavailableReason(event.workflowRunId, event.workflowStageId, resolution.reason));
|
|
121
|
-
}
|
|
122
|
-
const handle = resolution.handle;
|
|
123
|
-
if (handle.status !== "completed" || handle.isDisposed === true) {
|
|
124
|
-
throw new Error(
|
|
125
|
-
`Intercom ask target is not resumable: workflow stage ${event.workflowRunId}/${event.workflowStageId} has no retained completed conversation.`,
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
|
-
await attachWithTimeout(handle);
|
|
129
|
-
for (const message of event.messages) {
|
|
130
|
-
if (handle.isStreaming) await handle.followUp(message.content);
|
|
131
|
-
else await handle.prompt(message.content);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
async function attachWithTimeout(handle: StageControlHandle): Promise<void> {
|
|
136
|
-
let timeout: ReturnType<typeof setTimeout> | undefined;
|
|
137
|
-
const bounded = new Promise<never>((_, reject) => {
|
|
138
|
-
timeout = setTimeout(
|
|
139
|
-
() =>
|
|
140
|
-
reject(
|
|
141
|
-
new Error(
|
|
142
|
-
`Intercom ask target failed to resume within ${POST_MORTEM_ATTACH_TIMEOUT_MS}ms: retained stage conversation ${handle.runId}/${handle.stageId}.`,
|
|
143
|
-
),
|
|
144
|
-
),
|
|
145
|
-
POST_MORTEM_ATTACH_TIMEOUT_MS,
|
|
146
|
-
);
|
|
147
|
-
});
|
|
148
|
-
try {
|
|
149
|
-
await Promise.race([handle.ensureAttached(), bounded]);
|
|
150
|
-
} finally {
|
|
151
|
-
if (timeout !== undefined) clearTimeout(timeout);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
function unavailableReason(runId: string, stageId: string, reason: PostMortemUnavailableReason): string {
|
|
156
|
-
const target = `${runId}/${stageId}`;
|
|
157
|
-
switch (reason) {
|
|
158
|
-
case "not_terminal":
|
|
159
|
-
return `Intercom ask target is not resumable: workflow stage ${target} is not a completed stage with a retained conversation.`;
|
|
160
|
-
case "no_session":
|
|
161
|
-
return `Intercom ask target is unavailable: completed workflow stage ${target} has no retained conversation.`;
|
|
162
|
-
case "invalid_session":
|
|
163
|
-
return `Intercom ask target is unavailable: retained conversation for completed workflow stage ${target} is missing, deleted, or invalid.`;
|
|
164
|
-
case "no_adapter":
|
|
165
|
-
return `Intercom ask target is not resumable: no workflow stage session adapter can reopen ${target}.`;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { validateWorkflowBudget } from "../shared/budget.js";
|
|
2
|
-
import type { ConfigDiagnostic, WorkflowExtensionConfig } from "./config-loader.js";
|
|
3
|
-
import { WORKFLOW_LIFECYCLE_NOTICE_KINDS, type WorkflowLifecycleNoticeKind } from "./lifecycle-notifications.js";
|
|
4
|
-
|
|
5
|
-
const WORKFLOW_LIFECYCLE_NOTICE_KIND_SET = new Set<string>(WORKFLOW_LIFECYCLE_NOTICE_KINDS);
|
|
6
|
-
/**
|
|
7
|
-
* Every accepted lifecycle kind, quoted for the rejection message, so adding a
|
|
8
|
-
* kind can never leave the error naming a stale subset of what validates.
|
|
9
|
-
*/
|
|
10
|
-
const WORKFLOW_LIFECYCLE_NOTICE_KIND_LIST = ((): string => {
|
|
11
|
-
const quoted = WORKFLOW_LIFECYCLE_NOTICE_KINDS.map((kind) => JSON.stringify(kind));
|
|
12
|
-
const last = quoted[quoted.length - 1] ?? "";
|
|
13
|
-
return quoted.length <= 1 ? last : `${quoted.slice(0, -1).join(", ")}, or ${last}`;
|
|
14
|
-
})();
|
|
15
|
-
|
|
16
|
-
async function tryReadFile(filePath: string): Promise<string | null> {
|
|
17
|
-
const { readFile } = await import("node:fs/promises");
|
|
18
|
-
try {
|
|
19
|
-
return await readFile(filePath, "utf-8");
|
|
20
|
-
} catch (err) {
|
|
21
|
-
if ((err as NodeJS.ErrnoException).code === "ENOENT") return null;
|
|
22
|
-
throw err;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function isWorkflowLifecycleNoticeKind(value: unknown): value is WorkflowLifecycleNoticeKind {
|
|
27
|
-
return typeof value === "string" && WORKFLOW_LIFECYCLE_NOTICE_KIND_SET.has(value);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function validateConfig(value: unknown): string | null {
|
|
31
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
32
|
-
return "config must be a JSON object";
|
|
33
|
-
}
|
|
34
|
-
const c = value as Record<string, unknown>;
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
"maxDepth" in c &&
|
|
38
|
-
(typeof c.maxDepth !== "number" || !Number.isInteger(c.maxDepth) || (c.maxDepth as number) < 0)
|
|
39
|
-
) {
|
|
40
|
-
return `"maxDepth" must be a non-negative integer, got ${JSON.stringify(c.maxDepth)}`;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (
|
|
44
|
-
"defaultConcurrency" in c &&
|
|
45
|
-
(typeof c.defaultConcurrency !== "number" ||
|
|
46
|
-
!Number.isInteger(c.defaultConcurrency) ||
|
|
47
|
-
(c.defaultConcurrency as number) < 1)
|
|
48
|
-
) {
|
|
49
|
-
return `"defaultConcurrency" must be a positive integer, got ${JSON.stringify(c.defaultConcurrency)}`;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if ("persistRuns" in c && typeof c.persistRuns !== "boolean") {
|
|
53
|
-
return `"persistRuns" must be a boolean, got ${JSON.stringify(c.persistRuns)}`;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if ("statusFile" in c && typeof c.statusFile !== "boolean") {
|
|
57
|
-
return `"statusFile" must be a boolean, got ${JSON.stringify(c.statusFile)}`;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if ("resumeInFlight" in c) {
|
|
61
|
-
const v = c.resumeInFlight;
|
|
62
|
-
if (v !== "ask" && v !== "auto" && v !== "never") {
|
|
63
|
-
return `"resumeInFlight" must be "ask", "auto", or "never", got ${JSON.stringify(v)}`;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if ("budget" in c) {
|
|
68
|
-
const reason = validateWorkflowBudget(c.budget, "budget");
|
|
69
|
-
if (reason !== null) return reason;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if ("workflowNotifications" in c) {
|
|
73
|
-
const value = c.workflowNotifications;
|
|
74
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
75
|
-
return `"workflowNotifications" must be a JSON object, got ${JSON.stringify(typeof value)}`;
|
|
76
|
-
}
|
|
77
|
-
const notifications = value as Record<string, unknown>;
|
|
78
|
-
if ("enabled" in notifications && typeof notifications.enabled !== "boolean") {
|
|
79
|
-
return `"workflowNotifications.enabled" must be a boolean, got ${JSON.stringify(notifications.enabled)}`;
|
|
80
|
-
}
|
|
81
|
-
if ("notifyOn" in notifications) {
|
|
82
|
-
const notifyOn = notifications.notifyOn;
|
|
83
|
-
if (!Array.isArray(notifyOn)) {
|
|
84
|
-
return `"workflowNotifications.notifyOn" must be an array, got ${JSON.stringify(typeof notifyOn)}`;
|
|
85
|
-
}
|
|
86
|
-
if (notifyOn.length === 0) {
|
|
87
|
-
return `"workflowNotifications.notifyOn" must be a non-empty array`;
|
|
88
|
-
}
|
|
89
|
-
for (const item of notifyOn) {
|
|
90
|
-
if (!isWorkflowLifecycleNoticeKind(item)) {
|
|
91
|
-
return `"workflowNotifications.notifyOn" entries must be ${WORKFLOW_LIFECYCLE_NOTICE_KIND_LIST}, got ${JSON.stringify(item)}`;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if ("worktree" in c) {
|
|
97
|
-
const worktree = c.worktree;
|
|
98
|
-
if (worktree === null || typeof worktree !== "object" || Array.isArray(worktree)) {
|
|
99
|
-
return `"worktree" must be a JSON object, got ${JSON.stringify(typeof worktree)}`;
|
|
100
|
-
}
|
|
101
|
-
const config = worktree as Record<string, unknown>;
|
|
102
|
-
if ("symlinkDirectories" in config) {
|
|
103
|
-
const directories = config.symlinkDirectories;
|
|
104
|
-
if (!Array.isArray(directories) || directories.some((entry) => typeof entry !== "string")) {
|
|
105
|
-
return `"worktree.symlinkDirectories" must be an array of strings`;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if ("workflows" in c) {
|
|
111
|
-
if (c.workflows === null || typeof c.workflows !== "object" || Array.isArray(c.workflows)) {
|
|
112
|
-
return `"workflows" must be a JSON object, got ${JSON.stringify(typeof c.workflows)}`;
|
|
113
|
-
}
|
|
114
|
-
const wf = c.workflows as Record<string, unknown>;
|
|
115
|
-
for (const [name, entry] of Object.entries(wf)) {
|
|
116
|
-
if (entry === null || typeof entry !== "object" || Array.isArray(entry)) {
|
|
117
|
-
return `"workflows.${name}" must be an object with a "path" field`;
|
|
118
|
-
}
|
|
119
|
-
const e = entry as Record<string, unknown>;
|
|
120
|
-
if (typeof e.path !== "string" || (e.path as string).trim().length === 0) {
|
|
121
|
-
return `"workflows.${name}.path" must be a non-empty string, got ${JSON.stringify(e.path)}`;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return null;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export type LoadFileOutcome =
|
|
130
|
-
| { kind: "missing" }
|
|
131
|
-
| { kind: "ok"; parsed: WorkflowExtensionConfig }
|
|
132
|
-
| { kind: "error"; diagnostic: ConfigDiagnostic };
|
|
133
|
-
|
|
134
|
-
export async function loadConfigFile(filePath: string): Promise<LoadFileOutcome> {
|
|
135
|
-
let text: string | null;
|
|
136
|
-
try {
|
|
137
|
-
text = await tryReadFile(filePath);
|
|
138
|
-
} catch (err) {
|
|
139
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
140
|
-
return {
|
|
141
|
-
kind: "error",
|
|
142
|
-
diagnostic: {
|
|
143
|
-
level: "error",
|
|
144
|
-
code: "CONFIG_INVALID",
|
|
145
|
-
message: `Failed to read config file: ${msg}`,
|
|
146
|
-
source: filePath,
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
if (text === null) {
|
|
152
|
-
return { kind: "missing" };
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
let value: unknown;
|
|
156
|
-
try {
|
|
157
|
-
value = JSON.parse(text);
|
|
158
|
-
} catch (err) {
|
|
159
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
160
|
-
return {
|
|
161
|
-
kind: "error",
|
|
162
|
-
diagnostic: {
|
|
163
|
-
level: "error",
|
|
164
|
-
code: "CONFIG_INVALID",
|
|
165
|
-
message: `Invalid JSON in config file: ${msg}`,
|
|
166
|
-
source: filePath,
|
|
167
|
-
},
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
const reason = validateConfig(value);
|
|
172
|
-
if (reason !== null) {
|
|
173
|
-
return {
|
|
174
|
-
kind: "error",
|
|
175
|
-
diagnostic: {
|
|
176
|
-
level: "error",
|
|
177
|
-
code: "CONFIG_INVALID",
|
|
178
|
-
message: `Invalid config shape: ${reason}`,
|
|
179
|
-
source: filePath,
|
|
180
|
-
},
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return { kind: "ok", parsed: value as WorkflowExtensionConfig };
|
|
185
|
-
}
|