@pentoshi/clai 3.9.7 → 3.11.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/LICENSE +21 -0
- package/README.md +81 -9
- package/dist/agent/context-manager.d.ts +2 -1
- package/dist/agent/context-manager.js +16 -2
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/loop-guard.d.ts +18 -0
- package/dist/agent/loop-guard.js +50 -2
- package/dist/agent/loop-guard.js.map +1 -1
- package/dist/agent/must-continue.js +4 -8
- package/dist/agent/must-continue.js.map +1 -1
- package/dist/agent/prompt-composer.js +8 -8
- package/dist/agent/prompt-composer.js.map +1 -1
- package/dist/agent/runner.d.ts +1 -0
- package/dist/agent/runner.js +238 -74
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/session-policy.d.ts +1 -2
- package/dist/agent/session-policy.js +3 -2
- package/dist/agent/session-policy.js.map +1 -1
- package/dist/agent/tool-call-parser.js +6 -6
- package/dist/agent/tool-call-parser.js.map +1 -1
- package/dist/app/adapters/current-agent-adapter.js +1 -0
- package/dist/app/adapters/current-agent-adapter.js.map +1 -1
- package/dist/app/controllers/session-controller.js +2 -0
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/session-turn-request.d.ts +1 -0
- package/dist/app/controllers/session-turn-request.js +4 -1
- package/dist/app/controllers/session-turn-request.js.map +1 -1
- package/dist/app/ports/agent-port.d.ts +1 -0
- package/dist/attachments/clipboard-image.js +5 -4
- package/dist/attachments/clipboard-image.js.map +1 -1
- package/dist/attachments/image-content.d.ts +20 -2
- package/dist/attachments/image-content.js +201 -1
- package/dist/attachments/image-content.js.map +1 -1
- package/dist/attachments/image-prepare.d.ts +25 -0
- package/dist/attachments/image-prepare.js +390 -0
- package/dist/attachments/image-prepare.js.map +1 -0
- package/dist/attachments/service.d.ts +4 -2
- package/dist/attachments/service.js +51 -21
- package/dist/attachments/service.js.map +1 -1
- package/dist/commands/providers.d.ts +5 -2
- package/dist/commands/providers.js +121 -7
- package/dist/commands/providers.js.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/llm/agentrouter.js +2 -2
- package/dist/llm/agentrouter.js.map +1 -1
- package/dist/llm/anthropic.d.ts +5 -4
- package/dist/llm/anthropic.js +28 -25
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/aws-mantle.js +19 -20
- package/dist/llm/aws-mantle.js.map +1 -1
- package/dist/llm/bynara.js +2 -2
- package/dist/llm/bynara.js.map +1 -1
- package/dist/llm/capabilities.d.ts +19 -0
- package/dist/llm/capabilities.js +273 -16
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/gemini.js +16 -8
- package/dist/llm/gemini.js.map +1 -1
- package/dist/llm/groq.js +2 -2
- package/dist/llm/groq.js.map +1 -1
- package/dist/llm/http.d.ts +7 -1
- package/dist/llm/http.js +210 -8
- package/dist/llm/http.js.map +1 -1
- package/dist/llm/kimchi.js +2 -2
- package/dist/llm/kimchi.js.map +1 -1
- package/dist/llm/lightning.d.ts +11 -0
- package/dist/llm/lightning.js +108 -0
- package/dist/llm/lightning.js.map +1 -0
- package/dist/llm/modal.d.ts +16 -0
- package/dist/llm/modal.js +182 -0
- package/dist/llm/modal.js.map +1 -0
- package/dist/llm/nvidia.js +2 -2
- package/dist/llm/nvidia.js.map +1 -1
- package/dist/llm/ollama.js +3 -3
- package/dist/llm/ollama.js.map +1 -1
- package/dist/llm/openai.js +2 -2
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/openrouter.js +2 -2
- package/dist/llm/openrouter.js.map +1 -1
- package/dist/llm/provider.d.ts +11 -0
- package/dist/llm/provider.js +316 -1
- package/dist/llm/provider.js.map +1 -1
- package/dist/llm/qwen-cloud.js +2 -5
- package/dist/llm/qwen-cloud.js.map +1 -1
- package/dist/llm/router.js +127 -7
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/system-messages.d.ts +5 -0
- package/dist/llm/system-messages.js +14 -0
- package/dist/llm/system-messages.js.map +1 -1
- package/dist/llm/token-usage.d.ts +13 -0
- package/dist/llm/token-usage.js +31 -0
- package/dist/llm/token-usage.js.map +1 -1
- package/dist/llm/tokenrouter.d.ts +15 -0
- package/dist/llm/tokenrouter.js +106 -0
- package/dist/llm/tokenrouter.js.map +1 -0
- package/dist/modes/agent.d.ts +1 -0
- package/dist/modes/agent.js.map +1 -1
- package/dist/modes/ask.js +15 -4
- package/dist/modes/ask.js.map +1 -1
- package/dist/prompts/embedded.js +2 -2
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/index.d.ts +6 -0
- package/dist/prompts/index.js +39 -21
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/system.agent.md +15 -27
- package/dist/prompts/system.ask.md +1 -1
- package/dist/repl/slash-commands.js +53 -0
- package/dist/repl/slash-commands.js.map +1 -1
- package/dist/repl.js +16 -9
- package/dist/repl.js.map +1 -1
- package/dist/store/config.d.ts +55 -0
- package/dist/store/config.js +127 -0
- package/dist/store/config.js.map +1 -1
- package/dist/store/history.d.ts +2 -1
- package/dist/store/history.js +15 -16
- package/dist/store/history.js.map +1 -1
- package/dist/store/keys.js +41 -2
- package/dist/store/keys.js.map +1 -1
- package/dist/tools/definitions.js +31 -6
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/image.d.ts +0 -7
- package/dist/tools/image.js +76 -22
- package/dist/tools/image.js.map +1 -1
- package/dist/tools/jobs.d.ts +11 -1
- package/dist/tools/jobs.js +67 -0
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/ocr.d.ts +28 -0
- package/dist/tools/ocr.js +316 -0
- package/dist/tools/ocr.js.map +1 -0
- package/dist/tools/pdf.d.ts +0 -12
- package/dist/tools/pdf.js +436 -150
- package/dist/tools/pdf.js.map +1 -1
- package/dist/tools/registry.js +5 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tui/format-keys.js +10 -0
- package/dist/tui/format-keys.js.map +1 -1
- package/dist/tui-v2/actions/action-id.d.ts +1 -1
- package/dist/tui-v2/actions/action-id.js +3 -0
- package/dist/tui-v2/actions/action-id.js.map +1 -1
- package/dist/tui-v2/actions/format-shortcuts.js +4 -1
- package/dist/tui-v2/actions/format-shortcuts.js.map +1 -1
- package/dist/tui-v2/actions/keymap.js +6 -1
- package/dist/tui-v2/actions/keymap.js.map +1 -1
- package/dist/tui-v2/app/App.js +3 -1
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/app/commands/key-commands.js +117 -15
- package/dist/tui-v2/app/commands/key-commands.js.map +1 -1
- package/dist/tui-v2/app/commands/picker-commands.js +80 -11
- package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
- package/dist/tui-v2/bootstrap/console-guard.d.ts +20 -0
- package/dist/tui-v2/bootstrap/console-guard.js +73 -0
- package/dist/tui-v2/bootstrap/console-guard.js.map +1 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js +14 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/composer/composer-input-box.js +5 -1
- package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
- package/dist/tui-v2/components/jobs/jobs-panel.js +25 -1
- package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
- package/dist/tui-v2/components/modal/keys-modal.js +15 -8
- package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
- package/dist/tui-v2/components/modal/secret-modal.js +13 -4
- package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
- package/dist/tui-v2/components/pager/pager.js +103 -12
- package/dist/tui-v2/components/pager/pager.js.map +1 -1
- package/dist/tui-v2/components/status/status-line.d.ts +8 -2
- package/dist/tui-v2/components/status/status-line.js +12 -8
- package/dist/tui-v2/components/status/status-line.js.map +1 -1
- package/dist/tui-v2/components/transcript/thinking-block.d.ts +14 -4
- package/dist/tui-v2/components/transcript/thinking-block.js +53 -8
- package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.d.ts +2 -0
- 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/components/transcript/transcript-view.js +8 -1
- package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
- package/dist/tui-v2/composer/composer-action-port.d.ts +15 -3
- package/dist/tui-v2/composer/composer-action-port.js +49 -6
- package/dist/tui-v2/composer/composer-action-port.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.js +37 -44
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/tui-v2/composer/draft-actions.d.ts +31 -0
- package/dist/tui-v2/composer/draft-actions.js +45 -0
- package/dist/tui-v2/composer/draft-actions.js.map +1 -0
- package/dist/tui-v2/composer/textarea-keybindings.d.ts +1 -1
- package/dist/tui-v2/composer/textarea-keybindings.js +33 -0
- package/dist/tui-v2/composer/textarea-keybindings.js.map +1 -1
- package/dist/tui-v2/composer/use-draft-actions.d.ts +32 -0
- package/dist/tui-v2/composer/use-draft-actions.js +59 -0
- package/dist/tui-v2/composer/use-draft-actions.js.map +1 -0
- package/dist/tui-v2/controllers/overlay-controller.d.ts +13 -0
- package/dist/tui-v2/controllers/overlay-controller.js +5 -2
- package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
- package/dist/tui-v2/rendering/artifact-pager-source.d.ts +10 -0
- package/dist/tui-v2/rendering/artifact-pager-source.js +6 -0
- package/dist/tui-v2/rendering/artifact-pager-source.js.map +1 -1
- package/dist/tui-v2/rendering/job-tail-source.d.ts +21 -0
- package/dist/tui-v2/rendering/job-tail-source.js +87 -0
- package/dist/tui-v2/rendering/job-tail-source.js.map +1 -0
- package/dist/tui-v2/state/use-has-draft.d.ts +6 -0
- package/dist/tui-v2/state/use-has-draft.js +13 -0
- package/dist/tui-v2/state/use-has-draft.js.map +1 -0
- package/dist/types.d.ts +7 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/mentions.d.ts +7 -2
- package/dist/ui/mentions.js +52 -117
- package/dist/ui/mentions.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/dist/version.generated.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Draft-level composer actions and their registration on
|
|
3
|
+
* {@link composerActionPort}, so status chrome and keystrokes share one path.
|
|
4
|
+
*/
|
|
5
|
+
import { type RefObject } from "react";
|
|
6
|
+
import type { TextareaRenderable } from "@opentui/core";
|
|
7
|
+
import type { AppServices } from "../bootstrap/composition-root.js";
|
|
8
|
+
export interface DraftActionsInput {
|
|
9
|
+
readonly editorRef: RefObject<TextareaRenderable | null>;
|
|
10
|
+
readonly services: AppServices;
|
|
11
|
+
/** Expands paste placeholders into the real text. */
|
|
12
|
+
readonly expandPastes: (text: string) => string;
|
|
13
|
+
/** Drop paste + prompt-history state tied to the current draft. */
|
|
14
|
+
readonly resetRegistries: () => void;
|
|
15
|
+
/** Collapse the completion menu and any accepted-slash marker. */
|
|
16
|
+
readonly resetMenuState: () => void;
|
|
17
|
+
readonly setContentRows: (rows: number) => void;
|
|
18
|
+
readonly clearPasteChips: () => void;
|
|
19
|
+
readonly focusComposer: () => void;
|
|
20
|
+
readonly refreshMenu: () => void;
|
|
21
|
+
readonly syncContentRows: () => void;
|
|
22
|
+
readonly notify: (message: string, durationMs: number) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface DraftActions {
|
|
25
|
+
/** Wipe the draft and everything derived from it. */
|
|
26
|
+
readonly clear: (editor: TextareaRenderable) => void;
|
|
27
|
+
/** Ctrl+Shift+X — copy the draft to the clipboard, then clear it. */
|
|
28
|
+
readonly cut: () => Promise<void>;
|
|
29
|
+
/** Show every slash command, as typing "/" in the composer does. */
|
|
30
|
+
readonly showCommands: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare function useDraftActions(input: DraftActionsInput): DraftActions;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Draft-level composer actions and their registration on
|
|
3
|
+
* {@link composerActionPort}, so status chrome and keystrokes share one path.
|
|
4
|
+
*/
|
|
5
|
+
import { useEffect } from "react";
|
|
6
|
+
import { composerActionPort } from "./composer-action-port.js";
|
|
7
|
+
import { cutDraft, cutDraftMessage, primeCommandMenu } from "./draft-actions.js";
|
|
8
|
+
export function useDraftActions(input) {
|
|
9
|
+
const clear = (editor) => {
|
|
10
|
+
editor.clear();
|
|
11
|
+
input.resetRegistries();
|
|
12
|
+
input.resetMenuState();
|
|
13
|
+
input.setContentRows(1);
|
|
14
|
+
input.clearPasteChips();
|
|
15
|
+
};
|
|
16
|
+
const cut = async () => {
|
|
17
|
+
const editor = input.editorRef.current;
|
|
18
|
+
if (!editor)
|
|
19
|
+
return;
|
|
20
|
+
const outcome = await cutDraft({
|
|
21
|
+
editor,
|
|
22
|
+
clipboard: input.services.ports.clipboard,
|
|
23
|
+
expand: input.expandPastes,
|
|
24
|
+
clearDraft: () => clear(editor),
|
|
25
|
+
focus: input.focusComposer,
|
|
26
|
+
});
|
|
27
|
+
input.notify(cutDraftMessage(outcome), outcome === "empty" ? 1400 : 1600);
|
|
28
|
+
};
|
|
29
|
+
const showCommands = () => {
|
|
30
|
+
const editor = input.editorRef.current;
|
|
31
|
+
if (!editor)
|
|
32
|
+
return;
|
|
33
|
+
input.focusComposer();
|
|
34
|
+
primeCommandMenu(editor);
|
|
35
|
+
input.refreshMenu();
|
|
36
|
+
input.syncContentRows();
|
|
37
|
+
};
|
|
38
|
+
// Re-registered every render so the handlers close over current state.
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
const unregisterClear = composerActionPort.registerClear(() => {
|
|
41
|
+
const editor = input.editorRef.current;
|
|
42
|
+
if (!editor)
|
|
43
|
+
return;
|
|
44
|
+
clear(editor);
|
|
45
|
+
input.focusComposer();
|
|
46
|
+
});
|
|
47
|
+
const unregisterCut = composerActionPort.registerCut(() => {
|
|
48
|
+
void cut();
|
|
49
|
+
});
|
|
50
|
+
const unregisterCommands = composerActionPort.registerOpenCommands(showCommands);
|
|
51
|
+
return () => {
|
|
52
|
+
unregisterClear();
|
|
53
|
+
unregisterCut();
|
|
54
|
+
unregisterCommands();
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
return { clear, cut, showCommands };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=use-draft-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-draft-actions.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/use-draft-actions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA4BjF,MAAM,UAAU,eAAe,CAAC,KAAwB;IACtD,MAAM,KAAK,GAAG,CAAC,MAA0B,EAAQ,EAAE;QACjD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,KAAK,IAAmB,EAAE;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;YAC7B,MAAM;YACN,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS;YACzC,MAAM,EAAE,KAAK,CAAC,YAAY;YAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/B,KAAK,EAAE,KAAK,CAAC,aAAa;SAC3B,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,uEAAuE;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,kBAAkB,CAAC,aAAa,CAAC,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;YACvC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,KAAK,CAAC,MAAM,CAAC,CAAC;YACd,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,EAAE;YACxD,KAAK,GAAG,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;QACH,MAAM,kBAAkB,GACtB,kBAAkB,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,GAAG,EAAE;YACV,eAAe,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -36,6 +36,12 @@ export interface PickerRequest {
|
|
|
36
36
|
export interface SecretRequestView {
|
|
37
37
|
readonly title: string;
|
|
38
38
|
readonly prompt: string;
|
|
39
|
+
/**
|
|
40
|
+
* Show the typed value instead of bullets. For inputs that are not secret
|
|
41
|
+
* but reuse this modal — a Modal endpoint URL or an Ollama host — where
|
|
42
|
+
* masking a long URL just hides typos.
|
|
43
|
+
*/
|
|
44
|
+
readonly reveal?: boolean | undefined;
|
|
39
45
|
}
|
|
40
46
|
/** Multi-row engagement scope editor (/scope). */
|
|
41
47
|
export interface ScopeEditorRequest {
|
|
@@ -53,6 +59,13 @@ export interface KeysEditorRequest {
|
|
|
53
59
|
readonly initialKeys: readonly KeysEditorSlotView[];
|
|
54
60
|
/** Index of the currently-active (sticky) key for rotation. */
|
|
55
61
|
readonly activeIndex?: number | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Singular noun for what a row holds. Defaults to "API key"; endpoint editors
|
|
64
|
+
* pass "endpoint URL" so the same overlay can manage base URLs.
|
|
65
|
+
*/
|
|
66
|
+
readonly itemLabel?: string | undefined;
|
|
67
|
+
/** Short heading chip. Defaults to "KEYS". */
|
|
68
|
+
readonly heading?: string | undefined;
|
|
56
69
|
}
|
|
57
70
|
/**
|
|
58
71
|
* Save rows: empty `value` + `slotId` keeps the stored secret; non-empty value
|
|
@@ -45,8 +45,11 @@ export class OverlayController {
|
|
|
45
45
|
...(highlightPath ? { highlightPath } : {}),
|
|
46
46
|
...(markdown ? { markdown } : {}),
|
|
47
47
|
};
|
|
48
|
-
// Allow pager over any confirm (plan "p" or delete "v") without resolving
|
|
49
|
-
|
|
48
|
+
// Allow a pager over any confirm (plan "p" or delete "v") without resolving
|
|
49
|
+
// it, and over the jobs panel so closing a live output view returns to the
|
|
50
|
+
// job list rather than dropping the user back in the transcript.
|
|
51
|
+
const stackable = this.state.kind === "confirm" || this.state.kind === "jobs";
|
|
52
|
+
const opened = stackable && !this.suspended
|
|
50
53
|
? this.suspendUnder(pager, "pager")
|
|
51
54
|
: this.open(pager, "pager");
|
|
52
55
|
if (!opened)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-controller.js","sourceRoot":"","sources":["../../../src/tui-v2/controllers/overlay-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overlay-controller.js","sourceRoot":"","sources":["../../../src/tui-v2/controllers/overlay-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,5 +15,15 @@ export interface ArtifactPagerSource {
|
|
|
15
15
|
search(query: string, fromOffset?: number, reverse?: boolean): Promise<ArtifactPage | undefined>;
|
|
16
16
|
readAll(): Promise<string>;
|
|
17
17
|
dispose(): void;
|
|
18
|
+
/** Last page of the file as it is right now. */
|
|
19
|
+
readTail?(): Promise<ArtifactPage>;
|
|
20
|
+
/**
|
|
21
|
+
* Present only on sources backed by something that can still grow. The pager
|
|
22
|
+
* treats its presence as "offer follow mode" and drives one bounded tail read
|
|
23
|
+
* per notification, so no polling timer is created.
|
|
24
|
+
*/
|
|
25
|
+
watch?(onChange: () => void): () => void;
|
|
26
|
+
/** False once the underlying producer is finished, so follow mode can stop. */
|
|
27
|
+
isGrowing?(): boolean;
|
|
18
28
|
}
|
|
19
29
|
export declare function createArtifactPagerSource(path: string, pageBytes?: number): ArtifactPagerSource;
|
|
@@ -46,10 +46,16 @@ export function createArtifactPagerSource(path, pageBytes = DEFAULT_ARTIFACT_PAG
|
|
|
46
46
|
pageCount,
|
|
47
47
|
};
|
|
48
48
|
};
|
|
49
|
+
const readTail = async () => {
|
|
50
|
+
assertOpen();
|
|
51
|
+
const info = await stat(path);
|
|
52
|
+
return readPage(Math.max(0, info.size - boundedPageBytes));
|
|
53
|
+
};
|
|
49
54
|
return {
|
|
50
55
|
path,
|
|
51
56
|
pageBytes: boundedPageBytes,
|
|
52
57
|
readPage,
|
|
58
|
+
readTail,
|
|
53
59
|
async search(query, fromOffset = 0, reverse = false) {
|
|
54
60
|
assertOpen();
|
|
55
61
|
const needle = Buffer.from(query, "utf8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-pager-source.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/artifact-pager-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/D,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AACnC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"artifact-pager-source.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/artifact-pager-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { JobsPort } from "../../app/ports/jobs-port.js";
|
|
2
|
+
import { type ArtifactPage, type ArtifactPagerSource } from "./artifact-pager-source.js";
|
|
3
|
+
export interface JobTailSourceOptions {
|
|
4
|
+
readonly jobs: JobsPort;
|
|
5
|
+
readonly jobId: string;
|
|
6
|
+
readonly stream?: "stdout" | "stderr";
|
|
7
|
+
readonly pageBytes?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Live view over a background job's output.
|
|
11
|
+
*
|
|
12
|
+
* Bytes are never buffered: every read is one stat plus one bounded page read
|
|
13
|
+
* straight off the artifact file, and the path is re-resolved each time so a
|
|
14
|
+
* rotation to `<artifact>.N` is followed without restarting the view. Updates
|
|
15
|
+
* are driven by the job manager's existing change stream, which is already
|
|
16
|
+
* coalesced to a few notifications per second, so following adds no timer.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createJobTailPagerSource(options: JobTailSourceOptions): ArtifactPagerSource | undefined;
|
|
19
|
+
export declare function jobTailTitle(command: string, live: boolean): string;
|
|
20
|
+
export declare function isLiveJobStatus(status: string): boolean;
|
|
21
|
+
export type { ArtifactPage };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { createArtifactPagerSource, DEFAULT_ARTIFACT_PAGE_BYTES, } from "./artifact-pager-source.js";
|
|
2
|
+
const LIVE_STATUSES = new Set(["starting", "running", "stopping"]);
|
|
3
|
+
/**
|
|
4
|
+
* Live view over a background job's output.
|
|
5
|
+
*
|
|
6
|
+
* Bytes are never buffered: every read is one stat plus one bounded page read
|
|
7
|
+
* straight off the artifact file, and the path is re-resolved each time so a
|
|
8
|
+
* rotation to `<artifact>.N` is followed without restarting the view. Updates
|
|
9
|
+
* are driven by the job manager's existing change stream, which is already
|
|
10
|
+
* coalesced to a few notifications per second, so following adds no timer.
|
|
11
|
+
*/
|
|
12
|
+
export function createJobTailPagerSource(options) {
|
|
13
|
+
const { jobs, jobId } = options;
|
|
14
|
+
const stream = options.stream ?? "stdout";
|
|
15
|
+
const pageBytes = options.pageBytes ?? DEFAULT_ARTIFACT_PAGE_BYTES;
|
|
16
|
+
const currentPath = () => {
|
|
17
|
+
const job = jobs.get(jobId);
|
|
18
|
+
if (!job)
|
|
19
|
+
return undefined;
|
|
20
|
+
const receipt = stream === "stderr" ? job.artifacts?.stderr : job.artifacts?.stdout;
|
|
21
|
+
const rotated = receipt?.chunks?.at(-1);
|
|
22
|
+
return rotated ?? (stream === "stderr" ? job.stderrArtifact : job.stdoutArtifact);
|
|
23
|
+
};
|
|
24
|
+
const initialPath = currentPath();
|
|
25
|
+
if (!initialPath)
|
|
26
|
+
return undefined;
|
|
27
|
+
let disposed = false;
|
|
28
|
+
const delegates = new Map();
|
|
29
|
+
const delegateFor = (path) => {
|
|
30
|
+
const existing = delegates.get(path);
|
|
31
|
+
if (existing)
|
|
32
|
+
return existing;
|
|
33
|
+
const created = createArtifactPagerSource(path, pageBytes);
|
|
34
|
+
delegates.set(path, created);
|
|
35
|
+
return created;
|
|
36
|
+
};
|
|
37
|
+
const active = () => {
|
|
38
|
+
if (disposed)
|
|
39
|
+
throw new Error("job tail source is disposed");
|
|
40
|
+
return delegateFor(currentPath() ?? initialPath);
|
|
41
|
+
};
|
|
42
|
+
const isGrowing = () => {
|
|
43
|
+
const job = jobs.get(jobId);
|
|
44
|
+
return job ? LIVE_STATUSES.has(job.status) : false;
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
path: initialPath,
|
|
48
|
+
pageBytes,
|
|
49
|
+
readPage: (offset) => active().readPage(offset),
|
|
50
|
+
readTail: () => {
|
|
51
|
+
const source = active();
|
|
52
|
+
return source.readTail
|
|
53
|
+
? source.readTail()
|
|
54
|
+
: source.readPage(0);
|
|
55
|
+
},
|
|
56
|
+
search: (query, fromOffset, reverse) => active().search(query, fromOffset, reverse),
|
|
57
|
+
readAll: () => active().readAll(),
|
|
58
|
+
isGrowing,
|
|
59
|
+
watch(onChange) {
|
|
60
|
+
if (disposed)
|
|
61
|
+
return () => undefined;
|
|
62
|
+
return jobs.subscribe((change) => {
|
|
63
|
+
if (change.jobId !== jobId)
|
|
64
|
+
return;
|
|
65
|
+
onChange();
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
dispose() {
|
|
69
|
+
if (disposed)
|
|
70
|
+
return;
|
|
71
|
+
disposed = true;
|
|
72
|
+
for (const delegate of delegates.values())
|
|
73
|
+
delegate.dispose();
|
|
74
|
+
delegates.clear();
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function jobTailTitle(command, live) {
|
|
79
|
+
const label = live ? "live" : "output";
|
|
80
|
+
const trimmed = command.replace(/\s+/g, " ").trim();
|
|
81
|
+
const shown = trimmed.length > 60 ? `${trimmed.slice(0, 59)}…` : trimmed;
|
|
82
|
+
return `${shown} · ${label}`;
|
|
83
|
+
}
|
|
84
|
+
export function isLiveJobStatus(status) {
|
|
85
|
+
return LIVE_STATUSES.has(status);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=job-tail-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-tail-source.js","sourceRoot":"","sources":["../../../src/tui-v2/rendering/job-tail-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { composerActionPort } from "../composer/composer-action-port.js";
|
|
3
|
+
/**
|
|
4
|
+
* Draft emptiness, published by the composer. Status chrome uses it to gate
|
|
5
|
+
* the draft-only chips (^X / ⇧^X) so the row never offers a chord that would
|
|
6
|
+
* currently do nothing.
|
|
7
|
+
*/
|
|
8
|
+
export function useHasDraft() {
|
|
9
|
+
const [hasDraft, setHasDraft] = useState(() => composerActionPort.hasDraft());
|
|
10
|
+
useEffect(() => composerActionPort.subscribeDraft(setHasDraft), []);
|
|
11
|
+
return hasDraft;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=use-has-draft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-has-draft.js","sourceRoot":"","sources":["../../../src/tui-v2/state/use-has-draft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9E,SAAS,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const providerIds: readonly ["groq", "gemini", "openrouter", "openai", "anthropic", "nvidia", "agentrouter", "kimchi", "aws-mantle", "ollama", "bynara", "qwen-cloud"];
|
|
1
|
+
export declare const providerIds: readonly ["groq", "gemini", "openrouter", "openai", "anthropic", "nvidia", "agentrouter", "kimchi", "aws-mantle", "ollama", "bynara", "qwen-cloud", "modal", "lightning", "tokenrouter"];
|
|
2
2
|
export type ProviderId = (typeof providerIds)[number];
|
|
3
3
|
export type Mode = "ask" | "agent" | "plan";
|
|
4
4
|
export type RiskLevel = "safe" | "confirm" | "block";
|
|
@@ -170,6 +170,10 @@ export interface ProviderStatus {
|
|
|
170
170
|
activeMaskedKey?: string | undefined;
|
|
171
171
|
model: string;
|
|
172
172
|
note?: string | undefined;
|
|
173
|
+
/** Stored endpoint URLs, in order, for providers with a user-supplied base URL. */
|
|
174
|
+
endpoints?: string[] | undefined;
|
|
175
|
+
/** Index of the sticky active endpoint within `endpoints`. */
|
|
176
|
+
activeEndpointIndex?: number | undefined;
|
|
173
177
|
}
|
|
174
178
|
export interface ToolCall {
|
|
175
179
|
name: string;
|
|
@@ -201,6 +205,8 @@ export interface ToolResult {
|
|
|
201
205
|
outputPath?: string | undefined;
|
|
202
206
|
backgroundJob?: BackgroundJobReceipt | undefined;
|
|
203
207
|
truncated?: boolean | undefined;
|
|
208
|
+
/** Internal: the tool intentionally returned policy/repeat feedback without polling. */
|
|
209
|
+
suppressedRepeat?: boolean | undefined;
|
|
204
210
|
/**
|
|
205
211
|
* Set by aggregate tools (tool.batch) when some children succeeded and some
|
|
206
212
|
* failed. `ok` stays false so no layer records a partial run as success,
|
package/dist/types.js
CHANGED
|
@@ -11,6 +11,9 @@ export const providerIds = [
|
|
|
11
11
|
"ollama",
|
|
12
12
|
"bynara",
|
|
13
13
|
"qwen-cloud",
|
|
14
|
+
"modal",
|
|
15
|
+
"lightning",
|
|
16
|
+
"tokenrouter",
|
|
14
17
|
];
|
|
15
18
|
/** True for system-injected recovery prompts that must stay out of the chat UI. */
|
|
16
19
|
export function isInternalChatMessage(message) {
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,YAAY;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,WAAW;IACX,aAAa;CACL,CAAC;AA2FX,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CAAC,OAAoB;IACxD,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,6EAA6E;IAC7E,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,0DAA0D;IAC1D,OAAO,ocAAoc,CAAC,IAAI,CAC9c,IAAI,CACL,CAAC;AACJ,CAAC"}
|
package/dist/ui/mentions.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ImageBudget } from "../attachments/image-content.js";
|
|
1
2
|
import type { ChatImage } from "../types.js";
|
|
2
3
|
export type AttachmentKind = "text" | "image" | "document" | "binary" | "directory" | "missing";
|
|
3
4
|
export interface Attachment {
|
|
@@ -31,6 +32,10 @@ export interface MentionExpansion {
|
|
|
31
32
|
/** Context block to append to the model message, or "" if no attachments. */
|
|
32
33
|
contextBlock: string;
|
|
33
34
|
}
|
|
35
|
+
export interface ExpandMentionsOptions {
|
|
36
|
+
visionCapable?: boolean | undefined;
|
|
37
|
+
budget?: ImageBudget | undefined;
|
|
38
|
+
}
|
|
34
39
|
export declare function imageMediaType(absPath: string): string | undefined;
|
|
35
40
|
export declare function normalizeDroppedPath(token: string): string;
|
|
36
41
|
export declare function formatAttachmentReference(path: string, baseDir?: string): string;
|
|
@@ -86,7 +91,7 @@ export declare function stabilizeDroppedImagesInText(text: string, baseDir?: str
|
|
|
86
91
|
* and a context block to append to the model message. The original text is
|
|
87
92
|
* preserved so the conversation history stays readable.
|
|
88
93
|
*/
|
|
89
|
-
export declare function expandMentions(line: string, baseDir?: string,
|
|
94
|
+
export declare function expandMentions(line: string, baseDir?: string, vision?: boolean | ExpandMentionsOptions): MentionExpansion;
|
|
90
95
|
/**
|
|
91
96
|
* Return the absolute paths of every image attachment referenced in a prompt
|
|
92
97
|
* (via @-mention or drag-drop), regardless of whether the active model
|
|
@@ -95,5 +100,5 @@ export declare function expandMentions(line: string, baseDir?: string, visionCap
|
|
|
95
100
|
*/
|
|
96
101
|
export declare function imageAttachmentPaths(line: string, baseDir?: string): string[];
|
|
97
102
|
export declare function stabilizeImagePaths(paths: string[], baseDir?: string): string[];
|
|
98
|
-
export declare function loadImagePaths(paths: readonly string[]): ChatImage[];
|
|
103
|
+
export declare function loadImagePaths(paths: readonly string[], budget?: ImageBudget, baseDir?: string): ChatImage[];
|
|
99
104
|
export declare function loadImageAttachments(line: string, baseDir?: string): ChatImage[];
|