@prestyj/cli 5.16.2 → 5.19.0
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/README.md +2 -1
- package/assets/skills/refactoring/SKILL.md +64 -0
- package/assets/skills/refactoring/references/agent-pitfalls.md +43 -0
- package/assets/skills/refactoring/references/legacy.md +49 -0
- package/assets/skills/refactoring/references/smells.md +71 -0
- package/dist/app-sidecar-sessions.d.ts +0 -1
- package/dist/app-sidecar.d.ts +0 -1
- package/dist/app-sidecar.js +40 -9
- package/dist/app-sidecar.js.map +1 -1
- package/dist/chat-agents/general.d.ts +0 -1
- package/dist/chat-agents/index.d.ts +0 -1
- package/dist/chat-agents/jiwa.d.ts +0 -1
- package/dist/chat-agents/memory.d.ts +0 -1
- package/dist/chat-agents/research.d.ts +0 -1
- package/dist/chat-agents/shared.d.ts +0 -1
- package/dist/chat-agents/therapist.d.ts +0 -1
- package/dist/chat-agents/types.d.ts +0 -1
- package/dist/cli/auth.d.ts +0 -1
- package/dist/cli/command-routing.d.ts +0 -1
- package/dist/cli/mcp.d.ts +0 -1
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/pixel.d.ts +0 -1
- package/dist/cli/shared.d.ts +0 -1
- package/dist/cli.d.ts +0 -1
- package/dist/config.d.ts +0 -1
- package/dist/core/agent-notifications.d.ts +0 -1
- package/dist/core/agent-session.d.ts +45 -2
- package/dist/core/agent-session.js +521 -41
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents.d.ts +0 -1
- package/dist/core/api-benchmark.d.ts +0 -1
- package/dist/core/ask-user.d.ts +0 -1
- package/dist/core/auth/index.d.ts +0 -1
- package/dist/core/auth-providers.d.ts +0 -1
- package/dist/core/auth-storage.d.ts +0 -1
- package/dist/core/auto-update.d.ts +0 -1
- package/dist/core/autopilot-cycle.d.ts +7 -4
- package/dist/core/autopilot-cycle.js +43 -6
- package/dist/core/autopilot-cycle.js.map +1 -1
- package/dist/core/autopilot-gate.d.ts +0 -1
- package/dist/core/autopilot-gate.js.map +1 -1
- package/dist/core/autopilot-verdict.d.ts +2 -1
- package/dist/core/autopilot-verdict.js +25 -0
- package/dist/core/autopilot-verdict.js.map +1 -1
- package/dist/core/bash-spawn-benchmark.d.ts +0 -1
- package/dist/core/bundled-agents.d.ts +0 -1
- package/dist/core/cache-warm-benchmark.d.ts +0 -1
- package/dist/core/checkpoint-store.d.ts +0 -1
- package/dist/core/claude-code-version.d.ts +0 -1
- package/dist/core/code-retrieval-chunkers.d.ts +0 -1
- package/dist/core/code-retrieval.d.ts +0 -1
- package/dist/core/compaction/active-context.d.ts +0 -1
- package/dist/core/compaction/compactor.d.ts +34 -1
- package/dist/core/compaction/compactor.js +161 -2
- package/dist/core/compaction/compactor.js.map +1 -1
- package/dist/core/compaction/policy.d.ts +0 -1
- package/dist/core/compaction/query-aware-selector.d.ts +0 -1
- package/dist/core/compaction/token-estimator.d.ts +0 -1
- package/dist/core/compaction/tool-result-pruner.d.ts +0 -1
- package/dist/core/context-limits.d.ts +0 -1
- package/dist/core/custom-commands.d.ts +0 -1
- package/dist/core/encode-cwd.d.ts +0 -1
- package/dist/core/env-delta.d.ts +0 -1
- package/dist/core/event-bus.d.ts +5 -1
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +0 -1
- package/dist/core/extensions/plugin-bundles.d.ts +0 -1
- package/dist/core/extensions/types.d.ts +0 -1
- package/dist/core/fast-apply-benchmark.d.ts +0 -1
- package/dist/core/file-lock.d.ts +0 -1
- package/dist/core/foreign-session-import.d.ts +0 -1
- package/dist/core/foreign-transcript-blocks.d.ts +0 -1
- package/dist/core/goal-controller.d.ts +0 -1
- package/dist/core/goal-prerequisites.d.ts +0 -1
- package/dist/core/goal-store.d.ts +0 -1
- package/dist/core/goal-store.js.map +1 -1
- package/dist/core/goal-verifier.d.ts +0 -1
- package/dist/core/goal-verifier.js.map +1 -1
- package/dist/core/goal-worker.d.ts +0 -1
- package/dist/core/goal-worker.js.map +1 -1
- package/dist/core/hashline-edit-benchmark.d.ts +0 -1
- package/dist/core/hashline.d.ts +0 -1
- package/dist/core/ideal-review-subagent.d.ts +42 -0
- package/dist/core/ideal-review-subagent.js +95 -0
- package/dist/core/ideal-review-subagent.js.map +1 -0
- package/dist/core/ideal-review.d.ts +0 -1
- package/dist/core/ideal-review.js +18 -5
- package/dist/core/ideal-review.js.map +1 -1
- package/dist/core/index.d.ts +0 -1
- package/dist/core/internal-diagnostics.d.ts +142 -0
- package/dist/core/internal-diagnostics.js +450 -0
- package/dist/core/internal-diagnostics.js.map +1 -0
- package/dist/core/language-detector.d.ts +0 -1
- package/dist/core/local-endpoint-store.d.ts +0 -1
- package/dist/core/logger.d.ts +0 -1
- package/dist/core/loop-breaker.d.ts +0 -1
- package/dist/core/lsp/client.d.ts +8 -6
- package/dist/core/lsp/client.js +68 -18
- package/dist/core/lsp/client.js.map +1 -1
- package/dist/core/lsp/edit-telemetry.d.ts +0 -1
- package/dist/core/lsp/format.d.ts +0 -1
- package/dist/core/lsp/jsonrpc.d.ts +0 -1
- package/dist/core/lsp/manager.d.ts +16 -2
- package/dist/core/lsp/manager.js +170 -9
- package/dist/core/lsp/manager.js.map +1 -1
- package/dist/core/lsp/pool.d.ts +0 -1
- package/dist/core/lsp/pool.js.map +1 -1
- package/dist/core/lsp/servers.d.ts +0 -1
- package/dist/core/lsp/test-support.d.ts +0 -1
- package/dist/core/mcp/catalog-cache.d.ts +0 -1
- package/dist/core/mcp/client.d.ts +0 -1
- package/dist/core/mcp/content.d.ts +0 -1
- package/dist/core/mcp/defaults.d.ts +0 -1
- package/dist/core/mcp/deferred-catalog.d.ts +0 -1
- package/dist/core/mcp/elicitation-bridge.d.ts +0 -1
- package/dist/core/mcp/index.d.ts +0 -1
- package/dist/core/mcp/loopback.d.ts +0 -1
- package/dist/core/mcp/oauth-provider.d.ts +0 -1
- package/dist/core/mcp/oauth-store.d.ts +0 -1
- package/dist/core/mcp/parse-add-command.d.ts +0 -1
- package/dist/core/mcp/resolve-stdio.d.ts +0 -1
- package/dist/core/mcp/shared-pool.d.ts +0 -1
- package/dist/core/mcp/store.d.ts +0 -1
- package/dist/core/mcp/types.d.ts +0 -1
- package/dist/core/message-images.d.ts +0 -1
- package/dist/core/model-registry.d.ts +0 -1
- package/dist/core/network-guard.d.ts +0 -1
- package/dist/core/nolan-context.d.ts +5 -1
- package/dist/core/nolan-context.js +9 -2
- package/dist/core/nolan-context.js.map +1 -1
- package/dist/core/nolan-model.d.ts +0 -1
- package/dist/core/nolan-prompt.d.ts +0 -1
- package/dist/core/nolan-prompt.js +32 -14
- package/dist/core/nolan-prompt.js.map +1 -1
- package/dist/core/oauth/anthropic.d.ts +0 -1
- package/dist/core/oauth/gemini.d.ts +0 -1
- package/dist/core/oauth/kimi.d.ts +0 -1
- package/dist/core/oauth/openai.d.ts +0 -1
- package/dist/core/oauth/pkce.d.ts +0 -1
- package/dist/core/oauth/types.d.ts +0 -1
- package/dist/core/oauth/xai.d.ts +0 -1
- package/dist/core/parked-requests.d.ts +0 -1
- package/dist/core/persistent-shell.d.ts +0 -1
- package/dist/core/persistent-shell.js +3 -1
- package/dist/core/persistent-shell.js.map +1 -1
- package/dist/core/pixel-fix-agent.d.ts +0 -1
- package/dist/core/pixel-fix.d.ts +0 -1
- package/dist/core/pixel.d.ts +0 -1
- package/dist/core/platform-clis.d.ts +0 -1
- package/dist/core/process-gate.d.ts +0 -1
- package/dist/core/process-manager.d.ts +7 -4
- package/dist/core/process-manager.js +23 -7
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/progress/engine.d.ts +0 -1
- package/dist/core/progress/git-xp.d.ts +0 -1
- package/dist/core/progress/ranks.d.ts +0 -1
- package/dist/core/progress/rebuild.d.ts +0 -1
- package/dist/core/progress/store.d.ts +0 -1
- package/dist/core/progress/types.d.ts +0 -1
- package/dist/core/project-discovery.d.ts +0 -1
- package/dist/core/prompt-commands.d.ts +0 -1
- package/dist/core/radio.d.ts +0 -1
- package/dist/core/regrounding.d.ts +0 -1
- package/dist/core/resolve-start.d.ts +0 -1
- package/dist/core/run-claim.d.ts +0 -1
- package/dist/core/run-lifecycle.d.ts +0 -1
- package/dist/core/runtime-mode.d.ts +0 -1
- package/dist/core/sandbox-domains.d.ts +0 -1
- package/dist/core/sandbox-feedback.d.ts +0 -1
- package/dist/core/sandbox.d.ts +0 -1
- package/dist/core/semantic-loop-check.d.ts +58 -0
- package/dist/core/semantic-loop-check.js +103 -0
- package/dist/core/semantic-loop-check.js.map +1 -0
- package/dist/core/semantic-search-benchmark.d.ts +0 -1
- package/dist/core/session-compaction.d.ts +0 -1
- package/dist/core/session-export.d.ts +0 -1
- package/dist/core/session-history.d.ts +0 -1
- package/dist/core/session-manager.d.ts +1 -2
- package/dist/core/session-preview.d.ts +0 -1
- package/dist/core/session-storage.d.ts +0 -1
- package/dist/core/settings-manager.d.ts +0 -1
- package/dist/core/setup-history.d.ts +0 -1
- package/dist/core/shell-path.d.ts +0 -1
- package/dist/core/shell.d.ts +0 -1
- package/dist/core/shell.js +6 -3
- package/dist/core/shell.js.map +1 -1
- package/dist/core/shutdown.d.ts +0 -1
- package/dist/core/skills.d.ts +0 -1
- package/dist/core/slash-commands.d.ts +3 -2
- package/dist/core/slash-commands.js +6 -4
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-maps.d.ts +0 -1
- package/dist/core/speed-benchmark.d.ts +0 -1
- package/dist/core/steering.d.ts +0 -1
- package/dist/core/steroids.d.ts +0 -1
- package/dist/core/style-packs/index.d.ts +0 -1
- package/dist/core/style-packs/packs.d.ts +0 -1
- package/dist/core/subagent-manager.d.ts +7 -2
- package/dist/core/subagent-manager.js +15 -5
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-policy.d.ts +0 -1
- package/dist/core/subagent-store.d.ts +0 -1
- package/dist/core/subagent-turn-record.d.ts +0 -1
- package/dist/core/task-store.d.ts +0 -1
- package/dist/core/telegram-config.d.ts +0 -1
- package/dist/core/telegram.d.ts +0 -1
- package/dist/core/thinking-level.d.ts +0 -1
- package/dist/core/verification-evidence.d.ts +11 -2
- package/dist/core/verification-evidence.js +96 -22
- package/dist/core/verification-evidence.js.map +1 -1
- package/dist/core/verification-gate.d.ts +75 -36
- package/dist/core/verification-gate.js +301 -37
- package/dist/core/verification-gate.js.map +1 -1
- package/dist/core/verification-snapshot.d.ts +7 -0
- package/dist/core/verification-snapshot.js +111 -0
- package/dist/core/verification-snapshot.js.map +1 -0
- package/dist/core/verify-commands.d.ts +0 -1
- package/dist/core/voice-transcriber.d.ts +0 -1
- package/dist/core/workspace-guard.d.ts +0 -1
- package/dist/hf-pull.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/interactive.d.ts +0 -1
- package/dist/modes/acp-mode.d.ts +0 -1
- package/dist/modes/agent-home-mode.d.ts +0 -1
- package/dist/modes/index.d.ts +0 -1
- package/dist/modes/json-mode.d.ts +0 -1
- package/dist/modes/print-mode.d.ts +0 -1
- package/dist/modes/rpc-mode.d.ts +0 -1
- package/dist/modes/serve-mode.d.ts +0 -1
- package/dist/modes/subagent-worker-mode.d.ts +0 -1
- package/dist/session.d.ts +0 -1
- package/dist/system-prompt.d.ts +0 -1
- package/dist/system-prompt.js +53 -124
- package/dist/system-prompt.js.map +1 -1
- package/dist/test-support/fake-home.d.ts +0 -1
- package/dist/tools/ask-user.d.ts +0 -1
- package/dist/tools/bash.d.ts +0 -1
- package/dist/tools/bash.js +9 -4
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/code-nav.d.ts +0 -1
- package/dist/tools/code-skeleton.d.ts +0 -1
- package/dist/tools/compress.d.ts +0 -1
- package/dist/tools/edit-diff.d.ts +19 -2
- package/dist/tools/edit-diff.js +16 -3
- package/dist/tools/edit-diff.js.map +1 -1
- package/dist/tools/edit.d.ts +1 -2
- package/dist/tools/edit.js +36 -12
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/enter-plan.d.ts +0 -1
- package/dist/tools/exit-plan.d.ts +0 -1
- package/dist/tools/find.d.ts +0 -1
- package/dist/tools/generate-image.d.ts +5 -1
- package/dist/tools/generate-image.js +25 -7
- package/dist/tools/generate-image.js.map +1 -1
- package/dist/tools/goals.d.ts +0 -1
- package/dist/tools/grep.d.ts +0 -1
- package/dist/tools/html-extract.d.ts +0 -1
- package/dist/tools/index.d.ts +3 -2
- package/dist/tools/index.js +3 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/ls.d.ts +0 -1
- package/dist/tools/operations.d.ts +0 -1
- package/dist/tools/overflow.d.ts +0 -1
- package/dist/tools/path-utils.d.ts +0 -1
- package/dist/tools/pdf-extract.d.ts +0 -1
- package/dist/tools/prompt-hints.d.ts +0 -1
- package/dist/tools/prompt-hints.js +1 -1
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/read-only-bash.d.ts +0 -1
- package/dist/tools/read-tracker.d.ts +0 -1
- package/dist/tools/read.d.ts +0 -1
- package/dist/tools/safe-env.d.ts +0 -1
- package/dist/tools/screenshot.d.ts +0 -1
- package/dist/tools/search-code.d.ts +0 -1
- package/dist/tools/session-stats.d.ts +26 -0
- package/dist/tools/session-stats.js +51 -0
- package/dist/tools/session-stats.js.map +1 -0
- package/dist/tools/skill.d.ts +0 -1
- package/dist/tools/skill.js +3 -5
- package/dist/tools/skill.js.map +1 -1
- package/dist/tools/source-path.d.ts +0 -1
- package/dist/tools/steroids.d.ts +0 -1
- package/dist/tools/steroids.js +1 -1
- package/dist/tools/subagent-control.d.ts +0 -1
- package/dist/tools/subagent-shared.d.ts +0 -1
- package/dist/tools/subagent.d.ts +0 -1
- package/dist/tools/task-output.d.ts +0 -1
- package/dist/tools/task-output.js +13 -6
- package/dist/tools/task-output.js.map +1 -1
- package/dist/tools/task-send.d.ts +0 -1
- package/dist/tools/task-stop.d.ts +0 -1
- package/dist/tools/tasks.d.ts +0 -1
- package/dist/tools/tool-search.d.ts +0 -1
- package/dist/tools/tool-tiers.d.ts +0 -1
- package/dist/tools/truncate.d.ts +0 -1
- package/dist/tools/web-fetch.d.ts +0 -1
- package/dist/tools/web-search.d.ts +0 -1
- package/dist/tools/write.d.ts +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/ui/App.d.ts +0 -1
- package/dist/ui/App.js +6 -1
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/activity-phrases.d.ts +0 -1
- package/dist/ui/app-items.d.ts +0 -1
- package/dist/ui/components/ActivityIndicator.d.ts +0 -1
- package/dist/ui/components/AnimationContext.d.ts +0 -1
- package/dist/ui/components/AssistantMessage.d.ts +0 -1
- package/dist/ui/components/BackgroundTasksBar.d.ts +0 -1
- package/dist/ui/components/Banner.d.ts +0 -1
- package/dist/ui/components/ChatFooterPane.d.ts +0 -1
- package/dist/ui/components/ChatInputStack.d.ts +0 -1
- package/dist/ui/components/ChatLayout.d.ts +0 -1
- package/dist/ui/components/ChatLivePane.d.ts +0 -1
- package/dist/ui/components/ChatScreen.d.ts +0 -1
- package/dist/ui/components/ChatStatusRow.d.ts +0 -1
- package/dist/ui/components/CompactionNotice.d.ts +0 -1
- package/dist/ui/components/DiffFrame.d.ts +0 -1
- package/dist/ui/components/DiffView.d.ts +0 -1
- package/dist/ui/components/Footer.d.ts +0 -1
- package/dist/ui/components/FooterStatusRow.d.ts +0 -1
- package/dist/ui/components/FullScreenOverlayRouter.d.ts +0 -1
- package/dist/ui/components/GoalOverlay.d.ts +0 -1
- package/dist/ui/components/GoalStatusBar.d.ts +0 -1
- package/dist/ui/components/IdealHookMessage.d.ts +0 -1
- package/dist/ui/components/InputArea.d.ts +0 -1
- package/dist/ui/components/LiveToolPanel.d.ts +0 -1
- package/dist/ui/components/Markdown.d.ts +0 -1
- package/dist/ui/components/MessageResponse.d.ts +0 -1
- package/dist/ui/components/ModelSelector.d.ts +0 -1
- package/dist/ui/components/NoSelect.d.ts +0 -1
- package/dist/ui/components/Overlay.d.ts +0 -1
- package/dist/ui/components/PixelOverlay.d.ts +0 -1
- package/dist/ui/components/PlanApproval.d.ts +0 -1
- package/dist/ui/components/PlanBanner.d.ts +0 -1
- package/dist/ui/components/PlanModeLogo.d.ts +0 -1
- package/dist/ui/components/PlanOverlay.d.ts +0 -1
- package/dist/ui/components/PlanProgress.d.ts +0 -1
- package/dist/ui/components/QueueIndicator.d.ts +0 -1
- package/dist/ui/components/Ratchet.d.ts +0 -1
- package/dist/ui/components/RewindOverlay.d.ts +0 -1
- package/dist/ui/components/SelectList.d.ts +0 -1
- package/dist/ui/components/ServerToolExecution.d.ts +0 -1
- package/dist/ui/components/SessionSelector.d.ts +0 -1
- package/dist/ui/components/SessionSummary.d.ts +0 -1
- package/dist/ui/components/SettingsSelector.d.ts +0 -1
- package/dist/ui/components/SkillsOverlay.d.ts +0 -1
- package/dist/ui/components/SlashCommandMenu.d.ts +0 -1
- package/dist/ui/components/SlashStyledSelectList.d.ts +0 -1
- package/dist/ui/components/Spinner.d.ts +0 -1
- package/dist/ui/components/StreamingArea.d.ts +0 -1
- package/dist/ui/components/SubAgentPanel.d.ts +0 -1
- package/dist/ui/components/TaskOverlay.d.ts +0 -1
- package/dist/ui/components/TaskPickerMenu.d.ts +0 -1
- package/dist/ui/components/ThemeSelector.d.ts +0 -1
- package/dist/ui/components/ThinkingBlock.d.ts +0 -1
- package/dist/ui/components/ToolExecution.d.ts +0 -1
- package/dist/ui/components/ToolGroupExecution.d.ts +0 -1
- package/dist/ui/components/ToolUseLoader.d.ts +0 -1
- package/dist/ui/components/TranscriptViewport.d.ts +0 -1
- package/dist/ui/components/UserMessage.d.ts +0 -1
- package/dist/ui/components/force-color.d.ts +0 -1
- package/dist/ui/components/index.d.ts +0 -1
- package/dist/ui/constants/figures.d.ts +0 -1
- package/dist/ui/duration-format.d.ts +0 -1
- package/dist/ui/duration-summary.d.ts +0 -1
- package/dist/ui/error-item.d.ts +0 -1
- package/dist/ui/goal-events.d.ts +0 -1
- package/dist/ui/goal-events.js.map +1 -1
- package/dist/ui/goal-summary.d.ts +0 -1
- package/dist/ui/hooks/useAgentLoop.d.ts +0 -1
- package/dist/ui/hooks/useBlink.d.ts +0 -1
- package/dist/ui/hooks/useChatLayoutMeasurements.d.ts +0 -1
- package/dist/ui/hooks/useContextCompaction.d.ts +0 -1
- package/dist/ui/hooks/useDoublePress.d.ts +0 -1
- package/dist/ui/hooks/useMinDisplayTime.d.ts +0 -1
- package/dist/ui/hooks/useModeState.d.ts +0 -1
- package/dist/ui/hooks/usePixelFixFlow.d.ts +0 -1
- package/dist/ui/hooks/useSessionManager.d.ts +0 -1
- package/dist/ui/hooks/useSessionPersistence.d.ts +0 -1
- package/dist/ui/hooks/useSlashCommands.d.ts +0 -1
- package/dist/ui/hooks/useTaskPickerController.d.ts +0 -1
- package/dist/ui/hooks/useTerminalSize.d.ts +0 -1
- package/dist/ui/hooks/useTerminalTitle.d.ts +0 -1
- package/dist/ui/hooks/useTranscriptHistory.d.ts +0 -1
- package/dist/ui/hooks/useTranscriptScroll.d.ts +0 -1
- package/dist/ui/item-helpers.d.ts +0 -1
- package/dist/ui/layout-decisions.d.ts +0 -1
- package/dist/ui/live-area-height.d.ts +0 -1
- package/dist/ui/live-item-flush.d.ts +0 -1
- package/dist/ui/login.d.ts +0 -1
- package/dist/ui/mcp.d.ts +0 -1
- package/dist/ui/pixel.d.ts +0 -1
- package/dist/ui/prompt-routing.d.ts +0 -1
- package/dist/ui/render.d.ts +0 -1
- package/dist/ui/session-summary.d.ts +0 -1
- package/dist/ui/sessions.d.ts +0 -1
- package/dist/ui/spinner-frames.d.ts +0 -1
- package/dist/ui/stores/create-store.d.ts +0 -1
- package/dist/ui/stores/index.d.ts +0 -1
- package/dist/ui/stores/taskbar-store.d.ts +0 -1
- package/dist/ui/stores/transcript-scroll-store.d.ts +0 -1
- package/dist/ui/submit-prompt-command.d.ts +0 -1
- package/dist/ui/submit-slash-commands.d.ts +0 -1
- package/dist/ui/terminal-history-format.d.ts +0 -1
- package/dist/ui/terminal-history-spacing.d.ts +0 -1
- package/dist/ui/terminal-history-status-renderers.d.ts +0 -1
- package/dist/ui/terminal-history.d.ts +0 -1
- package/dist/ui/testing/screen-recorder.d.ts +0 -1
- package/dist/ui/theme/detect-theme.d.ts +0 -1
- package/dist/ui/theme/theme.d.ts +0 -1
- package/dist/ui/theme/theme.js.map +1 -1
- package/dist/ui/thinking-level.d.ts +0 -1
- package/dist/ui/tool-group-summary.d.ts +0 -1
- package/dist/ui/tool-line-summary.d.ts +0 -1
- package/dist/ui/transcript/MiscRows.d.ts +0 -1
- package/dist/ui/transcript/StatusRow.d.ts +0 -1
- package/dist/ui/transcript/ToolRows.d.ts +0 -1
- package/dist/ui/transcript/TranscriptItemFrame.d.ts +0 -1
- package/dist/ui/transcript/TranscriptRenderer.d.ts +0 -1
- package/dist/ui/transcript/presentation.d.ts +0 -1
- package/dist/ui/transcript/spacing.d.ts +0 -1
- package/dist/ui/transcript/tool-presentation.d.ts +0 -1
- package/dist/ui/transcript/tool-presentation.js.map +1 -1
- package/dist/ui/transcript/transcript-lines.d.ts +0 -1
- package/dist/ui/utils/assistant-stream-split.d.ts +0 -1
- package/dist/ui/utils/highlight.d.ts +0 -1
- package/dist/ui/utils/hyperlink.d.ts +0 -1
- package/dist/ui/utils/latex-to-unicode.d.ts +0 -1
- package/dist/ui/utils/markdown-cache.d.ts +0 -1
- package/dist/ui/utils/markdown-renderer.d.ts +0 -1
- package/dist/ui/utils/markdown-table.d.ts +0 -1
- package/dist/ui/utils/signal.d.ts +0 -1
- package/dist/ui/utils/supports-hyperlinks.d.ts +0 -1
- package/dist/ui/utils/table-text.d.ts +0 -1
- package/dist/ui/utils/terminal-graphics.d.ts +0 -1
- package/dist/ui/utils/terminal-input.d.ts +0 -1
- package/dist/ui/utils/text-utils.d.ts +0 -1
- package/dist/ui/utils/token-to-ansi.d.ts +0 -1
- package/dist/ui/utils/user-message-display.d.ts +0 -1
- package/dist/ui/utils/word-diff.d.ts +0 -1
- package/dist/utils/error-handler.d.ts +0 -1
- package/dist/utils/format.d.ts +0 -1
- package/dist/utils/git.d.ts +0 -1
- package/dist/utils/github-ci.d.ts +18 -0
- package/dist/utils/github-ci.js +137 -0
- package/dist/utils/github-ci.js.map +1 -0
- package/dist/utils/github.d.ts +0 -1
- package/dist/utils/http-body.d.ts +0 -1
- package/dist/utils/image.d.ts +0 -1
- package/dist/utils/open-browser.d.ts +0 -1
- package/dist/utils/plan-steps.d.ts +0 -1
- package/dist/utils/plan-steps.js.map +1 -1
- package/dist/utils/process.d.ts +0 -1
- package/dist/utils/prompt-enhancer.d.ts +6 -3
- package/dist/utils/prompt-enhancer.js +61 -13
- package/dist/utils/prompt-enhancer.js.map +1 -1
- package/dist/utils/shell.d.ts +0 -1
- package/dist/utils/sound.d.ts +0 -1
- package/dist/utils/text.d.ts +0 -1
- package/package.json +8 -8
- package/dist/app-sidecar-sessions.d.ts.map +0 -1
- package/dist/app-sidecar.d.ts.map +0 -1
- package/dist/chat-agents/general.d.ts.map +0 -1
- package/dist/chat-agents/index.d.ts.map +0 -1
- package/dist/chat-agents/jiwa.d.ts.map +0 -1
- package/dist/chat-agents/memory.d.ts.map +0 -1
- package/dist/chat-agents/research.d.ts.map +0 -1
- package/dist/chat-agents/shared.d.ts.map +0 -1
- package/dist/chat-agents/therapist.d.ts.map +0 -1
- package/dist/chat-agents/types.d.ts.map +0 -1
- package/dist/cli/auth.d.ts.map +0 -1
- package/dist/cli/command-routing.d.ts.map +0 -1
- package/dist/cli/mcp.d.ts.map +0 -1
- package/dist/cli/pixel.d.ts.map +0 -1
- package/dist/cli/shared.d.ts.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/core/agent-notifications.d.ts.map +0 -1
- package/dist/core/agent-session.d.ts.map +0 -1
- package/dist/core/agents.d.ts.map +0 -1
- package/dist/core/api-benchmark.d.ts.map +0 -1
- package/dist/core/ask-user.d.ts.map +0 -1
- package/dist/core/auth/index.d.ts.map +0 -1
- package/dist/core/auth-providers.d.ts.map +0 -1
- package/dist/core/auth-storage.d.ts.map +0 -1
- package/dist/core/auto-update.d.ts.map +0 -1
- package/dist/core/autopilot-cycle.d.ts.map +0 -1
- package/dist/core/autopilot-gate.d.ts.map +0 -1
- package/dist/core/autopilot-verdict.d.ts.map +0 -1
- package/dist/core/bash-spawn-benchmark.d.ts.map +0 -1
- package/dist/core/bundled-agents.d.ts.map +0 -1
- package/dist/core/cache-warm-benchmark.d.ts.map +0 -1
- package/dist/core/checkpoint-store.d.ts.map +0 -1
- package/dist/core/claude-code-version.d.ts.map +0 -1
- package/dist/core/code-retrieval-chunkers.d.ts.map +0 -1
- package/dist/core/code-retrieval.d.ts.map +0 -1
- package/dist/core/compaction/active-context.d.ts.map +0 -1
- package/dist/core/compaction/compactor.d.ts.map +0 -1
- package/dist/core/compaction/policy.d.ts.map +0 -1
- package/dist/core/compaction/query-aware-selector.d.ts.map +0 -1
- package/dist/core/compaction/token-estimator.d.ts.map +0 -1
- package/dist/core/compaction/tool-result-pruner.d.ts.map +0 -1
- package/dist/core/context-limits.d.ts.map +0 -1
- package/dist/core/custom-commands.d.ts.map +0 -1
- package/dist/core/encode-cwd.d.ts.map +0 -1
- package/dist/core/env-delta.d.ts.map +0 -1
- package/dist/core/event-bus.d.ts.map +0 -1
- package/dist/core/extensions/loader.d.ts.map +0 -1
- package/dist/core/extensions/plugin-bundles.d.ts.map +0 -1
- package/dist/core/extensions/types.d.ts.map +0 -1
- package/dist/core/fast-apply-benchmark.d.ts.map +0 -1
- package/dist/core/file-lock.d.ts.map +0 -1
- package/dist/core/foreign-session-import.d.ts.map +0 -1
- package/dist/core/foreign-transcript-blocks.d.ts.map +0 -1
- package/dist/core/goal-controller.d.ts.map +0 -1
- package/dist/core/goal-prerequisites.d.ts.map +0 -1
- package/dist/core/goal-store.d.ts.map +0 -1
- package/dist/core/goal-verifier.d.ts.map +0 -1
- package/dist/core/goal-worker.d.ts.map +0 -1
- package/dist/core/hashline-edit-benchmark.d.ts.map +0 -1
- package/dist/core/hashline.d.ts.map +0 -1
- package/dist/core/ideal-review.d.ts.map +0 -1
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/language-detector.d.ts.map +0 -1
- package/dist/core/local-endpoint-store.d.ts.map +0 -1
- package/dist/core/logger.d.ts.map +0 -1
- package/dist/core/loop-breaker.d.ts.map +0 -1
- package/dist/core/lsp/client.d.ts.map +0 -1
- package/dist/core/lsp/edit-telemetry.d.ts.map +0 -1
- package/dist/core/lsp/format.d.ts.map +0 -1
- package/dist/core/lsp/jsonrpc.d.ts.map +0 -1
- package/dist/core/lsp/manager.d.ts.map +0 -1
- package/dist/core/lsp/pool.d.ts.map +0 -1
- package/dist/core/lsp/servers.d.ts.map +0 -1
- package/dist/core/lsp/test-support.d.ts.map +0 -1
- package/dist/core/mcp/catalog-cache.d.ts.map +0 -1
- package/dist/core/mcp/client.d.ts.map +0 -1
- package/dist/core/mcp/content.d.ts.map +0 -1
- package/dist/core/mcp/defaults.d.ts.map +0 -1
- package/dist/core/mcp/deferred-catalog.d.ts.map +0 -1
- package/dist/core/mcp/elicitation-bridge.d.ts.map +0 -1
- package/dist/core/mcp/index.d.ts.map +0 -1
- package/dist/core/mcp/loopback.d.ts.map +0 -1
- package/dist/core/mcp/oauth-provider.d.ts.map +0 -1
- package/dist/core/mcp/oauth-store.d.ts.map +0 -1
- package/dist/core/mcp/parse-add-command.d.ts.map +0 -1
- package/dist/core/mcp/resolve-stdio.d.ts.map +0 -1
- package/dist/core/mcp/shared-pool.d.ts.map +0 -1
- package/dist/core/mcp/store.d.ts.map +0 -1
- package/dist/core/mcp/types.d.ts.map +0 -1
- package/dist/core/message-images.d.ts.map +0 -1
- package/dist/core/model-registry.d.ts.map +0 -1
- package/dist/core/network-guard.d.ts.map +0 -1
- package/dist/core/nolan-context.d.ts.map +0 -1
- package/dist/core/nolan-model.d.ts.map +0 -1
- package/dist/core/nolan-prompt.d.ts.map +0 -1
- package/dist/core/oauth/anthropic.d.ts.map +0 -1
- package/dist/core/oauth/gemini.d.ts.map +0 -1
- package/dist/core/oauth/kimi.d.ts.map +0 -1
- package/dist/core/oauth/openai.d.ts.map +0 -1
- package/dist/core/oauth/pkce.d.ts.map +0 -1
- package/dist/core/oauth/types.d.ts.map +0 -1
- package/dist/core/oauth/xai.d.ts.map +0 -1
- package/dist/core/parked-requests.d.ts.map +0 -1
- package/dist/core/persistent-shell.d.ts.map +0 -1
- package/dist/core/pixel-fix-agent.d.ts.map +0 -1
- package/dist/core/pixel-fix.d.ts.map +0 -1
- package/dist/core/pixel.d.ts.map +0 -1
- package/dist/core/platform-clis.d.ts.map +0 -1
- package/dist/core/process-gate.d.ts.map +0 -1
- package/dist/core/process-manager.d.ts.map +0 -1
- package/dist/core/progress/engine.d.ts.map +0 -1
- package/dist/core/progress/git-xp.d.ts.map +0 -1
- package/dist/core/progress/ranks.d.ts.map +0 -1
- package/dist/core/progress/rebuild.d.ts.map +0 -1
- package/dist/core/progress/store.d.ts.map +0 -1
- package/dist/core/progress/types.d.ts.map +0 -1
- package/dist/core/project-discovery.d.ts.map +0 -1
- package/dist/core/prompt-commands.d.ts.map +0 -1
- package/dist/core/radio.d.ts.map +0 -1
- package/dist/core/regrounding.d.ts.map +0 -1
- package/dist/core/resolve-start.d.ts.map +0 -1
- package/dist/core/run-claim.d.ts.map +0 -1
- package/dist/core/run-lifecycle.d.ts.map +0 -1
- package/dist/core/runtime-mode.d.ts.map +0 -1
- package/dist/core/sandbox-domains.d.ts.map +0 -1
- package/dist/core/sandbox-feedback.d.ts.map +0 -1
- package/dist/core/sandbox.d.ts.map +0 -1
- package/dist/core/semantic-search-benchmark.d.ts.map +0 -1
- package/dist/core/session-compaction.d.ts.map +0 -1
- package/dist/core/session-export.d.ts.map +0 -1
- package/dist/core/session-history.d.ts.map +0 -1
- package/dist/core/session-manager.d.ts.map +0 -1
- package/dist/core/session-preview.d.ts.map +0 -1
- package/dist/core/session-storage.d.ts.map +0 -1
- package/dist/core/settings-manager.d.ts.map +0 -1
- package/dist/core/setup-history.d.ts.map +0 -1
- package/dist/core/shell-path.d.ts.map +0 -1
- package/dist/core/shell.d.ts.map +0 -1
- package/dist/core/shutdown.d.ts.map +0 -1
- package/dist/core/skills.d.ts.map +0 -1
- package/dist/core/slash-commands.d.ts.map +0 -1
- package/dist/core/source-maps.d.ts.map +0 -1
- package/dist/core/speed-benchmark.d.ts.map +0 -1
- package/dist/core/steering.d.ts.map +0 -1
- package/dist/core/steroids.d.ts.map +0 -1
- package/dist/core/style-packs/index.d.ts.map +0 -1
- package/dist/core/style-packs/packs.d.ts.map +0 -1
- package/dist/core/subagent-manager.d.ts.map +0 -1
- package/dist/core/subagent-policy.d.ts.map +0 -1
- package/dist/core/subagent-store.d.ts.map +0 -1
- package/dist/core/subagent-turn-record.d.ts.map +0 -1
- package/dist/core/task-store.d.ts.map +0 -1
- package/dist/core/telegram-config.d.ts.map +0 -1
- package/dist/core/telegram.d.ts.map +0 -1
- package/dist/core/thinking-level.d.ts.map +0 -1
- package/dist/core/verification-evidence.d.ts.map +0 -1
- package/dist/core/verification-gate.d.ts.map +0 -1
- package/dist/core/verify-commands.d.ts.map +0 -1
- package/dist/core/voice-transcriber.d.ts.map +0 -1
- package/dist/core/workspace-guard.d.ts.map +0 -1
- package/dist/hf-pull.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/interactive.d.ts.map +0 -1
- package/dist/modes/acp-mode.d.ts.map +0 -1
- package/dist/modes/agent-home-mode.d.ts.map +0 -1
- package/dist/modes/index.d.ts.map +0 -1
- package/dist/modes/json-mode.d.ts.map +0 -1
- package/dist/modes/print-mode.d.ts.map +0 -1
- package/dist/modes/rpc-mode.d.ts.map +0 -1
- package/dist/modes/serve-mode.d.ts.map +0 -1
- package/dist/modes/subagent-worker-mode.d.ts.map +0 -1
- package/dist/session.d.ts.map +0 -1
- package/dist/system-prompt.d.ts.map +0 -1
- package/dist/test-support/fake-home.d.ts.map +0 -1
- package/dist/tools/ask-user.d.ts.map +0 -1
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/code-nav.d.ts.map +0 -1
- package/dist/tools/code-skeleton.d.ts.map +0 -1
- package/dist/tools/compress.d.ts.map +0 -1
- package/dist/tools/edit-diff.d.ts.map +0 -1
- package/dist/tools/edit.d.ts.map +0 -1
- package/dist/tools/enter-plan.d.ts.map +0 -1
- package/dist/tools/exit-plan.d.ts.map +0 -1
- package/dist/tools/find.d.ts.map +0 -1
- package/dist/tools/generate-image.d.ts.map +0 -1
- package/dist/tools/goals.d.ts.map +0 -1
- package/dist/tools/grep.d.ts.map +0 -1
- package/dist/tools/html-extract.d.ts.map +0 -1
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/ls.d.ts.map +0 -1
- package/dist/tools/operations.d.ts.map +0 -1
- package/dist/tools/overflow.d.ts.map +0 -1
- package/dist/tools/path-utils.d.ts.map +0 -1
- package/dist/tools/pdf-extract.d.ts.map +0 -1
- package/dist/tools/prompt-hints.d.ts.map +0 -1
- package/dist/tools/read-only-bash.d.ts.map +0 -1
- package/dist/tools/read-tracker.d.ts.map +0 -1
- package/dist/tools/read.d.ts.map +0 -1
- package/dist/tools/safe-env.d.ts.map +0 -1
- package/dist/tools/screenshot.d.ts.map +0 -1
- package/dist/tools/search-code.d.ts.map +0 -1
- package/dist/tools/skill.d.ts.map +0 -1
- package/dist/tools/source-path.d.ts.map +0 -1
- package/dist/tools/steroids.d.ts.map +0 -1
- package/dist/tools/subagent-control.d.ts.map +0 -1
- package/dist/tools/subagent-shared.d.ts.map +0 -1
- package/dist/tools/subagent.d.ts.map +0 -1
- package/dist/tools/task-output.d.ts.map +0 -1
- package/dist/tools/task-send.d.ts.map +0 -1
- package/dist/tools/task-stop.d.ts.map +0 -1
- package/dist/tools/tasks.d.ts.map +0 -1
- package/dist/tools/tool-search.d.ts.map +0 -1
- package/dist/tools/tool-tiers.d.ts.map +0 -1
- package/dist/tools/truncate.d.ts.map +0 -1
- package/dist/tools/web-fetch.d.ts.map +0 -1
- package/dist/tools/web-search.d.ts.map +0 -1
- package/dist/tools/write.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/ui/App.d.ts.map +0 -1
- package/dist/ui/activity-phrases.d.ts.map +0 -1
- package/dist/ui/app-items.d.ts.map +0 -1
- package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
- package/dist/ui/components/AnimationContext.d.ts.map +0 -1
- package/dist/ui/components/AssistantMessage.d.ts.map +0 -1
- package/dist/ui/components/BackgroundTasksBar.d.ts.map +0 -1
- package/dist/ui/components/Banner.d.ts.map +0 -1
- package/dist/ui/components/ChatFooterPane.d.ts.map +0 -1
- package/dist/ui/components/ChatInputStack.d.ts.map +0 -1
- package/dist/ui/components/ChatLayout.d.ts.map +0 -1
- package/dist/ui/components/ChatLivePane.d.ts.map +0 -1
- package/dist/ui/components/ChatScreen.d.ts.map +0 -1
- package/dist/ui/components/ChatStatusRow.d.ts.map +0 -1
- package/dist/ui/components/CompactionNotice.d.ts.map +0 -1
- package/dist/ui/components/DiffFrame.d.ts.map +0 -1
- package/dist/ui/components/DiffView.d.ts.map +0 -1
- package/dist/ui/components/Footer.d.ts.map +0 -1
- package/dist/ui/components/FooterStatusRow.d.ts.map +0 -1
- package/dist/ui/components/FullScreenOverlayRouter.d.ts.map +0 -1
- package/dist/ui/components/GoalOverlay.d.ts.map +0 -1
- package/dist/ui/components/GoalStatusBar.d.ts.map +0 -1
- package/dist/ui/components/IdealHookMessage.d.ts.map +0 -1
- package/dist/ui/components/InputArea.d.ts.map +0 -1
- package/dist/ui/components/LiveToolPanel.d.ts.map +0 -1
- package/dist/ui/components/Markdown.d.ts.map +0 -1
- package/dist/ui/components/MessageResponse.d.ts.map +0 -1
- package/dist/ui/components/ModelSelector.d.ts.map +0 -1
- package/dist/ui/components/NoSelect.d.ts.map +0 -1
- package/dist/ui/components/Overlay.d.ts.map +0 -1
- package/dist/ui/components/PixelOverlay.d.ts.map +0 -1
- package/dist/ui/components/PlanApproval.d.ts.map +0 -1
- package/dist/ui/components/PlanBanner.d.ts.map +0 -1
- package/dist/ui/components/PlanModeLogo.d.ts.map +0 -1
- package/dist/ui/components/PlanOverlay.d.ts.map +0 -1
- package/dist/ui/components/PlanProgress.d.ts.map +0 -1
- package/dist/ui/components/QueueIndicator.d.ts.map +0 -1
- package/dist/ui/components/Ratchet.d.ts.map +0 -1
- package/dist/ui/components/RewindOverlay.d.ts.map +0 -1
- package/dist/ui/components/SelectList.d.ts.map +0 -1
- package/dist/ui/components/ServerToolExecution.d.ts.map +0 -1
- package/dist/ui/components/SessionSelector.d.ts.map +0 -1
- package/dist/ui/components/SessionSummary.d.ts.map +0 -1
- package/dist/ui/components/SettingsSelector.d.ts.map +0 -1
- package/dist/ui/components/SkillsOverlay.d.ts.map +0 -1
- package/dist/ui/components/SlashCommandMenu.d.ts.map +0 -1
- package/dist/ui/components/SlashStyledSelectList.d.ts.map +0 -1
- package/dist/ui/components/Spinner.d.ts.map +0 -1
- package/dist/ui/components/StreamingArea.d.ts.map +0 -1
- package/dist/ui/components/SubAgentPanel.d.ts.map +0 -1
- package/dist/ui/components/TaskOverlay.d.ts.map +0 -1
- package/dist/ui/components/TaskPickerMenu.d.ts.map +0 -1
- package/dist/ui/components/ThemeSelector.d.ts.map +0 -1
- package/dist/ui/components/ThinkingBlock.d.ts.map +0 -1
- package/dist/ui/components/ToolExecution.d.ts.map +0 -1
- package/dist/ui/components/ToolGroupExecution.d.ts.map +0 -1
- package/dist/ui/components/ToolUseLoader.d.ts.map +0 -1
- package/dist/ui/components/TranscriptViewport.d.ts.map +0 -1
- package/dist/ui/components/UserMessage.d.ts.map +0 -1
- package/dist/ui/components/force-color.d.ts.map +0 -1
- package/dist/ui/components/index.d.ts.map +0 -1
- package/dist/ui/constants/figures.d.ts.map +0 -1
- package/dist/ui/duration-format.d.ts.map +0 -1
- package/dist/ui/duration-summary.d.ts.map +0 -1
- package/dist/ui/error-item.d.ts.map +0 -1
- package/dist/ui/goal-events.d.ts.map +0 -1
- package/dist/ui/goal-summary.d.ts.map +0 -1
- package/dist/ui/hooks/useAgentLoop.d.ts.map +0 -1
- package/dist/ui/hooks/useBlink.d.ts.map +0 -1
- package/dist/ui/hooks/useChatLayoutMeasurements.d.ts.map +0 -1
- package/dist/ui/hooks/useContextCompaction.d.ts.map +0 -1
- package/dist/ui/hooks/useDoublePress.d.ts.map +0 -1
- package/dist/ui/hooks/useMinDisplayTime.d.ts.map +0 -1
- package/dist/ui/hooks/useModeState.d.ts.map +0 -1
- package/dist/ui/hooks/usePixelFixFlow.d.ts.map +0 -1
- package/dist/ui/hooks/useSessionManager.d.ts.map +0 -1
- package/dist/ui/hooks/useSessionPersistence.d.ts.map +0 -1
- package/dist/ui/hooks/useSlashCommands.d.ts.map +0 -1
- package/dist/ui/hooks/useTaskPickerController.d.ts.map +0 -1
- package/dist/ui/hooks/useTerminalSize.d.ts.map +0 -1
- package/dist/ui/hooks/useTerminalTitle.d.ts.map +0 -1
- package/dist/ui/hooks/useTranscriptHistory.d.ts.map +0 -1
- package/dist/ui/hooks/useTranscriptScroll.d.ts.map +0 -1
- package/dist/ui/item-helpers.d.ts.map +0 -1
- package/dist/ui/layout-decisions.d.ts.map +0 -1
- package/dist/ui/live-area-height.d.ts.map +0 -1
- package/dist/ui/live-item-flush.d.ts.map +0 -1
- package/dist/ui/login.d.ts.map +0 -1
- package/dist/ui/mcp.d.ts.map +0 -1
- package/dist/ui/pixel.d.ts.map +0 -1
- package/dist/ui/prompt-routing.d.ts.map +0 -1
- package/dist/ui/render.d.ts.map +0 -1
- package/dist/ui/session-summary.d.ts.map +0 -1
- package/dist/ui/sessions.d.ts.map +0 -1
- package/dist/ui/spinner-frames.d.ts.map +0 -1
- package/dist/ui/stores/create-store.d.ts.map +0 -1
- package/dist/ui/stores/index.d.ts.map +0 -1
- package/dist/ui/stores/taskbar-store.d.ts.map +0 -1
- package/dist/ui/stores/transcript-scroll-store.d.ts.map +0 -1
- package/dist/ui/submit-prompt-command.d.ts.map +0 -1
- package/dist/ui/submit-slash-commands.d.ts.map +0 -1
- package/dist/ui/terminal-history-format.d.ts.map +0 -1
- package/dist/ui/terminal-history-spacing.d.ts.map +0 -1
- package/dist/ui/terminal-history-status-renderers.d.ts.map +0 -1
- package/dist/ui/terminal-history.d.ts.map +0 -1
- package/dist/ui/testing/screen-recorder.d.ts.map +0 -1
- package/dist/ui/theme/detect-theme.d.ts.map +0 -1
- package/dist/ui/theme/theme.d.ts.map +0 -1
- package/dist/ui/thinking-level.d.ts.map +0 -1
- package/dist/ui/tool-group-summary.d.ts.map +0 -1
- package/dist/ui/tool-line-summary.d.ts.map +0 -1
- package/dist/ui/transcript/MiscRows.d.ts.map +0 -1
- package/dist/ui/transcript/StatusRow.d.ts.map +0 -1
- package/dist/ui/transcript/ToolRows.d.ts.map +0 -1
- package/dist/ui/transcript/TranscriptItemFrame.d.ts.map +0 -1
- package/dist/ui/transcript/TranscriptRenderer.d.ts.map +0 -1
- package/dist/ui/transcript/presentation.d.ts.map +0 -1
- package/dist/ui/transcript/spacing.d.ts.map +0 -1
- package/dist/ui/transcript/tool-presentation.d.ts.map +0 -1
- package/dist/ui/transcript/transcript-lines.d.ts.map +0 -1
- package/dist/ui/utils/assistant-stream-split.d.ts.map +0 -1
- package/dist/ui/utils/highlight.d.ts.map +0 -1
- package/dist/ui/utils/hyperlink.d.ts.map +0 -1
- package/dist/ui/utils/latex-to-unicode.d.ts.map +0 -1
- package/dist/ui/utils/markdown-cache.d.ts.map +0 -1
- package/dist/ui/utils/markdown-renderer.d.ts.map +0 -1
- package/dist/ui/utils/markdown-table.d.ts.map +0 -1
- package/dist/ui/utils/signal.d.ts.map +0 -1
- package/dist/ui/utils/supports-hyperlinks.d.ts.map +0 -1
- package/dist/ui/utils/table-text.d.ts.map +0 -1
- package/dist/ui/utils/terminal-graphics.d.ts.map +0 -1
- package/dist/ui/utils/terminal-input.d.ts.map +0 -1
- package/dist/ui/utils/text-utils.d.ts.map +0 -1
- package/dist/ui/utils/token-to-ansi.d.ts.map +0 -1
- package/dist/ui/utils/user-message-display.d.ts.map +0 -1
- package/dist/ui/utils/word-diff.d.ts.map +0 -1
- package/dist/utils/error-handler.d.ts.map +0 -1
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/github.d.ts.map +0 -1
- package/dist/utils/http-body.d.ts.map +0 -1
- package/dist/utils/image.d.ts.map +0 -1
- package/dist/utils/open-browser.d.ts.map +0 -1
- package/dist/utils/plan-steps.d.ts.map +0 -1
- package/dist/utils/process.d.ts.map +0 -1
- package/dist/utils/prompt-enhancer.d.ts.map +0 -1
- package/dist/utils/shell.d.ts.map +0 -1
- package/dist/utils/sound.d.ts.map +0 -1
- package/dist/utils/text.d.ts.map +0 -1
|
@@ -1,4 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export const VERIFICATION_STATE_KIND = "verification_state";
|
|
4
|
+
const verificationStateSchema = z.object({
|
|
5
|
+
version: z.literal(1),
|
|
6
|
+
seq: z.number().int().nonnegative().safe(),
|
|
7
|
+
mutation: z.number().int().nonnegative().safe(),
|
|
8
|
+
verified: z.number().int().nonnegative().safe(),
|
|
9
|
+
files: z.array(z.string()).max(10_000),
|
|
10
|
+
// Legacy snapshots carry bare check-key hashes; new ones carry [key, revision]
|
|
11
|
+
// pairs so a failure can be superseded by later evidence.
|
|
12
|
+
failedChecks: z
|
|
13
|
+
.array(z.union([
|
|
14
|
+
z.string().regex(/^[a-f0-9]{64}$/),
|
|
15
|
+
z.tuple([z.string().regex(/^[a-f0-9]{64}$/), z.number().int().nonnegative().safe()]),
|
|
16
|
+
]))
|
|
17
|
+
.max(10_000),
|
|
18
|
+
unknown: z.boolean(),
|
|
19
|
+
});
|
|
20
|
+
const checkKey = (command) => createHash("sha256").update(command.trim()).digest("hex");
|
|
21
|
+
/** Initial demands per run; at most one separate post-verification recheck is allowed. */
|
|
2
22
|
export const MAX_VERIFICATION_INJECTIONS = 1;
|
|
3
23
|
/** Tamper-disclosure demands per run. Same reasoning as above: one is enough. */
|
|
4
24
|
export const MAX_TAMPER_INJECTIONS = 1;
|
|
@@ -314,46 +334,96 @@ export function detectCheckWeakening(addedText) {
|
|
|
314
334
|
}
|
|
315
335
|
return [...found];
|
|
316
336
|
}
|
|
337
|
+
const VERIFICATION_OUTCOME_GUIDANCE = "This is an internal hook, not new user authorization or a new task. Your previous draft may not have been shown. " +
|
|
338
|
+
"Give a direct answer to the user's latest request: lead with the task outcome, include current verification " +
|
|
339
|
+
"and commit/push status when relevant, and preserve any pending user decision. Do not request the same " +
|
|
340
|
+
"approval again if the user already gave it. Never replace the outcome with hook commentary or verification status alone.";
|
|
317
341
|
export function buildTamperDisclosureMessage(suspects) {
|
|
318
342
|
return {
|
|
319
343
|
role: "user",
|
|
320
344
|
provenance: { source: "runtime", kind: "completion_gate", visibility: "hidden" },
|
|
321
|
-
content: "
|
|
322
|
-
"checks themselves assert:\n" +
|
|
345
|
+
content: "Check-integrity review: this run edited tests, check configuration, or suppression markers:\n" +
|
|
323
346
|
suspects.map(({ filePath, reason }) => `- ${filePath} — ${reason}`).join("\n") +
|
|
324
|
-
"\
|
|
325
|
-
"
|
|
326
|
-
"
|
|
327
|
-
"
|
|
328
|
-
"
|
|
329
|
-
"
|
|
347
|
+
"\nThese are review candidates, not evidence of wrongdoing. A check that was itself edited " +
|
|
348
|
+
"does not prove the code works on its own: inspect the actual diff against the user's agreed " +
|
|
349
|
+
"behaviour. For legitimate added coverage or corrected expectations, review them internally; " +
|
|
350
|
+
"do not add a defensive explanation to the final response. If a check was weakened, skipped, " +
|
|
351
|
+
"narrowed or silenced merely to get green, undo that weakening and fix the underlying code. " +
|
|
352
|
+
"Run affected checks after any correction. Report confirmed weakening, unresolved doubt, or " +
|
|
353
|
+
"unverified changes plainly; never claim verification without resolving them. Complete this " +
|
|
354
|
+
"review and required checks before any authorized commit or push that has not happened yet. " +
|
|
355
|
+
VERIFICATION_OUTCOME_GUIDANCE,
|
|
330
356
|
};
|
|
331
357
|
}
|
|
332
|
-
export function buildVerificationFollowUpMessage(files) {
|
|
358
|
+
export function buildVerificationFollowUpMessage(files, recheck = false, rejectedCheck, invalidationCause) {
|
|
359
|
+
const noFiles = files.length === 0;
|
|
333
360
|
return {
|
|
334
361
|
role: "user",
|
|
335
362
|
provenance: { source: "runtime", kind: "completion_gate", visibility: "hidden" },
|
|
336
|
-
content:
|
|
337
|
-
|
|
363
|
+
content: (recheck
|
|
364
|
+
? noFiles
|
|
365
|
+
? "Verification gate: a command that can rewrite files" +
|
|
366
|
+
(invalidationCause ? ` (\`${invalidationCause}\`)` : "") +
|
|
367
|
+
" ran after the earlier verification, so its green check no longer proves the current state:\n"
|
|
368
|
+
: "Verification gate: code changed again after the earlier verification:\n"
|
|
369
|
+
: "Verification gate: current successful verification is missing for this run:\n") +
|
|
338
370
|
files.map((filePath) => `- ${filePath}`).join("\n") +
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
371
|
+
(noFiles ? "" : "\n") +
|
|
372
|
+
(recheck
|
|
373
|
+
? noFiles
|
|
374
|
+
? "Re-run the project's checks against the current state and address any failures. "
|
|
375
|
+
: "Re-run the affected checks against these changes and address any failures. "
|
|
376
|
+
: "Run the project's verification now (its test command, or the closest equivalent) and " +
|
|
377
|
+
"address any failures. ") +
|
|
378
|
+
"Do not describe the change as tested or working without having run it. " +
|
|
379
|
+
"There is no repeated reminder for unchanged code: if you cannot run it, say plainly in your final " +
|
|
380
|
+
"response which of these changes went unverified and why, so the user can check them." +
|
|
381
|
+
// Why a green run already in the transcript did not count. Without this,
|
|
382
|
+
// the agent re-ran the same untrusted command shape every turn and the
|
|
383
|
+
// gate never cleared — the user got verification status instead of
|
|
384
|
+
// answers on every prompt.
|
|
385
|
+
(rejectedCheck
|
|
386
|
+
? `\nA check you ran did not count as verification evidence: \`${rejectedCheck.command}\` — ${rejectedCheck.reason}. ` +
|
|
387
|
+
"Green output from that command shape cannot clear this gate; run a bounded check instead " +
|
|
388
|
+
"(the project's test script via pnpm/npm/yarn test, vitest run, jest, pytest, or tsc --noEmit)."
|
|
389
|
+
: "") +
|
|
390
|
+
" " +
|
|
391
|
+
VERIFICATION_OUTCOME_GUIDANCE,
|
|
343
392
|
};
|
|
344
393
|
}
|
|
345
394
|
/**
|
|
346
395
|
* Bookkeeping for "code was edited, nothing proved it since". Callers record
|
|
347
|
-
* successful edit/write mutations on code files and
|
|
348
|
-
*
|
|
349
|
-
*
|
|
396
|
+
* successful edit/write mutations on code files and host-observed check results.
|
|
397
|
+
* Approval requires current successful evidence and no unresolved failures;
|
|
398
|
+
* exhausting the reminder budget never clears the underlying problem.
|
|
350
399
|
*/
|
|
351
400
|
export class VerificationGate {
|
|
352
401
|
seq = 0;
|
|
353
402
|
lastMutationSeq = 0;
|
|
354
403
|
lastVerificationSeq = 0;
|
|
355
404
|
injections = 0;
|
|
405
|
+
recheckInjections = 0;
|
|
406
|
+
lastDemandedMutationSeq = 0;
|
|
356
407
|
tamperInjections = 0;
|
|
408
|
+
lastSuspectSeq = 0;
|
|
409
|
+
lastReviewRequestedSeq = 0;
|
|
410
|
+
failedChecks = new Map(); // checkKey → mutation revision at failure
|
|
411
|
+
passedChecks = new Map();
|
|
412
|
+
unknownVerification = false;
|
|
413
|
+
/** A check the evidence classifier refused to vouch for, kept so the demand
|
|
414
|
+
* can explain WHY a green run in the transcript did not clear the gate. */
|
|
415
|
+
lastRejectedCheck = null;
|
|
416
|
+
/** The file-rewriting command that last invalidated evidence, if any — named
|
|
417
|
+
* in a recheck demand that has no tracked file edits to list instead. */
|
|
418
|
+
lastInvalidationCause = null;
|
|
419
|
+
/**
|
|
420
|
+
* Did THIS run touch what the gate guards — a code mutation, or a check that
|
|
421
|
+
* may have rewritten files? Inherited debt alone never re-arms the gate: a
|
|
422
|
+
* run that edited nothing is a question or review turn, and hijacking it
|
|
423
|
+
* with a verification demand answered the user's prompt with verification
|
|
424
|
+
* status instead of an answer, on every prompt, forever.
|
|
425
|
+
*/
|
|
426
|
+
runTouched = false;
|
|
357
427
|
/** Code files mutated since the last verification — the gate's file list. */
|
|
358
428
|
mutatedFiles = new Set();
|
|
359
429
|
/**
|
|
@@ -363,6 +433,31 @@ export class VerificationGate {
|
|
|
363
433
|
* was the thing edited.
|
|
364
434
|
*/
|
|
365
435
|
suspects = new Map();
|
|
436
|
+
evidenceRecords = new Map();
|
|
437
|
+
rememberEvidence(command, status, reason, revision = this.revision) {
|
|
438
|
+
const key = checkKey(command);
|
|
439
|
+
if ((this.evidenceRecords.get(key)?.revision ?? -1) > revision)
|
|
440
|
+
return;
|
|
441
|
+
this.evidenceRecords.delete(key);
|
|
442
|
+
this.evidenceRecords.set(key, {
|
|
443
|
+
command: command.slice(0, 2000),
|
|
444
|
+
status,
|
|
445
|
+
reason: reason.slice(0, 1000),
|
|
446
|
+
revision,
|
|
447
|
+
});
|
|
448
|
+
if (this.evidenceRecords.size > 64)
|
|
449
|
+
this.evidenceRecords.delete(this.evidenceRecords.keys().next().value);
|
|
450
|
+
}
|
|
451
|
+
/** The same host-observed results used by the completion gate, not a second transcript verdict. */
|
|
452
|
+
evidence() {
|
|
453
|
+
return [...this.evidenceRecords.values()].map(({ revision, ...entry }) => revision === this.revision
|
|
454
|
+
? entry
|
|
455
|
+
: {
|
|
456
|
+
...entry,
|
|
457
|
+
status: "rejected",
|
|
458
|
+
reason: "Superseded: result belongs to an earlier source revision",
|
|
459
|
+
});
|
|
460
|
+
}
|
|
366
461
|
/**
|
|
367
462
|
* @param addedText Text the model ADDED in this mutation (the `+` lines of a
|
|
368
463
|
* diff, or a written file's full content). Scanned for suppression and skip
|
|
@@ -370,6 +465,8 @@ export class VerificationGate {
|
|
|
370
465
|
*/
|
|
371
466
|
recordMutation(filePath, addedText) {
|
|
372
467
|
this.lastMutationSeq = ++this.seq;
|
|
468
|
+
this.runTouched = true;
|
|
469
|
+
this.passedChecks.clear();
|
|
373
470
|
this.mutatedFiles.add(filePath);
|
|
374
471
|
const reasons = [];
|
|
375
472
|
if (isCheckOwnFile(filePath))
|
|
@@ -378,26 +475,145 @@ export class VerificationGate {
|
|
|
378
475
|
reasons.push(...detectCheckWeakening(addedText).map((what) => `adds ${what}`));
|
|
379
476
|
if (reasons.length === 0)
|
|
380
477
|
return;
|
|
478
|
+
this.lastSuspectSeq = this.lastMutationSeq;
|
|
381
479
|
// Keep the fullest reason seen for this file rather than the newest.
|
|
382
480
|
const existing = this.suspects.get(filePath);
|
|
383
481
|
const merged = [...new Set([...(existing?.split("; ") ?? []), ...reasons])].join("; ");
|
|
384
482
|
this.suspects.set(filePath, merged);
|
|
385
483
|
}
|
|
386
|
-
|
|
484
|
+
get revision() {
|
|
485
|
+
return this.lastMutationSeq;
|
|
486
|
+
}
|
|
487
|
+
recordVerification(revision = this.revision, command = "verification") {
|
|
488
|
+
// A check that started before a later edit cannot verify that edit.
|
|
489
|
+
if (revision !== this.revision)
|
|
490
|
+
return;
|
|
491
|
+
this.rememberEvidence(command, "passed", "Host-observed successful exit at the current source revision", revision);
|
|
492
|
+
const key = checkKey(command);
|
|
493
|
+
this.passedChecks.set(key, revision);
|
|
494
|
+
// Eviction may require an extra check; it can never create an approval.
|
|
495
|
+
if (this.passedChecks.size > 256) {
|
|
496
|
+
const oldest = this.passedChecks.keys().next().value;
|
|
497
|
+
if (oldest !== undefined)
|
|
498
|
+
this.passedChecks.delete(oldest);
|
|
499
|
+
}
|
|
500
|
+
this.failedChecks.delete(key);
|
|
501
|
+
// A pass against the current file revision supersedes failures recorded
|
|
502
|
+
// against OLDER code. Exact-command-only clearing let one stale failure —
|
|
503
|
+
// a check that failed once and was never re-run byte-identically — block
|
|
504
|
+
// every later green run: verified never advanced and the gate re-injected
|
|
505
|
+
// "a check failed" on every turn, the endless recheck loop.
|
|
506
|
+
for (const [staleKey, failedAt] of this.failedChecks) {
|
|
507
|
+
if (failedAt < revision)
|
|
508
|
+
this.failedChecks.delete(staleKey);
|
|
509
|
+
}
|
|
510
|
+
if (this.failedChecks.size > 0)
|
|
511
|
+
return;
|
|
387
512
|
this.lastVerificationSeq = ++this.seq;
|
|
513
|
+
this.unknownVerification = false;
|
|
388
514
|
this.mutatedFiles.clear();
|
|
389
515
|
}
|
|
516
|
+
recordFailedVerification(command, revision = this.revision) {
|
|
517
|
+
const key = checkKey(command);
|
|
518
|
+
// A failure remains outstanding unless this SAME check already passed on
|
|
519
|
+
// a newer revision. An unrelated successful lint/build cannot erase it at
|
|
520
|
+
// the same revision — but a pass at a NEWER revision supersedes it in
|
|
521
|
+
// recordVerification, because it verified newer code.
|
|
522
|
+
if ((this.passedChecks.get(key) ?? -1) > revision)
|
|
523
|
+
return;
|
|
524
|
+
this.failedChecks.set(key, revision);
|
|
525
|
+
this.rememberEvidence(command, "failed", "Host-observed unsuccessful exit", revision);
|
|
526
|
+
}
|
|
527
|
+
requireFreshVerification(invalidateRevision = false, cause) {
|
|
528
|
+
this.unknownVerification = true;
|
|
529
|
+
if (invalidateRevision) {
|
|
530
|
+
this.lastMutationSeq = ++this.seq;
|
|
531
|
+
this.passedChecks.clear();
|
|
532
|
+
this.runTouched = true; // the command may have rewritten files
|
|
533
|
+
this.lastInvalidationCause = cause?.trim().slice(0, 200) || null;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
/** Remember a check shape the evidence classifier refused, for the demand's
|
|
537
|
+
* explanation. Command text is model-authored: capped, never executed. */
|
|
538
|
+
recordRejectedCheck(command, reason) {
|
|
539
|
+
if (!command.trim() || !reason.trim())
|
|
540
|
+
return;
|
|
541
|
+
this.rememberEvidence(command, "rejected", reason);
|
|
542
|
+
this.lastRejectedCheck = {
|
|
543
|
+
command: command.trim().slice(0, 200),
|
|
544
|
+
reason: reason.trim().slice(0, 200),
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
verificationProblem() {
|
|
548
|
+
if (!this.isOwed())
|
|
549
|
+
return null;
|
|
550
|
+
if (this.failedChecks.size > 0) {
|
|
551
|
+
return "Unverified: a check failed or did not confirm success. Rerun that check successfully before approval.";
|
|
552
|
+
}
|
|
553
|
+
return "Unverified: no successful check covers the current changes. Run the project's verification before approval.";
|
|
554
|
+
}
|
|
555
|
+
snapshot() {
|
|
556
|
+
return {
|
|
557
|
+
version: 1,
|
|
558
|
+
seq: this.seq,
|
|
559
|
+
mutation: this.lastMutationSeq,
|
|
560
|
+
verified: this.lastVerificationSeq,
|
|
561
|
+
files: [...this.mutatedFiles],
|
|
562
|
+
failedChecks: [...this.failedChecks],
|
|
563
|
+
unknown: this.unknownVerification,
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
restore(value) {
|
|
567
|
+
this.reset();
|
|
568
|
+
const parsed = verificationStateSchema.safeParse(value);
|
|
569
|
+
if (!parsed.success ||
|
|
570
|
+
parsed.data.mutation > parsed.data.seq ||
|
|
571
|
+
parsed.data.verified > parsed.data.seq) {
|
|
572
|
+
this.requireFreshVerification();
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
575
|
+
const state = parsed.data;
|
|
576
|
+
this.seq = state.seq;
|
|
577
|
+
this.lastMutationSeq = state.mutation;
|
|
578
|
+
this.lastVerificationSeq = state.verified;
|
|
579
|
+
this.mutatedFiles = new Set(state.files);
|
|
580
|
+
// Legacy bare-hash entries restore as revision 0 (ancient): any current
|
|
581
|
+
// green pass supersedes them, unblocking sessions poisoned by the old
|
|
582
|
+
// exact-command-only clearing.
|
|
583
|
+
this.failedChecks = new Map(state.failedChecks.map((entry) => (Array.isArray(entry) ? entry : [entry, 0])));
|
|
584
|
+
// Only an OWED snapshot restores as owed. The old `|| state.mutation > 0`
|
|
585
|
+
// forced every restart of an edited session to re-verify before any final
|
|
586
|
+
// answer — so reopening the app and asking a plain question hijacked the
|
|
587
|
+
// turn with a hook notice mid-stream. A session that was verified when it
|
|
588
|
+
// closed stays verified: genuinely unverified work still restores owed
|
|
589
|
+
// (mutation > verified), and any NEW edit in the resumed run bumps
|
|
590
|
+
// mutation above verified and demands re-verification as usual.
|
|
591
|
+
this.unknownVerification = state.unknown;
|
|
592
|
+
}
|
|
593
|
+
beginRun() {
|
|
594
|
+
this.injections = 0;
|
|
595
|
+
this.recheckInjections = 0;
|
|
596
|
+
this.lastDemandedMutationSeq = 0;
|
|
597
|
+
this.tamperInjections = 0;
|
|
598
|
+
this.lastSuspectSeq = 0;
|
|
599
|
+
this.lastReviewRequestedSeq = 0;
|
|
600
|
+
this.suspects.clear();
|
|
601
|
+
this.runTouched = false;
|
|
602
|
+
this.lastRejectedCheck = null;
|
|
603
|
+
this.lastInvalidationCause = null;
|
|
604
|
+
}
|
|
390
605
|
isOwed() {
|
|
391
|
-
return this.
|
|
606
|
+
return (this.unknownVerification ||
|
|
607
|
+
this.failedChecks.size > 0 ||
|
|
608
|
+
this.lastMutationSeq > this.lastVerificationSeq);
|
|
392
609
|
}
|
|
393
610
|
/**
|
|
394
|
-
*
|
|
395
|
-
* the
|
|
396
|
-
*
|
|
397
|
-
* unproven fix on top of it is noise.
|
|
611
|
+
* A passing check with test edits not yet covered by a review request. Without
|
|
612
|
+
* a pass, the standard demand includes the review instead of adding a stop.
|
|
613
|
+
* Requesting review is not proof of integrity; this is a bounded prompt gate.
|
|
398
614
|
*/
|
|
399
615
|
isTamperOwed() {
|
|
400
|
-
return this.
|
|
616
|
+
return this.lastSuspectSeq > this.lastReviewRequestedSeq && this.lastVerificationSeq > 0;
|
|
401
617
|
}
|
|
402
618
|
/** Suspect mutations recorded this run, sorted for stable output. */
|
|
403
619
|
tamperSuspects() {
|
|
@@ -411,24 +627,61 @@ export class VerificationGate {
|
|
|
411
627
|
* rather than painted and then superseded.
|
|
412
628
|
*/
|
|
413
629
|
willInject() {
|
|
414
|
-
return
|
|
415
|
-
|
|
630
|
+
return this.pendingReason() !== null;
|
|
631
|
+
}
|
|
632
|
+
pendingReason() {
|
|
633
|
+
// A run that neither edited code nor started a file-rewriting command
|
|
634
|
+
// cannot owe a NEW demand: inherited debt already had its turns, and
|
|
635
|
+
// re-arming here is what turned every later question prompt into a
|
|
636
|
+
// "Hook engaged" hijack. The debt itself stays recorded — the next run
|
|
637
|
+
// that edits code re-arms the demand as usual.
|
|
638
|
+
if (!this.runTouched)
|
|
639
|
+
return null;
|
|
640
|
+
if (this.isOwed()) {
|
|
641
|
+
if (this.injections < MAX_VERIFICATION_INJECTIONS) {
|
|
642
|
+
return this.lastVerificationSeq > 0 && this.lastMutationSeq > this.lastVerificationSeq
|
|
643
|
+
? "recheck"
|
|
644
|
+
: "initial";
|
|
645
|
+
}
|
|
646
|
+
// One extra pass only after the demanded check completed AND code changed
|
|
647
|
+
// again. Ignoring a prompt or editing without checking cannot re-arm it.
|
|
648
|
+
if (this.recheckInjections === 0 &&
|
|
649
|
+
this.lastVerificationSeq > this.lastDemandedMutationSeq &&
|
|
650
|
+
this.lastMutationSeq > this.lastVerificationSeq)
|
|
651
|
+
return "recheck";
|
|
652
|
+
}
|
|
653
|
+
if (this.isTamperOwed() && this.tamperInjections < MAX_TAMPER_INJECTIONS)
|
|
654
|
+
return "tamper";
|
|
655
|
+
return null;
|
|
416
656
|
}
|
|
417
657
|
/**
|
|
418
658
|
* The blocking message for the pre-stop hook, or null when nothing is owed
|
|
419
|
-
* or
|
|
420
|
-
*
|
|
421
|
-
* and one more injection only costs the user another restated final answer.
|
|
659
|
+
* or its bounded budget is spent. A later edit after the demanded check gets
|
|
660
|
+
* one additional pass; unchanged/unverified work never repeats a reminder.
|
|
422
661
|
*/
|
|
423
662
|
followUp() {
|
|
424
|
-
//
|
|
425
|
-
|
|
426
|
-
if (
|
|
427
|
-
this.injections
|
|
428
|
-
|
|
663
|
+
// Missing evidence and test-integrity review share one intervention.
|
|
664
|
+
const reason = this.pendingReason();
|
|
665
|
+
if (reason === "initial" || reason === "recheck") {
|
|
666
|
+
if (this.injections < MAX_VERIFICATION_INJECTIONS)
|
|
667
|
+
this.injections += 1;
|
|
668
|
+
if (reason === "recheck")
|
|
669
|
+
this.recheckInjections += 1;
|
|
670
|
+
this.lastDemandedMutationSeq = this.lastMutationSeq;
|
|
671
|
+
const messages = [
|
|
672
|
+
buildVerificationFollowUpMessage([...this.mutatedFiles].sort(), reason === "recheck", this.lastRejectedCheck, this.lastInvalidationCause),
|
|
673
|
+
];
|
|
674
|
+
// Review the current test edits alongside verification, not in a second
|
|
675
|
+
// stop after it. Later test edits still get the independent review budget.
|
|
676
|
+
if (this.lastSuspectSeq > this.lastReviewRequestedSeq) {
|
|
677
|
+
messages.push(buildTamperDisclosureMessage(this.tamperSuspects()));
|
|
678
|
+
this.lastReviewRequestedSeq = this.lastSuspectSeq;
|
|
679
|
+
}
|
|
680
|
+
return messages;
|
|
429
681
|
}
|
|
430
|
-
if (
|
|
682
|
+
if (reason === "tamper") {
|
|
431
683
|
this.tamperInjections += 1;
|
|
684
|
+
this.lastReviewRequestedSeq = this.lastSuspectSeq;
|
|
432
685
|
return [buildTamperDisclosureMessage(this.tamperSuspects())];
|
|
433
686
|
}
|
|
434
687
|
return null;
|
|
@@ -438,9 +691,20 @@ export class VerificationGate {
|
|
|
438
691
|
this.lastMutationSeq = 0;
|
|
439
692
|
this.lastVerificationSeq = 0;
|
|
440
693
|
this.injections = 0;
|
|
694
|
+
this.recheckInjections = 0;
|
|
695
|
+
this.lastDemandedMutationSeq = 0;
|
|
441
696
|
this.tamperInjections = 0;
|
|
697
|
+
this.lastSuspectSeq = 0;
|
|
698
|
+
this.lastReviewRequestedSeq = 0;
|
|
442
699
|
this.mutatedFiles.clear();
|
|
443
700
|
this.suspects.clear();
|
|
701
|
+
this.failedChecks.clear();
|
|
702
|
+
this.passedChecks.clear();
|
|
703
|
+
this.evidenceRecords.clear();
|
|
704
|
+
this.unknownVerification = false;
|
|
705
|
+
this.runTouched = false;
|
|
706
|
+
this.lastRejectedCheck = null;
|
|
707
|
+
this.lastInvalidationCause = null;
|
|
444
708
|
}
|
|
445
709
|
}
|
|
446
710
|
//# sourceMappingURL=verification-gate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-gate.js","sourceRoot":"","sources":["../../src/core/verification-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-gate.js","sourceRoot":"","sources":["../../src/core/verification-gate.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC5D,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;IAC/C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACtC,+EAA+E;IAC/E,0DAA0D;IAC1D,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,KAAK,CAAC;QACN,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAClC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;KACrF,CAAC,CACH;SACA,GAAG,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEhG,0FAA0F;AAC1F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,0EAA0E;AAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAEH;gFACgF;AAChF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;IACtB,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,KAAK;IACL,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAEzE,qEAAqE;AACrE,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,8EAA8E;AAC9E,MAAM,eAAe,GAAG;IACtB,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,KAAK;IACL,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;CACT,CAAC;AAEF,SAAS,YAAY,CAAC,IAAY;IAChC,oEAAoE;IACpE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,IAAI,CAAC;YAChB,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG;gBAAE,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC7D,IAAI,IAAI,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC;YACtC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC;YACb,OAAO,IAAI,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QACD,mEAAmE;QACnE,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,GAAG,EAAE,CAAC;YACb,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACf,OAAO;SACJ,IAAI,EAAE;SACN,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAC3B;SACA,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,iFAAiF;AACjF,SAAS,QAAQ,CAAC,OAAe;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG;gBAAE,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC7D,IAAI,IAAI,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC;;gBACjC,OAAO,IAAI,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,6EAA6E;AAC7E,SAAS,qBAAqB,CAAC,OAAe,EAAE,KAAa;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,kEAAkE;QAClE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,yEAAyE;IACzE,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,IAAI,KAAK,IAAI,eAAe;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,sCAAsC;IAC7E,OAAO,KAAK;SACT,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;SACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACvC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxB,CAAC;AAED,kEAAkE;AAClE,MAAM,WAAW,GACf,6IAA6I,CAAC;AAEhJ,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,uEAAuE;IACvE,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpF,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,oCAAoC;IACpC,IAAI,iEAAiE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,uCAAuC;IACvC,IACE,0FAA0F,CAAC,IAAI,CAC7F,IAAI,CACL,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpF,iEAAiE;IACjE,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,0DAA0D,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,gFAAgF,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,0EAA0E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAgD;IACvE,EAAE,EAAE,EAAE,uCAAuC,EAAE,IAAI,EAAE,8BAA8B,EAAE;IACrF,EAAE,EAAE,EAAE,uCAAuC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAChF,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACxD,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC9C,EAAE,EAAE,EAAE,uCAAuC,EAAE,IAAI,EAAE,2BAA2B,EAAE;IAClF,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAClD,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACtD,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAC/D;QACE,EAAE,EAAE,0DAA0D;QAC9D,IAAI,EAAE,cAAc;KACrB;IACD,EAAE,EAAE,EAAE,gCAAgC,EAAE,IAAI,EAAE,cAAc,EAAE;IAC9D;QACE,EAAE,EAAE,iDAAiD;QACrD,IAAI,EAAE,4BAA4B;KACnC;IACD,EAAE,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACtE,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE;IACjD,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE;CACjD,CAAC;AAEF,iEAAiE;AACjE,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,mBAAmB,EAAE,CAAC;QAC/C,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAQD,MAAM,6BAA6B,GACjC,mHAAmH;IACnH,8GAA8G;IAC9G,wGAAwG;IACxG,0HAA0H,CAAC;AAE7H,MAAM,UAAU,4BAA4B,CAAC,QAAoC;IAC/E,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE;QAChF,OAAO,EACL,+FAA+F;YAC/F,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9E,4FAA4F;YAC5F,8FAA8F;YAC9F,8FAA8F;YAC9F,8FAA8F;YAC9F,6FAA6F;YAC7F,6FAA6F;YAC7F,6FAA6F;YAC7F,6FAA6F;YAC7F,6BAA6B;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAwB,EACxB,OAAO,GAAG,KAAK,EACf,aAA0D,EAC1D,iBAAiC;IAEjC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE;QAChF,OAAO,EACL,CAAC,OAAO;YACN,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,qDAAqD;oBACrD,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,iBAAiB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,+FAA+F;gBACjG,CAAC,CAAC,yEAAyE;YAC7E,CAAC,CAAC,+EAA+E,CAAC;YACpF,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrB,CAAC,OAAO;gBACN,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,kFAAkF;oBACpF,CAAC,CAAC,6EAA6E;gBACjF,CAAC,CAAC,uFAAuF;oBACvF,wBAAwB,CAAC;YAC7B,yEAAyE;YACzE,oGAAoG;YACpG,sFAAsF;YACtF,yEAAyE;YACzE,uEAAuE;YACvE,mEAAmE;YACnE,2BAA2B;YAC3B,CAAC,aAAa;gBACZ,CAAC,CAAC,+DAA+D,aAAa,CAAC,OAAO,QAAQ,aAAa,CAAC,MAAM,IAAI;oBACpH,2FAA2F;oBAC3F,gGAAgG;gBAClG,CAAC,CAAC,EAAE,CAAC;YACP,GAAG;YACH,6BAA6B;KAChC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACnB,GAAG,GAAG,CAAC,CAAC;IACR,eAAe,GAAG,CAAC,CAAC;IACpB,mBAAmB,GAAG,CAAC,CAAC;IACxB,UAAU,GAAG,CAAC,CAAC;IACf,iBAAiB,GAAG,CAAC,CAAC;IACtB,uBAAuB,GAAG,CAAC,CAAC;IAC5B,gBAAgB,GAAG,CAAC,CAAC;IACrB,cAAc,GAAG,CAAC,CAAC;IACnB,sBAAsB,GAAG,CAAC,CAAC;IAC3B,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,0CAA0C;IACpF,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,mBAAmB,GAAG,KAAK,CAAC;IACpC;gFAC4E;IACpE,iBAAiB,GAA+C,IAAI,CAAC;IAC7E;8EAC0E;IAClE,qBAAqB,GAAkB,IAAI,CAAC;IACpD;;;;;;OAMG;IACK,UAAU,GAAG,KAAK,CAAC;IAC3B,6EAA6E;IACrE,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC;;;;;OAKG;IACK,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,eAAe,GAAG,IAAI,GAAG,EAAuD,CAAC;IAEjF,gBAAgB,CACtB,OAAe,EACf,MAAsC,EACtC,MAAc,EACd,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAExB,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ;YAAE,OAAO;QACvE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE;YAC5B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC/B,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC7B,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;IAC3E,CAAC;IAED,mGAAmG;IACnG,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CACvE,QAAQ,KAAK,IAAI,CAAC,QAAQ;YACxB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC;gBACE,GAAG,KAAK;gBACR,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,0DAA0D;aACnE,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,QAAgB,EAAE,SAAkB;QACjD,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAClF,IAAI,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3C,qEAAqE;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,cAAc;QACnE,oEAAoE;QACpE,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO;QACvC,IAAI,CAAC,gBAAgB,CACnB,OAAO,EACP,QAAQ,EACR,8DAA8D,EAC9D,QAAQ,CACT,CAAC;QACF,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,wEAAwE;QACxE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACrD,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,4DAA4D;QAC5D,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrD,IAAI,QAAQ,GAAG,QAAQ;gBAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,mBAAmB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,wBAAwB,CAAC,OAAe,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAChE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ;YAAE,OAAO;QAC1D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,iCAAiC,EAAE,QAAQ,CAAC,CAAC;IACxF,CAAC;IAED,wBAAwB,CAAC,kBAAkB,GAAG,KAAK,EAAE,KAAc;QACjE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,uCAAuC;YAC/D,IAAI,CAAC,qBAAqB,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC;QACnE,CAAC;IACH,CAAC;IAED;+EAC2E;IAC3E,mBAAmB,CAAC,OAAe,EAAE,MAAc;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO;QAC9C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,iBAAiB,GAAG;YACvB,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,uGAAuG,CAAC;QACjH,CAAC;QACD,OAAO,6GAA6G,CAAC;IACvH,CAAC;IAED,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,CAAU;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,QAAQ,EAAE,IAAI,CAAC,mBAAmB;YAClC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7B,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,mBAAmB;SAClC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAc;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxD,IACE,CAAC,MAAM,CAAC,OAAO;YACf,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;YACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EACtC,CAAC;YACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,wEAAwE;QACxE,sEAAsE;QACtE,+BAA+B;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CACzB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAC/E,CAAC;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,mEAAmE;QACnE,gEAAgE;QAChE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,OAAO,CACL,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAChD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,qEAAqE;IACrE,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aACtB,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;aACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC;IACvC,CAAC;IAED,aAAa;QACX,sEAAsE;QACtE,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,UAAU,GAAG,2BAA2B,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB;oBACpF,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;YACD,0EAA0E;YAC1E,yEAAyE;YACzE,IACE,IAAI,CAAC,iBAAiB,KAAK,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,uBAAuB;gBACvD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB;gBAE/C,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,gBAAgB,GAAG,qBAAqB;YAAE,OAAO,QAAQ,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,qEAAqE;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,UAAU,GAAG,2BAA2B;gBAAE,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YACxE,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe,CAAC;YACpD,MAAM,QAAQ,GAAG;gBACf,gCAAgC,CAC9B,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAC7B,MAAM,KAAK,SAAS,EACpB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,qBAAqB,CAC3B;aACF,CAAC;YACF,wEAAwE;YACxE,2EAA2E;YAC3E,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC;YACpD,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC;YAClD,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded, local-only comparison of Git workspace inputs. Ignored build output
|
|
3
|
+
* is excluded, but tracked files and explicitly edited inputs never are.
|
|
4
|
+
* Missing Git, symlinks/submodules, races and resource limits decline the
|
|
5
|
+
* optimization: the caller must require fresh checks instead.
|
|
6
|
+
*/
|
|
7
|
+
export declare function captureVerificationSnapshot(cwd: string, editedFiles?: readonly string[]): Promise<string | null>;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import fs from "node:fs/promises";
|
|
4
|
+
import { constants } from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { promisify } from "node:util";
|
|
7
|
+
const exec = promisify(execFile);
|
|
8
|
+
const MAX_FILES = 10_000;
|
|
9
|
+
const MAX_BYTES = 128 * 1024 * 1024;
|
|
10
|
+
const MAX_MS = 5000;
|
|
11
|
+
/**
|
|
12
|
+
* Bounded, local-only comparison of Git workspace inputs. Ignored build output
|
|
13
|
+
* is excluded, but tracked files and explicitly edited inputs never are.
|
|
14
|
+
* Missing Git, symlinks/submodules, races and resource limits decline the
|
|
15
|
+
* optimization: the caller must require fresh checks instead.
|
|
16
|
+
*/
|
|
17
|
+
export async function captureVerificationSnapshot(cwd, editedFiles = []) {
|
|
18
|
+
const deadline = Date.now() + MAX_MS;
|
|
19
|
+
try {
|
|
20
|
+
const git = async (args) => (await exec("git", args, {
|
|
21
|
+
cwd,
|
|
22
|
+
timeout: Math.max(1, deadline - Date.now()),
|
|
23
|
+
maxBuffer: 2 * 1024 * 1024,
|
|
24
|
+
})).stdout;
|
|
25
|
+
const root = await fs.realpath((await git(["rev-parse", "--show-toplevel"])).trim());
|
|
26
|
+
const list = async () => [
|
|
27
|
+
...new Set((await git(["-C", root, "ls-files", "--cached", "--others", "--exclude-standard", "-z"]))
|
|
28
|
+
.split("\0")
|
|
29
|
+
.filter(Boolean)),
|
|
30
|
+
].sort();
|
|
31
|
+
const listed = await list();
|
|
32
|
+
const explicit = [];
|
|
33
|
+
for (const file of editedFiles) {
|
|
34
|
+
if (explicit.length >= MAX_FILES || Date.now() > deadline)
|
|
35
|
+
return null;
|
|
36
|
+
const absolute = path.resolve(cwd, file);
|
|
37
|
+
// Canonicalize the parent, not the file: /var and /private/var alias on
|
|
38
|
+
// macOS, while the final component may legitimately have been deleted.
|
|
39
|
+
const parent = await fs.realpath(path.dirname(absolute));
|
|
40
|
+
explicit.push(path.relative(root, path.join(parent, path.basename(absolute))));
|
|
41
|
+
}
|
|
42
|
+
const files = [...new Set([...listed, ...explicit])].sort();
|
|
43
|
+
if (files.length > MAX_FILES)
|
|
44
|
+
return null;
|
|
45
|
+
const hash = createHash("sha256");
|
|
46
|
+
let bytes = 0;
|
|
47
|
+
const buffer = Buffer.alloc(64 * 1024);
|
|
48
|
+
for (const file of files) {
|
|
49
|
+
if (Date.now() > deadline || path.isAbsolute(file) || file.split(/[\\/]/).includes(".."))
|
|
50
|
+
return null;
|
|
51
|
+
const absolute = path.join(root, file);
|
|
52
|
+
hash.update(JSON.stringify(file));
|
|
53
|
+
let stat;
|
|
54
|
+
try {
|
|
55
|
+
stat = await fs.lstat(absolute);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
if (error.code !== "ENOENT")
|
|
59
|
+
throw error;
|
|
60
|
+
hash.update("missing");
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
// Do not follow repository-controlled links or read device files.
|
|
64
|
+
if (!stat.isFile())
|
|
65
|
+
return null;
|
|
66
|
+
const relative = path.relative(root, await fs.realpath(absolute));
|
|
67
|
+
if (path.isAbsolute(relative) || relative.split(path.sep).includes(".."))
|
|
68
|
+
return null;
|
|
69
|
+
if (bytes + stat.size > MAX_BYTES)
|
|
70
|
+
return null;
|
|
71
|
+
const handle = await fs.open(absolute, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
|
|
72
|
+
try {
|
|
73
|
+
const opened = await handle.stat();
|
|
74
|
+
if (!opened.isFile() || opened.ino !== stat.ino || opened.size !== stat.size)
|
|
75
|
+
return null;
|
|
76
|
+
const fileHash = createHash("sha256");
|
|
77
|
+
let fileBytes = 0;
|
|
78
|
+
for (;;) {
|
|
79
|
+
if (Date.now() > deadline)
|
|
80
|
+
return null;
|
|
81
|
+
const { bytesRead } = await handle.read(buffer, 0, buffer.length, null);
|
|
82
|
+
if (bytesRead === 0)
|
|
83
|
+
break;
|
|
84
|
+
bytes += bytesRead;
|
|
85
|
+
fileBytes += bytesRead;
|
|
86
|
+
if (bytes > MAX_BYTES)
|
|
87
|
+
return null;
|
|
88
|
+
fileHash.update(buffer.subarray(0, bytesRead));
|
|
89
|
+
}
|
|
90
|
+
const after = await handle.stat();
|
|
91
|
+
if (fileBytes !== stat.size ||
|
|
92
|
+
after.size !== stat.size ||
|
|
93
|
+
after.mtimeMs !== stat.mtimeMs ||
|
|
94
|
+
after.ino !== stat.ino)
|
|
95
|
+
return null;
|
|
96
|
+
hash.update(String(stat.mode));
|
|
97
|
+
hash.update(fileHash.digest());
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
await handle.close();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (Date.now() > deadline || JSON.stringify(listed) !== JSON.stringify(await list()))
|
|
104
|
+
return null;
|
|
105
|
+
return hash.digest("hex");
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=verification-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-snapshot.js","sourceRoot":"","sources":["../../src/core/verification-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,4 +32,3 @@ export declare function detectVerifyCommands(cwd: string, active: Set<LanguageId
|
|
|
32
32
|
* subset when its edit only touched one language.
|
|
33
33
|
*/
|
|
34
34
|
export declare function renderVerifySection(cmds: readonly VerifyCommand[]): string;
|
|
35
|
-
//# sourceMappingURL=verify-commands.d.ts.map
|