@pentoshi/clai 3.6.0 → 3.7.3
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/dist/agent/compaction-summary.d.ts +17 -0
- package/dist/agent/compaction-summary.js +64 -0
- package/dist/agent/compaction-summary.js.map +1 -0
- package/dist/agent/confirm-port.d.ts +3 -1
- package/dist/agent/confirm-port.js +5 -1
- package/dist/agent/confirm-port.js.map +1 -1
- package/dist/agent/context-manager.js +45 -22
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/events.d.ts +6 -0
- package/dist/agent/evidence-governor.d.ts +37 -0
- package/dist/agent/evidence-governor.js +70 -0
- package/dist/agent/evidence-governor.js.map +1 -0
- package/dist/agent/loop-guard.d.ts +29 -11
- package/dist/agent/loop-guard.js +93 -39
- package/dist/agent/loop-guard.js.map +1 -1
- package/dist/agent/must-continue.d.ts +56 -0
- package/dist/agent/must-continue.js +240 -0
- package/dist/agent/must-continue.js.map +1 -0
- package/dist/agent/outcomes.d.ts +101 -0
- package/dist/agent/outcomes.js +359 -0
- package/dist/agent/outcomes.js.map +1 -0
- package/dist/agent/plan-decision.d.ts +33 -0
- package/dist/agent/plan-decision.js +104 -0
- package/dist/agent/plan-decision.js.map +1 -0
- package/dist/agent/plan-tool.d.ts +12 -0
- package/dist/agent/plan-tool.js +312 -104
- package/dist/agent/plan-tool.js.map +1 -1
- package/dist/agent/project-root.js +3 -0
- package/dist/agent/project-root.js.map +1 -1
- package/dist/agent/prompt-composer.d.ts +21 -0
- package/dist/agent/prompt-composer.js +46 -0
- package/dist/agent/prompt-composer.js.map +1 -0
- package/dist/agent/runner.d.ts +11 -1
- package/dist/agent/runner.js +1226 -971
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/scope-context.d.ts +3 -0
- package/dist/agent/scope-context.js +24 -0
- package/dist/agent/scope-context.js.map +1 -0
- package/dist/agent/scratch-write.d.ts +4 -0
- package/dist/agent/scratch-write.js +54 -0
- package/dist/agent/scratch-write.js.map +1 -0
- package/dist/agent/session-policy.d.ts +7 -0
- package/dist/agent/session-policy.js +61 -0
- package/dist/agent/session-policy.js.map +1 -1
- package/dist/agent/session-state.d.ts +41 -0
- package/dist/agent/session-state.js +107 -0
- package/dist/agent/session-state.js.map +1 -0
- package/dist/agent/step-budget.d.ts +14 -0
- package/dist/agent/step-budget.js +26 -0
- package/dist/agent/step-budget.js.map +1 -0
- package/dist/agent/task-analyzer.d.ts +12 -3
- package/dist/agent/task-analyzer.js +263 -23
- package/dist/agent/task-analyzer.js.map +1 -1
- package/dist/agent/task-evidence.d.ts +111 -29
- package/dist/agent/task-evidence.js +519 -91
- package/dist/agent/task-evidence.js.map +1 -1
- package/dist/agent/task-plan.d.ts +57 -0
- package/dist/agent/task-plan.js +147 -1
- package/dist/agent/task-plan.js.map +1 -1
- package/dist/agent/tool-call-parser.d.ts +4 -12
- package/dist/agent/tool-call-parser.js +34 -67
- package/dist/agent/tool-call-parser.js.map +1 -1
- package/dist/agent/tool-history.d.ts +7 -0
- package/dist/agent/tool-history.js +50 -0
- package/dist/agent/tool-history.js.map +1 -1
- package/dist/agent/tool-output-formatting.d.ts +13 -1
- package/dist/agent/tool-output-formatting.js +75 -22
- package/dist/agent/tool-output-formatting.js.map +1 -1
- package/dist/agent/turn-outcome.d.ts +11 -0
- package/dist/agent/turn-outcome.js +17 -0
- package/dist/agent/turn-outcome.js.map +1 -0
- package/dist/agent/turn-state.d.ts +11 -0
- package/dist/agent/turn-state.js +28 -0
- package/dist/agent/turn-state.js.map +1 -0
- package/dist/agent/workspace-orient.d.ts +11 -0
- package/dist/agent/workspace-orient.js +103 -12
- package/dist/agent/workspace-orient.js.map +1 -1
- package/dist/app/adapters/agent-event-adapter.d.ts +2 -13
- package/dist/app/adapters/agent-event-adapter.js +63 -25
- package/dist/app/adapters/agent-event-adapter.js.map +1 -1
- package/dist/app/adapters/current-agent-adapter.d.ts +0 -5
- package/dist/app/adapters/current-agent-adapter.js +4 -7
- package/dist/app/adapters/current-agent-adapter.js.map +1 -1
- package/dist/app/adapters/current-jobs-adapter.js +1 -0
- package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
- package/dist/app/adapters/current-terminal-adapter.d.ts +0 -7
- package/dist/app/adapters/current-terminal-adapter.js +0 -7
- package/dist/app/adapters/current-terminal-adapter.js.map +1 -1
- package/dist/app/adapters/current-updates-adapter.d.ts +0 -5
- package/dist/app/adapters/current-updates-adapter.js +0 -5
- package/dist/app/adapters/current-updates-adapter.js.map +1 -1
- package/dist/app/adapters/in-memory-clipboard-adapter.d.ts +0 -5
- package/dist/app/adapters/in-memory-clipboard-adapter.js +0 -5
- package/dist/app/adapters/in-memory-clipboard-adapter.js.map +1 -1
- package/dist/app/commands/command.d.ts +0 -5
- package/dist/app/commands/command.js.map +1 -1
- package/dist/app/commands/registry.d.ts +0 -14
- package/dist/app/commands/registry.js +0 -20
- package/dist/app/commands/registry.js.map +1 -1
- package/dist/app/controllers/disposable.d.ts +0 -5
- package/dist/app/controllers/disposable.js +0 -5
- package/dist/app/controllers/disposable.js.map +1 -1
- package/dist/app/controllers/job-controller.d.ts +1 -5
- package/dist/app/controllers/job-controller.js +0 -4
- package/dist/app/controllers/job-controller.js.map +1 -1
- package/dist/app/controllers/plan-controller.d.ts +5 -8
- package/dist/app/controllers/plan-controller.js +30 -12
- package/dist/app/controllers/plan-controller.js.map +1 -1
- package/dist/app/controllers/session-controller.d.ts +17 -32
- package/dist/app/controllers/session-controller.js +56 -35
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/turn-controller.d.ts +2 -6
- package/dist/app/controllers/turn-controller.js +8 -8
- package/dist/app/controllers/turn-controller.js.map +1 -1
- package/dist/app/events/app-event.d.ts +4 -7
- package/dist/app/events/app-event.js +0 -6
- package/dist/app/events/app-event.js.map +1 -1
- package/dist/app/events/event-buffer.d.ts +6 -17
- package/dist/app/events/event-buffer.js +27 -24
- package/dist/app/events/event-buffer.js.map +1 -1
- package/dist/app/events/sequencer.d.ts +0 -9
- package/dist/app/events/sequencer.js +0 -4
- package/dist/app/events/sequencer.js.map +1 -1
- package/dist/app/ports/agent-port.d.ts +13 -3
- package/dist/app/ports/clipboard-port.d.ts +0 -5
- package/dist/app/ports/confirm-port.d.ts +0 -7
- package/dist/app/ports/jobs-port.d.ts +2 -5
- package/dist/app/ports/persistence-port.d.ts +0 -4
- package/dist/app/ports/secret-port.d.ts +0 -5
- package/dist/app/ports/terminal-port.d.ts +0 -6
- package/dist/app/ports/updates-port.d.ts +0 -4
- package/dist/attachments/service.d.ts +29 -0
- package/dist/attachments/service.js +47 -0
- package/dist/attachments/service.js.map +1 -0
- package/dist/commands/providers.js +0 -3
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/search-providers.d.ts +0 -33
- package/dist/commands/search-providers.js +0 -33
- package/dist/commands/search-providers.js.map +1 -1
- package/dist/commands/update.js +1 -9
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +22 -42
- package/dist/index.js.map +1 -1
- package/dist/llm/adapters/ollama-tools.d.ts +0 -4
- package/dist/llm/adapters/ollama-tools.js +0 -4
- package/dist/llm/adapters/ollama-tools.js.map +1 -1
- package/dist/llm/capabilities.d.ts +10 -10
- package/dist/llm/capabilities.js +43 -17
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/groq.js +0 -6
- package/dist/llm/groq.js.map +1 -1
- package/dist/llm/http.d.ts +0 -17
- package/dist/llm/http.js +0 -45
- package/dist/llm/http.js.map +1 -1
- package/dist/llm/router.d.ts +0 -6
- package/dist/llm/router.js +0 -15
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/tool-protocol.d.ts +0 -6
- package/dist/llm/tool-protocol.js +3 -7
- package/dist/llm/tool-protocol.js.map +1 -1
- package/dist/modes/agent.d.ts +2 -1
- package/dist/modes/agent.js +4 -2
- package/dist/modes/agent.js.map +1 -1
- package/dist/modes/ask.d.ts +0 -18
- package/dist/modes/ask.js +0 -49
- package/dist/modes/ask.js.map +1 -1
- package/dist/os/cwd.d.ts +0 -21
- package/dist/os/cwd.js +0 -24
- package/dist/os/cwd.js.map +1 -1
- package/dist/os/pkgmgr.js +0 -6
- package/dist/os/pkgmgr.js.map +1 -1
- package/dist/prompts/embedded.d.ts +1 -0
- package/dist/prompts/embedded.js +9 -0
- package/dist/prompts/embedded.js.map +1 -0
- package/dist/prompts/index.d.ts +6 -18
- package/dist/prompts/index.js +104 -293
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/system.agent.md +228 -0
- package/dist/prompts/system.ask.md +56 -0
- package/dist/repl/prompt-line.js +0 -36
- package/dist/repl/prompt-line.js.map +1 -1
- package/dist/repl/slash-commands.d.ts +0 -9
- package/dist/repl/slash-commands.js +2 -23
- package/dist/repl/slash-commands.js.map +1 -1
- package/dist/repl.d.ts +5 -0
- package/dist/repl.js +169 -55
- package/dist/repl.js.map +1 -1
- package/dist/safety/classifier.js +17 -9
- package/dist/safety/classifier.js.map +1 -1
- package/dist/safety/engagement-policy.d.ts +46 -0
- package/dist/safety/engagement-policy.js +198 -0
- package/dist/safety/engagement-policy.js.map +1 -0
- package/dist/store/engagement.d.ts +115 -0
- package/dist/store/engagement.js +278 -0
- package/dist/store/engagement.js.map +1 -0
- package/dist/store/logs.d.ts +5 -0
- package/dist/store/logs.js +52 -2
- package/dist/store/logs.js.map +1 -1
- package/dist/store/plan.d.ts +57 -5
- package/dist/store/plan.js +182 -8
- package/dist/store/plan.js.map +1 -1
- package/dist/store/scope.d.ts +4 -1
- package/dist/store/scope.js +2 -2
- package/dist/store/scope.js.map +1 -1
- package/dist/tools/definitions.js +70 -1
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/elevated-shell.d.ts +60 -0
- package/dist/tools/elevated-shell.js +233 -0
- package/dist/tools/elevated-shell.js.map +1 -0
- package/dist/tools/file-diff.d.ts +125 -0
- package/dist/tools/file-diff.js +495 -0
- package/dist/tools/file-diff.js.map +1 -0
- package/dist/tools/fs.d.ts +11 -13
- package/dist/tools/fs.js +269 -78
- package/dist/tools/fs.js.map +1 -1
- package/dist/tools/http.d.ts +15 -0
- package/dist/tools/http.js +202 -61
- package/dist/tools/http.js.map +1 -1
- package/dist/tools/jobs.d.ts +71 -10
- package/dist/tools/jobs.js +403 -124
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/nmap-runner.d.ts +11 -0
- package/dist/tools/nmap-runner.js +115 -74
- package/dist/tools/nmap-runner.js.map +1 -1
- package/dist/tools/pentest-workflows.d.ts +8 -0
- package/dist/tools/pentest-workflows.js +71 -0
- package/dist/tools/pentest-workflows.js.map +1 -0
- package/dist/tools/registry.d.ts +9 -0
- package/dist/tools/registry.js +244 -57
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/shell.d.ts +3 -0
- package/dist/tools/shell.js +35 -13
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/tool-types.d.ts +11 -0
- package/dist/tools/web/fetch-core.d.ts +7 -0
- package/dist/tools/web/fetch-core.js +40 -1
- package/dist/tools/web/fetch-core.js.map +1 -1
- package/dist/tools/web/fetch.js +8 -1
- package/dist/tools/web/fetch.js.map +1 -1
- package/dist/tui-v2/app/App.js +34 -41
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/app/command-handlers.js +20 -1
- package/dist/tui-v2/app/command-handlers.js.map +1 -1
- package/dist/tui-v2/app/commands/picker-commands.js +3 -0
- package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
- package/dist/tui-v2/app/commands/session-commands.js +5 -0
- package/dist/tui-v2/app/commands/session-commands.js.map +1 -1
- package/dist/tui-v2/app/plan-lifecycle.d.ts +25 -3
- package/dist/tui-v2/app/plan-lifecycle.js +87 -24
- package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
- package/dist/tui-v2/bootstrap/patch-opentui-text.d.ts +6 -0
- package/dist/tui-v2/bootstrap/patch-opentui-text.js +53 -0
- package/dist/tui-v2/bootstrap/patch-opentui-text.js.map +1 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js +7 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/jobs/jobs-panel.js +23 -14
- package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
- package/dist/tui-v2/components/modal/confirm-modal.d.ts +1 -1
- package/dist/tui-v2/components/modal/confirm-modal.js +18 -7
- package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
- package/dist/tui-v2/components/overlay/overlay-host.js +1 -1
- package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
- package/dist/tui-v2/components/pager/pager.d.ts +6 -0
- package/dist/tui-v2/components/pager/pager.js +313 -67
- package/dist/tui-v2/components/pager/pager.js.map +1 -1
- package/dist/tui-v2/components/status/status-line.d.ts +9 -0
- package/dist/tui-v2/components/status/status-line.js +17 -3
- package/dist/tui-v2/components/status/status-line.js.map +1 -1
- package/dist/tui-v2/components/transcript/assistant-message.js +1 -1
- package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
- package/dist/tui-v2/components/transcript/compacted-row.js +1 -1
- package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
- package/dist/tui-v2/components/transcript/tool-card.d.ts +9 -1
- package/dist/tui-v2/components/transcript/tool-card.js +114 -9
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.js +2 -2
- package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.js +16 -0
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/tui-v2/controllers/overlay-controller.d.ts +16 -2
- package/dist/tui-v2/controllers/overlay-controller.js +92 -12
- package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
- package/dist/tui-v2/rendering/artifact-pager-source.d.ts +19 -0
- package/dist/tui-v2/rendering/artifact-pager-source.js +103 -0
- package/dist/tui-v2/rendering/artifact-pager-source.js.map +1 -0
- package/dist/tui-v2/rendering/file-diff-view.d.ts +63 -0
- package/dist/tui-v2/rendering/file-diff-view.js +263 -0
- package/dist/tui-v2/rendering/file-diff-view.js.map +1 -0
- package/dist/tui-v2/rendering/open-tool-output.d.ts +9 -1
- package/dist/tui-v2/rendering/open-tool-output.js +65 -12
- package/dist/tui-v2/rendering/open-tool-output.js.map +1 -1
- package/dist/tui-v2/rendering/pager-chrome.d.ts +12 -0
- package/dist/tui-v2/rendering/pager-chrome.js +56 -0
- package/dist/tui-v2/rendering/pager-chrome.js.map +1 -0
- package/dist/tui-v2/rendering/plan-view.js +1 -1
- package/dist/tui-v2/rendering/plan-view.js.map +1 -1
- package/dist/tui-v2/rendering/syntax-highlight.d.ts +37 -0
- package/dist/tui-v2/rendering/syntax-highlight.js +1303 -0
- package/dist/tui-v2/rendering/syntax-highlight.js.map +1 -0
- package/dist/tui-v2/rendering/theme.d.ts +28 -0
- package/dist/tui-v2/rendering/theme.js +28 -0
- package/dist/tui-v2/rendering/theme.js.map +1 -1
- package/dist/tui-v2/rendering/tool-presenter.d.ts +5 -0
- package/dist/tui-v2/rendering/tool-presenter.js +35 -3
- package/dist/tui-v2/rendering/tool-presenter.js.map +1 -1
- package/dist/tui-v2/state/transcript-hydrate.js +5 -0
- package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
- package/dist/tui-v2/state/transcript-reducer.js +12 -2
- package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
- package/dist/tui-v2/state/transcript-store.d.ts +7 -0
- package/dist/tui-v2/state/transcript-store.js +46 -0
- package/dist/tui-v2/state/transcript-store.js.map +1 -1
- package/dist/tui-v2/state/transcript-types.d.ts +12 -0
- package/dist/tui-v2/state/transcript-types.js +9 -0
- package/dist/tui-v2/state/transcript-types.js.map +1 -1
- package/dist/types.d.ts +17 -1
- package/dist/ui/mentions.d.ts +6 -0
- package/dist/ui/mentions.js +50 -12
- package/dist/ui/mentions.js.map +1 -1
- package/dist/ui/plan-pane.js +1 -1
- package/dist/ui/plan-pane.js.map +1 -1
- package/package.json +18 -12
|
@@ -200,6 +200,10 @@ export const TOOL_DEFINITIONS = [
|
|
|
200
200
|
type: "string",
|
|
201
201
|
description: "Legacy flags string",
|
|
202
202
|
},
|
|
203
|
+
background: {
|
|
204
|
+
type: "boolean",
|
|
205
|
+
description: "Force durable execution; deep/full profiles are durable automatically",
|
|
206
|
+
},
|
|
203
207
|
},
|
|
204
208
|
required: ["target"],
|
|
205
209
|
additionalProperties: false,
|
|
@@ -254,17 +258,82 @@ export const TOOL_DEFINITIONS = [
|
|
|
254
258
|
required: ["target"],
|
|
255
259
|
additionalProperties: false,
|
|
256
260
|
}, { readOnly: true, askMode: true }),
|
|
257
|
-
def("pentest.recon", "Bundled whois/dns/nmap recon. Prefer discrete tools when only one step is needed.", {
|
|
261
|
+
def("pentest.recon", "Bundled whois/dns/nmap recon. Prefer discrete tools when only one step is needed. Default nmap is top-100; escalate with topPorts, ports, or full for thorough engagements.", {
|
|
258
262
|
type: "object",
|
|
259
263
|
properties: {
|
|
260
264
|
target: { type: "string" },
|
|
261
265
|
whois: { type: "boolean" },
|
|
262
266
|
dns: { type: "boolean" },
|
|
263
267
|
nmap: { type: "boolean" },
|
|
268
|
+
topPorts: {
|
|
269
|
+
type: "integer",
|
|
270
|
+
description: "nmap --top-ports N (default 100)",
|
|
271
|
+
},
|
|
272
|
+
ports: {
|
|
273
|
+
type: "string",
|
|
274
|
+
description: "nmap -p spec, e.g. 1-1000 or 80,443,8080",
|
|
275
|
+
},
|
|
276
|
+
full: {
|
|
277
|
+
type: "boolean",
|
|
278
|
+
description: "If true, scan all TCP ports (-p-)",
|
|
279
|
+
},
|
|
280
|
+
background: {
|
|
281
|
+
type: "boolean",
|
|
282
|
+
description: "Force durable nmap execution; deep/full scans are durable automatically",
|
|
283
|
+
},
|
|
264
284
|
},
|
|
265
285
|
required: ["target"],
|
|
266
286
|
additionalProperties: false,
|
|
267
287
|
}, { mutates: true }),
|
|
288
|
+
def("pentest.webDiscover", "Discover a scoped web surface with bounded concurrent requests to common and supplied paths.", {
|
|
289
|
+
type: "object",
|
|
290
|
+
properties: {
|
|
291
|
+
baseUrl: { type: "string" },
|
|
292
|
+
paths: { type: "array", maxItems: 100, items: { type: "string" } },
|
|
293
|
+
},
|
|
294
|
+
required: ["baseUrl"],
|
|
295
|
+
additionalProperties: false,
|
|
296
|
+
}, { readOnly: true }),
|
|
297
|
+
def("pentest.apiEnumerate", "Fetch and enumerate paths from an authorized OpenAPI/Swagger specification.", {
|
|
298
|
+
type: "object",
|
|
299
|
+
properties: { specUrl: { type: "string" } },
|
|
300
|
+
required: ["specUrl"],
|
|
301
|
+
additionalProperties: false,
|
|
302
|
+
}, { readOnly: true }),
|
|
303
|
+
def("pentest.authCompare", "Compare the same authorized endpoint across named authentication contexts. Credentials are never echoed.", {
|
|
304
|
+
type: "object",
|
|
305
|
+
properties: {
|
|
306
|
+
url: { type: "string" },
|
|
307
|
+
contexts: {
|
|
308
|
+
type: "array",
|
|
309
|
+
minItems: 2,
|
|
310
|
+
maxItems: 10,
|
|
311
|
+
items: {
|
|
312
|
+
type: "object",
|
|
313
|
+
properties: {
|
|
314
|
+
label: { type: "string" },
|
|
315
|
+
headers: { type: "object", additionalProperties: { type: "string" } },
|
|
316
|
+
},
|
|
317
|
+
required: ["label", "headers"],
|
|
318
|
+
additionalProperties: false,
|
|
319
|
+
},
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
required: ["url", "contexts"],
|
|
323
|
+
additionalProperties: false,
|
|
324
|
+
}, { readOnly: true }),
|
|
325
|
+
def("pentest.scanStatus", "Incrementally ingest a durable scan checkpoint by job id and byte offset.", {
|
|
326
|
+
type: "object",
|
|
327
|
+
properties: {
|
|
328
|
+
id: { type: "string" },
|
|
329
|
+
offset: { type: "integer" },
|
|
330
|
+
bytes: { type: "integer" },
|
|
331
|
+
stream: { type: "string", enum: ["stdout", "stderr", "combined"] },
|
|
332
|
+
target: { type: "string" },
|
|
333
|
+
},
|
|
334
|
+
required: ["id", "target"],
|
|
335
|
+
additionalProperties: false,
|
|
336
|
+
}, { readOnly: true }),
|
|
268
337
|
def("web.search", "Search the web for current information. Use for volatile facts and research.", {
|
|
269
338
|
type: "object",
|
|
270
339
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run elevation-sensitive commands without hijacking the TTY.
|
|
3
|
+
* Used when requestSecret is available (OpenTUI secret modal) so sudo never
|
|
4
|
+
* prints "Password:" on the alternate screen or freezes keyboard/mouse.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolResult } from "../types.js";
|
|
7
|
+
import type { BackgroundSpawnSpec } from "./jobs.js";
|
|
8
|
+
import type { ToolRunOptions } from "./tool-types.js";
|
|
9
|
+
import { spawnArgv } from "./shell.js";
|
|
10
|
+
/** True when the command is a simple leading-sudo form we can re-run with -S. */
|
|
11
|
+
export declare function extractSimpleSudoCommand(command: string): {
|
|
12
|
+
inner: string;
|
|
13
|
+
} | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Format a password for `sudo -S` stdin.
|
|
16
|
+
* Strips only trailing newlines from the secret modal (passwords may contain spaces).
|
|
17
|
+
*/
|
|
18
|
+
export declare function formatSudoStdinPassword(password: string): string;
|
|
19
|
+
export type PreparedElevation = {
|
|
20
|
+
prepared: true;
|
|
21
|
+
spec: BackgroundSpawnSpec;
|
|
22
|
+
} | {
|
|
23
|
+
prepared: false;
|
|
24
|
+
result: ToolResult;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Authenticate before reporting a privileged background job as started, then
|
|
28
|
+
* return a shell:false spawn specification whose secret exists only as stdin.
|
|
29
|
+
*/
|
|
30
|
+
export declare function preparePrivilegedBackgroundArgv(command: string, argv: string[], options: {
|
|
31
|
+
signal?: AbortSignal | undefined;
|
|
32
|
+
onOutput?: ToolRunOptions["onOutput"];
|
|
33
|
+
requestSecret?: ToolRunOptions["requestSecret"];
|
|
34
|
+
title?: string | undefined;
|
|
35
|
+
prompt?: string | undefined;
|
|
36
|
+
}, dependencies?: {
|
|
37
|
+
available?: ((command: string) => Promise<boolean>) | undefined;
|
|
38
|
+
runAuth?: (typeof spawnArgv) | undefined;
|
|
39
|
+
isRoot?: (() => boolean) | undefined;
|
|
40
|
+
}): Promise<PreparedElevation>;
|
|
41
|
+
/** Prepare a simple leading-sudo shell command for detached execution. */
|
|
42
|
+
export declare function prepareElevatedBackgroundCommand(shellCommand: string, options: Parameters<typeof preparePrivilegedBackgroundArgv>[2], dependencies?: Parameters<typeof preparePrivilegedBackgroundArgv>[3]): Promise<PreparedElevation | undefined>;
|
|
43
|
+
/**
|
|
44
|
+
* If the command needs a password TTY and we have a secret UI, authenticate
|
|
45
|
+
* via requestSecret + sudo -S. Returns undefined when the normal path should
|
|
46
|
+
* run. Returns a ToolResult when handled (success or clear failure).
|
|
47
|
+
*
|
|
48
|
+
* Important: we pipe the password into the *real* command with `sudo -S`.
|
|
49
|
+
* Caching via `sudo -S -v` then `sudo -n …` fails on macOS/OpenTUI because
|
|
50
|
+
* child processes are detached / non-TTY and the sudo timestamp ticket does
|
|
51
|
+
* not carry over — you get "Administrator access confirmed" then
|
|
52
|
+
* "sudo: a password is required".
|
|
53
|
+
*/
|
|
54
|
+
export declare function tryRunElevatedWithoutTty(command: string, options: {
|
|
55
|
+
cwd?: string | undefined;
|
|
56
|
+
timeoutMs?: number | undefined;
|
|
57
|
+
signal?: AbortSignal | undefined;
|
|
58
|
+
onOutput?: ToolRunOptions["onOutput"];
|
|
59
|
+
requestSecret?: ToolRunOptions["requestSecret"];
|
|
60
|
+
}): Promise<ToolResult | undefined>;
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run elevation-sensitive commands without hijacking the TTY.
|
|
3
|
+
* Used when requestSecret is available (OpenTUI secret modal) so sudo never
|
|
4
|
+
* prints "Password:" on the alternate screen or freezes keyboard/mouse.
|
|
5
|
+
*/
|
|
6
|
+
import { commandAvailable } from "../os/pkgmgr.js";
|
|
7
|
+
import { looksInteractiveStdin, spawnArgv, } from "./shell.js";
|
|
8
|
+
/** True when the command is a simple leading-sudo form we can re-run with -S. */
|
|
9
|
+
export function extractSimpleSudoCommand(command) {
|
|
10
|
+
const c = command.trim();
|
|
11
|
+
// sudo [flags…] rest — only when not already -S / -n / --non-interactive
|
|
12
|
+
if (!/^(?:\/\S+\/)?sudo\b/i.test(c))
|
|
13
|
+
return undefined;
|
|
14
|
+
if (/\bsudo\s+(?:-[a-zA-Z]*[Sn]|--non-interactive|--stdin)\b/i.test(c)) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
// Drop leading env assignments: FOO=bar sudo …
|
|
18
|
+
const withoutEnv = c.replace(/^(?:[A-Za-z_][\w]*=\S+\s+)+/, "");
|
|
19
|
+
const m = withoutEnv.match(/^(?:\/\S+\/)?sudo(?:\s+(?:-[^A-Z\s][^\s]*|--(?!non-interactive|stdin)\S+))*(?:\s+(.+))?$/i);
|
|
20
|
+
const inner = m?.[1]?.trim();
|
|
21
|
+
if (!inner)
|
|
22
|
+
return undefined;
|
|
23
|
+
// Multi-stage pipelines with sudo in the middle — leave to caller.
|
|
24
|
+
if (/[|&;]/.test(command) && !/^\s*sudo\b/i.test(withoutEnv)) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
return { inner };
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Format a password for `sudo -S` stdin.
|
|
31
|
+
* Strips only trailing newlines from the secret modal (passwords may contain spaces).
|
|
32
|
+
*/
|
|
33
|
+
export function formatSudoStdinPassword(password) {
|
|
34
|
+
return `${password.replace(/[\r\n]+$/g, "")}\n`;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Authenticate before reporting a privileged background job as started, then
|
|
38
|
+
* return a shell:false spawn specification whose secret exists only as stdin.
|
|
39
|
+
*/
|
|
40
|
+
export async function preparePrivilegedBackgroundArgv(command, argv, options, dependencies = {}) {
|
|
41
|
+
const isRoot = dependencies.isRoot ?? (() => process.getuid?.() === 0);
|
|
42
|
+
if (isRoot()) {
|
|
43
|
+
return { prepared: true, spec: { command, argv: [...argv] } };
|
|
44
|
+
}
|
|
45
|
+
const available = dependencies.available ?? commandAvailable;
|
|
46
|
+
if (!(await available("sudo"))) {
|
|
47
|
+
return {
|
|
48
|
+
prepared: false,
|
|
49
|
+
result: {
|
|
50
|
+
ok: false,
|
|
51
|
+
exitCode: 1,
|
|
52
|
+
output: "This background command requires administrator access, but sudo is unavailable.",
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (!options.requestSecret) {
|
|
57
|
+
return {
|
|
58
|
+
prepared: false,
|
|
59
|
+
result: {
|
|
60
|
+
ok: false,
|
|
61
|
+
exitCode: 1,
|
|
62
|
+
output: "This background command requires administrator access, but no secure password prompt is available. " +
|
|
63
|
+
"Run it from the interactive TUI or choose an explicitly unprivileged operation.",
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const password = await options.requestSecret({
|
|
68
|
+
title: options.title ?? "Administrator access",
|
|
69
|
+
prompt: options.prompt ??
|
|
70
|
+
"Enter your password for sudo. It is sent only to sudo stdin and is never stored. Esc cancels.",
|
|
71
|
+
});
|
|
72
|
+
if (password === undefined) {
|
|
73
|
+
return {
|
|
74
|
+
prepared: false,
|
|
75
|
+
result: {
|
|
76
|
+
ok: false,
|
|
77
|
+
exitCode: 130,
|
|
78
|
+
output: "Administrator authentication cancelled; no background job was started.",
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const stdinText = formatSudoStdinPassword(password);
|
|
83
|
+
const runAuth = dependencies.runAuth ?? spawnArgv;
|
|
84
|
+
let auth;
|
|
85
|
+
try {
|
|
86
|
+
auth = await runAuth({
|
|
87
|
+
command: "sudo",
|
|
88
|
+
argv: ["-S", "-p", "", "-v"],
|
|
89
|
+
stdinText,
|
|
90
|
+
timeoutMs: 30_000,
|
|
91
|
+
signal: options.signal,
|
|
92
|
+
onOutput: options.onOutput,
|
|
93
|
+
noArtifact: true,
|
|
94
|
+
interactiveStdin: false,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
return {
|
|
99
|
+
prepared: false,
|
|
100
|
+
result: {
|
|
101
|
+
ok: false,
|
|
102
|
+
exitCode: 1,
|
|
103
|
+
output: `sudo authentication could not start: ${error instanceof Error ? error.message : String(error)}`,
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
if (options.signal?.aborted || auth.exitCode === 130) {
|
|
108
|
+
return {
|
|
109
|
+
prepared: false,
|
|
110
|
+
result: {
|
|
111
|
+
ok: false,
|
|
112
|
+
exitCode: 130,
|
|
113
|
+
output: auth.output || "Administrator authentication aborted; no background job was started.",
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if (!auth.ok) {
|
|
118
|
+
return {
|
|
119
|
+
prepared: false,
|
|
120
|
+
result: {
|
|
121
|
+
ok: false,
|
|
122
|
+
exitCode: auth.exitCode ?? 1,
|
|
123
|
+
output: `sudo authentication failed; no background job was started.\n${(auth.output ?? "").trim().slice(0, 400)}`.trim(),
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
prepared: true,
|
|
129
|
+
spec: {
|
|
130
|
+
command: "sudo",
|
|
131
|
+
argv: ["-S", "-p", "", command, ...argv],
|
|
132
|
+
stdinText,
|
|
133
|
+
display: ["sudo", command, ...argv].join(" "),
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/** Prepare a simple leading-sudo shell command for detached execution. */
|
|
138
|
+
export async function prepareElevatedBackgroundCommand(shellCommand, options, dependencies) {
|
|
139
|
+
if (!looksInteractiveStdin(shellCommand))
|
|
140
|
+
return undefined;
|
|
141
|
+
const simple = extractSimpleSudoCommand(shellCommand);
|
|
142
|
+
if (!simple) {
|
|
143
|
+
return {
|
|
144
|
+
prepared: false,
|
|
145
|
+
result: {
|
|
146
|
+
ok: false,
|
|
147
|
+
exitCode: 1,
|
|
148
|
+
output: "This background command needs an interactive password prompt. Rephrase it as a simple leading `sudo <command>` so clai can forward the secure modal value only through stdin.",
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
return preparePrivilegedBackgroundArgv("sh", ["-c", simple.inner], options, dependencies);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* If the command needs a password TTY and we have a secret UI, authenticate
|
|
156
|
+
* via requestSecret + sudo -S. Returns undefined when the normal path should
|
|
157
|
+
* run. Returns a ToolResult when handled (success or clear failure).
|
|
158
|
+
*
|
|
159
|
+
* Important: we pipe the password into the *real* command with `sudo -S`.
|
|
160
|
+
* Caching via `sudo -S -v` then `sudo -n …` fails on macOS/OpenTUI because
|
|
161
|
+
* child processes are detached / non-TTY and the sudo timestamp ticket does
|
|
162
|
+
* not carry over — you get "Administrator access confirmed" then
|
|
163
|
+
* "sudo: a password is required".
|
|
164
|
+
*/
|
|
165
|
+
export async function tryRunElevatedWithoutTty(command, options) {
|
|
166
|
+
if (!options.requestSecret)
|
|
167
|
+
return undefined;
|
|
168
|
+
if (!looksInteractiveStdin(command))
|
|
169
|
+
return undefined;
|
|
170
|
+
const simple = extractSimpleSudoCommand(command);
|
|
171
|
+
if (!simple) {
|
|
172
|
+
return {
|
|
173
|
+
ok: false,
|
|
174
|
+
exitCode: 1,
|
|
175
|
+
output: "This command needs an interactive password prompt, which would freeze the UI. " +
|
|
176
|
+
"Rephrase as a simple `sudo <command>` (clai will use a secure password modal), " +
|
|
177
|
+
"use `sudo -n` if credentials are cached, or avoid elevation.",
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
const password = await options.requestSecret({
|
|
181
|
+
title: "Administrator access",
|
|
182
|
+
prompt: "Enter your password for sudo. It is sent only to sudo and is never stored. Esc cancels.",
|
|
183
|
+
});
|
|
184
|
+
if (password === undefined) {
|
|
185
|
+
return {
|
|
186
|
+
ok: false,
|
|
187
|
+
exitCode: 130,
|
|
188
|
+
output: "Administrator authentication cancelled. Re-run and enter your password, or run without sudo.",
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
const stdinPassword = formatSudoStdinPassword(password);
|
|
192
|
+
// Validate the password first so we can show a clear error without starting
|
|
193
|
+
// a long-running elevated command.
|
|
194
|
+
const auth = await spawnArgv({
|
|
195
|
+
command: "sudo",
|
|
196
|
+
argv: ["-S", "-p", "", "-v"],
|
|
197
|
+
stdinText: stdinPassword,
|
|
198
|
+
timeoutMs: 30_000,
|
|
199
|
+
signal: options.signal,
|
|
200
|
+
onOutput: options.onOutput,
|
|
201
|
+
noArtifact: true,
|
|
202
|
+
interactiveStdin: false,
|
|
203
|
+
});
|
|
204
|
+
if (options.signal?.aborted || auth.exitCode === 130) {
|
|
205
|
+
return auth.ok
|
|
206
|
+
? auth
|
|
207
|
+
: {
|
|
208
|
+
ok: false,
|
|
209
|
+
exitCode: 130,
|
|
210
|
+
output: auth.output || "Administrator authentication aborted.",
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
if (!auth.ok) {
|
|
214
|
+
return {
|
|
215
|
+
ok: false,
|
|
216
|
+
exitCode: auth.exitCode ?? 1,
|
|
217
|
+
output: `sudo authentication failed.\n${(auth.output ?? "").trim().slice(0, 400)}`.trim(),
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
// Re-send the password on the real run. Do NOT use `sudo -n` after -v:
|
|
221
|
+
// detached non-TTY children often cannot use the timestamp ticket.
|
|
222
|
+
return spawnArgv({
|
|
223
|
+
command: "sudo",
|
|
224
|
+
argv: ["-S", "-p", "", "sh", "-c", simple.inner],
|
|
225
|
+
stdinText: stdinPassword,
|
|
226
|
+
cwd: options.cwd,
|
|
227
|
+
timeoutMs: options.timeoutMs,
|
|
228
|
+
signal: options.signal,
|
|
229
|
+
onOutput: options.onOutput,
|
|
230
|
+
interactiveStdin: false,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=elevated-shell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elevated-shell.js","sourceRoot":"","sources":["../../src/tools/elevated-shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure line-diff engine for file mutation tools (fs.edit / write / append / …).
|
|
3
|
+
* Produces Cursor/Claude-style hunks with configurable context and size caps.
|
|
4
|
+
*/
|
|
5
|
+
export type DiffOp = "context" | "add" | "del";
|
|
6
|
+
export interface DiffLine {
|
|
7
|
+
readonly op: DiffOp;
|
|
8
|
+
readonly text: string;
|
|
9
|
+
/** 1-based line in the old file; undefined for pure adds */
|
|
10
|
+
readonly oldLine?: number | undefined;
|
|
11
|
+
/** 1-based line in the new file; undefined for pure dels */
|
|
12
|
+
readonly newLine?: number | undefined;
|
|
13
|
+
}
|
|
14
|
+
export interface DiffHunk {
|
|
15
|
+
readonly oldStart: number;
|
|
16
|
+
readonly newStart: number;
|
|
17
|
+
readonly lines: readonly DiffLine[];
|
|
18
|
+
}
|
|
19
|
+
export type FileChangeKind = "create" | "edit" | "overwrite" | "append" | "delete";
|
|
20
|
+
export interface FileChangeStats {
|
|
21
|
+
readonly oldLines: number;
|
|
22
|
+
readonly newLines: number;
|
|
23
|
+
readonly added: number;
|
|
24
|
+
readonly removed: number;
|
|
25
|
+
}
|
|
26
|
+
export interface DeletedSegment {
|
|
27
|
+
/** 1-based line in the new file after which these deletions sit (0 = before first) */
|
|
28
|
+
readonly atNewLine: number;
|
|
29
|
+
readonly oldStart: number;
|
|
30
|
+
readonly lines: readonly string[];
|
|
31
|
+
}
|
|
32
|
+
export interface FileChange {
|
|
33
|
+
readonly path: string;
|
|
34
|
+
readonly basename: string;
|
|
35
|
+
readonly kind: FileChangeKind;
|
|
36
|
+
readonly stats: FileChangeStats;
|
|
37
|
+
/** Chat preview hunks (context=1, capped). */
|
|
38
|
+
readonly previewHunks: readonly DiffHunk[];
|
|
39
|
+
/**
|
|
40
|
+
* Full after-content for the modal. Omitted when too large (use snapshotPath)
|
|
41
|
+
* or for deletes (after is empty).
|
|
42
|
+
*/
|
|
43
|
+
readonly afterText?: string | undefined;
|
|
44
|
+
/** New-file line numbers that are pure additions. */
|
|
45
|
+
readonly addedNewLines: readonly number[];
|
|
46
|
+
/** Deleted segments for full-file modal rendering. */
|
|
47
|
+
readonly deletedAt: readonly DeletedSegment[];
|
|
48
|
+
/** Optional on-disk JSON snapshot for large files. */
|
|
49
|
+
readonly snapshotPath?: string | undefined;
|
|
50
|
+
/** True when content was treated as binary / non-diffable. */
|
|
51
|
+
readonly binary?: boolean | undefined;
|
|
52
|
+
/** True when diff was collapsed due to size caps. */
|
|
53
|
+
readonly truncated?: boolean | undefined;
|
|
54
|
+
}
|
|
55
|
+
/** Max lines on either side before falling back to whole-file replace. */
|
|
56
|
+
export declare const DIFF_MAX_LINES = 20000;
|
|
57
|
+
/** Max UTF-8 bytes on either side for full LCS. */
|
|
58
|
+
export declare const DIFF_MAX_BYTES = 1000000;
|
|
59
|
+
/** Max afterText kept inline on FileChange (else snapshot only). */
|
|
60
|
+
export declare const INLINE_AFTER_MAX_BYTES = 200000;
|
|
61
|
+
/** Max diff body lines in chat preview. */
|
|
62
|
+
export declare const PREVIEW_MAX_DIFF_LINES = 40;
|
|
63
|
+
/** Context lines around each change for chat. */
|
|
64
|
+
export declare const PREVIEW_CONTEXT = 1;
|
|
65
|
+
export declare function splitLines(text: string): string[];
|
|
66
|
+
export declare function looksBinary(text: string): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Myers O(ND) line diff → list of ops over the full file (no hunk grouping).
|
|
69
|
+
* Falls back to whole-file replace when sizes exceed caps.
|
|
70
|
+
*/
|
|
71
|
+
export declare function computeLineOps(oldLines: readonly string[], newLines: readonly string[]): DiffLine[];
|
|
72
|
+
/**
|
|
73
|
+
* Group full-file ops into unified hunks with `context` lines of surrounding
|
|
74
|
+
* unchanged content. Adjacent change regions within `context*2` merge.
|
|
75
|
+
*/
|
|
76
|
+
export declare function groupHunks(ops: readonly DiffLine[], context?: number): DiffHunk[];
|
|
77
|
+
/** Cap total preview lines across hunks; drop tail hunks with a sentinel. */
|
|
78
|
+
export declare function capPreviewHunks(hunks: readonly DiffHunk[], maxLines?: number): {
|
|
79
|
+
hunks: DiffHunk[];
|
|
80
|
+
truncated: boolean;
|
|
81
|
+
omittedLines: number;
|
|
82
|
+
};
|
|
83
|
+
export interface BuildFileChangeOptions {
|
|
84
|
+
readonly path: string;
|
|
85
|
+
readonly before: string;
|
|
86
|
+
readonly after: string;
|
|
87
|
+
readonly kind: FileChangeKind;
|
|
88
|
+
readonly context?: number | undefined;
|
|
89
|
+
readonly previewMaxLines?: number | undefined;
|
|
90
|
+
/** When set, afterText is omitted from the in-memory object. */
|
|
91
|
+
readonly snapshotPath?: string | undefined;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Build a UI-ready FileChange from before/after text.
|
|
95
|
+
*/
|
|
96
|
+
export declare function buildFileChange(opts: BuildFileChangeOptions): FileChange;
|
|
97
|
+
/** Infer kind from before/after when the caller only knows the tool. */
|
|
98
|
+
export declare function inferChangeKind(before: string | undefined, after: string, toolHint?: "append" | "delete" | "edit" | "write"): FileChangeKind;
|
|
99
|
+
/**
|
|
100
|
+
* Render preview hunks as plain text (for spool / export / classic REPL).
|
|
101
|
+
* Uses unified +/- prefixes; no ANSI.
|
|
102
|
+
*/
|
|
103
|
+
export declare function formatUnifiedPreview(change: FileChange, options?: {
|
|
104
|
+
maxLines?: number;
|
|
105
|
+
}): string;
|
|
106
|
+
/**
|
|
107
|
+
* Full modal body lines: after-file order with deleted segments injected.
|
|
108
|
+
* Each entry carries a display line number (new-file) and op for coloring.
|
|
109
|
+
*/
|
|
110
|
+
export interface ModalDiffLine {
|
|
111
|
+
readonly lineNo: number | undefined;
|
|
112
|
+
readonly text: string;
|
|
113
|
+
readonly op: DiffOp;
|
|
114
|
+
/** For dels, old line number when known */
|
|
115
|
+
readonly oldLineNo?: number | undefined;
|
|
116
|
+
}
|
|
117
|
+
export declare function buildModalLines(change: FileChange): ModalDiffLine[];
|
|
118
|
+
/** Human verb for status titles. */
|
|
119
|
+
export declare function changeVerb(kind: FileChangeKind, status: "running" | "ok" | "failed"): string;
|
|
120
|
+
/** Map tool name + optional kind to a display title basename. */
|
|
121
|
+
export declare function fileToolTitle(toolName: string, status: "queued" | "running" | "ok" | "failed" | "blocked", pathOrDisplay: string, kind?: FileChangeKind | undefined): {
|
|
122
|
+
title: string;
|
|
123
|
+
pathLine: string | undefined;
|
|
124
|
+
};
|
|
125
|
+
export declare function isFileMutationTool(name: string): boolean;
|