@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,247 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DURABLE_STAGE_TOPOLOGY_VERSION,
|
|
3
|
-
type DurableStageCheckpoint,
|
|
4
|
-
type DurableStageRunTopology,
|
|
5
|
-
type DurableStageTopology,
|
|
6
|
-
} from "./types.js";
|
|
7
|
-
|
|
8
|
-
/** Immutable source identity must agree before lifecycle records are merged. */
|
|
9
|
-
export function immutableStageGroupError(stages: readonly DurableStageCheckpoint[]): string | undefined {
|
|
10
|
-
const occurrenceError = promptOccurrenceIdentityError(stages);
|
|
11
|
-
if (occurrenceError !== undefined) return occurrenceError;
|
|
12
|
-
const byReplayKey = groupByDurableStageKey(stages);
|
|
13
|
-
for (const group of byReplayKey.values()) {
|
|
14
|
-
const firstName = group[0]?.name;
|
|
15
|
-
if (group.some((stage) => stage.name !== firstName)) return "stage name drift within one replay-key group";
|
|
16
|
-
const topologies = group.flatMap((stage) => (stage.topology === undefined ? [] : [stage.topology]));
|
|
17
|
-
const first = topologies[0];
|
|
18
|
-
if (first === undefined) continue;
|
|
19
|
-
if (
|
|
20
|
-
topologies.some(
|
|
21
|
-
(topology) =>
|
|
22
|
-
topology.version !== DURABLE_STAGE_TOPOLOGY_VERSION ||
|
|
23
|
-
topology.stageId !== first.stageId ||
|
|
24
|
-
!sameStrings(topology.parentIds, first.parentIds) ||
|
|
25
|
-
topology.sourceOrder !== first.sourceOrder ||
|
|
26
|
-
!sameOptionalRun(topology.run, first.run),
|
|
27
|
-
)
|
|
28
|
-
) {
|
|
29
|
-
return "immutable stage identity drift within one replay-key group";
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** Validate the complete direct-child DAG before any scoped cache can be exposed. */
|
|
36
|
-
export function directChildTopologyError(
|
|
37
|
-
stages: readonly DurableStageCheckpoint[],
|
|
38
|
-
replayScope: string,
|
|
39
|
-
expectedRun: DurableStageRunTopology,
|
|
40
|
-
requireCurrentIdentity = true,
|
|
41
|
-
allowedNodeIds: ReadonlySet<string> = new Set(),
|
|
42
|
-
): string | undefined {
|
|
43
|
-
const prefix = `${replayScope}:`;
|
|
44
|
-
const claiming = stages.filter((stage) => stage.topology?.run?.runId === expectedRun.runId);
|
|
45
|
-
if (claiming.some((stage) => !stage.replayKey.startsWith(prefix))) {
|
|
46
|
-
return "child run topology exists outside its durable invocation scope";
|
|
47
|
-
}
|
|
48
|
-
if (claiming.some((stage) => !sameRun(stage.topology?.run, expectedRun))) {
|
|
49
|
-
return "child checkpoint ownership is not reciprocal";
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const directKeys = new Set(claiming.map((stage) => durableStageGroupKey(stage, stages)));
|
|
53
|
-
const direct = stages.filter((stage) => directKeys.has(durableStageGroupKey(stage, stages)));
|
|
54
|
-
const immutableError = immutableStageGroupError(direct);
|
|
55
|
-
if (immutableError !== undefined) return immutableError;
|
|
56
|
-
|
|
57
|
-
const merged: DurableStageTopology[] = [];
|
|
58
|
-
for (const group of groupByDurableStageKey(direct).values()) {
|
|
59
|
-
const topology = group.find((stage) => stage.topology?.run?.runId === expectedRun.runId)?.topology;
|
|
60
|
-
if (topology === undefined) return "direct child stage group lacks owning-run topology";
|
|
61
|
-
if (
|
|
62
|
-
topology.version !== DURABLE_STAGE_TOPOLOGY_VERSION ||
|
|
63
|
-
(requireCurrentIdentity && topology.sourceOrder === undefined)
|
|
64
|
-
) {
|
|
65
|
-
return "direct child stage topology lacks current source identity";
|
|
66
|
-
}
|
|
67
|
-
if (topology.stageId.length === 0) return "direct child stage id is empty";
|
|
68
|
-
merged.push(topology);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const ids = new Set<string>(allowedNodeIds);
|
|
72
|
-
const stageIds = new Set<string>();
|
|
73
|
-
const orders = new Set<number>();
|
|
74
|
-
for (const topology of merged) {
|
|
75
|
-
if (stageIds.has(topology.stageId) || ids.has(topology.stageId)) return "direct child stage ids are not unique";
|
|
76
|
-
stageIds.add(topology.stageId);
|
|
77
|
-
ids.add(topology.stageId);
|
|
78
|
-
if (topology.sourceOrder !== undefined) {
|
|
79
|
-
if (orders.has(topology.sourceOrder)) return "direct child source orders are not unique";
|
|
80
|
-
orders.add(topology.sourceOrder);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (merged.some((topology) => topology.parentIds.some((parentId) => !ids.has(parentId)))) {
|
|
84
|
-
return "direct child stage references an unknown parent";
|
|
85
|
-
}
|
|
86
|
-
return hasCycle(merged) ? "direct child stage topology contains a cycle" : undefined;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export function owningBoundaryIdError(
|
|
90
|
-
stages: readonly DurableStageCheckpoint[],
|
|
91
|
-
owningRunId: string,
|
|
92
|
-
): string | undefined {
|
|
93
|
-
const starts = stages.filter(
|
|
94
|
-
(stage) => stage.topology?.run?.runId === owningRunId && stage.topology.boundary?.event === "start",
|
|
95
|
-
);
|
|
96
|
-
const seen = new Map<string, string>();
|
|
97
|
-
for (const start of starts) {
|
|
98
|
-
const stageId = start.topology!.stageId;
|
|
99
|
-
if (stageId.length === 0) return "owning-run boundary stage id is empty";
|
|
100
|
-
const prior = seen.get(stageId);
|
|
101
|
-
if (prior !== undefined && prior !== start.replayKey) return "owning-run boundary stage id is aliased";
|
|
102
|
-
seen.set(stageId, start.replayKey);
|
|
103
|
-
}
|
|
104
|
-
return undefined;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export function sameRun(actual: DurableStageRunTopology | undefined, expected: DurableStageRunTopology): boolean {
|
|
108
|
-
return (
|
|
109
|
-
actual !== undefined &&
|
|
110
|
-
actual.runId === expected.runId &&
|
|
111
|
-
actual.runName === expected.runName &&
|
|
112
|
-
actual.parentRunId === expected.parentRunId &&
|
|
113
|
-
actual.parentStageId === expected.parentStageId &&
|
|
114
|
-
actual.rootRunId === expected.rootRunId
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export function sameStrings(left: readonly string[], right: readonly string[]): boolean {
|
|
119
|
-
return left.length === right.length && left.every((value, index) => value === right[index]);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function sameOptionalRun(
|
|
123
|
-
actual: DurableStageRunTopology | undefined,
|
|
124
|
-
expected: DurableStageRunTopology | undefined,
|
|
125
|
-
): boolean {
|
|
126
|
-
if (actual === undefined || expected === undefined) return actual === expected;
|
|
127
|
-
return sameRun(actual, expected);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/** Reject prompt occurrence metadata that aliases another logical replay identity. */
|
|
131
|
-
export function promptOccurrenceIdentityError(stages: readonly DurableStageCheckpoint[]): string | undefined {
|
|
132
|
-
const replayByOccurrence = new Map<string, string>();
|
|
133
|
-
const occurrenceByReplayStage = new Map<string, string>();
|
|
134
|
-
const stageByReplayOccurrence = new Map<string, string>();
|
|
135
|
-
for (const stage of stages) {
|
|
136
|
-
const topology = stage.topology;
|
|
137
|
-
const occurrence = topology?.occurrenceKey;
|
|
138
|
-
if (topology === undefined || occurrence === undefined) continue;
|
|
139
|
-
const priorReplay = replayByOccurrence.get(occurrence);
|
|
140
|
-
if (priorReplay !== undefined && priorReplay !== stage.replayKey) {
|
|
141
|
-
return "prompt occurrence is bound to multiple replay keys";
|
|
142
|
-
}
|
|
143
|
-
replayByOccurrence.set(occurrence, stage.replayKey);
|
|
144
|
-
const replayStage = compositeKey("prompt-stage", stage.replayKey, topology.stageId);
|
|
145
|
-
const priorOccurrence = occurrenceByReplayStage.get(replayStage);
|
|
146
|
-
if (priorOccurrence !== undefined && priorOccurrence !== occurrence) {
|
|
147
|
-
return "prompt stage identity is bound to multiple occurrences";
|
|
148
|
-
}
|
|
149
|
-
occurrenceByReplayStage.set(replayStage, occurrence);
|
|
150
|
-
const replayOccurrence = compositeKey("prompt-occurrence", stage.replayKey, occurrence);
|
|
151
|
-
const priorStage = stageByReplayOccurrence.get(replayOccurrence);
|
|
152
|
-
if (priorStage !== undefined && priorStage !== topology.stageId) {
|
|
153
|
-
return "prompt occurrence is bound to multiple stage identities";
|
|
154
|
-
}
|
|
155
|
-
stageByReplayOccurrence.set(replayOccurrence, topology.stageId);
|
|
156
|
-
}
|
|
157
|
-
for (const legacy of stages) {
|
|
158
|
-
if (legacy.topology === undefined || legacy.topology.occurrenceKey !== undefined) continue;
|
|
159
|
-
const matches = stages.filter(
|
|
160
|
-
(current) =>
|
|
161
|
-
current.topology?.occurrenceKey !== undefined &&
|
|
162
|
-
current.replayKey === legacy.replayKey &&
|
|
163
|
-
current.topology.stageId === legacy.topology?.stageId,
|
|
164
|
-
);
|
|
165
|
-
if (matches.some((current) => !samePromptOccurrenceIdentity(legacy, current))) {
|
|
166
|
-
return "legacy prompt occurrence immutable identity drifted from current metadata";
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
return undefined;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/** Group prompt occurrences by replay + occurrence while retaining strict non-prompt replay grouping. */
|
|
173
|
-
export function durableStageGroupKey(
|
|
174
|
-
stage: DurableStageCheckpoint,
|
|
175
|
-
stages: readonly DurableStageCheckpoint[] = [stage],
|
|
176
|
-
): string {
|
|
177
|
-
const occurrence = stage.topology?.occurrenceKey ?? matchingCurrentOccurrence(stage, stages);
|
|
178
|
-
return occurrence === undefined
|
|
179
|
-
? compositeKey("stage-replay", stage.replayKey)
|
|
180
|
-
: compositeKey("prompt-occurrence", stage.replayKey, occurrence);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
export function groupByDurableStageKey(
|
|
184
|
-
stages: readonly DurableStageCheckpoint[],
|
|
185
|
-
): Map<string, DurableStageCheckpoint[]> {
|
|
186
|
-
const groups = new Map<string, DurableStageCheckpoint[]>();
|
|
187
|
-
for (const stage of stages) {
|
|
188
|
-
const key = durableStageGroupKey(stage, stages);
|
|
189
|
-
const group = groups.get(key) ?? [];
|
|
190
|
-
group.push(stage);
|
|
191
|
-
groups.set(key, group);
|
|
192
|
-
}
|
|
193
|
-
return groups;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
function matchingCurrentOccurrence(
|
|
197
|
-
legacy: DurableStageCheckpoint,
|
|
198
|
-
stages: readonly DurableStageCheckpoint[],
|
|
199
|
-
): string | undefined {
|
|
200
|
-
if (legacy.topology === undefined) return undefined;
|
|
201
|
-
const matches = stages.filter(
|
|
202
|
-
(current) =>
|
|
203
|
-
current.topology?.occurrenceKey !== undefined &&
|
|
204
|
-
current.replayKey === legacy.replayKey &&
|
|
205
|
-
current.topology.stageId === legacy.topology?.stageId &&
|
|
206
|
-
samePromptOccurrenceIdentity(legacy, current),
|
|
207
|
-
);
|
|
208
|
-
const occurrences = new Set(matches.map((current) => current.topology!.occurrenceKey!));
|
|
209
|
-
return occurrences.size === 1 ? occurrences.values().next().value : undefined;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
function samePromptOccurrenceIdentity(legacy: DurableStageCheckpoint, current: DurableStageCheckpoint): boolean {
|
|
213
|
-
const left = legacy.topology;
|
|
214
|
-
const right = current.topology;
|
|
215
|
-
return (
|
|
216
|
-
left !== undefined &&
|
|
217
|
-
right !== undefined &&
|
|
218
|
-
legacy.name === current.name &&
|
|
219
|
-
left.version === right.version &&
|
|
220
|
-
left.stageId === right.stageId &&
|
|
221
|
-
sameStrings(left.parentIds, right.parentIds) &&
|
|
222
|
-
left.sourceOrder === right.sourceOrder &&
|
|
223
|
-
sameOptionalRun(left.run, right.run) &&
|
|
224
|
-
left.boundary === undefined &&
|
|
225
|
-
right.boundary === undefined
|
|
226
|
-
);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
function compositeKey(domain: string, ...parts: readonly string[]): string {
|
|
230
|
-
return JSON.stringify([domain, ...parts]);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
function hasCycle(topologies: readonly DurableStageTopology[]): boolean {
|
|
234
|
-
const parents = new Map(topologies.map((topology) => [topology.stageId, topology.parentIds]));
|
|
235
|
-
const visiting = new Set<string>();
|
|
236
|
-
const visited = new Set<string>();
|
|
237
|
-
const cyclic = (stageId: string): boolean => {
|
|
238
|
-
if (visiting.has(stageId)) return true;
|
|
239
|
-
if (visited.has(stageId)) return false;
|
|
240
|
-
visiting.add(stageId);
|
|
241
|
-
if ((parents.get(stageId) ?? []).some(cyclic)) return true;
|
|
242
|
-
visiting.delete(stageId);
|
|
243
|
-
visited.add(stageId);
|
|
244
|
-
return false;
|
|
245
|
-
};
|
|
246
|
-
return topologies.some((topology) => cyclic(topology.stageId));
|
|
247
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { StageSnapshot } from "../shared/store-types.js";
|
|
2
|
-
import type { DurableWorkflowBackend } from "./backend.js";
|
|
3
|
-
import {
|
|
4
|
-
DURABLE_STAGE_TOPOLOGY_VERSION,
|
|
5
|
-
type DurableStageCheckpoint,
|
|
6
|
-
type DurableStageRunTopology,
|
|
7
|
-
type DurableStageTopology,
|
|
8
|
-
} from "./types.js";
|
|
9
|
-
|
|
10
|
-
/** Find source identity for the latest active session at an exact replay key. */
|
|
11
|
-
export function activeStageTopology(
|
|
12
|
-
backend: DurableWorkflowBackend,
|
|
13
|
-
workflowId: string,
|
|
14
|
-
replayKey: string,
|
|
15
|
-
): DurableStageTopology | undefined {
|
|
16
|
-
const checkpoints = backend.listCheckpoints(workflowId);
|
|
17
|
-
for (let index = checkpoints.length - 1; index >= 0; index -= 1) {
|
|
18
|
-
const checkpoint = checkpoints[index];
|
|
19
|
-
if (checkpoint?.kind !== "stage" || checkpoint.replayKey !== replayKey) continue;
|
|
20
|
-
const topology = checkpoint.topology;
|
|
21
|
-
if (topology !== undefined && (topology.run === undefined || topology.run.runId === workflowId)) return topology;
|
|
22
|
-
}
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function durableStageCheckpointMetadata(
|
|
27
|
-
stage: StageSnapshot,
|
|
28
|
-
run?: DurableStageRunTopology,
|
|
29
|
-
sourceOrder?: number,
|
|
30
|
-
): Partial<DurableStageCheckpoint> {
|
|
31
|
-
return {
|
|
32
|
-
topology: {
|
|
33
|
-
version: DURABLE_STAGE_TOPOLOGY_VERSION,
|
|
34
|
-
stageId: stage.id,
|
|
35
|
-
parentIds: [...stage.parentIds],
|
|
36
|
-
...(stage.executionOrder !== undefined ? { order: stage.executionOrder } : {}),
|
|
37
|
-
...(sourceOrder !== undefined && sourceOrder >= 0 ? { sourceOrder } : {}),
|
|
38
|
-
...(stage.promptFootprint !== undefined ? { occurrenceKey: stage.id } : {}),
|
|
39
|
-
status: stage.status,
|
|
40
|
-
...(run !== undefined ? { run: { ...run } } : {}),
|
|
41
|
-
},
|
|
42
|
-
...(stage.startedAt !== undefined ? { startedAt: stage.startedAt } : {}),
|
|
43
|
-
...(stage.endedAt !== undefined ? { endedAt: stage.endedAt } : {}),
|
|
44
|
-
...(stage.result !== undefined ? { result: stage.result } : {}),
|
|
45
|
-
...(stage.sessionId !== undefined ? { sessionId: stage.sessionId } : {}),
|
|
46
|
-
...(stage.sessionFile !== undefined ? { sessionFile: stage.sessionFile } : {}),
|
|
47
|
-
...(stage.durationMs !== undefined ? { durationMs: stage.durationMs } : {}),
|
|
48
|
-
...(stage.model !== undefined ? { model: stage.model } : {}),
|
|
49
|
-
...(stage.fastMode !== undefined ? { fastMode: stage.fastMode } : {}),
|
|
50
|
-
...(stage.attemptedModels !== undefined ? { attemptedModels: [...stage.attemptedModels] } : {}),
|
|
51
|
-
...(stage.modelAttempts !== undefined ? { modelAttempts: [...stage.modelAttempts] } : {}),
|
|
52
|
-
};
|
|
53
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { inspectRun, type RunDetail } from "../runs/background/run-inspect.js";
|
|
2
|
-
import { createStore, type Store } from "../shared/store.js";
|
|
3
|
-
import type { RunSnapshot } from "../shared/store-types.js";
|
|
4
|
-
import type { DurableWorkflowBackend } from "./backend.js";
|
|
5
|
-
import { durableWorkflowRunSnapshots } from "./completed-catalog.js";
|
|
6
|
-
import { getAtomicExecutorId } from "./dbos-sdk-handle.js";
|
|
7
|
-
import { isForeignLiveWorkflow, isLiveRunningWorkflow } from "./resume-eligibility.js";
|
|
8
|
-
|
|
9
|
-
export type TargetedDurableInspection =
|
|
10
|
-
| {
|
|
11
|
-
readonly kind: "found";
|
|
12
|
-
readonly detail: RunDetail;
|
|
13
|
-
readonly runs: readonly RunSnapshot[];
|
|
14
|
-
readonly store: Store;
|
|
15
|
-
}
|
|
16
|
-
| { readonly kind: "absent" | "deleted" | "malformed"; readonly message: string };
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Hydrate and reconstruct one exact durable root for inspection only.
|
|
20
|
-
*
|
|
21
|
-
* This path never claims ownership, changes durable status, starts execution,
|
|
22
|
-
* or restores snapshots into the current session store.
|
|
23
|
-
*/
|
|
24
|
-
export async function inspectTargetedDurableWorkflow(
|
|
25
|
-
backend: DurableWorkflowBackend,
|
|
26
|
-
workflowId: string,
|
|
27
|
-
now: number = Date.now(),
|
|
28
|
-
): Promise<TargetedDurableInspection> {
|
|
29
|
-
const hydrated = backend.hydrateWorkflowForInspection
|
|
30
|
-
? await backend.hydrateWorkflowForInspection(workflowId)
|
|
31
|
-
: await hydrateWithoutClassification(backend, workflowId);
|
|
32
|
-
if (hydrated.kind !== "current") return hydrationFailure(workflowId, hydrated.kind);
|
|
33
|
-
const handle = hydrated.handle;
|
|
34
|
-
if (handle.rootWorkflowId !== undefined && handle.rootWorkflowId !== handle.workflowId) {
|
|
35
|
-
return malformed(workflowId, "the requested id belongs to a nested workflow rather than a durable root");
|
|
36
|
-
}
|
|
37
|
-
const reconstructed = durableWorkflowRunSnapshots(backend, handle);
|
|
38
|
-
if (reconstructed.length === 0)
|
|
39
|
-
return malformed(workflowId, "durable checkpoint topology is malformed or incomplete");
|
|
40
|
-
const runs = structuredClone(reconstructed);
|
|
41
|
-
|
|
42
|
-
const inspectionStore = createStore();
|
|
43
|
-
for (const run of runs) inspectionStore.recordRunStart(structuredClone(run));
|
|
44
|
-
const inspected = inspectRun(workflowId, { store: inspectionStore });
|
|
45
|
-
if (!inspected.ok) return malformed(workflowId, "the durable checkpoint graph has no reciprocal root");
|
|
46
|
-
|
|
47
|
-
const foreignLive = isForeignLiveWorkflow(handle, getAtomicExecutorId(), now);
|
|
48
|
-
const live = isLiveRunningWorkflow(handle, now);
|
|
49
|
-
const crashed = handle.status === "running" && !live;
|
|
50
|
-
const resumeGuidance = crashed
|
|
51
|
-
? inspected.detail.resumable === true
|
|
52
|
-
? `This workflow appears to have crashed and is resumable. Resume it explicitly with /workflow resume ${workflowId}.`
|
|
53
|
-
: "This workflow appears to have crashed, but its retained state is not resumable."
|
|
54
|
-
: foreignLive
|
|
55
|
-
? "This workflow is actively running in another Atomic session. Inspect it here, but control it from its owner session."
|
|
56
|
-
: live
|
|
57
|
-
? "This workflow still has a fresh durable heartbeat. Inspect it here without starting another executor."
|
|
58
|
-
: terminalGuidance(handle.status, workflowId, inspected.detail.resumable === true);
|
|
59
|
-
return {
|
|
60
|
-
kind: "found",
|
|
61
|
-
runs,
|
|
62
|
-
store: inspectionStore,
|
|
63
|
-
detail: {
|
|
64
|
-
...inspected.detail,
|
|
65
|
-
...(crashed ? { status: "crashed" as const } : {}),
|
|
66
|
-
...(live ? { resumable: false } : {}),
|
|
67
|
-
...(foreignLive ? { ownerActiveElsewhere: true } : {}),
|
|
68
|
-
resumeGuidance,
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function terminalGuidance(status: string, workflowId: string, resumable: boolean): string {
|
|
74
|
-
if (resumable)
|
|
75
|
-
return `This retained workflow is ${status} and resumable. Resume it explicitly with /workflow resume ${workflowId}.`;
|
|
76
|
-
return `This retained workflow is ${status} and available for read-only inspection.`;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async function hydrateWithoutClassification(
|
|
80
|
-
backend: DurableWorkflowBackend,
|
|
81
|
-
workflowId: string,
|
|
82
|
-
): Promise<import("./backend.js").DurableWorkflowHydrationResult> {
|
|
83
|
-
await backend.hydrateWorkflow(workflowId);
|
|
84
|
-
const handle = backend.getLoadableWorkflow(workflowId);
|
|
85
|
-
return handle === undefined ? { kind: "absent" } : { kind: "current", handle };
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function hydrationFailure(
|
|
89
|
-
workflowId: string,
|
|
90
|
-
kind: Exclude<TargetedDurableInspection["kind"], "found">,
|
|
91
|
-
): TargetedDurableInspection {
|
|
92
|
-
switch (kind) {
|
|
93
|
-
case "absent":
|
|
94
|
-
return {
|
|
95
|
-
kind,
|
|
96
|
-
message: `Run not found: ${workflowId} (not present in the current session or durable store).`,
|
|
97
|
-
};
|
|
98
|
-
case "deleted":
|
|
99
|
-
return { kind, message: `Durable workflow was deleted: ${workflowId}` };
|
|
100
|
-
case "malformed":
|
|
101
|
-
return malformed(workflowId, "current DBOS metadata or checkpoints are malformed");
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function malformed(workflowId: string, reason: string): TargetedDurableInspection {
|
|
106
|
-
return {
|
|
107
|
-
kind: "malformed",
|
|
108
|
-
message: `Durable workflow ${workflowId} cannot be inspected safely: ${reason}.`,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { ToolNodeSnapshot } from "../shared/store-types.js";
|
|
2
|
-
import type { WorkflowSerializableValue } from "../shared/types.js";
|
|
3
|
-
import type { DurableWorkflowBackend } from "./backend.js";
|
|
4
|
-
import { workflowToolFailure } from "./tool-outcome.js";
|
|
5
|
-
import { DURABLE_TOOL_TOPOLOGY_VERSION, type DurableStageRunTopology } from "./types.js";
|
|
6
|
-
|
|
7
|
-
export interface ThrowingToolFailureCheckpointInput {
|
|
8
|
-
readonly workflowId: string;
|
|
9
|
-
readonly backend: DurableWorkflowBackend;
|
|
10
|
-
readonly nextCheckpointId: () => string;
|
|
11
|
-
readonly runTopology?: DurableStageRunTopology;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/** Persist a throwing failure for inspection without making it replayable. */
|
|
15
|
-
export async function recordThrowingToolFailure(
|
|
16
|
-
input: ThrowingToolFailureCheckpointInput,
|
|
17
|
-
node: ToolNodeSnapshot,
|
|
18
|
-
identity: {
|
|
19
|
-
readonly name: string;
|
|
20
|
-
readonly args?: Readonly<Record<string, WorkflowSerializableValue>>;
|
|
21
|
-
readonly source?: string;
|
|
22
|
-
readonly argsHash: string;
|
|
23
|
-
readonly ordinal: number;
|
|
24
|
-
readonly startedAt: number;
|
|
25
|
-
},
|
|
26
|
-
error: unknown,
|
|
27
|
-
attempts: number,
|
|
28
|
-
): Promise<{ readonly message: string; readonly failedAt: number }> {
|
|
29
|
-
const message = workflowToolFailure(error, attempts, false).error.message;
|
|
30
|
-
const failedAt = Date.now();
|
|
31
|
-
await input.backend.recordAdditiveCheckpointBestEffort({
|
|
32
|
-
kind: "tool",
|
|
33
|
-
workflowId: input.workflowId,
|
|
34
|
-
checkpointId: `tool-failure:${identity.argsHash}:${input.nextCheckpointId()}`,
|
|
35
|
-
name: identity.name,
|
|
36
|
-
...(identity.args !== undefined ? { args: identity.args } : {}),
|
|
37
|
-
...(identity.source !== undefined ? { source: identity.source } : {}),
|
|
38
|
-
argsHash: identity.argsHash,
|
|
39
|
-
output: null,
|
|
40
|
-
throwingFailureError: message,
|
|
41
|
-
completedAt: failedAt,
|
|
42
|
-
topology: {
|
|
43
|
-
version: DURABLE_TOOL_TOPOLOGY_VERSION,
|
|
44
|
-
nodeId: node.id,
|
|
45
|
-
ordinal: identity.ordinal,
|
|
46
|
-
order: node.executionOrder ?? 0,
|
|
47
|
-
parentIds: [...node.parentIds],
|
|
48
|
-
startedAt: identity.startedAt,
|
|
49
|
-
endedAt: failedAt,
|
|
50
|
-
...(input.runTopology !== undefined ? { run: { ...input.runTopology } } : {}),
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
return { message, failedAt };
|
|
54
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
WorkflowSerializableValue,
|
|
3
|
-
WorkflowToolError,
|
|
4
|
-
WorkflowToolFailure,
|
|
5
|
-
WorkflowToolOutcome,
|
|
6
|
-
WorkflowToolSuccess,
|
|
7
|
-
} from "../shared/types.js";
|
|
8
|
-
import {
|
|
9
|
-
errorMessage,
|
|
10
|
-
errorName,
|
|
11
|
-
field,
|
|
12
|
-
redactSensitiveText,
|
|
13
|
-
selectProcessFailureError,
|
|
14
|
-
} from "../shared/workflow-failures-signals.js";
|
|
15
|
-
|
|
16
|
-
export const TOOL_FAILURE_TEXT_LIMIT_BYTES = 16_384;
|
|
17
|
-
const TRUNCATION_PREFIX = "[workflow tool output truncated; showing final bytes]\n";
|
|
18
|
-
|
|
19
|
-
function safeField(error: unknown, key: string): unknown {
|
|
20
|
-
try {
|
|
21
|
-
return field(error, key);
|
|
22
|
-
} catch {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function exposedText(error: unknown, key: "stdout" | "stderr"): string | undefined {
|
|
28
|
-
const value = safeField(error, key);
|
|
29
|
-
if (typeof value === "string") return value;
|
|
30
|
-
try {
|
|
31
|
-
if (value instanceof ArrayBuffer) return new TextDecoder().decode(value);
|
|
32
|
-
if (ArrayBuffer.isView(value)) {
|
|
33
|
-
return new TextDecoder().decode(new Uint8Array(value.buffer, value.byteOffset, value.byteLength));
|
|
34
|
-
}
|
|
35
|
-
} catch {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
return undefined;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export function boundedSafeToolFailureText(value: string): string {
|
|
42
|
-
const redacted = redactSensitiveText(value);
|
|
43
|
-
const bytes = new TextEncoder().encode(redacted);
|
|
44
|
-
if (bytes.byteLength <= TOOL_FAILURE_TEXT_LIMIT_BYTES) return redacted;
|
|
45
|
-
const prefix = new TextEncoder().encode(TRUNCATION_PREFIX);
|
|
46
|
-
const tailLength = Math.max(0, TOOL_FAILURE_TEXT_LIMIT_BYTES - prefix.byteLength);
|
|
47
|
-
let start = bytes.byteLength - tailLength;
|
|
48
|
-
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
49
|
-
while (start < bytes.byteLength) {
|
|
50
|
-
try {
|
|
51
|
-
return TRUNCATION_PREFIX + decoder.decode(bytes.slice(start));
|
|
52
|
-
} catch {
|
|
53
|
-
start += 1;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return TRUNCATION_PREFIX.slice(0, TOOL_FAILURE_TEXT_LIMIT_BYTES);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function safeErrorText(error: unknown): string {
|
|
60
|
-
try {
|
|
61
|
-
return String(error);
|
|
62
|
-
} catch {
|
|
63
|
-
return "Tool callback failed";
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export function normalizeWorkflowToolError(error: unknown): WorkflowToolError {
|
|
68
|
-
error = selectProcessFailureError(error);
|
|
69
|
-
const exitCode = safeField(error, "exitCode");
|
|
70
|
-
const stdout = exposedText(error, "stdout");
|
|
71
|
-
const stderr = exposedText(error, "stderr");
|
|
72
|
-
let message: string;
|
|
73
|
-
let name: string;
|
|
74
|
-
try {
|
|
75
|
-
message = errorMessage(error);
|
|
76
|
-
} catch {
|
|
77
|
-
message = safeErrorText(error);
|
|
78
|
-
}
|
|
79
|
-
try {
|
|
80
|
-
name = errorName(error) ?? "Error";
|
|
81
|
-
} catch {
|
|
82
|
-
name = "Error";
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
name: boundedSafeToolFailureText(name),
|
|
86
|
-
message: boundedSafeToolFailureText(message),
|
|
87
|
-
...(typeof exitCode === "number" && Number.isInteger(exitCode) ? { exitCode } : {}),
|
|
88
|
-
...(stdout !== undefined ? { stdout: boundedSafeToolFailureText(stdout) } : {}),
|
|
89
|
-
...(stderr !== undefined ? { stderr: boundedSafeToolFailureText(stderr) } : {}),
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export function workflowToolSuccess<TValue extends WorkflowSerializableValue>(
|
|
94
|
-
value: TValue,
|
|
95
|
-
attempts: number,
|
|
96
|
-
cached: boolean,
|
|
97
|
-
): WorkflowToolSuccess<TValue> {
|
|
98
|
-
return { ok: true, value, attempts, cached };
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export function workflowToolFailure(error: unknown, attempts: number, cached: boolean): WorkflowToolFailure {
|
|
102
|
-
return { ok: false, error: normalizeWorkflowToolError(error), attempts, cached };
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export function workflowToolOutcomeFromValue<TValue extends WorkflowSerializableValue>(
|
|
106
|
-
value: WorkflowSerializableValue,
|
|
107
|
-
): WorkflowToolOutcome<TValue> | undefined {
|
|
108
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) return undefined;
|
|
109
|
-
const candidate = value as Record<string, WorkflowSerializableValue>;
|
|
110
|
-
if (!Number.isInteger(candidate.attempts) || typeof candidate.cached !== "boolean") return undefined;
|
|
111
|
-
if (candidate.ok === true && "value" in candidate) return candidate as WorkflowToolSuccess<TValue>;
|
|
112
|
-
const error = candidate.error;
|
|
113
|
-
if (candidate.ok !== false || error === null || typeof error !== "object" || Array.isArray(error)) return undefined;
|
|
114
|
-
const details = error as Record<string, WorkflowSerializableValue>;
|
|
115
|
-
if (
|
|
116
|
-
typeof details.name !== "string" ||
|
|
117
|
-
typeof details.message !== "string" ||
|
|
118
|
-
(details.exitCode !== undefined && !Number.isInteger(details.exitCode)) ||
|
|
119
|
-
(details.stdout !== undefined && typeof details.stdout !== "string") ||
|
|
120
|
-
(details.stderr !== undefined && typeof details.stderr !== "string")
|
|
121
|
-
)
|
|
122
|
-
return undefined;
|
|
123
|
-
return candidate as WorkflowToolFailure;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export function replayedWorkflowToolOutcome<TValue extends WorkflowSerializableValue>(
|
|
127
|
-
outcome: WorkflowToolOutcome<TValue>,
|
|
128
|
-
): WorkflowToolOutcome<TValue> {
|
|
129
|
-
return { ...outcome, cached: true };
|
|
130
|
-
}
|