@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,67 +0,0 @@
|
|
|
1
|
-
import type { DbosMetadataClassification } from "./dbos-metadata.js";
|
|
2
|
-
import type { DurableWorkflowHandle, DurableWorkflowMetadata, DurableWorkflowStatus } from "./types.js";
|
|
3
|
-
import { isAbsorbingDurableStatus } from "./workflow-status-transition.js";
|
|
4
|
-
|
|
5
|
-
interface DbosStatusTransitionInput {
|
|
6
|
-
readonly expectedStatuses: readonly DurableWorkflowStatus[];
|
|
7
|
-
readonly status: DurableWorkflowStatus;
|
|
8
|
-
readonly flush: () => Promise<void>;
|
|
9
|
-
readonly read: () => Promise<DbosMetadataClassification>;
|
|
10
|
-
readonly local: () => DurableWorkflowHandle | undefined;
|
|
11
|
-
readonly reconcile: (metadata: DurableWorkflowMetadata) => void;
|
|
12
|
-
/** Atomically claim this generation's transition against concurrent processes. */
|
|
13
|
-
readonly claim?: (authoritative: DurableWorkflowMetadata, generation: number) => Promise<boolean>;
|
|
14
|
-
readonly write: () => Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Serialize local writes around authoritative generations and verify the
|
|
19
|
-
* persisted result. DBOS metadata classification makes terminal generations
|
|
20
|
-
* absorbing, so a stale nonterminal append cannot reopen a completed run.
|
|
21
|
-
* The optional claim step makes the read→write window safe across processes:
|
|
22
|
-
* every racer that observed the same generation competes for one durable
|
|
23
|
-
* first-writer-wins record before it may write.
|
|
24
|
-
*/
|
|
25
|
-
export async function transitionDbosWorkflowStatus(input: DbosStatusTransitionInput): Promise<boolean> {
|
|
26
|
-
await input.flush();
|
|
27
|
-
const authoritative = await input.read();
|
|
28
|
-
const local = input.local();
|
|
29
|
-
if (
|
|
30
|
-
local === undefined ||
|
|
31
|
-
authoritative.kind !== "current" ||
|
|
32
|
-
!input.expectedStatuses.includes(authoritative.metadata.status)
|
|
33
|
-
) {
|
|
34
|
-
if (authoritative.kind === "current") input.reconcile(authoritative.metadata);
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (input.claim !== undefined && !(await input.claim(authoritative.metadata, authoritative.generation))) {
|
|
39
|
-
const current = await input.read();
|
|
40
|
-
if (current.kind === "current") input.reconcile(current.metadata);
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
try {
|
|
45
|
-
await input.write();
|
|
46
|
-
} catch (error) {
|
|
47
|
-
const persisted = await input.read();
|
|
48
|
-
if (persisted.kind === "current" && persisted.metadata.status === input.status) {
|
|
49
|
-
input.reconcile(persisted.metadata);
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
if (
|
|
53
|
-
persisted.kind === "current" &&
|
|
54
|
-
isAbsorbingDurableStatus(persisted.metadata.status, persisted.metadata.resumable)
|
|
55
|
-
) {
|
|
56
|
-
input.reconcile(persisted.metadata);
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
throw error;
|
|
60
|
-
}
|
|
61
|
-
const persisted = await input.read();
|
|
62
|
-
if (persisted.kind !== "current" || persisted.metadata.status !== input.status) {
|
|
63
|
-
if (persisted.kind === "current") input.reconcile(persisted.metadata);
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { WorkflowSerializableValue } from "../shared/types.js";
|
|
2
|
-
import type { DbosStepRecord } from "./dbos-backend.js";
|
|
3
|
-
import { DURABLE_FORMAT_VERSION, isCurrentDurableFormat } from "./format-version.js";
|
|
4
|
-
|
|
5
|
-
export const DBOS_DELETION_STEP = "__atomic_deleted";
|
|
6
|
-
|
|
7
|
-
export type DbosDeletionCompatibility = "current" | "unknown" | "absent";
|
|
8
|
-
|
|
9
|
-
export function encodeDbosDeletionTombstone(workflowId: string): WorkflowSerializableValue {
|
|
10
|
-
return {
|
|
11
|
-
__atomicDurableDeleted: true,
|
|
12
|
-
version: DURABLE_FORMAT_VERSION,
|
|
13
|
-
workflowId,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function classifyDbosDeletionTombstone(
|
|
18
|
-
records: readonly DbosStepRecord[],
|
|
19
|
-
workflowId: string,
|
|
20
|
-
): DbosDeletionCompatibility {
|
|
21
|
-
const record = records.find((candidate) => candidate.stepName === DBOS_DELETION_STEP);
|
|
22
|
-
if (record === undefined) return "absent";
|
|
23
|
-
if (typeof record.output !== "object" || record.output === null || Array.isArray(record.output)) return "unknown";
|
|
24
|
-
const raw = record.output as Record<string, WorkflowSerializableValue>;
|
|
25
|
-
if (raw.__atomicDurableDeleted !== true || raw.workflowId !== workflowId) return "unknown";
|
|
26
|
-
return isCurrentDurableFormat(raw.version) ? "current" : "unknown";
|
|
27
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
import type { WorkflowSerializableValue } from "../shared/types.js";
|
|
3
|
-
import type { WorkflowSerializableObject } from "./types.js";
|
|
4
|
-
|
|
5
|
-
/** Compute a collision-resistant digest over canonical JSON. */
|
|
6
|
-
export function durableHash(value: WorkflowSerializableValue | WorkflowSerializableObject): string {
|
|
7
|
-
const canonical = canonicalJsonString(value);
|
|
8
|
-
const digest = createHash("sha256").update(canonical).digest("hex");
|
|
9
|
-
return `h${digest.slice(0, 32)}`;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function canonicalJsonString(value: WorkflowSerializableValue): string {
|
|
13
|
-
if (value === null || typeof value !== "object") return JSON.stringify(value);
|
|
14
|
-
if (Array.isArray(value)) return `[${value.map(canonicalJsonString).join(",")}]`;
|
|
15
|
-
const object = value as WorkflowSerializableObject;
|
|
16
|
-
const keys = Object.keys(object).sort();
|
|
17
|
-
return `{${keys.map((key) => `${JSON.stringify(key)}:${canonicalJsonString(object[key]!)}`).join(",")}}`;
|
|
18
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/** DBOS-first durable backend factory with a non-durable last-resort fallback. */
|
|
2
|
-
|
|
3
|
-
import { type DurableWorkflowBackend, InMemoryDurableBackend } from "./backend.js";
|
|
4
|
-
import {
|
|
5
|
-
DbosNotReadyError,
|
|
6
|
-
DbosShutdownError,
|
|
7
|
-
dbosLifecycleState,
|
|
8
|
-
getReadyDbosBackend,
|
|
9
|
-
getReadyDbosBackendSync,
|
|
10
|
-
} from "./dbos-lifecycle.js";
|
|
11
|
-
import { classifyDbosDurabilityFailure, readDbosFailureDetail } from "./dbos-registration-diagnostics.js";
|
|
12
|
-
|
|
13
|
-
let injectedBackend: DurableWorkflowBackend | undefined;
|
|
14
|
-
let initializedBackend: DurableWorkflowBackend | undefined;
|
|
15
|
-
let initializing: Promise<DurableWorkflowBackend> | undefined;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* A memoized backend is only reusable while its lifecycle generation is
|
|
19
|
-
* healthy. The in-memory degraded backend has no external lifecycle; a
|
|
20
|
-
* persistent (DBOS) backend is usable only while the process-scoped DBOS
|
|
21
|
-
* executor is still `ready` — never after shutdown.
|
|
22
|
-
*/
|
|
23
|
-
function isMemoizedBackendUsable(backend: DurableWorkflowBackend): boolean {
|
|
24
|
-
return !backend.persistent || dbosLifecycleState() === "ready";
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/** Return the injected test backend or the process-wide initialized backend. */
|
|
28
|
-
export function getDurableBackend(): DurableWorkflowBackend {
|
|
29
|
-
const memoized =
|
|
30
|
-
initializedBackend !== undefined && isMemoizedBackendUsable(initializedBackend) ? initializedBackend : undefined;
|
|
31
|
-
const backend = injectedBackend ?? memoized ?? getReadyDbosBackendSync();
|
|
32
|
-
if (backend === undefined) throw new DbosNotReadyError();
|
|
33
|
-
return backend;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/** Internal injection seam. Production initialization uses DBOS. */
|
|
37
|
-
export function setDurableBackend(backend: DurableWorkflowBackend | undefined): void {
|
|
38
|
-
injectedBackend = backend;
|
|
39
|
-
if (backend === undefined) {
|
|
40
|
-
initializedBackend = undefined;
|
|
41
|
-
initializing = undefined;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/** Create an isolated current-interface backend for tests only. */
|
|
46
|
-
export function createInMemoryTestBackend(): InMemoryDurableBackend {
|
|
47
|
-
return new InMemoryDurableBackend();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Configure, register, launch, and install the DBOS backend.
|
|
52
|
-
*
|
|
53
|
-
* When no durable backend can be provisioned (no `DBOS_SYSTEM_DATABASE_URL`,
|
|
54
|
-
* embedded Postgres unavailable — e.g. running as root without an
|
|
55
|
-
* unprivileged account — and no Docker), workflows degrade to a process-local
|
|
56
|
-
* in-memory backend with a loud warning instead of refusing to run at all.
|
|
57
|
-
* Non-durable runs execute normally but do not survive the process:
|
|
58
|
-
* `/workflow resume` after exit has nothing to restore.
|
|
59
|
-
*/
|
|
60
|
-
export async function initializeDurableBackend(): Promise<DurableWorkflowBackend> {
|
|
61
|
-
if (injectedBackend !== undefined) return injectedBackend;
|
|
62
|
-
if (initializedBackend !== undefined) {
|
|
63
|
-
if (isMemoizedBackendUsable(initializedBackend)) return initializedBackend;
|
|
64
|
-
// Never hand out a backend from a stopped lifecycle generation.
|
|
65
|
-
initializedBackend = undefined;
|
|
66
|
-
initializing = undefined;
|
|
67
|
-
}
|
|
68
|
-
initializing ??= getReadyDbosBackend()
|
|
69
|
-
.catch(async (error: unknown) => {
|
|
70
|
-
if (error instanceof DbosShutdownError) throw error;
|
|
71
|
-
return await degradeToNonDurableBackend(error);
|
|
72
|
-
})
|
|
73
|
-
.then((backend) => {
|
|
74
|
-
initializedBackend = backend;
|
|
75
|
-
return backend;
|
|
76
|
-
});
|
|
77
|
-
return await initializing;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
async function degradeToNonDurableBackend(error: unknown): Promise<DurableWorkflowBackend> {
|
|
81
|
-
const detail = readDbosFailureDetail(error);
|
|
82
|
-
const kind = await classifyDbosDurabilityFailure(error);
|
|
83
|
-
const restore =
|
|
84
|
-
kind === "duplicate_registration"
|
|
85
|
-
? `Restore durability by resolving the duplicate DBOS operation registration: ${detail}`
|
|
86
|
-
: `Restore durability by fixing Postgres provisioning: ${detail}`;
|
|
87
|
-
console.error(
|
|
88
|
-
"atomic-workflows: durable backend unavailable — continuing NON-DURABLY with an in-memory backend. " +
|
|
89
|
-
"Workflow runs will execute, but their state will not survive this process and `/workflow resume` " +
|
|
90
|
-
`after exit will not work. ${restore}`,
|
|
91
|
-
);
|
|
92
|
-
return new InMemoryDurableBackend();
|
|
93
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/** DBOS-only durable workflow API. */
|
|
2
|
-
|
|
3
|
-
export type { DurableWorkflowBackend, DurableWorkflowCatalogEntries } from "./backend.js";
|
|
4
|
-
export { durableHash, InMemoryDurableBackend } from "./backend.js";
|
|
5
|
-
export {
|
|
6
|
-
type CompletedWorkflowResolution,
|
|
7
|
-
completedWorkflowSnapshot,
|
|
8
|
-
listCompletedFromBackend,
|
|
9
|
-
listOpenableCompletedWorkflows,
|
|
10
|
-
resolveCompletedWorkflow,
|
|
11
|
-
} from "./completed-catalog.js";
|
|
12
|
-
export {
|
|
13
|
-
type OpenCompletedDurableDeps,
|
|
14
|
-
type OpenCompletedDurableResult,
|
|
15
|
-
openCompletedDurableWorkflow,
|
|
16
|
-
} from "./completed-inspection.js";
|
|
17
|
-
export {
|
|
18
|
-
type ConfiguredDbosDurability,
|
|
19
|
-
configureDbosDurableBackend,
|
|
20
|
-
DbosDurableBackend,
|
|
21
|
-
type DbosSdkHandle,
|
|
22
|
-
type DbosStepRecord,
|
|
23
|
-
type DbosWorkflowInfo,
|
|
24
|
-
} from "./dbos-backend.js";
|
|
25
|
-
export {
|
|
26
|
-
DBOS_ENVELOPE_VERSION,
|
|
27
|
-
type DbosCheckpointEnvelope,
|
|
28
|
-
decodeToCheckpoint,
|
|
29
|
-
encodeCheckpoint,
|
|
30
|
-
isCheckpointEnvelope,
|
|
31
|
-
} from "./dbos-envelope.js";
|
|
32
|
-
export {
|
|
33
|
-
configureDbosOnce,
|
|
34
|
-
DbosDurabilityError,
|
|
35
|
-
DbosNotReadyError,
|
|
36
|
-
DbosShutdownError,
|
|
37
|
-
flushDbos,
|
|
38
|
-
getReadyDbosBackend,
|
|
39
|
-
launchDbosOnce,
|
|
40
|
-
shutdownDbos,
|
|
41
|
-
} from "./dbos-lifecycle.js";
|
|
42
|
-
export {
|
|
43
|
-
createInMemoryTestBackend,
|
|
44
|
-
getDurableBackend,
|
|
45
|
-
initializeDurableBackend,
|
|
46
|
-
setDurableBackend,
|
|
47
|
-
} from "./factory.js";
|
|
48
|
-
export { formatResumableWorkflowList, listResumableFromBackend } from "./resume-catalog.js";
|
|
49
|
-
export {
|
|
50
|
-
prepareDurableResume,
|
|
51
|
-
type ResumeDurableDeps,
|
|
52
|
-
type ResumeDurableResult,
|
|
53
|
-
resolveDurableEntry,
|
|
54
|
-
resumeDurableWorkflow,
|
|
55
|
-
} from "./resume-runtime.js";
|
|
56
|
-
export {
|
|
57
|
-
createDurableStagePrimitive,
|
|
58
|
-
createDurableTaskPrimitive,
|
|
59
|
-
createStageReplayKeyGenerator,
|
|
60
|
-
type DurableStageDeps,
|
|
61
|
-
recordStageCheckpoint,
|
|
62
|
-
stableCheckpointId,
|
|
63
|
-
} from "./stage-primitive.js";
|
|
64
|
-
export {
|
|
65
|
-
createCheckpointIdGenerator,
|
|
66
|
-
createToolPrimitive,
|
|
67
|
-
type WorkflowToolOptions,
|
|
68
|
-
type WorkflowToolPrimitive,
|
|
69
|
-
} from "./tool-primitive.js";
|
|
70
|
-
export type {
|
|
71
|
-
DurableCheckpoint,
|
|
72
|
-
DurableStageCheckpoint,
|
|
73
|
-
DurableToolCheckpoint,
|
|
74
|
-
DurableUiCheckpoint,
|
|
75
|
-
DurableWorkflowHandle,
|
|
76
|
-
DurableWorkflowMetadata,
|
|
77
|
-
DurableWorkflowStatus,
|
|
78
|
-
ResumableWorkflowEntry,
|
|
79
|
-
UiPromptKind,
|
|
80
|
-
WorkflowSerializableObject,
|
|
81
|
-
} from "./types.js";
|
|
82
|
-
export { type DurableUiDeps, wrapUiWithDurable } from "./ui-primitive.js";
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/** Minimal subprocess and TCP helpers for local DBOS database provisioning. */
|
|
2
|
-
|
|
3
|
-
import { spawn } from "node:child_process";
|
|
4
|
-
import { connect } from "node:net";
|
|
5
|
-
import { createChildProcessEnvironment } from "@bastani/atomic";
|
|
6
|
-
|
|
7
|
-
export interface LocalCommandResult {
|
|
8
|
-
readonly exitCode: number;
|
|
9
|
-
readonly stdout: string;
|
|
10
|
-
readonly stderr: string;
|
|
11
|
-
/** True when bounded capture discarded the beginning of stdout. */
|
|
12
|
-
readonly stdoutTruncated?: true;
|
|
13
|
-
/** True when bounded capture discarded the beginning of stderr. */
|
|
14
|
-
readonly stderrTruncated?: true;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const OUTPUT_LIMIT_BYTES = 16_384;
|
|
18
|
-
|
|
19
|
-
export interface LocalCommandOptions {
|
|
20
|
-
readonly env?: Readonly<Record<string, string>>;
|
|
21
|
-
/**
|
|
22
|
-
* For daemon launchers whose successful descendants inherit stdio, settle
|
|
23
|
-
* from a successful direct-child exit. Nonzero exits still drain through
|
|
24
|
-
* `close`, preserving bounded failure diagnostics.
|
|
25
|
-
*/
|
|
26
|
-
readonly completion?: "successful-exit";
|
|
27
|
-
/** POSIX drop-privilege identity for the spawned process (root only). */
|
|
28
|
-
readonly uid?: number;
|
|
29
|
-
readonly gid?: number;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export function runLocalCommand(
|
|
33
|
-
command: string,
|
|
34
|
-
args: readonly string[],
|
|
35
|
-
options?: LocalCommandOptions,
|
|
36
|
-
): Promise<LocalCommandResult> {
|
|
37
|
-
return new Promise((resolve, reject) => {
|
|
38
|
-
const child = spawn(command, [...args], {
|
|
39
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
40
|
-
windowsHide: true,
|
|
41
|
-
env: createChildProcessEnvironment(options?.env ? { ...options.env } : undefined),
|
|
42
|
-
...(options?.uid !== undefined ? { uid: options.uid } : {}),
|
|
43
|
-
...(options?.gid !== undefined ? { gid: options.gid } : {}),
|
|
44
|
-
});
|
|
45
|
-
let stdout = "";
|
|
46
|
-
let stderr = "";
|
|
47
|
-
let stdoutTruncated = false;
|
|
48
|
-
let stderrTruncated = false;
|
|
49
|
-
let settled = false;
|
|
50
|
-
let exitFallback: NodeJS.Immediate | undefined;
|
|
51
|
-
child.stdout.setEncoding("utf8");
|
|
52
|
-
child.stderr.setEncoding("utf8");
|
|
53
|
-
const onStdout = (chunk: string): void => {
|
|
54
|
-
const appended = boundedAppend(stdout, chunk);
|
|
55
|
-
stdout = appended.value;
|
|
56
|
-
stdoutTruncated ||= appended.truncated;
|
|
57
|
-
};
|
|
58
|
-
const onStderr = (chunk: string): void => {
|
|
59
|
-
const appended = boundedAppend(stderr, chunk);
|
|
60
|
-
stderr = appended.value;
|
|
61
|
-
stderrTruncated ||= appended.truncated;
|
|
62
|
-
};
|
|
63
|
-
const cleanup = (): void => {
|
|
64
|
-
if (exitFallback !== undefined) clearImmediate(exitFallback);
|
|
65
|
-
child.off("error", onError);
|
|
66
|
-
child.off("exit", onExit);
|
|
67
|
-
child.off("close", onClose);
|
|
68
|
-
child.stdout.off("data", onStdout);
|
|
69
|
-
child.stderr.off("data", onStderr);
|
|
70
|
-
child.stdout.destroy();
|
|
71
|
-
child.stderr.destroy();
|
|
72
|
-
};
|
|
73
|
-
const finish = (code: number | null): void => {
|
|
74
|
-
if (settled) return;
|
|
75
|
-
settled = true;
|
|
76
|
-
cleanup();
|
|
77
|
-
resolve({
|
|
78
|
-
exitCode: code ?? 1,
|
|
79
|
-
stdout,
|
|
80
|
-
stderr,
|
|
81
|
-
...(stdoutTruncated ? { stdoutTruncated: true as const } : {}),
|
|
82
|
-
...(stderrTruncated ? { stderrTruncated: true as const } : {}),
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
const onError = (error: Error): void => {
|
|
86
|
-
if (settled) return;
|
|
87
|
-
settled = true;
|
|
88
|
-
cleanup();
|
|
89
|
-
reject(error);
|
|
90
|
-
};
|
|
91
|
-
const onExit = (code: number | null): void => {
|
|
92
|
-
if (code !== 0) return;
|
|
93
|
-
// pg_ctl redirects server output with `-l`; only its successful child
|
|
94
|
-
// exit needs early settlement because Postgres can retain inherited EOF.
|
|
95
|
-
exitFallback = setImmediate(() => finish(code));
|
|
96
|
-
};
|
|
97
|
-
const onClose = (code: number | null): void => finish(code);
|
|
98
|
-
child.stdout.on("data", onStdout);
|
|
99
|
-
child.stderr.on("data", onStderr);
|
|
100
|
-
child.once("error", onError);
|
|
101
|
-
if (options?.completion === "successful-exit") child.once("exit", onExit);
|
|
102
|
-
child.once("close", onClose);
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export function commandFailureDetail(result: LocalCommandResult): string {
|
|
107
|
-
return result.stderr.trim() || result.stdout.trim() || `exit ${result.exitCode}`;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export function delay(ms: number): Promise<void> {
|
|
111
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/** True when a TCP listener accepts a connection on host:port within the timeout. */
|
|
115
|
-
export function tcpReachable(host: string, port: number, timeoutMs = 1_000): Promise<boolean> {
|
|
116
|
-
return new Promise((resolve) => {
|
|
117
|
-
const socket = connect({ host, port });
|
|
118
|
-
const finish = (reachable: boolean) => {
|
|
119
|
-
socket.removeAllListeners();
|
|
120
|
-
socket.destroy();
|
|
121
|
-
resolve(reachable);
|
|
122
|
-
};
|
|
123
|
-
socket.setTimeout(timeoutMs);
|
|
124
|
-
socket.once("connect", () => finish(true));
|
|
125
|
-
socket.once("timeout", () => finish(false));
|
|
126
|
-
socket.once("error", () => finish(false));
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
function boundedAppend(current: string, chunk: string): { readonly value: string; readonly truncated: boolean } {
|
|
131
|
-
const next = current + chunk;
|
|
132
|
-
return next.length <= OUTPUT_LIMIT_BYTES
|
|
133
|
-
? { value: next, truncated: false }
|
|
134
|
-
: { value: next.slice(-OUTPUT_LIMIT_BYTES), truncated: true };
|
|
135
|
-
}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
export interface PromptReservationEntry {
|
|
2
|
-
readonly reservationId: string;
|
|
3
|
-
readonly generation: number;
|
|
4
|
-
readonly tokenId: string;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
declare const promptReservationTokenBrand: unique symbol;
|
|
8
|
-
|
|
9
|
-
/** Opaque ownership proof returned by reserve and required by release. */
|
|
10
|
-
export interface PromptReservationToken extends PromptReservationEntry {
|
|
11
|
-
readonly [promptReservationTokenBrand]: true;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface PromptReservationSnapshot {
|
|
15
|
-
readonly active: readonly PromptReservationEntry[];
|
|
16
|
-
readonly released: readonly Omit<PromptReservationEntry, "tokenId">[];
|
|
17
|
-
readonly anonymousTokenIds: readonly string[];
|
|
18
|
-
readonly consumedTokenIds: readonly string[];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export function promptReservationToken(entry: PromptReservationEntry): PromptReservationToken {
|
|
22
|
-
return entry as PromptReservationToken;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function inactivePromptReservationToken(reservationId: string): PromptReservationToken {
|
|
26
|
-
return promptReservationToken({ reservationId, generation: 1, tokenId: `inactive:${crypto.randomUUID()}` });
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function nextPendingToken(existing: ReadonlySet<string>, index: number): string {
|
|
30
|
-
let candidate = `pending:${index}`;
|
|
31
|
-
while (existing.has(candidate)) candidate = `pending:${++index}`;
|
|
32
|
-
return candidate;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** Identity-owned prompt tokens with generation tombstones for current backends. */
|
|
36
|
-
export class PromptReservationState {
|
|
37
|
-
private readonly active = new Map<string, PromptReservationEntry>();
|
|
38
|
-
private readonly released = new Map<string, number>();
|
|
39
|
-
private readonly availableTokens = new Set<string>();
|
|
40
|
-
private readonly anonymousTokens = new Set<string>();
|
|
41
|
-
private readonly consumedTokens = new Set<string>();
|
|
42
|
-
|
|
43
|
-
constructor(pendingPrompts: number, snapshot?: PromptReservationSnapshot) {
|
|
44
|
-
for (const tokenId of snapshot?.consumedTokenIds ?? []) this.consumedTokens.add(tokenId);
|
|
45
|
-
for (const entry of snapshot?.active ?? []) {
|
|
46
|
-
if (this.consumedTokens.has(entry.tokenId)) continue;
|
|
47
|
-
const current = this.active.get(entry.reservationId);
|
|
48
|
-
if (current === undefined || entry.generation > current.generation) {
|
|
49
|
-
this.active.set(entry.reservationId, entry);
|
|
50
|
-
}
|
|
51
|
-
this.availableTokens.add(entry.tokenId);
|
|
52
|
-
}
|
|
53
|
-
for (const entry of snapshot?.released ?? []) {
|
|
54
|
-
const generation = Math.max(this.released.get(entry.reservationId) ?? 0, entry.generation);
|
|
55
|
-
this.released.set(entry.reservationId, generation);
|
|
56
|
-
const active = this.active.get(entry.reservationId);
|
|
57
|
-
if (active !== undefined && active.generation <= generation) {
|
|
58
|
-
this.active.delete(entry.reservationId);
|
|
59
|
-
this.availableTokens.delete(active.tokenId);
|
|
60
|
-
this.consumedTokens.add(active.tokenId);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
for (const tokenId of snapshot?.anonymousTokenIds ?? []) {
|
|
64
|
-
if (this.consumedTokens.has(tokenId)) continue;
|
|
65
|
-
this.anonymousTokens.add(tokenId);
|
|
66
|
-
this.availableTokens.add(tokenId);
|
|
67
|
-
}
|
|
68
|
-
let index = 0;
|
|
69
|
-
while (this.availableTokens.size < Math.max(0, Math.trunc(pendingPrompts))) {
|
|
70
|
-
const tokenId = nextPendingToken(this.availableTokens, index++);
|
|
71
|
-
this.anonymousTokens.add(tokenId);
|
|
72
|
-
this.availableTokens.add(tokenId);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
get pendingPrompts(): number {
|
|
77
|
-
return this.availableTokens.size;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
activeToken(reservationId: string): PromptReservationToken | undefined {
|
|
81
|
-
const active = this.active.get(reservationId);
|
|
82
|
-
return active === undefined ? undefined : promptReservationToken(active);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
claim(reservationId: string): PromptReservationToken | undefined {
|
|
86
|
-
return (
|
|
87
|
-
this.activeToken(reservationId) ?? (this.anonymousTokens.size > 0 ? this.reserve(reservationId) : undefined)
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
reserve(reservationId: string): PromptReservationToken {
|
|
92
|
-
const current = this.active.get(reservationId);
|
|
93
|
-
if (current !== undefined) return promptReservationToken(current);
|
|
94
|
-
const generation = Math.max(this.released.get(reservationId) ?? 0, 0) + 1;
|
|
95
|
-
const anonymous = this.released.has(reservationId)
|
|
96
|
-
? undefined
|
|
97
|
-
: (this.anonymousTokens.values().next().value as string | undefined);
|
|
98
|
-
const tokenId = anonymous ?? `reservation:${encodeURIComponent(reservationId)}:${generation}`;
|
|
99
|
-
if (anonymous !== undefined) this.anonymousTokens.delete(anonymous);
|
|
100
|
-
const entry = { reservationId, generation, tokenId };
|
|
101
|
-
this.active.set(reservationId, entry);
|
|
102
|
-
this.availableTokens.add(tokenId);
|
|
103
|
-
return promptReservationToken(entry);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
release(reservationId: string, token: PromptReservationToken): void {
|
|
107
|
-
const active = this.active.get(reservationId);
|
|
108
|
-
if (
|
|
109
|
-
active === undefined ||
|
|
110
|
-
token === undefined ||
|
|
111
|
-
token.reservationId !== reservationId ||
|
|
112
|
-
active.generation !== token.generation ||
|
|
113
|
-
active.tokenId !== token.tokenId
|
|
114
|
-
)
|
|
115
|
-
return;
|
|
116
|
-
this.active.delete(reservationId);
|
|
117
|
-
this.consume(active.tokenId);
|
|
118
|
-
this.released.set(reservationId, active.generation);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
adjust(delta: number): void {
|
|
122
|
-
const count = Math.max(0, Math.trunc(Math.abs(delta)));
|
|
123
|
-
for (let index = 0; index < count; index++) {
|
|
124
|
-
if (delta > 0) {
|
|
125
|
-
const tokenId = `scalar:${crypto.randomUUID()}`;
|
|
126
|
-
this.anonymousTokens.add(tokenId);
|
|
127
|
-
this.availableTokens.add(tokenId);
|
|
128
|
-
} else if (delta < 0) {
|
|
129
|
-
const anonymous = this.anonymousTokens.values().next().value as string | undefined;
|
|
130
|
-
if (anonymous !== undefined) {
|
|
131
|
-
this.consume(anonymous);
|
|
132
|
-
continue;
|
|
133
|
-
}
|
|
134
|
-
const active = this.active.values().next().value as PromptReservationEntry | undefined;
|
|
135
|
-
if (active === undefined) break;
|
|
136
|
-
this.active.delete(active.reservationId);
|
|
137
|
-
this.released.set(active.reservationId, active.generation);
|
|
138
|
-
this.consume(active.tokenId);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
snapshot(): PromptReservationSnapshot {
|
|
144
|
-
return {
|
|
145
|
-
active: [...this.active.values()],
|
|
146
|
-
released: [...this.released].map(([reservationId, generation]) => ({ reservationId, generation })),
|
|
147
|
-
anonymousTokenIds: [...this.anonymousTokens],
|
|
148
|
-
consumedTokenIds: [...this.consumedTokens],
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
private consume(tokenId: string): void {
|
|
153
|
-
this.availableTokens.delete(tokenId);
|
|
154
|
-
this.anonymousTokens.delete(tokenId);
|
|
155
|
-
this.consumedTokens.add(tokenId);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export function mergePromptReservationSnapshots(
|
|
160
|
-
first: PromptReservationSnapshot | undefined,
|
|
161
|
-
second: PromptReservationSnapshot | undefined,
|
|
162
|
-
pendingPrompts: number,
|
|
163
|
-
): PromptReservationSnapshot | undefined {
|
|
164
|
-
if (first === undefined && second === undefined) return undefined;
|
|
165
|
-
const consumed = new Set([...(first?.consumedTokenIds ?? []), ...(second?.consumedTokenIds ?? [])]);
|
|
166
|
-
const released = new Map<string, number>();
|
|
167
|
-
for (const entry of [...(first?.released ?? []), ...(second?.released ?? [])]) {
|
|
168
|
-
released.set(entry.reservationId, Math.max(released.get(entry.reservationId) ?? 0, entry.generation));
|
|
169
|
-
}
|
|
170
|
-
const active = new Map<string, PromptReservationEntry>();
|
|
171
|
-
for (const entry of [...(first?.active ?? []), ...(second?.active ?? [])]) {
|
|
172
|
-
if (consumed.has(entry.tokenId) || (released.get(entry.reservationId) ?? 0) >= entry.generation) continue;
|
|
173
|
-
const current = active.get(entry.reservationId);
|
|
174
|
-
if (current === undefined || entry.generation > current.generation) active.set(entry.reservationId, entry);
|
|
175
|
-
}
|
|
176
|
-
const anonymousTokenIds = new Set([...(first?.anonymousTokenIds ?? []), ...(second?.anonymousTokenIds ?? [])]);
|
|
177
|
-
for (const tokenId of consumed) anonymousTokenIds.delete(tokenId);
|
|
178
|
-
return new PromptReservationState(pendingPrompts, {
|
|
179
|
-
active: [...active.values()],
|
|
180
|
-
released: [...released].map(([reservationId, generation]) => ({ reservationId, generation })),
|
|
181
|
-
anonymousTokenIds: [...anonymousTokenIds],
|
|
182
|
-
consumedTokenIds: [...consumed],
|
|
183
|
-
}).snapshot();
|
|
184
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { DurableWorkflowBackend } from "./backend.js";
|
|
2
|
-
import type { PromptReservationToken } from "./prompt-reservation-state.js";
|
|
3
|
-
|
|
4
|
-
export function durablePromptScope(
|
|
5
|
-
backend: DurableWorkflowBackend,
|
|
6
|
-
workflowId: string,
|
|
7
|
-
): { readonly rootWorkflowId: string; readonly scope: string } {
|
|
8
|
-
return backend.promptReservationScope(workflowId);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function claimDurablePromptToken(
|
|
12
|
-
backend: DurableWorkflowBackend,
|
|
13
|
-
workflowId: string,
|
|
14
|
-
reservationId: string,
|
|
15
|
-
): PromptReservationToken | undefined {
|
|
16
|
-
return backend.pendingPromptToken(workflowId, reservationId);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function reserveDurablePrompt(
|
|
20
|
-
backend: DurableWorkflowBackend,
|
|
21
|
-
workflowId: string,
|
|
22
|
-
reservationId: string,
|
|
23
|
-
): PromptReservationToken {
|
|
24
|
-
return backend.reservePendingPrompt(workflowId, reservationId);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function releaseDurablePrompt(
|
|
28
|
-
backend: DurableWorkflowBackend,
|
|
29
|
-
workflowId: string,
|
|
30
|
-
reservationId: string,
|
|
31
|
-
token: PromptReservationToken,
|
|
32
|
-
): void {
|
|
33
|
-
backend.releasePendingPrompt(workflowId, reservationId, token);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export type { PromptReservationToken } from "./prompt-reservation-state.js";
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { DurableWorkflowBackend } from "./backend.js";
|
|
2
|
-
import type { ResumableWorkflowEntry } from "./types.js";
|
|
3
|
-
|
|
4
|
-
/** List resumable workflows directly from the ready backend. */
|
|
5
|
-
export function listResumableFromBackend(backend: DurableWorkflowBackend): readonly ResumableWorkflowEntry[] {
|
|
6
|
-
return backend.listResumableWorkflows();
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function formatResumableWorkflowList(entries: readonly ResumableWorkflowEntry[]): string {
|
|
10
|
-
if (entries.length === 0) return "No resumable or completed workflows found.";
|
|
11
|
-
const hasCompleted = entries.some((entry) => entry.status === "completed");
|
|
12
|
-
const lines = entries.map((entry, index) => {
|
|
13
|
-
const id = entry.workflowId;
|
|
14
|
-
const status = entry.status === "completed" ? "✓ completed" : entry.status.padEnd(8);
|
|
15
|
-
const checkpoints = `${entry.completedCheckpoints} checkpoint${entry.completedCheckpoints === 1 ? "" : "s"}`;
|
|
16
|
-
const label = entry.label ? ` "${entry.label}"` : "";
|
|
17
|
-
return ` ${index + 1}. ${id} ${status} ${entry.name}${label} (${checkpoints})`;
|
|
18
|
-
});
|
|
19
|
-
return `${hasCompleted ? "Workflow resume targets" : "Resumable workflows"}:\n${lines.join("\n")}`;
|
|
20
|
-
}
|