@bastani/atomic 0.9.10 → 0.9.11-alpha.10
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 +255 -0
- package/README.md +15 -10
- package/dist/builtin/intercom/CHANGELOG.md +6 -0
- package/dist/builtin/intercom/package.json +4 -4
- package/dist/builtin/mcp/CHANGELOG.md +18 -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 +40 -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/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 +38 -18
- 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/package.json +2 -2
- package/dist/builtin/workflows/CHANGELOG.md +127 -0
- package/dist/builtin/workflows/README.md +83 -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-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 +72 -116
- package/dist/builtin/workflows/builtin/goal.ts +12 -11
- 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 +61 -57
- package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +41 -45
- 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 +83 -108
- package/dist/builtin/workflows/builtin/ralph.ts +6 -5
- 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 +512 -385
- 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 +419 -189
- package/dist/builtin/workflows/src/durable/completed-inspection.ts +118 -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 +172 -0
- package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +183 -137
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +415 -189
- package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +128 -100
- 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 +70 -16
- 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 +50 -37
- 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 +27 -25
- package/dist/builtin/workflows/src/durable/resume-runtime.ts +261 -222
- 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 +642 -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 +680 -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 +135 -107
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +414 -409
- package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +270 -261
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +74625 -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 +386 -369
- package/dist/builtin/workflows/src/extension/mcp.ts +35 -35
- package/dist/builtin/workflows/src/extension/postmortem-deps.ts +31 -35
- package/dist/builtin/workflows/src/extension/public-types.ts +162 -185
- package/dist/builtin/workflows/src/extension/render-call.ts +85 -84
- package/dist/builtin/workflows/src/extension/render-component.ts +9 -11
- package/dist/builtin/workflows/src/extension/render-result.ts +453 -348
- 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 +146 -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 +257 -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 -199
- 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 -17
- 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 +48 -45
- package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +28 -31
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +539 -453
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +149 -91
- package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +182 -194
- package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +154 -116
- package/dist/builtin/workflows/src/extension/workflow-targets.ts +159 -125
- package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +204 -216
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +520 -294
- package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +146 -150
- package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +43 -46
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +354 -206
- package/dist/builtin/workflows/src/extension/workflow-tool.ts +123 -117
- 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 +359 -138
- package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +70 -69
- package/dist/builtin/workflows/src/runs/background/run-inspect.ts +85 -74
- 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 +324 -284
- package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +24 -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 +255 -217
- 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 +375 -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 +189 -189
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +294 -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 +406 -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 +148 -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 +233 -221
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +630 -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 +102 -104
- 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 +76 -10
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +311 -219
- package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +255 -156
- 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 -207
- 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-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 +172 -168
- package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +196 -200
- package/dist/builtin/workflows/src/shared/store-public-types.ts +208 -196
- package/dist/builtin/workflows/src/shared/store-run-methods.ts +238 -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 +269 -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 +257 -217
- 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 +168 -192
- package/dist/builtin/workflows/src/tui/edge.ts +10 -9
- package/dist/builtin/workflows/src/tui/graph-canvas.ts +131 -134
- package/dist/builtin/workflows/src/tui/graph-theme.ts +139 -148
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +6 -6
- package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +146 -179
- 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 +171 -190
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +319 -287
- 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 +124 -133
- package/dist/builtin/workflows/src/tui/mouse-input.ts +45 -47
- package/dist/builtin/workflows/src/tui/node-card.ts +230 -218
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +381 -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 +243 -302
- 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 -6
- package/dist/builtin/workflows/src/tui/run-detail.ts +300 -256
- package/dist/builtin/workflows/src/tui/session-list.ts +19 -18
- package/dist/builtin/workflows/src/tui/session-overlays.ts +82 -87
- package/dist/builtin/workflows/src/tui/session-picker.ts +258 -275
- 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 +220 -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 +154 -208
- package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +174 -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 +435 -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 +125 -128
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +210 -205
- package/dist/builtin/workflows/src/tui/status-helpers.ts +65 -69
- package/dist/builtin/workflows/src/tui/status-list.ts +316 -294
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +213 -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/toast.ts +68 -67
- package/dist/builtin/workflows/src/tui/widget.ts +265 -285
- 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 +468 -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 +217 -217
- 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 +125 -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 +59 -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 +138 -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 +7 -4
- package/dist/core/agent-session-message-queue.d.ts.map +1 -1
- package/dist/core/agent-session-message-queue.js +101 -98
- package/dist/core/agent-session-message-queue.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +52 -45
- 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 +269 -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 +34 -11
- 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 +44 -63
- 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 +36 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +62 -6
- 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 +13 -3
- package/dist/core/agent-session-tree.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +28 -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 +27 -13
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +17 -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 +34 -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 +5 -0
- package/dist/core/auth-storage-backends.d.ts.map +1 -1
- package/dist/core/auth-storage-backends.js +77 -7
- 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 +68 -358
- 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/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 +3 -0
- package/dist/core/codex-errors.d.ts.map +1 -0
- package/dist/core/codex-errors.js +12 -0
- package/dist/core/codex-errors.js.map +1 -0
- 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 +24 -4
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +64 -13
- 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 +5 -8
- package/dist/core/session-manager-entries.d.ts.map +1 -1
- package/dist/core/session-manager-entries.js +4 -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 +10 -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 +3 -2
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.js +93 -17
- package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.d.ts +4 -4
- package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.js +12 -7
- package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.js +84 -15
- 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 +17 -4
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +26 -3
- 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 +8 -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 +4 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +70 -72
- 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 +4 -1
- package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.js +92 -65
- package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-autocomplete.js +24 -14
- 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 -13
- 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 +28 -17
- 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 +41 -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 +4 -0
- package/dist/modes/interactive/interactive-pause.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-pause.js +8 -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 +6 -9
- 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 +18 -3
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.js +41 -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 +44 -11
- package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js +173 -106
- 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 +17 -0
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -0
- package/dist/modes/interactive-engine/remote-model-catalog.js +80 -0
- package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -0
- 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 +17 -4
- package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-api.js +92 -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 +165 -43
- 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 +188 -25
- 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 +12 -2
- package/docs/environment-variables.md +37 -0
- package/docs/extensions.md +166 -18
- package/docs/index.md +1 -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/artificial-analysis-index.md +82 -0
- package/docs/models/model-selection.md +63 -0
- package/docs/models/pareto-efficiency.md +64 -0
- package/docs/models.md +41 -50
- package/docs/packages.md +4 -2
- package/docs/prompt-templates.md +1 -0
- package/docs/providers.md +89 -23
- package/docs/quickstart.md +21 -17
- package/docs/rpc.md +97 -68
- 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/themes.md +10 -1
- package/docs/tui.md +14 -7
- package/docs/usage.md +71 -2
- package/docs/windows.md +1 -1
- package/docs/workflows.md +1253 -534
- 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 +305 -314
- package/package.json +17 -15
- package/dist/builtin/cursor/CHANGELOG.md +0 -275
- 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/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
|
}
|