@bastani/atomic 0.9.16-alpha.2 → 0.9.16-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/builtin/intercom/broker/spawn.ts +22 -2
- package/dist/builtin/intercom/index.bundle.mjs +61694 -0
- package/dist/builtin/intercom/package.json +3 -3
- package/dist/builtin/mcp/index.bundle.mjs +64901 -0
- package/dist/builtin/mcp/package.json +2 -2
- package/dist/builtin/subagents/package.json +2 -2
- package/dist/builtin/subagents/src/extension/index.bundle.mjs +85671 -0
- package/dist/builtin/web-access/index.bundle.mjs +67413 -0
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/package.json +3 -3
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +76391 -96336
- package/dist/builtin/workflows/src/index.bundle.mjs +73244 -0
- package/dist/core/builtin-install-layout.d.ts +22 -0
- package/dist/core/builtin-install-layout.d.ts.map +1 -0
- package/dist/core/builtin-install-layout.js +23 -0
- package/dist/core/builtin-install-layout.js.map +1 -0
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +8 -32
- package/dist/core/builtin-packages.js.map +1 -1
- package/npm-shrinkwrap.json +32 -32
- package/package.json +3 -3
- package/dist/builtin/intercom/closed-workflow-stage-message.ts +0 -66
- package/dist/builtin/intercom/config.ts +0 -121
- package/dist/builtin/intercom/contact-supervisor-tool.ts +0 -328
- package/dist/builtin/intercom/foreground-detach-handoff.ts +0 -164
- package/dist/builtin/intercom/group.ts +0 -85
- package/dist/builtin/intercom/inbound-idle-queue.ts +0 -82
- package/dist/builtin/intercom/inbound-message-admission.ts +0 -79
- package/dist/builtin/intercom/incoming-message-delivery.ts +0 -49
- package/dist/builtin/intercom/index-heavy.ts +0 -539
- package/dist/builtin/intercom/index.ts +0 -503
- package/dist/builtin/intercom/intercom-test-seams.ts +0 -6
- package/dist/builtin/intercom/intercom-tool.ts +0 -602
- package/dist/builtin/intercom/intercom-utils.ts +0 -427
- package/dist/builtin/intercom/late-stage-message-router.ts +0 -148
- package/dist/builtin/intercom/lazy-heavy-proxy.ts +0 -108
- package/dist/builtin/intercom/lazy-subagent-ack.ts +0 -25
- package/dist/builtin/intercom/lazy-tool-execution.ts +0 -39
- package/dist/builtin/intercom/lifecycle-lease.ts +0 -51
- package/dist/builtin/intercom/lifecycle.ts +0 -144
- package/dist/builtin/intercom/overlay.ts +0 -96
- package/dist/builtin/intercom/parent-ask-handoff.ts +0 -72
- package/dist/builtin/intercom/reconnect-backoff.ts +0 -6
- package/dist/builtin/intercom/reply-routing.ts +0 -17
- package/dist/builtin/intercom/reply-tracker.ts +0 -110
- package/dist/builtin/intercom/reply-waiter.ts +0 -115
- package/dist/builtin/intercom/result-renderers.ts +0 -77
- package/dist/builtin/intercom/runtime-group.ts +0 -13
- package/dist/builtin/intercom/session-target.ts +0 -54
- package/dist/builtin/intercom/source-ownership.ts +0 -31
- package/dist/builtin/intercom/stable-delivery-retry.ts +0 -32
- package/dist/builtin/intercom/subagent-relay.ts +0 -290
- package/dist/builtin/intercom/supervisor-authorization-registry.ts +0 -22
- package/dist/builtin/intercom/terminal-ordering-barrier.ts +0 -247
- package/dist/builtin/intercom/types.ts +0 -66
- package/dist/builtin/intercom/ui/compose.ts +0 -159
- package/dist/builtin/intercom/ui/inline-message.ts +0 -78
- package/dist/builtin/intercom/ui/session-list.ts +0 -195
- package/dist/builtin/intercom/workflow-reply-tracker.ts +0 -19
- package/dist/builtin/intercom/workflow-stage-admission.ts +0 -43
- package/dist/builtin/intercom/workflow-stage-delivery-failure.ts +0 -77
- package/dist/builtin/mcp/agent-dir.ts +0 -30
- package/dist/builtin/mcp/apps-cancellation.ts +0 -32
- package/dist/builtin/mcp/call-tool-result.ts +0 -9
- package/dist/builtin/mcp/caller-wait.ts +0 -50
- package/dist/builtin/mcp/cli.js +0 -191
- package/dist/builtin/mcp/command-registration.ts +0 -82
- package/dist/builtin/mcp/commands.ts +0 -424
- package/dist/builtin/mcp/config-write-utils.ts +0 -104
- package/dist/builtin/mcp/config.ts +0 -498
- package/dist/builtin/mcp/consent-manager.ts +0 -64
- package/dist/builtin/mcp/direct-tool-executor.ts +0 -280
- package/dist/builtin/mcp/direct-tools.ts +0 -216
- package/dist/builtin/mcp/errors.ts +0 -219
- package/dist/builtin/mcp/glimpse-ui.ts +0 -81
- package/dist/builtin/mcp/host-html-template.ts +0 -426
- package/dist/builtin/mcp/index.ts +0 -443
- package/dist/builtin/mcp/init.ts +0 -319
- package/dist/builtin/mcp/lifecycle.ts +0 -93
- package/dist/builtin/mcp/logger.ts +0 -169
- package/dist/builtin/mcp/mcp-auth-flow.ts +0 -372
- package/dist/builtin/mcp/mcp-auth.ts +0 -297
- package/dist/builtin/mcp/mcp-callback-server.ts +0 -306
- package/dist/builtin/mcp/mcp-oauth-provider.ts +0 -324
- package/dist/builtin/mcp/mcp-panel-renderer.ts +0 -243
- package/dist/builtin/mcp/mcp-panel-state.ts +0 -227
- package/dist/builtin/mcp/mcp-panel-types.ts +0 -86
- package/dist/builtin/mcp/mcp-panel.ts +0 -393
- package/dist/builtin/mcp/mcp-setup-panel.ts +0 -502
- package/dist/builtin/mcp/metadata-cache.ts +0 -201
- package/dist/builtin/mcp/metadata-hydration.ts +0 -52
- package/dist/builtin/mcp/npx-resolver.ts +0 -425
- package/dist/builtin/mcp/oauth-handler.ts +0 -60
- package/dist/builtin/mcp/onboarding-state.ts +0 -68
- package/dist/builtin/mcp/proxy-auth.ts +0 -61
- package/dist/builtin/mcp/proxy-call.ts +0 -447
- package/dist/builtin/mcp/proxy-connect.ts +0 -78
- package/dist/builtin/mcp/proxy-info-modes.ts +0 -409
- package/dist/builtin/mcp/proxy-modes.ts +0 -3
- package/dist/builtin/mcp/proxy-types.ts +0 -3
- package/dist/builtin/mcp/resource-tools.ts +0 -17
- package/dist/builtin/mcp/sampling-handler.ts +0 -273
- package/dist/builtin/mcp/server-manager.ts +0 -372
- package/dist/builtin/mcp/session-cleanup-barrier.ts +0 -43
- package/dist/builtin/mcp/startup-warmup.ts +0 -110
- package/dist/builtin/mcp/state-lease.ts +0 -12
- package/dist/builtin/mcp/state.ts +0 -41
- package/dist/builtin/mcp/tool-call-timeout.ts +0 -101
- package/dist/builtin/mcp/tool-metadata.ts +0 -152
- package/dist/builtin/mcp/tool-registrar.ts +0 -46
- package/dist/builtin/mcp/tool-result-renderer.ts +0 -66
- package/dist/builtin/mcp/types.ts +0 -445
- package/dist/builtin/mcp/ui-resource-handler.ts +0 -145
- package/dist/builtin/mcp/ui-server-http.ts +0 -81
- package/dist/builtin/mcp/ui-server.ts +0 -499
- package/dist/builtin/mcp/ui-session.ts +0 -378
- package/dist/builtin/mcp/ui-stream-types.ts +0 -89
- package/dist/builtin/mcp/utils.ts +0 -165
- package/dist/builtin/subagents/src/agents/agent-discovery.ts +0 -116
- package/dist/builtin/subagents/src/agents/agent-loaders.ts +0 -216
- package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +0 -221
- package/dist/builtin/subagents/src/agents/agent-management.ts +0 -315
- package/dist/builtin/subagents/src/agents/agent-overrides.ts +0 -450
- package/dist/builtin/subagents/src/agents/agent-paths.ts +0 -69
- package/dist/builtin/subagents/src/agents/agent-scope.ts +0 -6
- package/dist/builtin/subagents/src/agents/agent-selection.ts +0 -23
- package/dist/builtin/subagents/src/agents/agent-serializer.ts +0 -113
- package/dist/builtin/subagents/src/agents/agent-types.ts +0 -97
- package/dist/builtin/subagents/src/agents/agents.ts +0 -25
- package/dist/builtin/subagents/src/agents/frontmatter.ts +0 -74
- package/dist/builtin/subagents/src/agents/identity.ts +0 -37
- package/dist/builtin/subagents/src/agents/skills-paths.ts +0 -380
- package/dist/builtin/subagents/src/agents/skills.ts +0 -398
- package/dist/builtin/subagents/src/extension/api-lifecycle.ts +0 -64
- package/dist/builtin/subagents/src/extension/config.ts +0 -16
- package/dist/builtin/subagents/src/extension/control-notices.ts +0 -91
- package/dist/builtin/subagents/src/extension/index.ts +0 -420
- package/dist/builtin/subagents/src/extension/notification-content.ts +0 -85
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +0 -11
- package/dist/builtin/subagents/src/extension/schemas.ts +0 -208
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +0 -133
- package/dist/builtin/subagents/src/extension/tool-description.ts +0 -17
- package/dist/builtin/subagents/src/extension/tool-rendering.ts +0 -53
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +0 -376
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +0 -246
- package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +0 -30
- package/dist/builtin/subagents/src/runs/foreground/completion-notification.ts +0 -42
- package/dist/builtin/subagents/src/runs/foreground/detached-cleanup-barrier.ts +0 -26
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +0 -58
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +0 -19
- package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +0 -51
- package/dist/builtin/subagents/src/runs/foreground/execution-parent-ask-handoff.ts +0 -78
- package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +0 -1
- package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +0 -26
- package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +0 -61
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +0 -6
- package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +0 -512
- package/dist/builtin/subagents/src/runs/foreground/notify.ts +0 -355
- package/dist/builtin/subagents/src/runs/foreground/parent-ask-output.ts +0 -48
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-burst-display.ts +0 -46
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-burst.ts +0 -403
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +0 -223
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-cwd.ts +0 -6
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +0 -139
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-live-update.ts +0 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +0 -268
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +0 -327
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parent-ask-projection.ts +0 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +0 -12
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +0 -350
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +0 -246
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +0 -131
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +0 -102
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +0 -217
- package/dist/builtin/subagents/src/runs/inprocess/child-policy.ts +0 -27
- package/dist/builtin/subagents/src/runs/inprocess/control-registry.ts +0 -55
- package/dist/builtin/subagents/src/runs/inprocess/control-status.ts +0 -72
- package/dist/builtin/subagents/src/runs/inprocess/index.ts +0 -27
- package/dist/builtin/subagents/src/runs/inprocess/prompt-behavior.ts +0 -168
- package/dist/builtin/subagents/src/runs/inprocess/runner.ts +0 -1280
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/temp-cleanup.ts +0 -69
- package/dist/builtin/subagents/src/runs/inprocess.ts +0 -1
- package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +0 -67
- package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +0 -182
- package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +0 -391
- package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +0 -56
- package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +0 -88
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +0 -70
- package/dist/builtin/subagents/src/runs/shared/progress-trend.ts +0 -69
- package/dist/builtin/subagents/src/runs/shared/run-history.ts +0 -64
- package/dist/builtin/subagents/src/runs/shared/single-output.ts +0 -169
- package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +0 -234
- package/dist/builtin/subagents/src/runs/shared/worktree-post-create.ts +0 -111
- package/dist/builtin/subagents/src/runs/shared/worktree-root.ts +0 -67
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +0 -552
- package/dist/builtin/subagents/src/shared/artifacts.ts +0 -240
- package/dist/builtin/subagents/src/shared/atomic-json.ts +0 -16
- package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +0 -330
- package/dist/builtin/subagents/src/shared/exclusive-file-publication.ts +0 -44
- package/dist/builtin/subagents/src/shared/fast-mode.ts +0 -87
- package/dist/builtin/subagents/src/shared/file-coalescer.ts +0 -40
- package/dist/builtin/subagents/src/shared/fork-context.ts +0 -79
- package/dist/builtin/subagents/src/shared/formatters.ts +0 -89
- package/dist/builtin/subagents/src/shared/jsonl-writer.ts +0 -83
- package/dist/builtin/subagents/src/shared/model-info.ts +0 -101
- package/dist/builtin/subagents/src/shared/model-resolution.ts +0 -78
- package/dist/builtin/subagents/src/shared/session-identity.ts +0 -10
- package/dist/builtin/subagents/src/shared/session-tokens.ts +0 -45
- package/dist/builtin/subagents/src/shared/settings.ts +0 -118
- package/dist/builtin/subagents/src/shared/status-format.ts +0 -50
- package/dist/builtin/subagents/src/shared/types-config.ts +0 -206
- package/dist/builtin/subagents/src/shared/types-depth.ts +0 -46
- package/dist/builtin/subagents/src/shared/types-foreground-state.ts +0 -48
- package/dist/builtin/subagents/src/shared/types-output.ts +0 -63
- package/dist/builtin/subagents/src/shared/types-results.ts +0 -259
- package/dist/builtin/subagents/src/shared/types-runtime.ts +0 -115
- package/dist/builtin/subagents/src/shared/types.ts +0 -13
- package/dist/builtin/subagents/src/shared/utils.ts +0 -342
- package/dist/builtin/subagents/src/slash/bridge-settlement.ts +0 -87
- package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +0 -455
- package/dist/builtin/subagents/src/slash/slash-bridge.ts +0 -194
- package/dist/builtin/subagents/src/slash/slash-commands.ts +0 -5
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +0 -259
- package/dist/builtin/subagents/src/tui/render-event-formatting.ts +0 -7
- package/dist/builtin/subagents/src/tui/render-helpers.ts +0 -90
- package/dist/builtin/subagents/src/tui/render-layout.ts +0 -157
- package/dist/builtin/subagents/src/tui/render-progress.ts +0 -89
- package/dist/builtin/subagents/src/tui/render-result-animation.ts +0 -47
- package/dist/builtin/subagents/src/tui/render-result-compact.ts +0 -248
- package/dist/builtin/subagents/src/tui/render-result.ts +0 -438
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +0 -50
- package/dist/builtin/subagents/src/tui/render-status-progress.ts +0 -168
- package/dist/builtin/subagents/src/tui/render.ts +0 -23
- package/dist/builtin/web-access/activity.ts +0 -101
- package/dist/builtin/web-access/chrome-cookies.ts +0 -323
- package/dist/builtin/web-access/code-search.ts +0 -107
- package/dist/builtin/web-access/config-paths.ts +0 -11
- package/dist/builtin/web-access/content-tools.ts +0 -354
- package/dist/builtin/web-access/curator-page-assets/script-1.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-2.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-3.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-4.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-5.ts +0 -398
- package/dist/builtin/web-access/curator-page-assets/styles-1.ts +0 -394
- package/dist/builtin/web-access/curator-page-assets/styles-2.ts +0 -394
- package/dist/builtin/web-access/curator-page-assets/styles-3.ts +0 -393
- package/dist/builtin/web-access/curator-page.ts +0 -196
- package/dist/builtin/web-access/curator-server-helpers.ts +0 -115
- package/dist/builtin/web-access/curator-server.ts +0 -494
- package/dist/builtin/web-access/exa-mcp.ts +0 -218
- package/dist/builtin/web-access/exa.ts +0 -317
- package/dist/builtin/web-access/extract-frames.ts +0 -229
- package/dist/builtin/web-access/extract.ts +0 -500
- package/dist/builtin/web-access/flat-string.ts +0 -37
- package/dist/builtin/web-access/gemini-api.ts +0 -111
- package/dist/builtin/web-access/gemini-search.ts +0 -363
- package/dist/builtin/web-access/gemini-url-context.ts +0 -126
- package/dist/builtin/web-access/gemini-web-config.ts +0 -53
- package/dist/builtin/web-access/gemini-web.ts +0 -397
- package/dist/builtin/web-access/github-api.ts +0 -198
- package/dist/builtin/web-access/github-config.ts +0 -156
- package/dist/builtin/web-access/github-extract.ts +0 -487
- package/dist/builtin/web-access/index-heavy.ts +0 -164
- package/dist/builtin/web-access/index.ts +0 -401
- package/dist/builtin/web-access/lifecycle-lease.ts +0 -38
- package/dist/builtin/web-access/pdf-extract.ts +0 -192
- package/dist/builtin/web-access/perplexity.ts +0 -194
- package/dist/builtin/web-access/result-renderers.ts +0 -366
- package/dist/builtin/web-access/rsc-extract.ts +0 -338
- package/dist/builtin/web-access/storage.ts +0 -72
- package/dist/builtin/web-access/subprocess.ts +0 -102
- package/dist/builtin/web-access/summary-review.ts +0 -287
- package/dist/builtin/web-access/utils.ts +0 -44
- package/dist/builtin/web-access/video-extract.ts +0 -375
- package/dist/builtin/web-access/web-search-activity.ts +0 -102
- package/dist/builtin/web-access/web-search-browser.ts +0 -124
- package/dist/builtin/web-access/web-search-command.ts +0 -242
- package/dist/builtin/web-access/web-search-config.ts +0 -157
- package/dist/builtin/web-access/web-search-curator.ts +0 -214
- package/dist/builtin/web-access/web-search-features.ts +0 -181
- package/dist/builtin/web-access/web-search-formatting.ts +0 -117
- package/dist/builtin/web-access/web-search-return.ts +0 -143
- package/dist/builtin/web-access/web-search-summary.ts +0 -177
- package/dist/builtin/web-access/web-search-tool.ts +0 -286
- package/dist/builtin/web-access/web-search-types.ts +0 -50
- package/dist/builtin/web-access/web-search-workflow.ts +0 -10
- package/dist/builtin/web-access/youtube-extract.ts +0 -309
- package/dist/builtin/workflows/src/authoring/keep-context.ts +0 -46
- package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +0 -41
- package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +0 -180
- package/dist/builtin/workflows/src/authoring/workflow.ts +0 -206
- package/dist/builtin/workflows/src/durable/backend.ts +0 -598
- package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +0 -172
- package/dist/builtin/workflows/src/durable/boundary-topology.ts +0 -475
- package/dist/builtin/workflows/src/durable/child-invocation.ts +0 -14
- package/dist/builtin/workflows/src/durable/child-primitive.ts +0 -124
- package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +0 -385
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +0 -685
- package/dist/builtin/workflows/src/durable/completed-inspection.ts +0 -157
- package/dist/builtin/workflows/src/durable/completed-subtree.ts +0 -50
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +0 -580
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres-root.ts +0 -681
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +0 -717
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +0 -516
- package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +0 -208
- package/dist/builtin/workflows/src/durable/dbos-local-postgres.ts +0 -166
- package/dist/builtin/workflows/src/durable/dbos-metadata.ts +0 -196
- package/dist/builtin/workflows/src/durable/dbos-process-owner.ts +0 -87
- package/dist/builtin/workflows/src/durable/dbos-prompt-reservations.ts +0 -377
- package/dist/builtin/workflows/src/durable/dbos-registration-diagnostics.ts +0 -113
- package/dist/builtin/workflows/src/durable/dbos-sdk-handle.ts +0 -182
- package/dist/builtin/workflows/src/durable/dbos-status-transition.ts +0 -67
- package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +0 -27
- package/dist/builtin/workflows/src/durable/durable-hash.ts +0 -18
- package/dist/builtin/workflows/src/durable/factory.ts +0 -93
- package/dist/builtin/workflows/src/durable/format-version.ts +0 -6
- package/dist/builtin/workflows/src/durable/index.ts +0 -82
- package/dist/builtin/workflows/src/durable/local-command.ts +0 -135
- package/dist/builtin/workflows/src/durable/prompt-reservation-state.ts +0 -184
- package/dist/builtin/workflows/src/durable/prompt-reservations.ts +0 -36
- package/dist/builtin/workflows/src/durable/resume-catalog.ts +0 -20
- package/dist/builtin/workflows/src/durable/resume-eligibility.ts +0 -106
- package/dist/builtin/workflows/src/durable/resume-runtime.ts +0 -344
- package/dist/builtin/workflows/src/durable/retention-policy.ts +0 -43
- package/dist/builtin/workflows/src/durable/run-timing.ts +0 -151
- package/dist/builtin/workflows/src/durable/scoped-backend.ts +0 -308
- package/dist/builtin/workflows/src/durable/stage-primitive.ts +0 -553
- package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +0 -247
- package/dist/builtin/workflows/src/durable/stage-topology.ts +0 -53
- package/dist/builtin/workflows/src/durable/targeted-inspection.ts +0 -110
- package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +0 -54
- package/dist/builtin/workflows/src/durable/tool-outcome.ts +0 -130
- package/dist/builtin/workflows/src/durable/tool-primitive.ts +0 -861
- package/dist/builtin/workflows/src/durable/types.ts +0 -343
- package/dist/builtin/workflows/src/durable/ui-primitive.ts +0 -263
- package/dist/builtin/workflows/src/durable/workflow-child-result.ts +0 -63
- package/dist/builtin/workflows/src/durable/workflow-heartbeat-anchor.ts +0 -153
- package/dist/builtin/workflows/src/durable/workflow-status-transition.ts +0 -31
- package/dist/builtin/workflows/src/engine/graph-inference.ts +0 -100
- package/dist/builtin/workflows/src/engine/options.ts +0 -44
- package/dist/builtin/workflows/src/engine/primitives/chain.ts +0 -34
- package/dist/builtin/workflows/src/engine/primitives/exit.ts +0 -2
- package/dist/builtin/workflows/src/engine/primitives/parallel.ts +0 -74
- package/dist/builtin/workflows/src/engine/primitives/task.ts +0 -127
- package/dist/builtin/workflows/src/engine/primitives/ui.ts +0 -54
- package/dist/builtin/workflows/src/engine/primitives/workflow.ts +0 -219
- package/dist/builtin/workflows/src/engine/replay.ts +0 -8
- package/dist/builtin/workflows/src/engine/run-budget.ts +0 -308
- package/dist/builtin/workflows/src/engine/run-durable-admission.ts +0 -50
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +0 -97
- package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +0 -65
- package/dist/builtin/workflows/src/engine/run-durable-topology.ts +0 -295
- package/dist/builtin/workflows/src/engine/run-returned-status.ts +0 -86
- package/dist/builtin/workflows/src/engine/run-terminal-event.ts +0 -39
- package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +0 -53
- package/dist/builtin/workflows/src/engine/run-tool-admission-boundary.ts +0 -99
- package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +0 -187
- package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +0 -164
- package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +0 -158
- package/dist/builtin/workflows/src/engine/run.ts +0 -841
- package/dist/builtin/workflows/src/engine/runtime.ts +0 -220
- package/dist/builtin/workflows/src/engine/workflow-activity.ts +0 -13
- package/dist/builtin/workflows/src/engine/workflow-tool-abort.ts +0 -92
- package/dist/builtin/workflows/src/extension/adopt-session-run-state.ts +0 -20
- package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +0 -168
- package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +0 -154
- package/dist/builtin/workflows/src/extension/companions.ts +0 -210
- package/dist/builtin/workflows/src/extension/completed-stage-intercom-ask.ts +0 -167
- package/dist/builtin/workflows/src/extension/config-file-loader.ts +0 -185
- package/dist/builtin/workflows/src/extension/config-loader.ts +0 -439
- package/dist/builtin/workflows/src/extension/discovery-loaders.ts +0 -112
- package/dist/builtin/workflows/src/extension/discovery.ts +0 -424
- package/dist/builtin/workflows/src/extension/dispatcher.ts +0 -273
- package/dist/builtin/workflows/src/extension/extension-factory.ts +0 -133
- package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +0 -174
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +0 -596
- package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +0 -367
- package/dist/builtin/workflows/src/extension/index.ts +0 -42
- package/dist/builtin/workflows/src/extension/lifecycle-notification-delivery.ts +0 -83
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +0 -849
- package/dist/builtin/workflows/src/extension/mcp.ts +0 -121
- package/dist/builtin/workflows/src/extension/postmortem-deps.ts +0 -70
- package/dist/builtin/workflows/src/extension/public-types.ts +0 -234
- package/dist/builtin/workflows/src/extension/render-call.ts +0 -115
- package/dist/builtin/workflows/src/extension/render-component.ts +0 -12
- package/dist/builtin/workflows/src/extension/render-result.ts +0 -558
- package/dist/builtin/workflows/src/extension/renderers.ts +0 -89
- package/dist/builtin/workflows/src/extension/runtime-active-block-claim.ts +0 -78
- package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +0 -174
- package/dist/builtin/workflows/src/extension/runtime.ts +0 -439
- package/dist/builtin/workflows/src/extension/status-writer.ts +0 -182
- package/dist/builtin/workflows/src/extension/ui-surface.ts +0 -387
- package/dist/builtin/workflows/src/extension/wiring.ts +0 -490
- package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +0 -129
- package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +0 -296
- package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +0 -114
- package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +0 -175
- package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +0 -270
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-delivery.ts +0 -241
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-notice.ts +0 -115
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-scheduler.ts +0 -962
- package/dist/builtin/workflows/src/extension/workflow-model-catalog.ts +0 -24
- package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +0 -162
- package/dist/builtin/workflows/src/extension/workflow-policy.ts +0 -13
- package/dist/builtin/workflows/src/extension/workflow-ports.ts +0 -45
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +0 -73
- package/dist/builtin/workflows/src/extension/workflow-reload-coordinator.ts +0 -66
- package/dist/builtin/workflows/src/extension/workflow-reload-report.ts +0 -42
- package/dist/builtin/workflows/src/extension/workflow-request-abort.ts +0 -15
- package/dist/builtin/workflows/src/extension/workflow-resume-picker-rows.ts +0 -96
- package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +0 -53
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +0 -562
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +0 -192
- package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +0 -252
- package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +0 -276
- package/dist/builtin/workflows/src/extension/workflow-targets.ts +0 -210
- package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +0 -265
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +0 -547
- package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +0 -153
- package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +0 -145
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +0 -488
- package/dist/builtin/workflows/src/extension/workflow-tool.ts +0 -188
- package/dist/builtin/workflows/src/index.ts +0 -8
- package/dist/builtin/workflows/src/intercom/intercom-bridge.ts +0 -90
- package/dist/builtin/workflows/src/intercom/intercom-routing.ts +0 -131
- package/dist/builtin/workflows/src/intercom/result-intercom.ts +0 -271
- package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +0 -135
- package/dist/builtin/workflows/src/runs/background/durable-resume-transition.ts +0 -63
- package/dist/builtin/workflows/src/runs/background/job-tracker.ts +0 -125
- package/dist/builtin/workflows/src/runs/background/quit-tool-node.ts +0 -71
- package/dist/builtin/workflows/src/runs/background/quit.ts +0 -417
- package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +0 -99
- package/dist/builtin/workflows/src/runs/background/run-inspect.ts +0 -126
- package/dist/builtin/workflows/src/runs/background/runner.ts +0 -185
- package/dist/builtin/workflows/src/runs/background/startup-admission.ts +0 -73
- package/dist/builtin/workflows/src/runs/background/status.ts +0 -511
- package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +0 -43
- package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +0 -441
- package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +0 -263
- package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +0 -79
- package/dist/builtin/workflows/src/runs/foreground/executor-child-workflow.ts +0 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +0 -207
- package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +0 -321
- package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +0 -224
- package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +0 -403
- package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +0 -86
- package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +0 -491
- package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +0 -156
- package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +0 -379
- package/dist/builtin/workflows/src/runs/foreground/executor-queued-user-message.ts +0 -75
- package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +0 -144
- package/dist/builtin/workflows/src/runs/foreground/executor-run.ts +0 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +0 -206
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +0 -434
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +0 -153
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +0 -225
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +0 -473
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +0 -156
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +0 -72
- package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +0 -2
- package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +0 -226
- package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +0 -186
- package/dist/builtin/workflows/src/runs/foreground/executor.ts +0 -25
- package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +0 -245
- package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +0 -466
- package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +0 -86
- package/dist/builtin/workflows/src/runs/foreground/stage-queued-user-messages.ts +0 -95
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-candidate.ts +0 -21
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +0 -330
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +0 -1472
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-message-admission.ts +0 -196
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +0 -177
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +0 -97
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +0 -278
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +0 -206
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-replacement.ts +0 -41
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +0 -134
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +0 -38
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +0 -66
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +0 -120
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +0 -211
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +0 -42
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +0 -22
- package/dist/builtin/workflows/src/runs/foreground/stage-session-heartbeat.ts +0 -88
- package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +0 -49
- package/dist/builtin/workflows/src/runs/shared/concurrency.ts +0 -76
- package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +0 -2
- package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +0 -325
- package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +0 -19
- package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +0 -2
- package/dist/builtin/workflows/src/runs/shared/prompt-callsite.ts +0 -96
- package/dist/builtin/workflows/src/runs/shared/retry.ts +0 -44
- package/dist/builtin/workflows/src/runs/shared/validate-inputs.ts +0 -111
- package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +0 -23
- package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +0 -116
- package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +0 -172
- package/dist/builtin/workflows/src/runs/shared/worktree-generation.ts +0 -57
- package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +0 -107
- package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +0 -407
- package/dist/builtin/workflows/src/runs/shared/worktree-post-create.ts +0 -137
- package/dist/builtin/workflows/src/runs/shared/worktree-root.ts +0 -84
- package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +0 -372
- package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +0 -102
- package/dist/builtin/workflows/src/runs/shared/worktree.ts +0 -21
- package/dist/builtin/workflows/src/sdk-surface.ts +0 -70
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +0 -403
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +0 -489
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +0 -327
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +0 -437
- package/dist/builtin/workflows/src/shared/budget-meter.ts +0 -34
- package/dist/builtin/workflows/src/shared/budget.d.ts +0 -67
- package/dist/builtin/workflows/src/shared/budget.ts +0 -127
- package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +0 -434
- package/dist/builtin/workflows/src/shared/flat-string.ts +0 -33
- package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +0 -188
- package/dist/builtin/workflows/src/shared/intercom-group.ts +0 -58
- package/dist/builtin/workflows/src/shared/persistence-compaction-policy.ts +0 -72
- package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +0 -613
- package/dist/builtin/workflows/src/shared/persistence-restore.ts +0 -306
- package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +0 -303
- package/dist/builtin/workflows/src/shared/prompt-answer.ts +0 -130
- package/dist/builtin/workflows/src/shared/prompt-callsite-context.ts +0 -13
- package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +0 -161
- package/dist/builtin/workflows/src/shared/resume-continuation.ts +0 -2
- package/dist/builtin/workflows/src/shared/returned-run-status.ts +0 -164
- package/dist/builtin/workflows/src/shared/run-id.ts +0 -36
- package/dist/builtin/workflows/src/shared/run-indicator-status.ts +0 -75
- package/dist/builtin/workflows/src/shared/run-visibility.ts +0 -9
- package/dist/builtin/workflows/src/shared/schema-introspection.ts +0 -111
- package/dist/builtin/workflows/src/shared/serializable.ts +0 -118
- package/dist/builtin/workflows/src/shared/session-scoped-singleton.ts +0 -98
- package/dist/builtin/workflows/src/shared/session-transcript.ts +0 -79
- package/dist/builtin/workflows/src/shared/stage-prompt.ts +0 -338
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +0 -340
- package/dist/builtin/workflows/src/shared/store-factory.ts +0 -26
- package/dist/builtin/workflows/src/shared/store-internal.ts +0 -252
- package/dist/builtin/workflows/src/shared/store-observation.ts +0 -10
- package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +0 -215
- package/dist/builtin/workflows/src/shared/store-public-types.ts +0 -282
- package/dist/builtin/workflows/src/shared/store-run-methods.ts +0 -305
- package/dist/builtin/workflows/src/shared/store-stage-methods.ts +0 -331
- package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +0 -60
- package/dist/builtin/workflows/src/shared/store-types.ts +0 -439
- package/dist/builtin/workflows/src/shared/store.ts +0 -15
- package/dist/builtin/workflows/src/shared/timing.ts +0 -71
- package/dist/builtin/workflows/src/shared/tool-payload-bounds.ts +0 -576
- package/dist/builtin/workflows/src/shared/types.ts +0 -523
- package/dist/builtin/workflows/src/shared/workflow-artifact-env.ts +0 -21
- package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +0 -259
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +0 -60
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +0 -111
- package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +0 -292
- package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +0 -74
- package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +0 -458
- package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +0 -303
- package/dist/builtin/workflows/src/shared/workflow-failures.ts +0 -13
- package/dist/builtin/workflows/src/shared/workflow-heartbeat-contract.d.ts +0 -21
- package/dist/builtin/workflows/src/shared/workflow-heartbeat-contract.ts +0 -25
- package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +0 -49
- package/dist/builtin/workflows/src/tui/chat-surface-message.ts +0 -319
- package/dist/builtin/workflows/src/tui/chat-surface.ts +0 -477
- package/dist/builtin/workflows/src/tui/color-utils.ts +0 -55
- package/dist/builtin/workflows/src/tui/connectors.ts +0 -84
- package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +0 -334
- package/dist/builtin/workflows/src/tui/edge.ts +0 -25
- package/dist/builtin/workflows/src/tui/graph-canvas.ts +0 -185
- package/dist/builtin/workflows/src/tui/graph-theme.ts +0 -292
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +0 -49
- package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +0 -157
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +0 -427
- package/dist/builtin/workflows/src/tui/graph-view-layout.ts +0 -297
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +0 -294
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +0 -361
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +0 -547
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +0 -79
- package/dist/builtin/workflows/src/tui/graph-view.ts +0 -25
- package/dist/builtin/workflows/src/tui/header.ts +0 -210
- package/dist/builtin/workflows/src/tui/host-input-form.ts +0 -64
- package/dist/builtin/workflows/src/tui/inline-form-card.ts +0 -438
- package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +0 -120
- package/dist/builtin/workflows/src/tui/inline-form-editor.ts +0 -496
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +0 -317
- package/dist/builtin/workflows/src/tui/inline-form-store.ts +0 -90
- package/dist/builtin/workflows/src/tui/inputs-overlay.ts +0 -185
- package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +0 -147
- package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +0 -357
- package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +0 -312
- package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +0 -161
- package/dist/builtin/workflows/src/tui/inputs-picker.ts +0 -20
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +0 -167
- package/dist/builtin/workflows/src/tui/layout.ts +0 -150
- package/dist/builtin/workflows/src/tui/mouse-input.ts +0 -61
- package/dist/builtin/workflows/src/tui/node-card.ts +0 -357
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +0 -449
- package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +0 -39
- package/dist/builtin/workflows/src/tui/prompt-card-input.ts +0 -215
- package/dist/builtin/workflows/src/tui/prompt-card-render.ts +0 -584
- package/dist/builtin/workflows/src/tui/prompt-card-select.ts +0 -94
- package/dist/builtin/workflows/src/tui/prompt-card-state.ts +0 -61
- package/dist/builtin/workflows/src/tui/prompt-card-text.ts +0 -122
- package/dist/builtin/workflows/src/tui/prompt-card.ts +0 -12
- package/dist/builtin/workflows/src/tui/renderers.ts +0 -14
- package/dist/builtin/workflows/src/tui/run-detail.ts +0 -438
- package/dist/builtin/workflows/src/tui/run-identity-rows.ts +0 -97
- package/dist/builtin/workflows/src/tui/session-list.ts +0 -38
- package/dist/builtin/workflows/src/tui/session-overlays.ts +0 -161
- package/dist/builtin/workflows/src/tui/session-picker.ts +0 -482
- package/dist/builtin/workflows/src/tui/stage-chat-composer-drafts.ts +0 -19
- package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +0 -81
- package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +0 -462
- package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +0 -115
- package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +0 -113
- package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +0 -219
- package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +0 -216
- package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +0 -65
- package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +0 -7
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +0 -149
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +0 -49
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +0 -575
- package/dist/builtin/workflows/src/tui/stage-chat-view-status.ts +0 -35
- package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +0 -226
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +0 -156
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +0 -309
- package/dist/builtin/workflows/src/tui/status-helpers.ts +0 -85
- package/dist/builtin/workflows/src/tui/status-list.ts +0 -447
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +0 -338
- package/dist/builtin/workflows/src/tui/submit-pane.ts +0 -148
- package/dist/builtin/workflows/src/tui/switcher.ts +0 -172
- package/dist/builtin/workflows/src/tui/text-helpers.ts +0 -208
- package/dist/builtin/workflows/src/tui/tool-detail.ts +0 -367
- package/dist/builtin/workflows/src/tui/widget.ts +0 -427
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +0 -21
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -77
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +0 -477
- package/dist/builtin/workflows/src/tui/workflow-list.ts +0 -189
- package/dist/builtin/workflows/src/tui/workflow-notice-card.ts +0 -167
- package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +0 -334
- package/dist/builtin/workflows/src/tui/workflow-status.ts +0 -12
- package/dist/builtin/workflows/src/workflows/identity.ts +0 -39
- package/dist/builtin/workflows/src/workflows/registry.ts +0 -115
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { type ConfiguredDbosDurability, configureDbosDurableBackend, type DbosDurableBackend } from "./dbos-backend.js";
|
|
2
|
-
import {
|
|
3
|
-
provisionResolvedLocalDbos,
|
|
4
|
-
resolveDbosSystemDatabaseUrl,
|
|
5
|
-
shouldProvisionLocalDbos,
|
|
6
|
-
shutdownResolvedLocalDbos,
|
|
7
|
-
} from "./dbos-local-postgres.js";
|
|
8
|
-
import { getDbosProcessOwner, resetDbosProcessOwner } from "./dbos-process-owner.js";
|
|
9
|
-
import { classifyDbosDurabilityFailure, readDbosFailureDetail } from "./dbos-registration-diagnostics.js";
|
|
10
|
-
|
|
11
|
-
export type DbosLifecycleState =
|
|
12
|
-
| "uninitialized"
|
|
13
|
-
| "configured"
|
|
14
|
-
| "launching"
|
|
15
|
-
| "ready"
|
|
16
|
-
| "failed"
|
|
17
|
-
| "shutting_down"
|
|
18
|
-
| "shut_down";
|
|
19
|
-
|
|
20
|
-
export class DbosDurabilityError extends Error {
|
|
21
|
-
constructor(message: string, options?: ErrorOptions) {
|
|
22
|
-
super(message, options);
|
|
23
|
-
this.name = "DbosDurabilityError";
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export class DbosNotReadyError extends DbosDurabilityError {
|
|
28
|
-
constructor() {
|
|
29
|
-
super("DBOS workflow durability is not ready. Await initializeDurableBackend() before accessing workflows.");
|
|
30
|
-
this.name = "DbosNotReadyError";
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export class DbosShutdownError extends DbosDurabilityError {
|
|
35
|
-
constructor() {
|
|
36
|
-
super(
|
|
37
|
-
"DBOS workflow durability has been shut down in this process. " +
|
|
38
|
-
"Durable workflows can no longer start; restart Atomic to restore durability.",
|
|
39
|
-
);
|
|
40
|
-
this.name = "DbosShutdownError";
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
type DbosConfigurator = () => Promise<ConfiguredDbosDurability>;
|
|
44
|
-
type LocalDbosProvisioner = () => Promise<void>;
|
|
45
|
-
type LocalDbosShutdowner = () => Promise<void>;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Default path: resolve the local database first (explicit env URL, embedded
|
|
49
|
-
* Postgres, or the Docker fallback), then configure DBOS against it.
|
|
50
|
-
*/
|
|
51
|
-
const defaultConfigurator: DbosConfigurator = async () => {
|
|
52
|
-
const systemDatabaseUrl = await resolveDbosSystemDatabaseUrl();
|
|
53
|
-
return await configureDbosDurableBackend(systemDatabaseUrl === undefined ? undefined : { systemDatabaseUrl });
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
let configureDurability: DbosConfigurator = defaultConfigurator;
|
|
57
|
-
let provisionLocalDbos: LocalDbosProvisioner = provisionResolvedLocalDbos;
|
|
58
|
-
let shutdownLocalDbos: LocalDbosShutdowner = shutdownResolvedLocalDbos;
|
|
59
|
-
|
|
60
|
-
function owner(): ReturnType<typeof getDbosProcessOwner> {
|
|
61
|
-
return getDbosProcessOwner();
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
async function durabilityFailure(action: string, error: unknown): Promise<DbosDurabilityError> {
|
|
65
|
-
const detail = readDbosFailureDetail(error);
|
|
66
|
-
const kind = await classifyDbosDurabilityFailure(error);
|
|
67
|
-
const guidance =
|
|
68
|
-
kind === "duplicate_registration"
|
|
69
|
-
? "A duplicate DBOS operation registration caused this failure; changing the database URL will not resolve it."
|
|
70
|
-
: "Set DBOS_SYSTEM_DATABASE_URL to an existing Postgres when local provisioning is unavailable.";
|
|
71
|
-
const cause = error instanceof Error ? { cause: error } : undefined;
|
|
72
|
-
return new DbosDurabilityError(`DBOS workflow durability ${action} failed: ${detail}. ${guidance}`, cause);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
function combinedShutdownFailure(errors: readonly unknown[]): unknown {
|
|
76
|
-
if (errors.length === 1) return errors[0];
|
|
77
|
-
return new AggregateError(errors, errors.map((error) => readDbosFailureDetail(error)).join("; "));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export async function configureDbosOnce(): Promise<ConfiguredDbosDurability> {
|
|
81
|
-
const slot = owner();
|
|
82
|
-
if (slot.failure !== undefined) throw slot.failure;
|
|
83
|
-
slot.configured ??= configureDurability()
|
|
84
|
-
.then((value) => {
|
|
85
|
-
slot.active = value;
|
|
86
|
-
slot.state = "configured";
|
|
87
|
-
return value;
|
|
88
|
-
})
|
|
89
|
-
.catch(async (error: unknown) => {
|
|
90
|
-
slot.failure = await durabilityFailure("configuration", error);
|
|
91
|
-
slot.state = "failed";
|
|
92
|
-
throw slot.failure;
|
|
93
|
-
});
|
|
94
|
-
return await slot.configured;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export async function launchDbosOnce(): Promise<void> {
|
|
98
|
-
const slot = owner();
|
|
99
|
-
if (slot.failure !== undefined) throw slot.failure;
|
|
100
|
-
// The executor is process-scoped and stops exactly once, at process exit.
|
|
101
|
-
// Post-shutdown launches must fail loudly instead of returning a backend
|
|
102
|
-
// whose SDK launched marker has been cleared.
|
|
103
|
-
if (slot.state === "shutting_down" || slot.state === "shut_down") throw new DbosShutdownError();
|
|
104
|
-
const durability = await configureDbosOnce();
|
|
105
|
-
slot.launchPromise ??= (async () => {
|
|
106
|
-
slot.state = "launching";
|
|
107
|
-
try {
|
|
108
|
-
await durability.launch();
|
|
109
|
-
slot.state = "ready";
|
|
110
|
-
} catch (error) {
|
|
111
|
-
if (shouldProvisionLocalDbos(error)) {
|
|
112
|
-
try {
|
|
113
|
-
// DBOS creates an executor before testing connectivity. Tear down the
|
|
114
|
-
// failed executor so retry does not leak a pool or hang shutdown.
|
|
115
|
-
await durability.shutdown();
|
|
116
|
-
await provisionLocalDbos();
|
|
117
|
-
await durability.launch();
|
|
118
|
-
slot.state = "ready";
|
|
119
|
-
return;
|
|
120
|
-
} catch (provisionError) {
|
|
121
|
-
slot.failure = await durabilityFailure("local Postgres startup", provisionError);
|
|
122
|
-
}
|
|
123
|
-
} else {
|
|
124
|
-
slot.failure = await durabilityFailure("launch", error);
|
|
125
|
-
}
|
|
126
|
-
slot.state = "failed";
|
|
127
|
-
throw slot.failure;
|
|
128
|
-
}
|
|
129
|
-
})();
|
|
130
|
-
await slot.launchPromise;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export async function getReadyDbosBackend(): Promise<DbosDurableBackend> {
|
|
134
|
-
await launchDbosOnce();
|
|
135
|
-
const slot = owner();
|
|
136
|
-
if (slot.state !== "ready" || slot.active === undefined) throw slot.failure ?? new DbosNotReadyError();
|
|
137
|
-
return slot.active.backend;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
export function getReadyDbosBackendSync(): DbosDurableBackend | undefined {
|
|
141
|
-
const slot = owner();
|
|
142
|
-
return slot.state === "ready" ? slot.active?.backend : undefined;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export async function shutdownDbos(): Promise<void> {
|
|
146
|
-
const slot = owner();
|
|
147
|
-
if (slot.shutdownPromise !== undefined) return await slot.shutdownPromise;
|
|
148
|
-
const configuredPromise = slot.configured;
|
|
149
|
-
if (configuredPromise === undefined) return;
|
|
150
|
-
slot.shutdownPromise = (async () => {
|
|
151
|
-
// Configuration and launch failures are intentionally not rethrown during
|
|
152
|
-
// session disposal, but local provisioning may already have started an
|
|
153
|
-
// owned cluster. Always attempt that cleanup exactly once.
|
|
154
|
-
const durability = await configuredPromise.catch(() => undefined);
|
|
155
|
-
if (durability === undefined) {
|
|
156
|
-
await shutdownLocalDbos();
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
if (slot.launchPromise !== undefined) await slot.launchPromise.catch(() => undefined);
|
|
160
|
-
if (slot.state !== "ready") {
|
|
161
|
-
await shutdownLocalDbos();
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
slot.state = "shutting_down";
|
|
165
|
-
const errors: unknown[] = [];
|
|
166
|
-
for (const shutdown of [() => durability.backend.flush(), () => durability.shutdown(), shutdownLocalDbos]) {
|
|
167
|
-
try {
|
|
168
|
-
await shutdown();
|
|
169
|
-
} catch (error) {
|
|
170
|
-
errors.push(error);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
if (errors.length > 0) throw combinedShutdownFailure(errors);
|
|
174
|
-
slot.state = "shut_down";
|
|
175
|
-
})().catch(async (error: unknown) => {
|
|
176
|
-
slot.failure = await durabilityFailure("shutdown", error);
|
|
177
|
-
slot.state = "failed";
|
|
178
|
-
throw slot.failure;
|
|
179
|
-
});
|
|
180
|
-
await slot.shutdownPromise;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Flush queued durable writes without stopping the process-scoped executor.
|
|
185
|
-
* Used at process-preserving host-session boundaries (`/new`, `/resume`,
|
|
186
|
-
* `/fork`, `/reload`) where the DBOS executor must stay launched.
|
|
187
|
-
*/
|
|
188
|
-
export async function flushDbos(): Promise<void> {
|
|
189
|
-
const slot = owner();
|
|
190
|
-
if (slot.state !== "ready" || slot.active === undefined) return;
|
|
191
|
-
await slot.active.backend.flush();
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
export function dbosLifecycleState(): DbosLifecycleState {
|
|
195
|
-
return owner().state;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/** Reset the process singleton with an explicit configurator for unit tests. */
|
|
199
|
-
export function resetDbosLifecycleForTests(
|
|
200
|
-
configurator: DbosConfigurator = defaultConfigurator,
|
|
201
|
-
provisioner: LocalDbosProvisioner = provisionResolvedLocalDbos,
|
|
202
|
-
shutdowner: LocalDbosShutdowner = shutdownResolvedLocalDbos,
|
|
203
|
-
): void {
|
|
204
|
-
resetDbosProcessOwner();
|
|
205
|
-
configureDurability = configurator;
|
|
206
|
-
provisionLocalDbos = provisioner;
|
|
207
|
-
shutdownLocalDbos = shutdowner;
|
|
208
|
-
}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Local DBOS database resolution.
|
|
3
|
-
*
|
|
4
|
-
* Without `DBOS_SYSTEM_DATABASE_URL`, Atomic never guesses at a user-managed
|
|
5
|
-
* Postgres (a reachable 5432 with foreign credentials is indistinguishable
|
|
6
|
-
* from a misconfiguration). The order is deterministic:
|
|
7
|
-
*
|
|
8
|
-
* 1. `DBOS_SYSTEM_DATABASE_URL` — the user's explicit database.
|
|
9
|
-
* 2. Atomic's embedded Postgres (npm-distributed binaries, no Docker).
|
|
10
|
-
* 3. DBOS's reusable `dbos-db` Docker container, only after embedded
|
|
11
|
-
* provisioning fails without leaving retained-process cleanup pending.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import {
|
|
15
|
-
EMBEDDED_DBOS_SYSTEM_DATABASE_URL,
|
|
16
|
-
EmbeddedPostgresCleanupPendingError,
|
|
17
|
-
ensureEmbeddedDbosPostgres,
|
|
18
|
-
shutdownEmbeddedDbosPostgres,
|
|
19
|
-
} from "./dbos-embedded-postgres.js";
|
|
20
|
-
import { commandFailureDetail, delay, runLocalCommand, tcpReachable } from "./local-command.js";
|
|
21
|
-
|
|
22
|
-
const DOCKER_CONTAINER = "dbos-db";
|
|
23
|
-
const DOCKER_IMAGE = "pgvector/pgvector:pg16";
|
|
24
|
-
const DOCKER_READY_ATTEMPTS = 60;
|
|
25
|
-
const DOCKER_READY_DELAY_MS = 500;
|
|
26
|
-
|
|
27
|
-
type LocalDbosProvider = () => Promise<void>;
|
|
28
|
-
type LocalDbosShutdowner = () => Promise<void>;
|
|
29
|
-
|
|
30
|
-
let resolution: Promise<string | undefined> | undefined;
|
|
31
|
-
let resolvedProvider: LocalDbosProvider | undefined;
|
|
32
|
-
let embeddedProvider: LocalDbosProvider = ensureEmbeddedDbosPostgres;
|
|
33
|
-
let dockerProvider: LocalDbosProvider = ensureDockerDbosPostgres;
|
|
34
|
-
let shutdownEmbeddedProvider: LocalDbosShutdowner = shutdownEmbeddedDbosPostgres;
|
|
35
|
-
let embeddedShutdown: Promise<void> | undefined;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Resolve the system database URL for this process and make its database
|
|
39
|
-
* reachable. `undefined` defers to the environment/DBOS defaults (explicit
|
|
40
|
-
* user URL or the Docker container that matches them).
|
|
41
|
-
*/
|
|
42
|
-
export function resolveDbosSystemDatabaseUrl(): Promise<string | undefined> {
|
|
43
|
-
resolution ??= resolve().catch((error: unknown) => {
|
|
44
|
-
resolution = undefined;
|
|
45
|
-
throw error;
|
|
46
|
-
});
|
|
47
|
-
return resolution;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/** Re-ensure the previously resolved local database (launch-retry safety net). */
|
|
51
|
-
export async function provisionResolvedLocalDbos(): Promise<void> {
|
|
52
|
-
await (resolvedProvider ?? embeddedProvider)();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/** Stop the local database only when the resolved provider was embedded. */
|
|
56
|
-
export function shutdownResolvedLocalDbos(): Promise<void> {
|
|
57
|
-
if (resolvedProvider !== embeddedProvider) return Promise.resolve();
|
|
58
|
-
embeddedShutdown ??= shutdownEmbeddedProvider().then(
|
|
59
|
-
() => {
|
|
60
|
-
resolvedProvider = undefined;
|
|
61
|
-
embeddedShutdown = undefined;
|
|
62
|
-
},
|
|
63
|
-
(error: unknown) => {
|
|
64
|
-
embeddedShutdown = undefined;
|
|
65
|
-
throw error;
|
|
66
|
-
},
|
|
67
|
-
);
|
|
68
|
-
return embeddedShutdown;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export function shouldProvisionLocalDbos(error: unknown): boolean {
|
|
72
|
-
if (process.env.DBOS_SYSTEM_DATABASE_URL?.trim()) return false;
|
|
73
|
-
const message = error instanceof Error ? `${error.message}\n${error.cause ?? ""}` : String(error);
|
|
74
|
-
return /ECONNREFUSED|server not reachable|connect failed|connection refused|unable to connect to system database/i.test(
|
|
75
|
-
message,
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async function resolve(): Promise<string | undefined> {
|
|
80
|
-
const explicit = process.env.DBOS_SYSTEM_DATABASE_URL?.trim();
|
|
81
|
-
if (explicit) return undefined;
|
|
82
|
-
|
|
83
|
-
try {
|
|
84
|
-
await embeddedProvider();
|
|
85
|
-
resolvedProvider = embeddedProvider;
|
|
86
|
-
return EMBEDDED_DBOS_SYSTEM_DATABASE_URL;
|
|
87
|
-
} catch (embeddedError) {
|
|
88
|
-
if (embeddedError instanceof EmbeddedPostgresCleanupPendingError) {
|
|
89
|
-
// A second database must not hide the exact child lease whose startup
|
|
90
|
-
// rollback timed out. Keep teardown routed to that embedded owner.
|
|
91
|
-
resolvedProvider = embeddedProvider;
|
|
92
|
-
throw embeddedError;
|
|
93
|
-
}
|
|
94
|
-
try {
|
|
95
|
-
await dockerProvider();
|
|
96
|
-
resolvedProvider = dockerProvider;
|
|
97
|
-
// The container matches DBOS's documented default URL; defer to it.
|
|
98
|
-
return undefined;
|
|
99
|
-
} catch (dockerError) {
|
|
100
|
-
const embeddedDetail = embeddedError instanceof Error ? embeddedError.message : String(embeddedError);
|
|
101
|
-
const dockerDetail = dockerError instanceof Error ? dockerError.message : String(dockerError);
|
|
102
|
-
throw new Error(
|
|
103
|
-
`No usable Postgres for workflow durability. Embedded Postgres: ${embeddedDetail} Docker fallback: ${dockerDetail} ` +
|
|
104
|
-
"Set DBOS_SYSTEM_DATABASE_URL to an existing Postgres to proceed.",
|
|
105
|
-
);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/** Start DBOS's canonical reusable local Postgres container. */
|
|
111
|
-
async function ensureDockerDbosPostgres(): Promise<void> {
|
|
112
|
-
const docker = await runLocalCommand("docker", ["version", "--format", "{{.Server.Version}}"]).catch(
|
|
113
|
-
() => undefined,
|
|
114
|
-
);
|
|
115
|
-
if (docker === undefined || docker.exitCode !== 0) {
|
|
116
|
-
throw new Error("Docker is unavailable.");
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
const inspection = await runLocalCommand("docker", ["inspect", "--format", "{{.State.Running}}", DOCKER_CONTAINER]);
|
|
120
|
-
if (inspection.exitCode === 0) {
|
|
121
|
-
if (inspection.stdout.trim() !== "true") {
|
|
122
|
-
await requireDockerSuccess("start existing DBOS Postgres", ["start", DOCKER_CONTAINER]);
|
|
123
|
-
}
|
|
124
|
-
} else {
|
|
125
|
-
await requireDockerSuccess("create DBOS Postgres", [
|
|
126
|
-
"run",
|
|
127
|
-
"-d",
|
|
128
|
-
"--name",
|
|
129
|
-
DOCKER_CONTAINER,
|
|
130
|
-
"-e",
|
|
131
|
-
"POSTGRES_PASSWORD=dbos",
|
|
132
|
-
"-e",
|
|
133
|
-
"PGDATA=/var/lib/postgresql/data",
|
|
134
|
-
"-p",
|
|
135
|
-
"127.0.0.1:5432:5432",
|
|
136
|
-
"-v",
|
|
137
|
-
"dbos-db-data:/var/lib/postgresql/data",
|
|
138
|
-
DOCKER_IMAGE,
|
|
139
|
-
]);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
for (let attempt = 0; attempt < DOCKER_READY_ATTEMPTS; attempt += 1) {
|
|
143
|
-
if (await tcpReachable("127.0.0.1", 5432)) return;
|
|
144
|
-
await delay(DOCKER_READY_DELAY_MS);
|
|
145
|
-
}
|
|
146
|
-
throw new Error("The DBOS Postgres container started but did not become ready within 30 seconds.");
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
async function requireDockerSuccess(action: string, args: string[]): Promise<void> {
|
|
150
|
-
const result = await runLocalCommand("docker", args);
|
|
151
|
-
if (result.exitCode === 0) return;
|
|
152
|
-
throw new Error(`Could not ${action}: ${commandFailureDetail(result)}`);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
export function resetLocalDbosProvisioningForTests(
|
|
156
|
-
embedded: LocalDbosProvider = ensureEmbeddedDbosPostgres,
|
|
157
|
-
docker: LocalDbosProvider = ensureDockerDbosPostgres,
|
|
158
|
-
shutdownEmbedded: LocalDbosShutdowner = shutdownEmbeddedDbosPostgres,
|
|
159
|
-
): void {
|
|
160
|
-
resolution = undefined;
|
|
161
|
-
resolvedProvider = undefined;
|
|
162
|
-
embeddedShutdown = undefined;
|
|
163
|
-
embeddedProvider = embedded;
|
|
164
|
-
dockerProvider = docker;
|
|
165
|
-
shutdownEmbeddedProvider = shutdownEmbedded;
|
|
166
|
-
}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import type { WorkflowActor } from "../shared/store-types.js";
|
|
2
|
-
import type { WorkflowSerializableValue } from "../shared/types.js";
|
|
3
|
-
import {
|
|
4
|
-
isWorkflowFailureCode,
|
|
5
|
-
isWorkflowFailureDisposition,
|
|
6
|
-
isWorkflowFailureKind,
|
|
7
|
-
isWorkflowFailureRecoverability,
|
|
8
|
-
} from "../shared/workflow-failures.js";
|
|
9
|
-
import type { DbosStepRecord } from "./dbos-backend.js";
|
|
10
|
-
import { DURABLE_FORMAT_VERSION, isCurrentDurableFormat } from "./format-version.js";
|
|
11
|
-
import type { DurableWorkflowMetadata, DurableWorkflowStatus } from "./types.js";
|
|
12
|
-
import { isAbsorbingDurableStatus } from "./workflow-status-transition.js";
|
|
13
|
-
|
|
14
|
-
const METADATA_STEP_PREFIX = "__atomic_metadata";
|
|
15
|
-
|
|
16
|
-
export type DbosMetadataClassification =
|
|
17
|
-
| { readonly kind: "current"; readonly metadata: DurableWorkflowMetadata; readonly generation: number }
|
|
18
|
-
| { readonly kind: "unknown" }
|
|
19
|
-
| { readonly kind: "unavailable" };
|
|
20
|
-
|
|
21
|
-
export function metadataStepName(ts: number): string {
|
|
22
|
-
return `${METADATA_STEP_PREFIX}:${ts}:${crypto.randomUUID()}`;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/** Deterministic first-writer-wins claim id for one observed generation. */
|
|
26
|
-
export function claimMetadataStepName(generation: number): string {
|
|
27
|
-
return `${METADATA_STEP_PREFIX}:${generation + 1}:claim`;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export function isMetadataStep(stepName: string): boolean {
|
|
31
|
-
return stepName === METADATA_STEP_PREFIX || stepName.startsWith(`${METADATA_STEP_PREFIX}:`);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/** Parse one metadata step record, returning current-format metadata only. */
|
|
35
|
-
export function parseCurrentMetadataRecord(
|
|
36
|
-
record: DbosStepRecord,
|
|
37
|
-
workflowId: string,
|
|
38
|
-
): DurableWorkflowMetadata | undefined {
|
|
39
|
-
const classified = classifyMetadataRecord(record, workflowId);
|
|
40
|
-
return classified.kind === "current" ? classified.metadata : undefined;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function encodeMetadata(metadata: DurableWorkflowMetadata): WorkflowSerializableValue {
|
|
44
|
-
return {
|
|
45
|
-
__atomicDurableMetadata: true,
|
|
46
|
-
version: DURABLE_FORMAT_VERSION,
|
|
47
|
-
metadata: {
|
|
48
|
-
workflowId: metadata.workflowId,
|
|
49
|
-
name: metadata.name,
|
|
50
|
-
inputs: metadata.inputs,
|
|
51
|
-
status: metadata.status,
|
|
52
|
-
createdAt: metadata.createdAt,
|
|
53
|
-
completedCheckpoints: metadata.completedCheckpoints,
|
|
54
|
-
pendingPrompts: metadata.pendingPrompts,
|
|
55
|
-
promptReservationEpoch: metadata.promptReservationEpoch,
|
|
56
|
-
...(metadata.ownerExecutorId !== undefined ? { ownerExecutorId: metadata.ownerExecutorId } : {}),
|
|
57
|
-
...(metadata.transitionClaimId !== undefined ? { transitionClaimId: metadata.transitionClaimId } : {}),
|
|
58
|
-
...(metadata.sessionFile !== undefined ? { sessionFile: metadata.sessionFile } : {}),
|
|
59
|
-
...(metadata.label !== undefined ? { label: metadata.label } : {}),
|
|
60
|
-
...(metadata.rootWorkflowId !== undefined ? { rootWorkflowId: metadata.rootWorkflowId } : {}),
|
|
61
|
-
...(metadata.resumable !== undefined ? { resumable: metadata.resumable } : {}),
|
|
62
|
-
...(metadata.exited !== undefined ? { exited: metadata.exited } : {}),
|
|
63
|
-
...(metadata.exitReason !== undefined ? { exitReason: metadata.exitReason } : {}),
|
|
64
|
-
...(metadata.error !== undefined ? { error: metadata.error } : {}),
|
|
65
|
-
...(metadata.failureKind !== undefined ? { failureKind: metadata.failureKind } : {}),
|
|
66
|
-
...(metadata.failureCode !== undefined ? { failureCode: metadata.failureCode } : {}),
|
|
67
|
-
...(metadata.failureRecoverability !== undefined
|
|
68
|
-
? { failureRecoverability: metadata.failureRecoverability }
|
|
69
|
-
: {}),
|
|
70
|
-
...(metadata.failureDisposition !== undefined ? { failureDisposition: metadata.failureDisposition } : {}),
|
|
71
|
-
...(metadata.failedToolNodeId !== undefined ? { failedToolNodeId: metadata.failedToolNodeId } : {}),
|
|
72
|
-
...(metadata.origin !== undefined ? { origin: metadata.origin } : {}),
|
|
73
|
-
...(metadata.invocationCwd !== undefined ? { invocationCwd: metadata.invocationCwd } : {}),
|
|
74
|
-
...(metadata.workflowCwd !== undefined ? { workflowCwd: metadata.workflowCwd } : {}),
|
|
75
|
-
...(metadata.repositoryRoot !== undefined ? { repositoryRoot: metadata.repositoryRoot } : {}),
|
|
76
|
-
...(metadata.gitWorktreeRoot !== undefined ? { gitWorktreeRoot: metadata.gitWorktreeRoot } : {}),
|
|
77
|
-
updatedAt: metadata.updatedAt,
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export function classifyLatestMetadata(
|
|
83
|
-
records: readonly DbosStepRecord[],
|
|
84
|
-
workflowId: string,
|
|
85
|
-
): DbosMetadataClassification {
|
|
86
|
-
const metadataRecords = records.filter((record) => isMetadataStep(record.stepName));
|
|
87
|
-
if (metadataRecords.length === 0) return { kind: "unavailable" };
|
|
88
|
-
const latest = metadataRecords.reduce((selected, record) =>
|
|
89
|
-
metadataTimestamp(record) >= metadataTimestamp(selected) ? record : selected,
|
|
90
|
-
);
|
|
91
|
-
const latestClassification = classifyMetadataRecord(latest, workflowId);
|
|
92
|
-
if (latestClassification.kind !== "current") return latestClassification;
|
|
93
|
-
const terminals = metadataRecords
|
|
94
|
-
.map((record) => ({ record, classified: classifyMetadataRecord(record, workflowId) }))
|
|
95
|
-
.filter(
|
|
96
|
-
(
|
|
97
|
-
candidate,
|
|
98
|
-
): candidate is {
|
|
99
|
-
record: DbosStepRecord;
|
|
100
|
-
classified: { kind: "current"; metadata: DurableWorkflowMetadata };
|
|
101
|
-
} =>
|
|
102
|
-
candidate.classified.kind === "current" &&
|
|
103
|
-
isAbsorbingDurableStatus(candidate.classified.metadata.status, candidate.classified.metadata.resumable),
|
|
104
|
-
);
|
|
105
|
-
if (terminals.length === 0) {
|
|
106
|
-
return { ...latestClassification, generation: metadataTimestamp(latest) };
|
|
107
|
-
}
|
|
108
|
-
const terminal = terminals.reduce((selected, candidate) =>
|
|
109
|
-
metadataTimestamp(candidate.record) >= metadataTimestamp(selected.record) ? candidate : selected,
|
|
110
|
-
);
|
|
111
|
-
return { ...terminal.classified, generation: metadataTimestamp(terminal.record) };
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function classifyMetadataRecord(
|
|
115
|
-
record: DbosStepRecord,
|
|
116
|
-
workflowId: string,
|
|
117
|
-
): { readonly kind: "current"; readonly metadata: DurableWorkflowMetadata } | { readonly kind: "unknown" } {
|
|
118
|
-
if (typeof record.output !== "object" || record.output === null || Array.isArray(record.output)) {
|
|
119
|
-
return { kind: "unknown" };
|
|
120
|
-
}
|
|
121
|
-
const raw = record.output as Record<string, WorkflowSerializableValue>;
|
|
122
|
-
if (raw.__atomicDurableMetadata !== true || !isCurrentDurableFormat(raw.version)) {
|
|
123
|
-
return { kind: "unknown" };
|
|
124
|
-
}
|
|
125
|
-
const metadata = parseDurableWorkflowMetadata(raw.metadata, workflowId);
|
|
126
|
-
return metadata === undefined ? { kind: "unknown" } : { kind: "current", metadata };
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function metadataTimestamp(record: DbosStepRecord): number {
|
|
130
|
-
const segment = record.stepName.split(":")[1];
|
|
131
|
-
const fromName = segment === undefined ? Number.NaN : Number(segment);
|
|
132
|
-
return Number.isFinite(fromName) ? fromName : (record.completedAt ?? 0);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function parseDurableWorkflowMetadata(
|
|
136
|
-
value: WorkflowSerializableValue | undefined,
|
|
137
|
-
workflowId: string,
|
|
138
|
-
): DurableWorkflowMetadata | undefined {
|
|
139
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) return undefined;
|
|
140
|
-
const metadata = value as Partial<DurableWorkflowMetadata>;
|
|
141
|
-
if (
|
|
142
|
-
metadata.workflowId !== workflowId ||
|
|
143
|
-
typeof metadata.workflowId !== "string" ||
|
|
144
|
-
typeof metadata.name !== "string" ||
|
|
145
|
-
typeof metadata.inputs !== "object" ||
|
|
146
|
-
metadata.inputs === null ||
|
|
147
|
-
Array.isArray(metadata.inputs) ||
|
|
148
|
-
typeof metadata.status !== "string" ||
|
|
149
|
-
!isDurableWorkflowStatus(metadata.status) ||
|
|
150
|
-
typeof metadata.completedCheckpoints !== "number" ||
|
|
151
|
-
typeof metadata.createdAt !== "number" ||
|
|
152
|
-
typeof metadata.pendingPrompts !== "number" ||
|
|
153
|
-
typeof metadata.promptReservationEpoch !== "string" ||
|
|
154
|
-
typeof metadata.updatedAt !== "number" ||
|
|
155
|
-
(metadata.ownerExecutorId !== undefined && typeof metadata.ownerExecutorId !== "string") ||
|
|
156
|
-
(metadata.transitionClaimId !== undefined && typeof metadata.transitionClaimId !== "string") ||
|
|
157
|
-
(metadata.sessionFile !== undefined && typeof metadata.sessionFile !== "string") ||
|
|
158
|
-
(metadata.label !== undefined && typeof metadata.label !== "string") ||
|
|
159
|
-
(metadata.rootWorkflowId !== undefined && typeof metadata.rootWorkflowId !== "string") ||
|
|
160
|
-
(metadata.resumable !== undefined && typeof metadata.resumable !== "boolean") ||
|
|
161
|
-
(metadata.exited !== undefined && typeof metadata.exited !== "boolean") ||
|
|
162
|
-
(metadata.exitReason !== undefined && typeof metadata.exitReason !== "string") ||
|
|
163
|
-
(metadata.error !== undefined && typeof metadata.error !== "string") ||
|
|
164
|
-
(metadata.failureKind !== undefined && !isWorkflowFailureKind(metadata.failureKind)) ||
|
|
165
|
-
(metadata.failureCode !== undefined && !isWorkflowFailureCode(metadata.failureCode)) ||
|
|
166
|
-
(metadata.failureRecoverability !== undefined &&
|
|
167
|
-
!isWorkflowFailureRecoverability(metadata.failureRecoverability)) ||
|
|
168
|
-
(metadata.failureDisposition !== undefined && !isWorkflowFailureDisposition(metadata.failureDisposition)) ||
|
|
169
|
-
(metadata.failedToolNodeId !== undefined && typeof metadata.failedToolNodeId !== "string") ||
|
|
170
|
-
(metadata.invocationCwd !== undefined && typeof metadata.invocationCwd !== "string") ||
|
|
171
|
-
(metadata.workflowCwd !== undefined && typeof metadata.workflowCwd !== "string") ||
|
|
172
|
-
(metadata.repositoryRoot !== undefined && typeof metadata.repositoryRoot !== "string") ||
|
|
173
|
-
(metadata.gitWorktreeRoot !== undefined && typeof metadata.gitWorktreeRoot !== "string")
|
|
174
|
-
)
|
|
175
|
-
return undefined;
|
|
176
|
-
const { origin, ...metadataWithoutOrigin } = metadata;
|
|
177
|
-
return {
|
|
178
|
-
...metadataWithoutOrigin,
|
|
179
|
-
...(isWorkflowActor(origin) ? { origin } : {}),
|
|
180
|
-
} as DurableWorkflowMetadata;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
function isWorkflowActor(value: WorkflowSerializableValue | undefined): value is WorkflowActor {
|
|
184
|
-
return value === "user" || value === "agent";
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
function isDurableWorkflowStatus(value: string): value is DurableWorkflowStatus {
|
|
188
|
-
return (
|
|
189
|
-
value === "running" ||
|
|
190
|
-
value === "paused" ||
|
|
191
|
-
value === "completed" ||
|
|
192
|
-
value === "failed" ||
|
|
193
|
-
value === "cancelled" ||
|
|
194
|
-
value === "blocked"
|
|
195
|
-
);
|
|
196
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process-global owner for DBOS lifecycle state and registered wrappers.
|
|
3
|
-
*
|
|
4
|
-
* `@dbos-inc/dbos-sdk` keeps a process-global operation registry that #1958
|
|
5
|
-
* leaves alive across session replacement. The workflows bundle is re-evaluated
|
|
6
|
-
* on `/reload` and the other process-preserving boundaries, so module-local
|
|
7
|
-
* variables restart at `uninitialized` and `configureDbosDurableBackend` would
|
|
8
|
-
* register `atomicWorkflowHandle` / `atomicWorkflowCheckpoint` a second time.
|
|
9
|
-
* The second registration throws and the replacement session degrades to
|
|
10
|
-
* `InMemoryDurableBackend` (#2022).
|
|
11
|
-
*
|
|
12
|
-
* Session scope is the wrong lifetime: the SDK registry is process-global, so
|
|
13
|
-
* a session-scoped owner would re-register per session and reproduce the bug.
|
|
14
|
-
* This slot lives on `globalThis` under `Symbol.for` so every load generation
|
|
15
|
-
* of the bundle — and a second copy of the module reached through a different
|
|
16
|
-
* specifier — shares one owner.
|
|
17
|
-
*
|
|
18
|
-
* The `@1` suffix is the shape version. Bump it when these fields change so a
|
|
19
|
-
* new generation declines an incompatible predecessor instead of reading it.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
import type { WorkflowSerializableValue } from "../shared/types.js";
|
|
23
|
-
import type { ConfiguredDbosDurability } from "./dbos-backend.js";
|
|
24
|
-
import type { DbosDurabilityError, DbosLifecycleState } from "./dbos-lifecycle.js";
|
|
25
|
-
|
|
26
|
-
export const DBOS_PROCESS_OWNER_KEY = Symbol.for("atomic-workflows/dbos-process-owner@1");
|
|
27
|
-
|
|
28
|
-
export interface DbosRegisteredWrappers {
|
|
29
|
-
readonly mainWorkflow: (
|
|
30
|
-
name: string,
|
|
31
|
-
inputs: Record<string, WorkflowSerializableValue>,
|
|
32
|
-
) => Promise<WorkflowSerializableValue>;
|
|
33
|
-
readonly checkpointWorkflow: (
|
|
34
|
-
workflowId: string,
|
|
35
|
-
stepName: string,
|
|
36
|
-
output: WorkflowSerializableValue,
|
|
37
|
-
) => Promise<WorkflowSerializableValue>;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export interface DbosProcessOwner {
|
|
41
|
-
readonly version: 1;
|
|
42
|
-
state: DbosLifecycleState;
|
|
43
|
-
configured: Promise<ConfiguredDbosDurability> | undefined;
|
|
44
|
-
active: ConfiguredDbosDurability | undefined;
|
|
45
|
-
launchPromise: Promise<void> | undefined;
|
|
46
|
-
shutdownPromise: Promise<void> | undefined;
|
|
47
|
-
failure: DbosDurabilityError | undefined;
|
|
48
|
-
wrappers: DbosRegisteredWrappers | undefined;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function emptyOwner(): DbosProcessOwner {
|
|
52
|
-
return {
|
|
53
|
-
version: 1,
|
|
54
|
-
state: "uninitialized",
|
|
55
|
-
configured: undefined,
|
|
56
|
-
active: undefined,
|
|
57
|
-
launchPromise: undefined,
|
|
58
|
-
shutdownPromise: undefined,
|
|
59
|
-
failure: undefined,
|
|
60
|
-
wrappers: undefined,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function ownerBag(): Record<symbol, DbosProcessOwner | undefined> {
|
|
65
|
-
return globalThis as typeof globalThis & Record<symbol, DbosProcessOwner | undefined>;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export function getDbosProcessOwner(): DbosProcessOwner {
|
|
69
|
-
const bag = ownerBag();
|
|
70
|
-
const existing = bag[DBOS_PROCESS_OWNER_KEY];
|
|
71
|
-
if (existing !== undefined && existing.version === 1) return existing;
|
|
72
|
-
const created = emptyOwner();
|
|
73
|
-
bag[DBOS_PROCESS_OWNER_KEY] = created;
|
|
74
|
-
return created;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/** Reset every field on the process-global slot. Used by durability tests. */
|
|
78
|
-
export function resetDbosProcessOwner(): void {
|
|
79
|
-
const owner = getDbosProcessOwner();
|
|
80
|
-
owner.state = "uninitialized";
|
|
81
|
-
owner.configured = undefined;
|
|
82
|
-
owner.active = undefined;
|
|
83
|
-
owner.launchPromise = undefined;
|
|
84
|
-
owner.shutdownPromise = undefined;
|
|
85
|
-
owner.failure = undefined;
|
|
86
|
-
owner.wrappers = undefined;
|
|
87
|
-
}
|