@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,547 +0,0 @@
|
|
|
1
|
-
import type { ReadonlyFooterDataProvider } from "@bastani/atomic";
|
|
2
|
-
import {
|
|
3
|
-
type ExpandedWorkflowGraph,
|
|
4
|
-
type ExpandedWorkflowStage,
|
|
5
|
-
type ExpandedWorkflowStageTarget,
|
|
6
|
-
type ExpandedWorkflowTool,
|
|
7
|
-
expandedStageTarget,
|
|
8
|
-
expandWorkflowGraph,
|
|
9
|
-
refreshExpandedWorkflowGraph,
|
|
10
|
-
sameExpandedWorkflowTopology,
|
|
11
|
-
} from "../shared/expanded-workflow-graph.js";
|
|
12
|
-
import type { Store } from "../shared/store.js";
|
|
13
|
-
import { readGraphStoreSnapshot, subscribeStoreInvalidation } from "../shared/store-observation.js";
|
|
14
|
-
import type { PendingPrompt, RunSnapshot, StageSnapshot, StoreSnapshot } from "../shared/store-types.js";
|
|
15
|
-
import type { GraphTheme } from "./graph-theme.js";
|
|
16
|
-
import { ANIMATION_TICK_MS } from "./graph-view-constants.js";
|
|
17
|
-
import type { GraphViewMode, GraphViewOpts } from "./graph-view-types.js";
|
|
18
|
-
import { computeLayout, type LayoutNode, NODE_H, NODE_W } from "./layout.js";
|
|
19
|
-
import { createPromptCardState, type PromptCardState } from "./prompt-card.js";
|
|
20
|
-
import type { SwitcherState } from "./switcher.js";
|
|
21
|
-
|
|
22
|
-
export interface GraphStageCounts {
|
|
23
|
-
pending: number;
|
|
24
|
-
running: number;
|
|
25
|
-
awaiting_input: number;
|
|
26
|
-
paused: number;
|
|
27
|
-
blocked: number;
|
|
28
|
-
completed: number;
|
|
29
|
-
failed: number;
|
|
30
|
-
skipped: number;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
interface GraphNodeHitRect {
|
|
34
|
-
index: number;
|
|
35
|
-
top: number;
|
|
36
|
-
bottom: number;
|
|
37
|
-
left: number;
|
|
38
|
-
right: number;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
interface GraphViewportGeometry {
|
|
42
|
-
leftMargin: number;
|
|
43
|
-
viewportWidth: number;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
interface GraphLayoutBand {
|
|
47
|
-
top: number;
|
|
48
|
-
bottom: number;
|
|
49
|
-
nodeIndices: number[];
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
interface GraphRenderEdge {
|
|
53
|
-
parentX: number;
|
|
54
|
-
parentY: number;
|
|
55
|
-
childX: number;
|
|
56
|
-
childY: number;
|
|
57
|
-
top: number;
|
|
58
|
-
bottom: number;
|
|
59
|
-
left: number;
|
|
60
|
-
right: number;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
interface GraphRenderGeometry {
|
|
64
|
-
canvasWidth: number;
|
|
65
|
-
totalRows: number;
|
|
66
|
-
bands: GraphLayoutBand[];
|
|
67
|
-
edges: GraphRenderEdge[];
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/** Expansion, focus, prompt, and store-backed layout state for GraphView. */
|
|
71
|
-
export abstract class GraphViewState {
|
|
72
|
-
protected mode: GraphViewMode;
|
|
73
|
-
protected runId: string | null;
|
|
74
|
-
protected store: Store;
|
|
75
|
-
protected graphTheme: GraphTheme;
|
|
76
|
-
protected onClose?: () => void;
|
|
77
|
-
protected onHide?: () => void;
|
|
78
|
-
protected onPromptResolve?: (runId: string, promptId: string, response: unknown) => void;
|
|
79
|
-
protected onStageAttach?: (runId: string, stageId: string) => void;
|
|
80
|
-
protected onDetach?: () => void;
|
|
81
|
-
protected initialFocusedStageId?: string;
|
|
82
|
-
protected initialFocusedRunId?: string;
|
|
83
|
-
protected piTui?: GraphViewOpts["piTui"];
|
|
84
|
-
protected requestRender?: () => void;
|
|
85
|
-
protected piKeybindings?: unknown;
|
|
86
|
-
protected footerData?: ReadonlyFooterDataProvider;
|
|
87
|
-
protected getStageQueuedMessageCount?: (runId: string, stageId: string) => number;
|
|
88
|
-
|
|
89
|
-
/** Active HIL prompt state, set when `_rebuildLayout` sees a new prompt id. */
|
|
90
|
-
protected promptState: PromptCardState | null = null;
|
|
91
|
-
|
|
92
|
-
protected focusedIndex = 0;
|
|
93
|
-
protected switcherOpen = false;
|
|
94
|
-
protected switcherState: SwitcherState = { query: "", selectedIndex: 0 };
|
|
95
|
-
protected detailsExpanded = true;
|
|
96
|
-
protected cachedLayout: LayoutNode[] = [];
|
|
97
|
-
/** Stages mirrored from `cachedLayout` — shared across card renders. */
|
|
98
|
-
protected cachedDisplayStages: StageSnapshot[] = [];
|
|
99
|
-
protected expandedGraph: ExpandedWorkflowGraph = {
|
|
100
|
-
stages: [],
|
|
101
|
-
renderStages: [],
|
|
102
|
-
tools: [],
|
|
103
|
-
nodes: [],
|
|
104
|
-
targets: new Map(),
|
|
105
|
-
};
|
|
106
|
-
protected currentSnapshot: StoreSnapshot | null = null;
|
|
107
|
-
/** Selected read-only tool detail; tool nodes never become stage chats. */
|
|
108
|
-
protected toolDetail: ExpandedWorkflowTool | null = null;
|
|
109
|
-
/** Tool message blocks open collapsed and own expansion independently of graph cards. */
|
|
110
|
-
protected toolDetailExpanded = false;
|
|
111
|
-
protected abstract _graphScrollTop(): number;
|
|
112
|
-
protected graphScrollColOffset = 0;
|
|
113
|
-
protected graphNodeHitRects: GraphNodeHitRect[] = [];
|
|
114
|
-
protected lastGraphViewport: GraphViewportGeometry | null = null;
|
|
115
|
-
protected lastGraphTopPad = 0;
|
|
116
|
-
protected lastGraphVisibleRows = 0;
|
|
117
|
-
protected pendingEnsureFocusedVisible = true;
|
|
118
|
-
protected lastAutoFocusedAwaitingInputKey: string | null = null;
|
|
119
|
-
protected lastBuiltSnapshotVersion: number | null = null;
|
|
120
|
-
protected topologySnapshot: StoreSnapshot | null = null;
|
|
121
|
-
protected hasAnimatingStages = false;
|
|
122
|
-
protected cachedRenderGeometry: GraphRenderGeometry = { canvasWidth: 0, totalRows: 0, bands: [], edges: [] };
|
|
123
|
-
|
|
124
|
-
protected _intervalId: ReturnType<typeof setInterval> | null = null;
|
|
125
|
-
protected _lastGTime: number | null = null;
|
|
126
|
-
protected _unsubscribe: (() => void) | null = null;
|
|
127
|
-
|
|
128
|
-
constructor(opts: GraphViewOpts) {
|
|
129
|
-
this.mode = opts.mode;
|
|
130
|
-
this.runId = opts.runId;
|
|
131
|
-
this.store = opts.store;
|
|
132
|
-
this.graphTheme = opts.graphTheme;
|
|
133
|
-
this.onClose = opts.onClose;
|
|
134
|
-
this.onHide = opts.onHide;
|
|
135
|
-
this.onPromptResolve = opts.onPromptResolve;
|
|
136
|
-
this.onStageAttach = opts.onStageAttach;
|
|
137
|
-
this.onDetach = opts.onDetach;
|
|
138
|
-
this.initialFocusedStageId = opts.initialFocusedStageId;
|
|
139
|
-
this.initialFocusedRunId = opts.initialFocusedRunId;
|
|
140
|
-
this.piTui = opts.piTui;
|
|
141
|
-
this.requestRender = opts.requestRender;
|
|
142
|
-
this.piKeybindings = opts.piKeybindings;
|
|
143
|
-
this.footerData = opts.footerData;
|
|
144
|
-
this.getStageQueuedMessageCount = opts.getStageQueuedMessageCount;
|
|
145
|
-
|
|
146
|
-
this._unsubscribe = subscribeStoreInvalidation(this.store, () => {
|
|
147
|
-
this.currentSnapshot = readGraphStoreSnapshot(this.store);
|
|
148
|
-
this._rebuildLayout();
|
|
149
|
-
});
|
|
150
|
-
this.currentSnapshot = readGraphStoreSnapshot(this.store);
|
|
151
|
-
this._rebuildLayout();
|
|
152
|
-
|
|
153
|
-
// Animation tick: while the overlay is mounted, fire a render
|
|
154
|
-
// request every `ANIMATION_TICK_MS` so the duration counter on
|
|
155
|
-
// each running stage advances and the border-pulse lerp animates
|
|
156
|
-
// even when the user isn't pressing keys. Only overlay mode owns
|
|
157
|
-
// visible animations; widget mode renders a single status line
|
|
158
|
-
// that never needs a steady cadence. The host's `requestRender`
|
|
159
|
-
// is responsible for gating on overlay visibility / focus — see
|
|
160
|
-
// `overlay-adapter.ts` and `workflow-attach-pane.ts`. With that
|
|
161
|
-
// gate in place the previous tmux scrollback "ghost overlay"
|
|
162
|
-
// failure mode does not apply: pi-tui owns the screen buffer
|
|
163
|
-
// and diff-blits frames in place.
|
|
164
|
-
//
|
|
165
|
-
// Skip ticks when nothing is animating (#2100): a large completed
|
|
166
|
-
// or pending-only graph must not burn ~10 full paints/sec.
|
|
167
|
-
if (this.mode === "overlay" && this.requestRender) {
|
|
168
|
-
this._intervalId = setInterval(() => {
|
|
169
|
-
if (!this._needsAnimationTick()) return;
|
|
170
|
-
this.requestRender?.();
|
|
171
|
-
}, ANIMATION_TICK_MS);
|
|
172
|
-
(this._intervalId as { unref?: () => void }).unref?.();
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
protected _needsAnimationTick(): boolean {
|
|
177
|
-
return this.promptState !== null || this.hasAnimatingStages;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
protected _rebuildLayout(): void {
|
|
181
|
-
const version = this.currentSnapshot?.version ?? null;
|
|
182
|
-
// Overlay adapter calls `invalidate()` after GraphView's own store
|
|
183
|
-
// subscriber already rebuilt for this snapshot — skip the duplicate.
|
|
184
|
-
if (version !== null && version === this.lastBuiltSnapshotVersion) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
const run = this._getCurrentRun();
|
|
189
|
-
if (!run) {
|
|
190
|
-
this.cachedLayout = [];
|
|
191
|
-
this.cachedDisplayStages = [];
|
|
192
|
-
this.cachedRenderGeometry = { canvasWidth: 0, totalRows: 0, bands: [], edges: [] };
|
|
193
|
-
this.expandedGraph = { stages: [], renderStages: [], tools: [], nodes: [], targets: new Map() };
|
|
194
|
-
this.focusedIndex = 0;
|
|
195
|
-
this.graphScrollColOffset = 0;
|
|
196
|
-
this.graphNodeHitRects = [];
|
|
197
|
-
this.lastGraphViewport = null;
|
|
198
|
-
this.pendingEnsureFocusedVisible = true;
|
|
199
|
-
this.promptState = null;
|
|
200
|
-
this.toolDetail = null;
|
|
201
|
-
this.topologySnapshot = this.currentSnapshot;
|
|
202
|
-
this.hasAnimatingStages = false;
|
|
203
|
-
this.lastBuiltSnapshotVersion = version;
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
const previousFocusedStageId = this.cachedLayout[this.focusedIndex]?.stage.id;
|
|
208
|
-
const graphStages = this._graphStages(run);
|
|
209
|
-
const sameTopology =
|
|
210
|
-
this.cachedLayout.length === graphStages.length &&
|
|
211
|
-
this.cachedLayout.length > 0 &&
|
|
212
|
-
this.cachedLayout.every((node, index) => {
|
|
213
|
-
const next = graphStages[index];
|
|
214
|
-
if (!next || node.stage.id !== next.id || node.stage.nodeKind !== next.nodeKind) return false;
|
|
215
|
-
if (node.stage.parentIds.length !== next.parentIds.length) return false;
|
|
216
|
-
return node.stage.parentIds.every((parentId, parentIndex) => parentId === next.parentIds[parentIndex]);
|
|
217
|
-
});
|
|
218
|
-
|
|
219
|
-
if (sameTopology) {
|
|
220
|
-
for (let index = 0; index < this.cachedLayout.length; index++) {
|
|
221
|
-
this.cachedLayout[index]!.stage = graphStages[index]!;
|
|
222
|
-
}
|
|
223
|
-
this.cachedDisplayStages = [...graphStages];
|
|
224
|
-
this.hasAnimatingStages = graphStages.some(
|
|
225
|
-
(stage) => stage.status === "running" || stage.status === "awaiting_input",
|
|
226
|
-
);
|
|
227
|
-
this._finalizeFocusAndPrompt(run, previousFocusedStageId, true);
|
|
228
|
-
this._syncToolDetail();
|
|
229
|
-
this.lastBuiltSnapshotVersion = version;
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
const nextLayout = computeLayout(graphStages, { orientation: "vertical" });
|
|
234
|
-
this.cachedLayout = nextLayout;
|
|
235
|
-
this.cachedDisplayStages = nextLayout.map((node) => node.stage);
|
|
236
|
-
this.cachedRenderGeometry = this._buildRenderGeometry(nextLayout);
|
|
237
|
-
this.hasAnimatingStages = graphStages.some(
|
|
238
|
-
(stage) => stage.status === "running" || stage.status === "awaiting_input",
|
|
239
|
-
);
|
|
240
|
-
this.graphNodeHitRects = [];
|
|
241
|
-
this.lastGraphViewport = null;
|
|
242
|
-
this._finalizeFocusAndPrompt(run, previousFocusedStageId, false);
|
|
243
|
-
this._syncToolDetail();
|
|
244
|
-
this.lastBuiltSnapshotVersion = version;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
private _buildRenderGeometry(layout: readonly LayoutNode[]): GraphRenderGeometry {
|
|
248
|
-
let canvasWidth = 0;
|
|
249
|
-
let totalRows = 0;
|
|
250
|
-
const nodeByStageId = new Map<string, LayoutNode>();
|
|
251
|
-
const bandsByTop = new Map<number, GraphLayoutBand>();
|
|
252
|
-
for (let index = 0; index < layout.length; index++) {
|
|
253
|
-
const node = layout[index]!;
|
|
254
|
-
canvasWidth = Math.max(canvasWidth, node.x + NODE_W);
|
|
255
|
-
totalRows = Math.max(totalRows, node.y + NODE_H);
|
|
256
|
-
nodeByStageId.set(node.stage.id, node);
|
|
257
|
-
const band = bandsByTop.get(node.y);
|
|
258
|
-
if (band) band.nodeIndices.push(index);
|
|
259
|
-
else bandsByTop.set(node.y, { top: node.y, bottom: node.y + NODE_H, nodeIndices: [index] });
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
const edges: GraphRenderEdge[] = [];
|
|
263
|
-
for (const node of layout) {
|
|
264
|
-
for (const parentId of node.stage.parentIds) {
|
|
265
|
-
const parent = nodeByStageId.get(parentId);
|
|
266
|
-
if (!parent) continue;
|
|
267
|
-
const parentCol = parent.x + Math.floor(NODE_W / 2);
|
|
268
|
-
const childCol = node.x + Math.floor(NODE_W / 2);
|
|
269
|
-
edges.push({
|
|
270
|
-
parentX: parent.x,
|
|
271
|
-
parentY: parent.y,
|
|
272
|
-
childX: node.x,
|
|
273
|
-
childY: node.y,
|
|
274
|
-
top: parent.y + NODE_H,
|
|
275
|
-
bottom: node.y,
|
|
276
|
-
left: Math.min(parentCol, childCol),
|
|
277
|
-
right: Math.max(parentCol, childCol) + 1,
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
return {
|
|
282
|
-
canvasWidth,
|
|
283
|
-
totalRows,
|
|
284
|
-
bands: [...bandsByTop.values()].sort((left, right) => left.top - right.top),
|
|
285
|
-
edges,
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
protected _firstVisibleLayoutBand(viewportTop: number): number {
|
|
290
|
-
const bands = this.cachedRenderGeometry.bands;
|
|
291
|
-
let low = 0;
|
|
292
|
-
let high = bands.length;
|
|
293
|
-
while (low < high) {
|
|
294
|
-
const middle = Math.floor((low + high) / 2);
|
|
295
|
-
if (bands[middle]!.bottom <= viewportTop) low = middle + 1;
|
|
296
|
-
else high = middle;
|
|
297
|
-
}
|
|
298
|
-
return low;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
protected _finalizeFocusAndPrompt(
|
|
302
|
-
run: RunSnapshot,
|
|
303
|
-
previousFocusedStageId: string | undefined,
|
|
304
|
-
preserveHitRects: boolean,
|
|
305
|
-
): void {
|
|
306
|
-
let focusNeedsReveal = this.pendingEnsureFocusedVisible;
|
|
307
|
-
// One-shot: if the host passed `initialFocusedStageId`, snap the
|
|
308
|
-
// cursor to that stage now that the layout exists. The attach shell
|
|
309
|
-
// uses this when swapping back from chat mode so the focus lands on
|
|
310
|
-
// the same node the user just attached to.
|
|
311
|
-
if (this.initialFocusedStageId !== undefined) {
|
|
312
|
-
const idx = this.cachedLayout.findIndex((node) => {
|
|
313
|
-
const target = expandedStageTarget(this.expandedGraph, node.stage.id);
|
|
314
|
-
if (this.initialFocusedRunId === undefined) {
|
|
315
|
-
return node.stage.id === this.initialFocusedStageId || target?.stageId === this.initialFocusedStageId;
|
|
316
|
-
}
|
|
317
|
-
return (
|
|
318
|
-
target !== undefined &&
|
|
319
|
-
target.stageId === this.initialFocusedStageId &&
|
|
320
|
-
target.runId === this.initialFocusedRunId
|
|
321
|
-
);
|
|
322
|
-
});
|
|
323
|
-
if (idx >= 0 && idx !== this.focusedIndex) {
|
|
324
|
-
this.focusedIndex = idx;
|
|
325
|
-
focusNeedsReveal = true;
|
|
326
|
-
}
|
|
327
|
-
this.initialFocusedStageId = undefined;
|
|
328
|
-
this.initialFocusedRunId = undefined;
|
|
329
|
-
} else if (previousFocusedStageId !== undefined) {
|
|
330
|
-
const idx = this.cachedLayout.findIndex((n) => n.stage.id === previousFocusedStageId);
|
|
331
|
-
if (idx >= 0 && idx !== this.focusedIndex) {
|
|
332
|
-
this.focusedIndex = idx;
|
|
333
|
-
focusNeedsReveal = true;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
const awaitingTarget = this._awaitingInputFocusTarget();
|
|
338
|
-
if (awaitingTarget) {
|
|
339
|
-
if (awaitingTarget.key !== this.lastAutoFocusedAwaitingInputKey) {
|
|
340
|
-
this.focusedIndex = awaitingTarget.index;
|
|
341
|
-
focusNeedsReveal = true;
|
|
342
|
-
this.lastAutoFocusedAwaitingInputKey = awaitingTarget.key;
|
|
343
|
-
}
|
|
344
|
-
} else {
|
|
345
|
-
this.lastAutoFocusedAwaitingInputKey = null;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
if (this.cachedLayout.length === 0) {
|
|
349
|
-
this.focusedIndex = 0;
|
|
350
|
-
this.graphScrollColOffset = 0;
|
|
351
|
-
} else if (this.focusedIndex >= this.cachedLayout.length) {
|
|
352
|
-
this.focusedIndex = this.cachedLayout.length - 1;
|
|
353
|
-
focusNeedsReveal = true;
|
|
354
|
-
}
|
|
355
|
-
this.pendingEnsureFocusedVisible = focusNeedsReveal;
|
|
356
|
-
if (!preserveHitRects && focusNeedsReveal) {
|
|
357
|
-
this.graphNodeHitRects = [];
|
|
358
|
-
this.lastGraphViewport = null;
|
|
359
|
-
}
|
|
360
|
-
this._syncPromptState(run.pendingPrompt);
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
protected _awaitingInputFocusTarget(): { index: number; key: string } | null {
|
|
364
|
-
let newest: { index: number; key: string; createdAt: number } | null = null;
|
|
365
|
-
for (let index = 0; index < this.cachedLayout.length; index++) {
|
|
366
|
-
const stage = this.cachedLayout[index]!.stage;
|
|
367
|
-
const target = this._awaitingInputKey(stage);
|
|
368
|
-
if (!target) continue;
|
|
369
|
-
if (!newest || target.createdAt >= newest.createdAt) {
|
|
370
|
-
newest = { index, key: target.key, createdAt: target.createdAt };
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
return newest ? { index: newest.index, key: newest.key } : null;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
protected _awaitingInputKey(stage: StageSnapshot): { key: string; createdAt: number } | null {
|
|
377
|
-
const target = expandedStageTarget(this.expandedGraph, stage.id);
|
|
378
|
-
const prefix = target ? `${target.runId}:${target.stageId}` : stage.id;
|
|
379
|
-
if (stage.pendingPrompt) {
|
|
380
|
-
return {
|
|
381
|
-
key: `prompt:${prefix}:${stage.pendingPrompt.id}`,
|
|
382
|
-
createdAt: stage.pendingPrompt.createdAt,
|
|
383
|
-
};
|
|
384
|
-
}
|
|
385
|
-
if (stage.inputRequest) {
|
|
386
|
-
return {
|
|
387
|
-
key: `input-request:${prefix}:${stage.inputRequest.id}`,
|
|
388
|
-
createdAt: stage.inputRequest.createdAt,
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
if (stage.status === "awaiting_input") {
|
|
392
|
-
return {
|
|
393
|
-
key: `awaiting:${prefix}:${stage.awaitingInputSince ?? "active"}`,
|
|
394
|
-
createdAt: stage.awaitingInputSince ?? stage.startedAt ?? 0,
|
|
395
|
-
};
|
|
396
|
-
}
|
|
397
|
-
return null;
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
protected _graphStages(run: RunSnapshot): ExpandedWorkflowStage[] {
|
|
401
|
-
const snapshot = this.currentSnapshot;
|
|
402
|
-
if (!snapshot) return [];
|
|
403
|
-
const canRefresh =
|
|
404
|
-
this.topologySnapshot !== null && sameExpandedWorkflowTopology(this.topologySnapshot, snapshot);
|
|
405
|
-
const refreshed = canRefresh ? refreshExpandedWorkflowGraph(this.expandedGraph, snapshot) : undefined;
|
|
406
|
-
this.expandedGraph = refreshed ?? expandWorkflowGraph(snapshot, run.id);
|
|
407
|
-
this.topologySnapshot = snapshot;
|
|
408
|
-
const stages = [...this.expandedGraph.renderStages];
|
|
409
|
-
const hasStagePrompt = stages.some(
|
|
410
|
-
(stage) =>
|
|
411
|
-
stage.pendingPrompt !== undefined ||
|
|
412
|
-
(stage.status === "awaiting_input" && stage.promptFootprint?.kind === "custom"),
|
|
413
|
-
);
|
|
414
|
-
if (!hasStagePrompt) return stages;
|
|
415
|
-
return stages.filter((stage) => {
|
|
416
|
-
const isUnstartedPlaceholder =
|
|
417
|
-
stage.status === "pending" &&
|
|
418
|
-
stage.startedAt === undefined &&
|
|
419
|
-
stage.pendingPrompt === undefined &&
|
|
420
|
-
stage.toolEvents.length === 0;
|
|
421
|
-
return !isUnstartedPlaceholder;
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
/**
|
|
426
|
-
* Mirror the run's `pendingPrompt` into a UI working state. A new prompt
|
|
427
|
-
* id resets the state (caret + buffer); a cleared prompt drops the state
|
|
428
|
-
* so the card disappears.
|
|
429
|
-
*/
|
|
430
|
-
protected _syncPromptState(prompt: PendingPrompt | undefined): void {
|
|
431
|
-
if (!prompt) {
|
|
432
|
-
this.promptState = null;
|
|
433
|
-
return;
|
|
434
|
-
}
|
|
435
|
-
if (!this.promptState || this.promptState.prompt.id !== prompt.id) {
|
|
436
|
-
this.promptState = createPromptCardState(prompt);
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
/** Stage-only control target shared by hints and activation. */
|
|
441
|
-
protected _stageChatTarget(stage: StageSnapshot | undefined): ExpandedWorkflowStageTarget | undefined {
|
|
442
|
-
if (!stage || stage.nodeKind === "tool") return undefined;
|
|
443
|
-
return expandedStageTarget(this.expandedGraph, stage.id);
|
|
444
|
-
}
|
|
445
|
-
/** Resolve the focused graph projection back to its full tool snapshot. */
|
|
446
|
-
protected _focusedTool(): ExpandedWorkflowTool | undefined {
|
|
447
|
-
const stage = this.cachedLayout[this.focusedIndex]?.stage;
|
|
448
|
-
if (stage?.nodeKind !== "tool") return undefined;
|
|
449
|
-
return this.expandedGraph.tools.find((tool) => tool.id === stage.id);
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
protected _openFocusedToolDetail(): boolean {
|
|
453
|
-
const tool = this._focusedTool();
|
|
454
|
-
if (tool === undefined) return false;
|
|
455
|
-
this.toolDetail = tool;
|
|
456
|
-
this.toolDetailExpanded = false;
|
|
457
|
-
this.graphLayoutInvalidateForDetail();
|
|
458
|
-
return true;
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
protected _closeToolDetail(): boolean {
|
|
462
|
-
if (this.toolDetail === null) return false;
|
|
463
|
-
this.toolDetail = null;
|
|
464
|
-
this.toolDetailExpanded = false;
|
|
465
|
-
this.graphLayoutInvalidateForDetail();
|
|
466
|
-
return true;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
private _syncToolDetail(): void {
|
|
470
|
-
if (this.toolDetail === null) return;
|
|
471
|
-
this.toolDetail = this.expandedGraph.tools.find((tool) => tool.id === this.toolDetail?.id) ?? null;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
/** Let the renderer discard any cached body frame after a detail transition. */
|
|
475
|
-
private graphLayoutInvalidateForDetail(): void {
|
|
476
|
-
this.pendingEnsureFocusedVisible = true;
|
|
477
|
-
this.graphNodeHitRects = [];
|
|
478
|
-
this.lastGraphViewport = null;
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
/**
|
|
482
|
-
* Pending queued messages for a rendered node. Tool nodes own no session, and
|
|
483
|
-
* a nested stage's virtual graph id is not a registry key, so resolve the
|
|
484
|
-
* real `{runId, stageId}` first.
|
|
485
|
-
*/
|
|
486
|
-
protected _stageQueuedMessageCount(stage: StageSnapshot | undefined): number {
|
|
487
|
-
const read = this.getStageQueuedMessageCount;
|
|
488
|
-
if (!read) return 0;
|
|
489
|
-
const target = this._stageChatTarget(stage);
|
|
490
|
-
if (!target) return 0;
|
|
491
|
-
const count = read(target.runId, target.stageId);
|
|
492
|
-
if (typeof count !== "number" || !Number.isFinite(count)) return 0;
|
|
493
|
-
return Math.max(0, Math.trunc(count));
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
protected _focusedStageChatTarget(): ExpandedWorkflowStageTarget | undefined {
|
|
497
|
-
return this._stageChatTarget(this.cachedLayout[this.focusedIndex]?.stage);
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
protected _getCurrentRun(): RunSnapshot | null {
|
|
501
|
-
if (!this.currentSnapshot) return null;
|
|
502
|
-
// Pin to the first run we see so a completed run stays visible after
|
|
503
|
-
// `activeRunId()` clears. Caller can still pass an explicit runId.
|
|
504
|
-
if (this.runId == null) {
|
|
505
|
-
const activeId = this.store.activeRunId();
|
|
506
|
-
if (activeId != null) {
|
|
507
|
-
this.runId = activeId;
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
if (this.runId == null) return null;
|
|
511
|
-
return this.currentSnapshot.runs.find((r) => r.id === this.runId) ?? null;
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
protected _displayStages(run: RunSnapshot): StageSnapshot[] {
|
|
515
|
-
return this.cachedDisplayStages.length > 0 ? this.cachedDisplayStages : [...run.stages];
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
protected _counts(stages: readonly StageSnapshot[]): GraphStageCounts {
|
|
519
|
-
const c: GraphStageCounts = {
|
|
520
|
-
pending: 0,
|
|
521
|
-
running: 0,
|
|
522
|
-
awaiting_input: 0,
|
|
523
|
-
paused: 0,
|
|
524
|
-
blocked: 0,
|
|
525
|
-
completed: 0,
|
|
526
|
-
failed: 0,
|
|
527
|
-
skipped: 0,
|
|
528
|
-
};
|
|
529
|
-
for (const s of stages) c[s.status]++;
|
|
530
|
-
return c;
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
dispose(): void {
|
|
534
|
-
if (this._intervalId != null) {
|
|
535
|
-
clearInterval(this._intervalId);
|
|
536
|
-
this._intervalId = null;
|
|
537
|
-
}
|
|
538
|
-
if (this._unsubscribe) {
|
|
539
|
-
this._unsubscribe();
|
|
540
|
-
this._unsubscribe = null;
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
invalidate(): void {
|
|
545
|
-
this._rebuildLayout();
|
|
546
|
-
}
|
|
547
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { ReadonlyFooterDataProvider } from "@bastani/atomic";
|
|
2
|
-
import type { TUI } from "@earendil-works/pi-tui";
|
|
3
|
-
import type { Store } from "../shared/store.js";
|
|
4
|
-
import type { GraphTheme } from "./graph-theme.js";
|
|
5
|
-
|
|
6
|
-
export type GraphViewMode = "overlay" | "widget";
|
|
7
|
-
/**
|
|
8
|
-
* Terminal geometry exposed to GraphView. The renderer reads only `rows`;
|
|
9
|
-
* the attach shell may pass its full host TUI because it satisfies this slice.
|
|
10
|
-
*/
|
|
11
|
-
export type GraphViewHost = {
|
|
12
|
-
readonly terminal: Pick<TUI["terminal"], "rows">;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export interface GraphViewOpts {
|
|
16
|
-
mode: GraphViewMode;
|
|
17
|
-
runId: string | null;
|
|
18
|
-
store: Store;
|
|
19
|
-
graphTheme: GraphTheme;
|
|
20
|
-
onClose?: () => void;
|
|
21
|
-
/**
|
|
22
|
-
* Invoked when the user presses `h` inside the pane. Hides without
|
|
23
|
-
* unmounting (overlay-adapter calls `setHidden(true)`). Re-open via
|
|
24
|
-
* `F2` or `/workflow connect <id>`.
|
|
25
|
-
*/
|
|
26
|
-
onHide?: () => void;
|
|
27
|
-
/**
|
|
28
|
-
* Invoked when the user submits (or skips) a HIL prompt rendered inside
|
|
29
|
-
* the pane. The callback typically calls `store.resolvePendingPrompt`;
|
|
30
|
-
* GraphView itself stays UI-only.
|
|
31
|
-
*/
|
|
32
|
-
onPromptResolve?: (runId: string, promptId: string, response: unknown) => void;
|
|
33
|
-
/**
|
|
34
|
-
* Invoked when the user presses Enter on a focused graph node — the
|
|
35
|
-
* parent attach shell swaps the popup interior to that stage's chat
|
|
36
|
-
* pane. When unset, Enter is a no-op (preserves graph mode).
|
|
37
|
-
*/
|
|
38
|
-
onStageAttach?: (runId: string, stageId: string) => void;
|
|
39
|
-
/**
|
|
40
|
-
* Invoked when the user presses `Ctrl+X` in graph mode. Returns to main
|
|
41
|
-
* chat by hiding the popup with `setHidden(true)`. Falls back to `onHide`
|
|
42
|
-
* when unset.
|
|
43
|
-
*/
|
|
44
|
-
onDetach?: () => void;
|
|
45
|
-
/**
|
|
46
|
-
* When provided, GraphView restores focus to this stage on construction.
|
|
47
|
-
* `initialFocusedRunId` disambiguates identical local stage IDs in nested runs.
|
|
48
|
-
* The attach shell uses the pair when returning from stage chat.
|
|
49
|
-
*/
|
|
50
|
-
initialFocusedStageId?: string;
|
|
51
|
-
initialFocusedRunId?: string;
|
|
52
|
-
/**
|
|
53
|
-
* Host terminal geometry for the fullscreen frame. GraphView consumes only
|
|
54
|
-
* `terminal.rows`; the attach shell passes the same host object to GraphView
|
|
55
|
-
* and the attached stage chat. StageChatView retains the full TUI because its
|
|
56
|
-
* editor and chat session host use it as well.
|
|
57
|
-
*/
|
|
58
|
-
piTui?: GraphViewHost;
|
|
59
|
-
/**
|
|
60
|
-
* Invoked on each animation tick (~10 FPS) so the host can call
|
|
61
|
-
* `tui.requestRender()`. Only wired in `overlay` mode; supplying it
|
|
62
|
-
* starts the tick loop in the constructor so duration counters and
|
|
63
|
-
* the running-stage border pulse refresh without requiring a key
|
|
64
|
-
* press. The host is responsible for gating the underlying
|
|
65
|
-
* `requestRender` on overlay visibility / focus (see
|
|
66
|
-
* `overlay-adapter.ts`).
|
|
67
|
-
*/
|
|
68
|
-
requestRender?: () => void;
|
|
69
|
-
/** Host Pi keybindings manager used by run-level prompt cards. */
|
|
70
|
-
piKeybindings?: unknown;
|
|
71
|
-
/** Host footer/status provider used to surface non-workflow extension statuses inside the fullscreen graph overlay. */
|
|
72
|
-
footerData?: ReadonlyFooterDataProvider;
|
|
73
|
-
/**
|
|
74
|
-
* Live pending steering/follow-up count for one stage, read on every graph
|
|
75
|
-
* repaint so a message queued from the stage chat stays visible after the
|
|
76
|
-
* user detaches. Runtime-only: queue state never enters a store snapshot.
|
|
77
|
-
*/
|
|
78
|
-
getStageQueuedMessageCount?: (runId: string, stageId: string) => number;
|
|
79
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GraphView — orchestrator overlay rendered as a pi-tui Component.
|
|
3
|
-
*
|
|
4
|
-
* Visual contract (DESIGN.md):
|
|
5
|
-
* - No manual ASCII frame. `pi.ui.custom({ overlay: true })` provides the
|
|
6
|
-
* popup chrome; this renderer leaves one unpainted row above and below
|
|
7
|
-
* the panel, then paints content on the canvas (`bg`) with full-width
|
|
8
|
-
* chrome rows for the header (top) and hints (bottom).
|
|
9
|
-
* - Section labels use the ` LABEL` pattern: mauve glyph + `textMuted`
|
|
10
|
-
* bold caps.
|
|
11
|
-
* - Hints follow `<key> <label>` separated by ` · ` in `dim`, active key
|
|
12
|
-
* letters in `text`, labels in `textMuted`.
|
|
13
|
-
* - No decorative progress bar. Counts live in the header pills.
|
|
14
|
-
*
|
|
15
|
-
* cross-ref:
|
|
16
|
-
* - github.com/bastani-inc/atomic packages/atomic-sdk/src/components/session-graph-panel.tsx
|
|
17
|
-
* - DESIGN.md §4 (Elevation), §5 (Components)
|
|
18
|
-
*/
|
|
19
|
-
import type { Component } from "@earendil-works/pi-tui";
|
|
20
|
-
import { GraphViewInputController } from "./graph-view-input.js";
|
|
21
|
-
|
|
22
|
-
export type { GraphViewMode, GraphViewOpts } from "./graph-view-types.js";
|
|
23
|
-
|
|
24
|
-
/** Public facade preserving the historical `./graph-view.js` import path. */
|
|
25
|
-
export class GraphView extends GraphViewInputController implements Component {}
|