@bastani/atomic 0.9.16-alpha.2 → 0.9.16-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/builtin/intercom/broker/spawn.ts +22 -2
- package/dist/builtin/intercom/index.bundle.mjs +61756 -0
- package/dist/builtin/intercom/package.json +3 -3
- package/dist/builtin/mcp/index.bundle.mjs +64963 -0
- package/dist/builtin/mcp/package.json +2 -2
- package/dist/builtin/subagents/package.json +2 -2
- package/dist/builtin/subagents/src/extension/index.bundle.mjs +85733 -0
- package/dist/builtin/web-access/index.bundle.mjs +67475 -0
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/package.json +3 -3
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +76480 -96363
- package/dist/builtin/workflows/src/index.bundle.mjs +73306 -0
- package/dist/config-package-identity.d.ts +22 -0
- package/dist/config-package-identity.d.ts.map +1 -0
- package/dist/config-package-identity.js +73 -0
- package/dist/config-package-identity.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -10
- package/dist/config.js.map +1 -1
- package/dist/core/builtin-install-layout.d.ts +22 -0
- package/dist/core/builtin-install-layout.d.ts.map +1 -0
- package/dist/core/builtin-install-layout.js +23 -0
- package/dist/core/builtin-install-layout.js.map +1 -0
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +8 -32
- package/dist/core/builtin-packages.js.map +1 -1
- package/npm-shrinkwrap.json +32 -32
- package/package.json +3 -3
- package/dist/builtin/intercom/closed-workflow-stage-message.ts +0 -66
- package/dist/builtin/intercom/config.ts +0 -121
- package/dist/builtin/intercom/contact-supervisor-tool.ts +0 -328
- package/dist/builtin/intercom/foreground-detach-handoff.ts +0 -164
- package/dist/builtin/intercom/group.ts +0 -85
- package/dist/builtin/intercom/inbound-idle-queue.ts +0 -82
- package/dist/builtin/intercom/inbound-message-admission.ts +0 -79
- package/dist/builtin/intercom/incoming-message-delivery.ts +0 -49
- package/dist/builtin/intercom/index-heavy.ts +0 -539
- package/dist/builtin/intercom/index.ts +0 -503
- package/dist/builtin/intercom/intercom-test-seams.ts +0 -6
- package/dist/builtin/intercom/intercom-tool.ts +0 -602
- package/dist/builtin/intercom/intercom-utils.ts +0 -427
- package/dist/builtin/intercom/late-stage-message-router.ts +0 -148
- package/dist/builtin/intercom/lazy-heavy-proxy.ts +0 -108
- package/dist/builtin/intercom/lazy-subagent-ack.ts +0 -25
- package/dist/builtin/intercom/lazy-tool-execution.ts +0 -39
- package/dist/builtin/intercom/lifecycle-lease.ts +0 -51
- package/dist/builtin/intercom/lifecycle.ts +0 -144
- package/dist/builtin/intercom/overlay.ts +0 -96
- package/dist/builtin/intercom/parent-ask-handoff.ts +0 -72
- package/dist/builtin/intercom/reconnect-backoff.ts +0 -6
- package/dist/builtin/intercom/reply-routing.ts +0 -17
- package/dist/builtin/intercom/reply-tracker.ts +0 -110
- package/dist/builtin/intercom/reply-waiter.ts +0 -115
- package/dist/builtin/intercom/result-renderers.ts +0 -77
- package/dist/builtin/intercom/runtime-group.ts +0 -13
- package/dist/builtin/intercom/session-target.ts +0 -54
- package/dist/builtin/intercom/source-ownership.ts +0 -31
- package/dist/builtin/intercom/stable-delivery-retry.ts +0 -32
- package/dist/builtin/intercom/subagent-relay.ts +0 -290
- package/dist/builtin/intercom/supervisor-authorization-registry.ts +0 -22
- package/dist/builtin/intercom/terminal-ordering-barrier.ts +0 -247
- package/dist/builtin/intercom/types.ts +0 -66
- package/dist/builtin/intercom/ui/compose.ts +0 -159
- package/dist/builtin/intercom/ui/inline-message.ts +0 -78
- package/dist/builtin/intercom/ui/session-list.ts +0 -195
- package/dist/builtin/intercom/workflow-reply-tracker.ts +0 -19
- package/dist/builtin/intercom/workflow-stage-admission.ts +0 -43
- package/dist/builtin/intercom/workflow-stage-delivery-failure.ts +0 -77
- package/dist/builtin/mcp/agent-dir.ts +0 -30
- package/dist/builtin/mcp/apps-cancellation.ts +0 -32
- package/dist/builtin/mcp/call-tool-result.ts +0 -9
- package/dist/builtin/mcp/caller-wait.ts +0 -50
- package/dist/builtin/mcp/cli.js +0 -191
- package/dist/builtin/mcp/command-registration.ts +0 -82
- package/dist/builtin/mcp/commands.ts +0 -424
- package/dist/builtin/mcp/config-write-utils.ts +0 -104
- package/dist/builtin/mcp/config.ts +0 -498
- package/dist/builtin/mcp/consent-manager.ts +0 -64
- package/dist/builtin/mcp/direct-tool-executor.ts +0 -280
- package/dist/builtin/mcp/direct-tools.ts +0 -216
- package/dist/builtin/mcp/errors.ts +0 -219
- package/dist/builtin/mcp/glimpse-ui.ts +0 -81
- package/dist/builtin/mcp/host-html-template.ts +0 -426
- package/dist/builtin/mcp/index.ts +0 -443
- package/dist/builtin/mcp/init.ts +0 -319
- package/dist/builtin/mcp/lifecycle.ts +0 -93
- package/dist/builtin/mcp/logger.ts +0 -169
- package/dist/builtin/mcp/mcp-auth-flow.ts +0 -372
- package/dist/builtin/mcp/mcp-auth.ts +0 -297
- package/dist/builtin/mcp/mcp-callback-server.ts +0 -306
- package/dist/builtin/mcp/mcp-oauth-provider.ts +0 -324
- package/dist/builtin/mcp/mcp-panel-renderer.ts +0 -243
- package/dist/builtin/mcp/mcp-panel-state.ts +0 -227
- package/dist/builtin/mcp/mcp-panel-types.ts +0 -86
- package/dist/builtin/mcp/mcp-panel.ts +0 -393
- package/dist/builtin/mcp/mcp-setup-panel.ts +0 -502
- package/dist/builtin/mcp/metadata-cache.ts +0 -201
- package/dist/builtin/mcp/metadata-hydration.ts +0 -52
- package/dist/builtin/mcp/npx-resolver.ts +0 -425
- package/dist/builtin/mcp/oauth-handler.ts +0 -60
- package/dist/builtin/mcp/onboarding-state.ts +0 -68
- package/dist/builtin/mcp/proxy-auth.ts +0 -61
- package/dist/builtin/mcp/proxy-call.ts +0 -447
- package/dist/builtin/mcp/proxy-connect.ts +0 -78
- package/dist/builtin/mcp/proxy-info-modes.ts +0 -409
- package/dist/builtin/mcp/proxy-modes.ts +0 -3
- package/dist/builtin/mcp/proxy-types.ts +0 -3
- package/dist/builtin/mcp/resource-tools.ts +0 -17
- package/dist/builtin/mcp/sampling-handler.ts +0 -273
- package/dist/builtin/mcp/server-manager.ts +0 -372
- package/dist/builtin/mcp/session-cleanup-barrier.ts +0 -43
- package/dist/builtin/mcp/startup-warmup.ts +0 -110
- package/dist/builtin/mcp/state-lease.ts +0 -12
- package/dist/builtin/mcp/state.ts +0 -41
- package/dist/builtin/mcp/tool-call-timeout.ts +0 -101
- package/dist/builtin/mcp/tool-metadata.ts +0 -152
- package/dist/builtin/mcp/tool-registrar.ts +0 -46
- package/dist/builtin/mcp/tool-result-renderer.ts +0 -66
- package/dist/builtin/mcp/types.ts +0 -445
- package/dist/builtin/mcp/ui-resource-handler.ts +0 -145
- package/dist/builtin/mcp/ui-server-http.ts +0 -81
- package/dist/builtin/mcp/ui-server.ts +0 -499
- package/dist/builtin/mcp/ui-session.ts +0 -378
- package/dist/builtin/mcp/ui-stream-types.ts +0 -89
- package/dist/builtin/mcp/utils.ts +0 -165
- package/dist/builtin/subagents/src/agents/agent-discovery.ts +0 -116
- package/dist/builtin/subagents/src/agents/agent-loaders.ts +0 -216
- package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +0 -221
- package/dist/builtin/subagents/src/agents/agent-management.ts +0 -315
- package/dist/builtin/subagents/src/agents/agent-overrides.ts +0 -450
- package/dist/builtin/subagents/src/agents/agent-paths.ts +0 -69
- package/dist/builtin/subagents/src/agents/agent-scope.ts +0 -6
- package/dist/builtin/subagents/src/agents/agent-selection.ts +0 -23
- package/dist/builtin/subagents/src/agents/agent-serializer.ts +0 -113
- package/dist/builtin/subagents/src/agents/agent-types.ts +0 -97
- package/dist/builtin/subagents/src/agents/agents.ts +0 -25
- package/dist/builtin/subagents/src/agents/frontmatter.ts +0 -74
- package/dist/builtin/subagents/src/agents/identity.ts +0 -37
- package/dist/builtin/subagents/src/agents/skills-paths.ts +0 -380
- package/dist/builtin/subagents/src/agents/skills.ts +0 -398
- package/dist/builtin/subagents/src/extension/api-lifecycle.ts +0 -64
- package/dist/builtin/subagents/src/extension/config.ts +0 -16
- package/dist/builtin/subagents/src/extension/control-notices.ts +0 -91
- package/dist/builtin/subagents/src/extension/index.ts +0 -420
- package/dist/builtin/subagents/src/extension/notification-content.ts +0 -85
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +0 -11
- package/dist/builtin/subagents/src/extension/schemas.ts +0 -208
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +0 -133
- package/dist/builtin/subagents/src/extension/tool-description.ts +0 -17
- package/dist/builtin/subagents/src/extension/tool-rendering.ts +0 -53
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +0 -376
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +0 -246
- package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +0 -30
- package/dist/builtin/subagents/src/runs/foreground/completion-notification.ts +0 -42
- package/dist/builtin/subagents/src/runs/foreground/detached-cleanup-barrier.ts +0 -26
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +0 -58
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +0 -19
- package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +0 -51
- package/dist/builtin/subagents/src/runs/foreground/execution-parent-ask-handoff.ts +0 -78
- package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +0 -1
- package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +0 -26
- package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +0 -61
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +0 -6
- package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +0 -512
- package/dist/builtin/subagents/src/runs/foreground/notify.ts +0 -355
- package/dist/builtin/subagents/src/runs/foreground/parent-ask-output.ts +0 -48
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-burst-display.ts +0 -46
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-burst.ts +0 -403
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +0 -223
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-cwd.ts +0 -6
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +0 -139
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-live-update.ts +0 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +0 -268
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +0 -327
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parent-ask-projection.ts +0 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +0 -12
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +0 -350
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +0 -246
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +0 -131
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +0 -102
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +0 -217
- package/dist/builtin/subagents/src/runs/inprocess/child-policy.ts +0 -27
- package/dist/builtin/subagents/src/runs/inprocess/control-registry.ts +0 -55
- package/dist/builtin/subagents/src/runs/inprocess/control-status.ts +0 -72
- package/dist/builtin/subagents/src/runs/inprocess/index.ts +0 -27
- package/dist/builtin/subagents/src/runs/inprocess/prompt-behavior.ts +0 -168
- package/dist/builtin/subagents/src/runs/inprocess/runner.ts +0 -1280
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/temp-cleanup.ts +0 -69
- package/dist/builtin/subagents/src/runs/inprocess.ts +0 -1
- package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +0 -67
- package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +0 -182
- package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +0 -391
- package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +0 -56
- package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +0 -88
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +0 -70
- package/dist/builtin/subagents/src/runs/shared/progress-trend.ts +0 -69
- package/dist/builtin/subagents/src/runs/shared/run-history.ts +0 -64
- package/dist/builtin/subagents/src/runs/shared/single-output.ts +0 -169
- package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +0 -234
- package/dist/builtin/subagents/src/runs/shared/worktree-post-create.ts +0 -111
- package/dist/builtin/subagents/src/runs/shared/worktree-root.ts +0 -67
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +0 -552
- package/dist/builtin/subagents/src/shared/artifacts.ts +0 -240
- package/dist/builtin/subagents/src/shared/atomic-json.ts +0 -16
- package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +0 -330
- package/dist/builtin/subagents/src/shared/exclusive-file-publication.ts +0 -44
- package/dist/builtin/subagents/src/shared/fast-mode.ts +0 -87
- package/dist/builtin/subagents/src/shared/file-coalescer.ts +0 -40
- package/dist/builtin/subagents/src/shared/fork-context.ts +0 -79
- package/dist/builtin/subagents/src/shared/formatters.ts +0 -89
- package/dist/builtin/subagents/src/shared/jsonl-writer.ts +0 -83
- package/dist/builtin/subagents/src/shared/model-info.ts +0 -101
- package/dist/builtin/subagents/src/shared/model-resolution.ts +0 -78
- package/dist/builtin/subagents/src/shared/session-identity.ts +0 -10
- package/dist/builtin/subagents/src/shared/session-tokens.ts +0 -45
- package/dist/builtin/subagents/src/shared/settings.ts +0 -118
- package/dist/builtin/subagents/src/shared/status-format.ts +0 -50
- package/dist/builtin/subagents/src/shared/types-config.ts +0 -206
- package/dist/builtin/subagents/src/shared/types-depth.ts +0 -46
- package/dist/builtin/subagents/src/shared/types-foreground-state.ts +0 -48
- package/dist/builtin/subagents/src/shared/types-output.ts +0 -63
- package/dist/builtin/subagents/src/shared/types-results.ts +0 -259
- package/dist/builtin/subagents/src/shared/types-runtime.ts +0 -115
- package/dist/builtin/subagents/src/shared/types.ts +0 -13
- package/dist/builtin/subagents/src/shared/utils.ts +0 -342
- package/dist/builtin/subagents/src/slash/bridge-settlement.ts +0 -87
- package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +0 -455
- package/dist/builtin/subagents/src/slash/slash-bridge.ts +0 -194
- package/dist/builtin/subagents/src/slash/slash-commands.ts +0 -5
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +0 -259
- package/dist/builtin/subagents/src/tui/render-event-formatting.ts +0 -7
- package/dist/builtin/subagents/src/tui/render-helpers.ts +0 -90
- package/dist/builtin/subagents/src/tui/render-layout.ts +0 -157
- package/dist/builtin/subagents/src/tui/render-progress.ts +0 -89
- package/dist/builtin/subagents/src/tui/render-result-animation.ts +0 -47
- package/dist/builtin/subagents/src/tui/render-result-compact.ts +0 -248
- package/dist/builtin/subagents/src/tui/render-result.ts +0 -438
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +0 -50
- package/dist/builtin/subagents/src/tui/render-status-progress.ts +0 -168
- package/dist/builtin/subagents/src/tui/render.ts +0 -23
- package/dist/builtin/web-access/activity.ts +0 -101
- package/dist/builtin/web-access/chrome-cookies.ts +0 -323
- package/dist/builtin/web-access/code-search.ts +0 -107
- package/dist/builtin/web-access/config-paths.ts +0 -11
- package/dist/builtin/web-access/content-tools.ts +0 -354
- package/dist/builtin/web-access/curator-page-assets/script-1.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-2.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-3.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-4.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-5.ts +0 -398
- package/dist/builtin/web-access/curator-page-assets/styles-1.ts +0 -394
- package/dist/builtin/web-access/curator-page-assets/styles-2.ts +0 -394
- package/dist/builtin/web-access/curator-page-assets/styles-3.ts +0 -393
- package/dist/builtin/web-access/curator-page.ts +0 -196
- package/dist/builtin/web-access/curator-server-helpers.ts +0 -115
- package/dist/builtin/web-access/curator-server.ts +0 -494
- package/dist/builtin/web-access/exa-mcp.ts +0 -218
- package/dist/builtin/web-access/exa.ts +0 -317
- package/dist/builtin/web-access/extract-frames.ts +0 -229
- package/dist/builtin/web-access/extract.ts +0 -500
- package/dist/builtin/web-access/flat-string.ts +0 -37
- package/dist/builtin/web-access/gemini-api.ts +0 -111
- package/dist/builtin/web-access/gemini-search.ts +0 -363
- package/dist/builtin/web-access/gemini-url-context.ts +0 -126
- package/dist/builtin/web-access/gemini-web-config.ts +0 -53
- package/dist/builtin/web-access/gemini-web.ts +0 -397
- package/dist/builtin/web-access/github-api.ts +0 -198
- package/dist/builtin/web-access/github-config.ts +0 -156
- package/dist/builtin/web-access/github-extract.ts +0 -487
- package/dist/builtin/web-access/index-heavy.ts +0 -164
- package/dist/builtin/web-access/index.ts +0 -401
- package/dist/builtin/web-access/lifecycle-lease.ts +0 -38
- package/dist/builtin/web-access/pdf-extract.ts +0 -192
- package/dist/builtin/web-access/perplexity.ts +0 -194
- package/dist/builtin/web-access/result-renderers.ts +0 -366
- package/dist/builtin/web-access/rsc-extract.ts +0 -338
- package/dist/builtin/web-access/storage.ts +0 -72
- package/dist/builtin/web-access/subprocess.ts +0 -102
- package/dist/builtin/web-access/summary-review.ts +0 -287
- package/dist/builtin/web-access/utils.ts +0 -44
- package/dist/builtin/web-access/video-extract.ts +0 -375
- package/dist/builtin/web-access/web-search-activity.ts +0 -102
- package/dist/builtin/web-access/web-search-browser.ts +0 -124
- package/dist/builtin/web-access/web-search-command.ts +0 -242
- package/dist/builtin/web-access/web-search-config.ts +0 -157
- package/dist/builtin/web-access/web-search-curator.ts +0 -214
- package/dist/builtin/web-access/web-search-features.ts +0 -181
- package/dist/builtin/web-access/web-search-formatting.ts +0 -117
- package/dist/builtin/web-access/web-search-return.ts +0 -143
- package/dist/builtin/web-access/web-search-summary.ts +0 -177
- package/dist/builtin/web-access/web-search-tool.ts +0 -286
- package/dist/builtin/web-access/web-search-types.ts +0 -50
- package/dist/builtin/web-access/web-search-workflow.ts +0 -10
- package/dist/builtin/web-access/youtube-extract.ts +0 -309
- package/dist/builtin/workflows/src/authoring/keep-context.ts +0 -46
- package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +0 -41
- package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +0 -180
- package/dist/builtin/workflows/src/authoring/workflow.ts +0 -206
- package/dist/builtin/workflows/src/durable/backend.ts +0 -598
- package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +0 -172
- package/dist/builtin/workflows/src/durable/boundary-topology.ts +0 -475
- package/dist/builtin/workflows/src/durable/child-invocation.ts +0 -14
- package/dist/builtin/workflows/src/durable/child-primitive.ts +0 -124
- package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +0 -385
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +0 -685
- package/dist/builtin/workflows/src/durable/completed-inspection.ts +0 -157
- package/dist/builtin/workflows/src/durable/completed-subtree.ts +0 -50
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +0 -580
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres-root.ts +0 -681
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +0 -717
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +0 -516
- package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +0 -208
- package/dist/builtin/workflows/src/durable/dbos-local-postgres.ts +0 -166
- package/dist/builtin/workflows/src/durable/dbos-metadata.ts +0 -196
- package/dist/builtin/workflows/src/durable/dbos-process-owner.ts +0 -87
- package/dist/builtin/workflows/src/durable/dbos-prompt-reservations.ts +0 -377
- package/dist/builtin/workflows/src/durable/dbos-registration-diagnostics.ts +0 -113
- package/dist/builtin/workflows/src/durable/dbos-sdk-handle.ts +0 -182
- package/dist/builtin/workflows/src/durable/dbos-status-transition.ts +0 -67
- package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +0 -27
- package/dist/builtin/workflows/src/durable/durable-hash.ts +0 -18
- package/dist/builtin/workflows/src/durable/factory.ts +0 -93
- package/dist/builtin/workflows/src/durable/format-version.ts +0 -6
- package/dist/builtin/workflows/src/durable/index.ts +0 -82
- package/dist/builtin/workflows/src/durable/local-command.ts +0 -135
- package/dist/builtin/workflows/src/durable/prompt-reservation-state.ts +0 -184
- package/dist/builtin/workflows/src/durable/prompt-reservations.ts +0 -36
- package/dist/builtin/workflows/src/durable/resume-catalog.ts +0 -20
- package/dist/builtin/workflows/src/durable/resume-eligibility.ts +0 -106
- package/dist/builtin/workflows/src/durable/resume-runtime.ts +0 -344
- package/dist/builtin/workflows/src/durable/retention-policy.ts +0 -43
- package/dist/builtin/workflows/src/durable/run-timing.ts +0 -151
- package/dist/builtin/workflows/src/durable/scoped-backend.ts +0 -308
- package/dist/builtin/workflows/src/durable/stage-primitive.ts +0 -553
- package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +0 -247
- package/dist/builtin/workflows/src/durable/stage-topology.ts +0 -53
- package/dist/builtin/workflows/src/durable/targeted-inspection.ts +0 -110
- package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +0 -54
- package/dist/builtin/workflows/src/durable/tool-outcome.ts +0 -130
- package/dist/builtin/workflows/src/durable/tool-primitive.ts +0 -861
- package/dist/builtin/workflows/src/durable/types.ts +0 -343
- package/dist/builtin/workflows/src/durable/ui-primitive.ts +0 -263
- package/dist/builtin/workflows/src/durable/workflow-child-result.ts +0 -63
- package/dist/builtin/workflows/src/durable/workflow-heartbeat-anchor.ts +0 -153
- package/dist/builtin/workflows/src/durable/workflow-status-transition.ts +0 -31
- package/dist/builtin/workflows/src/engine/graph-inference.ts +0 -100
- package/dist/builtin/workflows/src/engine/options.ts +0 -44
- package/dist/builtin/workflows/src/engine/primitives/chain.ts +0 -34
- package/dist/builtin/workflows/src/engine/primitives/exit.ts +0 -2
- package/dist/builtin/workflows/src/engine/primitives/parallel.ts +0 -74
- package/dist/builtin/workflows/src/engine/primitives/task.ts +0 -127
- package/dist/builtin/workflows/src/engine/primitives/ui.ts +0 -54
- package/dist/builtin/workflows/src/engine/primitives/workflow.ts +0 -219
- package/dist/builtin/workflows/src/engine/replay.ts +0 -8
- package/dist/builtin/workflows/src/engine/run-budget.ts +0 -308
- package/dist/builtin/workflows/src/engine/run-durable-admission.ts +0 -50
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +0 -97
- package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +0 -65
- package/dist/builtin/workflows/src/engine/run-durable-topology.ts +0 -295
- package/dist/builtin/workflows/src/engine/run-returned-status.ts +0 -86
- package/dist/builtin/workflows/src/engine/run-terminal-event.ts +0 -39
- package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +0 -53
- package/dist/builtin/workflows/src/engine/run-tool-admission-boundary.ts +0 -99
- package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +0 -187
- package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +0 -164
- package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +0 -158
- package/dist/builtin/workflows/src/engine/run.ts +0 -841
- package/dist/builtin/workflows/src/engine/runtime.ts +0 -220
- package/dist/builtin/workflows/src/engine/workflow-activity.ts +0 -13
- package/dist/builtin/workflows/src/engine/workflow-tool-abort.ts +0 -92
- package/dist/builtin/workflows/src/extension/adopt-session-run-state.ts +0 -20
- package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +0 -168
- package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +0 -154
- package/dist/builtin/workflows/src/extension/companions.ts +0 -210
- package/dist/builtin/workflows/src/extension/completed-stage-intercom-ask.ts +0 -167
- package/dist/builtin/workflows/src/extension/config-file-loader.ts +0 -185
- package/dist/builtin/workflows/src/extension/config-loader.ts +0 -439
- package/dist/builtin/workflows/src/extension/discovery-loaders.ts +0 -112
- package/dist/builtin/workflows/src/extension/discovery.ts +0 -424
- package/dist/builtin/workflows/src/extension/dispatcher.ts +0 -273
- package/dist/builtin/workflows/src/extension/extension-factory.ts +0 -133
- package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +0 -174
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +0 -596
- package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +0 -367
- package/dist/builtin/workflows/src/extension/index.ts +0 -42
- package/dist/builtin/workflows/src/extension/lifecycle-notification-delivery.ts +0 -83
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +0 -849
- package/dist/builtin/workflows/src/extension/mcp.ts +0 -121
- package/dist/builtin/workflows/src/extension/postmortem-deps.ts +0 -70
- package/dist/builtin/workflows/src/extension/public-types.ts +0 -234
- package/dist/builtin/workflows/src/extension/render-call.ts +0 -115
- package/dist/builtin/workflows/src/extension/render-component.ts +0 -12
- package/dist/builtin/workflows/src/extension/render-result.ts +0 -558
- package/dist/builtin/workflows/src/extension/renderers.ts +0 -89
- package/dist/builtin/workflows/src/extension/runtime-active-block-claim.ts +0 -78
- package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +0 -174
- package/dist/builtin/workflows/src/extension/runtime.ts +0 -439
- package/dist/builtin/workflows/src/extension/status-writer.ts +0 -182
- package/dist/builtin/workflows/src/extension/ui-surface.ts +0 -387
- package/dist/builtin/workflows/src/extension/wiring.ts +0 -490
- package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +0 -129
- package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +0 -296
- package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +0 -114
- package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +0 -175
- package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +0 -270
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-delivery.ts +0 -241
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-notice.ts +0 -115
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-scheduler.ts +0 -962
- package/dist/builtin/workflows/src/extension/workflow-model-catalog.ts +0 -24
- package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +0 -162
- package/dist/builtin/workflows/src/extension/workflow-policy.ts +0 -13
- package/dist/builtin/workflows/src/extension/workflow-ports.ts +0 -45
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +0 -73
- package/dist/builtin/workflows/src/extension/workflow-reload-coordinator.ts +0 -66
- package/dist/builtin/workflows/src/extension/workflow-reload-report.ts +0 -42
- package/dist/builtin/workflows/src/extension/workflow-request-abort.ts +0 -15
- package/dist/builtin/workflows/src/extension/workflow-resume-picker-rows.ts +0 -96
- package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +0 -53
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +0 -562
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +0 -192
- package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +0 -252
- package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +0 -276
- package/dist/builtin/workflows/src/extension/workflow-targets.ts +0 -210
- package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +0 -265
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +0 -547
- package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +0 -153
- package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +0 -145
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +0 -488
- package/dist/builtin/workflows/src/extension/workflow-tool.ts +0 -188
- package/dist/builtin/workflows/src/index.ts +0 -8
- package/dist/builtin/workflows/src/intercom/intercom-bridge.ts +0 -90
- package/dist/builtin/workflows/src/intercom/intercom-routing.ts +0 -131
- package/dist/builtin/workflows/src/intercom/result-intercom.ts +0 -271
- package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +0 -135
- package/dist/builtin/workflows/src/runs/background/durable-resume-transition.ts +0 -63
- package/dist/builtin/workflows/src/runs/background/job-tracker.ts +0 -125
- package/dist/builtin/workflows/src/runs/background/quit-tool-node.ts +0 -71
- package/dist/builtin/workflows/src/runs/background/quit.ts +0 -417
- package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +0 -99
- package/dist/builtin/workflows/src/runs/background/run-inspect.ts +0 -126
- package/dist/builtin/workflows/src/runs/background/runner.ts +0 -185
- package/dist/builtin/workflows/src/runs/background/startup-admission.ts +0 -73
- package/dist/builtin/workflows/src/runs/background/status.ts +0 -511
- package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +0 -43
- package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +0 -441
- package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +0 -263
- package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +0 -79
- package/dist/builtin/workflows/src/runs/foreground/executor-child-workflow.ts +0 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +0 -207
- package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +0 -321
- package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +0 -224
- package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +0 -403
- package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +0 -86
- package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +0 -491
- package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +0 -156
- package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +0 -379
- package/dist/builtin/workflows/src/runs/foreground/executor-queued-user-message.ts +0 -75
- package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +0 -144
- package/dist/builtin/workflows/src/runs/foreground/executor-run.ts +0 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +0 -206
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +0 -434
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +0 -153
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +0 -225
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +0 -473
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +0 -156
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +0 -72
- package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +0 -2
- package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +0 -226
- package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +0 -186
- package/dist/builtin/workflows/src/runs/foreground/executor.ts +0 -25
- package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +0 -245
- package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +0 -466
- package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +0 -86
- package/dist/builtin/workflows/src/runs/foreground/stage-queued-user-messages.ts +0 -95
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-candidate.ts +0 -21
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +0 -330
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +0 -1472
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-message-admission.ts +0 -196
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +0 -177
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +0 -97
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +0 -278
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +0 -206
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-replacement.ts +0 -41
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +0 -134
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +0 -38
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +0 -66
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +0 -120
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +0 -211
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +0 -42
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +0 -22
- package/dist/builtin/workflows/src/runs/foreground/stage-session-heartbeat.ts +0 -88
- package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +0 -49
- package/dist/builtin/workflows/src/runs/shared/concurrency.ts +0 -76
- package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +0 -2
- package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +0 -325
- package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +0 -19
- package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +0 -2
- package/dist/builtin/workflows/src/runs/shared/prompt-callsite.ts +0 -96
- package/dist/builtin/workflows/src/runs/shared/retry.ts +0 -44
- package/dist/builtin/workflows/src/runs/shared/validate-inputs.ts +0 -111
- package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +0 -23
- package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +0 -116
- package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +0 -172
- package/dist/builtin/workflows/src/runs/shared/worktree-generation.ts +0 -57
- package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +0 -107
- package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +0 -407
- package/dist/builtin/workflows/src/runs/shared/worktree-post-create.ts +0 -137
- package/dist/builtin/workflows/src/runs/shared/worktree-root.ts +0 -84
- package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +0 -372
- package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +0 -102
- package/dist/builtin/workflows/src/runs/shared/worktree.ts +0 -21
- package/dist/builtin/workflows/src/sdk-surface.ts +0 -70
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +0 -403
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +0 -489
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +0 -327
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +0 -437
- package/dist/builtin/workflows/src/shared/budget-meter.ts +0 -34
- package/dist/builtin/workflows/src/shared/budget.d.ts +0 -67
- package/dist/builtin/workflows/src/shared/budget.ts +0 -127
- package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +0 -434
- package/dist/builtin/workflows/src/shared/flat-string.ts +0 -33
- package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +0 -188
- package/dist/builtin/workflows/src/shared/intercom-group.ts +0 -58
- package/dist/builtin/workflows/src/shared/persistence-compaction-policy.ts +0 -72
- package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +0 -613
- package/dist/builtin/workflows/src/shared/persistence-restore.ts +0 -306
- package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +0 -303
- package/dist/builtin/workflows/src/shared/prompt-answer.ts +0 -130
- package/dist/builtin/workflows/src/shared/prompt-callsite-context.ts +0 -13
- package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +0 -161
- package/dist/builtin/workflows/src/shared/resume-continuation.ts +0 -2
- package/dist/builtin/workflows/src/shared/returned-run-status.ts +0 -164
- package/dist/builtin/workflows/src/shared/run-id.ts +0 -36
- package/dist/builtin/workflows/src/shared/run-indicator-status.ts +0 -75
- package/dist/builtin/workflows/src/shared/run-visibility.ts +0 -9
- package/dist/builtin/workflows/src/shared/schema-introspection.ts +0 -111
- package/dist/builtin/workflows/src/shared/serializable.ts +0 -118
- package/dist/builtin/workflows/src/shared/session-scoped-singleton.ts +0 -98
- package/dist/builtin/workflows/src/shared/session-transcript.ts +0 -79
- package/dist/builtin/workflows/src/shared/stage-prompt.ts +0 -338
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +0 -340
- package/dist/builtin/workflows/src/shared/store-factory.ts +0 -26
- package/dist/builtin/workflows/src/shared/store-internal.ts +0 -252
- package/dist/builtin/workflows/src/shared/store-observation.ts +0 -10
- package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +0 -215
- package/dist/builtin/workflows/src/shared/store-public-types.ts +0 -282
- package/dist/builtin/workflows/src/shared/store-run-methods.ts +0 -305
- package/dist/builtin/workflows/src/shared/store-stage-methods.ts +0 -331
- package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +0 -60
- package/dist/builtin/workflows/src/shared/store-types.ts +0 -439
- package/dist/builtin/workflows/src/shared/store.ts +0 -15
- package/dist/builtin/workflows/src/shared/timing.ts +0 -71
- package/dist/builtin/workflows/src/shared/tool-payload-bounds.ts +0 -576
- package/dist/builtin/workflows/src/shared/types.ts +0 -523
- package/dist/builtin/workflows/src/shared/workflow-artifact-env.ts +0 -21
- package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +0 -259
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +0 -60
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +0 -111
- package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +0 -292
- package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +0 -74
- package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +0 -458
- package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +0 -303
- package/dist/builtin/workflows/src/shared/workflow-failures.ts +0 -13
- package/dist/builtin/workflows/src/shared/workflow-heartbeat-contract.d.ts +0 -21
- package/dist/builtin/workflows/src/shared/workflow-heartbeat-contract.ts +0 -25
- package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +0 -49
- package/dist/builtin/workflows/src/tui/chat-surface-message.ts +0 -319
- package/dist/builtin/workflows/src/tui/chat-surface.ts +0 -477
- package/dist/builtin/workflows/src/tui/color-utils.ts +0 -55
- package/dist/builtin/workflows/src/tui/connectors.ts +0 -84
- package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +0 -334
- package/dist/builtin/workflows/src/tui/edge.ts +0 -25
- package/dist/builtin/workflows/src/tui/graph-canvas.ts +0 -185
- package/dist/builtin/workflows/src/tui/graph-theme.ts +0 -292
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +0 -49
- package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +0 -157
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +0 -427
- package/dist/builtin/workflows/src/tui/graph-view-layout.ts +0 -297
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +0 -294
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +0 -361
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +0 -547
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +0 -79
- package/dist/builtin/workflows/src/tui/graph-view.ts +0 -25
- package/dist/builtin/workflows/src/tui/header.ts +0 -210
- package/dist/builtin/workflows/src/tui/host-input-form.ts +0 -64
- package/dist/builtin/workflows/src/tui/inline-form-card.ts +0 -438
- package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +0 -120
- package/dist/builtin/workflows/src/tui/inline-form-editor.ts +0 -496
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +0 -317
- package/dist/builtin/workflows/src/tui/inline-form-store.ts +0 -90
- package/dist/builtin/workflows/src/tui/inputs-overlay.ts +0 -185
- package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +0 -147
- package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +0 -357
- package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +0 -312
- package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +0 -161
- package/dist/builtin/workflows/src/tui/inputs-picker.ts +0 -20
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +0 -167
- package/dist/builtin/workflows/src/tui/layout.ts +0 -150
- package/dist/builtin/workflows/src/tui/mouse-input.ts +0 -61
- package/dist/builtin/workflows/src/tui/node-card.ts +0 -357
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +0 -449
- package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +0 -39
- package/dist/builtin/workflows/src/tui/prompt-card-input.ts +0 -215
- package/dist/builtin/workflows/src/tui/prompt-card-render.ts +0 -584
- package/dist/builtin/workflows/src/tui/prompt-card-select.ts +0 -94
- package/dist/builtin/workflows/src/tui/prompt-card-state.ts +0 -61
- package/dist/builtin/workflows/src/tui/prompt-card-text.ts +0 -122
- package/dist/builtin/workflows/src/tui/prompt-card.ts +0 -12
- package/dist/builtin/workflows/src/tui/renderers.ts +0 -14
- package/dist/builtin/workflows/src/tui/run-detail.ts +0 -438
- package/dist/builtin/workflows/src/tui/run-identity-rows.ts +0 -97
- package/dist/builtin/workflows/src/tui/session-list.ts +0 -38
- package/dist/builtin/workflows/src/tui/session-overlays.ts +0 -161
- package/dist/builtin/workflows/src/tui/session-picker.ts +0 -482
- package/dist/builtin/workflows/src/tui/stage-chat-composer-drafts.ts +0 -19
- package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +0 -81
- package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +0 -462
- package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +0 -115
- package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +0 -113
- package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +0 -219
- package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +0 -216
- package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +0 -65
- package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +0 -7
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +0 -149
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +0 -49
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +0 -575
- package/dist/builtin/workflows/src/tui/stage-chat-view-status.ts +0 -35
- package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +0 -226
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +0 -156
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +0 -309
- package/dist/builtin/workflows/src/tui/status-helpers.ts +0 -85
- package/dist/builtin/workflows/src/tui/status-list.ts +0 -447
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +0 -338
- package/dist/builtin/workflows/src/tui/submit-pane.ts +0 -148
- package/dist/builtin/workflows/src/tui/switcher.ts +0 -172
- package/dist/builtin/workflows/src/tui/text-helpers.ts +0 -208
- package/dist/builtin/workflows/src/tui/tool-detail.ts +0 -367
- package/dist/builtin/workflows/src/tui/widget.ts +0 -427
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +0 -21
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -77
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +0 -477
- package/dist/builtin/workflows/src/tui/workflow-list.ts +0 -189
- package/dist/builtin/workflows/src/tui/workflow-notice-card.ts +0 -167
- package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +0 -334
- package/dist/builtin/workflows/src/tui/workflow-status.ts +0 -12
- package/dist/builtin/workflows/src/workflows/identity.ts +0 -39
- package/dist/builtin/workflows/src/workflows/registry.ts +0 -115
|
@@ -1,439 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workflow extension config loader.
|
|
3
|
-
*
|
|
4
|
-
* Reads project-local and user-global workflow extension config files,
|
|
5
|
-
* validates their shape, and returns a merged config plus diagnostics.
|
|
6
|
-
*
|
|
7
|
-
* Config file candidates (first readable wins per scope):
|
|
8
|
-
* Project-local:
|
|
9
|
-
* <projectRoot>/.atomic/extensions/workflow/config.json
|
|
10
|
-
* User-global:
|
|
11
|
-
* <agentDir>/extensions/workflow/config.json
|
|
12
|
-
* Invalid JSON or invalid shape → CONFIG_INVALID diagnostic (not silent success).
|
|
13
|
-
* Missing file → silently skipped (not an error).
|
|
14
|
-
*
|
|
15
|
-
* Merge strategy: project-local values override global values.
|
|
16
|
-
* The `workflows` map is merged key-by-key (project entries win on conflict).
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
import { isAbsolute, join } from "node:path";
|
|
20
|
-
import { CONFIG_DIR_NAME, CONFIG_DIR_NAMES, getAgentDir, getAgentDirs, getProjectConfigPaths } from "@bastani/atomic";
|
|
21
|
-
import { type EffectiveBudget, resolve_budget, type WorkflowBudget } from "../shared/budget.js";
|
|
22
|
-
import { loadConfigFile } from "./config-file-loader.js";
|
|
23
|
-
import type { WorkflowLifecycleNoticeKind } from "./lifecycle-notifications.js";
|
|
24
|
-
|
|
25
|
-
// ---------------------------------------------------------------------------
|
|
26
|
-
// Public types
|
|
27
|
-
// ---------------------------------------------------------------------------
|
|
28
|
-
|
|
29
|
-
/** A single explicit workflow entry from config. */
|
|
30
|
-
export interface WorkflowConfigEntry {
|
|
31
|
-
/** Absolute or relative path to the workflow module. */
|
|
32
|
-
readonly path: string;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* The parsed shape of a workflow extension config file.
|
|
37
|
-
* All fields optional; absence means "use default".
|
|
38
|
-
*/
|
|
39
|
-
export interface WorkflowNotificationsConfig {
|
|
40
|
-
/** Emit lifecycle notices into the main chat. Default: true. */
|
|
41
|
-
readonly enabled?: boolean;
|
|
42
|
-
/** Lifecycle states that should create chat notices. */
|
|
43
|
-
readonly notifyOn?: readonly WorkflowLifecycleNoticeKind[];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export interface WorkflowWorktreeConfig {
|
|
47
|
-
/** Main-root directories symlinked into temporary worktrees. */
|
|
48
|
-
readonly symlinkDirectories?: readonly string[];
|
|
49
|
-
}
|
|
50
|
-
export interface WorkflowExtensionConfig {
|
|
51
|
-
/** Explicit named workflows to register by module path. */
|
|
52
|
-
readonly workflows?: Readonly<Record<string, WorkflowConfigEntry>>;
|
|
53
|
-
/** Default budget for every workflow run. Each `0` disables its dimension. */
|
|
54
|
-
readonly budget?: WorkflowBudget;
|
|
55
|
-
/** Maximum workflow recursion depth. Default: 4. */
|
|
56
|
-
readonly maxDepth?: number;
|
|
57
|
-
/** Default stage concurrency. Default: 4. */
|
|
58
|
-
readonly defaultConcurrency?: number;
|
|
59
|
-
/** Persist runs via pi appendEntry. Default: true. */
|
|
60
|
-
readonly persistRuns?: boolean;
|
|
61
|
-
/** Emit derived status.json for CI polling. Default: false. */
|
|
62
|
-
readonly statusFile?: boolean;
|
|
63
|
-
/** Behaviour on session_start for in-flight runs. Default: "ask". */
|
|
64
|
-
readonly resumeInFlight?: "ask" | "auto" | "never";
|
|
65
|
-
/** Main-chat workflow lifecycle notices. */
|
|
66
|
-
readonly workflowNotifications?: WorkflowNotificationsConfig;
|
|
67
|
-
/** Temporary-worktree post-creation settings. */
|
|
68
|
-
readonly worktree?: WorkflowWorktreeConfig;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Severity of a config diagnostic. */
|
|
72
|
-
export type ConfigDiagnosticLevel = "error" | "warn";
|
|
73
|
-
|
|
74
|
-
/** A diagnostic emitted while loading config. */
|
|
75
|
-
export interface ConfigDiagnostic {
|
|
76
|
-
readonly level: ConfigDiagnosticLevel;
|
|
77
|
-
/** Machine-readable code. */
|
|
78
|
-
readonly code: "CONFIG_INVALID";
|
|
79
|
-
readonly message: string;
|
|
80
|
-
/** The config file path associated with this diagnostic. */
|
|
81
|
-
readonly source?: string;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/** Result of a config load operation. */
|
|
85
|
-
export interface ConfigLoadResult {
|
|
86
|
-
/**
|
|
87
|
-
* Merged config from all valid sources.
|
|
88
|
-
* null only if no config file existed and no defaults apply.
|
|
89
|
-
* Present (possibly empty object) when at least one valid file loaded.
|
|
90
|
-
*/
|
|
91
|
-
readonly config: WorkflowExtensionConfig | null;
|
|
92
|
-
/**
|
|
93
|
-
* Pre-merge global config (from <agentDir>/extensions/workflow/config.json).
|
|
94
|
-
* null when the global file is absent or invalid. Absent on results from callers
|
|
95
|
-
* that constructed ConfigLoadResult before this field was added.
|
|
96
|
-
*/
|
|
97
|
-
readonly globalConfig?: WorkflowExtensionConfig | null;
|
|
98
|
-
/**
|
|
99
|
-
* Pre-merge project config (from first valid project-local candidate).
|
|
100
|
-
* null when no project-local file is found or all are invalid. Absent on results
|
|
101
|
-
* from callers that constructed ConfigLoadResult before this field was added.
|
|
102
|
-
*/
|
|
103
|
-
readonly projectConfig?: WorkflowExtensionConfig | null;
|
|
104
|
-
/** CONFIG_INVALID diagnostics from all sources. Empty when all is well. */
|
|
105
|
-
readonly diagnostics: readonly ConfigDiagnostic[];
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// ---------------------------------------------------------------------------
|
|
109
|
-
// Options
|
|
110
|
-
// ---------------------------------------------------------------------------
|
|
111
|
-
|
|
112
|
-
export interface LoadWorkflowConfigOpts {
|
|
113
|
-
/**
|
|
114
|
-
* Project root directory. Defaults to process.cwd().
|
|
115
|
-
* Project-local config is resolved relative to this path.
|
|
116
|
-
*/
|
|
117
|
-
readonly projectRoot?: string;
|
|
118
|
-
/**
|
|
119
|
-
* User home directory. When set, preserves legacy test/compat resolution
|
|
120
|
-
* relative to <homeDir>/.atomic/agent and <homeDir>/.pi/agent.
|
|
121
|
-
*/
|
|
122
|
-
readonly homeDir?: string;
|
|
123
|
-
/**
|
|
124
|
-
* User agent config directories in precedence order. Defaults to Atomic's
|
|
125
|
-
* configured agent directories, honoring ATOMIC_CODING_AGENT_DIR.
|
|
126
|
-
*/
|
|
127
|
-
readonly agentDirs?: readonly string[];
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// ---------------------------------------------------------------------------
|
|
131
|
-
// Internal helpers
|
|
132
|
-
// ---------------------------------------------------------------------------
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Merge two configs: `override` values win over `base`.
|
|
136
|
-
* The `workflows` map is merged key-by-key (override wins on conflict).
|
|
137
|
-
*/
|
|
138
|
-
function mergeConfigs(base: WorkflowExtensionConfig, override: WorkflowExtensionConfig): WorkflowExtensionConfig {
|
|
139
|
-
const workflows =
|
|
140
|
-
base.workflows || override.workflows ? { ...(base.workflows ?? {}), ...(override.workflows ?? {}) } : undefined;
|
|
141
|
-
const budget = base.budget || override.budget ? { ...(base.budget ?? {}), ...(override.budget ?? {}) } : undefined;
|
|
142
|
-
|
|
143
|
-
return {
|
|
144
|
-
...(base.maxDepth !== undefined || override.maxDepth !== undefined
|
|
145
|
-
? { maxDepth: override.maxDepth ?? base.maxDepth }
|
|
146
|
-
: {}),
|
|
147
|
-
...(base.defaultConcurrency !== undefined || override.defaultConcurrency !== undefined
|
|
148
|
-
? { defaultConcurrency: override.defaultConcurrency ?? base.defaultConcurrency }
|
|
149
|
-
: {}),
|
|
150
|
-
...(base.persistRuns !== undefined || override.persistRuns !== undefined
|
|
151
|
-
? { persistRuns: override.persistRuns ?? base.persistRuns }
|
|
152
|
-
: {}),
|
|
153
|
-
...(base.statusFile !== undefined || override.statusFile !== undefined
|
|
154
|
-
? { statusFile: override.statusFile ?? base.statusFile }
|
|
155
|
-
: {}),
|
|
156
|
-
...(base.resumeInFlight !== undefined || override.resumeInFlight !== undefined
|
|
157
|
-
? { resumeInFlight: override.resumeInFlight ?? base.resumeInFlight }
|
|
158
|
-
: {}),
|
|
159
|
-
...(base.workflowNotifications !== undefined || override.workflowNotifications !== undefined
|
|
160
|
-
? {
|
|
161
|
-
workflowNotifications: {
|
|
162
|
-
...(base.workflowNotifications ?? {}),
|
|
163
|
-
...(override.workflowNotifications ?? {}),
|
|
164
|
-
},
|
|
165
|
-
}
|
|
166
|
-
: {}),
|
|
167
|
-
...(base.worktree !== undefined || override.worktree !== undefined
|
|
168
|
-
? { worktree: { ...(base.worktree ?? {}), ...(override.worktree ?? {}) } }
|
|
169
|
-
: {}),
|
|
170
|
-
...(budget !== undefined ? { budget } : {}),
|
|
171
|
-
...(workflows !== undefined ? { workflows } : {}),
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// ---------------------------------------------------------------------------
|
|
176
|
-
// Public API
|
|
177
|
-
// ---------------------------------------------------------------------------
|
|
178
|
-
|
|
179
|
-
// ---------------------------------------------------------------------------
|
|
180
|
-
// Defaults
|
|
181
|
-
// ---------------------------------------------------------------------------
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Canonical default values for all WorkflowExtensionConfig tunables.
|
|
185
|
-
*/
|
|
186
|
-
export const WORKFLOW_CONFIG_DEFAULTS = {
|
|
187
|
-
maxDepth: 4,
|
|
188
|
-
defaultConcurrency: 4,
|
|
189
|
-
persistRuns: true,
|
|
190
|
-
statusFile: false,
|
|
191
|
-
resumeInFlight: "ask" as const,
|
|
192
|
-
budget: {
|
|
193
|
-
maxDurationMs: 0,
|
|
194
|
-
maxTokens: 0,
|
|
195
|
-
maxCost: 0,
|
|
196
|
-
warnAtPercent: 80,
|
|
197
|
-
},
|
|
198
|
-
workflowNotifications: {
|
|
199
|
-
enabled: true,
|
|
200
|
-
notifyOn: [
|
|
201
|
-
"started",
|
|
202
|
-
"completed",
|
|
203
|
-
"failed",
|
|
204
|
-
"blocked",
|
|
205
|
-
"budget_warning",
|
|
206
|
-
"awaiting_input",
|
|
207
|
-
"paused",
|
|
208
|
-
"quit",
|
|
209
|
-
"resumed",
|
|
210
|
-
] as const,
|
|
211
|
-
},
|
|
212
|
-
worktree: {
|
|
213
|
-
symlinkDirectories: ["node_modules"] as readonly string[],
|
|
214
|
-
},
|
|
215
|
-
} as const;
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Effective config shape — all optional fields resolved to concrete values.
|
|
219
|
-
* The `workflows` map remains optional (no sensible scalar default).
|
|
220
|
-
*/
|
|
221
|
-
export interface WorkflowEffectiveConfig {
|
|
222
|
-
readonly maxDepth: number;
|
|
223
|
-
readonly defaultConcurrency: number;
|
|
224
|
-
readonly persistRuns: boolean;
|
|
225
|
-
readonly statusFile: boolean;
|
|
226
|
-
readonly resumeInFlight: "ask" | "auto" | "never";
|
|
227
|
-
readonly budget: EffectiveBudget;
|
|
228
|
-
readonly workflowNotifications: {
|
|
229
|
-
readonly enabled: boolean;
|
|
230
|
-
readonly notifyOn: readonly WorkflowLifecycleNoticeKind[];
|
|
231
|
-
};
|
|
232
|
-
readonly worktree: {
|
|
233
|
-
readonly symlinkDirectories: readonly string[];
|
|
234
|
-
};
|
|
235
|
-
readonly workflows?: Readonly<Record<string, WorkflowConfigEntry>>;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Apply default values to a WorkflowExtensionConfig, filling in every absent
|
|
240
|
-
* optional field with its RFC-specified default.
|
|
241
|
-
*
|
|
242
|
-
* Pure function — does not mutate the input.
|
|
243
|
-
*/
|
|
244
|
-
export function withWorkflowDefaults(config: WorkflowExtensionConfig): WorkflowEffectiveConfig {
|
|
245
|
-
return {
|
|
246
|
-
maxDepth: config.maxDepth ?? WORKFLOW_CONFIG_DEFAULTS.maxDepth,
|
|
247
|
-
defaultConcurrency: config.defaultConcurrency ?? WORKFLOW_CONFIG_DEFAULTS.defaultConcurrency,
|
|
248
|
-
persistRuns: config.persistRuns ?? WORKFLOW_CONFIG_DEFAULTS.persistRuns,
|
|
249
|
-
statusFile: config.statusFile ?? WORKFLOW_CONFIG_DEFAULTS.statusFile,
|
|
250
|
-
resumeInFlight: config.resumeInFlight ?? WORKFLOW_CONFIG_DEFAULTS.resumeInFlight,
|
|
251
|
-
budget: resolve_budget({ config: config.budget ?? WORKFLOW_CONFIG_DEFAULTS.budget }),
|
|
252
|
-
workflowNotifications: {
|
|
253
|
-
enabled: config.workflowNotifications?.enabled ?? WORKFLOW_CONFIG_DEFAULTS.workflowNotifications.enabled,
|
|
254
|
-
notifyOn: config.workflowNotifications?.notifyOn ?? WORKFLOW_CONFIG_DEFAULTS.workflowNotifications.notifyOn,
|
|
255
|
-
},
|
|
256
|
-
worktree: {
|
|
257
|
-
symlinkDirectories:
|
|
258
|
-
config.worktree?.symlinkDirectories ?? WORKFLOW_CONFIG_DEFAULTS.worktree.symlinkDirectories,
|
|
259
|
-
},
|
|
260
|
-
...(config.workflows !== undefined ? { workflows: config.workflows } : {}),
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
// ---------------------------------------------------------------------------
|
|
265
|
-
// Discovery config mapping
|
|
266
|
-
// ---------------------------------------------------------------------------
|
|
267
|
-
|
|
268
|
-
/**
|
|
269
|
-
* Options for toScopedDiscoveryConfig().
|
|
270
|
-
*/
|
|
271
|
-
export interface ScopedDiscoveryConfigOpts {
|
|
272
|
-
/**
|
|
273
|
-
* Project root directory. Relative paths in projectConfig.workflows are
|
|
274
|
-
* resolved relative to this directory.
|
|
275
|
-
*/
|
|
276
|
-
readonly projectRoot: string;
|
|
277
|
-
/**
|
|
278
|
-
* User home directory. When set, relative paths in globalConfig.workflows
|
|
279
|
-
* resolve relative to <homeDir>/.atomic/agent.
|
|
280
|
-
*/
|
|
281
|
-
readonly homeDir?: string;
|
|
282
|
-
/**
|
|
283
|
-
* User agent config directory. Defaults to Atomic's configured agent dir,
|
|
284
|
-
* honoring ATOMIC_CODING_AGENT_DIR.
|
|
285
|
-
*/
|
|
286
|
-
readonly agentDir?: string;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
export interface ScopedDiscoveryConfig {
|
|
290
|
-
projectWorkflows?: Record<string, string>;
|
|
291
|
-
globalWorkflows?: Record<string, string>;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
function hasWorkflows(config: WorkflowExtensionConfig | null): config is WorkflowExtensionConfig & {
|
|
295
|
-
workflows: Readonly<Record<string, WorkflowConfigEntry>>;
|
|
296
|
-
} {
|
|
297
|
-
return config?.workflows !== undefined && Object.keys(config.workflows).length > 0;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
function resolveWorkflowPaths(
|
|
301
|
-
workflows: Readonly<Record<string, WorkflowConfigEntry>> | undefined,
|
|
302
|
-
baseDir: string,
|
|
303
|
-
): Record<string, string> | undefined {
|
|
304
|
-
if (workflows === undefined || Object.keys(workflows).length === 0) {
|
|
305
|
-
return undefined;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
return Object.fromEntries(
|
|
309
|
-
Object.entries(workflows).map(([name, entry]) => [
|
|
310
|
-
name,
|
|
311
|
-
isAbsolute(entry.path) ? entry.path : join(baseDir, entry.path),
|
|
312
|
-
]),
|
|
313
|
-
);
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
function workflowAgentDirs(opts: Pick<LoadWorkflowConfigOpts, "agentDirs" | "homeDir">): readonly string[] {
|
|
317
|
-
if (opts.agentDirs !== undefined) return opts.agentDirs;
|
|
318
|
-
if (opts.homeDir !== undefined) {
|
|
319
|
-
const homeDir = opts.homeDir;
|
|
320
|
-
return CONFIG_DIR_NAMES.map((name) => join(homeDir, name, "agent"));
|
|
321
|
-
}
|
|
322
|
-
return getAgentDirs();
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Build a scope-aware DiscoveryConfig from the pre-merge global and project configs.
|
|
327
|
-
*
|
|
328
|
-
* Scope rules:
|
|
329
|
-
* - globalConfig.workflows entries → DiscoveryConfig.globalWorkflows
|
|
330
|
-
* Relative paths are resolved under the configured Atomic agent dir.
|
|
331
|
-
* - projectConfig.workflows entries → DiscoveryConfig.projectWorkflows
|
|
332
|
-
* Relative paths are resolved under projectRoot.
|
|
333
|
-
* - When both configs define the same workflow key, the project entry wins
|
|
334
|
-
* and the global entry for that key is excluded from globalWorkflows.
|
|
335
|
-
*
|
|
336
|
-
* Absolute paths are kept as-is regardless of scope.
|
|
337
|
-
* Returns an empty object when both configs are null or have no workflows.
|
|
338
|
-
*/
|
|
339
|
-
export function toScopedDiscoveryConfig(
|
|
340
|
-
globalConfig: WorkflowExtensionConfig | null,
|
|
341
|
-
projectConfig: WorkflowExtensionConfig | null,
|
|
342
|
-
opts: ScopedDiscoveryConfigOpts,
|
|
343
|
-
): ScopedDiscoveryConfig {
|
|
344
|
-
const globalBase =
|
|
345
|
-
opts.agentDir ?? (opts.homeDir === undefined ? getAgentDir() : join(opts.homeDir, CONFIG_DIR_NAME, "agent"));
|
|
346
|
-
const projectBase = opts.projectRoot;
|
|
347
|
-
|
|
348
|
-
const result: ScopedDiscoveryConfig = {};
|
|
349
|
-
const projectWorkflows = resolveWorkflowPaths(projectConfig?.workflows, projectBase);
|
|
350
|
-
|
|
351
|
-
if (projectWorkflows !== undefined) {
|
|
352
|
-
result.projectWorkflows = projectWorkflows;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
if (hasWorkflows(globalConfig)) {
|
|
356
|
-
const projectKeys = new Set(Object.keys(projectWorkflows ?? {}));
|
|
357
|
-
const globalEntries = Object.entries(globalConfig.workflows)
|
|
358
|
-
.filter(([name]) => !projectKeys.has(name))
|
|
359
|
-
.map(([name, entry]): [string, string] => {
|
|
360
|
-
return [name, isAbsolute(entry.path) ? entry.path : join(globalBase, entry.path)];
|
|
361
|
-
});
|
|
362
|
-
|
|
363
|
-
if (globalEntries.length > 0) {
|
|
364
|
-
result.globalWorkflows = Object.fromEntries(globalEntries);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
return result;
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
/**
|
|
372
|
-
* Load and merge workflow extension config from all candidate locations.
|
|
373
|
-
*
|
|
374
|
-
* Candidate paths (in resolution order):
|
|
375
|
-
* Global (lowest priority):
|
|
376
|
-
* <agentDir>/extensions/workflow/config.json
|
|
377
|
-
* Project-local (highest priority, first existing wins):
|
|
378
|
-
* <projectRoot>/.atomic/extensions/workflow/config.json
|
|
379
|
-
* Merge: project-local overrides global. Key-level merge for `workflows` map.
|
|
380
|
-
* Missing files: silently ignored. Invalid files: CONFIG_INVALID diagnostic.
|
|
381
|
-
*/
|
|
382
|
-
export async function loadWorkflowConfig(opts: LoadWorkflowConfigOpts = {}): Promise<ConfigLoadResult> {
|
|
383
|
-
const projectRoot = opts.projectRoot ?? process.cwd();
|
|
384
|
-
|
|
385
|
-
const diagnostics: ConfigDiagnostic[] = [];
|
|
386
|
-
|
|
387
|
-
// Global config paths (primary Atomic first, then legacy pi/defaults).
|
|
388
|
-
const globalCandidates = workflowAgentDirs(opts).map((agentDir) =>
|
|
389
|
-
join(agentDir, "extensions", "workflow", "config.json"),
|
|
390
|
-
);
|
|
391
|
-
|
|
392
|
-
// Project-local config paths (primary Atomic first, then legacy pi)
|
|
393
|
-
const projectCandidates: string[] = getProjectConfigPaths(projectRoot, "extensions", "workflow", "config.json");
|
|
394
|
-
|
|
395
|
-
// Load global config (primary overrides legacy)
|
|
396
|
-
let globalConfig: WorkflowExtensionConfig | null = null;
|
|
397
|
-
for (let i = globalCandidates.length - 1; i >= 0; i--) {
|
|
398
|
-
const globalPath = globalCandidates[i]!;
|
|
399
|
-
const outcome = await loadConfigFile(globalPath);
|
|
400
|
-
if (outcome.kind === "error") {
|
|
401
|
-
diagnostics.push(outcome.diagnostic);
|
|
402
|
-
} else if (outcome.kind === "ok") {
|
|
403
|
-
globalConfig = globalConfig ? mergeConfigs(globalConfig, outcome.parsed) : outcome.parsed;
|
|
404
|
-
}
|
|
405
|
-
// "missing" → silently skip
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
// Load project-local configs (primary overrides legacy)
|
|
409
|
-
let projectConfig: WorkflowExtensionConfig | null = null;
|
|
410
|
-
for (let i = projectCandidates.length - 1; i >= 0; i--) {
|
|
411
|
-
const candidatePath = projectCandidates[i]!;
|
|
412
|
-
const outcome = await loadConfigFile(candidatePath);
|
|
413
|
-
if (outcome.kind === "missing") continue;
|
|
414
|
-
if (outcome.kind === "error") {
|
|
415
|
-
diagnostics.push(outcome.diagnostic);
|
|
416
|
-
} else {
|
|
417
|
-
projectConfig = projectConfig ? mergeConfigs(projectConfig, outcome.parsed) : outcome.parsed;
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
// Merge: start from global, apply project override
|
|
422
|
-
let merged: WorkflowExtensionConfig | null = null;
|
|
423
|
-
if (globalConfig !== null && projectConfig !== null) {
|
|
424
|
-
merged = mergeConfigs(globalConfig, projectConfig);
|
|
425
|
-
} else if (projectConfig !== null) {
|
|
426
|
-
merged = projectConfig;
|
|
427
|
-
} else if (globalConfig !== null) {
|
|
428
|
-
merged = globalConfig;
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
// If we had any valid source (even empty object), return it
|
|
432
|
-
// If only diagnostics and no valid config, return null
|
|
433
|
-
return {
|
|
434
|
-
config: merged,
|
|
435
|
-
globalConfig,
|
|
436
|
-
projectConfig,
|
|
437
|
-
diagnostics,
|
|
438
|
-
};
|
|
439
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { readdir, stat } from "node:fs/promises";
|
|
2
|
-
import { extname, isAbsolute, join, resolve } from "node:path";
|
|
3
|
-
import type { DiscoveryDiagnostic, DiscoveryKind } from "./discovery.js";
|
|
4
|
-
import { collectWorkflowModuleCandidates, loadWorkflowModule } from "./workflow-module-loader.js";
|
|
5
|
-
|
|
6
|
-
export type WorkflowModuleCandidateRecord = {
|
|
7
|
-
readonly value: unknown;
|
|
8
|
-
readonly exportKey: string;
|
|
9
|
-
readonly kind: DiscoveryKind;
|
|
10
|
-
readonly filePath?: string;
|
|
11
|
-
readonly configuredName?: string;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/** Scan a directory for .ts/.js/.mjs/.cjs files, returning sorted absolute paths. */
|
|
15
|
-
async function scanWorkflowDir(dir: string): Promise<string[] | null> {
|
|
16
|
-
try {
|
|
17
|
-
const entries = await readdir(dir, { withFileTypes: true });
|
|
18
|
-
const WORKFLOW_EXTS = new Set([".ts", ".js", ".mjs", ".cjs"]);
|
|
19
|
-
return entries
|
|
20
|
-
.filter((e) => e.isFile() && WORKFLOW_EXTS.has(extname(e.name)))
|
|
21
|
-
.map((e) => join(dir, e.name))
|
|
22
|
-
.sort();
|
|
23
|
-
} catch {
|
|
24
|
-
// Directory doesn't exist or isn't readable — not an error, just empty
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
async function importWorkflowFile(
|
|
30
|
-
filePath: string,
|
|
31
|
-
kind: DiscoveryKind,
|
|
32
|
-
diagnostics: DiscoveryDiagnostic[],
|
|
33
|
-
): Promise<WorkflowModuleCandidateRecord[]> {
|
|
34
|
-
let mod: Record<string, unknown>;
|
|
35
|
-
try {
|
|
36
|
-
mod = loadWorkflowModule(filePath);
|
|
37
|
-
} catch (err) {
|
|
38
|
-
diagnostics.push({
|
|
39
|
-
level: "error",
|
|
40
|
-
code: "IMPORT_FAILED",
|
|
41
|
-
message: `Failed to import "${filePath}": ${err instanceof Error ? err.message : String(err)}`,
|
|
42
|
-
source: filePath,
|
|
43
|
-
});
|
|
44
|
-
return [];
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return collectWorkflowModuleCandidates(mod).map((candidate) => ({
|
|
48
|
-
...candidate,
|
|
49
|
-
kind,
|
|
50
|
-
filePath,
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/** Load workflows from a scanned directory. */
|
|
55
|
-
export async function loadFromDir(
|
|
56
|
-
dir: string,
|
|
57
|
-
kind: DiscoveryKind,
|
|
58
|
-
diagnostics: DiscoveryDiagnostic[],
|
|
59
|
-
): Promise<WorkflowModuleCandidateRecord[]> {
|
|
60
|
-
const files = await scanWorkflowDir(dir);
|
|
61
|
-
if (files === null) return [];
|
|
62
|
-
|
|
63
|
-
const all: WorkflowModuleCandidateRecord[] = [];
|
|
64
|
-
for (const filePath of files) {
|
|
65
|
-
const candidates = await importWorkflowFile(filePath, kind, diagnostics);
|
|
66
|
-
all.push(...candidates);
|
|
67
|
-
}
|
|
68
|
-
return all;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Load workflows from an explicit path list (from config). */
|
|
72
|
-
export async function loadFromPaths(
|
|
73
|
-
pathsOrMap: string[] | Record<string, string>,
|
|
74
|
-
kind: DiscoveryKind,
|
|
75
|
-
baseCwd: string,
|
|
76
|
-
diagnostics: DiscoveryDiagnostic[],
|
|
77
|
-
): Promise<WorkflowModuleCandidateRecord[]> {
|
|
78
|
-
const all: WorkflowModuleCandidateRecord[] = [];
|
|
79
|
-
|
|
80
|
-
const entries: Array<{ rawPath: string; configuredName?: string }> = Array.isArray(pathsOrMap)
|
|
81
|
-
? pathsOrMap.map((p) => ({ rawPath: p }))
|
|
82
|
-
: Object.entries(pathsOrMap).map(([name, p]) => ({ rawPath: p, configuredName: name }));
|
|
83
|
-
|
|
84
|
-
for (const { rawPath, configuredName } of entries) {
|
|
85
|
-
const absPath = isAbsolute(rawPath) ? rawPath : resolve(baseCwd, rawPath);
|
|
86
|
-
|
|
87
|
-
let pathStats: Awaited<ReturnType<typeof stat>> | undefined;
|
|
88
|
-
try {
|
|
89
|
-
pathStats = await stat(absPath);
|
|
90
|
-
} catch {
|
|
91
|
-
pathStats = undefined;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
if (pathStats === undefined) {
|
|
95
|
-
diagnostics.push({
|
|
96
|
-
level: "error",
|
|
97
|
-
code: "PATH_NOT_FOUND",
|
|
98
|
-
message: `Workflow path not found: "${absPath}"`,
|
|
99
|
-
source: absPath,
|
|
100
|
-
});
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const candidates = pathStats.isDirectory()
|
|
105
|
-
? await loadFromDir(absPath, kind, diagnostics)
|
|
106
|
-
: await importWorkflowFile(absPath, kind, diagnostics);
|
|
107
|
-
for (const c of candidates) {
|
|
108
|
-
all.push({ ...c, ...(configuredName !== undefined ? { configuredName } : {}) });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return all;
|
|
112
|
-
}
|