@prestyj/cli 5.30.0 → 5.30.2
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 +54 -39
- package/assets/skills/bulletproof/SKILL.md +1 -1
- package/assets/skills/clarify/SKILL.md +1 -1
- package/assets/skills/code-review/SKILL.md +1 -1
- package/assets/skills/compliance-guard/SKILL.md +1 -1
- package/assets/skills/durable/SKILL.md +1 -1
- package/assets/skills/evidence-led-ui/SKILL.md +1 -1
- package/assets/skills/lean/SKILL.md +1 -1
- package/assets/skills/refactoring/SKILL.md +1 -1
- package/assets/skills/root-cause/SKILL.md +1 -1
- package/assets/skills/shared-language/SKILL.md +1 -1
- package/assets/skills/tdd/SKILL.md +1 -1
- package/dist/app-sidecar/app-settings.d.ts +63 -0
- package/dist/app-sidecar/app-settings.js +147 -0
- package/dist/app-sidecar/app-settings.js.map +1 -0
- package/dist/app-sidecar/attachments.d.ts +11 -0
- package/dist/app-sidecar/attachments.js +47 -0
- package/dist/app-sidecar/attachments.js.map +1 -0
- package/dist/app-sidecar/auth-routes.d.ts +3 -0
- package/dist/app-sidecar/auth-routes.js +293 -0
- package/dist/app-sidecar/auth-routes.js.map +1 -0
- package/dist/app-sidecar/autopilot-runner.d.ts +62 -0
- package/dist/app-sidecar/autopilot-runner.js +373 -0
- package/dist/app-sidecar/autopilot-runner.js.map +1 -0
- package/dist/app-sidecar/file-search.d.ts +15 -0
- package/dist/app-sidecar/file-search.js +103 -0
- package/dist/app-sidecar/file-search.js.map +1 -0
- package/dist/app-sidecar/hf-pull-manager.d.ts +20 -0
- package/dist/app-sidecar/hf-pull-manager.js +224 -0
- package/dist/app-sidecar/hf-pull-manager.js.map +1 -0
- package/dist/app-sidecar/history-routes.d.ts +3 -0
- package/dist/app-sidecar/history-routes.js +375 -0
- package/dist/app-sidecar/history-routes.js.map +1 -0
- package/dist/app-sidecar/history.d.ts +67 -0
- package/dist/app-sidecar/history.js +23 -0
- package/dist/app-sidecar/history.js.map +1 -0
- package/dist/app-sidecar/http.d.ts +5 -0
- package/dist/app-sidecar/http.js +27 -0
- package/dist/app-sidecar/http.js.map +1 -0
- package/dist/app-sidecar/integration-routes.d.ts +3 -0
- package/dist/app-sidecar/integration-routes.js +286 -0
- package/dist/app-sidecar/integration-routes.js.map +1 -0
- package/dist/app-sidecar/json-mode.d.ts +10 -0
- package/dist/app-sidecar/json-mode.js +73 -0
- package/dist/app-sidecar/json-mode.js.map +1 -0
- package/dist/app-sidecar/keep-awake.d.ts +4 -0
- package/dist/app-sidecar/keep-awake.js +5 -0
- package/dist/app-sidecar/keep-awake.js.map +1 -0
- package/dist/app-sidecar/mcp-routes.d.ts +3 -0
- package/dist/app-sidecar/mcp-routes.js +185 -0
- package/dist/app-sidecar/mcp-routes.js.map +1 -0
- package/dist/app-sidecar/mcp-rows.d.ts +31 -0
- package/dist/app-sidecar/mcp-rows.js +77 -0
- package/dist/app-sidecar/mcp-rows.js.map +1 -0
- package/dist/app-sidecar/nolan-context.d.ts +20 -0
- package/dist/app-sidecar/nolan-context.js +55 -0
- package/dist/app-sidecar/nolan-context.js.map +1 -0
- package/dist/app-sidecar/progress-manager.d.ts +10 -0
- package/dist/app-sidecar/progress-manager.js +116 -0
- package/dist/app-sidecar/progress-manager.js.map +1 -0
- package/dist/app-sidecar/prompt-routes.d.ts +3 -0
- package/dist/app-sidecar/prompt-routes.js +355 -0
- package/dist/app-sidecar/prompt-routes.js.map +1 -0
- package/dist/app-sidecar/repo-polls.d.ts +18 -0
- package/dist/app-sidecar/repo-polls.js +45 -0
- package/dist/app-sidecar/repo-polls.js.map +1 -0
- package/dist/app-sidecar/route-context.d.ts +147 -0
- package/dist/app-sidecar/route-context.js +2 -0
- package/dist/app-sidecar/route-context.js.map +1 -0
- package/dist/app-sidecar/run-control-routes.d.ts +3 -0
- package/dist/app-sidecar/run-control-routes.js +437 -0
- package/dist/app-sidecar/run-control-routes.js.map +1 -0
- package/dist/app-sidecar/session-routes.d.ts +3 -0
- package/dist/app-sidecar/session-routes.js +115 -0
- package/dist/app-sidecar/session-routes.js.map +1 -0
- package/dist/app-sidecar/session-types.d.ts +39 -0
- package/dist/app-sidecar/session-types.js +5 -0
- package/dist/app-sidecar/session-types.js.map +1 -0
- package/dist/app-sidecar/task-routes.d.ts +3 -0
- package/dist/app-sidecar/task-routes.js +232 -0
- package/dist/app-sidecar/task-routes.js.map +1 -0
- package/dist/app-sidecar/usage.d.ts +19 -0
- package/dist/app-sidecar/usage.js +153 -0
- package/dist/app-sidecar/usage.js.map +1 -0
- package/dist/app-sidecar/workspace-routes.d.ts +3 -0
- package/dist/app-sidecar/workspace-routes.js +374 -0
- package/dist/app-sidecar/workspace-routes.js.map +1 -0
- package/dist/app-sidecar.js +541 -3971
- package/dist/app-sidecar.js.map +1 -1
- package/dist/chat-agents/jiwa.js +2 -0
- package/dist/chat-agents/jiwa.js.map +1 -1
- package/dist/chat-agents/memory.js +2 -0
- package/dist/chat-agents/memory.js.map +1 -1
- package/dist/cli/auth.js +13 -9
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli.js +10 -11
- package/dist/cli.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/core/acceptance-checks.js +3 -9
- package/dist/core/acceptance-checks.js.map +1 -1
- package/dist/core/agent-session/helpers.d.ts +26 -0
- package/dist/core/agent-session/helpers.js +47 -0
- package/dist/core/agent-session/helpers.js.map +1 -0
- package/dist/core/agent-session/mcp-tools.d.ts +68 -0
- package/dist/core/agent-session/mcp-tools.js +195 -0
- package/dist/core/agent-session/mcp-tools.js.map +1 -0
- package/dist/core/agent-session/run-loop-monitor.d.ts +63 -0
- package/dist/core/agent-session/run-loop-monitor.js +164 -0
- package/dist/core/agent-session/run-loop-monitor.js.map +1 -0
- package/dist/core/agent-session/transcript-markers.d.ts +57 -0
- package/dist/core/agent-session/transcript-markers.js +166 -0
- package/dist/core/agent-session/transcript-markers.js.map +1 -0
- package/dist/core/agent-session/verification-tracker.d.ts +50 -0
- package/dist/core/agent-session/verification-tracker.js +269 -0
- package/dist/core/agent-session/verification-tracker.js.map +1 -0
- package/dist/core/agent-session.d.ts +27 -87
- package/dist/core/agent-session.js +166 -713
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-providers.js +3 -3
- package/dist/core/auth-providers.js.map +1 -1
- package/dist/core/autopilot-cycle.d.ts +8 -2
- package/dist/core/autopilot-cycle.js +22 -3
- package/dist/core/autopilot-cycle.js.map +1 -1
- package/dist/core/bundled-agents.js +6 -6
- package/dist/core/bundled-agents.js.map +1 -1
- package/dist/core/checklist-git.d.ts +19 -0
- package/dist/core/checklist-git.js +54 -0
- package/dist/core/checklist-git.js.map +1 -0
- package/dist/core/checklist-items.d.ts +10 -1
- package/dist/core/checklist-items.js +22 -0
- package/dist/core/checklist-items.js.map +1 -1
- package/dist/core/checklist-prompt.d.ts +14 -3
- package/dist/core/checklist-prompt.js +38 -8
- package/dist/core/checklist-prompt.js.map +1 -1
- package/dist/core/checklist-snapshot.d.ts +5 -1
- package/dist/core/checklist-snapshot.js +20 -3
- package/dist/core/checklist-snapshot.js.map +1 -1
- package/dist/core/checklist-store.d.ts +5 -1
- package/dist/core/checklist-store.js +35 -4
- package/dist/core/checklist-store.js.map +1 -1
- package/dist/core/context-limits.js +1 -1
- package/dist/core/context-limits.js.map +1 -1
- package/dist/core/event-bus.d.ts +1 -1
- package/dist/core/event-bus.js +39 -13
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/extensions/plugin-bundles.js +4 -2
- package/dist/core/extensions/plugin-bundles.js.map +1 -1
- package/dist/core/hashline.d.ts +10 -8
- package/dist/core/hashline.js.map +1 -1
- package/dist/core/mcp/client.js +2 -0
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/loopback.d.ts +2 -2
- package/dist/core/mcp/loopback.js +2 -2
- package/dist/core/mcp/shared-pool.js +4 -3
- package/dist/core/mcp/shared-pool.js.map +1 -1
- package/dist/core/persistent-shell.js +2 -1
- package/dist/core/persistent-shell.js.map +1 -1
- package/dist/core/plan-handoff.d.ts +30 -0
- package/dist/core/plan-handoff.js +10 -0
- package/dist/core/plan-handoff.js.map +1 -0
- package/dist/core/plan-submission-gate.d.ts +28 -0
- package/dist/core/plan-submission-gate.js +27 -0
- package/dist/core/plan-submission-gate.js.map +1 -0
- package/dist/core/process-manager.js +9 -1
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/project-health-scan.d.ts +109 -0
- package/dist/core/project-health-scan.js +673 -0
- package/dist/core/project-health-scan.js.map +1 -0
- package/dist/core/project-health-score.d.ts +41 -0
- package/dist/core/project-health-score.js +257 -0
- package/dist/core/project-health-score.js.map +1 -0
- package/dist/core/prompt-commands.js +44 -6
- package/dist/core/prompt-commands.js.map +1 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-storage.d.ts +1 -0
- package/dist/core/session-storage.js +1 -1
- package/dist/core/session-storage.js.map +1 -1
- package/dist/core/skills.js +6 -9
- package/dist/core/skills.js.map +1 -1
- package/dist/core/style-packs/index.js +2 -11
- package/dist/core/style-packs/index.js.map +1 -1
- package/dist/core/style-packs/packs.d.ts +3 -12
- package/dist/core/style-packs/packs.js +132 -173
- package/dist/core/style-packs/packs.js.map +1 -1
- package/dist/core/subagent-manager.js +11 -6
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-receipt.js +3 -4
- package/dist/core/subagent-receipt.js.map +1 -1
- package/dist/core/ui-adoption.js +2 -0
- package/dist/core/ui-adoption.js.map +1 -1
- package/dist/core/ui-registry.js +5 -4
- package/dist/core/ui-registry.js.map +1 -1
- package/dist/core/verification-evidence.d.ts +21 -2
- package/dist/core/verification-evidence.js +283 -8
- package/dist/core/verification-evidence.js.map +1 -1
- package/dist/core/verification-gate.js +4 -2
- package/dist/core/verification-gate.js.map +1 -1
- package/dist/core/verify-commands.js +2 -3
- package/dist/core/verify-commands.js.map +1 -1
- package/dist/modes/agent-home-mode.js +1 -4
- package/dist/modes/agent-home-mode.js.map +1 -1
- package/dist/modes/subagent-worker-mode.js +13 -8
- package/dist/modes/subagent-worker-mode.js.map +1 -1
- package/dist/system-prompt.js +70 -87
- package/dist/system-prompt.js.map +1 -1
- package/dist/tools/ask-user.js +13 -74
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/bash.d.ts +3 -1
- package/dist/tools/bash.js +28 -84
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/checklist.d.ts +7 -14
- package/dist/tools/checklist.js +22 -41
- package/dist/tools/checklist.js.map +1 -1
- package/dist/tools/code-nav.js +7 -29
- package/dist/tools/code-nav.js.map +1 -1
- package/dist/tools/edit.d.ts +4 -9
- package/dist/tools/edit.js +175 -65
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/enter-plan.js +2 -7
- package/dist/tools/enter-plan.js.map +1 -1
- package/dist/tools/exit-plan.js +2 -3
- package/dist/tools/exit-plan.js.map +1 -1
- package/dist/tools/find.js +3 -4
- package/dist/tools/find.js.map +1 -1
- package/dist/tools/grep.js +9 -20
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/index.js +10 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/ls.js +3 -3
- package/dist/tools/ls.js.map +1 -1
- package/dist/tools/prompt-hints.js +34 -47
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/read-only-bash.js +3 -0
- package/dist/tools/read-only-bash.js.map +1 -1
- package/dist/tools/read.js +8 -20
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/search-code.js +4 -12
- package/dist/tools/search-code.js.map +1 -1
- package/dist/tools/skill.js +13 -7
- package/dist/tools/skill.js.map +1 -1
- package/dist/tools/subagent-control.js +7 -22
- package/dist/tools/subagent-control.js.map +1 -1
- package/dist/tools/subagent.js +1 -1
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/task-output.js +4 -15
- package/dist/tools/task-output.js.map +1 -1
- package/dist/tools/task-send.js +5 -17
- package/dist/tools/task-send.js.map +1 -1
- package/dist/tools/task-stop.js +2 -2
- package/dist/tools/task-stop.js.map +1 -1
- package/dist/tools/tool-search.js +2 -7
- package/dist/tools/tool-search.js.map +1 -1
- package/dist/tools/tool-tiers.d.ts +21 -4
- package/dist/tools/tool-tiers.js +44 -17
- package/dist/tools/tool-tiers.js.map +1 -1
- package/dist/tools/web-fetch.js +7 -33
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/write.js +3 -4
- package/dist/tools/write.js.map +1 -1
- package/dist/ui/App.js +20 -26
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/components/Footer.js +1 -2
- package/dist/ui/components/Footer.js.map +1 -1
- package/dist/ui/components/InputArea.js +0 -2
- package/dist/ui/components/InputArea.js.map +1 -1
- package/dist/ui/components/ToolExecution.js +4 -3
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/hooks/useAgentLoop.js +7 -6
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/dist/ui/sessions.js +1 -5
- package/dist/ui/sessions.js.map +1 -1
- package/dist/ui/utils/highlight.d.ts +0 -5
- package/dist/ui/utils/highlight.js +3 -49
- package/dist/ui/utils/highlight.js.map +1 -1
- package/dist/ui/utils/markdown-renderer.d.ts +6 -0
- package/dist/ui/utils/markdown-renderer.js +21 -5
- package/dist/ui/utils/markdown-renderer.js.map +1 -1
- package/dist/utils/process.js +3 -3
- package/dist/utils/process.js.map +1 -1
- package/dist/utils/shared-poll.d.ts +37 -0
- package/dist/utils/shared-poll.js +104 -0
- package/dist/utils/shared-poll.js.map +1 -0
- package/package.json +8 -8
- package/dist/core/api-benchmark.d.ts +0 -63
- package/dist/core/api-benchmark.js +0 -381
- package/dist/core/api-benchmark.js.map +0 -1
- package/dist/core/bash-spawn-benchmark.d.ts +0 -1
- package/dist/core/bash-spawn-benchmark.js +0 -139
- package/dist/core/bash-spawn-benchmark.js.map +0 -1
- package/dist/core/cache-warm-benchmark.d.ts +0 -21
- package/dist/core/cache-warm-benchmark.js +0 -170
- package/dist/core/cache-warm-benchmark.js.map +0 -1
- package/dist/core/fast-apply-benchmark.d.ts +0 -25
- package/dist/core/fast-apply-benchmark.js +0 -284
- package/dist/core/fast-apply-benchmark.js.map +0 -1
- package/dist/core/hashline-edit-benchmark.d.ts +0 -88
- package/dist/core/hashline-edit-benchmark.js +0 -518
- package/dist/core/hashline-edit-benchmark.js.map +0 -1
- package/dist/core/semantic-search-benchmark.d.ts +0 -36
- package/dist/core/semantic-search-benchmark.js +0 -211
- package/dist/core/semantic-search-benchmark.js.map +0 -1
- package/dist/core/speed-benchmark.d.ts +0 -132
- package/dist/core/speed-benchmark.js +0 -410
- package/dist/core/speed-benchmark.js.map +0 -1
- package/dist/ui/activity-phrases.d.ts +0 -10
- package/dist/ui/activity-phrases.js +0 -184
- package/dist/ui/activity-phrases.js.map +0 -1
- package/dist/ui/components/PlanApproval.d.ts +0 -7
- package/dist/ui/components/PlanApproval.js +0 -60
- package/dist/ui/components/PlanApproval.js.map +0 -1
- package/dist/ui/components/PlanBanner.d.ts +0 -5
- package/dist/ui/components/PlanBanner.js +0 -31
- package/dist/ui/components/PlanBanner.js.map +0 -1
- package/dist/ui/components/PlanProgress.d.ts +0 -6
- package/dist/ui/components/PlanProgress.js +0 -30
- package/dist/ui/components/PlanProgress.js.map +0 -1
- package/dist/ui/hooks/useMinDisplayTime.d.ts +0 -10
- package/dist/ui/hooks/useMinDisplayTime.js +0 -34
- package/dist/ui/hooks/useMinDisplayTime.js.map +0 -1
- package/dist/ui/hooks/useSessionManager.d.ts +0 -12
- package/dist/ui/hooks/useSessionManager.js +0 -43
- package/dist/ui/hooks/useSessionManager.js.map +0 -1
- package/dist/ui/hooks/useSlashCommands.d.ts +0 -6
- package/dist/ui/hooks/useSlashCommands.js +0 -11
- package/dist/ui/hooks/useSlashCommands.js.map +0 -1
- package/dist/ui/terminal-history-spacing.d.ts +0 -1
- package/dist/ui/terminal-history-spacing.js +0 -2
- package/dist/ui/terminal-history-spacing.js.map +0 -1
- package/dist/ui/utils/markdown-cache.d.ts +0 -10
- package/dist/ui/utils/markdown-cache.js +0 -58
- package/dist/ui/utils/markdown-cache.js.map +0 -1
- package/dist/ui/utils/token-to-ansi.d.ts +0 -8
- package/dist/ui/utils/token-to-ansi.js +0 -323
- package/dist/ui/utils/token-to-ansi.js.map +0 -1
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React, { useState } from "react";
|
|
3
|
-
import { Text, Box, useInput } from "ink";
|
|
4
|
-
import { useTheme } from "../theme/theme.js";
|
|
5
|
-
import { useTerminalSize } from "../hooks/useTerminalSize.js";
|
|
6
|
-
import { Markdown } from "./Markdown.js";
|
|
7
|
-
import { visualWidth } from "../utils/table-text.js";
|
|
8
|
-
const ART_LINE_1 = " ▀█▀ █ █ █▀▀ █▀█ █ █▀█ █▄ █";
|
|
9
|
-
const ART_LINE_2 = " █ █▀█ ██▄ █▀▀ █▄▄ █▀█ █ ▀█";
|
|
10
|
-
// Use visual width (not .length) so padding is correct on all terminals
|
|
11
|
-
const ART_VISUAL_WIDTH = visualWidth(ART_LINE_1);
|
|
12
|
-
// ║ + space on each side = 4
|
|
13
|
-
const FRAME_OVERHEAD = 4;
|
|
14
|
-
function frameLine(content, innerWidth) {
|
|
15
|
-
const contentVisual = visualWidth(content);
|
|
16
|
-
const pad = Math.max(0, innerWidth - contentVisual);
|
|
17
|
-
return "║ " + content + " ".repeat(pad) + " ║";
|
|
18
|
-
}
|
|
19
|
-
export function PlanApproval({ planPath, planContent, onDecision }) {
|
|
20
|
-
const theme = useTheme();
|
|
21
|
-
const { columns } = useTerminalSize();
|
|
22
|
-
const [mode, setMode] = useState("prompt");
|
|
23
|
-
const [feedback, setFeedback] = useState("");
|
|
24
|
-
useInput((input, key) => {
|
|
25
|
-
if (mode === "feedback") {
|
|
26
|
-
if (key.return) {
|
|
27
|
-
onDecision("reject", feedback);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
if (key.escape) {
|
|
31
|
-
setMode("prompt");
|
|
32
|
-
setFeedback("");
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
if (key.backspace || key.delete) {
|
|
36
|
-
setFeedback((prev) => prev.slice(0, -1));
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
if (input && !key.ctrl && !key.meta) {
|
|
40
|
-
setFeedback((prev) => prev + input);
|
|
41
|
-
}
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
// Prompt mode
|
|
45
|
-
const lower = input.toLowerCase();
|
|
46
|
-
if (lower === "a") {
|
|
47
|
-
onDecision("approve");
|
|
48
|
-
}
|
|
49
|
-
else if (lower === "r") {
|
|
50
|
-
setMode("feedback");
|
|
51
|
-
}
|
|
52
|
-
else if (lower === "c" || key.escape) {
|
|
53
|
-
onDecision("cancel");
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
const innerWidth = Math.max(ART_VISUAL_WIDTH, columns - FRAME_OVERHEAD);
|
|
57
|
-
const statusContent = "Review plan · Awaiting your decision";
|
|
58
|
-
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, width: columns, children: [_jsx(Text, { color: theme.planPrimary, children: "╔" + "═".repeat(innerWidth + 2) + "╗" }), _jsx(Text, { color: theme.planPrimary, children: frameLine(ART_LINE_1, innerWidth) }), _jsx(Text, { color: theme.planPrimary, children: frameLine(ART_LINE_2, innerWidth) }), _jsx(Text, { color: theme.planPrimary, children: "╠" + "═".repeat(innerWidth + 2) + "╣" }), _jsx(Text, { color: theme.planPrimary, children: frameLine(statusContent, innerWidth) }), _jsx(Text, { color: theme.planPrimary, children: "╚" + "═".repeat(innerWidth + 2) + "╝" }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: theme.textDim, children: "Plan: " }), _jsx(Text, { color: theme.planPrimary, children: planPath })] }), _jsx(Box, { marginTop: 1, borderStyle: "round", borderColor: theme.planBorder, paddingLeft: 1, paddingRight: 1, flexDirection: "column", children: _jsx(Markdown, { children: planContent }) }), mode === "prompt" ? (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: theme.planPrimary, bold: true, children: "[A]" }), _jsx(Text, { color: theme.text, children: "pprove " }), _jsx(Text, { color: theme.planPrimary, bold: true, children: "[R]" }), _jsx(Text, { color: theme.text, children: "eject with feedback " }), _jsx(Text, { color: theme.planPrimary, bold: true, children: "[C]" }), _jsx(Text, { color: theme.text, children: "ancel" })] })) : (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.planPrimary, children: "Feedback (Enter to submit, Esc to cancel):" }), _jsx(Box, { children: _jsxs(Text, { color: theme.text, children: ["> ", feedback, "\u258D"] }) })] }))] }));
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=PlanApproval.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlanApproval.js","sourceRoot":"","sources":["../../../src/ui/components/PlanApproval.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { Text, Box } from "ink";
|
|
4
|
-
import { useTheme } from "../theme/theme.js";
|
|
5
|
-
import { useTerminalSize } from "../hooks/useTerminalSize.js";
|
|
6
|
-
import { visualWidth } from "../utils/table-text.js";
|
|
7
|
-
const ART_LINE_1 = " ▀█▀ █ █ █▀▀ █▀█ █ █▀█ █▄ █";
|
|
8
|
-
const ART_LINE_2 = " █ █▀█ ██▄ █▀▀ █▄▄ █▀█ █ ▀█";
|
|
9
|
-
// Use visual width (not .length) so padding is correct on all terminals
|
|
10
|
-
const ART_VISUAL_WIDTH = visualWidth(ART_LINE_1);
|
|
11
|
-
// ║ + space on each side = 4
|
|
12
|
-
const FRAME_OVERHEAD = 4;
|
|
13
|
-
function frameLine(content, innerWidth) {
|
|
14
|
-
const contentVisual = visualWidth(content);
|
|
15
|
-
const pad = Math.max(0, innerWidth - contentVisual);
|
|
16
|
-
return "║ " + content + " ".repeat(pad) + " ║";
|
|
17
|
-
}
|
|
18
|
-
export function PlanBanner({ status = "researching" }) {
|
|
19
|
-
const theme = useTheme();
|
|
20
|
-
const { columns } = useTerminalSize();
|
|
21
|
-
const statusText = status === "awaiting_approval"
|
|
22
|
-
? "Awaiting approval..."
|
|
23
|
-
: status === "drafting"
|
|
24
|
-
? "Drafting plan..."
|
|
25
|
-
: "Researching...";
|
|
26
|
-
// Scale the frame to terminal width, but never narrower than the ASCII art
|
|
27
|
-
const innerWidth = Math.max(ART_VISUAL_WIDTH, columns - FRAME_OVERHEAD);
|
|
28
|
-
const statusContent = "Read-only mode · " + statusText;
|
|
29
|
-
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, width: columns, children: [_jsx(Text, { color: theme.planPrimary, children: "╔" + "═".repeat(innerWidth + 2) + "╗" }), _jsx(Text, { color: theme.planPrimary, children: frameLine(ART_LINE_1, innerWidth) }), _jsx(Text, { color: theme.planPrimary, children: frameLine(ART_LINE_2, innerWidth) }), _jsx(Text, { color: theme.planPrimary, children: "╠" + "═".repeat(innerWidth + 2) + "╣" }), _jsx(Text, { color: theme.planPrimary, children: frameLine(statusContent, innerWidth) }), _jsx(Text, { color: theme.planPrimary, children: "╚" + "═".repeat(innerWidth + 2) + "╝" })] }));
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=PlanBanner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlanBanner.js","sourceRoot":"","sources":["../../../src/ui/components/PlanBanner.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMrD,MAAM,UAAU,GAAG,iCAAiC,CAAC;AACrD,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD,wEAAwE;AACxE,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAEjD,6BAA6B;AAC7B,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,SAAS,CAAC,OAAe,EAAE,UAAkB;IACpD,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,CAAC;IACpD,OAAO,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,EAAmB;IACpE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAEtC,MAAM,UAAU,GACd,MAAM,KAAK,mBAAmB;QAC5B,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,MAAM,KAAK,UAAU;YACrB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,gBAAgB,CAAC;IAEzB,2EAA2E;IAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;IAExE,MAAM,aAAa,GAAG,mBAAmB,GAAG,UAAU,CAAC;IAEvD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,aACtD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,WAAW,YAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,GAAQ,EAC/E,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,WAAW,YAAG,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,GAAQ,EAC1E,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,WAAW,YAAG,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,GAAQ,EAC1E,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,WAAW,YAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,GAAQ,EAC/E,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,WAAW,YAAG,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,GAAQ,EAC7E,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,WAAW,YAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,GAAQ,IAC3E,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { Text, Box } from "ink";
|
|
4
|
-
import { useTheme } from "../theme/theme.js";
|
|
5
|
-
import { useTerminalSize } from "../hooks/useTerminalSize.js";
|
|
6
|
-
export function PlanProgress({ steps }) {
|
|
7
|
-
const theme = useTheme();
|
|
8
|
-
const { columns } = useTerminalSize();
|
|
9
|
-
if (steps.length === 0)
|
|
10
|
-
return null;
|
|
11
|
-
const done = steps.filter((s) => s.completed).length;
|
|
12
|
-
const total = steps.length;
|
|
13
|
-
const current = steps.find((s) => !s.completed);
|
|
14
|
-
// Compact progress bar
|
|
15
|
-
const barWidth = Math.min(total, 20);
|
|
16
|
-
const filledWidth = Math.round((done / total) * barWidth);
|
|
17
|
-
const bar = "\u2588".repeat(filledWidth) + "\u2591".repeat(barWidth - filledWidth);
|
|
18
|
-
// Calculate available space for current step text
|
|
19
|
-
// "Plan " (5) + bar (barWidth) + " " (1) + "n/n" (count) + " \u2500 n. " (prefix ~6)
|
|
20
|
-
const countStr = `${done}/${total}`;
|
|
21
|
-
const fixedWidth = 5 + barWidth + 1 + countStr.length + 1;
|
|
22
|
-
const stepPrefix = current ? `\u2500 ${current.step}. ` : "";
|
|
23
|
-
const availableForText = columns - fixedWidth - stepPrefix.length - 1;
|
|
24
|
-
let stepText = current?.text ?? "";
|
|
25
|
-
if (stepText.length > availableForText) {
|
|
26
|
-
stepText = availableForText > 4 ? stepText.slice(0, availableForText - 3) + "..." : "";
|
|
27
|
-
}
|
|
28
|
-
return (_jsx(Box, { flexDirection: "column", marginTop: 1, marginBottom: 0, children: _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: theme.planPrimary, bold: true, children: "Plan" }), _jsx(Text, { color: done === total ? theme.success : theme.planPrimary, children: bar }), _jsx(Text, { color: theme.textDim, children: countStr }), current && stepText && (_jsxs(Text, { color: theme.textDim, children: [stepPrefix, stepText] })), done === total && (_jsx(Text, { color: theme.success, bold: true, children: "\u2713 Done" }))] }) }));
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=PlanProgress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlanProgress.js","sourceRoot":"","sources":["../../../src/ui/components/PlanProgress.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hold a value for at least `minMs` milliseconds before switching to the
|
|
3
|
-
* next value. Prevents rapid visual flicker when values change faster
|
|
4
|
-
* than a human can read (e.g. collapsed tool group hints).
|
|
5
|
-
*
|
|
6
|
-
* If the value changes again before the timer fires the timer restarts
|
|
7
|
-
* with the newest value, so the displayed value is never stale by more
|
|
8
|
-
* than one transition.
|
|
9
|
-
*/
|
|
10
|
-
export declare function useMinDisplayTime<T>(value: T, minMs?: number): T;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { useState, useRef, useEffect } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Hold a value for at least `minMs` milliseconds before switching to the
|
|
4
|
-
* next value. Prevents rapid visual flicker when values change faster
|
|
5
|
-
* than a human can read (e.g. collapsed tool group hints).
|
|
6
|
-
*
|
|
7
|
-
* If the value changes again before the timer fires the timer restarts
|
|
8
|
-
* with the newest value, so the displayed value is never stale by more
|
|
9
|
-
* than one transition.
|
|
10
|
-
*/
|
|
11
|
-
export function useMinDisplayTime(value, minMs = 700) {
|
|
12
|
-
const [displayed, setDisplayed] = useState(value);
|
|
13
|
-
const timerRef = useRef(null);
|
|
14
|
-
const latestRef = useRef(value);
|
|
15
|
-
latestRef.current = value;
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
// First render — sync immediately
|
|
18
|
-
if (displayed === value)
|
|
19
|
-
return;
|
|
20
|
-
// Clear any pending timer
|
|
21
|
-
if (timerRef.current)
|
|
22
|
-
clearTimeout(timerRef.current);
|
|
23
|
-
timerRef.current = setTimeout(() => {
|
|
24
|
-
setDisplayed(latestRef.current);
|
|
25
|
-
timerRef.current = null;
|
|
26
|
-
}, minMs);
|
|
27
|
-
return () => {
|
|
28
|
-
if (timerRef.current)
|
|
29
|
-
clearTimeout(timerRef.current);
|
|
30
|
-
};
|
|
31
|
-
}, [value, minMs, displayed]);
|
|
32
|
-
return displayed;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=useMinDisplayTime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMinDisplayTime.js","sourceRoot":"","sources":["../../../src/ui/hooks/useMinDisplayTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAI,KAAQ,EAAE,KAAK,GAAG,GAAG;IACxD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,kCAAkC;QAClC,IAAI,SAAS,KAAK,KAAK;YAAE,OAAO;QAEhC,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,OAAO;YAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAErD,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,CAAC,OAAO;gBAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Message } from "@prestyj/ai";
|
|
2
|
-
import { type SessionInfo } from "../../core/session-manager.js";
|
|
3
|
-
import type { Provider } from "@prestyj/ai";
|
|
4
|
-
export interface UseSessionManagerReturn {
|
|
5
|
-
sessionId: string;
|
|
6
|
-
sessionPath: string;
|
|
7
|
-
create: (cwd: string, provider: Provider, model: string) => Promise<void>;
|
|
8
|
-
load: (sessionPath: string) => Promise<Message[]>;
|
|
9
|
-
persistMessages: (messages: Message[], fromIndex: number) => Promise<void>;
|
|
10
|
-
listSessions: (cwd: string) => Promise<SessionInfo[]>;
|
|
11
|
-
}
|
|
12
|
-
export declare function useSessionManager(sessionsDir: string): UseSessionManagerReturn;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { useState, useCallback, useRef } from "react";
|
|
2
|
-
import { SessionManager } from "../../core/session-manager.js";
|
|
3
|
-
import crypto from "node:crypto";
|
|
4
|
-
export function useSessionManager(sessionsDir) {
|
|
5
|
-
const managerRef = useRef(new SessionManager(sessionsDir));
|
|
6
|
-
const [sessionId, setSessionId] = useState("");
|
|
7
|
-
const [sessionPath, setSessionPath] = useState("");
|
|
8
|
-
const create = useCallback(async (cwd, provider, model) => {
|
|
9
|
-
const session = await managerRef.current.create(cwd, provider, model);
|
|
10
|
-
setSessionId(session.id);
|
|
11
|
-
setSessionPath(session.path);
|
|
12
|
-
}, []);
|
|
13
|
-
const load = useCallback(async (path) => {
|
|
14
|
-
const loaded = await managerRef.current.load(path);
|
|
15
|
-
return managerRef.current.getMessages(loaded.entries);
|
|
16
|
-
}, []);
|
|
17
|
-
const persistMessages = useCallback(async (messages, fromIndex) => {
|
|
18
|
-
if (!sessionPath)
|
|
19
|
-
return;
|
|
20
|
-
for (let i = fromIndex; i < messages.length; i++) {
|
|
21
|
-
const entry = {
|
|
22
|
-
type: "message",
|
|
23
|
-
id: crypto.randomUUID(),
|
|
24
|
-
parentId: null,
|
|
25
|
-
timestamp: new Date().toISOString(),
|
|
26
|
-
message: messages[i],
|
|
27
|
-
};
|
|
28
|
-
await managerRef.current.appendEntry(sessionPath, entry);
|
|
29
|
-
}
|
|
30
|
-
}, [sessionPath]);
|
|
31
|
-
const listSessions = useCallback(async (cwd) => {
|
|
32
|
-
return managerRef.current.list(cwd);
|
|
33
|
-
}, []);
|
|
34
|
-
return {
|
|
35
|
-
sessionId,
|
|
36
|
-
sessionPath,
|
|
37
|
-
create,
|
|
38
|
-
load,
|
|
39
|
-
persistMessages,
|
|
40
|
-
listSessions,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=useSessionManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionManager.js","sourceRoot":"","sources":["../../../src/ui/hooks/useSessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAuC,MAAM,+BAA+B,CAAC;AACpG,OAAO,MAAM,MAAM,aAAa,CAAC;AAYjC,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,GAAW,EAAE,QAAkB,EAAE,KAAa,EAAE,EAAE;QAClF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzB,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,QAAmB,EAAE,SAAiB,EAAE,EAAE;QAC/C,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;aACrB,CAAC;YACF,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;QACrD,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,SAAS;QACT,WAAW;QACX,MAAM;QACN,IAAI;QACJ,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { SlashCommandRegistry, SlashCommandContext } from "../../core/slash-commands.js";
|
|
2
|
-
export interface UseSlashCommandsReturn {
|
|
3
|
-
isSlashCommand: (input: string) => boolean;
|
|
4
|
-
execute: (input: string) => Promise<string | null>;
|
|
5
|
-
}
|
|
6
|
-
export declare function useSlashCommands(registry: SlashCommandRegistry, context: SlashCommandContext): UseSlashCommandsReturn;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { useCallback } from "react";
|
|
2
|
-
export function useSlashCommands(registry, context) {
|
|
3
|
-
const isSlashCommand = useCallback((input) => {
|
|
4
|
-
return registry.parse(input.trim()) !== null;
|
|
5
|
-
}, [registry]);
|
|
6
|
-
const execute = useCallback(async (input) => {
|
|
7
|
-
return registry.execute(input.trim(), context);
|
|
8
|
-
}, [registry, context]);
|
|
9
|
-
return { isSlashCommand, execute };
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=useSlashCommands.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSlashCommands.js","sourceRoot":"","sources":["../../../src/ui/hooks/useSlashCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAQpC,MAAM,UAAU,gBAAgB,CAC9B,QAA8B,EAC9B,OAA4B;IAE5B,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,KAAa,EAAE,EAAE;QAChB,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/C,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EAAE,KAAa,EAAE,EAAE;QACtB,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { isTranscriptSpacingKind as isAgentSpacingKind } from "./transcript/spacing.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-history-spacing.js","sourceRoot":"","sources":["../../src/ui/terminal-history-spacing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/** LRU cache for rendered markdown ANSI strings, scoped by theme + width. */
|
|
2
|
-
declare class MarkdownAnsiCache {
|
|
3
|
-
private cache;
|
|
4
|
-
get(body: string, themeName: string, columns: number): string | undefined;
|
|
5
|
-
set(body: string, themeName: string, columns: number, ansi: string): void;
|
|
6
|
-
private key;
|
|
7
|
-
}
|
|
8
|
-
export declare const markdownAnsiCache: MarkdownAnsiCache;
|
|
9
|
-
export declare function containsMarkdownSyntax(text: string): boolean;
|
|
10
|
-
export {};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
const MAX_SIZE = 500;
|
|
2
|
-
/**
|
|
3
|
-
* cyrb53 — fast 53-bit non-cryptographic string hash.
|
|
4
|
-
* ~50–100× faster than SHA-256 for cache keying. Collision risk is
|
|
5
|
-
* negligible at our 500-entry working set.
|
|
6
|
-
* https://stackoverflow.com/a/52171480
|
|
7
|
-
*/
|
|
8
|
-
function cyrb53(str, seed = 0) {
|
|
9
|
-
let h1 = 0xdeadbeef ^ seed;
|
|
10
|
-
let h2 = 0x41c6ce57 ^ seed;
|
|
11
|
-
for (let i = 0; i < str.length; i++) {
|
|
12
|
-
const ch = str.charCodeAt(i);
|
|
13
|
-
h1 = Math.imul(h1 ^ ch, 2654435761);
|
|
14
|
-
h2 = Math.imul(h2 ^ ch, 1597334677);
|
|
15
|
-
}
|
|
16
|
-
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);
|
|
17
|
-
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);
|
|
18
|
-
return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36);
|
|
19
|
-
}
|
|
20
|
-
/** LRU cache for rendered markdown ANSI strings, scoped by theme + width. */
|
|
21
|
-
class MarkdownAnsiCache {
|
|
22
|
-
cache = new Map();
|
|
23
|
-
get(body, themeName, columns) {
|
|
24
|
-
const key = this.key(body, themeName, columns);
|
|
25
|
-
const entry = this.cache.get(key);
|
|
26
|
-
if (!entry)
|
|
27
|
-
return undefined;
|
|
28
|
-
// Move to end (most recently used)
|
|
29
|
-
this.cache.delete(key);
|
|
30
|
-
this.cache.set(key, entry);
|
|
31
|
-
return entry;
|
|
32
|
-
}
|
|
33
|
-
set(body, themeName, columns, ansi) {
|
|
34
|
-
const key = this.key(body, themeName, columns);
|
|
35
|
-
this.cache.delete(key);
|
|
36
|
-
this.cache.set(key, ansi);
|
|
37
|
-
if (this.cache.size > MAX_SIZE) {
|
|
38
|
-
const oldest = this.cache.keys().next().value;
|
|
39
|
-
this.cache.delete(oldest);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
key(body, themeName, columns) {
|
|
43
|
-
return `${themeName}:${columns}:${cyrb53(body)}`;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export const markdownAnsiCache = new MarkdownAnsiCache();
|
|
47
|
-
/**
|
|
48
|
-
* Check whether text contains markdown syntax worth parsing.
|
|
49
|
-
* If it doesn't, the caller can skip marked.lexer() entirely.
|
|
50
|
-
* Matches Claude Code's MD_SYNTAX_RE patterns.
|
|
51
|
-
*/
|
|
52
|
-
const MARKDOWN_SYNTAX_RE = /[#*`|[>\-_~]|\n\n|^\d+\. |\n\d+\. /m;
|
|
53
|
-
export function containsMarkdownSyntax(text) {
|
|
54
|
-
// Only check the first 500 chars for performance
|
|
55
|
-
const sample = text.length > 500 ? text.slice(0, 500) : text;
|
|
56
|
-
return MARKDOWN_SYNTAX_RE.test(sample);
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=markdown-cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-cache.js","sourceRoot":"","sources":["../../../src/ui/utils/markdown-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type Token } from "marked";
|
|
2
|
-
import type { Theme } from "../theme/theme.js";
|
|
3
|
-
/**
|
|
4
|
-
* Convert an array of marked block-level tokens into a single ANSI string.
|
|
5
|
-
* Each block is separated by a blank line. The result can be passed directly
|
|
6
|
-
* to Ink's `<Text>`.
|
|
7
|
-
*/
|
|
8
|
-
export declare function tokensToAnsi(tokens: Token[], theme: Theme, columns: number): string;
|