@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,297 +0,0 @@
|
|
|
1
|
-
import { type Component, ScrollView, VStack } from "@earendil-works/pi-tui";
|
|
2
|
-
import {
|
|
3
|
-
getScrollbarGeometry,
|
|
4
|
-
getScrollViewBox,
|
|
5
|
-
type LayoutBox,
|
|
6
|
-
type LayoutFrame,
|
|
7
|
-
renderLayoutFrame,
|
|
8
|
-
type ScrollbarGeometry,
|
|
9
|
-
} from "@earendil-works/pi-tui/dist/layout.js";
|
|
10
|
-
import { isTerminalLeftMousePress, parseTerminalMouseInput } from "./mouse-input.js";
|
|
11
|
-
import { sliceColumns, visibleWidth } from "./text-helpers.js";
|
|
12
|
-
|
|
13
|
-
const EMPTY_RENDER: () => void = () => {};
|
|
14
|
-
export const GRAPH_HEADER_ROWS = 3;
|
|
15
|
-
export const GRAPH_FOOTER_ROWS = 3;
|
|
16
|
-
|
|
17
|
-
export function graphLayoutMarginRows(height: number): number {
|
|
18
|
-
return Math.max(1, Math.floor(height)) >= 9 ? 1 : 0;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export function graphLayoutBodyRows(height: number): number {
|
|
22
|
-
const safeHeight = Math.max(1, Math.floor(height));
|
|
23
|
-
return Math.max(0, safeHeight - GRAPH_HEADER_ROWS - GRAPH_FOOTER_ROWS - graphLayoutMarginRows(safeHeight) * 2);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function graphLayoutNaturalHeight(bodyRows: number): number {
|
|
27
|
-
const safeBodyRows = Math.max(1, Math.floor(bodyRows));
|
|
28
|
-
const base = GRAPH_HEADER_ROWS + GRAPH_FOOTER_ROWS + safeBodyRows;
|
|
29
|
-
return base >= GRAPH_HEADER_ROWS + GRAPH_FOOTER_ROWS + 3 ? base + 2 : base;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface GraphViewLayoutCallbacks {
|
|
33
|
-
renderHeader: (width: number) => string[];
|
|
34
|
-
renderBody: (width: number, top: number, rows: number, contentRows: number) => string[];
|
|
35
|
-
renderFooter: (width: number) => string[];
|
|
36
|
-
bodyContentHeight: (width: number, viewportRows: number) => number;
|
|
37
|
-
beforeFrame?: (scrollView: ScrollView, viewportRows: number, contentRows: number, width: number) => void;
|
|
38
|
-
requestRender?: () => void;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface GraphViewLayoutFrame {
|
|
42
|
-
frame: LayoutFrame;
|
|
43
|
-
bodyBox: LayoutBox | undefined;
|
|
44
|
-
topMarginRows: number;
|
|
45
|
-
bottomMarginRows: number;
|
|
46
|
-
wrappedRows: boolean[];
|
|
47
|
-
scrollbar: ScrollbarGeometry | undefined;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function collectWrappedRows(box: LayoutBox, height: number, wrappedRows: boolean[]): void {
|
|
51
|
-
if (box.lines) {
|
|
52
|
-
const offset = box.lineOffset ?? 0;
|
|
53
|
-
const firstRow = Math.max(box.rect.y, box.clip.y, 0);
|
|
54
|
-
const lastRow = Math.min(box.rect.y + box.rect.height, box.clip.y + box.clip.height, height);
|
|
55
|
-
for (let row = firstRow; row < lastRow; row++) {
|
|
56
|
-
if (box.lines[offset + row - box.rect.y] !== undefined) wrappedRows[row] = true;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
for (const child of box.children) collectWrappedRows(child, height, wrappedRows);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
class CallbackComponent implements Component {
|
|
63
|
-
constructor(private readonly renderLines: (width: number) => string[]) {}
|
|
64
|
-
|
|
65
|
-
render(width: number): string[] {
|
|
66
|
-
return this.renderLines(width);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
invalidate(): void {}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Layout root for the graph overlay.
|
|
74
|
-
*
|
|
75
|
-
* pi-tui mounts extension overlays as ordinary components, while its
|
|
76
|
-
* ScrollView/VStack sizing pass belongs to TuiAltScreen. This small bridge
|
|
77
|
-
* runs that same installed pi-tui layout pass for the overlay component, so
|
|
78
|
-
* the graph body still gets a real constrained ScrollView without changing
|
|
79
|
-
* the host TUI or the transcript surface.
|
|
80
|
-
*/
|
|
81
|
-
export class GraphViewLayout {
|
|
82
|
-
readonly scrollView: ScrollView;
|
|
83
|
-
|
|
84
|
-
private readonly root: VStack;
|
|
85
|
-
private readonly callbacks: GraphViewLayoutCallbacks;
|
|
86
|
-
private bodyViewportRows = 0;
|
|
87
|
-
private bodyContentRows = 0;
|
|
88
|
-
private lastBodyWidth: number | undefined;
|
|
89
|
-
private scrollbar: ScrollbarGeometry | undefined;
|
|
90
|
-
private draggingScrollbar: { grabOffset: number } | undefined;
|
|
91
|
-
|
|
92
|
-
constructor(callbacks: GraphViewLayoutCallbacks) {
|
|
93
|
-
this.callbacks = callbacks;
|
|
94
|
-
|
|
95
|
-
const margin = new CallbackComponent(() => [""]);
|
|
96
|
-
const header = new CallbackComponent((width) => this.callbacks.renderHeader(width));
|
|
97
|
-
const body = new CallbackComponent((width) => {
|
|
98
|
-
// The ScrollView reserves its scrollbar column from the width it hands
|
|
99
|
-
// the body, so this is the only place the real body width is known.
|
|
100
|
-
this.lastBodyWidth = width;
|
|
101
|
-
return this.renderBody(width);
|
|
102
|
-
});
|
|
103
|
-
const footer = new CallbackComponent((width) => this.callbacks.renderFooter(width));
|
|
104
|
-
this.scrollView = new ScrollView(body, {
|
|
105
|
-
axis: "vertical",
|
|
106
|
-
follow: "none",
|
|
107
|
-
overscroll: "contain",
|
|
108
|
-
scrollbar: "hidden",
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
const marginVisible = ({ height }: { height: number }): boolean => graphLayoutMarginRows(height) > 0;
|
|
112
|
-
this.root = new VStack([
|
|
113
|
-
{ component: margin, basis: 1, grow: 0, shrink: 0, minSize: 0, visible: marginVisible },
|
|
114
|
-
{ component: header, basis: GRAPH_HEADER_ROWS, grow: 0, shrink: 1, minSize: 0 },
|
|
115
|
-
{ component: this.scrollView, basis: 0, grow: 1, shrink: 1, minSize: 0 },
|
|
116
|
-
{ component: footer, basis: GRAPH_FOOTER_ROWS, grow: 0, shrink: 1, minSize: 1 },
|
|
117
|
-
{ component: margin, basis: 1, grow: 0, shrink: 0, minSize: 0, visible: marginVisible },
|
|
118
|
-
]);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
render(width: number, height: number): GraphViewLayoutFrame {
|
|
122
|
-
const safeWidth = Math.max(1, Math.floor(width));
|
|
123
|
-
const safeHeight = Math.max(1, Math.floor(height));
|
|
124
|
-
const marginRows = graphLayoutMarginRows(safeHeight);
|
|
125
|
-
this.bodyViewportRows = graphLayoutBodyRows(safeHeight);
|
|
126
|
-
// Content height can depend on the width the body is laid out at, and that
|
|
127
|
-
// is narrower than the frame whenever the ScrollView reserves its
|
|
128
|
-
// scrollbar column. Measuring at the frame width clamps the scroll range
|
|
129
|
-
// to a height the body never produced, which strands its tail rows for
|
|
130
|
-
// every input path. Measure at the width the body actually received last
|
|
131
|
-
// time, then reconcile if this frame disagrees; when no column is
|
|
132
|
-
// reserved the two are already the same width and nothing re-runs.
|
|
133
|
-
const requestedTop = this.scrollView.scrollTop;
|
|
134
|
-
const expectedWidth = this.lastBodyWidth ?? safeWidth;
|
|
135
|
-
let frame = this.renderPass(safeWidth, safeHeight, expectedWidth);
|
|
136
|
-
const measuredWidth = this.lastBodyWidth ?? safeWidth;
|
|
137
|
-
if (measuredWidth !== expectedWidth && this.contentRowsFor(measuredWidth) !== this.bodyContentRows) {
|
|
138
|
-
frame = this.renderPass(safeWidth, safeHeight, measuredWidth, requestedTop);
|
|
139
|
-
}
|
|
140
|
-
const bodyBox = getScrollViewBox(frame, this.scrollView);
|
|
141
|
-
this.scrollbar = bodyBox ? getScrollbarGeometry(bodyBox) : undefined;
|
|
142
|
-
if (!this.scrollbar) this.draggingScrollbar = undefined;
|
|
143
|
-
const wrappedRows = Array.from({ length: safeHeight }, () => false);
|
|
144
|
-
collectWrappedRows(frame.root, safeHeight, wrappedRows);
|
|
145
|
-
return {
|
|
146
|
-
frame,
|
|
147
|
-
bodyBox,
|
|
148
|
-
topMarginRows: marginRows,
|
|
149
|
-
bottomMarginRows: marginRows,
|
|
150
|
-
wrappedRows,
|
|
151
|
-
scrollbar: this.scrollbar,
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
private contentRowsFor(width: number): number {
|
|
156
|
-
return Math.max(0, Math.floor(this.callbacks.bodyContentHeight(width, this.bodyViewportRows)));
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* One full layout pass whose scroll range is measured at `measureWidth`.
|
|
161
|
-
*
|
|
162
|
-
* `restoreTop` re-applies a scroll position that a previous pass' stale,
|
|
163
|
-
* shorter content height clamped away, so reconciling never scrolls the
|
|
164
|
-
* user back up a frame.
|
|
165
|
-
*/
|
|
166
|
-
private renderPass(safeWidth: number, safeHeight: number, measureWidth: number, restoreTop?: number): LayoutFrame {
|
|
167
|
-
const requestRender = this.callbacks.requestRender ?? EMPTY_RENDER;
|
|
168
|
-
this.bodyContentRows = this.contentRowsFor(measureWidth);
|
|
169
|
-
this.scrollView.updateLayout(this.bodyContentRows, this.bodyViewportRows, requestRender);
|
|
170
|
-
if (restoreTop !== undefined && this.scrollView.scrollTop < restoreTop) this.scrollView.scrollTo(restoreTop);
|
|
171
|
-
this.scrollView.setScrollbar(this.bodyContentRows > this.bodyViewportRows ? "always" : "hidden");
|
|
172
|
-
this.callbacks.beforeFrame?.(this.scrollView, this.bodyViewportRows, this.bodyContentRows, safeWidth);
|
|
173
|
-
return renderLayoutFrame(this.root, safeWidth, safeHeight, requestRender);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/** Repaint the thumb after overlays that cover the body rows. */
|
|
177
|
-
paintScrollbar(lines: string[], width: number): void {
|
|
178
|
-
const geometry = this.scrollbar;
|
|
179
|
-
if (!geometry) return;
|
|
180
|
-
for (let offset = 0; offset < geometry.thumbHeight; offset++) {
|
|
181
|
-
const row = geometry.thumbTop + offset;
|
|
182
|
-
if (row < 0 || row >= lines.length || geometry.column < 0 || geometry.column >= width) continue;
|
|
183
|
-
const line = lines[row] ?? " ".repeat(width);
|
|
184
|
-
const before = sliceColumns(line, 0, geometry.column, true);
|
|
185
|
-
const after = sliceColumns(line, geometry.column + 1, width - geometry.column - 1, true);
|
|
186
|
-
const beforePad = " ".repeat(Math.max(0, geometry.column - visibleWidth(before)));
|
|
187
|
-
const afterPad = " ".repeat(Math.max(0, width - geometry.column - 1 - visibleWidth(after)));
|
|
188
|
-
lines[row] = `${before}${beforePad}${this.scrollView.scrollbarStyle(" ")}${after}${afterPad}`;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
dispose(): void {
|
|
193
|
-
this.draggingScrollbar = undefined;
|
|
194
|
-
this.scrollbar = undefined;
|
|
195
|
-
this.scrollView.updateLayout(this.bodyContentRows, this.bodyViewportRows, EMPTY_RENDER);
|
|
196
|
-
this.scrollView.setScrollbarActive(false);
|
|
197
|
-
this.scrollView.setScrollbar("hidden");
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
get viewportRows(): number {
|
|
201
|
-
return this.bodyViewportRows;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
get contentRows(): number {
|
|
205
|
-
return this.bodyContentRows;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
get scrollbarGeometry(): ScrollbarGeometry | undefined {
|
|
209
|
-
return this.scrollbar;
|
|
210
|
-
}
|
|
211
|
-
/** Return whether an event belongs to the graph scrollbar without mutating it. */
|
|
212
|
-
isScrollbarInput(data: string): boolean {
|
|
213
|
-
const event = parseTerminalMouseInput(data);
|
|
214
|
-
if (!event) return false;
|
|
215
|
-
if (this.draggingScrollbar) {
|
|
216
|
-
return event.action === "release" || ((event.buttonCode & 32) !== 0 && (event.buttonCode & 3) === 0);
|
|
217
|
-
}
|
|
218
|
-
const geometry = this.scrollbar;
|
|
219
|
-
return (
|
|
220
|
-
geometry !== undefined &&
|
|
221
|
-
event.action === "press" &&
|
|
222
|
-
(event.buttonCode & 64) === 0 &&
|
|
223
|
-
(event.buttonCode & 32) === 0 &&
|
|
224
|
-
(event.buttonCode & 3) === 0 &&
|
|
225
|
-
event.col === geometry.column &&
|
|
226
|
-
event.row >= geometry.trackTop &&
|
|
227
|
-
event.row < geometry.trackTop + geometry.trackHeight
|
|
228
|
-
);
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
/** Route a scrollbar press, drag, or release to the graph ScrollView. */
|
|
232
|
-
handleScrollbarInput(data: string): boolean {
|
|
233
|
-
const event = parseTerminalMouseInput(data);
|
|
234
|
-
if (!event) return false;
|
|
235
|
-
|
|
236
|
-
if (event.action === "release") {
|
|
237
|
-
if (!this.draggingScrollbar) return false;
|
|
238
|
-
this.draggingScrollbar = undefined;
|
|
239
|
-
return true;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
const moving = (event.buttonCode & 32) !== 0;
|
|
243
|
-
const leftButton = (event.buttonCode & 3) === 0;
|
|
244
|
-
if (this.draggingScrollbar && moving && leftButton) {
|
|
245
|
-
this.scrollToScrollbarRow(event.row);
|
|
246
|
-
return true;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
const geometry = this.scrollbar;
|
|
250
|
-
if (!geometry) return false;
|
|
251
|
-
if (!isTerminalLeftMousePress(event) || event.col !== geometry.column) return false;
|
|
252
|
-
if (event.row < geometry.trackTop || event.row >= geometry.trackTop + geometry.trackHeight) return false;
|
|
253
|
-
|
|
254
|
-
if (event.row >= geometry.thumbTop && event.row < geometry.thumbTop + geometry.thumbHeight) {
|
|
255
|
-
this.draggingScrollbar = { grabOffset: event.row - geometry.thumbTop };
|
|
256
|
-
} else {
|
|
257
|
-
this.scrollToScrollbarRow(event.row - Math.floor(geometry.thumbHeight / 2));
|
|
258
|
-
}
|
|
259
|
-
return true;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
invalidate(): void {
|
|
263
|
-
this.root.invalidate();
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
private renderBody(width: number): string[] {
|
|
267
|
-
const contentRows = this.bodyContentRows;
|
|
268
|
-
const lines = new Array<string>(contentRows);
|
|
269
|
-
const top = Math.max(0, Math.min(contentRows, this.scrollView.scrollTop));
|
|
270
|
-
const rows = Math.max(0, Math.min(this.bodyViewportRows, contentRows - top));
|
|
271
|
-
const visible = this.callbacks.renderBody(width, top, rows, contentRows);
|
|
272
|
-
for (let index = 0; index < visible.length && index < rows; index++) {
|
|
273
|
-
lines[top + index] = visible[index]!;
|
|
274
|
-
}
|
|
275
|
-
// pi-tui scans upward from scrollTop for an image that crosses the
|
|
276
|
-
// viewport edge. A non-empty sentinel stops that scan at the first
|
|
277
|
-
// hidden row instead of making every frame walk the whole graph.
|
|
278
|
-
if (top > 0) lines[top - 1] = " ";
|
|
279
|
-
return lines;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
private scrollToScrollbarRow(row: number): void {
|
|
283
|
-
const geometry = this.scrollbar;
|
|
284
|
-
if (!geometry || geometry.maxScrollTop <= 0) return;
|
|
285
|
-
const maxThumbTop = Math.max(0, geometry.trackHeight - geometry.thumbHeight);
|
|
286
|
-
if (maxThumbTop === 0) {
|
|
287
|
-
this.scrollView.scrollTo(0);
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
const thumbTop = Math.max(
|
|
291
|
-
geometry.trackTop,
|
|
292
|
-
Math.min(geometry.trackTop + maxThumbTop, row - (this.draggingScrollbar?.grabOffset ?? 0)),
|
|
293
|
-
);
|
|
294
|
-
const ratio = (thumbTop - geometry.trackTop) / maxThumbTop;
|
|
295
|
-
this.scrollView.scrollTo(Math.round(ratio * geometry.maxScrollTop));
|
|
296
|
-
}
|
|
297
|
-
}
|
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
import { BOLD, hexBg, hexToAnsi, RESET } from "./color-utils.js";
|
|
2
|
-
import type { GraphCanvas } from "./graph-canvas.js";
|
|
3
|
-
import {
|
|
4
|
-
COMPACT_HINT_KEYS,
|
|
5
|
-
COMPACT_TOOL_DETAIL_HINT_KEYS,
|
|
6
|
-
HINT_KEYS,
|
|
7
|
-
MODE_PILL_LABEL,
|
|
8
|
-
TOOL_DETAIL_HINT_KEYS,
|
|
9
|
-
} from "./graph-view-constants.js";
|
|
10
|
-
import { GraphViewState } from "./graph-view-state.js";
|
|
11
|
-
import { renderOutlinePill } from "./header.js";
|
|
12
|
-
import { APP_ACTION, isKeybindingsLike } from "./keybindings-adapter.js";
|
|
13
|
-
import { NODE_H, NODE_W } from "./layout.js";
|
|
14
|
-
import { sliceColumns, truncateToWidth, visibleWidth } from "./text-helpers.js";
|
|
15
|
-
import { OVERLAY_HIDDEN_STATUS_KEYS, WORKFLOW_STATUS_KEY } from "./workflow-status.js";
|
|
16
|
-
|
|
17
|
-
export function toolExpandKey(piKeybindings: unknown): string {
|
|
18
|
-
const keybindings = isKeybindingsLike(piKeybindings) ? piKeybindings : undefined;
|
|
19
|
-
const keys = keybindings?.getKeys?.(APP_ACTION.toolsExpand);
|
|
20
|
-
// Missing manager → default. Empty list → explicitly unbound; do not
|
|
21
|
-
// invent a keyless `expand` label the way `"".join` used to.
|
|
22
|
-
if (keys === undefined) return "ctrl+o";
|
|
23
|
-
return keys.filter((key) => key.length > 0).join("/");
|
|
24
|
-
}
|
|
25
|
-
/** Low-level overlay geometry, chrome, ANSI canvas, and edge helpers. */
|
|
26
|
-
export abstract class GraphViewRenderHelpers extends GraphViewState {
|
|
27
|
-
/**
|
|
28
|
-
* Three-row statusline pinned to the bottom of the overlay. Mirrors
|
|
29
|
-
* the header band: `backgroundPanel` chrome, outlined accent pill
|
|
30
|
-
* flush-left, hints flowing right on the centre row.
|
|
31
|
-
*/
|
|
32
|
-
protected _externalStatusText(): string | null {
|
|
33
|
-
const entries = Array.from(this.footerData?.getExtensionStatuses() ?? [])
|
|
34
|
-
.filter(
|
|
35
|
-
([key, value]) =>
|
|
36
|
-
value.trim().length > 0 &&
|
|
37
|
-
key !== WORKFLOW_STATUS_KEY &&
|
|
38
|
-
!key.startsWith(`${WORKFLOW_STATUS_KEY}:`) &&
|
|
39
|
-
!OVERLAY_HIDDEN_STATUS_KEYS.has(key),
|
|
40
|
-
)
|
|
41
|
-
.sort(([a], [b]) => a.localeCompare(b));
|
|
42
|
-
if (entries.length === 0) return null;
|
|
43
|
-
return entries.map(([, value]) => value.trim()).join(" · ");
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
protected _renderStatusline(width: number): string[] {
|
|
47
|
-
const t = this.graphTheme;
|
|
48
|
-
const chromeBg = hexBg(t.backgroundPanel);
|
|
49
|
-
const text = hexToAnsi(t.text);
|
|
50
|
-
const muted = hexToAnsi(t.textMuted);
|
|
51
|
-
const dim = hexToAnsi(t.dim);
|
|
52
|
-
const accent = hexToAnsi(t.accent);
|
|
53
|
-
|
|
54
|
-
const { top, mid, bot, visibleWidth: pillW } = renderOutlinePill(MODE_PILL_LABEL, t.accent, chromeBg);
|
|
55
|
-
// Hints use `<key> <label>` segments. Keep the hierarchy transition first,
|
|
56
|
-
// followed by extension status and secondary graph controls, so width
|
|
57
|
-
// pressure never hides the way back to main chat.
|
|
58
|
-
const sep = `${chromeBg} ${dim}·${RESET}${chromeBg} `;
|
|
59
|
-
const leftEdgePad = 1;
|
|
60
|
-
const rightEdgePad = 2;
|
|
61
|
-
const hintsBudget = Math.max(0, width - leftEdgePad - pillW - rightEdgePad);
|
|
62
|
-
const fullHierarchyHint = "ctrl+x return to main chat";
|
|
63
|
-
// A focused tool node has no stage chat, but Enter now opens its read-only
|
|
64
|
-
// detail, so it keeps an activation hint of its own instead of losing the
|
|
65
|
-
// `↵` affordance entirely the way an unfocusable node does. Both lookups
|
|
66
|
-
// resolve once per frame: the two hint lists below are built eagerly, and
|
|
67
|
-
// re-resolving focus inside each would double this frame's layout reads.
|
|
68
|
-
const chatTarget = this.toolDetail === null ? this._focusedStageChatTarget() : undefined;
|
|
69
|
-
const focusedToolNode = this.toolDetail === null && this._focusedTool() !== undefined;
|
|
70
|
-
const relabelActivation = (
|
|
71
|
-
keys: ReadonlyArray<{ key: string; label: string }>,
|
|
72
|
-
label: string,
|
|
73
|
-
): Array<{ key: string; label: string }> =>
|
|
74
|
-
keys.map((hint) => (hint.key === "↵" ? { key: hint.key, label } : hint));
|
|
75
|
-
const toolDetailExpandKey = toolExpandKey(this.piKeybindings);
|
|
76
|
-
const expandHint =
|
|
77
|
-
toolDetailExpandKey.length > 0
|
|
78
|
-
? [{ key: toolDetailExpandKey, label: this.toolDetailExpanded ? "collapse" : "expand" }]
|
|
79
|
-
: [];
|
|
80
|
-
const toolDetailHintKeys = this.toolDetail === null ? [] : [...TOOL_DETAIL_HINT_KEYS, ...expandHint];
|
|
81
|
-
const compactToolDetailHintKeys =
|
|
82
|
-
this.toolDetail === null ? [] : [...COMPACT_TOOL_DETAIL_HINT_KEYS, ...expandHint];
|
|
83
|
-
const availableHintKeys =
|
|
84
|
-
this.toolDetail !== null
|
|
85
|
-
? toolDetailHintKeys
|
|
86
|
-
: focusedToolNode
|
|
87
|
-
? relabelActivation(HINT_KEYS, "open tool detail")
|
|
88
|
-
: chatTarget === undefined
|
|
89
|
-
? HINT_KEYS.filter(({ key }) => key !== "↵")
|
|
90
|
-
: HINT_KEYS;
|
|
91
|
-
const availableCompactHintKeys =
|
|
92
|
-
this.toolDetail !== null
|
|
93
|
-
? compactToolDetailHintKeys
|
|
94
|
-
: focusedToolNode
|
|
95
|
-
? relabelActivation(COMPACT_HINT_KEYS, "tool detail")
|
|
96
|
-
: chatTarget === undefined
|
|
97
|
-
? COMPACT_HINT_KEYS.filter(({ key }) => key !== "↵")
|
|
98
|
-
: COMPACT_HINT_KEYS;
|
|
99
|
-
const fullHintWidth =
|
|
100
|
-
this.toolDetail !== null
|
|
101
|
-
? toolDetailHintKeys.map(({ key, label }) => `${key} ${label}`).join(" · ")
|
|
102
|
-
: fullHierarchyHint;
|
|
103
|
-
const hintKeys = hintsBudget >= visibleWidth(fullHintWidth) ? availableHintKeys : availableCompactHintKeys;
|
|
104
|
-
const statusText = this._externalStatusText();
|
|
105
|
-
const statusSegment = statusText ? [`${accent}${statusText}${RESET}${chromeBg}`] : [];
|
|
106
|
-
const hintSegments = hintKeys.map(
|
|
107
|
-
({ key, label }) => `${text}${BOLD}${key}${RESET}${chromeBg} ${muted}${label}${RESET}${chromeBg}`,
|
|
108
|
-
);
|
|
109
|
-
const hintsStyledRaw = [hintSegments[0], ...statusSegment, ...hintSegments.slice(1)]
|
|
110
|
-
.filter((segment): segment is string => segment !== undefined)
|
|
111
|
-
.join(sep);
|
|
112
|
-
const hintsStyled = truncateToWidth(hintsStyledRaw, hintsBudget, "");
|
|
113
|
-
const hintsVisibleLen = visibleWidth(hintsStyled);
|
|
114
|
-
const fillerVisible = Math.max(0, hintsBudget - hintsVisibleLen);
|
|
115
|
-
const filler = " ".repeat(fillerVisible);
|
|
116
|
-
const blankAcross = " ".repeat(Math.max(0, width - leftEdgePad - pillW));
|
|
117
|
-
|
|
118
|
-
return [
|
|
119
|
-
`${chromeBg} ${RESET}${top}${chromeBg}${blankAcross}${RESET}`,
|
|
120
|
-
`${chromeBg} ${RESET}${mid}${chromeBg}${filler}${hintsStyled}${chromeBg}${" ".repeat(rightEdgePad)}${RESET}`,
|
|
121
|
-
`${chromeBg} ${RESET}${bot}${chromeBg}${blankAcross}${RESET}`,
|
|
122
|
-
];
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/** Blank canvas row — single line of `bg`. */
|
|
126
|
-
protected _blankRow(width: number): string {
|
|
127
|
-
return `${hexBg(this.graphTheme.bg)}${" ".repeat(width)}${RESET}`;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
protected _centerCanvasContent(content: string, width: number): string {
|
|
131
|
-
const truncated = truncateToWidth(content, width, "…", true);
|
|
132
|
-
const leftPad = Math.max(0, Math.floor((width - visibleWidth(truncated)) / 2));
|
|
133
|
-
return `${" ".repeat(leftPad)}${truncated}`;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/** Wrap content in a canvas-bg row, padded to `width`. Re-emits the
|
|
137
|
-
* bg ANSI right before the trailing fill so any internal `RESET`
|
|
138
|
-
* from cards/edges doesn't let the terminal default bleed through. */
|
|
139
|
-
protected _canvasRow(content: string, width: number): string {
|
|
140
|
-
const bg = hexBg(this.graphTheme.bg);
|
|
141
|
-
const truncated = truncateToWidth(content, width, "…", true);
|
|
142
|
-
const padLen = Math.max(0, width - visibleWidth(truncated));
|
|
143
|
-
return `${bg}${truncated}${bg}${" ".repeat(padLen)}${RESET}`;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/** Pad pre-styled content out to canvas width without truncation.
|
|
147
|
-
* Re-emits the body bg ANSI right before the trailing fill so any
|
|
148
|
-
* internal RESET inside `content` doesn't leak the terminal default. */
|
|
149
|
-
protected _padCanvas(content: string, width: number): string {
|
|
150
|
-
const bg = hexBg(this.graphTheme.bg);
|
|
151
|
-
const padLen = Math.max(0, width - visibleWidth(content));
|
|
152
|
-
return `${bg}${content}${bg}${" ".repeat(padLen)}${RESET}`;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Compose a pre-styled card line over a canvas row at `leftPad` columns.
|
|
157
|
-
* The base row keeps its `bg` (so background colour matches canvas);
|
|
158
|
-
* the card slice replaces the cells starting at `leftPad`, and the
|
|
159
|
-
* residual columns to the right are repainted with bg.
|
|
160
|
-
*
|
|
161
|
-
* We don't try to keep the parts of `base` that fall *under* the card
|
|
162
|
-
* — pi-tui paints flat lines, not z-buffered cells, so the card's panel
|
|
163
|
-
* background winning is fine.
|
|
164
|
-
*/
|
|
165
|
-
protected _overlayCard(_base: string, cardLine: string, leftPad: number, totalWidth: number): string {
|
|
166
|
-
const bg = hexBg(this.graphTheme.bg);
|
|
167
|
-
const cardW = visibleWidth(cardLine);
|
|
168
|
-
const rightPadLen = Math.max(0, totalWidth - leftPad - cardW);
|
|
169
|
-
return `${bg}${" ".repeat(leftPad)}${RESET}${cardLine}${bg}${" ".repeat(rightPadLen)}${RESET}`;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
protected _clampGraphHorizontalScroll(totalCols: number, viewportCols: number): void {
|
|
173
|
-
const maxOffset = Math.max(0, totalCols - viewportCols);
|
|
174
|
-
this.graphScrollColOffset = Math.max(0, Math.min(maxOffset, this.graphScrollColOffset));
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
protected _scrollFocusedColumnIntoView(viewportCols: number, totalCols: number): void {
|
|
178
|
-
const node = this.cachedLayout[this.focusedIndex];
|
|
179
|
-
if (!node) return;
|
|
180
|
-
const start = node.x;
|
|
181
|
-
const end = node.x + NODE_W - 1;
|
|
182
|
-
if (start < this.graphScrollColOffset) {
|
|
183
|
-
this.graphScrollColOffset = start;
|
|
184
|
-
} else if (end >= this.graphScrollColOffset + viewportCols) {
|
|
185
|
-
this.graphScrollColOffset = end - viewportCols + 1;
|
|
186
|
-
}
|
|
187
|
-
this._clampGraphHorizontalScroll(totalCols, viewportCols);
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Plot a parent → child edge for the vertical orientation. The edge
|
|
191
|
-
* exits from the parent's bottom-centre, runs through a horizontal
|
|
192
|
-
* spine half-way down the gap, and re-enters from the child's
|
|
193
|
-
* top-centre. Cells are merged by direction set so fan-out, fan-in,
|
|
194
|
-
* and crossings produce stable orthogonal junctions instead of
|
|
195
|
-
* stacked rounded corners.
|
|
196
|
-
*/
|
|
197
|
-
protected _plotEdge(canvas: GraphCanvas, px: number, py: number, cx: number, cy: number, color: string): void {
|
|
198
|
-
const parentCol = px + Math.floor(NODE_W / 2);
|
|
199
|
-
const childCol = cx + Math.floor(NODE_W / 2);
|
|
200
|
-
const parentExitRow = py + NODE_H; // first row below parent's bottom border
|
|
201
|
-
const childEntryRow = cy - 1; // last row above child's top border
|
|
202
|
-
if (childEntryRow < parentExitRow) return;
|
|
203
|
-
|
|
204
|
-
if (parentCol === childCol) {
|
|
205
|
-
canvas.vline(parentCol, parentExitRow, childEntryRow, color);
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
const spineRow = Math.max(
|
|
210
|
-
parentExitRow,
|
|
211
|
-
Math.min(childEntryRow, Math.floor((parentExitRow + childEntryRow) / 2)),
|
|
212
|
-
);
|
|
213
|
-
|
|
214
|
-
// Down stub from parent into the spine row.
|
|
215
|
-
if (spineRow > parentExitRow) {
|
|
216
|
-
canvas.vline(parentCol, parentExitRow, spineRow - 1, color);
|
|
217
|
-
}
|
|
218
|
-
this._placeJunction(canvas, spineRow, parentCol, ["u", childCol > parentCol ? "r" : "l"], color);
|
|
219
|
-
|
|
220
|
-
// Horizontal spine segment.
|
|
221
|
-
const hloCol = Math.min(parentCol, childCol) + 1;
|
|
222
|
-
const hhiCol = Math.max(parentCol, childCol) - 1;
|
|
223
|
-
if (hhiCol >= hloCol) {
|
|
224
|
-
canvas.hline(spineRow, hloCol, hhiCol, color);
|
|
225
|
-
}
|
|
226
|
-
this._placeJunction(canvas, spineRow, childCol, [childCol > parentCol ? "l" : "r", "d"], color);
|
|
227
|
-
|
|
228
|
-
// Down stub from spine into child.
|
|
229
|
-
if (childEntryRow > spineRow) {
|
|
230
|
-
canvas.vline(childCol, spineRow + 1, childEntryRow, color);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
protected _placeJunction(
|
|
235
|
-
canvas: GraphCanvas,
|
|
236
|
-
row: number,
|
|
237
|
-
col: number,
|
|
238
|
-
newDirs: Array<"u" | "d" | "l" | "r">,
|
|
239
|
-
color: string,
|
|
240
|
-
): void {
|
|
241
|
-
canvas.mergeCell(row, col, newDirs, color);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Split the canvas-rendered edge row at card boundaries into spans of
|
|
246
|
-
* `{ startCol, visibleWidth, content }` so the composer can interleave
|
|
247
|
-
* cards without colliding.
|
|
248
|
-
*/
|
|
249
|
-
protected _edgeRowToCells(line: string): string {
|
|
250
|
-
return line;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* Interleave a single edge row with the node cards that cross it.
|
|
255
|
-
* Cards take precedence at their column ranges; edge characters fill
|
|
256
|
-
* the gaps. Returns one composed line padded with spaces.
|
|
257
|
-
*/
|
|
258
|
-
protected _composeRow(
|
|
259
|
-
edgeRow: string,
|
|
260
|
-
cards: Array<{ startCol: number; width: number; line: string }>,
|
|
261
|
-
_edgeColor: string,
|
|
262
|
-
): string {
|
|
263
|
-
const bg = hexBg(this.graphTheme.bg);
|
|
264
|
-
const sorted = cards.slice().sort((a, b) => a.startCol - b.startCol);
|
|
265
|
-
let cursor = 0;
|
|
266
|
-
let out = "";
|
|
267
|
-
for (const card of sorted) {
|
|
268
|
-
if (card.startCol > cursor) {
|
|
269
|
-
// Edge segment up to card start — prepend bg so empty cells
|
|
270
|
-
// in this stretch keep the body bg instead of falling back
|
|
271
|
-
// to the terminal default once any prior RESET fired.
|
|
272
|
-
out += `${bg}${this._edgeSegment(edgeRow, cursor, card.startCol)}`;
|
|
273
|
-
cursor = card.startCol;
|
|
274
|
-
}
|
|
275
|
-
out += card.line;
|
|
276
|
-
cursor += card.width;
|
|
277
|
-
}
|
|
278
|
-
// Trailing edge tail — same bg re-priming.
|
|
279
|
-
out += `${bg}${this._edgeSegment(edgeRow, cursor, Math.max(cursor, visibleWidth(edgeRow)))}`;
|
|
280
|
-
return out;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
protected _edgeSegment(line: string, fromCol: number, toCol: number): string {
|
|
284
|
-
if (fromCol >= toCol) return "";
|
|
285
|
-
const segment = this._sliceColumns(line, fromCol, toCol);
|
|
286
|
-
const visible = visibleWidth(segment);
|
|
287
|
-
return `${segment}${" ".repeat(Math.max(0, toCol - fromCol - visible))}`;
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
protected _sliceColumns(line: string, fromCol: number, toCol: number): string {
|
|
291
|
-
if (fromCol >= toCol) return "";
|
|
292
|
-
return sliceColumns(line, fromCol, toCol - fromCol, true);
|
|
293
|
-
}
|
|
294
|
-
}
|