@bastani/atomic 0.9.16-alpha.2 → 0.9.16-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/builtin/intercom/broker/spawn.ts +22 -2
- package/dist/builtin/intercom/index.bundle.mjs +61756 -0
- package/dist/builtin/intercom/package.json +3 -3
- package/dist/builtin/mcp/index.bundle.mjs +64963 -0
- package/dist/builtin/mcp/package.json +2 -2
- package/dist/builtin/subagents/package.json +2 -2
- package/dist/builtin/subagents/src/extension/index.bundle.mjs +85733 -0
- package/dist/builtin/web-access/index.bundle.mjs +67475 -0
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/package.json +3 -3
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +76480 -96363
- package/dist/builtin/workflows/src/index.bundle.mjs +73306 -0
- package/dist/config-package-identity.d.ts +22 -0
- package/dist/config-package-identity.d.ts.map +1 -0
- package/dist/config-package-identity.js +73 -0
- package/dist/config-package-identity.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -10
- package/dist/config.js.map +1 -1
- package/dist/core/builtin-install-layout.d.ts +22 -0
- package/dist/core/builtin-install-layout.d.ts.map +1 -0
- package/dist/core/builtin-install-layout.js +23 -0
- package/dist/core/builtin-install-layout.js.map +1 -0
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +8 -32
- package/dist/core/builtin-packages.js.map +1 -1
- package/npm-shrinkwrap.json +32 -32
- package/package.json +3 -3
- package/dist/builtin/intercom/closed-workflow-stage-message.ts +0 -66
- package/dist/builtin/intercom/config.ts +0 -121
- package/dist/builtin/intercom/contact-supervisor-tool.ts +0 -328
- package/dist/builtin/intercom/foreground-detach-handoff.ts +0 -164
- package/dist/builtin/intercom/group.ts +0 -85
- package/dist/builtin/intercom/inbound-idle-queue.ts +0 -82
- package/dist/builtin/intercom/inbound-message-admission.ts +0 -79
- package/dist/builtin/intercom/incoming-message-delivery.ts +0 -49
- package/dist/builtin/intercom/index-heavy.ts +0 -539
- package/dist/builtin/intercom/index.ts +0 -503
- package/dist/builtin/intercom/intercom-test-seams.ts +0 -6
- package/dist/builtin/intercom/intercom-tool.ts +0 -602
- package/dist/builtin/intercom/intercom-utils.ts +0 -427
- package/dist/builtin/intercom/late-stage-message-router.ts +0 -148
- package/dist/builtin/intercom/lazy-heavy-proxy.ts +0 -108
- package/dist/builtin/intercom/lazy-subagent-ack.ts +0 -25
- package/dist/builtin/intercom/lazy-tool-execution.ts +0 -39
- package/dist/builtin/intercom/lifecycle-lease.ts +0 -51
- package/dist/builtin/intercom/lifecycle.ts +0 -144
- package/dist/builtin/intercom/overlay.ts +0 -96
- package/dist/builtin/intercom/parent-ask-handoff.ts +0 -72
- package/dist/builtin/intercom/reconnect-backoff.ts +0 -6
- package/dist/builtin/intercom/reply-routing.ts +0 -17
- package/dist/builtin/intercom/reply-tracker.ts +0 -110
- package/dist/builtin/intercom/reply-waiter.ts +0 -115
- package/dist/builtin/intercom/result-renderers.ts +0 -77
- package/dist/builtin/intercom/runtime-group.ts +0 -13
- package/dist/builtin/intercom/session-target.ts +0 -54
- package/dist/builtin/intercom/source-ownership.ts +0 -31
- package/dist/builtin/intercom/stable-delivery-retry.ts +0 -32
- package/dist/builtin/intercom/subagent-relay.ts +0 -290
- package/dist/builtin/intercom/supervisor-authorization-registry.ts +0 -22
- package/dist/builtin/intercom/terminal-ordering-barrier.ts +0 -247
- package/dist/builtin/intercom/types.ts +0 -66
- package/dist/builtin/intercom/ui/compose.ts +0 -159
- package/dist/builtin/intercom/ui/inline-message.ts +0 -78
- package/dist/builtin/intercom/ui/session-list.ts +0 -195
- package/dist/builtin/intercom/workflow-reply-tracker.ts +0 -19
- package/dist/builtin/intercom/workflow-stage-admission.ts +0 -43
- package/dist/builtin/intercom/workflow-stage-delivery-failure.ts +0 -77
- package/dist/builtin/mcp/agent-dir.ts +0 -30
- package/dist/builtin/mcp/apps-cancellation.ts +0 -32
- package/dist/builtin/mcp/call-tool-result.ts +0 -9
- package/dist/builtin/mcp/caller-wait.ts +0 -50
- package/dist/builtin/mcp/cli.js +0 -191
- package/dist/builtin/mcp/command-registration.ts +0 -82
- package/dist/builtin/mcp/commands.ts +0 -424
- package/dist/builtin/mcp/config-write-utils.ts +0 -104
- package/dist/builtin/mcp/config.ts +0 -498
- package/dist/builtin/mcp/consent-manager.ts +0 -64
- package/dist/builtin/mcp/direct-tool-executor.ts +0 -280
- package/dist/builtin/mcp/direct-tools.ts +0 -216
- package/dist/builtin/mcp/errors.ts +0 -219
- package/dist/builtin/mcp/glimpse-ui.ts +0 -81
- package/dist/builtin/mcp/host-html-template.ts +0 -426
- package/dist/builtin/mcp/index.ts +0 -443
- package/dist/builtin/mcp/init.ts +0 -319
- package/dist/builtin/mcp/lifecycle.ts +0 -93
- package/dist/builtin/mcp/logger.ts +0 -169
- package/dist/builtin/mcp/mcp-auth-flow.ts +0 -372
- package/dist/builtin/mcp/mcp-auth.ts +0 -297
- package/dist/builtin/mcp/mcp-callback-server.ts +0 -306
- package/dist/builtin/mcp/mcp-oauth-provider.ts +0 -324
- package/dist/builtin/mcp/mcp-panel-renderer.ts +0 -243
- package/dist/builtin/mcp/mcp-panel-state.ts +0 -227
- package/dist/builtin/mcp/mcp-panel-types.ts +0 -86
- package/dist/builtin/mcp/mcp-panel.ts +0 -393
- package/dist/builtin/mcp/mcp-setup-panel.ts +0 -502
- package/dist/builtin/mcp/metadata-cache.ts +0 -201
- package/dist/builtin/mcp/metadata-hydration.ts +0 -52
- package/dist/builtin/mcp/npx-resolver.ts +0 -425
- package/dist/builtin/mcp/oauth-handler.ts +0 -60
- package/dist/builtin/mcp/onboarding-state.ts +0 -68
- package/dist/builtin/mcp/proxy-auth.ts +0 -61
- package/dist/builtin/mcp/proxy-call.ts +0 -447
- package/dist/builtin/mcp/proxy-connect.ts +0 -78
- package/dist/builtin/mcp/proxy-info-modes.ts +0 -409
- package/dist/builtin/mcp/proxy-modes.ts +0 -3
- package/dist/builtin/mcp/proxy-types.ts +0 -3
- package/dist/builtin/mcp/resource-tools.ts +0 -17
- package/dist/builtin/mcp/sampling-handler.ts +0 -273
- package/dist/builtin/mcp/server-manager.ts +0 -372
- package/dist/builtin/mcp/session-cleanup-barrier.ts +0 -43
- package/dist/builtin/mcp/startup-warmup.ts +0 -110
- package/dist/builtin/mcp/state-lease.ts +0 -12
- package/dist/builtin/mcp/state.ts +0 -41
- package/dist/builtin/mcp/tool-call-timeout.ts +0 -101
- package/dist/builtin/mcp/tool-metadata.ts +0 -152
- package/dist/builtin/mcp/tool-registrar.ts +0 -46
- package/dist/builtin/mcp/tool-result-renderer.ts +0 -66
- package/dist/builtin/mcp/types.ts +0 -445
- package/dist/builtin/mcp/ui-resource-handler.ts +0 -145
- package/dist/builtin/mcp/ui-server-http.ts +0 -81
- package/dist/builtin/mcp/ui-server.ts +0 -499
- package/dist/builtin/mcp/ui-session.ts +0 -378
- package/dist/builtin/mcp/ui-stream-types.ts +0 -89
- package/dist/builtin/mcp/utils.ts +0 -165
- package/dist/builtin/subagents/src/agents/agent-discovery.ts +0 -116
- package/dist/builtin/subagents/src/agents/agent-loaders.ts +0 -216
- package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +0 -221
- package/dist/builtin/subagents/src/agents/agent-management.ts +0 -315
- package/dist/builtin/subagents/src/agents/agent-overrides.ts +0 -450
- package/dist/builtin/subagents/src/agents/agent-paths.ts +0 -69
- package/dist/builtin/subagents/src/agents/agent-scope.ts +0 -6
- package/dist/builtin/subagents/src/agents/agent-selection.ts +0 -23
- package/dist/builtin/subagents/src/agents/agent-serializer.ts +0 -113
- package/dist/builtin/subagents/src/agents/agent-types.ts +0 -97
- package/dist/builtin/subagents/src/agents/agents.ts +0 -25
- package/dist/builtin/subagents/src/agents/frontmatter.ts +0 -74
- package/dist/builtin/subagents/src/agents/identity.ts +0 -37
- package/dist/builtin/subagents/src/agents/skills-paths.ts +0 -380
- package/dist/builtin/subagents/src/agents/skills.ts +0 -398
- package/dist/builtin/subagents/src/extension/api-lifecycle.ts +0 -64
- package/dist/builtin/subagents/src/extension/config.ts +0 -16
- package/dist/builtin/subagents/src/extension/control-notices.ts +0 -91
- package/dist/builtin/subagents/src/extension/index.ts +0 -420
- package/dist/builtin/subagents/src/extension/notification-content.ts +0 -85
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +0 -11
- package/dist/builtin/subagents/src/extension/schemas.ts +0 -208
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +0 -133
- package/dist/builtin/subagents/src/extension/tool-description.ts +0 -17
- package/dist/builtin/subagents/src/extension/tool-rendering.ts +0 -53
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +0 -376
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +0 -246
- package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +0 -30
- package/dist/builtin/subagents/src/runs/foreground/completion-notification.ts +0 -42
- package/dist/builtin/subagents/src/runs/foreground/detached-cleanup-barrier.ts +0 -26
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +0 -58
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +0 -19
- package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +0 -51
- package/dist/builtin/subagents/src/runs/foreground/execution-parent-ask-handoff.ts +0 -78
- package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +0 -1
- package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +0 -26
- package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +0 -61
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +0 -6
- package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +0 -512
- package/dist/builtin/subagents/src/runs/foreground/notify.ts +0 -355
- package/dist/builtin/subagents/src/runs/foreground/parent-ask-output.ts +0 -48
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-burst-display.ts +0 -46
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-burst.ts +0 -403
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +0 -223
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-cwd.ts +0 -6
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +0 -139
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-live-update.ts +0 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +0 -268
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +0 -327
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parent-ask-projection.ts +0 -11
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +0 -12
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +0 -350
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +0 -246
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +0 -131
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +0 -102
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +0 -217
- package/dist/builtin/subagents/src/runs/inprocess/child-policy.ts +0 -27
- package/dist/builtin/subagents/src/runs/inprocess/control-registry.ts +0 -55
- package/dist/builtin/subagents/src/runs/inprocess/control-status.ts +0 -72
- package/dist/builtin/subagents/src/runs/inprocess/index.ts +0 -27
- package/dist/builtin/subagents/src/runs/inprocess/prompt-behavior.ts +0 -168
- package/dist/builtin/subagents/src/runs/inprocess/runner.ts +0 -1280
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/temp-cleanup.ts +0 -69
- package/dist/builtin/subagents/src/runs/inprocess.ts +0 -1
- package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +0 -67
- package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +0 -182
- package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +0 -391
- package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +0 -56
- package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +0 -88
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +0 -70
- package/dist/builtin/subagents/src/runs/shared/progress-trend.ts +0 -69
- package/dist/builtin/subagents/src/runs/shared/run-history.ts +0 -64
- package/dist/builtin/subagents/src/runs/shared/single-output.ts +0 -169
- package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +0 -234
- package/dist/builtin/subagents/src/runs/shared/worktree-post-create.ts +0 -111
- package/dist/builtin/subagents/src/runs/shared/worktree-root.ts +0 -67
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +0 -552
- package/dist/builtin/subagents/src/shared/artifacts.ts +0 -240
- package/dist/builtin/subagents/src/shared/atomic-json.ts +0 -16
- package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +0 -330
- package/dist/builtin/subagents/src/shared/exclusive-file-publication.ts +0 -44
- package/dist/builtin/subagents/src/shared/fast-mode.ts +0 -87
- package/dist/builtin/subagents/src/shared/file-coalescer.ts +0 -40
- package/dist/builtin/subagents/src/shared/fork-context.ts +0 -79
- package/dist/builtin/subagents/src/shared/formatters.ts +0 -89
- package/dist/builtin/subagents/src/shared/jsonl-writer.ts +0 -83
- package/dist/builtin/subagents/src/shared/model-info.ts +0 -101
- package/dist/builtin/subagents/src/shared/model-resolution.ts +0 -78
- package/dist/builtin/subagents/src/shared/session-identity.ts +0 -10
- package/dist/builtin/subagents/src/shared/session-tokens.ts +0 -45
- package/dist/builtin/subagents/src/shared/settings.ts +0 -118
- package/dist/builtin/subagents/src/shared/status-format.ts +0 -50
- package/dist/builtin/subagents/src/shared/types-config.ts +0 -206
- package/dist/builtin/subagents/src/shared/types-depth.ts +0 -46
- package/dist/builtin/subagents/src/shared/types-foreground-state.ts +0 -48
- package/dist/builtin/subagents/src/shared/types-output.ts +0 -63
- package/dist/builtin/subagents/src/shared/types-results.ts +0 -259
- package/dist/builtin/subagents/src/shared/types-runtime.ts +0 -115
- package/dist/builtin/subagents/src/shared/types.ts +0 -13
- package/dist/builtin/subagents/src/shared/utils.ts +0 -342
- package/dist/builtin/subagents/src/slash/bridge-settlement.ts +0 -87
- package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +0 -455
- package/dist/builtin/subagents/src/slash/slash-bridge.ts +0 -194
- package/dist/builtin/subagents/src/slash/slash-commands.ts +0 -5
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +0 -259
- package/dist/builtin/subagents/src/tui/render-event-formatting.ts +0 -7
- package/dist/builtin/subagents/src/tui/render-helpers.ts +0 -90
- package/dist/builtin/subagents/src/tui/render-layout.ts +0 -157
- package/dist/builtin/subagents/src/tui/render-progress.ts +0 -89
- package/dist/builtin/subagents/src/tui/render-result-animation.ts +0 -47
- package/dist/builtin/subagents/src/tui/render-result-compact.ts +0 -248
- package/dist/builtin/subagents/src/tui/render-result.ts +0 -438
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +0 -50
- package/dist/builtin/subagents/src/tui/render-status-progress.ts +0 -168
- package/dist/builtin/subagents/src/tui/render.ts +0 -23
- package/dist/builtin/web-access/activity.ts +0 -101
- package/dist/builtin/web-access/chrome-cookies.ts +0 -323
- package/dist/builtin/web-access/code-search.ts +0 -107
- package/dist/builtin/web-access/config-paths.ts +0 -11
- package/dist/builtin/web-access/content-tools.ts +0 -354
- package/dist/builtin/web-access/curator-page-assets/script-1.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-2.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-3.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-4.ts +0 -400
- package/dist/builtin/web-access/curator-page-assets/script-5.ts +0 -398
- package/dist/builtin/web-access/curator-page-assets/styles-1.ts +0 -394
- package/dist/builtin/web-access/curator-page-assets/styles-2.ts +0 -394
- package/dist/builtin/web-access/curator-page-assets/styles-3.ts +0 -393
- package/dist/builtin/web-access/curator-page.ts +0 -196
- package/dist/builtin/web-access/curator-server-helpers.ts +0 -115
- package/dist/builtin/web-access/curator-server.ts +0 -494
- package/dist/builtin/web-access/exa-mcp.ts +0 -218
- package/dist/builtin/web-access/exa.ts +0 -317
- package/dist/builtin/web-access/extract-frames.ts +0 -229
- package/dist/builtin/web-access/extract.ts +0 -500
- package/dist/builtin/web-access/flat-string.ts +0 -37
- package/dist/builtin/web-access/gemini-api.ts +0 -111
- package/dist/builtin/web-access/gemini-search.ts +0 -363
- package/dist/builtin/web-access/gemini-url-context.ts +0 -126
- package/dist/builtin/web-access/gemini-web-config.ts +0 -53
- package/dist/builtin/web-access/gemini-web.ts +0 -397
- package/dist/builtin/web-access/github-api.ts +0 -198
- package/dist/builtin/web-access/github-config.ts +0 -156
- package/dist/builtin/web-access/github-extract.ts +0 -487
- package/dist/builtin/web-access/index-heavy.ts +0 -164
- package/dist/builtin/web-access/index.ts +0 -401
- package/dist/builtin/web-access/lifecycle-lease.ts +0 -38
- package/dist/builtin/web-access/pdf-extract.ts +0 -192
- package/dist/builtin/web-access/perplexity.ts +0 -194
- package/dist/builtin/web-access/result-renderers.ts +0 -366
- package/dist/builtin/web-access/rsc-extract.ts +0 -338
- package/dist/builtin/web-access/storage.ts +0 -72
- package/dist/builtin/web-access/subprocess.ts +0 -102
- package/dist/builtin/web-access/summary-review.ts +0 -287
- package/dist/builtin/web-access/utils.ts +0 -44
- package/dist/builtin/web-access/video-extract.ts +0 -375
- package/dist/builtin/web-access/web-search-activity.ts +0 -102
- package/dist/builtin/web-access/web-search-browser.ts +0 -124
- package/dist/builtin/web-access/web-search-command.ts +0 -242
- package/dist/builtin/web-access/web-search-config.ts +0 -157
- package/dist/builtin/web-access/web-search-curator.ts +0 -214
- package/dist/builtin/web-access/web-search-features.ts +0 -181
- package/dist/builtin/web-access/web-search-formatting.ts +0 -117
- package/dist/builtin/web-access/web-search-return.ts +0 -143
- package/dist/builtin/web-access/web-search-summary.ts +0 -177
- package/dist/builtin/web-access/web-search-tool.ts +0 -286
- package/dist/builtin/web-access/web-search-types.ts +0 -50
- package/dist/builtin/web-access/web-search-workflow.ts +0 -10
- package/dist/builtin/web-access/youtube-extract.ts +0 -309
- package/dist/builtin/workflows/src/authoring/keep-context.ts +0 -46
- package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +0 -41
- package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +0 -180
- package/dist/builtin/workflows/src/authoring/workflow.ts +0 -206
- package/dist/builtin/workflows/src/durable/backend.ts +0 -598
- package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +0 -172
- package/dist/builtin/workflows/src/durable/boundary-topology.ts +0 -475
- package/dist/builtin/workflows/src/durable/child-invocation.ts +0 -14
- package/dist/builtin/workflows/src/durable/child-primitive.ts +0 -124
- package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +0 -385
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +0 -685
- package/dist/builtin/workflows/src/durable/completed-inspection.ts +0 -157
- package/dist/builtin/workflows/src/durable/completed-subtree.ts +0 -50
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +0 -580
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres-root.ts +0 -681
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +0 -717
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +0 -516
- package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +0 -208
- package/dist/builtin/workflows/src/durable/dbos-local-postgres.ts +0 -166
- package/dist/builtin/workflows/src/durable/dbos-metadata.ts +0 -196
- package/dist/builtin/workflows/src/durable/dbos-process-owner.ts +0 -87
- package/dist/builtin/workflows/src/durable/dbos-prompt-reservations.ts +0 -377
- package/dist/builtin/workflows/src/durable/dbos-registration-diagnostics.ts +0 -113
- package/dist/builtin/workflows/src/durable/dbos-sdk-handle.ts +0 -182
- package/dist/builtin/workflows/src/durable/dbos-status-transition.ts +0 -67
- package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +0 -27
- package/dist/builtin/workflows/src/durable/durable-hash.ts +0 -18
- package/dist/builtin/workflows/src/durable/factory.ts +0 -93
- package/dist/builtin/workflows/src/durable/format-version.ts +0 -6
- package/dist/builtin/workflows/src/durable/index.ts +0 -82
- package/dist/builtin/workflows/src/durable/local-command.ts +0 -135
- package/dist/builtin/workflows/src/durable/prompt-reservation-state.ts +0 -184
- package/dist/builtin/workflows/src/durable/prompt-reservations.ts +0 -36
- package/dist/builtin/workflows/src/durable/resume-catalog.ts +0 -20
- package/dist/builtin/workflows/src/durable/resume-eligibility.ts +0 -106
- package/dist/builtin/workflows/src/durable/resume-runtime.ts +0 -344
- package/dist/builtin/workflows/src/durable/retention-policy.ts +0 -43
- package/dist/builtin/workflows/src/durable/run-timing.ts +0 -151
- package/dist/builtin/workflows/src/durable/scoped-backend.ts +0 -308
- package/dist/builtin/workflows/src/durable/stage-primitive.ts +0 -553
- package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +0 -247
- package/dist/builtin/workflows/src/durable/stage-topology.ts +0 -53
- package/dist/builtin/workflows/src/durable/targeted-inspection.ts +0 -110
- package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +0 -54
- package/dist/builtin/workflows/src/durable/tool-outcome.ts +0 -130
- package/dist/builtin/workflows/src/durable/tool-primitive.ts +0 -861
- package/dist/builtin/workflows/src/durable/types.ts +0 -343
- package/dist/builtin/workflows/src/durable/ui-primitive.ts +0 -263
- package/dist/builtin/workflows/src/durable/workflow-child-result.ts +0 -63
- package/dist/builtin/workflows/src/durable/workflow-heartbeat-anchor.ts +0 -153
- package/dist/builtin/workflows/src/durable/workflow-status-transition.ts +0 -31
- package/dist/builtin/workflows/src/engine/graph-inference.ts +0 -100
- package/dist/builtin/workflows/src/engine/options.ts +0 -44
- package/dist/builtin/workflows/src/engine/primitives/chain.ts +0 -34
- package/dist/builtin/workflows/src/engine/primitives/exit.ts +0 -2
- package/dist/builtin/workflows/src/engine/primitives/parallel.ts +0 -74
- package/dist/builtin/workflows/src/engine/primitives/task.ts +0 -127
- package/dist/builtin/workflows/src/engine/primitives/ui.ts +0 -54
- package/dist/builtin/workflows/src/engine/primitives/workflow.ts +0 -219
- package/dist/builtin/workflows/src/engine/replay.ts +0 -8
- package/dist/builtin/workflows/src/engine/run-budget.ts +0 -308
- package/dist/builtin/workflows/src/engine/run-durable-admission.ts +0 -50
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +0 -97
- package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +0 -65
- package/dist/builtin/workflows/src/engine/run-durable-topology.ts +0 -295
- package/dist/builtin/workflows/src/engine/run-returned-status.ts +0 -86
- package/dist/builtin/workflows/src/engine/run-terminal-event.ts +0 -39
- package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +0 -53
- package/dist/builtin/workflows/src/engine/run-tool-admission-boundary.ts +0 -99
- package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +0 -187
- package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +0 -164
- package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +0 -158
- package/dist/builtin/workflows/src/engine/run.ts +0 -841
- package/dist/builtin/workflows/src/engine/runtime.ts +0 -220
- package/dist/builtin/workflows/src/engine/workflow-activity.ts +0 -13
- package/dist/builtin/workflows/src/engine/workflow-tool-abort.ts +0 -92
- package/dist/builtin/workflows/src/extension/adopt-session-run-state.ts +0 -20
- package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +0 -168
- package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +0 -154
- package/dist/builtin/workflows/src/extension/companions.ts +0 -210
- package/dist/builtin/workflows/src/extension/completed-stage-intercom-ask.ts +0 -167
- package/dist/builtin/workflows/src/extension/config-file-loader.ts +0 -185
- package/dist/builtin/workflows/src/extension/config-loader.ts +0 -439
- package/dist/builtin/workflows/src/extension/discovery-loaders.ts +0 -112
- package/dist/builtin/workflows/src/extension/discovery.ts +0 -424
- package/dist/builtin/workflows/src/extension/dispatcher.ts +0 -273
- package/dist/builtin/workflows/src/extension/extension-factory.ts +0 -133
- package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +0 -174
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +0 -596
- package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +0 -367
- package/dist/builtin/workflows/src/extension/index.ts +0 -42
- package/dist/builtin/workflows/src/extension/lifecycle-notification-delivery.ts +0 -83
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +0 -849
- package/dist/builtin/workflows/src/extension/mcp.ts +0 -121
- package/dist/builtin/workflows/src/extension/postmortem-deps.ts +0 -70
- package/dist/builtin/workflows/src/extension/public-types.ts +0 -234
- package/dist/builtin/workflows/src/extension/render-call.ts +0 -115
- package/dist/builtin/workflows/src/extension/render-component.ts +0 -12
- package/dist/builtin/workflows/src/extension/render-result.ts +0 -558
- package/dist/builtin/workflows/src/extension/renderers.ts +0 -89
- package/dist/builtin/workflows/src/extension/runtime-active-block-claim.ts +0 -78
- package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +0 -174
- package/dist/builtin/workflows/src/extension/runtime.ts +0 -439
- package/dist/builtin/workflows/src/extension/status-writer.ts +0 -182
- package/dist/builtin/workflows/src/extension/ui-surface.ts +0 -387
- package/dist/builtin/workflows/src/extension/wiring.ts +0 -490
- package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +0 -129
- package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +0 -296
- package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +0 -114
- package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +0 -175
- package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +0 -270
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-delivery.ts +0 -241
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-notice.ts +0 -115
- package/dist/builtin/workflows/src/extension/workflow-heartbeat-scheduler.ts +0 -962
- package/dist/builtin/workflows/src/extension/workflow-model-catalog.ts +0 -24
- package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +0 -162
- package/dist/builtin/workflows/src/extension/workflow-policy.ts +0 -13
- package/dist/builtin/workflows/src/extension/workflow-ports.ts +0 -45
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +0 -73
- package/dist/builtin/workflows/src/extension/workflow-reload-coordinator.ts +0 -66
- package/dist/builtin/workflows/src/extension/workflow-reload-report.ts +0 -42
- package/dist/builtin/workflows/src/extension/workflow-request-abort.ts +0 -15
- package/dist/builtin/workflows/src/extension/workflow-resume-picker-rows.ts +0 -96
- package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +0 -53
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +0 -562
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +0 -192
- package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +0 -252
- package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +0 -276
- package/dist/builtin/workflows/src/extension/workflow-targets.ts +0 -210
- package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +0 -265
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +0 -547
- package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +0 -153
- package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +0 -145
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +0 -488
- package/dist/builtin/workflows/src/extension/workflow-tool.ts +0 -188
- package/dist/builtin/workflows/src/index.ts +0 -8
- package/dist/builtin/workflows/src/intercom/intercom-bridge.ts +0 -90
- package/dist/builtin/workflows/src/intercom/intercom-routing.ts +0 -131
- package/dist/builtin/workflows/src/intercom/result-intercom.ts +0 -271
- package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +0 -135
- package/dist/builtin/workflows/src/runs/background/durable-resume-transition.ts +0 -63
- package/dist/builtin/workflows/src/runs/background/job-tracker.ts +0 -125
- package/dist/builtin/workflows/src/runs/background/quit-tool-node.ts +0 -71
- package/dist/builtin/workflows/src/runs/background/quit.ts +0 -417
- package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +0 -99
- package/dist/builtin/workflows/src/runs/background/run-inspect.ts +0 -126
- package/dist/builtin/workflows/src/runs/background/runner.ts +0 -185
- package/dist/builtin/workflows/src/runs/background/startup-admission.ts +0 -73
- package/dist/builtin/workflows/src/runs/background/status.ts +0 -511
- package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +0 -43
- package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +0 -441
- package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +0 -263
- package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +0 -79
- package/dist/builtin/workflows/src/runs/foreground/executor-child-workflow.ts +0 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +0 -207
- package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +0 -321
- package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +0 -224
- package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +0 -403
- package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +0 -86
- package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +0 -491
- package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +0 -156
- package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +0 -379
- package/dist/builtin/workflows/src/runs/foreground/executor-queued-user-message.ts +0 -75
- package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +0 -144
- package/dist/builtin/workflows/src/runs/foreground/executor-run.ts +0 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +0 -206
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +0 -434
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +0 -153
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +0 -225
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +0 -473
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +0 -156
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +0 -72
- package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +0 -2
- package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +0 -226
- package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +0 -186
- package/dist/builtin/workflows/src/runs/foreground/executor.ts +0 -25
- package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +0 -245
- package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +0 -466
- package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +0 -86
- package/dist/builtin/workflows/src/runs/foreground/stage-queued-user-messages.ts +0 -95
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-candidate.ts +0 -21
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +0 -330
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +0 -1472
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-message-admission.ts +0 -196
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +0 -177
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +0 -97
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +0 -278
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +0 -206
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-replacement.ts +0 -41
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +0 -134
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +0 -38
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +0 -66
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +0 -120
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +0 -211
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +0 -42
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +0 -22
- package/dist/builtin/workflows/src/runs/foreground/stage-session-heartbeat.ts +0 -88
- package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +0 -49
- package/dist/builtin/workflows/src/runs/shared/concurrency.ts +0 -76
- package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +0 -2
- package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +0 -325
- package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +0 -19
- package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +0 -2
- package/dist/builtin/workflows/src/runs/shared/prompt-callsite.ts +0 -96
- package/dist/builtin/workflows/src/runs/shared/retry.ts +0 -44
- package/dist/builtin/workflows/src/runs/shared/validate-inputs.ts +0 -111
- package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +0 -23
- package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +0 -116
- package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +0 -172
- package/dist/builtin/workflows/src/runs/shared/worktree-generation.ts +0 -57
- package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +0 -107
- package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +0 -407
- package/dist/builtin/workflows/src/runs/shared/worktree-post-create.ts +0 -137
- package/dist/builtin/workflows/src/runs/shared/worktree-root.ts +0 -84
- package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +0 -372
- package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +0 -102
- package/dist/builtin/workflows/src/runs/shared/worktree.ts +0 -21
- package/dist/builtin/workflows/src/sdk-surface.ts +0 -70
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +0 -403
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +0 -489
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +0 -327
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +0 -437
- package/dist/builtin/workflows/src/shared/budget-meter.ts +0 -34
- package/dist/builtin/workflows/src/shared/budget.d.ts +0 -67
- package/dist/builtin/workflows/src/shared/budget.ts +0 -127
- package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +0 -434
- package/dist/builtin/workflows/src/shared/flat-string.ts +0 -33
- package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +0 -188
- package/dist/builtin/workflows/src/shared/intercom-group.ts +0 -58
- package/dist/builtin/workflows/src/shared/persistence-compaction-policy.ts +0 -72
- package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +0 -613
- package/dist/builtin/workflows/src/shared/persistence-restore.ts +0 -306
- package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +0 -303
- package/dist/builtin/workflows/src/shared/prompt-answer.ts +0 -130
- package/dist/builtin/workflows/src/shared/prompt-callsite-context.ts +0 -13
- package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +0 -161
- package/dist/builtin/workflows/src/shared/resume-continuation.ts +0 -2
- package/dist/builtin/workflows/src/shared/returned-run-status.ts +0 -164
- package/dist/builtin/workflows/src/shared/run-id.ts +0 -36
- package/dist/builtin/workflows/src/shared/run-indicator-status.ts +0 -75
- package/dist/builtin/workflows/src/shared/run-visibility.ts +0 -9
- package/dist/builtin/workflows/src/shared/schema-introspection.ts +0 -111
- package/dist/builtin/workflows/src/shared/serializable.ts +0 -118
- package/dist/builtin/workflows/src/shared/session-scoped-singleton.ts +0 -98
- package/dist/builtin/workflows/src/shared/session-transcript.ts +0 -79
- package/dist/builtin/workflows/src/shared/stage-prompt.ts +0 -338
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +0 -340
- package/dist/builtin/workflows/src/shared/store-factory.ts +0 -26
- package/dist/builtin/workflows/src/shared/store-internal.ts +0 -252
- package/dist/builtin/workflows/src/shared/store-observation.ts +0 -10
- package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +0 -215
- package/dist/builtin/workflows/src/shared/store-public-types.ts +0 -282
- package/dist/builtin/workflows/src/shared/store-run-methods.ts +0 -305
- package/dist/builtin/workflows/src/shared/store-stage-methods.ts +0 -331
- package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +0 -60
- package/dist/builtin/workflows/src/shared/store-types.ts +0 -439
- package/dist/builtin/workflows/src/shared/store.ts +0 -15
- package/dist/builtin/workflows/src/shared/timing.ts +0 -71
- package/dist/builtin/workflows/src/shared/tool-payload-bounds.ts +0 -576
- package/dist/builtin/workflows/src/shared/types.ts +0 -523
- package/dist/builtin/workflows/src/shared/workflow-artifact-env.ts +0 -21
- package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +0 -259
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +0 -60
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +0 -111
- package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +0 -292
- package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +0 -74
- package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +0 -458
- package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +0 -303
- package/dist/builtin/workflows/src/shared/workflow-failures.ts +0 -13
- package/dist/builtin/workflows/src/shared/workflow-heartbeat-contract.d.ts +0 -21
- package/dist/builtin/workflows/src/shared/workflow-heartbeat-contract.ts +0 -25
- package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +0 -49
- package/dist/builtin/workflows/src/tui/chat-surface-message.ts +0 -319
- package/dist/builtin/workflows/src/tui/chat-surface.ts +0 -477
- package/dist/builtin/workflows/src/tui/color-utils.ts +0 -55
- package/dist/builtin/workflows/src/tui/connectors.ts +0 -84
- package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +0 -334
- package/dist/builtin/workflows/src/tui/edge.ts +0 -25
- package/dist/builtin/workflows/src/tui/graph-canvas.ts +0 -185
- package/dist/builtin/workflows/src/tui/graph-theme.ts +0 -292
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +0 -49
- package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +0 -157
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +0 -427
- package/dist/builtin/workflows/src/tui/graph-view-layout.ts +0 -297
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +0 -294
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +0 -361
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +0 -547
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +0 -79
- package/dist/builtin/workflows/src/tui/graph-view.ts +0 -25
- package/dist/builtin/workflows/src/tui/header.ts +0 -210
- package/dist/builtin/workflows/src/tui/host-input-form.ts +0 -64
- package/dist/builtin/workflows/src/tui/inline-form-card.ts +0 -438
- package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +0 -120
- package/dist/builtin/workflows/src/tui/inline-form-editor.ts +0 -496
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +0 -317
- package/dist/builtin/workflows/src/tui/inline-form-store.ts +0 -90
- package/dist/builtin/workflows/src/tui/inputs-overlay.ts +0 -185
- package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +0 -147
- package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +0 -357
- package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +0 -312
- package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +0 -161
- package/dist/builtin/workflows/src/tui/inputs-picker.ts +0 -20
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +0 -167
- package/dist/builtin/workflows/src/tui/layout.ts +0 -150
- package/dist/builtin/workflows/src/tui/mouse-input.ts +0 -61
- package/dist/builtin/workflows/src/tui/node-card.ts +0 -357
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +0 -449
- package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +0 -39
- package/dist/builtin/workflows/src/tui/prompt-card-input.ts +0 -215
- package/dist/builtin/workflows/src/tui/prompt-card-render.ts +0 -584
- package/dist/builtin/workflows/src/tui/prompt-card-select.ts +0 -94
- package/dist/builtin/workflows/src/tui/prompt-card-state.ts +0 -61
- package/dist/builtin/workflows/src/tui/prompt-card-text.ts +0 -122
- package/dist/builtin/workflows/src/tui/prompt-card.ts +0 -12
- package/dist/builtin/workflows/src/tui/renderers.ts +0 -14
- package/dist/builtin/workflows/src/tui/run-detail.ts +0 -438
- package/dist/builtin/workflows/src/tui/run-identity-rows.ts +0 -97
- package/dist/builtin/workflows/src/tui/session-list.ts +0 -38
- package/dist/builtin/workflows/src/tui/session-overlays.ts +0 -161
- package/dist/builtin/workflows/src/tui/session-picker.ts +0 -482
- package/dist/builtin/workflows/src/tui/stage-chat-composer-drafts.ts +0 -19
- package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +0 -81
- package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +0 -462
- package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +0 -115
- package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +0 -113
- package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +0 -219
- package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +0 -216
- package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +0 -65
- package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +0 -7
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +0 -149
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +0 -49
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +0 -575
- package/dist/builtin/workflows/src/tui/stage-chat-view-status.ts +0 -35
- package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +0 -226
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +0 -156
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +0 -309
- package/dist/builtin/workflows/src/tui/status-helpers.ts +0 -85
- package/dist/builtin/workflows/src/tui/status-list.ts +0 -447
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +0 -338
- package/dist/builtin/workflows/src/tui/submit-pane.ts +0 -148
- package/dist/builtin/workflows/src/tui/switcher.ts +0 -172
- package/dist/builtin/workflows/src/tui/text-helpers.ts +0 -208
- package/dist/builtin/workflows/src/tui/tool-detail.ts +0 -367
- package/dist/builtin/workflows/src/tui/widget.ts +0 -427
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +0 -21
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -77
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +0 -477
- package/dist/builtin/workflows/src/tui/workflow-list.ts +0 -189
- package/dist/builtin/workflows/src/tui/workflow-notice-card.ts +0 -167
- package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +0 -334
- package/dist/builtin/workflows/src/tui/workflow-status.ts +0 -12
- package/dist/builtin/workflows/src/workflows/identity.ts +0 -39
- package/dist/builtin/workflows/src/workflows/registry.ts +0 -115
|
@@ -1,477 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Static chat-surface primitives — bands, stripe cards, hint rows, and
|
|
3
|
-
* progress strips for the post-dispatch confirmation, `/workflow status`
|
|
4
|
-
* list, and `/workflow list` catalogue.
|
|
5
|
-
*
|
|
6
|
-
* Visual contract (ui/mockups.html · DESIGN.md §5):
|
|
7
|
-
* - **Flat band**: one full-width line with a `surface0` fill, a bold
|
|
8
|
-
* label in the accent / status colour, a muted subtitle, and
|
|
9
|
-
* right-aligned status badges.
|
|
10
|
-
* - **Tagged card**: a 1-cell coloured stripe (status family) on the
|
|
11
|
-
* left, a `surface0` tag carrying the runId / workflow name, a
|
|
12
|
-
* bolded title beside it, and one optional second row indented past
|
|
13
|
-
* the stripe.
|
|
14
|
-
* - **Progress strip**: bracketed status cells such as `[✓]`, `[●]`,
|
|
15
|
-
* `[○]`, `[✗]`, and `[❚❚]`, coloured by stage status. Cells are
|
|
16
|
-
* measured by visible width per rendered glyph rather than assumed to
|
|
17
|
-
* be a fixed 3 columns, and the strip truncates with a trailing `…`
|
|
18
|
-
* when the rendered cells exceed the available budget.
|
|
19
|
-
* - **Hint rows**: a single grammar — `▸ /slash command verb-phrase
|
|
20
|
-
* hint`.
|
|
21
|
-
*
|
|
22
|
-
* Plain mode (theme omitted) drops ANSI and degrades the stripe to a
|
|
23
|
-
* single `│` character so the same shape carries through to logs and
|
|
24
|
-
* tests.
|
|
25
|
-
*
|
|
26
|
-
* cross-ref:
|
|
27
|
-
* - ui/mockups.html (§1 dispatched, §2 status, §3 list, §4 truncation)
|
|
28
|
-
* - src/tui/header.ts renderBandHeader (3-row outline pill — kept for the
|
|
29
|
-
* above-editor widget, distinct surface)
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
import type { StageStatus } from "../shared/store-types.js";
|
|
33
|
-
import { BOLD, hexBg, hexToAnsi, RESET } from "./color-utils.js";
|
|
34
|
-
import type { GraphTheme } from "./graph-theme.js";
|
|
35
|
-
import { truncateToWidth, visibleWidth } from "./text-helpers.js";
|
|
36
|
-
|
|
37
|
-
/** Unicode end-of-line truncation marker. Mocks use it verbatim. */
|
|
38
|
-
export const ELLIPSIS = "…";
|
|
39
|
-
|
|
40
|
-
/** Default chat-surface width when `process.stdout.columns` is unavailable. */
|
|
41
|
-
export const DEFAULT_WIDTH = 80;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Cells of horizontal chrome pi's `customMessage` surface wraps around our
|
|
45
|
-
* rendered output. `notify(msg, "info")` (and the equivalent sendMessage
|
|
46
|
-
* path used by `registerMessageRenderer`) construct a `Text` component with
|
|
47
|
-
* `paddingX = 1` on each side, which subtracts two cells from the
|
|
48
|
-
* available content width before pi-tui's word-wrap kicks in. Sizing our
|
|
49
|
-
* bands and cards to `process.stdout.columns` directly produces a line
|
|
50
|
-
* that's two cells too long; pi-tui then wraps the trailing badge onto a
|
|
51
|
-
* second visual row. We pre-shrink the fallback width by the same amount
|
|
52
|
-
* so a band rendered without an explicit width fits the chat surface
|
|
53
|
-
* exactly.
|
|
54
|
-
*
|
|
55
|
-
* Explicit widths passed by callers (tests, narrow-terminal mocks) are
|
|
56
|
-
* honoured verbatim — they're already framed for the surface they target.
|
|
57
|
-
*/
|
|
58
|
-
const CHAT_HOST_PADDING_X = 2;
|
|
59
|
-
|
|
60
|
-
const MIN_WIDTH = 32;
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Resolve the render width for a chat-surface primitive. Callers may pass
|
|
64
|
-
* an explicit width (tests, overlays); otherwise we infer from
|
|
65
|
-
* `process.stdout.columns`, pre-shrunk by the host's wrap margin.
|
|
66
|
-
*/
|
|
67
|
-
export function chatWidth(explicit?: number): number {
|
|
68
|
-
if (typeof explicit === "number" && explicit > 0) return Math.max(MIN_WIDTH, explicit);
|
|
69
|
-
const cols = process.stdout.columns;
|
|
70
|
-
if (typeof cols === "number" && cols > 0) {
|
|
71
|
-
return Math.max(MIN_WIDTH, cols - CHAT_HOST_PADDING_X);
|
|
72
|
-
}
|
|
73
|
-
return DEFAULT_WIDTH;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// ---------------------------------------------------------------------------
|
|
77
|
-
// Flat band — full-width surface0 strip with a label, subtitle, and badges
|
|
78
|
-
// ---------------------------------------------------------------------------
|
|
79
|
-
|
|
80
|
-
export interface FlatBandBadge {
|
|
81
|
-
/** Glyph + count or status word, e.g. `"● running"`, `"✓ 2"`. */
|
|
82
|
-
text: string;
|
|
83
|
-
/** Role hex colour (theme.success / warning / error / dim / accent). */
|
|
84
|
-
fg?: string;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export interface RenderRoundedBoxOpts {
|
|
88
|
-
/** Title embedded in the top border. Keep it short; it is truncated to fit. */
|
|
89
|
-
title?: string;
|
|
90
|
-
/** Body lines. ANSI is preserved and each line is width-clamped. */
|
|
91
|
-
bodyLines: readonly string[];
|
|
92
|
-
/** Full box width in visible cells. */
|
|
93
|
-
width?: number;
|
|
94
|
-
/** Optional theme for ANSI border/text chrome. */
|
|
95
|
-
theme?: GraphTheme;
|
|
96
|
-
/** Border/title colour. Defaults to theme.border or plain output. */
|
|
97
|
-
accent?: string;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Render a width-stable rounded box (`╭╮╰╯`) around arbitrary body lines.
|
|
102
|
-
* This is the shared workflow-tool output container: panels, cards, and
|
|
103
|
-
* compact notices all use the same border vocabulary.
|
|
104
|
-
*/
|
|
105
|
-
export function renderRoundedBox(opts: RenderRoundedBoxOpts): string {
|
|
106
|
-
const width = chatWidth(opts.width);
|
|
107
|
-
return renderRoundedBoxLines({ ...opts, width }).join("\n");
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/** Render a rounded box as individual width-stable lines. */
|
|
111
|
-
export function renderRoundedBoxLines(opts: RenderRoundedBoxOpts & { width: number }): string[] {
|
|
112
|
-
const width = Math.max(MIN_WIDTH, opts.width);
|
|
113
|
-
const inner = Math.max(2, width - 2);
|
|
114
|
-
const theme = opts.theme;
|
|
115
|
-
const border = theme ? hexToAnsi(opts.accent ?? theme.border) : "";
|
|
116
|
-
const reset = theme ? RESET : "";
|
|
117
|
-
|
|
118
|
-
const titleBudget = Math.max(0, inner - 2);
|
|
119
|
-
const titleText =
|
|
120
|
-
opts.title && opts.title.length > 0 ? ` ${truncateToWidth(opts.title, titleBudget, ELLIPSIS)} ` : "";
|
|
121
|
-
const topFill = Math.max(0, inner - visibleWidth(titleText));
|
|
122
|
-
// `titleText` may contain its own ANSI runs (for status-coloured badges).
|
|
123
|
-
// Re-prime the border colour after it so RESETs inside the title do not
|
|
124
|
-
// leave the trailing rule/corner on the terminal default colour.
|
|
125
|
-
const top = `${border}╭${titleText}${border}${"─".repeat(topFill)}╮${reset}`;
|
|
126
|
-
|
|
127
|
-
const body = opts.bodyLines.length > 0 ? opts.bodyLines : [""];
|
|
128
|
-
const rows = body.map((line) => {
|
|
129
|
-
const clipped = truncateToWidth(line, inner, ELLIPSIS, theme !== undefined);
|
|
130
|
-
const pad = Math.max(0, inner - visibleWidth(clipped));
|
|
131
|
-
return `${border}│${reset}${clipped}${" ".repeat(pad)}${border}│${reset}`;
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
const bottom = `${border}╰${"─".repeat(inner)}╯${reset}`;
|
|
135
|
-
return [top, ...rows, bottom];
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export interface RenderFlatBandOpts {
|
|
139
|
-
/** Pill label, e.g. `"BACKGROUND"`, `"DISPATCHED"`, `"WORKFLOWS"`. */
|
|
140
|
-
label: string;
|
|
141
|
-
/** Subtitle in `textMuted` after the label. May be empty. */
|
|
142
|
-
subtitle?: string;
|
|
143
|
-
/** Right-aligned status badges. Empty array renders no right column. */
|
|
144
|
-
badges?: readonly FlatBandBadge[];
|
|
145
|
-
/** Override label colour. Defaults to `theme.accent`. */
|
|
146
|
-
accent?: string;
|
|
147
|
-
/** Render width (cells). Defaults to `process.stdout.columns`. */
|
|
148
|
-
width?: number;
|
|
149
|
-
/** Provide for themed Catppuccin chrome; omit for plain ASCII. */
|
|
150
|
-
theme?: GraphTheme;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Render one full-width band. Themed mode paints the line with the
|
|
155
|
-
* `surface0` background and styles the label, subtitle, and badges with
|
|
156
|
-
* ANSI colours. Plain mode emits an indented `LABEL subtitle badge`
|
|
157
|
-
* shape so the layout carries through to logs.
|
|
158
|
-
*/
|
|
159
|
-
export function renderFlatBand(opts: RenderFlatBandOpts): string {
|
|
160
|
-
const width = chatWidth(opts.width);
|
|
161
|
-
const subtitle = opts.subtitle ?? "";
|
|
162
|
-
const badges = opts.badges ?? [];
|
|
163
|
-
|
|
164
|
-
// Pre-truncate the subtitle so the band never wraps. The badges and
|
|
165
|
-
// label are sized first because they carry semantic weight; the
|
|
166
|
-
// subtitle is the relegated text.
|
|
167
|
-
const labelText = `[ ${opts.label} ]`;
|
|
168
|
-
const badgeText = badges.map((b) => b.text).join(" ");
|
|
169
|
-
const padding = 2; // 1ch left + 1ch right
|
|
170
|
-
const fixed = visibleWidth(labelText) + (badgeText.length > 0 ? visibleWidth(badgeText) + 2 : 0) + padding;
|
|
171
|
-
const subtitleBudget = Math.max(0, width - fixed - 4);
|
|
172
|
-
const truncatedSubtitle = truncateToWidth(subtitle, subtitleBudget, ELLIPSIS);
|
|
173
|
-
|
|
174
|
-
if (opts.theme === undefined) {
|
|
175
|
-
return renderFlatBandPlain(opts.label, truncatedSubtitle, badges, width);
|
|
176
|
-
}
|
|
177
|
-
return renderFlatBandThemed(
|
|
178
|
-
opts.label,
|
|
179
|
-
truncatedSubtitle,
|
|
180
|
-
badges,
|
|
181
|
-
opts.accent ?? opts.theme.accent,
|
|
182
|
-
opts.theme,
|
|
183
|
-
width,
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
function renderFlatBandThemed(
|
|
188
|
-
label: string,
|
|
189
|
-
subtitle: string,
|
|
190
|
-
badges: readonly FlatBandBadge[],
|
|
191
|
-
accentHex: string,
|
|
192
|
-
theme: GraphTheme,
|
|
193
|
-
width: number,
|
|
194
|
-
): string {
|
|
195
|
-
const accent = hexToAnsi(accentHex);
|
|
196
|
-
const muted = hexToAnsi(theme.textMuted);
|
|
197
|
-
const fillBg = hexBg(theme.backgroundPanel);
|
|
198
|
-
|
|
199
|
-
const labelText = `[ ${label} ]`;
|
|
200
|
-
const labelW = visibleWidth(labelText);
|
|
201
|
-
const subtitleW = subtitle.length > 0 ? visibleWidth(subtitle) + 2 : 0;
|
|
202
|
-
const badgeW =
|
|
203
|
-
badges.length > 0 ? badges.reduce((a, b) => a + visibleWidth(b.text), 0) + (badges.length - 1) * 2 : 0;
|
|
204
|
-
|
|
205
|
-
const leftPad = 1;
|
|
206
|
-
const rightPad = 1;
|
|
207
|
-
const filler = Math.max(1, width - leftPad - labelW - subtitleW - badgeW - rightPad);
|
|
208
|
-
|
|
209
|
-
const subtitleStyled = subtitle.length > 0 ? ` ${muted}${subtitle}${RESET}${fillBg}` : "";
|
|
210
|
-
const badgeStyled = badges
|
|
211
|
-
.map((b) => `${b.fg ? hexToAnsi(b.fg) : muted}${b.text}${RESET}${fillBg}`)
|
|
212
|
-
.join(`${fillBg} `);
|
|
213
|
-
const badgeSeg = badges.length > 0 ? `${badgeStyled}` : "";
|
|
214
|
-
|
|
215
|
-
return (
|
|
216
|
-
`${fillBg}` +
|
|
217
|
-
" " +
|
|
218
|
-
`${accent}${BOLD}${labelText}${RESET}${fillBg}` +
|
|
219
|
-
subtitleStyled +
|
|
220
|
-
" ".repeat(filler) +
|
|
221
|
-
badgeSeg +
|
|
222
|
-
" " +
|
|
223
|
-
RESET
|
|
224
|
-
);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
function renderFlatBandPlain(label: string, subtitle: string, badges: readonly FlatBandBadge[], width: number): string {
|
|
228
|
-
const labelText = `[ ${label} ]`;
|
|
229
|
-
const labelW = visibleWidth(labelText);
|
|
230
|
-
const subtitleSeg = subtitle.length > 0 ? ` ${subtitle}` : "";
|
|
231
|
-
const badgeSeg = badges.map((b) => b.text).join(" ");
|
|
232
|
-
// Plain-mode band sits 1 cell from the chat content edge, matching the
|
|
233
|
-
// themed band's leftPad and the card/hint left edges. Single-column
|
|
234
|
-
// alignment for the band, card, and hint arrow.
|
|
235
|
-
const leftMarker = " ";
|
|
236
|
-
const leftW = visibleWidth(leftMarker);
|
|
237
|
-
const subtitleW = visibleWidth(subtitleSeg);
|
|
238
|
-
const badgeW = visibleWidth(badgeSeg);
|
|
239
|
-
|
|
240
|
-
const filler = Math.max(2, width - leftW - labelW - subtitleW - badgeW - 1);
|
|
241
|
-
const right = badges.length > 0 ? `${" ".repeat(filler)}${badgeSeg}` : "";
|
|
242
|
-
|
|
243
|
-
return `${leftMarker}${labelText}${subtitleSeg}${right}`;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// ---------------------------------------------------------------------------
|
|
247
|
-
// Tagged card — coloured stripe + surface0 tag + body rows
|
|
248
|
-
// ---------------------------------------------------------------------------
|
|
249
|
-
|
|
250
|
-
export interface RenderTaggedCardOpts {
|
|
251
|
-
/** Text rendered inside the surface0 tag, e.g. a short runId or wf name. */
|
|
252
|
-
tag: string;
|
|
253
|
-
/** Optional muted suffix right after the tag (e.g. `"run id"`). */
|
|
254
|
-
tagSubtitle?: string;
|
|
255
|
-
/** Title rendered bold beside the tag on row 1. Long values are end-truncated. */
|
|
256
|
-
title?: string;
|
|
257
|
-
/**
|
|
258
|
-
* Optional pre-styled inline content rendered after the title on row 1,
|
|
259
|
-
* separated from the title by a 2-cell gap. The caller is responsible
|
|
260
|
-
* for ANSI styling inside the string; `titleSuffixWidth` MUST report the
|
|
261
|
-
* visible width (excluding ANSI escapes) so the renderer can budget the
|
|
262
|
-
* title's truncation and the trailing gap correctly. Caller is also
|
|
263
|
-
* responsible for fitting the suffix to the available row-1 budget —
|
|
264
|
-
* the renderer never truncates a pre-styled string.
|
|
265
|
-
*/
|
|
266
|
-
titleSuffix?: string;
|
|
267
|
-
/** Visible width of `titleSuffix`, in cells. Ignored when suffix is absent. */
|
|
268
|
-
titleSuffixWidth?: number;
|
|
269
|
-
/** Right-aligned badge on row 1 (state badge). */
|
|
270
|
-
trailing?: { text: string; fg?: string };
|
|
271
|
-
/**
|
|
272
|
-
* Pre-rendered body rows. Each entry already includes its own indentation
|
|
273
|
-
* past the stripe column. Callers are responsible for ANSI styling inside
|
|
274
|
-
* each entry, but the renderer prepends the stripe glyph and a single
|
|
275
|
-
* cell of breathing room.
|
|
276
|
-
*/
|
|
277
|
-
bodyRows?: readonly string[];
|
|
278
|
-
/** Stripe + tag accent colour (status family or catalogue mauve). */
|
|
279
|
-
accent: string;
|
|
280
|
-
/** Render width. Defaults to `process.stdout.columns`. */
|
|
281
|
-
width?: number;
|
|
282
|
-
/** Provide for themed chrome; omit for plain ASCII. */
|
|
283
|
-
theme?: GraphTheme;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
const STRIPE_CHAR_THEMED = " ";
|
|
287
|
-
const STRIPE_CHAR_PLAIN = "│";
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* Render a single status / catalogue card. Always emits the row-1
|
|
291
|
-
* header (tag + title + trailing badge); body rows are emitted in
|
|
292
|
-
* order, each prepended with the stripe glyph and an indent.
|
|
293
|
-
*
|
|
294
|
-
* Returns one styled string with embedded `\n` separators.
|
|
295
|
-
*/
|
|
296
|
-
export function renderTaggedCard(opts: RenderTaggedCardOpts): string {
|
|
297
|
-
const width = chatWidth(opts.width);
|
|
298
|
-
if (opts.theme === undefined) return renderTaggedCardPlain(opts, width);
|
|
299
|
-
return renderTaggedCardThemed(opts, opts.theme, width);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
function renderTaggedCardThemed(opts: RenderTaggedCardOpts, theme: GraphTheme, width: number): string {
|
|
303
|
-
const stripe = hexToAnsi(opts.accent);
|
|
304
|
-
const muted = hexToAnsi(theme.textMuted);
|
|
305
|
-
const tagBg = hexBg(theme.backgroundPanel);
|
|
306
|
-
const tagFg = hexToAnsi(opts.accent);
|
|
307
|
-
const text = hexToAnsi(theme.text);
|
|
308
|
-
|
|
309
|
-
// Row 1: [tag] title … ● running
|
|
310
|
-
const tagSeg = `${tagBg}${tagFg}${BOLD} ${opts.tag} ${RESET}`;
|
|
311
|
-
const tagW = opts.tag.length + 2;
|
|
312
|
-
const tagSubtitleSeg = opts.tagSubtitle ? ` ${muted}${opts.tagSubtitle}${RESET}` : "";
|
|
313
|
-
const tagSubtitleW = opts.tagSubtitle ? visibleWidth(opts.tagSubtitle) + 2 : 0;
|
|
314
|
-
|
|
315
|
-
const trailingText = opts.trailing?.text ?? "";
|
|
316
|
-
const trailingW = trailingText.length > 0 ? visibleWidth(trailingText) : 0;
|
|
317
|
-
const trailingSeg = opts.trailing
|
|
318
|
-
? `${opts.trailing.fg ? hexToAnsi(opts.trailing.fg) : muted}${opts.trailing.text}${RESET}`
|
|
319
|
-
: "";
|
|
320
|
-
|
|
321
|
-
// Row 1 sits one cell tighter against the stripe than the body rows
|
|
322
|
-
// (` [tag] title …`) so that the tag pill's interior text starts at
|
|
323
|
-
// exactly the same column as every body row's leading character —
|
|
324
|
-
// ` ` (2 cells) + bg-pill leading pad (1 cell) lands tag text at col 4,
|
|
325
|
-
// and ` ` (3 cells) + body content also lands at col 4. The +1
|
|
326
|
-
// hanging indent on the body is what the mockup's §1 / §2 cards show
|
|
327
|
-
// (ui/mockups.html · ` [tag] title` over ` body`).
|
|
328
|
-
const row1StripePrefixW = 2; // " "
|
|
329
|
-
const bodyStripePrefixW = 3; // " "
|
|
330
|
-
const trailingPad = 2;
|
|
331
|
-
const titleSuffixW = opts.titleSuffix ? Math.max(0, opts.titleSuffixWidth ?? 0) : 0;
|
|
332
|
-
const titleSuffixGap = opts.titleSuffix ? 2 : 0;
|
|
333
|
-
const titleBudget = Math.max(
|
|
334
|
-
8,
|
|
335
|
-
width - row1StripePrefixW - tagW - tagSubtitleW - titleSuffixGap - titleSuffixW - trailingW - trailingPad - 2,
|
|
336
|
-
);
|
|
337
|
-
|
|
338
|
-
const titleVisible = truncateToWidth(opts.title ?? "", titleBudget, ELLIPSIS);
|
|
339
|
-
const titleW = visibleWidth(titleVisible);
|
|
340
|
-
const titleSeg = titleVisible ? ` ${text}${BOLD}${titleVisible}${RESET}` : "";
|
|
341
|
-
const titleSegW = titleVisible ? titleW + 2 : 0;
|
|
342
|
-
|
|
343
|
-
// `titleSuffix` rides row 1 after the bold title. Caller pre-styles
|
|
344
|
-
// and pre-sizes the segment — the renderer simply prepends a 2-cell
|
|
345
|
-
// gap. Used by `renderDispatchConfirm` to inline a `k=v · k=v` input
|
|
346
|
-
// summary when it fits beside the workflow name.
|
|
347
|
-
const suffixSeg = opts.titleSuffix ? ` ${opts.titleSuffix}` : "";
|
|
348
|
-
const suffixSegW = opts.titleSuffix ? titleSuffixGap + titleSuffixW : 0;
|
|
349
|
-
|
|
350
|
-
const gap = Math.max(1, width - row1StripePrefixW - tagW - titleSegW - suffixSegW - tagSubtitleW - trailingW - 1);
|
|
351
|
-
const row1 =
|
|
352
|
-
` ${stripe}${STRIPE_CHAR_THEMED}${RESET} ` +
|
|
353
|
-
tagSeg +
|
|
354
|
-
titleSeg +
|
|
355
|
-
suffixSeg +
|
|
356
|
-
tagSubtitleSeg +
|
|
357
|
-
(opts.trailing ? " ".repeat(gap) + trailingSeg : "");
|
|
358
|
-
const bodyPrefix = ` ${stripe}${STRIPE_CHAR_THEMED}${RESET}${" ".repeat(bodyStripePrefixW - 1)}`;
|
|
359
|
-
const rows: string[] = [row1];
|
|
360
|
-
for (const body of opts.bodyRows ?? []) {
|
|
361
|
-
rows.push(`${bodyPrefix}${body}`);
|
|
362
|
-
}
|
|
363
|
-
return rows.join("\n");
|
|
364
|
-
}
|
|
365
|
-
function renderTaggedCardPlain(opts: RenderTaggedCardOpts, width: number): string {
|
|
366
|
-
const row1StripePrefixW = 2; // "│ "
|
|
367
|
-
const bodyStripePrefixW = 3; // "│ "
|
|
368
|
-
const tagSeg = `[${opts.tag}]`;
|
|
369
|
-
const tagW = visibleWidth(tagSeg);
|
|
370
|
-
const tagSubtitleSeg = opts.tagSubtitle ? ` ${opts.tagSubtitle}` : "";
|
|
371
|
-
const tagSubtitleW = visibleWidth(tagSubtitleSeg);
|
|
372
|
-
const trailing = opts.trailing?.text ?? "";
|
|
373
|
-
const trailingW = visibleWidth(trailing);
|
|
374
|
-
const trailingPad = 2;
|
|
375
|
-
const titleSuffixW = opts.titleSuffix ? Math.max(0, opts.titleSuffixWidth ?? 0) : 0;
|
|
376
|
-
const titleSuffixGap = opts.titleSuffix ? 2 : 0;
|
|
377
|
-
const titleBudget = Math.max(
|
|
378
|
-
8,
|
|
379
|
-
width - row1StripePrefixW - tagW - tagSubtitleW - titleSuffixGap - titleSuffixW - trailingW - trailingPad - 2,
|
|
380
|
-
);
|
|
381
|
-
const titleVisible = truncateToWidth(opts.title ?? "", titleBudget, ELLIPSIS);
|
|
382
|
-
const titleSeg = titleVisible ? ` ${titleVisible}` : "";
|
|
383
|
-
const titleW = visibleWidth(titleSeg);
|
|
384
|
-
const suffixSeg = opts.titleSuffix ? ` ${opts.titleSuffix}` : "";
|
|
385
|
-
const suffixSegW = opts.titleSuffix ? titleSuffixGap + titleSuffixW : 0;
|
|
386
|
-
const gap = Math.max(1, width - row1StripePrefixW - tagW - titleW - suffixSegW - tagSubtitleW - trailingW - 1);
|
|
387
|
-
const row1Trailing = opts.trailing ? `${" ".repeat(gap)}${trailing}` : "";
|
|
388
|
-
const row1 = ` ${STRIPE_CHAR_PLAIN} ${tagSeg}${titleSeg}${suffixSeg}${tagSubtitleSeg}${row1Trailing}`;
|
|
389
|
-
const bodyPrefix = ` ${STRIPE_CHAR_PLAIN}${" ".repeat(bodyStripePrefixW - 1)}`;
|
|
390
|
-
const rows: string[] = [row1];
|
|
391
|
-
for (const body of opts.bodyRows ?? []) {
|
|
392
|
-
rows.push(`${bodyPrefix}${body}`);
|
|
393
|
-
}
|
|
394
|
-
return rows.join("\n");
|
|
395
|
-
}
|
|
396
|
-
export interface ProgressCell {
|
|
397
|
-
status: StageStatus;
|
|
398
|
-
}
|
|
399
|
-
export function progressStrip(cells: readonly ProgressCell[], budget: number, theme?: GraphTheme): string {
|
|
400
|
-
const usable = Math.max(0, Math.floor(budget));
|
|
401
|
-
if (usable < 3 || cells.length === 0) return "";
|
|
402
|
-
const ellipsisWidth = visibleWidth(ELLIPSIS);
|
|
403
|
-
const out: string[] = [];
|
|
404
|
-
let used = 0;
|
|
405
|
-
for (let i = 0; i < cells.length; i++) {
|
|
406
|
-
const rendered = theme ? renderCellThemed(cells[i]!.status, theme) : renderCellPlain(cells[i]!.status);
|
|
407
|
-
const renderedWidth = visibleWidth(rendered);
|
|
408
|
-
const isLast = i === cells.length - 1;
|
|
409
|
-
const reserved = isLast ? 0 : ellipsisWidth;
|
|
410
|
-
if (used + renderedWidth + reserved > usable) break;
|
|
411
|
-
out.push(rendered);
|
|
412
|
-
used += renderedWidth;
|
|
413
|
-
if (isLast) return out.join("");
|
|
414
|
-
}
|
|
415
|
-
if (out.length === 0 && ellipsisWidth > usable) return "";
|
|
416
|
-
const suffix = theme ? `${hexToAnsi(theme.dim)}${ELLIPSIS}${RESET}` : ELLIPSIS;
|
|
417
|
-
return `${out.join("")}${suffix}`;
|
|
418
|
-
}
|
|
419
|
-
function renderCellThemed(status: StageStatus, theme: GraphTheme): string {
|
|
420
|
-
const dim = hexToAnsi(theme.dim);
|
|
421
|
-
const glyph = stageGlyph(status);
|
|
422
|
-
const fg = stageColor(status, theme);
|
|
423
|
-
return `${dim}[${RESET}${fg}${glyph}${RESET}${dim}]${RESET}`;
|
|
424
|
-
}
|
|
425
|
-
function renderCellPlain(status: StageStatus): string {
|
|
426
|
-
return `[${stageGlyph(status)}]`;
|
|
427
|
-
}
|
|
428
|
-
function stageGlyph(status: StageStatus): string {
|
|
429
|
-
switch (status) {
|
|
430
|
-
case "completed":
|
|
431
|
-
return "✓";
|
|
432
|
-
case "running":
|
|
433
|
-
return "●";
|
|
434
|
-
case "paused":
|
|
435
|
-
return "❚❚";
|
|
436
|
-
case "failed":
|
|
437
|
-
return "✗";
|
|
438
|
-
case "awaiting_input":
|
|
439
|
-
return "?";
|
|
440
|
-
case "skipped":
|
|
441
|
-
return "⊘";
|
|
442
|
-
default:
|
|
443
|
-
return "○";
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
function stageColor(status: StageStatus, theme: GraphTheme): string {
|
|
447
|
-
switch (status) {
|
|
448
|
-
case "completed":
|
|
449
|
-
return hexToAnsi(theme.success);
|
|
450
|
-
case "running":
|
|
451
|
-
return hexToAnsi(theme.warning);
|
|
452
|
-
case "paused":
|
|
453
|
-
return hexToAnsi(theme.warning);
|
|
454
|
-
case "failed":
|
|
455
|
-
return hexToAnsi(theme.error);
|
|
456
|
-
case "awaiting_input":
|
|
457
|
-
return hexToAnsi(theme.info);
|
|
458
|
-
case "skipped":
|
|
459
|
-
return hexToAnsi(theme.dim);
|
|
460
|
-
default:
|
|
461
|
-
return hexToAnsi(theme.dim);
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
export interface HintRow {
|
|
465
|
-
command: string;
|
|
466
|
-
hint: string;
|
|
467
|
-
}
|
|
468
|
-
export function renderHintRows(rows: readonly HintRow[], theme?: GraphTheme): string {
|
|
469
|
-
if (rows.length === 0) return "";
|
|
470
|
-
const indent = " ";
|
|
471
|
-
if (!theme) {
|
|
472
|
-
return rows.map((r) => `${indent}▸ ${r.command} ${r.hint}`).join("\n");
|
|
473
|
-
}
|
|
474
|
-
const dim = hexToAnsi(theme.dim);
|
|
475
|
-
const accent = hexToAnsi(theme.accent);
|
|
476
|
-
return rows.map((r) => `${indent}${dim}▸${RESET} ${accent}${r.command}${RESET} ${dim}${r.hint}${RESET}`).join("\n");
|
|
477
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Color interpolation utilities.
|
|
3
|
-
* cross-ref: spec §5.4.1, v0.x packages/atomic-sdk/src/components/color-utils.ts
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
function parseHex(hex: string): [number, number, number] {
|
|
7
|
-
const h = hex.replace(/^#/, "");
|
|
8
|
-
const r = parseInt(h.slice(0, 2), 16);
|
|
9
|
-
const g = parseInt(h.slice(2, 4), 16);
|
|
10
|
-
const b = parseInt(h.slice(4, 6), 16);
|
|
11
|
-
return [r, g, b];
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function toHex(r: number, g: number, b: number): string {
|
|
15
|
-
const clamp = (v: number) => Math.max(0, Math.min(255, Math.round(v)));
|
|
16
|
-
return `#${[clamp(r), clamp(g), clamp(b)].map((v) => v.toString(16).padStart(2, "0")).join("")}`;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Linear interpolation between two hex colors.
|
|
21
|
-
* t in [0,1]. Returns hex string "#rrggbb".
|
|
22
|
-
*/
|
|
23
|
-
export function lerpColor(a: string, b: string, t: number): string {
|
|
24
|
-
const [ar, ag, ab] = parseHex(a);
|
|
25
|
-
const [br, bg, bb] = parseHex(b);
|
|
26
|
-
const r = ar + (br - ar) * t;
|
|
27
|
-
const g = ag + (bg - ag) * t;
|
|
28
|
-
const bl = ab + (bb - ab) * t;
|
|
29
|
-
return toHex(r, g, bl);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/** Convert a hex color to an ANSI 24-bit foreground escape sequence. */
|
|
33
|
-
export function hexToAnsi(hex: string): string {
|
|
34
|
-
const [r, g, b] = parseHex(hex);
|
|
35
|
-
return `\x1b[38;2;${r};${g};${b}m`;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/** Convert a hex color to an ANSI 24-bit background escape sequence. */
|
|
39
|
-
export function hexBg(hex: string): string {
|
|
40
|
-
const [r, g, b] = parseHex(hex);
|
|
41
|
-
return `\x1b[48;2;${r};${g};${b}m`;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export const RESET = "\x1b[0m";
|
|
45
|
-
export const BOLD = "\x1b[1m";
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Combine a foreground hex + optional background hex into a single
|
|
49
|
-
* styled ANSI run. Pass `bold: true` for the emphasised pill style.
|
|
50
|
-
*/
|
|
51
|
-
export function paint(text: string, fg: string, opts: { bg?: string; bold?: boolean } = {}): string {
|
|
52
|
-
const bgSeq = opts.bg ? hexBg(opts.bg) : "";
|
|
53
|
-
const boldSeq = opts.bold ? BOLD : "";
|
|
54
|
-
return `${bgSeq}${hexToAnsi(fg)}${boldSeq}${text}${RESET}`;
|
|
55
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Box-drawing connector helpers for DAG edges.
|
|
3
|
-
* cross-ref: spec §5.4.1, v0.x packages/atomic-sdk/src/components/connectors.ts
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export interface ConnectorLine {
|
|
7
|
-
/** zero-indexed column of chars in the connector band */
|
|
8
|
-
chars: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface ConnectorResult {
|
|
12
|
-
lines: ConnectorLine[];
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/** Single straight connector: ─── between two nodes in the same row */
|
|
16
|
-
export function buildConnector(fromX: number, toX: number): ConnectorResult {
|
|
17
|
-
const left = Math.min(fromX, toX);
|
|
18
|
-
const right = Math.max(fromX, toX);
|
|
19
|
-
const len = right - left;
|
|
20
|
-
if (len <= 0) {
|
|
21
|
-
return { lines: [{ chars: "" }] };
|
|
22
|
-
}
|
|
23
|
-
return {
|
|
24
|
-
lines: [{ chars: "─".repeat(len) }],
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** Merge connector: multiple sources fan in to one target */
|
|
29
|
-
export function buildMergeConnector(fromXs: number[], toX: number): ConnectorResult {
|
|
30
|
-
if (fromXs.length === 0) return { lines: [] };
|
|
31
|
-
if (fromXs.length === 1) {
|
|
32
|
-
return buildConnector(fromXs[0]!, toX);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const minX = Math.min(...fromXs, toX);
|
|
36
|
-
const maxX = Math.max(...fromXs, toX);
|
|
37
|
-
const width = maxX - minX + 1;
|
|
38
|
-
|
|
39
|
-
// Line 0: top row connecting sources with ─, ┬ at source positions
|
|
40
|
-
// Line 1: vertical drop │ from each source down to target row
|
|
41
|
-
// Line 2: bottom row ─ connecting to target with ┴ at source positions
|
|
42
|
-
|
|
43
|
-
const fromSet = new Set(fromXs.map((x) => x - minX));
|
|
44
|
-
const targetCol = toX - minX;
|
|
45
|
-
|
|
46
|
-
// Build top line: horizontal bar through all sources
|
|
47
|
-
const topChars = Array<string>(width).fill(" ");
|
|
48
|
-
const botChars = Array<string>(width).fill(" ");
|
|
49
|
-
|
|
50
|
-
const leftMost = Math.min(...fromXs) - minX;
|
|
51
|
-
const rightMost = Math.max(...fromXs) - minX;
|
|
52
|
-
|
|
53
|
-
// Fill horizontal span on top line
|
|
54
|
-
for (let i = leftMost; i <= rightMost; i++) {
|
|
55
|
-
topChars[i] = "─";
|
|
56
|
-
}
|
|
57
|
-
// Mark source positions with ┬
|
|
58
|
-
for (const fx of fromSet) {
|
|
59
|
-
topChars[fx] = "┬";
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Build bottom line: fan-in to target
|
|
63
|
-
const botLeft = Math.min(leftMost, targetCol);
|
|
64
|
-
const botRight = Math.max(rightMost, targetCol);
|
|
65
|
-
for (let i = botLeft; i <= botRight; i++) {
|
|
66
|
-
botChars[i] = "─";
|
|
67
|
-
}
|
|
68
|
-
// Mark source positions with ┴
|
|
69
|
-
for (const fx of fromSet) {
|
|
70
|
-
botChars[fx] = "┴";
|
|
71
|
-
}
|
|
72
|
-
// Mark target with a join glyph.
|
|
73
|
-
botChars[targetCol] = "┴";
|
|
74
|
-
|
|
75
|
-
// Middle line: vertical bars at each source position
|
|
76
|
-
const midChars = Array<string>(width).fill(" ");
|
|
77
|
-
for (const fx of fromSet) {
|
|
78
|
-
midChars[fx] = "│";
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
lines: [{ chars: topChars.join("") }, { chars: midChars.join("") }, { chars: botChars.join("") }],
|
|
83
|
-
};
|
|
84
|
-
}
|