@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,167 +0,0 @@
|
|
|
1
|
-
import { renderRoundedBoxLines } from "./chat-surface.js";
|
|
2
|
-
import { BOLD, hexToAnsi, RESET } from "./color-utils.js";
|
|
3
|
-
import type { GraphTheme } from "./graph-theme.js";
|
|
4
|
-
import { truncateToWidth, visibleWidth, wrapPlainText } from "./text-helpers.js";
|
|
5
|
-
|
|
6
|
-
export type WorkflowNoticeTone = "info" | "success" | "warning" | "error" | "mauve";
|
|
7
|
-
|
|
8
|
-
export interface WorkflowNoticeCardField {
|
|
9
|
-
readonly label: string;
|
|
10
|
-
readonly value: string | undefined;
|
|
11
|
-
readonly tone?: WorkflowNoticeTone | "text" | "muted";
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface WorkflowNoticeCardOpts {
|
|
15
|
-
readonly title: string;
|
|
16
|
-
readonly glyph: string;
|
|
17
|
-
readonly headline: string;
|
|
18
|
-
readonly tone: WorkflowNoticeTone;
|
|
19
|
-
readonly fields?: readonly WorkflowNoticeCardField[];
|
|
20
|
-
readonly hints?: readonly string[];
|
|
21
|
-
readonly footer?: string;
|
|
22
|
-
readonly fallbackText: string;
|
|
23
|
-
readonly width: number;
|
|
24
|
-
readonly theme?: GraphTheme;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const MIN_CARD_WIDTH = 32;
|
|
28
|
-
const FIELD_LABEL_WIDTH = 9;
|
|
29
|
-
|
|
30
|
-
export function renderWorkflowNoticeCard(opts: WorkflowNoticeCardOpts): string[] {
|
|
31
|
-
const width = Math.max(1, Math.floor(opts.width));
|
|
32
|
-
if (width < MIN_CARD_WIDTH) return wrapPlainText(opts.fallbackText, width);
|
|
33
|
-
|
|
34
|
-
const theme = opts.theme;
|
|
35
|
-
const accent = theme ? toneColor(theme, opts.tone) : undefined;
|
|
36
|
-
const innerWidth = Math.max(2, width - 2);
|
|
37
|
-
const bodyLines: string[] = [];
|
|
38
|
-
|
|
39
|
-
appendHeadline(bodyLines, opts, innerWidth);
|
|
40
|
-
|
|
41
|
-
for (const field of opts.fields ?? []) {
|
|
42
|
-
if (field.value === undefined || field.value.length === 0) continue;
|
|
43
|
-
appendField(bodyLines, field, innerWidth, theme);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
for (const hint of opts.hints ?? []) {
|
|
47
|
-
if (hint.length === 0) continue;
|
|
48
|
-
appendHint(bodyLines, hint, innerWidth, theme);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (opts.footer && opts.footer.length > 0) {
|
|
52
|
-
appendFreeText(bodyLines, opts.footer, innerWidth, theme, "muted");
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return renderRoundedBoxLines({
|
|
56
|
-
title: opts.title,
|
|
57
|
-
bodyLines,
|
|
58
|
-
width,
|
|
59
|
-
...(theme ? { theme, accent } : {}),
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function appendHeadline(rows: string[], opts: WorkflowNoticeCardOpts, innerWidth: number): void {
|
|
64
|
-
const prefix = `${opts.glyph} `;
|
|
65
|
-
const continuationPrefix = `${" ".repeat(visibleWidth(opts.glyph))} `;
|
|
66
|
-
const budget = Math.max(1, innerWidth - 1 - visibleWidth(prefix));
|
|
67
|
-
const lines = wrapPlainText(opts.headline, budget);
|
|
68
|
-
const theme = opts.theme;
|
|
69
|
-
const tone = theme ? toneColor(theme, opts.tone) : undefined;
|
|
70
|
-
|
|
71
|
-
for (let i = 0; i < lines.length; i++) {
|
|
72
|
-
const rawPrefix = i === 0 ? prefix : continuationPrefix;
|
|
73
|
-
const styledPrefix = i === 0 ? style(rawPrefix, theme, tone, true) : " ".repeat(visibleWidth(rawPrefix));
|
|
74
|
-
const line = ` ${styledPrefix}${style(lines[i] ?? "", theme, theme?.text, true)}`;
|
|
75
|
-
rows.push(fit(line, innerWidth));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function appendField(
|
|
80
|
-
rows: string[],
|
|
81
|
-
field: WorkflowNoticeCardField,
|
|
82
|
-
innerWidth: number,
|
|
83
|
-
theme: GraphTheme | undefined,
|
|
84
|
-
): void {
|
|
85
|
-
const label = truncateToWidth(field.label, FIELD_LABEL_WIDTH, "…").padEnd(FIELD_LABEL_WIDTH, " ");
|
|
86
|
-
const firstPrefixWidth = 1 + FIELD_LABEL_WIDTH + 1;
|
|
87
|
-
const firstBudget = Math.max(1, innerWidth - firstPrefixWidth);
|
|
88
|
-
const value = field.value ?? "";
|
|
89
|
-
const valueTone = field.tone ?? "text";
|
|
90
|
-
|
|
91
|
-
if (visibleWidth(value) <= firstBudget && !value.includes("\n")) {
|
|
92
|
-
rows.push(
|
|
93
|
-
fit(
|
|
94
|
-
` ${style(label, theme, theme?.dim, true)} ${style(value, theme, colorForField(theme, valueTone))}`,
|
|
95
|
-
innerWidth,
|
|
96
|
-
),
|
|
97
|
-
);
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
rows.push(fit(` ${style(field.label, theme, theme?.dim, true)}`, innerWidth));
|
|
102
|
-
if (visibleWidth(value) <= innerWidth - 1 && !value.includes("\n")) {
|
|
103
|
-
rows.push(fit(` ${style(value, theme, colorForField(theme, valueTone))}`, innerWidth));
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
const continuationPrefix = " ";
|
|
107
|
-
const continuationBudget = Math.max(1, innerWidth - visibleWidth(continuationPrefix));
|
|
108
|
-
for (const line of wrapPlainText(value, continuationBudget)) {
|
|
109
|
-
rows.push(fit(`${continuationPrefix}${style(line, theme, colorForField(theme, valueTone))}`, innerWidth));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function appendHint(rows: string[], hint: string, innerWidth: number, theme: GraphTheme | undefined): void {
|
|
114
|
-
const prefix = "▸ ";
|
|
115
|
-
const continuationPrefix = " ";
|
|
116
|
-
const budget = Math.max(1, innerWidth - 1 - visibleWidth(prefix));
|
|
117
|
-
const lines = wrapPlainText(hint, budget);
|
|
118
|
-
for (let i = 0; i < lines.length; i++) {
|
|
119
|
-
const rawPrefix = i === 0 ? prefix : continuationPrefix;
|
|
120
|
-
const styledPrefix = i === 0 ? style(rawPrefix, theme, theme?.accent, true) : " ".repeat(visibleWidth(rawPrefix));
|
|
121
|
-
rows.push(fit(` ${styledPrefix}${style(lines[i] ?? "", theme, theme?.textMuted)}`, innerWidth));
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function appendFreeText(
|
|
126
|
-
rows: string[],
|
|
127
|
-
text: string,
|
|
128
|
-
innerWidth: number,
|
|
129
|
-
theme: GraphTheme | undefined,
|
|
130
|
-
tone: WorkflowNoticeCardField["tone"],
|
|
131
|
-
): void {
|
|
132
|
-
const budget = Math.max(1, innerWidth - 1);
|
|
133
|
-
for (const line of wrapPlainText(text, budget)) {
|
|
134
|
-
rows.push(fit(` ${style(line, theme, colorForField(theme, tone ?? "text"))}`, innerWidth));
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function colorForField(theme: GraphTheme | undefined, tone: WorkflowNoticeCardField["tone"]): string | undefined {
|
|
139
|
-
if (!theme) return undefined;
|
|
140
|
-
if (tone === "text") return theme.text;
|
|
141
|
-
if (tone === "muted") return theme.textMuted;
|
|
142
|
-
return toneColor(theme, tone ?? "info");
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
function toneColor(theme: GraphTheme, tone: WorkflowNoticeTone): string {
|
|
146
|
-
switch (tone) {
|
|
147
|
-
case "success":
|
|
148
|
-
return theme.success;
|
|
149
|
-
case "warning":
|
|
150
|
-
return theme.warning;
|
|
151
|
-
case "error":
|
|
152
|
-
return theme.error;
|
|
153
|
-
case "mauve":
|
|
154
|
-
return theme.mauve;
|
|
155
|
-
default:
|
|
156
|
-
return theme.info;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
function style(text: string, theme: GraphTheme | undefined, color: string | undefined, bold = false): string {
|
|
161
|
-
if (!theme || !color || text.length === 0) return text;
|
|
162
|
-
return `${hexToAnsi(color)}${bold ? BOLD : ""}${text}${RESET}`;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
function fit(line: string, width: number): string {
|
|
166
|
-
return truncateToWidth(line, width, "…", true);
|
|
167
|
-
}
|
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
import type { SessionInfo } from "@bastani/atomic";
|
|
2
|
-
import { isWorkflowRunResumable } from "../durable/resume-eligibility.js";
|
|
3
|
-
import type { DurableWorkflowDeleteOutcome } from "../durable/retention-policy.js";
|
|
4
|
-
import type { ResumableWorkflowEntry } from "../durable/types.js";
|
|
5
|
-
import type { PiHostSessionPickerFunction, PiHostSessionPickerRow } from "../extension/wiring.js";
|
|
6
|
-
import type { RunSnapshot, StageSnapshot } from "../shared/store-types.js";
|
|
7
|
-
import { workflowRunResumeCandidate } from "../shared/workflow-artifacts.js";
|
|
8
|
-
|
|
9
|
-
export type WorkflowResumeSelectorResult =
|
|
10
|
-
| { kind: "live"; runId: string }
|
|
11
|
-
| { kind: "durable"; workflowId: string }
|
|
12
|
-
| { kind: "completed"; workflowId: string }
|
|
13
|
-
| { kind: "close" };
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* UI surface required by the resume picker. The host session-picker
|
|
17
|
-
* capability is REQUIRED: both isolated (engine-child) and non-isolated
|
|
18
|
-
* interactive hosts expose the identical `hostSessionPicker` API, so the
|
|
19
|
-
* picker always mounts natively in the terminal process. There is no
|
|
20
|
-
* remote-rendered fallback; `openWorkflowResumeSelector` rejects with an
|
|
21
|
-
* actionable error when the capability is absent (e.g. a mismatched host).
|
|
22
|
-
*/
|
|
23
|
-
export interface WorkflowResumeSelectorUiSurface {
|
|
24
|
-
hostSessionPicker?: PiHostSessionPickerFunction;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface WorkflowResumeSelectorOptions {
|
|
28
|
-
readonly deleteWorkflow?: (workflowId: string) => Promise<DurableWorkflowDeleteOutcome>;
|
|
29
|
-
/** Subscribe to local run-store changes; returns an unsubscribe function. */
|
|
30
|
-
readonly watch?: (onChange: () => void) => () => void;
|
|
31
|
-
/** Recompute every row: fresh live runs plus a re-hydrated catalog. */
|
|
32
|
-
readonly refresh?: WorkflowResumeRefresh;
|
|
33
|
-
/** Cross-session polling cadence while the picker is open. 0 disables. */
|
|
34
|
-
readonly refreshIntervalMs?: number;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export type WorkflowResumeRefresh = () => Promise<{
|
|
38
|
-
readonly liveRuns: readonly RunSnapshot[];
|
|
39
|
-
readonly catalog: WorkflowResumeCatalogRows;
|
|
40
|
-
}>;
|
|
41
|
-
|
|
42
|
-
interface WorkflowResumeSelectorItem {
|
|
43
|
-
readonly result: Exclude<WorkflowResumeSelectorResult, { kind: "close" }>;
|
|
44
|
-
readonly session: SessionInfo;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function latestStageTimestamp(stage: StageSnapshot): number {
|
|
48
|
-
return stage.endedAt ?? stage.startedAt ?? 0;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function latestRunTimestamp(run: RunSnapshot): number {
|
|
52
|
-
const stageTimes = run.stages.map(latestStageTimestamp);
|
|
53
|
-
return Math.max(run.endedAt ?? 0, run.resumedAt ?? 0, run.pausedAt ?? 0, run.startedAt, ...stageTimes);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function completedStageCount(run: RunSnapshot): number {
|
|
57
|
-
return run.stages.filter((stage) => stage.status === "completed" || stage.status === "failed").length;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function isResumePickerLiveRun(run: RunSnapshot): boolean {
|
|
61
|
-
return isWorkflowRunResumable(workflowRunResumeCandidate(run));
|
|
62
|
-
}
|
|
63
|
-
interface WorkflowStatusPresentation {
|
|
64
|
-
readonly label: string;
|
|
65
|
-
readonly color?: "success" | "warning" | "error";
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Semantic row presentation: green completed, yellow paused, red failed and
|
|
70
|
-
* blocked. Durable `running` rows only reach the picker once their heartbeat
|
|
71
|
-
* is stale (nothing is executing them), so they present as crashed.
|
|
72
|
-
*/
|
|
73
|
-
function workflowStatusPresentation(
|
|
74
|
-
status: string,
|
|
75
|
-
kind: "live" | "durable" | "completed",
|
|
76
|
-
): WorkflowStatusPresentation {
|
|
77
|
-
if (kind === "completed") return { label: "✓ completed", color: "success" };
|
|
78
|
-
if (status === "paused") return { label: "paused", color: "warning" };
|
|
79
|
-
if (status === "failed" || status === "blocked") return { label: status, color: "error" };
|
|
80
|
-
if (kind === "durable" && status === "running") return { label: "crashed", color: "error" };
|
|
81
|
-
return { label: status };
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function liveRunSession(run: RunSnapshot): WorkflowResumeSelectorItem {
|
|
85
|
-
const completed = completedStageCount(run);
|
|
86
|
-
const total = run.stages.length;
|
|
87
|
-
const modified = new Date(latestRunTimestamp(run));
|
|
88
|
-
const presentation = workflowStatusPresentation(run.status, "live");
|
|
89
|
-
const firstMessage = `${run.name} ${presentation.label} ${completed}/${total} stages`;
|
|
90
|
-
return {
|
|
91
|
-
result: { kind: "live", runId: run.id },
|
|
92
|
-
session: {
|
|
93
|
-
path: `workflow-live:${run.id}`,
|
|
94
|
-
id: run.id,
|
|
95
|
-
cwd: "Live workflow runs",
|
|
96
|
-
created: new Date(run.startedAt),
|
|
97
|
-
modified,
|
|
98
|
-
messageCount: total,
|
|
99
|
-
firstMessage,
|
|
100
|
-
allMessagesText: `${run.id} ${run.name} ${presentation.label} ${completed}/${total} stages`,
|
|
101
|
-
...(presentation.color !== undefined ? { messageColor: presentation.color } : {}),
|
|
102
|
-
},
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function durableWorkflowSession(
|
|
107
|
-
entry: ResumableWorkflowEntry,
|
|
108
|
-
kind: "durable" | "completed",
|
|
109
|
-
): WorkflowResumeSelectorItem {
|
|
110
|
-
const checkpointText = `${entry.completedCheckpoints} checkpoints`;
|
|
111
|
-
const presentation = workflowStatusPresentation(entry.status, kind);
|
|
112
|
-
return {
|
|
113
|
-
result: { kind, workflowId: entry.workflowId },
|
|
114
|
-
session: {
|
|
115
|
-
path: `workflow-${kind}:${entry.workflowId}`,
|
|
116
|
-
id: entry.workflowId,
|
|
117
|
-
cwd: kind === "completed" ? "Completed workflow runs" : "Durable workflow runs",
|
|
118
|
-
created: new Date(entry.createdAt),
|
|
119
|
-
modified: new Date(entry.updatedAt),
|
|
120
|
-
messageCount: entry.completedCheckpoints,
|
|
121
|
-
firstMessage: `${entry.name} ${presentation.label} ${checkpointText}`,
|
|
122
|
-
allMessagesText: `${entry.workflowId} ${entry.name} ${presentation.label} ${checkpointText}`,
|
|
123
|
-
...(presentation.color !== undefined ? { messageColor: presentation.color } : {}),
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function compareResumeItemsByRecency(left: WorkflowResumeSelectorItem, right: WorkflowResumeSelectorItem): number {
|
|
129
|
-
const recencyDifference = right.session.modified.getTime() - left.session.modified.getTime();
|
|
130
|
-
if (recencyDifference !== 0) return recencyDifference;
|
|
131
|
-
const idDifference = left.session.id.localeCompare(right.session.id);
|
|
132
|
-
return idDifference !== 0 ? idDifference : left.session.path.localeCompare(right.session.path);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
export function workflowResumeSelectorItems(
|
|
136
|
-
liveRuns: readonly RunSnapshot[],
|
|
137
|
-
durableEntries: readonly ResumableWorkflowEntry[],
|
|
138
|
-
completedEntries: readonly ResumableWorkflowEntry[] = [],
|
|
139
|
-
): WorkflowResumeSelectorItem[] {
|
|
140
|
-
const classifiedLiveRuns = liveRuns.map((run) => ({ run, resumable: isResumePickerLiveRun(run) }));
|
|
141
|
-
const eligibleLiveRuns = classifiedLiveRuns.filter(({ resumable }) => resumable).map(({ run }) => run);
|
|
142
|
-
const visibleLiveIds = new Set(eligibleLiveRuns.map((run) => run.id));
|
|
143
|
-
// An actively executing live snapshot is intentionally not resumable here, but its durable
|
|
144
|
-
// row remains the existing fallback. Other predicate-rejected snapshots must disappear from
|
|
145
|
-
// the resumable row kinds, or a missing-artifact live run would reappear as a durable duplicate.
|
|
146
|
-
const suppressedLiveIds = new Set(
|
|
147
|
-
classifiedLiveRuns
|
|
148
|
-
.filter(({ run, resumable }) => resumable || !(run.status === "running" && run.endedAt === undefined))
|
|
149
|
-
.map(({ run }) => run.id),
|
|
150
|
-
);
|
|
151
|
-
const visibleDurableEntries = durableEntries.filter((entry) => !suppressedLiveIds.has(entry.workflowId));
|
|
152
|
-
const durableIds = new Set(visibleDurableEntries.map((entry) => entry.workflowId));
|
|
153
|
-
return [
|
|
154
|
-
...eligibleLiveRuns.map(liveRunSession),
|
|
155
|
-
...visibleDurableEntries.map((entry) => durableWorkflowSession(entry, "durable")),
|
|
156
|
-
...completedEntries
|
|
157
|
-
.filter((entry) => !visibleLiveIds.has(entry.workflowId) && !durableIds.has(entry.workflowId))
|
|
158
|
-
.map((entry) => durableWorkflowSession(entry, "completed")),
|
|
159
|
-
].sort(compareResumeItemsByRecency);
|
|
160
|
-
}
|
|
161
|
-
export interface WorkflowResumeCatalogRows {
|
|
162
|
-
readonly durable: readonly ResumableWorkflowEntry[];
|
|
163
|
-
readonly completed: readonly ResumableWorkflowEntry[];
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Lazily produces the durable/completed catalog. Invoked at most once, after the
|
|
168
|
-
* selector has already mounted with live rows, so resource/catalog loading stays
|
|
169
|
-
* off the command's synchronous mount path.
|
|
170
|
-
*/
|
|
171
|
-
export type WorkflowResumeHydrate = () => Promise<WorkflowResumeCatalogRows>;
|
|
172
|
-
|
|
173
|
-
export interface OpenWorkflowResumeSelectorResult {
|
|
174
|
-
readonly result: WorkflowResumeSelectorResult;
|
|
175
|
-
/** The catalog resolved by hydrate(), for follow-on resume without a rescan. */
|
|
176
|
-
readonly catalog: WorkflowResumeCatalogRows;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
const EMPTY_CATALOG: WorkflowResumeCatalogRows = { durable: [], completed: [] };
|
|
180
|
-
|
|
181
|
-
export const WORKFLOW_RESUME_PICKER_UNAVAILABLE =
|
|
182
|
-
"The workflow resume picker requires the host session-picker capability (ctx.ui.hostSessionPicker), " +
|
|
183
|
-
"which this host does not expose. Update @bastani/atomic, or resume directly with: /workflow resume <id>";
|
|
184
|
-
|
|
185
|
-
function toPickerRow(session: SessionInfo): PiHostSessionPickerRow {
|
|
186
|
-
return {
|
|
187
|
-
path: session.path,
|
|
188
|
-
id: session.id,
|
|
189
|
-
cwd: session.cwd,
|
|
190
|
-
createdAt: session.created.getTime(),
|
|
191
|
-
modifiedAt: session.modified.getTime(),
|
|
192
|
-
messageCount: session.messageCount,
|
|
193
|
-
firstMessage: session.firstMessage,
|
|
194
|
-
...(session.summary !== undefined ? { summary: session.summary } : {}),
|
|
195
|
-
allMessagesText: session.allMessagesText,
|
|
196
|
-
...(session.name !== undefined ? { name: session.name } : {}),
|
|
197
|
-
...(session.messageColor !== undefined ? { messageColor: session.messageColor } : {}),
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Open the `/workflow resume` picker through the host session-picker
|
|
203
|
-
* capability: the terminal host mounts the real `SessionSelectorComponent`,
|
|
204
|
-
* so arrow-key navigation and search never cross the host⇄extension boundary
|
|
205
|
-
* and stay instant even while this process hydrates the catalog or refreshes
|
|
206
|
-
* the run store.
|
|
207
|
-
*
|
|
208
|
-
* Semantics: live rows seed the first frame, `hydrate()` runs once and merges
|
|
209
|
-
* via a row update (errors keep the seeded rows and surface in-picker), watch
|
|
210
|
-
* refreshes are debounced (250 ms) and polling defaults to 5 s, a failed
|
|
211
|
-
* refresh keeps the previous rows, live rows cannot be deleted, and the
|
|
212
|
-
* resolved catalog is returned with the result for follow-on resume.
|
|
213
|
-
*
|
|
214
|
-
* Rejects with `WORKFLOW_RESUME_PICKER_UNAVAILABLE` when the host does not
|
|
215
|
-
* expose the capability — there is no remote-rendered fallback.
|
|
216
|
-
*/
|
|
217
|
-
export function openWorkflowResumeSelector(
|
|
218
|
-
ui: WorkflowResumeSelectorUiSurface,
|
|
219
|
-
liveRuns: readonly RunSnapshot[],
|
|
220
|
-
hydrate: WorkflowResumeHydrate,
|
|
221
|
-
options: WorkflowResumeSelectorOptions = {},
|
|
222
|
-
): Promise<OpenWorkflowResumeSelectorResult> {
|
|
223
|
-
const hostSessionPicker = ui.hostSessionPicker;
|
|
224
|
-
if (typeof hostSessionPicker !== "function") {
|
|
225
|
-
return Promise.reject(new Error(WORKFLOW_RESUME_PICKER_UNAVAILABLE));
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
let currentLiveRuns = liveRuns;
|
|
229
|
-
let resolvedCatalog: WorkflowResumeCatalogRows = EMPTY_CATALOG;
|
|
230
|
-
const liveItems = workflowResumeSelectorItems(currentLiveRuns, [], []);
|
|
231
|
-
let sessions = liveItems.map((item) => item.session);
|
|
232
|
-
let resultByPath = new Map(liveItems.map((item) => [item.session.path, item.result]));
|
|
233
|
-
let settled = false;
|
|
234
|
-
let stopWatching: (() => void) | undefined;
|
|
235
|
-
let refreshTimer: ReturnType<typeof setInterval> | undefined;
|
|
236
|
-
let debounceTimer: ReturnType<typeof setTimeout> | undefined;
|
|
237
|
-
|
|
238
|
-
const applyRows = (catalog: WorkflowResumeCatalogRows): void => {
|
|
239
|
-
resolvedCatalog = catalog;
|
|
240
|
-
const items = workflowResumeSelectorItems(currentLiveRuns, catalog.durable, catalog.completed);
|
|
241
|
-
sessions = items.map((item) => item.session);
|
|
242
|
-
resultByPath = new Map(items.map((item) => [item.session.path, item.result]));
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
// Deletion is extension-owned: the host keeps the row until update()/error().
|
|
246
|
-
const handle = hostSessionPicker({
|
|
247
|
-
sessions: sessions.map(toPickerRow),
|
|
248
|
-
showRenameHint: false,
|
|
249
|
-
onDelete: async (path) => {
|
|
250
|
-
if (settled) return;
|
|
251
|
-
const target = resultByPath.get(path);
|
|
252
|
-
if (target === undefined || target.kind === "live") {
|
|
253
|
-
handle.error("Cannot delete an in-flight workflow run");
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
|
-
if (options.deleteWorkflow === undefined) {
|
|
257
|
-
handle.error("Workflow history deletion is unavailable");
|
|
258
|
-
return;
|
|
259
|
-
}
|
|
260
|
-
const outcome = await options.deleteWorkflow(target.workflowId);
|
|
261
|
-
if (settled) return;
|
|
262
|
-
if (!outcome.ok) {
|
|
263
|
-
handle.error(outcome.message);
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
resultByPath.delete(path);
|
|
267
|
-
sessions = sessions.filter((session) => session.path !== path);
|
|
268
|
-
handle.update(sessions.map(toPickerRow));
|
|
269
|
-
},
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
// Frame-1 seed is the cheap in-memory live rows; the durable/completed
|
|
273
|
-
// catalog hydrates once, asynchronously, and merges via a row update.
|
|
274
|
-
// Hydrate errors keep the live rows on screen (error surfaces in-header).
|
|
275
|
-
void hydrate()
|
|
276
|
-
.then((catalog) => {
|
|
277
|
-
if (settled) return;
|
|
278
|
-
applyRows(catalog);
|
|
279
|
-
handle.update(sessions.map(toPickerRow));
|
|
280
|
-
})
|
|
281
|
-
.catch((error: unknown) => {
|
|
282
|
-
if (settled) return;
|
|
283
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
284
|
-
handle.error(`Failed to load sessions: ${message}`);
|
|
285
|
-
});
|
|
286
|
-
|
|
287
|
-
// Live updates: re-list rows on local run-store changes and on a bounded
|
|
288
|
-
// cross-session poll; a failed refresh keeps the previous rows.
|
|
289
|
-
let refreshing = false;
|
|
290
|
-
const runRefresh = async (): Promise<void> => {
|
|
291
|
-
const refresh = options.refresh;
|
|
292
|
-
if (refresh === undefined || settled || refreshing) return;
|
|
293
|
-
refreshing = true;
|
|
294
|
-
try {
|
|
295
|
-
const next = await refresh();
|
|
296
|
-
if (settled) return;
|
|
297
|
-
currentLiveRuns = next.liveRuns;
|
|
298
|
-
applyRows(next.catalog);
|
|
299
|
-
handle.update(sessions.map(toPickerRow));
|
|
300
|
-
} catch {
|
|
301
|
-
// Keep the previous rows on a failed refresh; the next tick retries.
|
|
302
|
-
} finally {
|
|
303
|
-
refreshing = false;
|
|
304
|
-
}
|
|
305
|
-
};
|
|
306
|
-
const scheduleRefresh = (): void => {
|
|
307
|
-
if (settled || debounceTimer !== undefined) return;
|
|
308
|
-
debounceTimer = setTimeout(() => {
|
|
309
|
-
debounceTimer = undefined;
|
|
310
|
-
void runRefresh();
|
|
311
|
-
}, 250);
|
|
312
|
-
debounceTimer.unref?.();
|
|
313
|
-
};
|
|
314
|
-
if (options.watch !== undefined && options.refresh !== undefined) {
|
|
315
|
-
stopWatching = options.watch(scheduleRefresh);
|
|
316
|
-
}
|
|
317
|
-
const intervalMs = options.refreshIntervalMs ?? 5_000;
|
|
318
|
-
if (options.refresh !== undefined && intervalMs > 0) {
|
|
319
|
-
refreshTimer = setInterval(() => {
|
|
320
|
-
void runRefresh();
|
|
321
|
-
}, intervalMs);
|
|
322
|
-
refreshTimer.unref?.();
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
return handle.result.then((path): OpenWorkflowResumeSelectorResult => {
|
|
326
|
-
settled = true;
|
|
327
|
-
stopWatching?.();
|
|
328
|
-
if (refreshTimer !== undefined) clearInterval(refreshTimer);
|
|
329
|
-
if (debounceTimer !== undefined) clearTimeout(debounceTimer);
|
|
330
|
-
const result: WorkflowResumeSelectorResult =
|
|
331
|
-
path === undefined ? { kind: "close" } : (resultByPath.get(path) ?? { kind: "close" });
|
|
332
|
-
return { result, catalog: resolvedCatalog };
|
|
333
|
-
});
|
|
334
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/** Shared status slot used by workflow graph/attach UI surfaces. */
|
|
2
|
-
export const WORKFLOW_STATUS_KEY = "pi-workflows";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Host status keys hidden from the workflow orchestrator statusline. The MCP
|
|
6
|
-
* server count and the ADHD Mode badge of a separately installed i-have-adhd
|
|
7
|
-
* extension are main-chat chrome and carry no workflow signal, so the overlay
|
|
8
|
-
* keeps its statusline for run-scoped hints instead. The key stays listed
|
|
9
|
-
* even though the package is no longer bundled, so an externally installed
|
|
10
|
-
* copy remains hidden too.
|
|
11
|
-
*/
|
|
12
|
-
export const OVERLAY_HIDDEN_STATUS_KEYS: ReadonlySet<string> = new Set(["mcp", "i-have-adhd"]);
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workflow name identity helpers.
|
|
3
|
-
* Provides a canonical normalized form used as the registry key.
|
|
4
|
-
*
|
|
5
|
-
* cross-ref: pi-subagents src/agents/identity.ts
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Normalize a workflow name to a canonical key:
|
|
10
|
-
* - Trim surrounding whitespace
|
|
11
|
-
* - Lowercase
|
|
12
|
-
* - Replace one or more whitespace / underscore characters with a single hyphen
|
|
13
|
-
* - Strip any characters that are not alphanumeric or hyphens
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* normalizeWorkflowName("Repository Audit") // "repository-audit"
|
|
17
|
-
* normalizeWorkflowName("my_workflow") // "my-workflow"
|
|
18
|
-
* normalizeWorkflowName(" My Workflow ") // "my-workflow"
|
|
19
|
-
*/
|
|
20
|
-
export function normalizeWorkflowName(name: string): string {
|
|
21
|
-
if (!name || typeof name !== "string") {
|
|
22
|
-
throw new TypeError("normalizeWorkflowName: name must be a non-empty string");
|
|
23
|
-
}
|
|
24
|
-
return name
|
|
25
|
-
.trim()
|
|
26
|
-
.toLowerCase()
|
|
27
|
-
.replace(/[\s_]+/g, "-")
|
|
28
|
-
.replace(/[^a-z0-9-]/g, "")
|
|
29
|
-
.replace(/-{2,}/g, "-")
|
|
30
|
-
.replace(/^-|-$/g, "");
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Returns true when two workflow names refer to the same workflow
|
|
35
|
-
* (i.e. their normalized forms are identical).
|
|
36
|
-
*/
|
|
37
|
-
export function workflowNamesEqual(a: string, b: string): boolean {
|
|
38
|
-
return normalizeWorkflowName(a) === normalizeWorkflowName(b);
|
|
39
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workflow registry — createRegistry().
|
|
3
|
-
* Immutable, chainable, keyed by normalized workflow name.
|
|
4
|
-
*
|
|
5
|
-
* Supported operations: register, get, has, remove, merge, names, all.
|
|
6
|
-
*
|
|
7
|
-
* cross-ref: v0.x packages/atomic-sdk/src/registry.ts
|
|
8
|
-
* pi-subagents src/agents/agents.ts (discover/parse)
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import type { WorkflowDefinition, WorkflowInputValues, WorkflowOutputValues } from "../shared/types.js";
|
|
12
|
-
import { normalizeWorkflowName } from "./identity.js";
|
|
13
|
-
|
|
14
|
-
export interface WorkflowRegistry {
|
|
15
|
-
/**
|
|
16
|
-
* Register a compiled workflow definition.
|
|
17
|
-
* Keyed by the definition's normalizedName; replaces any prior entry with
|
|
18
|
-
* the same key. Returns a NEW registry — this one is unchanged.
|
|
19
|
-
*/
|
|
20
|
-
register<
|
|
21
|
-
TInputs extends WorkflowInputValues,
|
|
22
|
-
TOutputs extends WorkflowOutputValues,
|
|
23
|
-
TRunInputs extends WorkflowInputValues = TInputs,
|
|
24
|
-
>(definition: WorkflowDefinition<TInputs, TOutputs, TRunInputs>): WorkflowRegistry;
|
|
25
|
-
/**
|
|
26
|
-
* Return a new registry with all definitions from another registry merged
|
|
27
|
-
* in (other's entries win on collision).
|
|
28
|
-
*/
|
|
29
|
-
merge(other: WorkflowRegistry): WorkflowRegistry;
|
|
30
|
-
/**
|
|
31
|
-
* Retrieve a workflow by (raw or normalized) name.
|
|
32
|
-
* Returns undefined when not found.
|
|
33
|
-
*/
|
|
34
|
-
get(name: string): WorkflowDefinition | undefined;
|
|
35
|
-
/** Return true when a workflow with the given (raw or normalized) name exists. */
|
|
36
|
-
has(name: string): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Return a new registry with the named workflow removed.
|
|
39
|
-
* No-op (returns equivalent registry) if the name is not found.
|
|
40
|
-
*/
|
|
41
|
-
remove(name: string): WorkflowRegistry;
|
|
42
|
-
/** Return all registered normalized names (insertion-order preserved). */
|
|
43
|
-
names(): string[];
|
|
44
|
-
/** Return all registered workflow definitions (insertion-order preserved). */
|
|
45
|
-
all(): WorkflowDefinition[];
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// ---------------------------------------------------------------------------
|
|
49
|
-
// Internal factory
|
|
50
|
-
// ---------------------------------------------------------------------------
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Construct a registry backed by an ordered Map keyed by normalizedName.
|
|
54
|
-
*/
|
|
55
|
-
function makeRegistry(store: Map<string, WorkflowDefinition>): WorkflowRegistry {
|
|
56
|
-
return {
|
|
57
|
-
register(definition) {
|
|
58
|
-
const next = new Map(store);
|
|
59
|
-
next.set(definition.normalizedName, definition as never as WorkflowDefinition);
|
|
60
|
-
return makeRegistry(next);
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
merge(other) {
|
|
64
|
-
const next = new Map(store);
|
|
65
|
-
for (const def of other.all()) {
|
|
66
|
-
next.set(def.normalizedName, def);
|
|
67
|
-
}
|
|
68
|
-
return makeRegistry(next);
|
|
69
|
-
},
|
|
70
|
-
|
|
71
|
-
get(name) {
|
|
72
|
-
return store.get(normalizeWorkflowName(name));
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
has(name) {
|
|
76
|
-
return store.has(normalizeWorkflowName(name));
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
remove(name) {
|
|
80
|
-
const key = normalizeWorkflowName(name);
|
|
81
|
-
if (!store.has(key)) return this;
|
|
82
|
-
const next = new Map(store);
|
|
83
|
-
next.delete(key);
|
|
84
|
-
return makeRegistry(next);
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
names() {
|
|
88
|
-
return [...store.keys()];
|
|
89
|
-
},
|
|
90
|
-
|
|
91
|
-
all() {
|
|
92
|
-
return [...store.values()];
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// ---------------------------------------------------------------------------
|
|
98
|
-
// Public factory
|
|
99
|
-
// ---------------------------------------------------------------------------
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Create a new empty (or pre-populated) immutable-style workflow registry.
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* const registry = createRegistry()
|
|
106
|
-
* .register(myWorkflow)
|
|
107
|
-
* .register(otherWorkflow);
|
|
108
|
-
*
|
|
109
|
-
* registry.get("my-workflow"); // WorkflowDefinition | undefined
|
|
110
|
-
* registry.has("other-workflow"); // true
|
|
111
|
-
*/
|
|
112
|
-
export function createRegistry(initial: WorkflowDefinition[] = []): WorkflowRegistry {
|
|
113
|
-
const store = new Map<string, WorkflowDefinition>(initial.map((d) => [d.normalizedName, d]));
|
|
114
|
-
return makeRegistry(store);
|
|
115
|
-
}
|