@bastani/atomic 0.9.11-alpha.1 → 0.9.11-alpha.11
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 +278 -0
- package/README.md +16 -11
- package/dist/builtin/intercom/package.json +3 -3
- package/dist/builtin/intercom/subagent-relay.ts +8 -5
- package/dist/builtin/mcp/CHANGELOG.md +12 -0
- package/dist/builtin/mcp/README.md +3 -3
- package/dist/builtin/mcp/cli.js +0 -1
- package/dist/builtin/mcp/commands.ts +7 -3
- package/dist/builtin/mcp/config.ts +0 -2
- package/dist/builtin/mcp/package.json +6 -6
- package/dist/builtin/mcp/sampling-handler.ts +1 -5
- package/dist/builtin/mcp/types.ts +0 -1
- package/dist/builtin/subagents/CHANGELOG.md +34 -0
- package/dist/builtin/subagents/README.md +10 -1
- package/dist/builtin/subagents/agents/code-simplifier.md +48 -103
- package/dist/builtin/subagents/agents/codebase-analyzer.md +28 -131
- package/dist/builtin/subagents/agents/codebase-locator.md +25 -84
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +61 -260
- package/dist/builtin/subagents/agents/codebase-pattern-finder.md +30 -208
- package/dist/builtin/subagents/agents/codebase-research-analyzer.md +29 -151
- package/dist/builtin/subagents/agents/codebase-research-locator.md +22 -119
- package/dist/builtin/subagents/agents/debugger.md +29 -65
- package/dist/builtin/subagents/agents/worker.md +24 -31
- package/dist/builtin/subagents/package.json +5 -5
- package/dist/builtin/subagents/prompts/gather-context-and-clarify.md +18 -11
- package/dist/builtin/subagents/prompts/parallel-cleanup.md +34 -33
- package/dist/builtin/subagents/prompts/parallel-context-build.md +22 -36
- package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +20 -52
- package/dist/builtin/subagents/prompts/parallel-research.md +17 -41
- package/dist/builtin/subagents/prompts/parallel-review.md +23 -28
- package/dist/builtin/subagents/prompts/review-loop.md +18 -27
- package/dist/builtin/subagents/skills/subagent/SKILL.md +6 -6
- package/dist/builtin/subagents/src/agents/agent-discovery.ts +26 -15
- package/dist/builtin/subagents/src/agents/agent-loaders.ts +48 -34
- package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +80 -31
- package/dist/builtin/subagents/src/agents/agent-management.ts +194 -55
- package/dist/builtin/subagents/src/agents/agent-overrides.ts +85 -32
- package/dist/builtin/subagents/src/agents/agent-paths.ts +4 -1
- package/dist/builtin/subagents/src/agents/agent-selection.ts +1 -1
- package/dist/builtin/subagents/src/agents/agent-serializer.ts +1 -4
- package/dist/builtin/subagents/src/agents/agents.ts +9 -9
- package/dist/builtin/subagents/src/agents/chain-serializer.ts +9 -5
- package/dist/builtin/subagents/src/agents/identity.ts +12 -3
- package/dist/builtin/subagents/src/agents/skills-paths.ts +64 -24
- package/dist/builtin/subagents/src/agents/skills.ts +29 -26
- package/dist/builtin/subagents/src/extension/doctor.ts +31 -20
- package/dist/builtin/subagents/src/extension/fanout-child.ts +27 -12
- package/dist/builtin/subagents/src/extension/index.ts +119 -43
- package/dist/builtin/subagents/src/extension/notification-content.ts +14 -9
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +4 -2
- package/dist/builtin/subagents/src/extension/schemas.ts +304 -177
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +137 -73
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +49 -21
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +76 -38
- package/dist/builtin/subagents/src/runs/background/async-event-journal.ts +12 -6
- package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +183 -57
- package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +15 -18
- package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +67 -26
- package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +8 -8
- package/dist/builtin/subagents/src/runs/background/async-execution.ts +1 -1
- package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +86 -32
- package/dist/builtin/subagents/src/runs/background/async-resume.ts +93 -36
- package/dist/builtin/subagents/src/runs/background/async-status.ts +82 -27
- package/dist/builtin/subagents/src/runs/background/completion-claims.ts +12 -5
- package/dist/builtin/subagents/src/runs/background/completion-dedupe.ts +3 -1
- package/dist/builtin/subagents/src/runs/background/completion-notification.ts +3 -1
- package/dist/builtin/subagents/src/runs/background/notify.ts +57 -21
- package/dist/builtin/subagents/src/runs/background/parallel-groups.ts +28 -14
- package/dist/builtin/subagents/src/runs/background/result-delivery-processor.ts +147 -79
- package/dist/builtin/subagents/src/runs/background/result-file-claims.ts +20 -5
- package/dist/builtin/subagents/src/runs/background/result-quarantine.ts +7 -2
- package/dist/builtin/subagents/src/runs/background/result-status.ts +11 -5
- package/dist/builtin/subagents/src/runs/background/result-watcher-data.ts +18 -5
- package/dist/builtin/subagents/src/runs/background/result-watcher.ts +104 -35
- package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +28 -7
- package/dist/builtin/subagents/src/runs/background/run-status.ts +120 -32
- package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +98 -39
- package/dist/builtin/subagents/src/runs/background/subagent-runner-dynamic.ts +185 -37
- package/dist/builtin/subagents/src/runs/background/subagent-runner-finalize.ts +23 -9
- package/dist/builtin/subagents/src/runs/background/subagent-runner-output.ts +6 -2
- package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel-helpers.ts +34 -18
- package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel.ts +175 -26
- package/dist/builtin/subagents/src/runs/background/subagent-runner-sequential.ts +68 -23
- package/dist/builtin/subagents/src/runs/background/subagent-runner-state.ts +200 -49
- package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +82 -49
- package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +33 -11
- package/dist/builtin/subagents/src/runs/background/subagent-runner-types.ts +16 -6
- package/dist/builtin/subagents/src/runs/background/subagent-runner-utils.ts +2 -3
- package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +11 -8
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +5 -2
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +115 -31
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +71 -54
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +104 -37
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +102 -61
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +24 -10
- package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +9 -6
- package/dist/builtin/subagents/src/runs/foreground/detached-cleanup-barrier.ts +22 -22
- package/dist/builtin/subagents/src/runs/foreground/execution-attempt-control.ts +45 -40
- package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +6 -5
- package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +118 -43
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +17 -7
- package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +5 -3
- package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +39 -35
- package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +81 -42
- package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +27 -21
- package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +2 -5
- package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +9 -4
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +69 -25
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +36 -19
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +95 -62
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +30 -9
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +106 -96
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +68 -36
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +262 -83
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +6 -1
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +67 -41
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +129 -44
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +20 -3
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +8 -6
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +65 -47
- package/dist/builtin/subagents/src/runs/shared/chain-outputs.ts +37 -12
- package/dist/builtin/subagents/src/runs/shared/dynamic-fanout.ts +120 -34
- package/dist/builtin/subagents/src/runs/shared/final-drain.ts +12 -7
- package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +3 -2
- package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +8 -3
- package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +42 -20
- package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +8 -4
- package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +103 -38
- package/dist/builtin/subagents/src/runs/shared/nested-events-control.ts +30 -20
- package/dist/builtin/subagents/src/runs/shared/nested-events-core.ts +45 -20
- package/dist/builtin/subagents/src/runs/shared/nested-events-projection.ts +57 -23
- package/dist/builtin/subagents/src/runs/shared/nested-events-registry.ts +77 -29
- package/dist/builtin/subagents/src/runs/shared/nested-events-sanitize.ts +99 -42
- package/dist/builtin/subagents/src/runs/shared/nested-events.ts +32 -26
- package/dist/builtin/subagents/src/runs/shared/nested-path.ts +22 -17
- package/dist/builtin/subagents/src/runs/shared/nested-render.ts +31 -10
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +10 -8
- package/dist/builtin/subagents/src/runs/shared/pi-args.ts +59 -33
- package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +17 -13
- package/dist/builtin/subagents/src/runs/shared/run-history.ts +13 -6
- package/dist/builtin/subagents/src/runs/shared/single-output.ts +11 -6
- package/dist/builtin/subagents/src/runs/shared/spawn-env.ts +21 -0
- package/dist/builtin/subagents/src/runs/shared/structured-output.ts +33 -19
- package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +59 -48
- package/dist/builtin/subagents/src/runs/shared/subagent-prompt-runtime.ts +18 -11
- package/dist/builtin/subagents/src/runs/shared/workflow-graph.ts +41 -11
- package/dist/builtin/subagents/src/runs/shared/worktree-post-create.ts +46 -10
- package/dist/builtin/subagents/src/runs/shared/worktree-root.ts +21 -5
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +89 -34
- package/dist/builtin/subagents/src/shared/artifacts.ts +137 -7
- package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +49 -13
- package/dist/builtin/subagents/src/shared/fast-mode.ts +13 -6
- package/dist/builtin/subagents/src/shared/fork-context.ts +7 -4
- package/dist/builtin/subagents/src/shared/formatters.ts +14 -9
- package/dist/builtin/subagents/src/shared/jsonl-writer.ts +2 -1
- package/dist/builtin/subagents/src/shared/model-info.ts +10 -3
- package/dist/builtin/subagents/src/shared/post-exit-stdio-guard.ts +7 -6
- package/dist/builtin/subagents/src/shared/session-tokens.ts +2 -1
- package/dist/builtin/subagents/src/shared/settings.ts +43 -43
- package/dist/builtin/subagents/src/shared/status-format.ts +10 -2
- package/dist/builtin/subagents/src/shared/types-async.ts +22 -19
- package/dist/builtin/subagents/src/shared/types-config.ts +1 -1
- package/dist/builtin/subagents/src/shared/types-depth.ts +23 -11
- package/dist/builtin/subagents/src/shared/types-results.ts +49 -6
- package/dist/builtin/subagents/src/shared/types-runtime.ts +16 -17
- package/dist/builtin/subagents/src/shared/types.ts +2 -2
- package/dist/builtin/subagents/src/shared/utils.ts +34 -20
- package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +44 -47
- package/dist/builtin/subagents/src/slash/saved-chain-mapping.ts +5 -7
- package/dist/builtin/subagents/src/slash/slash-bridge.ts +3 -3
- package/dist/builtin/subagents/src/slash/slash-commands.ts +78 -52
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +59 -32
- package/dist/builtin/subagents/src/tui/render-chain-graph.ts +120 -32
- package/dist/builtin/subagents/src/tui/render-event-formatting.ts +85 -22
- package/dist/builtin/subagents/src/tui/render-helpers.ts +16 -6
- package/dist/builtin/subagents/src/tui/render-layout.ts +8 -3
- package/dist/builtin/subagents/src/tui/render-result-compact.ts +125 -43
- package/dist/builtin/subagents/src/tui/render-result.ts +128 -85
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +17 -13
- package/dist/builtin/subagents/src/tui/render-status-progress.ts +52 -20
- package/dist/builtin/subagents/src/tui/render-widget-graph.ts +130 -28
- package/dist/builtin/subagents/src/tui/render-widget.ts +54 -27
- package/dist/builtin/subagents/src/tui/render.ts +10 -3
- package/dist/builtin/web-access/CHANGELOG.md +6 -0
- package/dist/builtin/web-access/content-tools.ts +1 -0
- package/dist/builtin/web-access/flat-string.ts +37 -0
- package/dist/builtin/web-access/github-api.ts +2 -1
- package/dist/builtin/web-access/github-extract.ts +3 -2
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/CHANGELOG.md +120 -0
- package/dist/builtin/workflows/README.md +78 -70
- package/dist/builtin/workflows/ambient.d.ts +0 -5
- package/dist/builtin/workflows/builtin/adversarial-verification-prompts.ts +7 -4
- package/dist/builtin/workflows/builtin/adversarial-verification-runner.ts +1 -1
- package/dist/builtin/workflows/builtin/adversarial-verification.ts +2 -1
- package/dist/builtin/workflows/builtin/classify-and-act-prompts.ts +5 -2
- package/dist/builtin/workflows/builtin/classify-and-act-runner.ts +5 -7
- package/dist/builtin/workflows/builtin/classify-and-act.ts +3 -2
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize-prompts.ts +6 -3
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize-runner.ts +5 -5
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize.ts +3 -2
- package/dist/builtin/workflows/builtin/generate-and-filter-prompts.ts +7 -4
- package/dist/builtin/workflows/builtin/generate-and-filter-runner.ts +6 -3
- package/dist/builtin/workflows/builtin/generate-and-filter.ts +3 -2
- package/dist/builtin/workflows/builtin/goal-artifacts.ts +1 -1
- package/dist/builtin/workflows/builtin/goal-ledger.ts +6 -4
- package/dist/builtin/workflows/builtin/goal-models.ts +39 -39
- package/dist/builtin/workflows/builtin/goal-orchestrator-prompts.ts +94 -0
- package/dist/builtin/workflows/builtin/goal-prompts.ts +70 -285
- package/dist/builtin/workflows/builtin/goal-reducer.ts +1 -1
- package/dist/builtin/workflows/builtin/goal-runner.ts +74 -117
- package/dist/builtin/workflows/builtin/goal.ts +13 -12
- package/dist/builtin/workflows/builtin/index.d.ts +17 -112
- package/dist/builtin/workflows/builtin/index.ts +1 -2
- package/dist/builtin/workflows/builtin/loop-until-done-prompts.ts +20 -12
- package/dist/builtin/workflows/builtin/loop-until-done-runner.ts +3 -0
- package/dist/builtin/workflows/builtin/loop-until-done.ts +3 -2
- package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +149 -88
- package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +102 -78
- package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +164 -56
- package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +16 -21
- package/dist/builtin/workflows/builtin/open-claude-design.ts +2 -1
- package/dist/builtin/workflows/builtin/ralph-core.ts +67 -64
- package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +40 -46
- package/dist/builtin/workflows/builtin/ralph-models.ts +37 -47
- package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +37 -117
- package/dist/builtin/workflows/builtin/ralph-runner.ts +88 -116
- package/dist/builtin/workflows/builtin/ralph.ts +8 -6
- package/dist/builtin/workflows/builtin/shared-prompts.ts +117 -70
- package/dist/builtin/workflows/builtin/steering-context.ts +51 -0
- package/dist/builtin/workflows/builtin/tournament-prompts.ts +21 -12
- package/dist/builtin/workflows/builtin/tournament-runner.ts +3 -0
- package/dist/builtin/workflows/builtin/tournament.ts +3 -2
- package/dist/builtin/workflows/package.json +4 -4
- package/dist/builtin/workflows/skills/create-spec/SKILL.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/SKILL.md +33 -129
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_asset_producer.toml +11 -3
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_documenter.toml +26 -0
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_finish_reviewer.toml +35 -0
- package/dist/builtin/workflows/skills/impeccable/reference/android.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/animate.md +72 -189
- package/dist/builtin/workflows/skills/impeccable/reference/audit.md +10 -9
- package/dist/builtin/workflows/skills/impeccable/reference/audit.native.md +2 -2
- package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +19 -108
- package/dist/builtin/workflows/skills/impeccable/reference/clarify.md +59 -253
- package/dist/builtin/workflows/skills/impeccable/reference/colorize.md +51 -222
- package/dist/builtin/workflows/skills/impeccable/reference/craft-floor.md +45 -0
- package/dist/builtin/workflows/skills/impeccable/reference/craft.md +3 -121
- package/dist/builtin/workflows/skills/impeccable/reference/critique.md +28 -20
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/asset-producer.md +97 -0
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/documenter.md +23 -0
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/finish-reviewer.md +32 -0
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
- package/dist/builtin/workflows/skills/impeccable/reference/delight.md +47 -279
- package/dist/builtin/workflows/skills/impeccable/reference/distill.md +2 -2
- package/dist/builtin/workflows/skills/impeccable/reference/doctor.md +53 -0
- package/dist/builtin/workflows/skills/impeccable/reference/document.md +60 -73
- package/dist/builtin/workflows/skills/impeccable/reference/harden.md +1 -12
- package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +23 -12
- package/dist/builtin/workflows/skills/impeccable/reference/init.md +64 -163
- package/dist/builtin/workflows/skills/impeccable/reference/ios.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/layout.md +52 -153
- package/dist/builtin/workflows/skills/impeccable/reference/live.md +47 -36
- package/dist/builtin/workflows/skills/impeccable/reference/new-work.md +105 -0
- package/dist/builtin/workflows/skills/impeccable/reference/{product.md → operate.md} +6 -5
- package/dist/builtin/workflows/skills/impeccable/reference/optimize.md +4 -4
- package/dist/builtin/workflows/skills/impeccable/reference/overdrive.md +1 -4
- package/dist/builtin/workflows/skills/impeccable/reference/polish.md +68 -212
- package/dist/builtin/workflows/skills/impeccable/reference/quieter.md +3 -3
- package/dist/builtin/workflows/skills/impeccable/reference/routing.md +18 -0
- package/dist/builtin/workflows/skills/impeccable/reference/shape.md +38 -144
- package/dist/builtin/workflows/skills/impeccable/reference/typeset.md +48 -269
- package/dist/builtin/workflows/skills/impeccable/reference/visualize.md +38 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/command-metadata.json +1 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/concept-seed.mjs +584 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +117 -9
- package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +486 -59
- package/dist/builtin/workflows/skills/impeccable/scripts/critique-storage.mjs +16 -45
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +96 -10
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +143 -26
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +181 -12
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +3187 -182
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +102 -7
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +282 -70
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +183 -15
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +22 -7
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/findings.mjs +7 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/node/file-system.mjs +16 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +155 -42
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +2988 -155
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/constants.mjs +11 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/doctor.mjs +336 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/generate-image.mjs +232 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +92 -30
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +414 -120
- package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +25 -8
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/composition-catalog.mjs +165 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/concept-catalog.mjs +329 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +20 -5
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-paths.mjs +16 -8
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/provider.mjs +1 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-deep.mjs +455 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness.mjs +457 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/completion.mjs +10 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/live/event-validation.mjs +15 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/session-store.mjs +109 -32
- package/dist/builtin/workflows/skills/impeccable/scripts/live/source-lock.mjs +105 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/source-search.mjs +105 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/sveltekit-adapter.mjs +8 -6
- package/dist/builtin/workflows/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +212 -69
- package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-dom.js +5 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-session.js +7 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +565 -115
- package/dist/builtin/workflows/skills/impeccable/scripts/live-commit-manual-edits.mjs +3 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live-inject.mjs +198 -14
- package/dist/builtin/workflows/skills/impeccable/scripts/live-insert.mjs +24 -6
- package/dist/builtin/workflows/skills/impeccable/scripts/live-manual-edit-evidence.mjs +11 -3
- package/dist/builtin/workflows/skills/impeccable/scripts/live-poll.mjs +44 -14
- package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +405 -34
- package/dist/builtin/workflows/skills/impeccable/scripts/live-status.mjs +9 -5
- package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +81 -67
- package/dist/builtin/workflows/skills/impeccable/scripts/live.mjs +7 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/palette.mjs +76 -81
- package/dist/builtin/workflows/skills/impeccable/scripts/pin.mjs +4 -4
- package/dist/builtin/workflows/skills/impeccable/scripts/serve-question.mjs +890 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/surface-brief.mjs +74 -0
- package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +57 -252
- package/dist/builtin/workflows/skills/prompt-engineer/references/advanced_patterns.md +70 -226
- package/dist/builtin/workflows/skills/prompt-engineer/references/core_prompting.md +64 -103
- package/dist/builtin/workflows/skills/prompt-engineer/references/quality_improvement.md +81 -155
- package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +5 -5
- package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +160 -197
- package/dist/builtin/workflows/src/authoring/workflow.ts +137 -132
- package/dist/builtin/workflows/src/authoring.d.ts +7 -3
- package/dist/builtin/workflows/src/durable/backend.ts +510 -383
- package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +172 -0
- package/dist/builtin/workflows/src/durable/boundary-topology.ts +475 -0
- package/dist/builtin/workflows/src/durable/child-invocation.ts +14 -0
- package/dist/builtin/workflows/src/durable/child-primitive.ts +115 -74
- package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +290 -0
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +425 -189
- package/dist/builtin/workflows/src/durable/completed-inspection.ts +117 -105
- package/dist/builtin/workflows/src/durable/completed-subtree.ts +35 -0
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +484 -414
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres-root.ts +86 -87
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +171 -149
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +415 -189
- package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +128 -106
- package/dist/builtin/workflows/src/durable/dbos-local-postgres.ts +75 -68
- package/dist/builtin/workflows/src/durable/dbos-metadata.ts +138 -101
- package/dist/builtin/workflows/src/durable/dbos-prompt-reservations.ts +316 -259
- package/dist/builtin/workflows/src/durable/dbos-sdk-handle.ts +138 -117
- package/dist/builtin/workflows/src/durable/dbos-status-transition.ts +48 -43
- package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +14 -14
- package/dist/builtin/workflows/src/durable/durable-hash.ts +9 -11
- package/dist/builtin/workflows/src/durable/factory.ts +54 -29
- package/dist/builtin/workflows/src/durable/format-version.ts +1 -1
- package/dist/builtin/workflows/src/durable/index.ts +69 -68
- package/dist/builtin/workflows/src/durable/local-command.ts +47 -43
- package/dist/builtin/workflows/src/durable/prompt-reservation-state.ts +156 -149
- package/dist/builtin/workflows/src/durable/prompt-reservations.ts +16 -16
- package/dist/builtin/workflows/src/durable/resume-catalog.ts +11 -11
- package/dist/builtin/workflows/src/durable/resume-eligibility.ts +69 -25
- package/dist/builtin/workflows/src/durable/resume-runtime.ts +262 -224
- package/dist/builtin/workflows/src/durable/retention-policy.ts +31 -30
- package/dist/builtin/workflows/src/durable/run-timing.ts +42 -41
- package/dist/builtin/workflows/src/durable/scoped-backend.ts +261 -193
- package/dist/builtin/workflows/src/durable/stage-primitive.ts +466 -370
- package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +247 -0
- package/dist/builtin/workflows/src/durable/stage-topology.ts +53 -0
- package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +49 -0
- package/dist/builtin/workflows/src/durable/tool-outcome.ts +130 -0
- package/dist/builtin/workflows/src/durable/tool-primitive.ts +650 -137
- package/dist/builtin/workflows/src/durable/types.ts +243 -132
- package/dist/builtin/workflows/src/durable/ui-primitive.ts +243 -164
- package/dist/builtin/workflows/src/durable/workflow-child-result.ts +61 -0
- package/dist/builtin/workflows/src/durable/workflow-status-transition.ts +16 -15
- package/dist/builtin/workflows/src/engine/graph-inference.ts +76 -76
- package/dist/builtin/workflows/src/engine/options.ts +35 -35
- package/dist/builtin/workflows/src/engine/primitives/chain.ts +27 -22
- package/dist/builtin/workflows/src/engine/primitives/exit.ts +1 -1
- package/dist/builtin/workflows/src/engine/primitives/parallel.ts +64 -52
- package/dist/builtin/workflows/src/engine/primitives/task.ts +110 -95
- package/dist/builtin/workflows/src/engine/primitives/ui.ts +46 -50
- package/dist/builtin/workflows/src/engine/primitives/workflow.ts +194 -151
- package/dist/builtin/workflows/src/engine/replay.ts +6 -6
- package/dist/builtin/workflows/src/engine/run-durable-admission.ts +50 -0
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +64 -37
- package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +30 -24
- package/dist/builtin/workflows/src/engine/run-durable-topology.ts +288 -0
- package/dist/builtin/workflows/src/engine/run-returned-status.ts +60 -57
- package/dist/builtin/workflows/src/engine/run-terminal-event.ts +39 -0
- package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +53 -0
- package/dist/builtin/workflows/src/engine/run-tool-admission-boundary.ts +99 -0
- package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +179 -0
- package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +164 -0
- package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +152 -0
- package/dist/builtin/workflows/src/engine/run.ts +681 -477
- package/dist/builtin/workflows/src/engine/runtime.ts +160 -140
- package/dist/builtin/workflows/src/engine/workflow-activity.ts +7 -3
- package/dist/builtin/workflows/src/engine/workflow-tool-abort.ts +92 -0
- package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +123 -120
- package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +108 -112
- package/dist/builtin/workflows/src/extension/companions.ts +116 -116
- package/dist/builtin/workflows/src/extension/completed-stage-intercom-ask.ts +123 -111
- package/dist/builtin/workflows/src/extension/config-file-loader.ts +153 -148
- package/dist/builtin/workflows/src/extension/config-loader.ts +264 -283
- package/dist/builtin/workflows/src/extension/discovery-loaders.ts +81 -84
- package/dist/builtin/workflows/src/extension/discovery.ts +267 -272
- package/dist/builtin/workflows/src/extension/dispatcher.ts +214 -217
- package/dist/builtin/workflows/src/extension/extension-factory.ts +103 -93
- package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +127 -111
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +418 -409
- package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +273 -261
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +75711 -0
- package/dist/builtin/workflows/src/extension/index.ts +37 -37
- package/dist/builtin/workflows/src/extension/lifecycle-notification-delivery.ts +64 -64
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +389 -369
- package/dist/builtin/workflows/src/extension/mcp.ts +35 -35
- package/dist/builtin/workflows/src/extension/postmortem-deps.ts +32 -35
- package/dist/builtin/workflows/src/extension/public-types.ts +160 -182
- package/dist/builtin/workflows/src/extension/render-call.ts +85 -88
- package/dist/builtin/workflows/src/extension/render-component.ts +9 -11
- package/dist/builtin/workflows/src/extension/render-result.ts +443 -375
- package/dist/builtin/workflows/src/extension/renderers.ts +35 -35
- package/dist/builtin/workflows/src/extension/runtime-active-block-claim.ts +37 -37
- package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +143 -138
- package/dist/builtin/workflows/src/extension/runtime.ts +346 -258
- package/dist/builtin/workflows/src/extension/status-writer.ts +95 -95
- package/dist/builtin/workflows/src/extension/ui-surface.ts +224 -218
- package/dist/builtin/workflows/src/extension/wiring.ts +307 -281
- package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +109 -108
- package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +253 -224
- package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +84 -83
- package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +126 -132
- package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +213 -202
- package/dist/builtin/workflows/src/extension/workflow-model-catalog.ts +24 -0
- package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +110 -95
- package/dist/builtin/workflows/src/extension/workflow-policy.ts +7 -9
- package/dist/builtin/workflows/src/extension/workflow-ports.ts +30 -34
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +41 -20
- package/dist/builtin/workflows/src/extension/workflow-reload-coordinator.ts +46 -46
- package/dist/builtin/workflows/src/extension/workflow-reload-report.ts +28 -25
- package/dist/builtin/workflows/src/extension/workflow-resume-picker-rows.ts +61 -46
- package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +29 -31
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +531 -453
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +149 -92
- package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +182 -194
- package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +151 -118
- package/dist/builtin/workflows/src/extension/workflow-targets.ts +159 -128
- package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +204 -217
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +485 -372
- package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +124 -150
- package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +43 -46
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +346 -206
- package/dist/builtin/workflows/src/extension/workflow-tool.ts +113 -129
- package/dist/builtin/workflows/src/intercom/intercom-bridge.ts +17 -20
- package/dist/builtin/workflows/src/intercom/intercom-routing.ts +62 -62
- package/dist/builtin/workflows/src/intercom/result-intercom.ts +123 -123
- package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +72 -59
- package/dist/builtin/workflows/src/runs/background/durable-resume-transition.ts +45 -45
- package/dist/builtin/workflows/src/runs/background/job-tracker.ts +69 -34
- package/dist/builtin/workflows/src/runs/background/quit-tool-node.ts +71 -0
- package/dist/builtin/workflows/src/runs/background/quit.ts +360 -138
- package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +70 -69
- package/dist/builtin/workflows/src/runs/background/run-inspect.ts +90 -79
- package/dist/builtin/workflows/src/runs/background/runner.ts +122 -121
- package/dist/builtin/workflows/src/runs/background/startup-admission.ts +56 -60
- package/dist/builtin/workflows/src/runs/background/status.ts +325 -284
- package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +25 -26
- package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +311 -309
- package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +229 -199
- package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +56 -51
- package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +168 -152
- package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +258 -220
- package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +178 -173
- package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +273 -269
- package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +59 -56
- package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +379 -351
- package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +123 -127
- package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +360 -295
- package/dist/builtin/workflows/src/runs/foreground/executor-queued-user-message.ts +47 -47
- package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +125 -104
- package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +191 -189
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +309 -242
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +141 -127
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +219 -179
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +410 -354
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +143 -126
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +50 -47
- package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +1 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +153 -153
- package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +157 -110
- package/dist/builtin/workflows/src/runs/foreground/executor.ts +10 -10
- package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +176 -100
- package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +363 -257
- package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +86 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-queued-user-messages.ts +95 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-candidate.ts +8 -8
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +277 -219
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +636 -494
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-message-admission.ts +182 -181
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +80 -80
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +78 -74
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +235 -106
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +200 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-replacement.ts +31 -32
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +115 -98
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +29 -42
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +44 -52
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +63 -58
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +161 -124
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +27 -23
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +10 -10
- package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +33 -31
- package/dist/builtin/workflows/src/runs/shared/concurrency.ts +53 -53
- package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +1 -1
- package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +257 -385
- package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +378 -363
- package/dist/builtin/workflows/src/runs/shared/prompt-callsite.ts +55 -55
- package/dist/builtin/workflows/src/runs/shared/validate-inputs.ts +75 -84
- package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +1 -3
- package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +96 -83
- package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +9 -2
- package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +21 -6
- package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +60 -30
- package/dist/builtin/workflows/src/runs/shared/worktree-post-create.ts +12 -5
- package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +51 -30
- package/dist/builtin/workflows/src/runs/shared/worktree.ts +4 -4
- package/dist/builtin/workflows/src/sdk-surface.ts +38 -19
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +17 -16
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +299 -280
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +78 -10
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +313 -219
- package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +400 -152
- package/dist/builtin/workflows/src/shared/flat-string.ts +33 -0
- package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +144 -0
- package/dist/builtin/workflows/src/shared/intercom-group.ts +33 -26
- package/dist/builtin/workflows/src/shared/persistence-compaction-policy.ts +30 -30
- package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +435 -379
- package/dist/builtin/workflows/src/shared/persistence-restore.ts +187 -181
- package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +211 -208
- package/dist/builtin/workflows/src/shared/prompt-callsite-context.ts +3 -3
- package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +87 -94
- package/dist/builtin/workflows/src/shared/resume-continuation.ts +1 -1
- package/dist/builtin/workflows/src/shared/returned-run-status.ts +91 -77
- package/dist/builtin/workflows/src/shared/run-id.ts +36 -0
- package/dist/builtin/workflows/src/shared/run-visibility.ts +2 -2
- package/dist/builtin/workflows/src/shared/schema-introspection.ts +50 -60
- package/dist/builtin/workflows/src/shared/serializable.ts +72 -86
- package/dist/builtin/workflows/src/shared/session-transcript.ts +44 -39
- package/dist/builtin/workflows/src/shared/stage-prompt.ts +183 -202
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +270 -274
- package/dist/builtin/workflows/src/shared/store-factory.ts +9 -7
- package/dist/builtin/workflows/src/shared/store-internal.ts +201 -168
- package/dist/builtin/workflows/src/shared/store-observation.ts +10 -0
- package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +196 -200
- package/dist/builtin/workflows/src/shared/store-public-types.ts +216 -196
- package/dist/builtin/workflows/src/shared/store-run-methods.ts +252 -222
- package/dist/builtin/workflows/src/shared/store-stage-methods.ts +284 -283
- package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +53 -0
- package/dist/builtin/workflows/src/shared/store-types.ts +273 -235
- package/dist/builtin/workflows/src/shared/store.ts +7 -7
- package/dist/builtin/workflows/src/shared/timing.ts +36 -34
- package/dist/builtin/workflows/src/shared/types.ts +259 -217
- package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +261 -0
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +11 -4
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +81 -58
- package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +247 -221
- package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +45 -46
- package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +330 -351
- package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +212 -157
- package/dist/builtin/workflows/src/shared/workflow-failures.ts +10 -10
- package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +49 -0
- package/dist/builtin/workflows/src/tui/chat-surface-message.ts +157 -184
- package/dist/builtin/workflows/src/tui/chat-surface.ts +332 -355
- package/dist/builtin/workflows/src/tui/color-utils.ts +21 -30
- package/dist/builtin/workflows/src/tui/connectors.ts +57 -61
- package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +192 -200
- package/dist/builtin/workflows/src/tui/edge.ts +10 -9
- package/dist/builtin/workflows/src/tui/graph-canvas.ts +148 -134
- package/dist/builtin/workflows/src/tui/graph-theme.ts +139 -148
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +9 -6
- package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +147 -183
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +295 -329
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +291 -320
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +160 -192
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +487 -308
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +65 -58
- package/dist/builtin/workflows/src/tui/header.ts +140 -156
- package/dist/builtin/workflows/src/tui/host-input-form.ts +47 -45
- package/dist/builtin/workflows/src/tui/inline-form-card.ts +277 -266
- package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +61 -62
- package/dist/builtin/workflows/src/tui/inline-form-editor.ts +407 -412
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +203 -214
- package/dist/builtin/workflows/src/tui/inline-form-store.ts +24 -24
- package/dist/builtin/workflows/src/tui/inputs-overlay.ts +116 -129
- package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +111 -115
- package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +255 -269
- package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +248 -236
- package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +111 -140
- package/dist/builtin/workflows/src/tui/inputs-picker.ts +12 -12
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +49 -57
- package/dist/builtin/workflows/src/tui/layout.ts +130 -133
- package/dist/builtin/workflows/src/tui/mouse-input.ts +45 -47
- package/dist/builtin/workflows/src/tui/node-card.ts +247 -223
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +383 -398
- package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +20 -19
- package/dist/builtin/workflows/src/tui/prompt-card-input.ts +183 -194
- package/dist/builtin/workflows/src/tui/prompt-card-render.ts +529 -318
- package/dist/builtin/workflows/src/tui/prompt-card-select.ts +76 -98
- package/dist/builtin/workflows/src/tui/prompt-card-state.ts +40 -40
- package/dist/builtin/workflows/src/tui/prompt-card-text.ts +76 -83
- package/dist/builtin/workflows/src/tui/prompt-card.ts +3 -3
- package/dist/builtin/workflows/src/tui/renderers.ts +6 -7
- package/dist/builtin/workflows/src/tui/run-detail.ts +320 -259
- package/dist/builtin/workflows/src/tui/run-identity-rows.ts +97 -0
- package/dist/builtin/workflows/src/tui/session-list.ts +19 -18
- package/dist/builtin/workflows/src/tui/session-overlays.ts +103 -87
- package/dist/builtin/workflows/src/tui/session-picker.ts +318 -282
- package/dist/builtin/workflows/src/tui/stage-chat-composer-drafts.ts +11 -11
- package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +55 -62
- package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +384 -263
- package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +91 -102
- package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +113 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +189 -209
- package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +178 -208
- package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +53 -23
- package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +2 -4
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +85 -88
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +39 -17
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +475 -409
- package/dist/builtin/workflows/src/tui/stage-chat-view-status.ts +24 -25
- package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +181 -197
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +128 -129
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +211 -205
- package/dist/builtin/workflows/src/tui/status-helpers.ts +65 -69
- package/dist/builtin/workflows/src/tui/status-list.ts +349 -305
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +214 -214
- package/dist/builtin/workflows/src/tui/submit-pane.ts +114 -130
- package/dist/builtin/workflows/src/tui/switcher.ts +120 -128
- package/dist/builtin/workflows/src/tui/text-helpers.ts +136 -145
- package/dist/builtin/workflows/src/tui/widget.ts +284 -295
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +12 -17
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +81 -91
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +473 -479
- package/dist/builtin/workflows/src/tui/workflow-list.ts +130 -145
- package/dist/builtin/workflows/src/tui/workflow-notice-card.ts +127 -144
- package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +231 -218
- package/dist/builtin/workflows/src/tui/workflow-status.ts +7 -0
- package/dist/builtin/workflows/src/workflows/identity.ts +12 -12
- package/dist/builtin/workflows/src/workflows/registry.ts +66 -68
- package/dist/bun/cli.js.map +1 -1
- package/dist/bun/internal-intercom-broker.d.ts.map +1 -1
- package/dist/bun/internal-intercom-broker.js +1 -1
- package/dist/bun/internal-intercom-broker.js.map +1 -1
- package/dist/bun/register-bedrock.js +1 -1
- package/dist/bun/register-bedrock.js.map +1 -1
- package/dist/cli/args.d.ts +8 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +28 -22
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +4 -2
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +2 -2
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts +170 -0
- package/dist/cli/credential-print.d.ts.map +1 -0
- package/dist/cli/credential-print.js +513 -0
- package/dist/cli/credential-print.js.map +1 -0
- package/dist/cli/list-models.d.ts +2 -2
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +6 -7
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/project-trust.d.ts +1 -1
- package/dist/cli/project-trust.d.ts.map +1 -1
- package/dist/cli/project-trust.js.map +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +2 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +3 -0
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +58 -2
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/config-command-parser.d.ts +9 -0
- package/dist/config-command-parser.d.ts.map +1 -0
- package/dist/config-command-parser.js +22 -0
- package/dist/config-command-parser.js.map +1 -0
- package/dist/config-self-update.d.ts +6 -2
- package/dist/config-self-update.d.ts.map +1 -1
- package/dist/config-self-update.js +23 -13
- package/dist/config-self-update.js.map +1 -1
- package/dist/config.d.ts +5 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +36 -14
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-accessors.d.ts.map +1 -1
- package/dist/core/agent-session-accessors.js +130 -24
- package/dist/core/agent-session-accessors.js.map +1 -1
- package/dist/core/agent-session-auto-compaction.d.ts +4 -3
- package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-auto-compaction.js +64 -64
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-bash.d.ts +10 -7
- package/dist/core/agent-session-bash.d.ts.map +1 -1
- package/dist/core/agent-session-bash.js +34 -13
- package/dist/core/agent-session-bash.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts +11 -1
- package/dist/core/agent-session-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-compaction.js +141 -27
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-custom-message-commit.d.ts +14 -0
- package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -0
- package/dist/core/agent-session-custom-message-commit.js +145 -0
- package/dist/core/agent-session-custom-message-commit.js.map +1 -0
- package/dist/core/agent-session-delivery-forwarding.d.ts +9 -0
- package/dist/core/agent-session-delivery-forwarding.d.ts.map +1 -0
- package/dist/core/agent-session-delivery-forwarding.js +36 -0
- package/dist/core/agent-session-delivery-forwarding.js.map +1 -0
- package/dist/core/agent-session-events.d.ts +1 -1
- package/dist/core/agent-session-events.d.ts.map +1 -1
- package/dist/core/agent-session-events.js +58 -19
- package/dist/core/agent-session-events.js.map +1 -1
- package/dist/core/agent-session-export.d.ts +1 -1
- package/dist/core/agent-session-export.d.ts.map +1 -1
- package/dist/core/agent-session-export.js +32 -25
- package/dist/core/agent-session-export.js.map +1 -1
- package/dist/core/agent-session-extension-bindings.d.ts +2 -6
- package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
- package/dist/core/agent-session-extension-bindings.js +38 -18
- package/dist/core/agent-session-extension-bindings.js.map +1 -1
- package/dist/core/agent-session-message-queue.d.ts +10 -11
- package/dist/core/agent-session-message-queue.d.ts.map +1 -1
- package/dist/core/agent-session-message-queue.js +123 -106
- package/dist/core/agent-session-message-queue.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +55 -46
- package/dist/core/agent-session-methods.d.ts.map +1 -1
- package/dist/core/agent-session-methods.js.map +1 -1
- package/dist/core/agent-session-models.d.ts +3 -39
- package/dist/core/agent-session-models.d.ts.map +1 -1
- package/dist/core/agent-session-models.js +22 -160
- package/dist/core/agent-session-models.js.map +1 -1
- package/dist/core/agent-session-persistent-custom-messages.d.ts +47 -0
- package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -0
- package/dist/core/agent-session-persistent-custom-messages.js +272 -0
- package/dist/core/agent-session-persistent-custom-messages.js.map +1 -0
- package/dist/core/agent-session-post-tool-compaction.d.ts +1 -1
- package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.js +45 -13
- package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts +2 -0
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +52 -25
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-queue-pause.d.ts +10 -0
- package/dist/core/agent-session-queue-pause.d.ts.map +1 -0
- package/dist/core/agent-session-queue-pause.js +87 -0
- package/dist/core/agent-session-queue-pause.js.map +1 -0
- package/dist/core/agent-session-retry.d.ts +0 -11
- package/dist/core/agent-session-retry.d.ts.map +1 -1
- package/dist/core/agent-session-retry.js +38 -64
- package/dist/core/agent-session-retry.js.map +1 -1
- package/dist/core/agent-session-runtime-auth.d.ts +6 -0
- package/dist/core/agent-session-runtime-auth.d.ts.map +1 -0
- package/dist/core/agent-session-runtime-auth.js +18 -0
- package/dist/core/agent-session-runtime-auth.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +25 -3
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +55 -11
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +4 -9
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +25 -25
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-state.d.ts +1 -1
- package/dist/core/agent-session-state.d.ts.map +1 -1
- package/dist/core/agent-session-state.js +3 -0
- package/dist/core/agent-session-state.js.map +1 -1
- package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
- package/dist/core/agent-session-tool-hooks.js +8 -7
- package/dist/core/agent-session-tool-hooks.js.map +1 -1
- package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
- package/dist/core/agent-session-tool-registry.js +6 -20
- package/dist/core/agent-session-tool-registry.js.map +1 -1
- package/dist/core/agent-session-transfer.d.ts +4 -0
- package/dist/core/agent-session-transfer.d.ts.map +1 -0
- package/dist/core/agent-session-transfer.js +67 -0
- package/dist/core/agent-session-transfer.js.map +1 -0
- package/dist/core/agent-session-tree.d.ts +1 -1
- package/dist/core/agent-session-tree.d.ts.map +1 -1
- package/dist/core/agent-session-tree.js +17 -3
- package/dist/core/agent-session-tree.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +32 -14
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js +4 -4
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +28 -13
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +18 -12
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
- package/dist/core/anthropic-thinking-guard.js +4 -2
- package/dist/core/anthropic-thinking-guard.js.map +1 -1
- package/dist/core/async/format.d.ts +1 -1
- package/dist/core/async/format.d.ts.map +1 -1
- package/dist/core/async/format.js +3 -1
- package/dist/core/async/format.js.map +1 -1
- package/dist/core/async/job-manager.d.ts.map +1 -1
- package/dist/core/async/job-manager.js +20 -5
- package/dist/core/async/job-manager.js.map +1 -1
- package/dist/core/async/session-manager.d.ts.map +1 -1
- package/dist/core/async/session-manager.js.map +1 -1
- package/dist/core/atomic-guide-command.d.ts.map +1 -1
- package/dist/core/atomic-guide-command.js +32 -35
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/core/auth-guidance.d.ts.map +1 -1
- package/dist/core/auth-guidance.js.map +1 -1
- package/dist/core/auth-storage-backends.d.ts +1 -0
- package/dist/core/auth-storage-backends.d.ts.map +1 -1
- package/dist/core/auth-storage-backends.js +30 -5
- package/dist/core/auth-storage-backends.js.map +1 -1
- package/dist/core/auth-storage.d.ts +13 -136
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +69 -375
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts +5 -3
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +5 -4
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/bounded-model-refresh.d.ts +14 -0
- package/dist/core/bounded-model-refresh.d.ts.map +1 -0
- package/dist/core/bounded-model-refresh.js +38 -0
- package/dist/core/bounded-model-refresh.js.map +1 -0
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +1 -10
- package/dist/core/builtin-packages.js.map +1 -1
- package/dist/core/cache-stats.d.ts +25 -0
- package/dist/core/cache-stats.d.ts.map +1 -0
- package/dist/core/cache-stats.js +70 -0
- package/dist/core/cache-stats.js.map +1 -0
- package/dist/core/callback-activity.d.ts.map +1 -1
- package/dist/core/callback-activity.js.map +1 -1
- package/dist/core/codex-errors.d.ts.map +1 -1
- package/dist/core/codex-errors.js +1 -1
- package/dist/core/codex-errors.js.map +1 -1
- package/dist/core/codex-fast-mode.d.ts.map +1 -1
- package/dist/core/codex-fast-mode.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +15 -5
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +23 -12
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction-boundary.d.ts +18 -1
- package/dist/core/compaction/compaction-boundary.d.ts.map +1 -1
- package/dist/core/compaction/compaction-boundary.js +12 -8
- package/dist/core/compaction/compaction-boundary.js.map +1 -1
- package/dist/core/compaction/compaction-runner.d.ts +63 -6
- package/dist/core/compaction/compaction-runner.d.ts.map +1 -1
- package/dist/core/compaction/compaction-runner.js +244 -17
- package/dist/core/compaction/compaction-runner.js.map +1 -1
- package/dist/core/compaction/compaction-types.d.ts +53 -2
- package/dist/core/compaction/compaction-types.d.ts.map +1 -1
- package/dist/core/compaction/compaction-types.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +5 -1
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/deleted-ranges.d.ts.map +1 -1
- package/dist/core/compaction/deleted-ranges.js.map +1 -1
- package/dist/core/compaction/fallback-planner.d.ts +64 -0
- package/dist/core/compaction/fallback-planner.d.ts.map +1 -0
- package/dist/core/compaction/fallback-planner.js +75 -0
- package/dist/core/compaction/fallback-planner.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -4
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js +7 -4
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/compaction/planner-outcome.d.ts +86 -0
- package/dist/core/compaction/planner-outcome.d.ts.map +1 -0
- package/dist/core/compaction/planner-outcome.js +122 -0
- package/dist/core/compaction/planner-outcome.js.map +1 -0
- package/dist/core/compaction/range-planner-diagnostics.d.ts +58 -6
- package/dist/core/compaction/range-planner-diagnostics.d.ts.map +1 -1
- package/dist/core/compaction/range-planner-diagnostics.js +71 -31
- package/dist/core/compaction/range-planner-diagnostics.js.map +1 -1
- package/dist/core/compaction/range-planner.d.ts +39 -8
- package/dist/core/compaction/range-planner.d.ts.map +1 -1
- package/dist/core/compaction/range-planner.js +140 -51
- package/dist/core/compaction/range-planner.js.map +1 -1
- package/dist/core/compaction/region-trimming.d.ts +34 -0
- package/dist/core/compaction/region-trimming.d.ts.map +1 -0
- package/dist/core/compaction/region-trimming.js +73 -0
- package/dist/core/compaction/region-trimming.js.map +1 -0
- package/dist/core/compaction/transcript-serialization.d.ts +8 -1
- package/dist/core/compaction/transcript-serialization.d.ts.map +1 -1
- package/dist/core/compaction/transcript-serialization.js +78 -27
- package/dist/core/compaction/transcript-serialization.js.map +1 -1
- package/dist/core/context-tool-pairing.d.ts +19 -0
- package/dist/core/context-tool-pairing.d.ts.map +1 -0
- package/dist/core/context-tool-pairing.js +50 -0
- package/dist/core/context-tool-pairing.js.map +1 -0
- package/dist/core/copilot-env-routing.d.ts +36 -0
- package/dist/core/copilot-env-routing.d.ts.map +1 -0
- package/dist/core/copilot-env-routing.js +94 -0
- package/dist/core/copilot-env-routing.js.map +1 -0
- package/dist/core/diagnostics.d.ts +8 -0
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +5 -0
- package/dist/core/exec.js.map +1 -1
- package/dist/core/experimental.d.ts.map +1 -1
- package/dist/core/experimental.js +2 -1
- package/dist/core/experimental.js.map +1 -1
- package/dist/core/extensions/agent-events.d.ts +10 -0
- package/dist/core/extensions/agent-events.d.ts.map +1 -1
- package/dist/core/extensions/agent-events.js.map +1 -1
- package/dist/core/extensions/api-types.d.ts +9 -3
- package/dist/core/extensions/api-types.d.ts.map +1 -1
- package/dist/core/extensions/api-types.js.map +1 -1
- package/dist/core/extensions/context-types.d.ts +10 -1
- package/dist/core/extensions/context-types.d.ts.map +1 -1
- package/dist/core/extensions/context-types.js.map +1 -1
- package/dist/core/extensions/event-types.d.ts +2 -2
- package/dist/core/extensions/event-types.d.ts.map +1 -1
- package/dist/core/extensions/event-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +7 -5
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +2 -2
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader-api.d.ts +1 -1
- package/dist/core/extensions/loader-api.d.ts.map +1 -1
- package/dist/core/extensions/loader-api.js +63 -29
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-core.d.ts.map +1 -1
- package/dist/core/extensions/loader-core.js +3 -2
- package/dist/core/extensions/loader-core.js.map +1 -1
- package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
- package/dist/core/extensions/loader-discovery.js.map +1 -1
- package/dist/core/extensions/loader-resources.d.ts.map +1 -1
- package/dist/core/extensions/loader-resources.js.map +1 -1
- package/dist/core/extensions/loader-runtime.d.ts +2 -4
- package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
- package/dist/core/extensions/loader-runtime.js +214 -13
- package/dist/core/extensions/loader-runtime.js.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.d.ts +17 -0
- package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.js +288 -19
- package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/message-types.d.ts +12 -4
- package/dist/core/extensions/message-types.d.ts.map +1 -1
- package/dist/core/extensions/message-types.js.map +1 -1
- package/dist/core/extensions/provider-types.d.ts +16 -5
- package/dist/core/extensions/provider-types.d.ts.map +1 -1
- package/dist/core/extensions/provider-types.js.map +1 -1
- package/dist/core/extensions/reactive-widget.d.ts.map +1 -1
- package/dist/core/extensions/reactive-widget.js.map +1 -1
- package/dist/core/extensions/runner-context.d.ts +29 -1
- package/dist/core/extensions/runner-context.d.ts.map +1 -1
- package/dist/core/extensions/runner-context.js +56 -0
- package/dist/core/extensions/runner-context.js.map +1 -1
- package/dist/core/extensions/runner-events.d.ts.map +1 -1
- package/dist/core/extensions/runner-events.js.map +1 -1
- package/dist/core/extensions/runner-registries.d.ts +2 -1
- package/dist/core/extensions/runner-registries.d.ts.map +1 -1
- package/dist/core/extensions/runner-registries.js +8 -0
- package/dist/core/extensions/runner-registries.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +7 -2
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +65 -23
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/runtime-types.d.ts +35 -2
- package/dist/core/extensions/runtime-types.d.ts.map +1 -1
- package/dist/core/extensions/runtime-types.js.map +1 -1
- package/dist/core/extensions/session-events.d.ts.map +1 -1
- package/dist/core/extensions/session-events.js.map +1 -1
- package/dist/core/extensions/tool-types.d.ts +7 -3
- package/dist/core/extensions/tool-types.d.ts.map +1 -1
- package/dist/core/extensions/tool-types.js.map +1 -1
- package/dist/core/extensions/types.d.ts +15 -2
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/ui-types.d.ts +34 -6
- package/dist/core/extensions/ui-types.d.ts.map +1 -1
- package/dist/core/extensions/ui-types.js.map +1 -1
- package/dist/core/fallback-models.d.ts +37 -0
- package/dist/core/fallback-models.d.ts.map +1 -0
- package/dist/core/fallback-models.js +57 -0
- package/dist/core/fallback-models.js.map +1 -0
- package/dist/core/flattened-tool-arguments.d.ts +4 -7
- package/dist/core/flattened-tool-arguments.d.ts.map +1 -1
- package/dist/core/flattened-tool-arguments.js +4 -7
- package/dist/core/flattened-tool-arguments.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +10 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +5 -3
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts +1 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +42 -8
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/keybindings.d.ts +7 -2
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +3 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/messages.d.ts +29 -5
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +66 -14
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-capabilities.d.ts +18 -0
- package/dist/core/model-capabilities.d.ts.map +1 -0
- package/dist/core/model-capabilities.js +22 -0
- package/dist/core/model-capabilities.js.map +1 -0
- package/dist/core/model-config.d.ts +542 -0
- package/dist/core/model-config.d.ts.map +1 -0
- package/dist/core/{model-registry-schemas.js → model-config.js} +92 -32
- package/dist/core/model-config.js.map +1 -0
- package/dist/core/model-refresh-timeout.d.ts +9 -0
- package/dist/core/model-refresh-timeout.d.ts.map +1 -0
- package/dist/core/model-refresh-timeout.js +9 -0
- package/dist/core/model-refresh-timeout.js.map +1 -0
- package/dist/core/model-registry.d.ts +26 -94
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +65 -382
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-cli.d.ts +2 -2
- package/dist/core/model-resolver-cli.d.ts.map +1 -1
- package/dist/core/model-resolver-cli.js +2 -2
- package/dist/core/model-resolver-cli.js.map +1 -1
- package/dist/core/model-resolver-defaults.d.ts.map +1 -1
- package/dist/core/model-resolver-defaults.js +5 -1
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/model-resolver-initial.d.ts +4 -4
- package/dist/core/model-resolver-initial.d.ts.map +1 -1
- package/dist/core/model-resolver-initial.js +26 -17
- package/dist/core/model-resolver-initial.js.map +1 -1
- package/dist/core/model-resolver-patterns.d.ts.map +1 -1
- package/dist/core/model-resolver-patterns.js +0 -2
- package/dist/core/model-resolver-patterns.js.map +1 -1
- package/dist/core/model-resolver-scope.d.ts +5 -3
- package/dist/core/model-resolver-scope.d.ts.map +1 -1
- package/dist/core/model-resolver-scope.js +32 -8
- package/dist/core/model-resolver-scope.js.map +1 -1
- package/dist/core/model-resolver-types.d.ts +2 -0
- package/dist/core/model-resolver-types.d.ts.map +1 -1
- package/dist/core/model-resolver-types.js.map +1 -1
- package/dist/core/model-resolver.d.ts +3 -3
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime-auth.d.ts +7 -0
- package/dist/core/model-runtime-auth.d.ts.map +1 -0
- package/dist/core/model-runtime-auth.js +17 -0
- package/dist/core/model-runtime-auth.js.map +1 -0
- package/dist/core/model-runtime-providers.d.ts +6 -0
- package/dist/core/model-runtime-providers.d.ts.map +1 -0
- package/dist/core/model-runtime-providers.js +22 -0
- package/dist/core/model-runtime-providers.js.map +1 -0
- package/dist/core/model-runtime-restoration.d.ts +6 -0
- package/dist/core/model-runtime-restoration.d.ts.map +1 -0
- package/dist/core/model-runtime-restoration.js +21 -0
- package/dist/core/model-runtime-restoration.js.map +1 -0
- package/dist/core/model-runtime-snapshot.d.ts +19 -0
- package/dist/core/model-runtime-snapshot.d.ts.map +1 -0
- package/dist/core/model-runtime-snapshot.js +111 -0
- package/dist/core/model-runtime-snapshot.js.map +1 -0
- package/dist/core/model-runtime-streaming.d.ts +17 -0
- package/dist/core/model-runtime-streaming.d.ts.map +1 -0
- package/dist/core/model-runtime-streaming.js +66 -0
- package/dist/core/model-runtime-streaming.js.map +1 -0
- package/dist/core/model-runtime-types.d.ts +21 -0
- package/dist/core/model-runtime-types.d.ts.map +1 -0
- package/dist/core/model-runtime-types.js +2 -0
- package/dist/core/model-runtime-types.js.map +1 -0
- package/dist/core/model-runtime.d.ts +79 -0
- package/dist/core/model-runtime.d.ts.map +1 -0
- package/dist/core/model-runtime.js +417 -0
- package/dist/core/model-runtime.js.map +1 -0
- package/dist/core/models-store.d.ts +2 -10
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +2 -29
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/oauth-login.d.ts +24 -0
- package/dist/core/oauth-login.d.ts.map +1 -0
- package/dist/core/oauth-login.js +92 -0
- package/dist/core/oauth-login.js.map +1 -0
- package/dist/core/oauth-provider-metadata.d.ts +5 -0
- package/dist/core/oauth-provider-metadata.d.ts.map +1 -0
- package/dist/core/oauth-provider-metadata.js +33 -0
- package/dist/core/oauth-provider-metadata.js.map +1 -0
- package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
- package/dist/core/output-guard.d.ts +44 -0
- package/dist/core/output-guard.d.ts.map +1 -1
- package/dist/core/output-guard.js +63 -0
- package/dist/core/output-guard.js.map +1 -1
- package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
- package/dist/core/package-manager-auto-resources.js +18 -5
- package/dist/core/package-manager-auto-resources.js.map +1 -1
- package/dist/core/package-manager-git.d.ts.map +1 -1
- package/dist/core/package-manager-git.js +27 -11
- package/dist/core/package-manager-git.js.map +1 -1
- package/dist/core/package-manager-npm.d.ts.map +1 -1
- package/dist/core/package-manager-npm.js +4 -2
- package/dist/core/package-manager-npm.js.map +1 -1
- package/dist/core/package-manager-operations.d.ts.map +1 -1
- package/dist/core/package-manager-operations.js +2 -2
- package/dist/core/package-manager-operations.js.map +1 -1
- package/dist/core/package-manager-paths.d.ts.map +1 -1
- package/dist/core/package-manager-paths.js.map +1 -1
- package/dist/core/package-manager-resolver.d.ts.map +1 -1
- package/dist/core/package-manager-resolver.js +71 -26
- package/dist/core/package-manager-resolver.js.map +1 -1
- package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
- package/dist/core/package-manager-resource-collector.js +13 -7
- package/dist/core/package-manager-resource-collector.js.map +1 -1
- package/dist/core/package-manager-resource-files.d.ts.map +1 -1
- package/dist/core/package-manager-resource-files.js +4 -3
- package/dist/core/package-manager-resource-files.js.map +1 -1
- package/dist/core/package-manager-resource-patterns.d.ts +1 -0
- package/dist/core/package-manager-resource-patterns.d.ts.map +1 -1
- package/dist/core/package-manager-resource-patterns.js +15 -0
- package/dist/core/package-manager-resource-patterns.js.map +1 -1
- package/dist/core/package-manager-settings.d.ts.map +1 -1
- package/dist/core/package-manager-settings.js +3 -2
- package/dist/core/package-manager-settings.js.map +1 -1
- package/dist/core/package-manager-source.d.ts.map +1 -1
- package/dist/core/package-manager-source.js +16 -9
- package/dist/core/package-manager-source.js.map +1 -1
- package/dist/core/package-manager-types.d.ts +3 -0
- package/dist/core/package-manager-types.d.ts.map +1 -1
- package/dist/core/package-manager-types.js.map +1 -1
- package/dist/core/package-manager.d.ts +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +2 -3
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates-async.d.ts.map +1 -1
- package/dist/core/prompt-templates-async.js +15 -7
- package/dist/core/prompt-templates-async.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +1 -0
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +4 -4
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/provider-composer-internal.d.ts +53 -0
- package/dist/core/provider-composer-internal.d.ts.map +1 -0
- package/dist/core/provider-composer-internal.js +273 -0
- package/dist/core/provider-composer-internal.js.map +1 -0
- package/dist/core/provider-composer.d.ts +16 -0
- package/dist/core/provider-composer.d.ts.map +1 -0
- package/dist/core/provider-composer.js +108 -0
- package/dist/core/provider-composer.js.map +1 -0
- package/dist/core/provider-context-usage.d.ts.map +1 -1
- package/dist/core/provider-context-usage.js +2 -1
- package/dist/core/provider-context-usage.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/provider-display-names.js +4 -0
- package/dist/core/provider-display-names.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +82 -105
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts +8 -7
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +26 -23
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader-assets.d.ts.map +1 -1
- package/dist/core/resource-loader-assets.js +58 -8
- package/dist/core/resource-loader-assets.js.map +1 -1
- package/dist/core/resource-loader-context-files.d.ts +6 -0
- package/dist/core/resource-loader-context-files.d.ts.map +1 -1
- package/dist/core/resource-loader-context-files.js +85 -4
- package/dist/core/resource-loader-context-files.js.map +1 -1
- package/dist/core/resource-loader-core.d.ts +13 -3
- package/dist/core/resource-loader-core.d.ts.map +1 -1
- package/dist/core/resource-loader-core.js +39 -19
- package/dist/core/resource-loader-core.js.map +1 -1
- package/dist/core/resource-loader-discovery.d.ts.map +1 -1
- package/dist/core/resource-loader-discovery.js.map +1 -1
- package/dist/core/resource-loader-extensions.d.ts +1 -0
- package/dist/core/resource-loader-extensions.d.ts.map +1 -1
- package/dist/core/resource-loader-extensions.js +140 -12
- package/dist/core/resource-loader-extensions.js.map +1 -1
- package/dist/core/resource-loader-helpers.d.ts.map +1 -1
- package/dist/core/resource-loader-helpers.js +1 -0
- package/dist/core/resource-loader-helpers.js.map +1 -1
- package/dist/core/resource-loader-internals.d.ts +14 -7
- package/dist/core/resource-loader-internals.d.ts.map +1 -1
- package/dist/core/resource-loader-internals.js.map +1 -1
- package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
- package/dist/core/resource-loader-package-resources.js +15 -2
- package/dist/core/resource-loader-package-resources.js.map +1 -1
- package/dist/core/resource-loader-paths.js.map +1 -1
- package/dist/core/resource-loader-reload.d.ts.map +1 -1
- package/dist/core/resource-loader-reload.js +29 -13
- package/dist/core/resource-loader-reload.js.map +1 -1
- package/dist/core/resource-loader-source-info.d.ts +1 -1
- package/dist/core/resource-loader-source-info.d.ts.map +1 -1
- package/dist/core/resource-loader-source-info.js +7 -4
- package/dist/core/resource-loader-source-info.js.map +1 -1
- package/dist/core/resource-loader-types.d.ts +12 -6
- package/dist/core/resource-loader-types.d.ts.map +1 -1
- package/dist/core/resource-loader-types.js.map +1 -1
- package/dist/core/resource-loader.d.ts +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +1 -1
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts +16 -0
- package/dist/core/runtime-credentials.d.ts.map +1 -0
- package/dist/core/runtime-credentials.js +42 -0
- package/dist/core/runtime-credentials.js.map +1 -0
- package/dist/core/sdk-exports.d.ts +2 -2
- package/dist/core/sdk-exports.d.ts.map +1 -1
- package/dist/core/sdk-exports.js +2 -2
- package/dist/core/sdk-exports.js.map +1 -1
- package/dist/core/sdk-types.d.ts +16 -18
- package/dist/core/sdk-types.d.ts.map +1 -1
- package/dist/core/sdk-types.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +61 -132
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager-archive.d.ts.map +1 -1
- package/dist/core/session-manager-archive.js +5 -2
- package/dist/core/session-manager-archive.js.map +1 -1
- package/dist/core/session-manager-classification.js +3 -3
- package/dist/core/session-manager-classification.js.map +1 -1
- package/dist/core/session-manager-core.d.ts +5 -4
- package/dist/core/session-manager-core.d.ts.map +1 -1
- package/dist/core/session-manager-core.js +29 -33
- package/dist/core/session-manager-core.js.map +1 -1
- package/dist/core/session-manager-entries.d.ts +6 -9
- package/dist/core/session-manager-entries.d.ts.map +1 -1
- package/dist/core/session-manager-entries.js +5 -9
- package/dist/core/session-manager-entries.js.map +1 -1
- package/dist/core/session-manager-history.d.ts +8 -3
- package/dist/core/session-manager-history.d.ts.map +1 -1
- package/dist/core/session-manager-history.js +90 -27
- package/dist/core/session-manager-history.js.map +1 -1
- package/dist/core/session-manager-list.d.ts.map +1 -1
- package/dist/core/session-manager-list.js +1 -1
- package/dist/core/session-manager-list.js.map +1 -1
- package/dist/core/session-manager-migrations.js.map +1 -1
- package/dist/core/session-manager-storage.d.ts +6 -0
- package/dist/core/session-manager-storage.d.ts.map +1 -1
- package/dist/core/session-manager-storage.js +38 -5
- package/dist/core/session-manager-storage.js.map +1 -1
- package/dist/core/session-manager-types.d.ts +13 -8
- package/dist/core/session-manager-types.d.ts.map +1 -1
- package/dist/core/session-manager-types.js.map +1 -1
- package/dist/core/session-manager-validation.d.ts.map +1 -1
- package/dist/core/session-manager-validation.js +3 -16
- package/dist/core/session-manager-validation.js.map +1 -1
- package/dist/core/session-manager.d.ts +4 -4
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +2 -2
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager-basic-accessors.d.ts +7 -4
- package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-basic-accessors.js +35 -50
- package/dist/core/settings-manager-basic-accessors.js.map +1 -1
- package/dist/core/settings-manager-core.d.ts +2 -4
- package/dist/core/settings-manager-core.d.ts.map +1 -1
- package/dist/core/settings-manager-core.js +5 -51
- package/dist/core/settings-manager-core.js.map +1 -1
- package/dist/core/settings-manager-resource-accessors.d.ts +3 -0
- package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-resource-accessors.js +16 -0
- package/dist/core/settings-manager-resource-accessors.js.map +1 -1
- package/dist/core/settings-manager-ui-accessors.js +2 -1
- package/dist/core/settings-manager-ui-accessors.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-storage.d.ts +3 -1
- package/dist/core/settings-storage.d.ts.map +1 -1
- package/dist/core/settings-storage.js +23 -1
- package/dist/core/settings-storage.js.map +1 -1
- package/dist/core/settings-types.d.ts +10 -6
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/skills-async.d.ts.map +1 -1
- package/dist/core/skills-async.js +18 -8
- package/dist/core/skills-async.js.map +1 -1
- package/dist/core/slash-commands.d.ts +1 -0
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +127 -24
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts +3 -1
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js +2 -0
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/summarization-retry.d.ts +11 -0
- package/dist/core/summarization-retry.d.ts.map +1 -0
- package/dist/core/summarization-retry.js +21 -0
- package/dist/core/summarization-retry.js.map +1 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +15 -18
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/thinking-blocks.d.ts.map +1 -1
- package/dist/core/thinking-blocks.js +2 -2
- package/dist/core/thinking-blocks.js.map +1 -1
- package/dist/core/tools/artifact-protocol.d.ts.map +1 -1
- package/dist/core/tools/artifact-protocol.js.map +1 -1
- package/dist/core/tools/artifacts.d.ts.map +1 -1
- package/dist/core/tools/artifacts.js.map +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.js +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -1
- package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/build-questionnaire.js +1 -1
- package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js +2 -4
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/state-reducer.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/state-reducer.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/body-residual-spacer.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/body-residual-spacer.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/multi-select-view.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js +1 -3
- package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/submit-picker.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/tab-bar.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/dialog-builder.js +1 -1
- package/dist/core/tools/ask-user-question/view/dialog-builder.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/props-adapter.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/props-adapter.js +2 -4
- package/dist/core/tools/ask-user-question/view/props-adapter.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/view/tab-content-strategy.js +2 -9
- package/dist/core/tools/ask-user-question/view/tab-content-strategy.js.map +1 -1
- package/dist/core/tools/bash-async-execution.d.ts.map +1 -1
- package/dist/core/tools/bash-async-execution.js +11 -4
- package/dist/core/tools/bash-async-execution.js.map +1 -1
- package/dist/core/tools/bash-async-jobs.d.ts.map +1 -1
- package/dist/core/tools/bash-async-jobs.js +14 -2
- package/dist/core/tools/bash-async-jobs.js.map +1 -1
- package/dist/core/tools/bash-async-output.d.ts.map +1 -1
- package/dist/core/tools/bash-async-output.js +6 -2
- package/dist/core/tools/bash-async-output.js.map +1 -1
- package/dist/core/tools/bash-interceptor.d.ts.map +1 -1
- package/dist/core/tools/bash-interceptor.js +20 -4
- package/dist/core/tools/bash-interceptor.js.map +1 -1
- package/dist/core/tools/bash-leading-cd.d.ts.map +1 -1
- package/dist/core/tools/bash-leading-cd.js +9 -3
- package/dist/core/tools/bash-leading-cd.js.map +1 -1
- package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
- package/dist/core/tools/bash-pty-native.js.map +1 -1
- package/dist/core/tools/bash-session-environment.d.ts +13 -0
- package/dist/core/tools/bash-session-environment.d.ts.map +1 -0
- package/dist/core/tools/bash-session-environment.js +47 -0
- package/dist/core/tools/bash-session-environment.js.map +1 -0
- package/dist/core/tools/bash.d.ts +4 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +134 -30
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/block-resolver.d.ts.map +1 -1
- package/dist/core/tools/block-resolver.js.map +1 -1
- package/dist/core/tools/conflict-registry.d.ts.map +1 -1
- package/dist/core/tools/conflict-registry.js.map +1 -1
- package/dist/core/tools/directory-tree.d.ts.map +1 -1
- package/dist/core/tools/directory-tree.js +20 -4
- package/dist/core/tools/directory-tree.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +37 -13
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/fetch-url.d.ts.map +1 -1
- package/dist/core/tools/fetch-url.js +127 -41
- package/dist/core/tools/fetch-url.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +176 -46
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +43 -10
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/hashline-engine/apply.d.ts.map +1 -1
- package/dist/core/tools/hashline-engine/apply.js +6 -6
- package/dist/core/tools/hashline-engine/apply.js.map +1 -1
- package/dist/core/tools/hashline-engine/block.js +1 -1
- package/dist/core/tools/hashline-engine/block.js.map +1 -1
- package/dist/core/tools/hashline-engine/format.d.ts.map +1 -1
- package/dist/core/tools/hashline-engine/format.js +1 -1
- package/dist/core/tools/hashline-engine/format.js.map +1 -1
- package/dist/core/tools/hashline-engine/input.d.ts.map +1 -1
- package/dist/core/tools/hashline-engine/input.js +7 -7
- package/dist/core/tools/hashline-engine/input.js.map +1 -1
- package/dist/core/tools/hashline-engine/parser.js +1 -1
- package/dist/core/tools/hashline-engine/parser.js.map +1 -1
- package/dist/core/tools/hashline-engine/patcher.js +5 -5
- package/dist/core/tools/hashline-engine/patcher.js.map +1 -1
- package/dist/core/tools/hashline-engine/prefixes.js +4 -4
- package/dist/core/tools/hashline-engine/prefixes.js.map +1 -1
- package/dist/core/tools/hashline-engine/recovery.d.ts.map +1 -1
- package/dist/core/tools/hashline-engine/recovery.js +4 -2
- package/dist/core/tools/hashline-engine/recovery.js.map +1 -1
- package/dist/core/tools/hashline-engine/snapshots.js +5 -5
- package/dist/core/tools/hashline-engine/snapshots.js.map +1 -1
- package/dist/core/tools/hashline.d.ts.map +1 -1
- package/dist/core/tools/hashline.js +24 -13
- package/dist/core/tools/hashline.js.map +1 -1
- package/dist/core/tools/index.d.ts +6 -6
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +6 -6
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +2 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/notebook.d.ts.map +1 -1
- package/dist/core/tools/notebook.js +13 -3
- package/dist/core/tools/notebook.js.map +1 -1
- package/dist/core/tools/read-document-extract.d.ts.map +1 -1
- package/dist/core/tools/read-document-extract.js +30 -10
- package/dist/core/tools/read-document-extract.js.map +1 -1
- package/dist/core/tools/read-selectors.d.ts.map +1 -1
- package/dist/core/tools/read-selectors.js +59 -15
- package/dist/core/tools/read-selectors.js.map +1 -1
- package/dist/core/tools/read-url.d.ts.map +1 -1
- package/dist/core/tools/read-url.js +41 -7
- package/dist/core/tools/read-url.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +307 -72
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/resource-selectors.d.ts +4 -0
- package/dist/core/tools/resource-selectors.d.ts.map +1 -1
- package/dist/core/tools/resource-selectors.js +324 -84
- package/dist/core/tools/resource-selectors.js.map +1 -1
- package/dist/core/tools/search-details.d.ts.map +1 -1
- package/dist/core/tools/search-details.js +13 -1
- package/dist/core/tools/search-details.js.map +1 -1
- package/dist/core/tools/search-line-ranges.d.ts.map +1 -1
- package/dist/core/tools/search-line-ranges.js +5 -2
- package/dist/core/tools/search-line-ranges.js.map +1 -1
- package/dist/core/tools/search-native.d.ts.map +1 -1
- package/dist/core/tools/search-native.js.map +1 -1
- package/dist/core/tools/search.d.ts.map +1 -1
- package/dist/core/tools/search.js +244 -90
- package/dist/core/tools/search.js.map +1 -1
- package/dist/core/tools/structured-output.d.ts +1 -1
- package/dist/core/tools/structured-output.d.ts.map +1 -1
- package/dist/core/tools/structured-output.js.map +1 -1
- package/dist/core/tools/todos-execute.d.ts.map +1 -1
- package/dist/core/tools/todos-execute.js +4 -4
- package/dist/core/tools/todos-execute.js.map +1 -1
- package/dist/core/tools/todos-locks.d.ts.map +1 -1
- package/dist/core/tools/todos-locks.js.map +1 -1
- package/dist/core/tools/todos-mutations.js +1 -1
- package/dist/core/tools/todos-mutations.js.map +1 -1
- package/dist/core/tools/todos-paths.js +2 -2
- package/dist/core/tools/todos-paths.js.map +1 -1
- package/dist/core/tools/todos-render.d.ts.map +1 -1
- package/dist/core/tools/todos-render.js +2 -2
- package/dist/core/tools/todos-render.js.map +1 -1
- package/dist/core/tools/todos-storage.d.ts.map +1 -1
- package/dist/core/tools/todos-storage.js +1 -2
- package/dist/core/tools/todos-storage.js.map +1 -1
- package/dist/core/tools/todos-types.d.ts.map +1 -1
- package/dist/core/tools/todos-types.js +1 -11
- package/dist/core/tools/todos-types.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts +3 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +9 -5
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/url-ip-guards.d.ts.map +1 -1
- package/dist/core/tools/url-ip-guards.js +27 -17
- package/dist/core/tools/url-ip-guards.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +88 -29
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/usage-totals.d.ts +18 -0
- package/dist/core/usage-totals.d.ts.map +1 -0
- package/dist/core/usage-totals.js +43 -0
- package/dist/core/usage-totals.js.map +1 -0
- package/dist/core/workflow-stage-admission.d.ts.map +1 -1
- package/dist/core/workflow-stage-admission.js +8 -2
- package/dist/core/workflow-stage-admission.js.map +1 -1
- package/dist/extensions/index.d.ts +3 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +5 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/llama/client.d.ts +61 -0
- package/dist/extensions/llama/client.d.ts.map +1 -0
- package/dist/extensions/llama/client.js +300 -0
- package/dist/extensions/llama/client.js.map +1 -0
- package/dist/extensions/llama/huggingface-ui.d.ts +33 -0
- package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -0
- package/dist/extensions/llama/huggingface-ui.js +166 -0
- package/dist/extensions/llama/huggingface-ui.js.map +1 -0
- package/dist/extensions/llama/huggingface.d.ts +23 -0
- package/dist/extensions/llama/huggingface.d.ts.map +1 -0
- package/dist/extensions/llama/huggingface.js +139 -0
- package/dist/extensions/llama/huggingface.js.map +1 -0
- package/dist/extensions/llama/index.d.ts +3 -0
- package/dist/extensions/llama/index.d.ts.map +1 -0
- package/dist/extensions/llama/index.js +208 -0
- package/dist/extensions/llama/index.js.map +1 -0
- package/dist/extensions/llama/provider.d.ts +10 -0
- package/dist/extensions/llama/provider.d.ts.map +1 -0
- package/dist/extensions/llama/provider.js +107 -0
- package/dist/extensions/llama/provider.js.map +1 -0
- package/dist/extensions/llama/ui.d.ts +42 -0
- package/dist/extensions/llama/ui.d.ts.map +1 -0
- package/dist/extensions/llama/ui.js +237 -0
- package/dist/extensions/llama/ui.js.map +1 -0
- package/dist/index-extensions.d.ts +2 -2
- package/dist/index-extensions.d.ts.map +1 -1
- package/dist/index-extensions.js +1 -1
- package/dist/index-extensions.js.map +1 -1
- package/dist/index.d.ts +22 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -27
- package/dist/index.js.map +1 -1
- package/dist/main-app-mode.d.ts +1 -0
- package/dist/main-app-mode.d.ts.map +1 -1
- package/dist/main-app-mode.js +3 -0
- package/dist/main-app-mode.js.map +1 -1
- package/dist/main-deferred-startup.d.ts +1 -1
- package/dist/main-deferred-startup.d.ts.map +1 -1
- package/dist/main-deferred-startup.js +16 -15
- package/dist/main-deferred-startup.js.map +1 -1
- package/dist/main-early-input.js.map +1 -1
- package/dist/main-first-time-setup.d.ts +6 -0
- package/dist/main-first-time-setup.d.ts.map +1 -0
- package/dist/main-first-time-setup.js +10 -0
- package/dist/main-first-time-setup.js.map +1 -0
- package/dist/main-runtime-api-key.d.ts +6 -0
- package/dist/main-runtime-api-key.d.ts.map +1 -0
- package/dist/main-runtime-api-key.js +6 -0
- package/dist/main-runtime-api-key.js.map +1 -0
- package/dist/main-session-options.d.ts +2 -2
- package/dist/main-session-options.d.ts.map +1 -1
- package/dist/main-session-options.js +3 -7
- package/dist/main-session-options.js.map +1 -1
- package/dist/main-session.d.ts.map +1 -1
- package/dist/main-session.js +5 -4
- package/dist/main-session.js.map +1 -1
- package/dist/main-types.d.ts +2 -2
- package/dist/main-types.d.ts.map +1 -1
- package/dist/main-types.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +173 -69
- package/dist/main.js.map +1 -1
- package/dist/migrations-config-values.d.ts.map +1 -1
- package/dist/migrations-config-values.js +3 -1
- package/dist/migrations-config-values.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js.map +1 -1
- package/dist/modes/index.d.ts +1 -1
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/chat-input-actions.d.ts +1 -1
- package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
- package/dist/modes/interactive/chat-input-actions.js +30 -103
- package/dist/modes/interactive/chat-input-actions.js.map +1 -1
- package/dist/modes/interactive/components/atomic-banner.d.ts +9 -8
- package/dist/modes/interactive/components/atomic-banner.d.ts.map +1 -1
- package/dist/modes/interactive/components/atomic-banner.js +68 -22
- package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
- package/dist/modes/interactive/components/atomic-working-status.d.ts +52 -0
- package/dist/modes/interactive/components/atomic-working-status.d.ts.map +1 -0
- package/dist/modes/interactive/components/atomic-working-status.js +215 -0
- package/dist/modes/interactive/components/atomic-working-status.js.map +1 -0
- package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.js +7 -6
- package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts +10 -4
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.js +105 -20
- package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.d.ts +7 -5
- package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.js +14 -9
- package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.d.ts +3 -0
- package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.js +86 -16
- package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js +49 -14
- package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +36 -2
- package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-runtime.js +129 -25
- package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.d.ts +11 -2
- package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.js +5 -0
- package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-types.d.ts +19 -2
- package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.js +3 -8
- package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts +33 -6
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +57 -7
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.d.ts +1 -1
- package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.js +5 -12
- package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
- package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-boundary-message.js +20 -8
- package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.d.ts +6 -6
- package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.js +66 -125
- package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-project-scope.d.ts +4 -0
- package/dist/modes/interactive/components/config-selector-project-scope.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector-project-scope.js +59 -0
- package/dist/modes/interactive/components/config-selector-project-scope.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +8 -5
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +46 -13
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +11 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +21 -5
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts +16 -0
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-entry.js +45 -0
- package/dist/modes/interactive/components/custom-entry.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +3 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +10 -5
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/diff.js +2 -2
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +3 -2
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +14 -43
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts +24 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.js +80 -0
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +7 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +68 -39
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form-mount.d.ts.map +1 -1
- package/dist/modes/interactive/components/host-input-form-mount.js +4 -2
- package/dist/modes/interactive/components/host-input-form-mount.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form.d.ts +2 -0
- package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
- package/dist/modes/interactive/components/host-input-form.js +61 -24
- package/dist/modes/interactive/components/host-input-form.js.map +1 -1
- package/dist/modes/interactive/components/host-session-picker.d.ts.map +1 -1
- package/dist/modes/interactive/components/host-session-picker.js +8 -3
- package/dist/modes/interactive/components/host-session-picker.js.map +1 -1
- package/dist/modes/interactive/components/idle-status.d.ts +8 -0
- package/dist/modes/interactive/components/idle-status.d.ts.map +1 -0
- package/dist/modes/interactive/components/idle-status.js +13 -0
- package/dist/modes/interactive/components/idle-status.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +9 -5
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +5 -2
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +5 -5
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +15 -9
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +3 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +44 -68
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +4 -3
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +19 -18
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +22 -13
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-list.d.ts +1 -1
- package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.js +6 -0
- package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.js +14 -0
- package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts +4 -0
- package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
- package/dist/modes/interactive/components/startup-identity.d.ts +22 -0
- package/dist/modes/interactive/components/startup-identity.d.ts.map +1 -0
- package/dist/modes/interactive/components/startup-identity.js +58 -0
- package/dist/modes/interactive/components/startup-identity.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-content.js +0 -6
- package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-model.js +1 -10
- package/dist/modes/interactive/components/tree-selector-model.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-viewport.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-viewport.js.map +1 -1
- package/dist/modes/interactive/components/working-status.d.ts +5 -11
- package/dist/modes/interactive/components/working-status.d.ts.map +1 -1
- package/dist/modes/interactive/components/working-status.js +14 -15
- package/dist/modes/interactive/components/working-status.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts +23 -0
- package/dist/modes/interactive/external-editor.d.ts.map +1 -0
- package/dist/modes/interactive/external-editor.js +120 -0
- package/dist/modes/interactive/external-editor.js.map +1 -0
- package/dist/modes/interactive/interactive-agent-events.js +73 -28
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js +36 -28
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.d.ts +3 -1
- package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.js +86 -64
- package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-autocomplete.js +13 -13
- package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
- package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -1
- package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-bash-compact.js +26 -8
- package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.js +61 -27
- package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-editor-actions.js +9 -12
- package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-context.js +4 -4
- package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-custom-ui.js +15 -8
- package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-dialogs.js +51 -25
- package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-runtime.js +15 -6
- package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-widgets.js +1 -1
- package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
- package/dist/modes/interactive/interactive-global-clear.d.ts +55 -3
- package/dist/modes/interactive/interactive-global-clear.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-global-clear.js +61 -3
- package/dist/modes/interactive/interactive-global-clear.js.map +1 -1
- package/dist/modes/interactive/interactive-hotkeys-debug.js +2 -3
- package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
- package/dist/modes/interactive/interactive-initial-session-binding.d.ts +4 -0
- package/dist/modes/interactive/interactive-initial-session-binding.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-initial-session-binding.js +23 -0
- package/dist/modes/interactive/interactive-initial-session-binding.js.map +1 -0
- package/dist/modes/interactive/interactive-input-handling.d.ts +2 -1
- package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +82 -69
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-key-identity.d.ts +22 -0
- package/dist/modes/interactive/interactive-key-identity.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-key-identity.js +29 -0
- package/dist/modes/interactive/interactive-key-identity.js.map +1 -0
- package/dist/modes/interactive/interactive-mode-base.d.ts +18 -13
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +26 -18
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.d.ts +20 -22
- package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.js +16 -18
- package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-helpers.d.ts +3 -2
- package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-helpers.js +8 -18
- package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +32 -18
- package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.js +1 -0
- package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-types.d.ts +2 -2
- package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +1 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/interactive-model-catalog-startup.d.ts +12 -0
- package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-model-catalog-startup.js +22 -0
- package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -0
- package/dist/modes/interactive/interactive-model-routing.js +44 -111
- package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-onboarding.js +7 -7
- package/dist/modes/interactive/interactive-onboarding.js.map +1 -1
- package/dist/modes/interactive/interactive-pause.d.ts +6 -0
- package/dist/modes/interactive/interactive-pause.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-pause.js +12 -0
- package/dist/modes/interactive/interactive-pause.js.map +1 -0
- package/dist/modes/interactive/interactive-process-lifecycle.js +43 -12
- package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
- package/dist/modes/interactive/interactive-prompt-restore.d.ts +58 -0
- package/dist/modes/interactive/interactive-prompt-restore.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-prompt-restore.js +87 -0
- package/dist/modes/interactive/interactive-prompt-restore.js.map +1 -0
- package/dist/modes/interactive/interactive-prompt-turn.d.ts +2 -0
- package/dist/modes/interactive/interactive-prompt-turn.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-prompt-turn.js +56 -0
- package/dist/modes/interactive/interactive-prompt-turn.js.map +1 -0
- package/dist/modes/interactive/interactive-queueing.js +9 -12
- package/dist/modes/interactive/interactive-queueing.js.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.js +128 -48
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-resource-disclosure.js +1 -3
- package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -1
- package/dist/modes/interactive/interactive-resource-paths.js +17 -21
- package/dist/modes/interactive/interactive-resource-paths.js.map +1 -1
- package/dist/modes/interactive/interactive-resource-rendering.js +110 -12
- package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
- package/dist/modes/interactive/interactive-selectors.js +13 -5
- package/dist/modes/interactive/interactive-selectors.js.map +1 -1
- package/dist/modes/interactive/interactive-session-routing.js +19 -4
- package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-session-runtime.js +12 -1
- package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js +23 -4
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-startup-chat-container.d.ts +20 -0
- package/dist/modes/interactive/interactive-startup-chat-container.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-startup-chat-container.js +26 -0
- package/dist/modes/interactive/interactive-startup-chat-container.js.map +1 -0
- package/dist/modes/interactive/interactive-startup.d.ts +1 -1
- package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-startup.js +37 -37
- package/dist/modes/interactive/interactive-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-submission.d.ts +24 -0
- package/dist/modes/interactive/interactive-submission.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-submission.js +10 -0
- package/dist/modes/interactive/interactive-submission.js.map +1 -0
- package/dist/modes/interactive/interactive-summarization-retry-events.d.ts +8 -0
- package/dist/modes/interactive/interactive-summarization-retry-events.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-summarization-retry-events.js +48 -0
- package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -0
- package/dist/modes/interactive/login-provider-options.d.ts +21 -0
- package/dist/modes/interactive/login-provider-options.d.ts.map +1 -0
- package/dist/modes/interactive/login-provider-options.js +50 -0
- package/dist/modes/interactive/login-provider-options.js.map +1 -0
- package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -1
- package/dist/modes/interactive/theme/catppuccin-latte.json +1 -1
- package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -1
- package/dist/modes/interactive/theme/catppuccin-mocha.json +9 -1
- package/dist/modes/interactive/theme/dark.json +1 -1
- package/dist/modes/interactive/theme/global-theme.d.ts +1 -1
- package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/global-theme.js.map +1 -1
- package/dist/modes/interactive/theme/light.json +1 -1
- package/dist/modes/interactive/theme/theme-class.d.ts +4 -0
- package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-class.js +7 -0
- package/dist/modes/interactive/theme/theme-class.js.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.js +5 -1
- package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.d.ts +32 -0
- package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.js +8 -0
- package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +15 -2
- package/dist/modes/interactive/theme/theme.d.ts +2 -2
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +2 -2
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive/whimsical-messages.d.ts +1 -0
- package/dist/modes/interactive/whimsical-messages.d.ts.map +1 -1
- package/dist/modes/interactive/whimsical-messages.js +2 -2
- package/dist/modes/interactive/whimsical-messages.js.map +1 -1
- package/dist/modes/interactive-engine/activity-watchdog.d.ts +16 -6
- package/dist/modes/interactive-engine/activity-watchdog.d.ts.map +1 -1
- package/dist/modes/interactive-engine/activity-watchdog.js +12 -6
- package/dist/modes/interactive-engine/activity-watchdog.js.map +1 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.js +8 -5
- package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/engine-args.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-args.js +0 -1
- package/dist/modes/interactive-engine/engine-args.js.map +1 -1
- package/dist/modes/interactive-engine/engine-child-liveness.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-child-liveness.js +6 -4
- package/dist/modes/interactive-engine/engine-child-liveness.js.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts +3 -2
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.js +37 -28
- package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
- package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts +16 -0
- package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts.map +1 -0
- package/dist/modes/interactive-engine/engine-diagnostic-view.js +19 -0
- package/dist/modes/interactive-engine/engine-diagnostic-view.js.map +1 -0
- package/dist/modes/interactive-engine/engine-dialog-host.d.ts +33 -0
- package/dist/modes/interactive-engine/engine-dialog-host.d.ts.map +1 -0
- package/dist/modes/interactive-engine/engine-dialog-host.js +129 -0
- package/dist/modes/interactive-engine/engine-dialog-host.js.map +1 -0
- package/dist/modes/interactive-engine/engine-generation.d.ts +29 -0
- package/dist/modes/interactive-engine/engine-generation.d.ts.map +1 -0
- package/dist/modes/interactive-engine/engine-generation.js +11 -0
- package/dist/modes/interactive-engine/engine-generation.js.map +1 -0
- package/dist/modes/interactive-engine/engine-health.d.ts +107 -0
- package/dist/modes/interactive-engine/engine-health.d.ts.map +1 -0
- package/dist/modes/interactive-engine/engine-health.js +250 -0
- package/dist/modes/interactive-engine/engine-health.js.map +1 -0
- package/dist/modes/interactive-engine/engine-input-form.d.ts +1 -1
- package/dist/modes/interactive-engine/engine-input-form.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-input-form.js +21 -4
- package/dist/modes/interactive-engine/engine-input-form.js.map +1 -1
- package/dist/modes/interactive-engine/engine-monitor.d.ts +8 -1
- package/dist/modes/interactive-engine/engine-monitor.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-monitor.js +19 -16
- package/dist/modes/interactive-engine/engine-monitor.js.map +1 -1
- package/dist/modes/interactive-engine/engine-render-service.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-render-service.js +19 -24
- package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
- package/dist/modes/interactive-engine/engine-session-picker.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-session-picker.js +4 -2
- package/dist/modes/interactive-engine/engine-session-picker.js.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +16 -3
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.js +35 -45
- package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
- package/dist/modes/interactive-engine/input-form-host.d.ts +1 -0
- package/dist/modes/interactive-engine/input-form-host.d.ts.map +1 -1
- package/dist/modes/interactive-engine/input-form-host.js +18 -3
- package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-auth.d.ts +10 -0
- package/dist/modes/interactive-engine/isolated-auth.d.ts.map +1 -0
- package/dist/modes/interactive-engine/isolated-auth.js +15 -0
- package/dist/modes/interactive-engine/isolated-auth.js.map +1 -0
- package/dist/modes/interactive-engine/isolated-runtime.d.ts +41 -6
- package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js +166 -84
- package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/protocol.d.ts +26 -2
- package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
- package/dist/modes/interactive-engine/protocol.js +192 -63
- package/dist/modes/interactive-engine/protocol.js.map +1 -1
- package/dist/modes/interactive-engine/remote-component.d.ts +38 -0
- package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-component.js +111 -22
- package/dist/modes/interactive-engine/remote-component.js.map +1 -1
- package/dist/modes/interactive-engine/remote-input-ownership.d.ts +48 -0
- package/dist/modes/interactive-engine/remote-input-ownership.d.ts.map +1 -0
- package/dist/modes/interactive-engine/remote-input-ownership.js +42 -0
- package/dist/modes/interactive-engine/remote-input-ownership.js.map +1 -0
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts +2 -0
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.js +23 -10
- package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
- package/dist/modes/interactive-engine/remote-queue-pause.d.ts +13 -0
- package/dist/modes/interactive-engine/remote-queue-pause.d.ts.map +1 -0
- package/dist/modes/interactive-engine/remote-queue-pause.js +38 -0
- package/dist/modes/interactive-engine/remote-queue-pause.js.map +1 -0
- package/dist/modes/interactive-engine/remote-renderer.d.ts +3 -1
- package/dist/modes/interactive-engine/remote-renderer.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-renderer.js +41 -10
- package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
- package/dist/modes/interactive-engine/session-picker-host.d.ts +1 -0
- package/dist/modes/interactive-engine/session-picker-host.d.ts.map +1 -1
- package/dist/modes/interactive-engine/session-picker-host.js +4 -0
- package/dist/modes/interactive-engine/session-picker-host.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +5 -0
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/jsonl.d.ts +9 -7
- package/dist/modes/rpc/jsonl.d.ts.map +1 -1
- package/dist/modes/rpc/jsonl.js +23 -24
- package/dist/modes/rpc/jsonl.js.map +1 -1
- package/dist/modes/rpc/queued-writer.d.ts +33 -0
- package/dist/modes/rpc/queued-writer.d.ts.map +1 -0
- package/dist/modes/rpc/queued-writer.js +104 -0
- package/dist/modes/rpc/queued-writer.js.map +1 -0
- package/dist/modes/rpc/rpc-bash-request-owners.d.ts +24 -0
- package/dist/modes/rpc/rpc-bash-request-owners.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-bash-request-owners.js +45 -0
- package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -0
- package/dist/modes/rpc/rpc-client-api.d.ts +10 -4
- package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-api.js +83 -25
- package/dist/modes/rpc/rpc-client-api.js.map +1 -1
- package/dist/modes/rpc/rpc-client-process.d.ts +11 -4
- package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-process.js +77 -29
- package/dist/modes/rpc/rpc-client-process.js.map +1 -1
- package/dist/modes/rpc/rpc-client-waits.d.ts +17 -1
- package/dist/modes/rpc/rpc-client-waits.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-waits.js +25 -0
- package/dist/modes/rpc/rpc-client-waits.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +68 -9
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +205 -158
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.d.ts +10 -3
- package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.js +149 -56
- package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-command-timeouts.d.ts +30 -0
- package/dist/modes/rpc/rpc-command-timeouts.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-command-timeouts.js +52 -0
- package/dist/modes/rpc/rpc-command-timeouts.js.map +1 -0
- package/dist/modes/rpc/rpc-event-buffer.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-event-buffer.js +3 -1
- package/dist/modes/rpc/rpc-event-buffer.js.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.d.ts +4 -2
- package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.js +50 -17
- package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
- package/dist/modes/rpc/rpc-generation-buffer.d.ts +21 -0
- package/dist/modes/rpc/rpc-generation-buffer.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-generation-buffer.js +35 -0
- package/dist/modes/rpc/rpc-generation-buffer.js.map +1 -0
- package/dist/modes/rpc/rpc-input-scheduler.d.ts +3 -3
- package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-input-scheduler.js +19 -8
- package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
- package/dist/modes/rpc/rpc-input.d.ts +7 -1
- package/dist/modes/rpc/rpc-input.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-input.js +14 -4
- package/dist/modes/rpc/rpc-input.js.map +1 -1
- package/dist/modes/rpc/rpc-keybindings-reload.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-keybindings-reload.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +23 -23
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts +4 -0
- package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-model-fallback-prompt.js +11 -0
- package/dist/modes/rpc/rpc-model-fallback-prompt.js.map +1 -0
- package/dist/modes/rpc/rpc-oauth-client.d.ts +21 -0
- package/dist/modes/rpc/rpc-oauth-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-oauth-client.js +81 -0
- package/dist/modes/rpc/rpc-oauth-client.js.map +1 -0
- package/dist/modes/rpc/rpc-oauth-interaction.d.ts +9 -0
- package/dist/modes/rpc/rpc-oauth-interaction.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-oauth-interaction.js +49 -0
- package/dist/modes/rpc/rpc-oauth-interaction.js.map +1 -0
- package/dist/modes/rpc/rpc-output-buffer.d.ts +2 -1
- package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-output-buffer.js +7 -40
- package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
- package/dist/modes/rpc/rpc-pending-requests.d.ts +37 -0
- package/dist/modes/rpc/rpc-pending-requests.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-pending-requests.js +57 -0
- package/dist/modes/rpc/rpc-pending-requests.js.map +1 -0
- package/dist/modes/rpc/rpc-provider-auth.d.ts +22 -0
- package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-provider-auth.js +117 -0
- package/dist/modes/rpc/rpc-provider-auth.js.map +1 -0
- package/dist/modes/rpc/rpc-responses.d.ts +0 -1
- package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-responses.js +0 -14
- package/dist/modes/rpc/rpc-responses.js.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts +2 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.js +71 -43
- package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
- package/dist/modes/rpc/rpc-terminal-drain.d.ts +52 -0
- package/dist/modes/rpc/rpc-terminal-drain.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-terminal-drain.js +85 -0
- package/dist/modes/rpc/rpc-terminal-drain.js.map +1 -0
- package/dist/modes/rpc/rpc-transport-error.d.ts +49 -0
- package/dist/modes/rpc/rpc-transport-error.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-transport-error.js +78 -0
- package/dist/modes/rpc/rpc-transport-error.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +125 -21
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli-parser.js.map +1 -1
- package/dist/package-manager-cli.d.ts +3 -3
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +66 -53
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/rpc-entry.js +6 -2
- package/dist/rpc-entry.js.map +1 -1
- package/dist/self-update-plan.d.ts +12 -0
- package/dist/self-update-plan.d.ts.map +1 -0
- package/dist/self-update-plan.js +42 -0
- package/dist/self-update-plan.js.map +1 -0
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-image.js +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts +1 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/clipboard.d.ts +3 -0
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +31 -8
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/compile-cache.d.ts +8 -0
- package/dist/utils/compile-cache.d.ts.map +1 -0
- package/dist/utils/compile-cache.js +31 -0
- package/dist/utils/compile-cache.js.map +1 -0
- package/dist/utils/fs-watch.d.ts.map +1 -1
- package/dist/utils/fs-watch.js +1 -3
- package/dist/utils/fs-watch.js.map +1 -1
- package/dist/utils/git.js +1 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/interactive-engine-bootstrap.d.ts +67 -0
- package/dist/utils/interactive-engine-bootstrap.d.ts.map +1 -0
- package/dist/utils/interactive-engine-bootstrap.js +117 -0
- package/dist/utils/interactive-engine-bootstrap.js.map +1 -0
- package/dist/utils/interactive-engine-env.d.ts +41 -0
- package/dist/utils/interactive-engine-env.d.ts.map +1 -0
- package/dist/utils/interactive-engine-env.js +67 -0
- package/dist/utils/interactive-engine-env.js.map +1 -0
- package/dist/utils/markit.d.ts.map +1 -1
- package/dist/utils/markit.js +15 -5
- package/dist/utils/markit.js.map +1 -1
- package/dist/utils/shell.js +2 -2
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/split-launcher.d.ts.map +1 -1
- package/dist/utils/split-launcher.js +1 -2
- package/dist/utils/split-launcher.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +8 -34
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +1 -0
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +7 -5
- package/dist/utils/version-check.js.map +1 -1
- package/docs/changelog.mdx +24 -2
- package/docs/compaction.md +101 -18
- package/docs/custom-provider.md +40 -8
- package/docs/development.md +14 -15
- package/docs/docs.json +3 -1
- package/docs/environment-variables.md +37 -0
- package/docs/extensions.md +166 -18
- package/docs/index.md +11 -0
- package/docs/intercom.md +1 -1
- package/docs/json.md +11 -5
- package/docs/keybindings.md +19 -2
- package/docs/llama-cpp.md +72 -0
- package/docs/models.md +41 -50
- package/docs/packages.md +4 -2
- package/docs/prompt-templates.md +1 -0
- package/docs/providers.md +86 -24
- package/docs/quickstart.md +28 -18
- package/docs/rpc.md +88 -86
- package/docs/sdk.md +68 -71
- package/docs/security.md +15 -0
- package/docs/session-format.md +6 -15
- package/docs/sessions.md +1 -1
- package/docs/settings.md +29 -18
- package/docs/skills.md +8 -0
- package/docs/subagents.md +24 -8
- package/docs/termux.md +3 -1
- package/docs/themes.md +10 -1
- package/docs/tui.md +14 -7
- package/docs/usage.md +72 -2
- package/docs/windows.md +1 -1
- package/docs/workflows.md +1304 -562
- package/examples/extensions/README.md +2 -2
- package/examples/extensions/border-status-editor.ts +1 -6
- package/examples/extensions/custom-compaction.ts +7 -2
- package/examples/extensions/custom-footer.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/index.ts +14 -2
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +1 -1
- package/examples/extensions/gondolin/index.ts +1 -1
- package/examples/extensions/handoff.ts +9 -2
- package/examples/extensions/hello.ts +1 -1
- package/examples/extensions/message-renderer.ts +2 -2
- package/examples/extensions/minimal-mode.ts +6 -6
- package/examples/extensions/overlay-qa-focus-components.ts +0 -1
- package/examples/extensions/overlay-qa-streaming-input-components.ts +2 -2
- package/examples/extensions/overlay-qa-tests.ts +16 -14
- package/examples/extensions/overlay-qa-toggle-passive-components.ts +3 -5
- package/examples/extensions/overlay-test.ts +3 -6
- package/examples/extensions/plan-mode/index.ts +1 -1
- package/examples/extensions/preset.ts +1 -1
- package/examples/extensions/qna.ts +1 -1
- package/examples/extensions/sandbox/package-lock.json +3 -3
- package/examples/extensions/structured-output.ts +9 -9
- package/examples/extensions/subagent/display.ts +115 -127
- package/examples/extensions/subagent/index.ts +310 -349
- package/examples/extensions/subagent/render.ts +244 -345
- package/examples/extensions/subagent/runner.ts +223 -230
- package/examples/extensions/subagent/schemas.ts +39 -46
- package/examples/extensions/subagent/types.ts +22 -22
- package/examples/extensions/summarize.ts +4 -1
- package/examples/extensions/tic-tac-toe.ts +4 -4
- package/examples/extensions/todo.ts +1 -1
- package/examples/extensions/tool-override.ts +1 -1
- package/examples/extensions/trigger-compact.ts +4 -1
- package/examples/extensions/working-indicator.ts +3 -2
- package/examples/rpc-extension-ui-components.ts +1 -2
- package/examples/sdk/02-custom-model.ts +8 -10
- package/examples/sdk/03-custom-prompt.ts +1 -6
- package/examples/sdk/06-extensions.ts +1 -6
- package/examples/sdk/07-context-files.ts +1 -6
- package/examples/sdk/09-api-keys-and-oauth.ts +17 -23
- package/examples/sdk/12-full-control.ts +10 -12
- package/examples/sdk/README.md +17 -21
- package/npm-shrinkwrap.json +336 -313
- package/package.json +15 -13
- package/dist/builtin/cursor/CHANGELOG.md +0 -281
- package/dist/builtin/cursor/LICENSE +0 -26
- package/dist/builtin/cursor/README.md +0 -24
- package/dist/builtin/cursor/index.ts +0 -9
- package/dist/builtin/cursor/package.json +0 -47
- package/dist/builtin/cursor/src/auth.ts +0 -352
- package/dist/builtin/cursor/src/catalog-cache.ts +0 -155
- package/dist/builtin/cursor/src/config.ts +0 -123
- package/dist/builtin/cursor/src/conversation-state.ts +0 -135
- package/dist/builtin/cursor/src/cursor-models-raw.json +0 -412
- package/dist/builtin/cursor/src/model-mapper.ts +0 -369
- package/dist/builtin/cursor/src/model-reference.ts +0 -282
- package/dist/builtin/cursor/src/models.ts +0 -54
- package/dist/builtin/cursor/src/native-loader.ts +0 -71
- package/dist/builtin/cursor/src/proto/README.md +0 -34
- package/dist/builtin/cursor/src/proto/agent_pb.ts +0 -15294
- package/dist/builtin/cursor/src/proto/protobuf-codec-base64.ts +0 -22
- package/dist/builtin/cursor/src/proto/protobuf-codec-json.ts +0 -44
- package/dist/builtin/cursor/src/proto/protobuf-codec-request.ts +0 -311
- package/dist/builtin/cursor/src/proto/protobuf-codec-wire.ts +0 -248
- package/dist/builtin/cursor/src/proto/protobuf-codec.ts +0 -200
- package/dist/builtin/cursor/src/provider.ts +0 -301
- package/dist/builtin/cursor/src/stream.ts +0 -494
- package/dist/builtin/cursor/src/transport-errors.ts +0 -74
- package/dist/builtin/cursor/src/transport-frame.ts +0 -56
- package/dist/builtin/cursor/src/transport-http2.ts +0 -122
- package/dist/builtin/cursor/src/transport-native-client.ts +0 -161
- package/dist/builtin/cursor/src/transport-run-stream.ts +0 -188
- package/dist/builtin/cursor/src/transport-timeouts.ts +0 -87
- package/dist/builtin/cursor/src/transport-types.ts +0 -143
- package/dist/builtin/cursor/src/transport.ts +0 -26
- package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +0 -492
- package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +0 -383
- package/dist/builtin/workflows/builtin/deep-research-codebase.d.ts +0 -35
- package/dist/builtin/workflows/builtin/deep-research-codebase.ts +0 -47
- package/dist/builtin/workflows/skills/impeccable/reference/brand.md +0 -108
- package/dist/builtin/workflows/skills/impeccable/reference/codex.md +0 -105
- package/dist/builtin/workflows/skills/impeccable/reference/interaction-design.md +0 -189
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +0 -516
- package/dist/builtin/workflows/src/tui/toast.ts +0 -106
- package/dist/core/context-window.d.ts +0 -54
- package/dist/core/context-window.d.ts.map +0 -1
- package/dist/core/context-window.js +0 -110
- package/dist/core/context-window.js.map +0 -1
- package/dist/core/copilot-anthropic-sse-repair.d.ts +0 -23
- package/dist/core/copilot-anthropic-sse-repair.d.ts.map +0 -1
- package/dist/core/copilot-anthropic-sse-repair.js +0 -340
- package/dist/core/copilot-anthropic-sse-repair.js.map +0 -1
- package/dist/core/copilot-errors.d.ts +0 -9
- package/dist/core/copilot-errors.d.ts.map +0 -1
- package/dist/core/copilot-errors.js +0 -32
- package/dist/core/copilot-errors.js.map +0 -1
- package/dist/core/copilot-gemini-payload-sanitizer.d.ts +0 -72
- package/dist/core/copilot-gemini-payload-sanitizer.d.ts.map +0 -1
- package/dist/core/copilot-gemini-payload-sanitizer.js +0 -296
- package/dist/core/copilot-gemini-payload-sanitizer.js.map +0 -1
- package/dist/core/copilot-gemini-reasoning.d.ts +0 -126
- package/dist/core/copilot-gemini-reasoning.d.ts.map +0 -1
- package/dist/core/copilot-gemini-reasoning.js +0 -265
- package/dist/core/copilot-gemini-reasoning.js.map +0 -1
- package/dist/core/copilot-gemini-tool-arguments.d.ts +0 -42
- package/dist/core/copilot-gemini-tool-arguments.d.ts.map +0 -1
- package/dist/core/copilot-gemini-tool-arguments.js +0 -159
- package/dist/core/copilot-gemini-tool-arguments.js.map +0 -1
- package/dist/core/copilot-hosts.d.ts +0 -12
- package/dist/core/copilot-hosts.d.ts.map +0 -1
- package/dist/core/copilot-hosts.js +0 -33
- package/dist/core/copilot-hosts.js.map +0 -1
- package/dist/core/copilot-model-catalog.d.ts +0 -114
- package/dist/core/copilot-model-catalog.d.ts.map +0 -1
- package/dist/core/copilot-model-catalog.js +0 -392
- package/dist/core/copilot-model-catalog.js.map +0 -1
- package/dist/core/copilot-model-static-fallbacks.d.ts +0 -43
- package/dist/core/copilot-model-static-fallbacks.d.ts.map +0 -1
- package/dist/core/copilot-model-static-fallbacks.js +0 -50
- package/dist/core/copilot-model-static-fallbacks.js.map +0 -1
- package/dist/core/copilot-model-synthesis.d.ts +0 -10
- package/dist/core/copilot-model-synthesis.d.ts.map +0 -1
- package/dist/core/copilot-model-synthesis.js +0 -91
- package/dist/core/copilot-model-synthesis.js.map +0 -1
- package/dist/core/model-registry-auth.d.ts +0 -8
- package/dist/core/model-registry-auth.d.ts.map +0 -1
- package/dist/core/model-registry-auth.js +0 -83
- package/dist/core/model-registry-auth.js.map +0 -1
- package/dist/core/model-registry-builtins.d.ts +0 -10
- package/dist/core/model-registry-builtins.d.ts.map +0 -1
- package/dist/core/model-registry-builtins.js +0 -171
- package/dist/core/model-registry-builtins.js.map +0 -1
- package/dist/core/model-registry-custom-loader.d.ts +0 -3
- package/dist/core/model-registry-custom-loader.d.ts.map +0 -1
- package/dist/core/model-registry-custom-loader.js +0 -254
- package/dist/core/model-registry-custom-loader.js.map +0 -1
- package/dist/core/model-registry-dynamic.d.ts +0 -7
- package/dist/core/model-registry-dynamic.d.ts.map +0 -1
- package/dist/core/model-registry-dynamic.js +0 -201
- package/dist/core/model-registry-dynamic.js.map +0 -1
- package/dist/core/model-registry-loader.d.ts +0 -5
- package/dist/core/model-registry-loader.d.ts.map +0 -1
- package/dist/core/model-registry-loader.js +0 -28
- package/dist/core/model-registry-loader.js.map +0 -1
- package/dist/core/model-registry-schemas.d.ts +0 -1273
- package/dist/core/model-registry-schemas.d.ts.map +0 -1
- package/dist/core/model-registry-schemas.js.map +0 -1
- package/dist/core/model-registry-types.d.ts +0 -82
- package/dist/core/model-registry-types.d.ts.map +0 -1
- package/dist/core/model-registry-types.js +0 -2
- package/dist/core/model-registry-types.js.map +0 -1
- package/dist/core/oauth-compat.d.ts +0 -17
- package/dist/core/oauth-compat.d.ts.map +0 -1
- package/dist/core/oauth-compat.js +0 -2
- package/dist/core/oauth-compat.js.map +0 -1
- package/dist/core/oauth-provider-bridge.d.ts +0 -40
- package/dist/core/oauth-provider-bridge.d.ts.map +0 -1
- package/dist/core/oauth-provider-bridge.js +0 -169
- package/dist/core/oauth-provider-bridge.js.map +0 -1
- package/dist/modes/interactive/components/context-window-selector.d.ts +0 -53
- package/dist/modes/interactive/components/context-window-selector.d.ts.map +0 -1
- package/dist/modes/interactive/components/context-window-selector.js +0 -136
- package/dist/modes/interactive/components/context-window-selector.js.map +0 -1
- package/dist/modes/rpc/bounded-writer.d.ts +0 -27
- package/dist/modes/rpc/bounded-writer.d.ts.map +0 -1
- package/dist/modes/rpc/bounded-writer.js +0 -103
- package/dist/modes/rpc/bounded-writer.js.map +0 -1
|
@@ -126,6 +126,44 @@
|
|
|
126
126
|
let expectedVariants = 0;
|
|
127
127
|
let arrivedVariants = 0;
|
|
128
128
|
let visibleVariant = 0;
|
|
129
|
+
let generationPhase = null;
|
|
130
|
+
// Ascending order of the agent-generation lifecycle. The visible progress bar
|
|
131
|
+
// must never regress: a `browser_resumed`/behind checkpoint re-broadcasts an
|
|
132
|
+
// earlier phase (the server regresses the snapshot phase to `generating` on a
|
|
133
|
+
// behind checkpoint), and without this the bar jumps backward mid-generation.
|
|
134
|
+
// Unranked phases (params sidecar flow, unknown values) always pass so we
|
|
135
|
+
// never block a phase we do not model.
|
|
136
|
+
const PHASE_RANK = {
|
|
137
|
+
queued: 0,
|
|
138
|
+
picked_up: 1,
|
|
139
|
+
scaffolding: 2,
|
|
140
|
+
scaffold_fallback: 3,
|
|
141
|
+
source_ready: 4,
|
|
142
|
+
generation_ready: 5,
|
|
143
|
+
generating: 5,
|
|
144
|
+
variants_progress: 5,
|
|
145
|
+
first_variant_generating: 6,
|
|
146
|
+
first_variant_validating: 7,
|
|
147
|
+
first_reviewable: 8,
|
|
148
|
+
remaining_variants_generating: 9,
|
|
149
|
+
remaining_variants_validating: 10,
|
|
150
|
+
second_reviewable: 11,
|
|
151
|
+
all_variants_ready: 12,
|
|
152
|
+
variants_ready: 12,
|
|
153
|
+
variant_parameters_generating: 13,
|
|
154
|
+
variant_parameters_validating: 14,
|
|
155
|
+
parameters_ready: 15,
|
|
156
|
+
};
|
|
157
|
+
function shouldAdvancePhase(current, next) {
|
|
158
|
+
if (!next || next === current) return false;
|
|
159
|
+
const nextRank = PHASE_RANK[next];
|
|
160
|
+
const currentRank = PHASE_RANK[current];
|
|
161
|
+
// Only block a known-lower phase from overwriting a known-higher one.
|
|
162
|
+
if (nextRank === undefined || currentRank === undefined) return true;
|
|
163
|
+
return nextRank >= currentRank;
|
|
164
|
+
}
|
|
165
|
+
let parameterGenerationState = 'idle';
|
|
166
|
+
let parameterReadyAnnouncedSession = null;
|
|
129
167
|
let svelteComponentSession = null;
|
|
130
168
|
let svelteRuntimePromise = null;
|
|
131
169
|
let pendingSvelteComponentRetryObserver = null;
|
|
@@ -134,8 +172,17 @@
|
|
|
134
172
|
let currentPreviewMode = null;
|
|
135
173
|
let recoveryWaitingForAnchor = false;
|
|
136
174
|
let pickedAnchorSnapshot = null;
|
|
175
|
+
let pickedAnchorViewportTop = null;
|
|
137
176
|
let pendingVariantAnchorRetryObserver = null;
|
|
138
177
|
let pendingAcceptedSession = null;
|
|
178
|
+
// Survives cleanupAcceptedSession on purpose: the id of an accept whose
|
|
179
|
+
// POST was acknowledged (intent durable, epoch fenced) but whose actual
|
|
180
|
+
// source promotion hasn't reported back yet. Accept is optimistic, so the
|
|
181
|
+
// teardown nulls pendingAcceptedSession long before live-accept.mjs runs;
|
|
182
|
+
// this marker is what lets the SSE 'error' branch still recognize a late
|
|
183
|
+
// accept failure and say the variant was not saved (issue #384). Released
|
|
184
|
+
// when the real accept result arrives or a new session starts.
|
|
185
|
+
let awaitingAcceptResult = null;
|
|
139
186
|
let variantObserver = null;
|
|
140
187
|
let variantSelectionInFlight = false;
|
|
141
188
|
let variantSelectionPromise = null;
|
|
@@ -151,10 +198,12 @@
|
|
|
151
198
|
// startScrollLock / stopScrollLock below.
|
|
152
199
|
let scrollLockObserver = null;
|
|
153
200
|
let scrollLockTargetY = null;
|
|
201
|
+
let scrollLockAnchorTop = null;
|
|
154
202
|
let scrollLockRaf = null;
|
|
155
203
|
let scrollLockAbort = null;
|
|
156
204
|
const SCROLL_ANCHOR_LOCK_ID = 'impeccable-scroll-anchor-lock';
|
|
157
205
|
const VARIANT_STATE_STYLE_ID = 'impeccable-variant-state';
|
|
206
|
+
const DISCARD_STATE_STYLE_ID = 'impeccable-discard-state';
|
|
158
207
|
|
|
159
208
|
// Dedicated key for scroll position - SEPARATE from LS_KEY so that
|
|
160
209
|
// saveSession's state updates don't clobber a carefully-captured scrollY.
|
|
@@ -252,6 +301,13 @@
|
|
|
252
301
|
barConnected: !!barEl?.isConnected,
|
|
253
302
|
hasSvelteComponentSession: !!svelteComponentSession,
|
|
254
303
|
mountedSvelteVariant: svelteComponentSession?.mountedVariant || 0,
|
|
304
|
+
pickActive,
|
|
305
|
+
pendingApplyInFlight,
|
|
306
|
+
hoveredElement: hoveredElement ? {
|
|
307
|
+
tag: hoveredElement.tagName,
|
|
308
|
+
classes: hoveredElement.className,
|
|
309
|
+
pickable: pickable(hoveredElement),
|
|
310
|
+
} : null,
|
|
255
311
|
pendingSvelteComponentRetry: !!pendingSvelteComponentRetryObserver,
|
|
256
312
|
recoveryWaitingForAnchor,
|
|
257
313
|
evtSourceReadyState: evtSource ? evtSource.readyState : null,
|
|
@@ -1114,14 +1170,15 @@
|
|
|
1114
1170
|
});
|
|
1115
1171
|
}
|
|
1116
1172
|
|
|
1117
|
-
function hideBar() {
|
|
1173
|
+
function hideBar(instant) {
|
|
1118
1174
|
if (!barEl) return;
|
|
1119
1175
|
const hideSeq = ++barHideSeq;
|
|
1120
1176
|
stopVoice({ suppressSubmit: true });
|
|
1121
1177
|
if (configureKind === 'insert') clearInsertPicking();
|
|
1122
1178
|
barEl.style.opacity = '0';
|
|
1123
|
-
barEl.style.transform = 'translateY(6px)';
|
|
1124
|
-
|
|
1179
|
+
barEl.style.transform = instant ? 'translateY(0)' : 'translateY(6px)';
|
|
1180
|
+
if (instant) barEl.style.display = 'none';
|
|
1181
|
+
else setTimeout(() => { if (barEl && hideSeq === barHideSeq) barEl.style.display = 'none'; }, 250);
|
|
1125
1182
|
hideActionPicker();
|
|
1126
1183
|
closeTunePopover();
|
|
1127
1184
|
hideConfigureBarTooltip();
|
|
@@ -1966,6 +2023,7 @@
|
|
|
1966
2023
|
*/
|
|
1967
2024
|
function setLiveState(next) {
|
|
1968
2025
|
state = next;
|
|
2026
|
+
window.__IMPECCABLE_LIVE_STATE__ = next;
|
|
1969
2027
|
syncPageInteractionCursor();
|
|
1970
2028
|
}
|
|
1971
2029
|
|
|
@@ -2516,18 +2574,27 @@
|
|
|
2516
2574
|
fontSize: '11px', color: BP.textDim, whiteSpace: 'nowrap',
|
|
2517
2575
|
marginLeft: 'auto',
|
|
2518
2576
|
});
|
|
2519
|
-
// Variants currently arrive atomically in a single file edit, so a
|
|
2520
|
-
// per-variant counter would lie. Say what's true.
|
|
2521
2577
|
status.textContent = recoveryWaitingForAnchor
|
|
2522
2578
|
? 'Variants ready. Reveal the selected element to resume.'
|
|
2523
|
-
: (
|
|
2524
|
-
? 'Generating ' + expectedVariants + ' variants...'
|
|
2525
|
-
: 'Done');
|
|
2579
|
+
: generationStatusText();
|
|
2526
2580
|
row.appendChild(status);
|
|
2527
2581
|
|
|
2528
2582
|
return row;
|
|
2529
2583
|
}
|
|
2530
2584
|
|
|
2585
|
+
function generationStatusText() {
|
|
2586
|
+
if (arrivedVariants >= expectedVariants && expectedVariants > 0) return 'Done';
|
|
2587
|
+
if (generationPhase === 'picked_up') return 'Agent picked up the request...';
|
|
2588
|
+
if (generationPhase === 'scaffolding') return 'Finding the source...';
|
|
2589
|
+
if (generationPhase === 'source_ready') return 'Source ready. Generating...';
|
|
2590
|
+
if (generationPhase === 'scaffold_fallback') return 'Agent is locating the source...';
|
|
2591
|
+
if (generationPhase === 'first_variant_generating') return 'Designing the first variant...';
|
|
2592
|
+
if (generationPhase === 'first_variant_validating') return 'Checking the first variant...';
|
|
2593
|
+
if (generationPhase === 'remaining_variants_generating') return 'Exploring two more directions...';
|
|
2594
|
+
if (generationPhase === 'remaining_variants_validating') return 'Checking the remaining variants...';
|
|
2595
|
+
return 'Generating ' + expectedVariants + ' variants...';
|
|
2596
|
+
}
|
|
2597
|
+
|
|
2531
2598
|
// Cycling row
|
|
2532
2599
|
|
|
2533
2600
|
const TUNE_ICON_SVG = '<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" style="flex-shrink:0"><line x1="4" y1="8" x2="20" y2="8"/><circle cx="14" cy="8" r="2.4" fill="currentColor" stroke="none"/><line x1="4" y1="16" x2="20" y2="16"/><circle cx="10" cy="16" r="2.4" fill="currentColor" stroke="none"/></svg>';
|
|
@@ -2557,7 +2624,7 @@
|
|
|
2557
2624
|
color: BP.textDim, minWidth: '24px', textAlign: 'center',
|
|
2558
2625
|
});
|
|
2559
2626
|
counter.id = PREFIX + '-variant-counter';
|
|
2560
|
-
counter.textContent = visibleVariant + '/' +
|
|
2627
|
+
counter.textContent = visibleVariant + '/' + expectedVariants;
|
|
2561
2628
|
row.appendChild(counter);
|
|
2562
2629
|
|
|
2563
2630
|
// Next
|
|
@@ -2567,10 +2634,12 @@
|
|
|
2567
2634
|
if (visibleVariant >= arrivedVariants) next.style.opacity = '0.3';
|
|
2568
2635
|
row.appendChild(next);
|
|
2569
2636
|
|
|
2570
|
-
// Tune chip
|
|
2637
|
+
// Tune chip stays visible while the deferred parameter phase is running,
|
|
2638
|
+
// then becomes interactive as soon as this variant exposes controls.
|
|
2571
2639
|
const visParams = parseVariantParams(getVisibleVariantEl());
|
|
2572
2640
|
const hasParams = visParams.length > 0;
|
|
2573
|
-
|
|
2641
|
+
const paramsPending = !hasParams && (parameterGenerationState === 'pending' || parameterGenerationState === 'loading');
|
|
2642
|
+
if (hasParams || paramsPending) {
|
|
2574
2643
|
const tune = el('button', {
|
|
2575
2644
|
display: 'inline-flex', alignItems: 'center', gap: '6px',
|
|
2576
2645
|
padding: '4px 10px', borderRadius: '5px',
|
|
@@ -2578,35 +2647,54 @@
|
|
|
2578
2647
|
background: tuneOpen ? BP.accentSoft : 'transparent',
|
|
2579
2648
|
color: tuneOpen ? BP.accent : BP.text,
|
|
2580
2649
|
fontFamily: FONT, fontSize: '11px', fontWeight: '500',
|
|
2581
|
-
cursor: 'pointer',
|
|
2650
|
+
cursor: paramsPending ? 'wait' : 'pointer',
|
|
2582
2651
|
transition: 'color 0.12s ease, background 0.12s ease',
|
|
2583
2652
|
whiteSpace: 'nowrap',
|
|
2584
2653
|
});
|
|
2585
|
-
|
|
2654
|
+
if (paramsPending) {
|
|
2655
|
+
const spinner = el('span', {
|
|
2656
|
+
width: '11px', height: '11px', borderRadius: '50%',
|
|
2657
|
+
border: '1.5px solid ' + BP.hairline,
|
|
2658
|
+
borderTopColor: BP.accent,
|
|
2659
|
+
animation: 'impeccable-spin 0.6s linear infinite',
|
|
2660
|
+
boxSizing: 'border-box', flexShrink: '0',
|
|
2661
|
+
});
|
|
2662
|
+
spinner.setAttribute('aria-hidden', 'true');
|
|
2663
|
+
tune.appendChild(spinner);
|
|
2664
|
+
} else {
|
|
2665
|
+
tune.innerHTML = TUNE_ICON_SVG;
|
|
2666
|
+
}
|
|
2586
2667
|
const tuneLabel = document.createElement('span');
|
|
2587
2668
|
tuneLabel.textContent = 'Tune';
|
|
2588
2669
|
tune.appendChild(tuneLabel);
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2670
|
+
if (hasParams) {
|
|
2671
|
+
const tuneBadge = document.createElement('span');
|
|
2672
|
+
Object.assign(tuneBadge.style, {
|
|
2673
|
+
display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
|
|
2674
|
+
minWidth: '16px', height: '16px', padding: '0 4px',
|
|
2675
|
+
borderRadius: '999px',
|
|
2676
|
+
background: tuneOpen ? C.brand : BP.hairline,
|
|
2677
|
+
color: tuneOpen ? C.ink : 'inherit',
|
|
2678
|
+
fontFamily: MONO, fontSize: '9.5px', fontWeight: '600',
|
|
2679
|
+
lineHeight: '1',
|
|
2680
|
+
boxSizing: 'border-box',
|
|
2681
|
+
});
|
|
2682
|
+
tuneBadge.textContent = String(visParams.length);
|
|
2683
|
+
tune.appendChild(tuneBadge);
|
|
2684
|
+
tune.title = 'Tune this variant (' + visParams.length + ' knob' + (visParams.length === 1 ? '' : 's') + ')';
|
|
2685
|
+
tune.addEventListener('mouseenter', () => {
|
|
2686
|
+
if (!tuneOpen) tune.style.background = BP.accentSoft;
|
|
2687
|
+
});
|
|
2688
|
+
tune.addEventListener('mouseleave', () => {
|
|
2689
|
+
if (!tuneOpen) tune.style.background = 'transparent';
|
|
2690
|
+
});
|
|
2691
|
+
tune.addEventListener('click', (e) => { e.stopPropagation(); toggleTunePopover(); });
|
|
2692
|
+
} else {
|
|
2693
|
+
tune.disabled = true;
|
|
2694
|
+
tune.setAttribute('aria-label', 'Tune controls are still being prepared');
|
|
2695
|
+
tune.title = 'Tune controls are still being prepared';
|
|
2696
|
+
tune.style.opacity = '0.72';
|
|
2697
|
+
}
|
|
2610
2698
|
tune.dataset.iceqTune = '1';
|
|
2611
2699
|
row.appendChild(tune);
|
|
2612
2700
|
}
|
|
@@ -2614,6 +2702,15 @@
|
|
|
2614
2702
|
// Spacer
|
|
2615
2703
|
row.appendChild(el('div', { flex: '1' }));
|
|
2616
2704
|
|
|
2705
|
+
if (arrivedVariants < expectedVariants) {
|
|
2706
|
+
const remaining = expectedVariants - arrivedVariants;
|
|
2707
|
+
const progress = el('span', {
|
|
2708
|
+
fontSize: '11px', color: BP.textDim, whiteSpace: 'nowrap',
|
|
2709
|
+
});
|
|
2710
|
+
progress.textContent = remaining + ' more arriving...';
|
|
2711
|
+
row.appendChild(progress);
|
|
2712
|
+
}
|
|
2713
|
+
|
|
2617
2714
|
// Accept - primary action, kinpaku gold + lacquer-deep (matches demo .live-demo-ctx-accept)
|
|
2618
2715
|
const accept = el('button', {
|
|
2619
2716
|
padding: '5px 14px', borderRadius: '5px',
|
|
@@ -2628,7 +2725,11 @@
|
|
|
2628
2725
|
accept.addEventListener('mousedown', () => accept.style.transform = 'scale(0.97)');
|
|
2629
2726
|
accept.addEventListener('mouseup', () => accept.style.transform = 'scale(1)');
|
|
2630
2727
|
accept.addEventListener('click', (e) => { e.stopPropagation(); handleAccept(); });
|
|
2631
|
-
if (arrivedVariants === 0) {
|
|
2728
|
+
if (arrivedVariants === 0) {
|
|
2729
|
+
accept.style.opacity = '0.3';
|
|
2730
|
+
accept.style.pointerEvents = 'none';
|
|
2731
|
+
accept.title = 'Accept becomes available when the first variant arrives';
|
|
2732
|
+
}
|
|
2632
2733
|
row.appendChild(accept);
|
|
2633
2734
|
|
|
2634
2735
|
// Discard
|
|
@@ -3131,7 +3232,7 @@
|
|
|
3131
3232
|
position: 'absolute', top: '2px',
|
|
3132
3233
|
left: initial ? '18px' : '2px',
|
|
3133
3234
|
width: '16px', height: '16px', borderRadius: '50%',
|
|
3134
|
-
background:
|
|
3235
|
+
background: C.ink,
|
|
3135
3236
|
transition: 'left 0.18s ' + EASE,
|
|
3136
3237
|
boxShadow: '0 1px 2px oklch(0% 0 0 / 0.2)',
|
|
3137
3238
|
});
|
|
@@ -3165,7 +3266,7 @@
|
|
|
3165
3266
|
const b = el('button', {
|
|
3166
3267
|
padding: '5px 4px', border: 'none', borderRadius: '3px',
|
|
3167
3268
|
background: active ? C.brand : 'transparent',
|
|
3168
|
-
color: active ?
|
|
3269
|
+
color: active ? C.ink : P.text,
|
|
3169
3270
|
fontFamily: FONT, fontSize: '10.5px', fontWeight: '500',
|
|
3170
3271
|
cursor: 'pointer', whiteSpace: 'nowrap',
|
|
3171
3272
|
transition: 'background 0.1s ease, color 0.1s ease',
|
|
@@ -3178,7 +3279,7 @@
|
|
|
3178
3279
|
segBtns.forEach(({ btn, val }) => {
|
|
3179
3280
|
const on = val === o.value;
|
|
3180
3281
|
btn.style.background = on ? C.brand : 'transparent';
|
|
3181
|
-
btn.style.color = on ?
|
|
3282
|
+
btn.style.color = on ? C.ink : P.text;
|
|
3182
3283
|
});
|
|
3183
3284
|
applyParamValue(variantEl, p, o.value);
|
|
3184
3285
|
queueCheckpoint('param_changed');
|
|
@@ -4743,6 +4844,32 @@
|
|
|
4743
4844
|
}
|
|
4744
4845
|
}
|
|
4745
4846
|
|
|
4847
|
+
function mountedParameterCount() {
|
|
4848
|
+
if (svelteComponentSession?.sessionId === currentSessionId) {
|
|
4849
|
+
return Object.values(svelteComponentSession.paramsByVariant || {})
|
|
4850
|
+
.reduce((total, params) => total + (Array.isArray(params) ? params.length : 0), 0);
|
|
4851
|
+
}
|
|
4852
|
+
const wrapper = document.querySelector('[data-impeccable-variants="' + currentSessionId + '"]');
|
|
4853
|
+
if (!wrapper) return 0;
|
|
4854
|
+
return [...wrapper.querySelectorAll('[data-impeccable-variant]:not([data-impeccable-variant="original"])')]
|
|
4855
|
+
.reduce((total, variant) => total + parseVariantParams(variant).length, 0);
|
|
4856
|
+
}
|
|
4857
|
+
|
|
4858
|
+
function completeParameterPublication() {
|
|
4859
|
+
if (!currentSessionId) return;
|
|
4860
|
+
const ready = mountedParameterCount() > 0;
|
|
4861
|
+
parameterGenerationState = ready ? 'ready' : 'none';
|
|
4862
|
+
if (ready && parameterReadyAnnouncedSession !== currentSessionId) {
|
|
4863
|
+
parameterReadyAnnouncedSession = currentSessionId;
|
|
4864
|
+
showToast('Tune controls are ready.', 3000);
|
|
4865
|
+
}
|
|
4866
|
+
if (state === 'CYCLING') {
|
|
4867
|
+
refreshParamsPanel();
|
|
4868
|
+
showOrUpdateCyclingBar();
|
|
4869
|
+
}
|
|
4870
|
+
saveSession();
|
|
4871
|
+
}
|
|
4872
|
+
|
|
4746
4873
|
function toggleTunePopover() {
|
|
4747
4874
|
if (pendingApplyInFlight) { showManualApplyBusyToast(); return; }
|
|
4748
4875
|
if (tuneOpen) { closeTunePopover(); return; }
|
|
@@ -4835,6 +4962,10 @@
|
|
|
4835
4962
|
return String(filePath || '').endsWith('manifest.json');
|
|
4836
4963
|
}
|
|
4837
4964
|
|
|
4965
|
+
function isFrameworkComponentPreviewMode(mode) {
|
|
4966
|
+
return mode === 'svelte-component';
|
|
4967
|
+
}
|
|
4968
|
+
|
|
4838
4969
|
function parseOriginalMarkupElement(originalMarkup) {
|
|
4839
4970
|
const parser = new DOMParser();
|
|
4840
4971
|
const doc = parser.parseFromString('<div id="impeccable-anchor">' + originalMarkup + '</div>', 'text/html');
|
|
@@ -5029,9 +5160,13 @@
|
|
|
5029
5160
|
}
|
|
5030
5161
|
}
|
|
5031
5162
|
|
|
5032
|
-
function
|
|
5163
|
+
function resolveComponentModuleUrl(manifest, modulePath) {
|
|
5164
|
+
return new URL(String(modulePath || ''), location.origin).href;
|
|
5165
|
+
}
|
|
5166
|
+
|
|
5167
|
+
function loadSvelteRuntime(runtimeModule, manifest) {
|
|
5033
5168
|
const modulePath = runtimeModule || '/src/lib/impeccable/__runtime.js';
|
|
5034
|
-
const url =
|
|
5169
|
+
const url = resolveComponentModuleUrl(manifest, modulePath);
|
|
5035
5170
|
if (!svelteRuntimePromise) {
|
|
5036
5171
|
svelteRuntimePromise = import(/* @vite-ignore */ url);
|
|
5037
5172
|
}
|
|
@@ -5065,7 +5200,8 @@
|
|
|
5065
5200
|
async function loadSvelteComponentVariantSource(manifest, variantNum) {
|
|
5066
5201
|
const dir = String(manifest?.componentDir || '').replace(/^\/+/, '');
|
|
5067
5202
|
if (!dir || !variantNum) return '';
|
|
5068
|
-
const
|
|
5203
|
+
const extension = manifest.componentExtension || 'svelte';
|
|
5204
|
+
const sourcePath = dir + '/v' + variantNum + '.' + extension;
|
|
5069
5205
|
const url = 'http://localhost:' + PORT + '/source?token=' + TOKEN + '&path=' + encodeURIComponent(sourcePath);
|
|
5070
5206
|
try {
|
|
5071
5207
|
const res = await fetch(url);
|
|
@@ -5221,7 +5357,7 @@
|
|
|
5221
5357
|
if (!sourceOriginal) return values;
|
|
5222
5358
|
const map = buildSvelteExpressionTextMap(sourceOriginal, liveEl);
|
|
5223
5359
|
for (const entry of contract) {
|
|
5224
|
-
const token = '{' + entry.expr + '}';
|
|
5360
|
+
const token = entry.previewToken || ('{' + entry.expr + '}');
|
|
5225
5361
|
values[entry.prop] = map.get(token) || '';
|
|
5226
5362
|
}
|
|
5227
5363
|
return values;
|
|
@@ -5233,9 +5369,12 @@
|
|
|
5233
5369
|
try {
|
|
5234
5370
|
const previousAnchor = getMountedSvelteComponentAnchor(svelteComponentSession) || selectedElement;
|
|
5235
5371
|
svelteComponentSession.swapAnchor = makeFrozenAnchor(previousAnchor) || svelteComponentSession.swapAnchor || null;
|
|
5236
|
-
const runtime = await loadSvelteRuntime(manifest.runtimeModule);
|
|
5237
|
-
const
|
|
5238
|
-
const
|
|
5372
|
+
const runtime = await loadSvelteRuntime(manifest.runtimeModule, manifest);
|
|
5373
|
+
const extension = manifest.componentExtension || 'svelte';
|
|
5374
|
+
const moduleBase = manifest.componentModuleBase
|
|
5375
|
+
|| ('/' + String(manifest.componentDir || '').replace(/^\/+/, ''));
|
|
5376
|
+
const modulePath = String(moduleBase).replace(/\/+$/, '') + '/v' + variantNum + '.' + extension;
|
|
5377
|
+
const moduleUrl = resolveComponentModuleUrl(manifest, modulePath) + '?t=' + Date.now();
|
|
5239
5378
|
const mod = await import(/* @vite-ignore */ moduleUrl);
|
|
5240
5379
|
const Component = mod.default;
|
|
5241
5380
|
if (svelteComponentSession.mountedInstance && runtime.unmount) {
|
|
@@ -5275,7 +5414,7 @@
|
|
|
5275
5414
|
if (svelteComponentSession?.sessionId === sessionId) {
|
|
5276
5415
|
svelteComponentSession.swapAnchor = null;
|
|
5277
5416
|
}
|
|
5278
|
-
console.error('[impeccable] Failed to mount
|
|
5417
|
+
console.error('[impeccable] Failed to mount component variant ' + variantNum + ' for ' + sessionId + ':', err);
|
|
5279
5418
|
return false;
|
|
5280
5419
|
}
|
|
5281
5420
|
}
|
|
@@ -5340,40 +5479,46 @@
|
|
|
5340
5479
|
if (manifest.id !== sessionId) return;
|
|
5341
5480
|
|
|
5342
5481
|
const paramsByVariant = await loadSvelteComponentParams(manifest);
|
|
5482
|
+
const availableVariants = Number(manifest.arrivedVariants) || Number(manifest.count) || 1;
|
|
5483
|
+
const componentPreviewMode = isFrameworkComponentPreviewMode(manifest.previewMode)
|
|
5484
|
+
? manifest.previewMode
|
|
5485
|
+
: 'svelte-component';
|
|
5343
5486
|
currentSessionId = sessionId;
|
|
5344
5487
|
expectedVariants = Number(manifest.count) || expectedVariants || 1;
|
|
5345
5488
|
rememberSessionFileMeta({
|
|
5346
5489
|
sourceFile: manifest.sourceFile,
|
|
5347
5490
|
previewFile: manifestPath,
|
|
5348
|
-
previewMode:
|
|
5491
|
+
previewMode: componentPreviewMode,
|
|
5349
5492
|
});
|
|
5350
5493
|
if (state !== 'CYCLING') setLiveState('GENERATING');
|
|
5351
5494
|
|
|
5352
5495
|
const existingWrapper = document.querySelector('[data-impeccable-variants="' + sessionId + '"]');
|
|
5353
5496
|
if (existingWrapper && svelteComponentSession?.sessionId === sessionId) {
|
|
5354
5497
|
recoveryWaitingForAnchor = false;
|
|
5498
|
+
svelteComponentSession.manifest = manifest;
|
|
5355
5499
|
svelteComponentSession.paramsByVariant = paramsByVariant;
|
|
5356
|
-
arrivedVariants =
|
|
5357
|
-
expectedVariants = arrivedVariants;
|
|
5500
|
+
arrivedVariants = availableVariants;
|
|
5501
|
+
expectedVariants = Number(manifest.count) || expectedVariants || arrivedVariants;
|
|
5358
5502
|
visibleVariant = visibleVariant > 0 && visibleVariant <= arrivedVariants ? visibleVariant : 1;
|
|
5359
5503
|
await mountSvelteComponentVariant(visibleVariant || 1);
|
|
5360
5504
|
setLiveState('CYCLING');
|
|
5361
5505
|
showOrUpdateCyclingBar();
|
|
5362
5506
|
saveSession();
|
|
5507
|
+
if (parameterGenerationState === 'loading') completeParameterPublication();
|
|
5363
5508
|
return;
|
|
5364
5509
|
}
|
|
5365
5510
|
|
|
5366
5511
|
const liveEl = findLiveElementForSvelteManifest(manifest);
|
|
5367
5512
|
if (!liveEl?.parentElement) {
|
|
5368
5513
|
console.warn('[impeccable] Could not find original element in live DOM.');
|
|
5369
|
-
arrivedVariants =
|
|
5370
|
-
expectedVariants = arrivedVariants;
|
|
5514
|
+
arrivedVariants = availableVariants;
|
|
5515
|
+
expectedVariants = Number(manifest.count) || expectedVariants || arrivedVariants;
|
|
5371
5516
|
const saved = loadSession();
|
|
5372
5517
|
const savedVisibleVariant = saved && saved.id === sessionId ? saved.visible : 0;
|
|
5373
5518
|
visibleVariant = visibleVariant > 0 && visibleVariant <= arrivedVariants
|
|
5374
5519
|
? visibleVariant
|
|
5375
5520
|
: (savedVisibleVariant > 0 && savedVisibleVariant <= arrivedVariants ? savedVisibleVariant : 1);
|
|
5376
|
-
enterRecoveryWaitingForAnchor({ checkpointReason: '
|
|
5521
|
+
enterRecoveryWaitingForAnchor({ checkpointReason: 'component_preview_anchor_missing', trackScroll: true });
|
|
5377
5522
|
waitForSvelteComponentTargetAndRetry({ manifestPath, sessionId, manifest });
|
|
5378
5523
|
return;
|
|
5379
5524
|
}
|
|
@@ -5381,7 +5526,7 @@
|
|
|
5381
5526
|
const wrapper = document.createElement('div');
|
|
5382
5527
|
wrapper.dataset.impeccableVariants = sessionId;
|
|
5383
5528
|
wrapper.dataset.impeccableVariantCount = String(manifest.count || expectedVariants || 1);
|
|
5384
|
-
wrapper.dataset.impeccablePreview =
|
|
5529
|
+
wrapper.dataset.impeccablePreview = componentPreviewMode;
|
|
5385
5530
|
wrapper.style.display = 'contents';
|
|
5386
5531
|
|
|
5387
5532
|
const mountTarget = document.createElement('div');
|
|
@@ -5419,8 +5564,8 @@
|
|
|
5419
5564
|
recoveryWaitingForAnchor = false;
|
|
5420
5565
|
|
|
5421
5566
|
const previousVisibleVariant = currentSessionId === sessionId ? visibleVariant : 0;
|
|
5422
|
-
arrivedVariants =
|
|
5423
|
-
expectedVariants = arrivedVariants;
|
|
5567
|
+
arrivedVariants = availableVariants;
|
|
5568
|
+
expectedVariants = Number(manifest.count) || expectedVariants || arrivedVariants;
|
|
5424
5569
|
const saved = loadSession();
|
|
5425
5570
|
const savedVisibleVariant = saved && saved.id === sessionId ? saved.visible : 0;
|
|
5426
5571
|
visibleVariant = previousVisibleVariant > 0 && previousVisibleVariant <= arrivedVariants
|
|
@@ -5445,9 +5590,10 @@
|
|
|
5445
5590
|
refreshParamsPanel();
|
|
5446
5591
|
positionBar();
|
|
5447
5592
|
saveSession();
|
|
5448
|
-
|
|
5593
|
+
if (parameterGenerationState === 'loading') completeParameterPublication();
|
|
5594
|
+
console.log('[impeccable] Mounted ' + arrivedVariants + ' ' + manifest.framework + ' component variants.');
|
|
5449
5595
|
} catch (err) {
|
|
5450
|
-
console.error('[impeccable] Failed to mount
|
|
5596
|
+
console.error('[impeccable] Failed to mount component-preview variants:', err);
|
|
5451
5597
|
abortSvelteComponentInjection(sessionId, 'Could not load variants. Fix the error and re-run.');
|
|
5452
5598
|
}
|
|
5453
5599
|
}
|
|
@@ -5493,6 +5639,8 @@
|
|
|
5493
5639
|
clearHandled();
|
|
5494
5640
|
resetSessionFileMeta();
|
|
5495
5641
|
currentSessionId = null;
|
|
5642
|
+
parameterGenerationState = 'idle';
|
|
5643
|
+
parameterReadyAnnouncedSession = null;
|
|
5496
5644
|
expectedVariants = 0;
|
|
5497
5645
|
arrivedVariants = 0;
|
|
5498
5646
|
visibleVariant = 0;
|
|
@@ -5502,12 +5650,24 @@
|
|
|
5502
5650
|
if (message) showToast(message, 5000);
|
|
5503
5651
|
}
|
|
5504
5652
|
|
|
5653
|
+
// How many delayed re-reads a completion-driven source fallback gets when
|
|
5654
|
+
// the fetched source still shows only the preflight scaffold, before the
|
|
5655
|
+
// failure is surfaced via recoverEmptyCycling.
|
|
5656
|
+
const COMPLETED_SOURCE_FALLBACK_RETRIES = 3;
|
|
5657
|
+
const COMPLETED_SOURCE_FALLBACK_RETRY_MS = 1200;
|
|
5658
|
+
|
|
5505
5659
|
/**
|
|
5506
5660
|
* No-HMR fallback: fetch the raw source file from the live server,
|
|
5507
5661
|
* parse it, extract the variant wrapper, and inject it into the live DOM.
|
|
5508
5662
|
* This works even when the dev server caches HTML (Bun, static servers).
|
|
5663
|
+
*
|
|
5664
|
+
* opts.generationCompleted marks callers that KNOW the agent finished (a
|
|
5665
|
+
* `done` arrived or the server reported a completed generation). For them an
|
|
5666
|
+
* empty read is a stale source view and no further event is coming, so the
|
|
5667
|
+
* read retries a few times and then surfaces recovery. Callers without the
|
|
5668
|
+
* flag may be mid-generation and wait indefinitely for the real completion.
|
|
5509
5669
|
*/
|
|
5510
|
-
function injectVariantsFromSource(filePath, sessionId) {
|
|
5670
|
+
function injectVariantsFromSource(filePath, sessionId, opts = {}) {
|
|
5511
5671
|
if (isSvelteComponentManifestPath(filePath)) {
|
|
5512
5672
|
injectSvelteComponentsFromManifest(filePath, sessionId);
|
|
5513
5673
|
return;
|
|
@@ -5573,6 +5733,32 @@
|
|
|
5573
5733
|
arrivedVariants = variants.length;
|
|
5574
5734
|
expectedVariants = parseInt(wrapper.dataset.impeccableVariantCount || arrivedVariants);
|
|
5575
5735
|
if (arrivedVariants <= 0) {
|
|
5736
|
+
if (state === 'GENERATING') {
|
|
5737
|
+
// Mid-generation the source legitimately holds a scaffold wrapper
|
|
5738
|
+
// with no variants yet (the server-side preflight wraps before the
|
|
5739
|
+
// agent writes). Tearing the session down here would destroy an
|
|
5740
|
+
// in-flight generation; stay in GENERATING — the variant observer
|
|
5741
|
+
// is armed and the server re-delivers a missed `done`.
|
|
5742
|
+
if (!opts.generationCompleted) {
|
|
5743
|
+
console.log('[impeccable] Source has scaffold but no variants yet; still generating.');
|
|
5744
|
+
return;
|
|
5745
|
+
}
|
|
5746
|
+
// Generation finished, yet the read shows only the scaffold: the
|
|
5747
|
+
// source view is stale and no further event will fire. Re-read a
|
|
5748
|
+
// few times before surfacing recovery — a single silent return
|
|
5749
|
+
// here would strand the tab in GENERATING forever.
|
|
5750
|
+
const attempt = opts.attempt || 0;
|
|
5751
|
+
if (attempt < COMPLETED_SOURCE_FALLBACK_RETRIES) {
|
|
5752
|
+
console.log('[impeccable] Generation is done but source shows no variants yet; retrying read ('
|
|
5753
|
+
+ (attempt + 1) + '/' + COMPLETED_SOURCE_FALLBACK_RETRIES + ').');
|
|
5754
|
+
setTimeout(() => {
|
|
5755
|
+
if (state !== 'GENERATING' || currentSessionId !== sessionId) return;
|
|
5756
|
+
if (arrivedVariants > 0) return;
|
|
5757
|
+
injectVariantsFromSource(filePath, sessionId, { ...opts, attempt: attempt + 1 });
|
|
5758
|
+
}, COMPLETED_SOURCE_FALLBACK_RETRY_MS);
|
|
5759
|
+
return;
|
|
5760
|
+
}
|
|
5761
|
+
}
|
|
5576
5762
|
recoverEmptyCycling('source-fallback-empty');
|
|
5577
5763
|
return;
|
|
5578
5764
|
}
|
|
@@ -5594,6 +5780,7 @@
|
|
|
5594
5780
|
refreshParamsPanel();
|
|
5595
5781
|
positionBar();
|
|
5596
5782
|
saveSession();
|
|
5783
|
+
if (parameterGenerationState === 'loading') completeParameterPublication();
|
|
5597
5784
|
console.log('[impeccable] Injected ' + arrivedVariants + ' variants from source file.');
|
|
5598
5785
|
})
|
|
5599
5786
|
.catch(err => {
|
|
@@ -5865,13 +6052,36 @@
|
|
|
5865
6052
|
document.getElementById(VARIANT_STATE_STYLE_ID)?.remove();
|
|
5866
6053
|
}
|
|
5867
6054
|
|
|
6055
|
+
function showOriginalDuringDiscard(sessionId) {
|
|
6056
|
+
if (!sessionId) return;
|
|
6057
|
+
let styleEl = document.getElementById(DISCARD_STATE_STYLE_ID);
|
|
6058
|
+
if (!styleEl) {
|
|
6059
|
+
styleEl = document.createElement('style');
|
|
6060
|
+
styleEl.id = DISCARD_STATE_STYLE_ID;
|
|
6061
|
+
(document.head || document.documentElement).appendChild(styleEl);
|
|
6062
|
+
}
|
|
6063
|
+
const wrapper = '[data-impeccable-variants="' + sessionId + '"]';
|
|
6064
|
+
styleEl.textContent = wrapper + ' > [data-impeccable-variant]:not([data-impeccable-variant="original"]) { display:none !important; }\n'
|
|
6065
|
+
+ wrapper + ' > [data-impeccable-variant="original"] { display:block !important; }';
|
|
6066
|
+
}
|
|
6067
|
+
|
|
6068
|
+
function resolveScrollLockAnchorTop() {
|
|
6069
|
+
const anchor = resolveBarAnchor();
|
|
6070
|
+
if (!anchor?.isConnected) return null;
|
|
6071
|
+
const top = anchor.getBoundingClientRect().top;
|
|
6072
|
+
return Number.isFinite(top) ? top : null;
|
|
6073
|
+
}
|
|
6074
|
+
|
|
5868
6075
|
// Hold window.scrollY at a fixed value across DOM mutations inside the
|
|
5869
6076
|
// session's wrapper (HMR patches, variant inserts, cycle swaps).
|
|
5870
|
-
function startScrollLock(sessionId, initialTargetY) {
|
|
6077
|
+
function startScrollLock(sessionId, initialTargetY, initialAnchorTop) {
|
|
5871
6078
|
stopScrollLock();
|
|
5872
6079
|
scrollLockTargetY = typeof initialTargetY === 'number' && isFinite(initialTargetY)
|
|
5873
6080
|
? initialTargetY
|
|
5874
6081
|
: window.scrollY;
|
|
6082
|
+
scrollLockAnchorTop = typeof initialAnchorTop === 'number' && isFinite(initialAnchorTop)
|
|
6083
|
+
? initialAnchorTop
|
|
6084
|
+
: resolveScrollLockAnchorTop();
|
|
5875
6085
|
|
|
5876
6086
|
try { history.scrollRestoration = 'manual'; } catch {}
|
|
5877
6087
|
|
|
@@ -5895,6 +6105,17 @@
|
|
|
5895
6105
|
const correct = (why) => {
|
|
5896
6106
|
scrollLockRaf = null;
|
|
5897
6107
|
if (scrollLockTargetY == null) return;
|
|
6108
|
+
const anchor = resolveBarAnchor();
|
|
6109
|
+
if (anchor?.isConnected && typeof scrollLockAnchorTop === 'number' && isFinite(scrollLockAnchorTop)) {
|
|
6110
|
+
const anchorTop = anchor.getBoundingClientRect().top;
|
|
6111
|
+
const anchorDelta = anchorTop - scrollLockAnchorTop;
|
|
6112
|
+
if (Math.abs(anchorDelta) >= 0.5) {
|
|
6113
|
+
window.scrollTo({ top: window.scrollY + anchorDelta, left: window.scrollX, behavior: 'instant' });
|
|
6114
|
+
scrollLockTargetY = window.scrollY;
|
|
6115
|
+
writeScrollY(scrollLockTargetY);
|
|
6116
|
+
return;
|
|
6117
|
+
}
|
|
6118
|
+
}
|
|
5898
6119
|
const before = window.scrollY;
|
|
5899
6120
|
const delta = before - scrollLockTargetY;
|
|
5900
6121
|
if (Math.abs(delta) < 0.5) {
|
|
@@ -5939,6 +6160,7 @@
|
|
|
5939
6160
|
if (scrollLockRaf != null) { cancelAnimationFrame(scrollLockRaf); scrollLockRaf = null; }
|
|
5940
6161
|
const prevTarget = scrollLockTargetY;
|
|
5941
6162
|
scrollLockTargetY = window.scrollY;
|
|
6163
|
+
scrollLockAnchorTop = resolveScrollLockAnchorTop();
|
|
5942
6164
|
writeScrollY(scrollLockTargetY);
|
|
5943
6165
|
};
|
|
5944
6166
|
const markGesture = (why) => {
|
|
@@ -5976,6 +6198,7 @@
|
|
|
5976
6198
|
if (scrollLockRaf != null) { cancelAnimationFrame(scrollLockRaf); scrollLockRaf = null; }
|
|
5977
6199
|
if (scrollLockAbort) { scrollLockAbort.abort(); scrollLockAbort = null; }
|
|
5978
6200
|
scrollLockTargetY = null;
|
|
6201
|
+
scrollLockAnchorTop = null;
|
|
5979
6202
|
// NOTE: do NOT clear the persistent scroll key here. startScrollLock
|
|
5980
6203
|
// calls us as a reset, and clearing the key would nuke the Go-time
|
|
5981
6204
|
// scrollY that the next resume needs to read.
|
|
@@ -6049,6 +6272,7 @@
|
|
|
6049
6272
|
|
|
6050
6273
|
updating = true;
|
|
6051
6274
|
arrivedVariants = count;
|
|
6275
|
+
generationPhase = arrivedVariants >= expectedVariants ? 'variants_ready' : 'variants_progress';
|
|
6052
6276
|
if (visibleVariant === 0 && arrivedVariants > 0) {
|
|
6053
6277
|
const saved = loadSession();
|
|
6054
6278
|
const savedVisibleVariant = saved && saved.id === sessionId ? saved.visible : 0;
|
|
@@ -6064,7 +6288,7 @@
|
|
|
6064
6288
|
const expected = parseInt(wrapper.dataset.impeccableVariantCount || '0');
|
|
6065
6289
|
if (expected > 0) expectedVariants = expected;
|
|
6066
6290
|
|
|
6067
|
-
if (arrivedVariants
|
|
6291
|
+
if (arrivedVariants > 0) {
|
|
6068
6292
|
setLiveState('CYCLING');
|
|
6069
6293
|
recoveryWaitingForAnchor = false;
|
|
6070
6294
|
hideShaderOverlay();
|
|
@@ -6072,13 +6296,18 @@
|
|
|
6072
6296
|
updateSelectedElement();
|
|
6073
6297
|
showOrUpdateCyclingBar();
|
|
6074
6298
|
disableInlineEdit();
|
|
6075
|
-
refreshParamsPanel();
|
|
6299
|
+
if (arrivedVariants >= expectedVariants && expectedVariants > 0) refreshParamsPanel();
|
|
6300
|
+
else hideParamsPanel();
|
|
6076
6301
|
positionBar();
|
|
6077
6302
|
} else if (state === 'GENERATING') {
|
|
6078
6303
|
updateBarContent('generating');
|
|
6079
6304
|
}
|
|
6080
6305
|
saveSession();
|
|
6081
|
-
|
|
6306
|
+
sendCheckpoint(
|
|
6307
|
+
arrivedVariants >= expectedVariants && expectedVariants > 0
|
|
6308
|
+
? 'variants_ready'
|
|
6309
|
+
: 'variants_progress',
|
|
6310
|
+
);
|
|
6082
6311
|
updating = false;
|
|
6083
6312
|
});
|
|
6084
6313
|
|
|
@@ -6151,6 +6380,7 @@
|
|
|
6151
6380
|
syncAgentPollingUi(!!msg.agentPolling);
|
|
6152
6381
|
startAgentStatusPoll();
|
|
6153
6382
|
restoreFromActiveSessions(msg.activeSessions, 'sse_connected');
|
|
6383
|
+
recoverMissedGenerationCompletion(msg.activeSessions);
|
|
6154
6384
|
if (state === 'IDLE' && (pickActive || insertActive)) setLiveState('PICKING');
|
|
6155
6385
|
syncPageInteractionCursor();
|
|
6156
6386
|
syncPageChatFocus('sse-connected');
|
|
@@ -6158,6 +6388,42 @@
|
|
|
6158
6388
|
case 'agent_polling':
|
|
6159
6389
|
syncAgentPollingUi(!!msg.connected);
|
|
6160
6390
|
break;
|
|
6391
|
+
case 'agent_phase':
|
|
6392
|
+
if (msg.id === currentSessionId && (state === 'GENERATING' || state === 'CYCLING')) {
|
|
6393
|
+
// Advance the visible phase monotonically. A behind/resumed
|
|
6394
|
+
// checkpoint may carry an earlier phase for internal bookkeeping,
|
|
6395
|
+
// but the bar must not move backward.
|
|
6396
|
+
if (shouldAdvancePhase(generationPhase, msg.phase)) generationPhase = msg.phase;
|
|
6397
|
+
if (msg.phase === 'variant_parameters_generating' || msg.phase === 'variant_parameters_validating') {
|
|
6398
|
+
parameterGenerationState = 'loading';
|
|
6399
|
+
}
|
|
6400
|
+
if (msg.phase === 'parameters_ready' && parameterGenerationState !== 'ready') {
|
|
6401
|
+
parameterGenerationState = 'loading';
|
|
6402
|
+
}
|
|
6403
|
+
updateBarContent(state === 'CYCLING' ? 'cycling' : 'generating');
|
|
6404
|
+
saveSession();
|
|
6405
|
+
}
|
|
6406
|
+
break;
|
|
6407
|
+
case 'variant_progress':
|
|
6408
|
+
if (msg.id === currentSessionId) {
|
|
6409
|
+
if (msg.publicationKind === 'params') parameterGenerationState = 'loading';
|
|
6410
|
+
rememberSessionFileMeta(msg);
|
|
6411
|
+
if (isFrameworkComponentPreviewMode(msg.previewMode) && msg.previewFile) {
|
|
6412
|
+
// Component-preview (Svelte/Vue) progressive delivery: the browser
|
|
6413
|
+
// mounts compiled components, so there is no framework-owned DOM
|
|
6414
|
+
// to race. Keep streaming each checkpoint into the preview.
|
|
6415
|
+
injectSvelteComponentsFromManifest(msg.previewFile, msg.id);
|
|
6416
|
+
}
|
|
6417
|
+
// Source-preview targets: do NOT source-inject per checkpoint.
|
|
6418
|
+
// Immediate injection races framework (React/Vue) ownership mid-
|
|
6419
|
+
// generation and triggers removeChild errors on the next HMR
|
|
6420
|
+
// commit. Let HMR own reconciliation while variants stream in;
|
|
6421
|
+
// source injection runs only on the final `done` (which keeps its
|
|
6422
|
+
// 750ms settle + retry ladder for non-HMR harnesses).
|
|
6423
|
+
// The visible progress count still advances from the variant
|
|
6424
|
+
// MutationObserver as HMR lands each variant.
|
|
6425
|
+
}
|
|
6426
|
+
break;
|
|
6161
6427
|
case 'steer_done':
|
|
6162
6428
|
maybeCompleteSteer(msg);
|
|
6163
6429
|
break;
|
|
@@ -6175,6 +6441,10 @@
|
|
|
6175
6441
|
case 'done':
|
|
6176
6442
|
if (maybeCompleteSteer(msg)) break;
|
|
6177
6443
|
rememberSessionFileMeta(msg);
|
|
6444
|
+
if (msg.id === currentSessionId && isFrameworkComponentPreviewMode(currentPreviewMode) && currentPreviewFile) {
|
|
6445
|
+
injectSvelteComponentsFromManifest(currentPreviewFile, msg.id);
|
|
6446
|
+
break;
|
|
6447
|
+
}
|
|
6178
6448
|
// Variants already arrived via HMR → normal transition.
|
|
6179
6449
|
if (arrivedVariants >= expectedVariants && expectedVariants > 0) {
|
|
6180
6450
|
if (state === 'GENERATING') {
|
|
@@ -6190,7 +6460,7 @@
|
|
|
6190
6460
|
setTimeout(() => {
|
|
6191
6461
|
if (arrivedVariants >= expectedVariants && expectedVariants > 0) return;
|
|
6192
6462
|
if (state !== 'GENERATING' || msg.id !== currentSessionId) return;
|
|
6193
|
-
injectVariantsFromSource(msg.file, msg.id);
|
|
6463
|
+
injectVariantsFromSource(msg.file, msg.id, { generationCompleted: true });
|
|
6194
6464
|
}, 750);
|
|
6195
6465
|
break;
|
|
6196
6466
|
}
|
|
@@ -6212,12 +6482,21 @@
|
|
|
6212
6482
|
break;
|
|
6213
6483
|
case 'complete':
|
|
6214
6484
|
case 'accept':
|
|
6485
|
+
// The real accept result arrived: the awaited failure window closed.
|
|
6486
|
+
if (awaitingAcceptResult?.id && msg.id === awaitingAcceptResult.id) awaitingAcceptResult = null;
|
|
6215
6487
|
if (maybeCompleteAcceptedSession(msg)) break;
|
|
6216
6488
|
break;
|
|
6217
6489
|
case 'agent_done':
|
|
6218
|
-
//
|
|
6219
|
-
//
|
|
6220
|
-
//
|
|
6490
|
+
// The deterministic accept has already committed the reviewed DOM
|
|
6491
|
+
// and fenced generation. Carbonize may continue in the background;
|
|
6492
|
+
// it must not hold the foreground picker hostage.
|
|
6493
|
+
// Only a carbonize agent_done is provably accept-side: accept
|
|
6494
|
+
// unlocks at the first variant, so a late generation agent_done
|
|
6495
|
+
// for the same session id can still arrive after Accept and must
|
|
6496
|
+
// not close the awaited failure window early (the SSE broadcast
|
|
6497
|
+
// carries no sourceEventType to tell the two apart).
|
|
6498
|
+
if (msg.data?.carbonize === true && awaitingAcceptResult?.id && msg.id === awaitingAcceptResult.id) awaitingAcceptResult = null;
|
|
6499
|
+
if (msg.data?.carbonize === true && maybeCompleteAcceptedSession(msg)) break;
|
|
6221
6500
|
break;
|
|
6222
6501
|
case 'discarded':
|
|
6223
6502
|
if (msg.id && msg.id === currentSessionId) {
|
|
@@ -6228,14 +6507,43 @@
|
|
|
6228
6507
|
case 'error':
|
|
6229
6508
|
if (pendingAcceptedSession?.id && msg.id === pendingAcceptedSession.id) {
|
|
6230
6509
|
pendingAcceptedSession = null;
|
|
6510
|
+
awaitingAcceptResult = null;
|
|
6231
6511
|
setLiveState('CYCLING');
|
|
6232
6512
|
updateBarContent('cycling');
|
|
6233
6513
|
showToast('Could not complete accept cleanup. Try Accept again.', 5000);
|
|
6234
6514
|
break;
|
|
6235
6515
|
}
|
|
6516
|
+
// The optimistic teardown already released the session, so the
|
|
6517
|
+
// CYCLING recovery above can no longer match; without this branch
|
|
6518
|
+
// the failure fell through to the generic toast and the user had
|
|
6519
|
+
// no hint their variant was never written (issue #384).
|
|
6520
|
+
if (awaitingAcceptResult?.id && msg.id === awaitingAcceptResult.id) {
|
|
6521
|
+
awaitingAcceptResult = null;
|
|
6522
|
+
console.error('[impeccable] Accept failed after teardown:', msg.message);
|
|
6523
|
+
// Hedged on purpose: a carbonize-phase failure raises this same
|
|
6524
|
+
// error after the source WAS promoted, so "was not saved" would
|
|
6525
|
+
// overclaim. Normalize the server message's terminal punctuation
|
|
6526
|
+
// so the two sentences don't run together.
|
|
6527
|
+
const acceptFailDetail = String(msg.message || 'unknown error').trim().replace(/[.!?]?$/, '.');
|
|
6528
|
+
showToast('Accept failed: ' + acceptFailDetail + ' The variant may not have been saved. If the change is missing, pick the element and generate again.', 8000);
|
|
6529
|
+
break;
|
|
6530
|
+
}
|
|
6236
6531
|
if (maybeCompleteSteer(msg)) break;
|
|
6237
6532
|
console.error('[impeccable] Error:', msg.message);
|
|
6238
6533
|
showToast('Error: ' + msg.message, 5000);
|
|
6534
|
+
// An agent error reply is terminal for the session it names: tear
|
|
6535
|
+
// it down exactly like 'discarded' (cleanup includes clearSession),
|
|
6536
|
+
// or the durable localStorage checkpoint survives and every reload
|
|
6537
|
+
// resurrects a GENERATING bar for a session the server no longer
|
|
6538
|
+
// knows about (issue #362).
|
|
6539
|
+
if (msg.id && msg.id === currentSessionId) {
|
|
6540
|
+
markSessionHandled();
|
|
6541
|
+
cleanup();
|
|
6542
|
+
break;
|
|
6543
|
+
}
|
|
6544
|
+
// A stored-but-not-current checkpoint naming the errored session
|
|
6545
|
+
// (the error raced a reload) must not resurrect either.
|
|
6546
|
+
if (msg.id && loadSession()?.id === msg.id) clearSession();
|
|
6239
6547
|
hideBar();
|
|
6240
6548
|
renderEditBadge('hidden');
|
|
6241
6549
|
setLiveState('PICKING');
|
|
@@ -6261,7 +6569,7 @@
|
|
|
6261
6569
|
function handleServerLost() {
|
|
6262
6570
|
const recoveryState = currentSessionId ? state : 'IDLE';
|
|
6263
6571
|
if (state === 'GENERATING' || state === 'CYCLING' || state === 'SAVING') {
|
|
6264
|
-
showToast('Live server
|
|
6572
|
+
showToast('Live server connection lost. Your session is saved; reopen this page or restart live-poll.mjs to continue.', 6000);
|
|
6265
6573
|
}
|
|
6266
6574
|
hideBar();
|
|
6267
6575
|
hideHighlight();
|
|
@@ -6306,6 +6614,7 @@
|
|
|
6306
6614
|
type: 'checkpoint',
|
|
6307
6615
|
id: currentSessionId,
|
|
6308
6616
|
revision: sessionState.nextCheckpointRevision(),
|
|
6617
|
+
revisionDomain: 'browser',
|
|
6309
6618
|
owner: browserOwner,
|
|
6310
6619
|
phase: String(state || '').toLowerCase(),
|
|
6311
6620
|
reason,
|
|
@@ -6331,6 +6640,7 @@
|
|
|
6331
6640
|
type: 'checkpoint',
|
|
6332
6641
|
id,
|
|
6333
6642
|
revision: sessionState.nextCheckpointRevision(),
|
|
6643
|
+
revisionDomain: 'browser',
|
|
6334
6644
|
owner: browserOwner,
|
|
6335
6645
|
phase: 'steer',
|
|
6336
6646
|
reason,
|
|
@@ -6680,10 +6990,16 @@
|
|
|
6680
6990
|
stripManualEditRuntimeState(selectedElement);
|
|
6681
6991
|
|
|
6682
6992
|
pendingAcceptedSession = null;
|
|
6993
|
+
// A new session supersedes any accept still awaiting its result; a late
|
|
6994
|
+
// failure toast for the previous session would only mislead here.
|
|
6995
|
+
awaitingAcceptResult = null;
|
|
6683
6996
|
currentSessionId = id8();
|
|
6684
6997
|
expectedVariants = selectedCount;
|
|
6685
6998
|
arrivedVariants = 0;
|
|
6686
6999
|
visibleVariant = 0;
|
|
7000
|
+
generationPhase = 'queued';
|
|
7001
|
+
parameterGenerationState = 'pending';
|
|
7002
|
+
parameterReadyAnnouncedSession = null;
|
|
6687
7003
|
resetSessionFileMeta();
|
|
6688
7004
|
|
|
6689
7005
|
// Flip to GENERATING immediately so the bar morphs without waiting on
|
|
@@ -6693,6 +7009,7 @@
|
|
|
6693
7009
|
const elForCapture = selectedElement;
|
|
6694
7010
|
pickedAnchorSnapshot = buildPickedAnchorSnapshot(elForCapture);
|
|
6695
7011
|
const captureRect = elForCapture.getBoundingClientRect();
|
|
7012
|
+
pickedAnchorViewportTop = captureRect.top;
|
|
6696
7013
|
const snapshot = {
|
|
6697
7014
|
comments: annotState.comments.map(c => ({ x: c.x, y: c.y, text: c.text })),
|
|
6698
7015
|
strokes: annotState.strokes.map(s => ({ points: s.points.map(p => [p[0], p[1]]) })),
|
|
@@ -6724,7 +7041,7 @@
|
|
|
6724
7041
|
writeScrollY(window.scrollY);
|
|
6725
7042
|
if (variantObserver) variantObserver.disconnect();
|
|
6726
7043
|
variantObserver = startVariantObserver(currentSessionId);
|
|
6727
|
-
startScrollLock(currentSessionId);
|
|
7044
|
+
startScrollLock(currentSessionId, window.scrollY, pickedAnchorViewportTop);
|
|
6728
7045
|
|
|
6729
7046
|
captureAndEmit(elForCapture, basePayload, snapshot, captureRect);
|
|
6730
7047
|
}
|
|
@@ -6755,16 +7072,23 @@
|
|
|
6755
7072
|
|
|
6756
7073
|
stopVoice({ suppressSubmit: true });
|
|
6757
7074
|
pendingAcceptedSession = null;
|
|
7075
|
+
// A new session supersedes any accept still awaiting its result; a late
|
|
7076
|
+
// failure toast for the previous session would only mislead here.
|
|
7077
|
+
awaitingAcceptResult = null;
|
|
6758
7078
|
currentSessionId = id8();
|
|
6759
7079
|
expectedVariants = selectedCount;
|
|
6760
7080
|
arrivedVariants = 0;
|
|
6761
7081
|
visibleVariant = 0;
|
|
7082
|
+
generationPhase = 'queued';
|
|
7083
|
+
parameterGenerationState = 'pending';
|
|
7084
|
+
parameterReadyAnnouncedSession = null;
|
|
6762
7085
|
resetSessionFileMeta();
|
|
6763
7086
|
selectedElement = placeholderElement;
|
|
6764
7087
|
insertPlaceholderSnapshot = buildInsertPlaceholderSnapshotFromDom(insertAnchorElement, placeholderElement);
|
|
6765
7088
|
|
|
6766
7089
|
const elForCapture = placeholderElement;
|
|
6767
7090
|
const captureRect = elForCapture.getBoundingClientRect();
|
|
7091
|
+
pickedAnchorViewportTop = captureRect.top;
|
|
6768
7092
|
const basePayload = {
|
|
6769
7093
|
type: 'generate',
|
|
6770
7094
|
mode: 'insert',
|
|
@@ -6795,7 +7119,7 @@
|
|
|
6795
7119
|
writeScrollY(window.scrollY);
|
|
6796
7120
|
if (variantObserver) variantObserver.disconnect();
|
|
6797
7121
|
variantObserver = startVariantObserver(currentSessionId);
|
|
6798
|
-
startScrollLock(currentSessionId);
|
|
7122
|
+
startScrollLock(currentSessionId, window.scrollY, pickedAnchorViewportTop);
|
|
6799
7123
|
captureAndEmit(elForCapture, basePayload, snapshot, captureRect);
|
|
6800
7124
|
}
|
|
6801
7125
|
|
|
@@ -6975,9 +7299,9 @@
|
|
|
6975
7299
|
// preview mounts are covered by the same shader regression checks.
|
|
6976
7300
|
const adapter = String(window.__IMPECCABLE_LIVE_ADAPTER__ || '').toLowerCase();
|
|
6977
7301
|
if (adapter === 'svelte' || adapter === 'sveltekit') return true;
|
|
6978
|
-
if (currentPreviewMode
|
|
7302
|
+
if (isFrameworkComponentPreviewMode(currentPreviewMode) || svelteComponentSession) return true;
|
|
6979
7303
|
const wrapper = el?.closest?.('[data-impeccable-variants]');
|
|
6980
|
-
return wrapper?.dataset?.impeccablePreview
|
|
7304
|
+
return isFrameworkComponentPreviewMode(wrapper?.dataset?.impeccablePreview);
|
|
6981
7305
|
}
|
|
6982
7306
|
|
|
6983
7307
|
function paintsShaderProxySurface(node) {
|
|
@@ -7105,6 +7429,17 @@
|
|
|
7105
7429
|
}
|
|
7106
7430
|
|
|
7107
7431
|
async function captureAndEmit(el, basePayload, snapshot, rect) {
|
|
7432
|
+
const hasAnnotations = snapshot && (snapshot.comments.length > 0 || snapshot.strokes.length > 0);
|
|
7433
|
+
|
|
7434
|
+
// Plain requests do not send a screenshot to the agent, so capture is
|
|
7435
|
+
// presentation-only. Wait only for the helper to accept the event before
|
|
7436
|
+
// starting CPU-heavy capture; this yields the browser task and prevents
|
|
7437
|
+
// rasterization from delaying the fetch itself.
|
|
7438
|
+
if (!hasAnnotations) {
|
|
7439
|
+
basePayload.clientSentAt = Date.now();
|
|
7440
|
+
await sendEvent(basePayload);
|
|
7441
|
+
}
|
|
7442
|
+
|
|
7108
7443
|
let screenshotPath;
|
|
7109
7444
|
let blob;
|
|
7110
7445
|
let paper;
|
|
@@ -7122,7 +7457,6 @@
|
|
|
7122
7457
|
// are present. Without annotations the image is pure visual anchoring -
|
|
7123
7458
|
// it biases the model toward the current rendering and works against the
|
|
7124
7459
|
// three-distinct-directions brief.
|
|
7125
|
-
const hasAnnotations = snapshot && (snapshot.comments.length > 0 || snapshot.strokes.length > 0);
|
|
7126
7460
|
if (blob && hasAnnotations) {
|
|
7127
7461
|
try {
|
|
7128
7462
|
const uploadRes = await fetch(
|
|
@@ -7140,7 +7474,12 @@
|
|
|
7140
7474
|
console.warn('[impeccable] annotation upload failed:', err);
|
|
7141
7475
|
}
|
|
7142
7476
|
}
|
|
7143
|
-
|
|
7477
|
+
// Annotated requests must wait for capture + upload because the screenshot
|
|
7478
|
+
// is semantic input. Plain requests were already dispatched above.
|
|
7479
|
+
if (hasAnnotations) {
|
|
7480
|
+
basePayload.clientSentAt = Date.now();
|
|
7481
|
+
sendEvent(screenshotPath ? { ...basePayload, screenshotPath } : basePayload);
|
|
7482
|
+
}
|
|
7144
7483
|
}
|
|
7145
7484
|
|
|
7146
7485
|
//
|
|
@@ -7520,7 +7859,6 @@ void main() {
|
|
|
7520
7859
|
if (variantSelectionPromise) {
|
|
7521
7860
|
try { await variantSelectionPromise; } catch { /* failed selection falls back below */ }
|
|
7522
7861
|
}
|
|
7523
|
-
if (!currentSessionId || arrivedVariants === 0) return;
|
|
7524
7862
|
const domVisibleVariant = readVisibleVariantFromDOM(currentSessionId);
|
|
7525
7863
|
if (domVisibleVariant > 0) visibleVariant = domVisibleVariant;
|
|
7526
7864
|
const acceptPayload = {
|
|
@@ -7528,7 +7866,9 @@ void main() {
|
|
|
7528
7866
|
id: currentSessionId,
|
|
7529
7867
|
variantId: String(visibleVariant),
|
|
7530
7868
|
pageUrl: location.pathname,
|
|
7869
|
+
clientSentAt: Date.now(),
|
|
7531
7870
|
};
|
|
7871
|
+
if (!currentSessionId || arrivedVariants === 0) return;
|
|
7532
7872
|
const acceptWrapper = document.querySelector('[data-impeccable-variants="' + currentSessionId + '"]');
|
|
7533
7873
|
if (Object.keys(paramsCurrentValues).length > 0) {
|
|
7534
7874
|
acceptPayload.paramValues = { ...paramsCurrentValues };
|
|
@@ -7542,7 +7882,7 @@ void main() {
|
|
|
7542
7882
|
const acceptedSessionId = currentSessionId;
|
|
7543
7883
|
const acceptedVariant = visibleVariant;
|
|
7544
7884
|
const acceptedIsSvelteComponent = svelteComponentSession?.sessionId === acceptedSessionId
|
|
7545
|
-
|| acceptWrapper?.dataset?.impeccablePreview
|
|
7885
|
+
|| isFrameworkComponentPreviewMode(acceptWrapper?.dataset?.impeccablePreview);
|
|
7546
7886
|
const acceptedSnapshot = snapshotAcceptedVariantDom(acceptedSessionId, acceptedVariant);
|
|
7547
7887
|
|
|
7548
7888
|
setLiveState('SAVING');
|
|
@@ -7557,7 +7897,18 @@ void main() {
|
|
|
7557
7897
|
saveSession();
|
|
7558
7898
|
|
|
7559
7899
|
sendEvent(acceptPayload, { throwOnError: true })
|
|
7560
|
-
.then(() => {
|
|
7900
|
+
.then(() => {
|
|
7901
|
+
const pending = pendingAcceptedSession;
|
|
7902
|
+
if (!pending || pending.id !== acceptedSessionId) return;
|
|
7903
|
+
// POST /events returns only after the accept intent is durable and the
|
|
7904
|
+
// generation epoch is fenced. Source promotion/carbonize can finish in
|
|
7905
|
+
// the background; the foreground picker is free immediately.
|
|
7906
|
+
markSessionHandled();
|
|
7907
|
+
setLiveState('CONFIRMED');
|
|
7908
|
+
document.documentElement.dataset.impeccableAcceptToPickingMs = String(Date.now() - acceptPayload.clientSentAt);
|
|
7909
|
+
awaitingAcceptResult = { id: acceptedSessionId };
|
|
7910
|
+
scheduleAcceptCleanup(pending);
|
|
7911
|
+
})
|
|
7561
7912
|
.catch(() => {
|
|
7562
7913
|
if (pendingAcceptedSession?.id === acceptedSessionId) pendingAcceptedSession = null;
|
|
7563
7914
|
setLiveState('CYCLING');
|
|
@@ -7586,17 +7937,26 @@ void main() {
|
|
|
7586
7937
|
}
|
|
7587
7938
|
|
|
7588
7939
|
function scheduleAcceptCleanup(accepted) {
|
|
7589
|
-
|
|
7590
|
-
if (
|
|
7591
|
-
|
|
7592
|
-
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7596
|
-
|
|
7940
|
+
queueMicrotask(function() {
|
|
7941
|
+
if (pendingAcceptedSession?.id !== accepted?.id) return;
|
|
7942
|
+
// Svelte previews live in an adapter-owned mount rather than in source
|
|
7943
|
+
// wrapper markup. Promote the mounted variant before releasing the
|
|
7944
|
+
// session so the old adapter instance cannot linger behind the next
|
|
7945
|
+
// Pick → Go loop while carbonize finishes in the background.
|
|
7946
|
+
if (accepted?.isSvelteComponent) {
|
|
7947
|
+
commitAcceptedSvelteComponentToDom(accepted.id);
|
|
7597
7948
|
}
|
|
7598
7949
|
cleanupAcceptedSession();
|
|
7599
|
-
}
|
|
7950
|
+
});
|
|
7951
|
+
// Let React/Vue/Svelte own the HMR reconciliation. Mutating their DOM in
|
|
7952
|
+
// the same turn as the source update causes removeChild/NotFoundError
|
|
7953
|
+
// races. Static servers still need a fallback, but it must not keep Live
|
|
7954
|
+
// in SAVING or block the user's next pick.
|
|
7955
|
+
if (!accepted?.isSvelteComponent) {
|
|
7956
|
+
setTimeout(function() {
|
|
7957
|
+
if (!acceptedDomAlreadyClean(accepted)) ensureAcceptedDomClean(accepted);
|
|
7958
|
+
}, 1200);
|
|
7959
|
+
}
|
|
7600
7960
|
}
|
|
7601
7961
|
|
|
7602
7962
|
function snapshotAcceptedVariantDom(sessionId, variantId) {
|
|
@@ -7700,7 +8060,11 @@ void main() {
|
|
|
7700
8060
|
clearSession();
|
|
7701
8061
|
resetSessionFileMeta();
|
|
7702
8062
|
selectedElement = null;
|
|
8063
|
+
hoveredElement = null;
|
|
8064
|
+
pagePickSkipClick = false;
|
|
7703
8065
|
currentSessionId = null;
|
|
8066
|
+
parameterGenerationState = 'idle';
|
|
8067
|
+
parameterReadyAnnouncedSession = null;
|
|
7704
8068
|
selectedAction = 'impeccable';
|
|
7705
8069
|
pendingAcceptedSession = null;
|
|
7706
8070
|
renderEditBadge('hidden');
|
|
@@ -7735,7 +8099,7 @@ void main() {
|
|
|
7735
8099
|
sendEvent({ type: 'discard', id: currentSessionId }, { throwOnError: true })
|
|
7736
8100
|
.then(() => {
|
|
7737
8101
|
markSessionHandled();
|
|
7738
|
-
cleanup();
|
|
8102
|
+
cleanup({ restoreOriginal: true, instantChrome: true });
|
|
7739
8103
|
})
|
|
7740
8104
|
.catch(() => showToast('Could not confirm discard with the live server. Session kept for recovery.', 5000));
|
|
7741
8105
|
}
|
|
@@ -7757,6 +8121,7 @@ void main() {
|
|
|
7757
8121
|
currentPreviewMode = null;
|
|
7758
8122
|
recoveryWaitingForAnchor = false;
|
|
7759
8123
|
pickedAnchorSnapshot = null;
|
|
8124
|
+
pickedAnchorViewportTop = null;
|
|
7760
8125
|
}
|
|
7761
8126
|
|
|
7762
8127
|
function rememberSessionFileMeta(meta = {}) {
|
|
@@ -7765,8 +8130,8 @@ void main() {
|
|
|
7765
8130
|
const previewFile = normalizeSessionPath(meta.previewFile);
|
|
7766
8131
|
const previewMode = meta.previewMode || (isSvelteComponentManifestPath(previewFile || file) ? 'svelte-component' : null);
|
|
7767
8132
|
|
|
7768
|
-
if (previewMode
|
|
7769
|
-
currentPreviewMode = 'svelte-component';
|
|
8133
|
+
if (isFrameworkComponentPreviewMode(previewMode) || isSvelteComponentManifestPath(file)) {
|
|
8134
|
+
currentPreviewMode = isFrameworkComponentPreviewMode(previewMode) ? previewMode : 'svelte-component';
|
|
7770
8135
|
currentPreviewFile = previewFile || (isSvelteComponentManifestPath(file) ? file : currentPreviewFile);
|
|
7771
8136
|
currentSourceFile = sourceFile || currentSourceFile;
|
|
7772
8137
|
return;
|
|
@@ -7782,12 +8147,15 @@ void main() {
|
|
|
7782
8147
|
rememberSessionFileMeta(saved);
|
|
7783
8148
|
if (saved.insertPlaceholder) insertPlaceholderSnapshot = saved.insertPlaceholder;
|
|
7784
8149
|
if (saved.pickedAnchor) pickedAnchorSnapshot = saved.pickedAnchor;
|
|
8150
|
+
if (Number.isFinite(saved.pickedAnchorViewportTop)) pickedAnchorViewportTop = saved.pickedAnchorViewportTop;
|
|
7785
8151
|
if (saved.action) selectedAction = saved.action;
|
|
7786
8152
|
if (saved.count) selectedCount = saved.count;
|
|
7787
8153
|
if (saved.previewMode) currentPreviewMode = saved.previewMode;
|
|
7788
8154
|
if (saved.paramValues && typeof saved.paramValues === 'object') {
|
|
7789
8155
|
paramsCurrentValues = { ...saved.paramValues };
|
|
7790
8156
|
}
|
|
8157
|
+
if (saved.parameterState) parameterGenerationState = saved.parameterState;
|
|
8158
|
+
if (saved.generationPhase) generationPhase = saved.generationPhase;
|
|
7791
8159
|
}
|
|
7792
8160
|
|
|
7793
8161
|
function normalizePagePath(value) {
|
|
@@ -7859,7 +8227,7 @@ void main() {
|
|
|
7859
8227
|
saveSession();
|
|
7860
8228
|
queueCheckpoint(reason || 'browser_restore_without_wrapper');
|
|
7861
8229
|
|
|
7862
|
-
const restoreFile = currentPreviewMode
|
|
8230
|
+
const restoreFile = isFrameworkComponentPreviewMode(currentPreviewMode)
|
|
7863
8231
|
? currentPreviewFile
|
|
7864
8232
|
: (currentSourceFile || currentPreviewFile);
|
|
7865
8233
|
if (restoreFile) {
|
|
@@ -7872,11 +8240,41 @@ void main() {
|
|
|
7872
8240
|
|
|
7873
8241
|
function restoreFromActiveSessions(activeSessions, reason) {
|
|
7874
8242
|
const wrapper = document.querySelector('[data-impeccable-variants]');
|
|
7875
|
-
if (wrapper && wrapper.dataset.impeccablePreview
|
|
8243
|
+
if (wrapper && !isFrameworkComponentPreviewMode(wrapper.dataset.impeccablePreview)) return false;
|
|
7876
8244
|
if (svelteComponentSession?.sessionId === currentSessionId) return false;
|
|
7877
8245
|
return restoreSessionWithoutWrapper(reason || 'sse_connected', activeSessions);
|
|
7878
8246
|
}
|
|
7879
8247
|
|
|
8248
|
+
// Self-heal on SSE (re)connect. The preflight scaffold write triggers a
|
|
8249
|
+
// framework full-reload (Astro reloads pages for any .astro edit); if the
|
|
8250
|
+
// agent's variant write + `done` broadcast land while this page is
|
|
8251
|
+
// mid-reload, both the done SSE and the second HMR reload are missed and
|
|
8252
|
+
// the resumed page would wait in GENERATING at 0/N forever. The server's
|
|
8253
|
+
// session summary carries the durable generationCompletedAt marker, so on
|
|
8254
|
+
// every connect compare it against our own progress and pull the finished
|
|
8255
|
+
// variants from source when behind. Mirrors the `done` handler's source
|
|
8256
|
+
// fallback, including its give-HMR-the-first-chance settle delay.
|
|
8257
|
+
function recoverMissedGenerationCompletion(activeSessions) {
|
|
8258
|
+
if (!currentSessionId || state !== 'GENERATING') return;
|
|
8259
|
+
if (!Array.isArray(activeSessions)) return;
|
|
8260
|
+
const summary = activeSessions.find((session) => session?.id === currentSessionId);
|
|
8261
|
+
if (!summary?.generationCompletedAt || summary.generationCanceled) return;
|
|
8262
|
+
if (isTerminalSessionSummary(summary)) return;
|
|
8263
|
+
if (arrivedVariants > 0 && arrivedVariants >= expectedVariants) return;
|
|
8264
|
+
rememberSessionFileMeta(summary);
|
|
8265
|
+
const sessionId = currentSessionId;
|
|
8266
|
+
const file = isFrameworkComponentPreviewMode(currentPreviewMode)
|
|
8267
|
+
? currentPreviewFile
|
|
8268
|
+
: (summary.sourceFile || summary.previewFile || currentSourceFile || currentPreviewFile);
|
|
8269
|
+
if (!file) return;
|
|
8270
|
+
console.log('[impeccable] Reconnected after generation completed; recovering variants from source.');
|
|
8271
|
+
setTimeout(() => {
|
|
8272
|
+
if (sessionId !== currentSessionId || state !== 'GENERATING') return;
|
|
8273
|
+
if (arrivedVariants > 0 && arrivedVariants >= expectedVariants) return;
|
|
8274
|
+
injectVariantsFromSource(file, sessionId, { generationCompleted: true });
|
|
8275
|
+
}, 750);
|
|
8276
|
+
}
|
|
8277
|
+
|
|
7880
8278
|
function saveSession() {
|
|
7881
8279
|
if (!currentSessionId) return;
|
|
7882
8280
|
// NOTE: scrollY is stored under a separate key (writeScrollY). Storing
|
|
@@ -7894,8 +8292,12 @@ void main() {
|
|
|
7894
8292
|
previewMode: currentPreviewMode || undefined,
|
|
7895
8293
|
pageUrl: location.pathname,
|
|
7896
8294
|
paramValues: { ...paramsCurrentValues },
|
|
8295
|
+
parameterState: parameterGenerationState,
|
|
7897
8296
|
insertPlaceholder: insertPlaceholderSnapshot || undefined,
|
|
7898
8297
|
pickedAnchor: pickedAnchorSnapshot || undefined,
|
|
8298
|
+
pickedAnchorViewportTop: Number.isFinite(pickedAnchorViewportTop) ? pickedAnchorViewportTop : undefined,
|
|
8299
|
+
pageHash: location.hash || undefined,
|
|
8300
|
+
pageSearch: location.search || undefined,
|
|
7899
8301
|
});
|
|
7900
8302
|
}
|
|
7901
8303
|
|
|
@@ -7923,20 +8325,26 @@ void main() {
|
|
|
7923
8325
|
sessionState.clearHandled();
|
|
7924
8326
|
}
|
|
7925
8327
|
|
|
7926
|
-
function cleanup() {
|
|
8328
|
+
function cleanup(options) {
|
|
8329
|
+
const restoreOriginal = options?.restoreOriginal === true;
|
|
8330
|
+
const instantChrome = options?.instantChrome === true;
|
|
7927
8331
|
const cleanupSessionId = currentSessionId;
|
|
7928
8332
|
if (svelteComponentSession?.sessionId === cleanupSessionId) {
|
|
7929
8333
|
teardownSvelteComponentSession(true);
|
|
7930
8334
|
} else if (cleanupSessionId) {
|
|
7931
|
-
//
|
|
7932
|
-
//
|
|
8335
|
+
// Switch visibility immediately without structurally mutating the DOM.
|
|
8336
|
+
// HMR from the agent's source rewrite may still be on its way,
|
|
7933
8337
|
// and a manual replaceChild under React causes NotFoundError when the
|
|
7934
8338
|
// reconciler later tries to remove a wrapper we already removed.
|
|
7935
8339
|
// Schedule a 2s fallback that does the manual swap only if HMR hasn't
|
|
7936
8340
|
// replaced the wrapper by then (keeps static-server / no-HMR flows alive).
|
|
7937
8341
|
const wrapper = document.querySelector('[data-impeccable-variants="' + cleanupSessionId + '"]');
|
|
7938
|
-
if (wrapper)
|
|
8342
|
+
if (wrapper) {
|
|
8343
|
+
if (restoreOriginal) showOriginalDuringDiscard(cleanupSessionId);
|
|
8344
|
+
else wrapper.style.display = 'none';
|
|
8345
|
+
}
|
|
7939
8346
|
setTimeout(function() {
|
|
8347
|
+
document.getElementById(DISCARD_STATE_STYLE_ID)?.remove();
|
|
7940
8348
|
if (!cleanupSessionId) return;
|
|
7941
8349
|
const lateWrapper = document.querySelector('[data-impeccable-variants="' + cleanupSessionId + '"]');
|
|
7942
8350
|
if (!lateWrapper) return;
|
|
@@ -7951,7 +8359,7 @@ void main() {
|
|
|
7951
8359
|
lateWrapper.remove();
|
|
7952
8360
|
}, 2000);
|
|
7953
8361
|
}
|
|
7954
|
-
hideBar();
|
|
8362
|
+
hideBar(instantChrome);
|
|
7955
8363
|
hideHighlight();
|
|
7956
8364
|
stopScrollTracking();
|
|
7957
8365
|
if (variantObserver) { variantObserver.disconnect(); variantObserver = null; }
|
|
@@ -7963,7 +8371,11 @@ void main() {
|
|
|
7963
8371
|
clearSession();
|
|
7964
8372
|
resetSessionFileMeta();
|
|
7965
8373
|
selectedElement = null;
|
|
8374
|
+
hoveredElement = null;
|
|
8375
|
+
pagePickSkipClick = false;
|
|
7966
8376
|
currentSessionId = null;
|
|
8377
|
+
parameterGenerationState = 'idle';
|
|
8378
|
+
parameterReadyAnnouncedSession = null;
|
|
7967
8379
|
selectedAction = 'impeccable';
|
|
7968
8380
|
renderEditBadge('hidden');
|
|
7969
8381
|
setLiveState('PICKING');
|
|
@@ -8047,7 +8459,7 @@ void main() {
|
|
|
8047
8459
|
// would strand the bar in CYCLING at 0/0. If there's no live in-memory mount
|
|
8048
8460
|
// for this wrapper, it's an orphan (reload / failed mount): drop it and let
|
|
8049
8461
|
// the live-server's SSE re-inject the manifest if the session is still live.
|
|
8050
|
-
if (wrapper.dataset.impeccablePreview
|
|
8462
|
+
if (isFrameworkComponentPreviewMode(wrapper.dataset.impeccablePreview)
|
|
8051
8463
|
&& svelteComponentSession?.sessionId !== sessionId) {
|
|
8052
8464
|
wrapper.remove();
|
|
8053
8465
|
if (restoreSessionWithoutWrapper('browser_resumed_svelte_orphan_wrapper')) return true;
|
|
@@ -8056,7 +8468,7 @@ void main() {
|
|
|
8056
8468
|
return false;
|
|
8057
8469
|
}
|
|
8058
8470
|
|
|
8059
|
-
if (wrapper.dataset.impeccablePreview
|
|
8471
|
+
if (isFrameworkComponentPreviewMode(wrapper.dataset.impeccablePreview)) {
|
|
8060
8472
|
if (!svelteComponentSession?.mountedVariant) {
|
|
8061
8473
|
return true;
|
|
8062
8474
|
}
|
|
@@ -8104,7 +8516,7 @@ void main() {
|
|
|
8104
8516
|
insertPlaceholderSnapshot = saved.insertPlaceholder;
|
|
8105
8517
|
}
|
|
8106
8518
|
|
|
8107
|
-
const resumedState = arrivedVariants
|
|
8519
|
+
const resumedState = arrivedVariants > 0 ? 'CYCLING' : 'GENERATING';
|
|
8108
8520
|
|
|
8109
8521
|
// Find the visible variant's content element for highlight positioning.
|
|
8110
8522
|
const isInsert = wrapper.dataset.impeccableMode === 'insert';
|
|
@@ -8128,7 +8540,11 @@ void main() {
|
|
|
8128
8540
|
// hid. Now that state is CYCLING, re-fire.
|
|
8129
8541
|
if (state === 'CYCLING') refreshParamsPanel();
|
|
8130
8542
|
saveSession();
|
|
8131
|
-
|
|
8543
|
+
if (arrivedVariants > 0 && arrivedVariants < expectedVariants) {
|
|
8544
|
+
sendCheckpoint('variants_progress');
|
|
8545
|
+
} else {
|
|
8546
|
+
queueCheckpoint('browser_resumed');
|
|
8547
|
+
}
|
|
8132
8548
|
|
|
8133
8549
|
// Start observing for more variants AFTER initial setup
|
|
8134
8550
|
if (variantObserver) variantObserver.disconnect();
|
|
@@ -8136,7 +8552,7 @@ void main() {
|
|
|
8136
8552
|
|
|
8137
8553
|
// Hold the target at its saved viewport top through any subsequent
|
|
8138
8554
|
// HMR patches, variant inserts, or cycle swaps.
|
|
8139
|
-
startScrollLock(currentSessionId, readScrollY());
|
|
8555
|
+
startScrollLock(currentSessionId, readScrollY(), pickedAnchorViewportTop);
|
|
8140
8556
|
|
|
8141
8557
|
// If we reloaded mid-generation (Bun's HTML HMR destroys the shader
|
|
8142
8558
|
// canvas), re-capture the original's content and restart the shader so
|
|
@@ -8171,6 +8587,7 @@ void main() {
|
|
|
8171
8587
|
let globalBarBrandEl = null;
|
|
8172
8588
|
let agentPollTooltipEl = null;
|
|
8173
8589
|
let agentPollingConnected = false;
|
|
8590
|
+
let agentStatusMessage = null;
|
|
8174
8591
|
let agentStatusPollTimer = null;
|
|
8175
8592
|
let steerFocusSuspended = false;
|
|
8176
8593
|
let steerFocusPauseUntil = 0;
|
|
@@ -8275,6 +8692,13 @@ void main() {
|
|
|
8275
8692
|
const AGENT_STATUS_POLL_MS = 5000;
|
|
8276
8693
|
const AGENT_DISCONNECTED_MARK = 'oklch(62% 0 0 / 0.78)';
|
|
8277
8694
|
const AGENT_DISCONNECTED_TIP = 'Agent disconnected - run live-poll.mjs to connect';
|
|
8695
|
+
// The indicator tracks whether a poll is parked, which is what decides if
|
|
8696
|
+
// steering can reach the agent right now. That goes quiet two ways, and they
|
|
8697
|
+
// need different copy: nobody is polling at all, or the agent took the work
|
|
8698
|
+
// and is busy with it. Under one-shot foreground polling the second case is
|
|
8699
|
+
// every normal generation, and telling the user to start a poll loop then is
|
|
8700
|
+
// wrong advice about a healthy session.
|
|
8701
|
+
const AGENT_BUSY_TIP = 'Agent is working - steering resumes when it finishes';
|
|
8278
8702
|
const GLOBAL_BAR_SECTION_GAP = 8;
|
|
8279
8703
|
const GLOBAL_BAR_INNER_GAP = 2;
|
|
8280
8704
|
const GLOBAL_BAR_INNER_PAD_LEFT = 2;
|
|
@@ -8678,9 +9102,9 @@ void main() {
|
|
|
8678
9102
|
function buildSteerProcessingDots() {
|
|
8679
9103
|
const P = pageChatPalette();
|
|
8680
9104
|
const wrap = el('span', {
|
|
8681
|
-
display: 'inline-flex', alignItems: 'center', justifyContent: '
|
|
8682
|
-
gap: '5px', flex: '
|
|
8683
|
-
padding: '0 12px 0
|
|
9105
|
+
display: 'inline-flex', alignItems: 'center', justifyContent: 'flex-end',
|
|
9106
|
+
gap: '5px', flex: '0 0 auto', minWidth: '0', marginLeft: 'auto',
|
|
9107
|
+
padding: '0 12px 0 8px',
|
|
8684
9108
|
pointerEvents: 'none',
|
|
8685
9109
|
});
|
|
8686
9110
|
wrap.setAttribute('aria-hidden', 'true');
|
|
@@ -8848,14 +9272,13 @@ void main() {
|
|
|
8848
9272
|
function isEmbeddedPreviewBrowser() {
|
|
8849
9273
|
const ua = navigator.userAgent || '';
|
|
8850
9274
|
if (/Electron/i.test(ua)) return true;
|
|
8851
|
-
if (/Cursor/i.test(ua)) return true;
|
|
8852
9275
|
try {
|
|
8853
|
-
return !!
|
|
9276
|
+
return !!window.__GLASS_BROWSER__;
|
|
8854
9277
|
} catch { return false; }
|
|
8855
9278
|
}
|
|
8856
9279
|
|
|
8857
9280
|
function steerVoiceUnavailableMessage() {
|
|
8858
|
-
return 'Voice input works in Chrome or Safari.
|
|
9281
|
+
return 'Voice input works in Chrome or Safari. This embedded preview browser cannot reach speech services.';
|
|
8859
9282
|
}
|
|
8860
9283
|
|
|
8861
9284
|
function steerVoiceErrorMessage(code) {
|
|
@@ -9295,24 +9718,46 @@ void main() {
|
|
|
9295
9718
|
</svg>`;
|
|
9296
9719
|
}
|
|
9297
9720
|
|
|
9721
|
+
/**
|
|
9722
|
+
* True while the browser is waiting on work it already handed to the agent.
|
|
9723
|
+
* In these states a quiet poll indicator means "busy", not "absent".
|
|
9724
|
+
*/
|
|
9725
|
+
function agentHasWorkInFlight() {
|
|
9726
|
+
return state === 'GENERATING' || state === 'SAVING';
|
|
9727
|
+
}
|
|
9728
|
+
|
|
9729
|
+
/**
|
|
9730
|
+
* Derived at read time, not cached: which of the two reasons applies depends on
|
|
9731
|
+
* the live state, which moves between the 5s status polls. The truthiness is
|
|
9732
|
+
* the same either way, so the indicator's visuals can stay driven by the
|
|
9733
|
+
* cached value while the wording stays current.
|
|
9734
|
+
*/
|
|
9735
|
+
function agentStatusText() {
|
|
9736
|
+
if (agentPollingConnected) return null;
|
|
9737
|
+
return agentHasWorkInFlight() ? AGENT_BUSY_TIP : AGENT_DISCONNECTED_TIP;
|
|
9738
|
+
}
|
|
9739
|
+
|
|
9298
9740
|
function syncAgentPollingUi(connected) {
|
|
9299
9741
|
agentPollingConnected = !!connected;
|
|
9300
9742
|
if (!globalBarBrandEl) return;
|
|
9301
9743
|
const P = barPaletteForTheme(globalBarEl?.dataset.theme || detectPageTheme());
|
|
9744
|
+
agentStatusMessage = agentStatusText();
|
|
9302
9745
|
globalBarBrandEl.dataset.agentConnected = connected ? 'true' : 'false';
|
|
9303
|
-
|
|
9304
|
-
|
|
9305
|
-
|
|
9746
|
+
// The tooltip is mouse-only, so carry the same distinction in the label or
|
|
9747
|
+
// screen-reader users are left with the vaguer of the two readings.
|
|
9748
|
+
globalBarBrandEl.setAttribute('aria-label', agentStatusMessage
|
|
9749
|
+
? 'Impeccable live mode - ' + (agentHasWorkInFlight() ? 'agent is working' : 'agent not polling')
|
|
9750
|
+
: 'Impeccable live mode');
|
|
9306
9751
|
globalBarBrandEl.removeAttribute('title');
|
|
9307
|
-
globalBarBrandEl.style.cursor =
|
|
9752
|
+
globalBarBrandEl.style.cursor = agentStatusMessage ? 'help' : 'default';
|
|
9308
9753
|
const mark = globalBarBrandEl.querySelector('[data-brand-mark]');
|
|
9309
9754
|
if (mark) {
|
|
9310
9755
|
mark.innerHTML = brandMarkSvg(connected ? P.accent : AGENT_DISCONNECTED_MARK, 18);
|
|
9311
9756
|
mark.style.opacity = '1';
|
|
9312
9757
|
}
|
|
9313
9758
|
const dot = globalBarBrandEl.querySelector('[data-agent-dot]');
|
|
9314
|
-
if (dot) dot.style.display =
|
|
9315
|
-
if (
|
|
9759
|
+
if (dot) dot.style.display = agentStatusMessage ? 'block' : 'none';
|
|
9760
|
+
if (!agentStatusMessage) hideAgentPollTooltip();
|
|
9316
9761
|
}
|
|
9317
9762
|
|
|
9318
9763
|
function ensureAgentPollTooltip() {
|
|
@@ -9339,14 +9784,17 @@ void main() {
|
|
|
9339
9784
|
whiteSpace: 'normal',
|
|
9340
9785
|
});
|
|
9341
9786
|
agentPollTooltipEl.id = PREFIX + '-agent-poll-tooltip';
|
|
9342
|
-
agentPollTooltipEl.textContent = AGENT_DISCONNECTED_TIP;
|
|
9787
|
+
agentPollTooltipEl.textContent = agentStatusText() || AGENT_DISCONNECTED_TIP;
|
|
9343
9788
|
uiAppend(agentPollTooltipEl);
|
|
9344
9789
|
return agentPollTooltipEl;
|
|
9345
9790
|
}
|
|
9346
9791
|
|
|
9347
9792
|
function showAgentPollTooltip(anchor) {
|
|
9348
|
-
if (
|
|
9793
|
+
if (!agentStatusMessage || !anchor) return;
|
|
9349
9794
|
const tip = ensureAgentPollTooltip();
|
|
9795
|
+
// Re-derive rather than reuse the cached copy: the live state may have moved
|
|
9796
|
+
// since the last status poll set it.
|
|
9797
|
+
tip.textContent = agentStatusText() || AGENT_DISCONNECTED_TIP;
|
|
9350
9798
|
tip.style.transition = 'none';
|
|
9351
9799
|
tip.style.display = 'block';
|
|
9352
9800
|
tip.style.opacity = '1';
|
|
@@ -9376,7 +9824,9 @@ void main() {
|
|
|
9376
9824
|
fetch('http://localhost:' + PORT + '/status?token=' + TOKEN, { cache: 'no-store' })
|
|
9377
9825
|
.then((res) => (res.ok ? res.json() : null))
|
|
9378
9826
|
.then((data) => {
|
|
9379
|
-
if (data && typeof data.agentPolling === 'boolean')
|
|
9827
|
+
if (data && typeof data.agentPolling === 'boolean') {
|
|
9828
|
+
syncAgentPollingUi(data.agentPolling);
|
|
9829
|
+
}
|
|
9380
9830
|
})
|
|
9381
9831
|
.catch(() => { /* server loss handled elsewhere */ });
|
|
9382
9832
|
}
|