@timurproko/a1 0.2.7-dev.1233 → 0.2.7-dev.1234
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/foundation/release/progress-palette.generated.d.ts +1 -1
- package/dist/foundation/release/progress-palette.generated.js +1 -1
- package/dist/foundation/startup/startup-descriptor.js +2 -2
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -2
- package/dist/integrations/pi/components/resources/builtin-themes.js +2 -2
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +1 -1
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
- package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +3 -3
- package/dist/integrations/pi/components/upstream/components/extension-editor.js +4 -1
- package/dist/integrations/pi/components/upstream/components/extension-input.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +8 -1
- package/dist/integrations/pi/components/upstream/components/pi-logo.js +1 -1
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +2 -1
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +14 -3
- package/dist/integrations/pi/components/upstream/components/session-footer.js +1 -1
- package/dist/integrations/pi/components/upstream/components/session-selector-search.d.ts +4 -0
- package/dist/integrations/pi/components/upstream/components/session-selector-search.js +87 -23
- package/dist/integrations/pi/components/upstream/components/session-selector.d.ts +3 -2
- package/dist/integrations/pi/components/upstream/components/session-selector.js +18 -13
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +1 -1
- package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/status-indicator.js +1 -1
- package/dist/integrations/pi/components/upstream/components/themed-text.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/themed-text.js +1 -1
- package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/thinking-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +6 -0
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +14 -2
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +2 -1
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +5 -4
- package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/external-editor.d.ts +1 -0
- package/dist/integrations/pi/components/upstream/external-editor.js +13 -6
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +3 -1
- package/dist/integrations/pi/components/upstream/history/editor-core.js +9 -2
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
- package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
- package/dist/integrations/pi/components/upstream/model-search.d.ts +11 -1
- package/dist/integrations/pi/components/upstream/model-search.js +21 -0
- package/dist/integrations/pi/components/upstream/program-status-reporter.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme.js +1 -1
- package/dist/integrations/pi/engine/resources/changelog.json +4 -4
- package/dist/integrations/pi/startup-public.js +324 -309
- package/dist/integrations/pi/startup-public.manifest.json +1156 -846
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +1 -1
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +1 -1
- package/dist/native/darwin-arm64/manifest.json +1 -1
- package/dist/native/darwin-arm64/terminal-host.manifest.json +1 -1
- package/dist/native/darwin-x64/manifest.json +1 -1
- package/dist/native/darwin-x64/terminal-host.manifest.json +1 -1
- package/dist/native/linux-x64/manifest.json +1 -1
- package/dist/native/linux-x64/terminal-host.manifest.json +1 -1
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/native/win32-x64/process-guardian.node +0 -0
- package/dist/native/win32-x64/terminal-host.manifest.json +2 -2
- package/dist/native/win32-x64/terminal-host.node +0 -0
- package/dist/runtime-payload-inventory.json +8178 -5237
- package/dist/ui/settings/progress-palette.generated.d.ts +1 -1
- package/dist/ui/settings/progress-palette.generated.js +1 -1
- package/package.json +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/thinking-selector.ts.
|
|
4
4
|
* Modifications: Preserve the searchable thinking-level selector, current/default semantics,
|
|
5
5
|
* selection, and focus while accepting the active bare-A1 cycle-key label from the shell, styling the
|
|
@@ -38,6 +38,8 @@ export declare class ToolExecutionComponent extends Container {
|
|
|
38
38
|
private cwd;
|
|
39
39
|
private executionStarted;
|
|
40
40
|
private argsComplete;
|
|
41
|
+
/** `updateArgs()` ran since the last display update; the next render applies it. */
|
|
42
|
+
private argsPending;
|
|
41
43
|
private result;
|
|
42
44
|
private hideComponent;
|
|
43
45
|
constructor(toolName: string, toolCallId: string, args: any, options: ToolExecutionOptions | undefined, toolDefinition: ToolRenderers | ToolDefinition<any, any, any> | undefined, ui: TUI, cwd: string);
|
|
@@ -46,6 +48,10 @@ export declare class ToolExecutionComponent extends Container {
|
|
|
46
48
|
private createCallFallback;
|
|
47
49
|
private createResultFallback;
|
|
48
50
|
private createResultRegion;
|
|
51
|
+
/**
|
|
52
|
+
* Show new partial arguments. Applied at the next render, so a call streaming many argument deltas between two
|
|
53
|
+
* frames runs its renderer once per frame, not once per delta (#9265).
|
|
54
|
+
*/
|
|
49
55
|
updateArgs(args: any): void;
|
|
50
56
|
markExecutionStarted(): void;
|
|
51
57
|
setArgsComplete(): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tool-execution.ts.
|
|
4
4
|
* Modifications: Retain pinned shell/public renderers. Own image conversion; replace private APIs with
|
|
5
5
|
* public/local equivalents. Use bare-A1 secondary-accent read ranges and concise collapse shortcut
|
|
@@ -122,6 +122,8 @@ export class ToolExecutionComponent extends Container {
|
|
|
122
122
|
cwd;
|
|
123
123
|
executionStarted = false;
|
|
124
124
|
argsComplete = false;
|
|
125
|
+
/** `updateArgs()` ran since the last display update; the next render applies it. */
|
|
126
|
+
argsPending = false;
|
|
125
127
|
result;
|
|
126
128
|
hideComponent = false;
|
|
127
129
|
constructor(toolName, toolCallId, args, options = {}, toolDefinition, ui, cwd) {
|
|
@@ -179,6 +181,8 @@ export class ToolExecutionComponent extends Container {
|
|
|
179
181
|
isError: this.result?.isError ?? false,
|
|
180
182
|
durationMs: this.isPartial ? undefined : this.result?.durationMs,
|
|
181
183
|
outputPad: this.outputPad,
|
|
184
|
+
keyText,
|
|
185
|
+
keyHint,
|
|
182
186
|
};
|
|
183
187
|
}
|
|
184
188
|
createCallFallback() {
|
|
@@ -206,9 +210,14 @@ export class ToolExecutionComponent extends Container {
|
|
|
206
210
|
return { handled: true };
|
|
207
211
|
});
|
|
208
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Show new partial arguments. Applied at the next render, so a call streaming many argument deltas between two
|
|
215
|
+
* frames runs its renderer once per frame, not once per delta (#9265).
|
|
216
|
+
*/
|
|
209
217
|
updateArgs(args) {
|
|
210
218
|
this.args = args;
|
|
211
|
-
this.
|
|
219
|
+
this.argsPending = true;
|
|
220
|
+
this.ui.requestRender();
|
|
212
221
|
}
|
|
213
222
|
markExecutionStarted() {
|
|
214
223
|
this.executionStarted = true;
|
|
@@ -257,6 +266,8 @@ export class ToolExecutionComponent extends Container {
|
|
|
257
266
|
this.updateDisplay();
|
|
258
267
|
}
|
|
259
268
|
render(width) {
|
|
269
|
+
if (this.argsPending)
|
|
270
|
+
this.updateDisplay();
|
|
260
271
|
if (this.hideComponent) {
|
|
261
272
|
return [];
|
|
262
273
|
}
|
|
@@ -336,6 +347,7 @@ export class ToolExecutionComponent extends Container {
|
|
|
336
347
|
}
|
|
337
348
|
composeDisplay() {
|
|
338
349
|
const theme = piTheme();
|
|
350
|
+
this.argsPending = false;
|
|
339
351
|
const bgFn = enclosingToolBackground(theme, this.isPartial ? "toolPendingBg"
|
|
340
352
|
: this.result?.isError ? "toolErrorBg" : "toolSuccessBg");
|
|
341
353
|
let hasContent = false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tree-selector.ts.
|
|
4
4
|
* Modifications: Port remaps public types/components plus owned keybindings/theme helpers while
|
|
5
5
|
* preserving tree behavior; bare A1 uses compact modal chrome and label editing, four-mode
|
|
@@ -106,6 +106,7 @@ export declare class TreeSelectorComponent extends Container implements Focusabl
|
|
|
106
106
|
private restoreTreeContent;
|
|
107
107
|
private showLabelInput;
|
|
108
108
|
private hideLabelInput;
|
|
109
|
+
get capturesViewportInput(): boolean;
|
|
109
110
|
handleInput(keyData: string): void;
|
|
110
111
|
getTreeList(): TreeList;
|
|
111
112
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tree-selector.ts.
|
|
4
4
|
* Modifications: Port remaps public types/components plus owned keybindings/theme helpers while
|
|
5
5
|
* preserving tree behavior; bare A1 uses compact modal chrome and label editing, four-mode
|
|
@@ -807,9 +807,7 @@ class TreeList {
|
|
|
807
807
|
formatToolCall(name, args) {
|
|
808
808
|
const shortenPath = (p) => {
|
|
809
809
|
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
810
|
-
|
|
811
|
-
return `~${p.slice(home.length)}`;
|
|
812
|
-
return p;
|
|
810
|
+
return home && p.startsWith(home) ? `~${p.slice(home.length)}` : p;
|
|
813
811
|
};
|
|
814
812
|
switch (name) {
|
|
815
813
|
case "read": {
|
|
@@ -1322,6 +1320,9 @@ export class TreeSelectorComponent extends Container {
|
|
|
1322
1320
|
this.labelInputContainer.clear();
|
|
1323
1321
|
this.restoreTreeContent();
|
|
1324
1322
|
}
|
|
1323
|
+
get capturesViewportInput() {
|
|
1324
|
+
return this.labelInput === null;
|
|
1325
|
+
}
|
|
1325
1326
|
handleInput(keyData) {
|
|
1326
1327
|
if (this.labelInput) {
|
|
1327
1328
|
this.labelInput.handleInput(keyData);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/trust-selector.ts.
|
|
4
4
|
* Modifications: Mechanical source-synchronized trust selector port with injected public
|
|
5
5
|
* ProjectTrustStore-derived options, remapped owned theme imports, the shared bare-A1 modal shortcut
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/external-editor.ts.
|
|
4
4
|
* Modifications: Mechanical port: retain temporary prompt file, asynchronous inherited-stdio editor
|
|
5
5
|
* process, completion readback, and best-effort cleanup behind the owned extension-editor component.
|
|
@@ -16,18 +16,25 @@ export async function editInExternalEditor(options) {
|
|
|
16
16
|
writeFileSync(filePath, options.content, "utf-8");
|
|
17
17
|
const [editor, ...editorArgs] = options.command.split(" ");
|
|
18
18
|
if (!editor)
|
|
19
|
-
return { status: "failed" };
|
|
19
|
+
return { status: "failed", message: "No external editor command is configured" };
|
|
20
20
|
process.stdout.write(`Launching external editor: ${options.command}\nPi will resume when the editor exits.\n`);
|
|
21
|
-
const
|
|
21
|
+
const exit = await new Promise(resolve => {
|
|
22
22
|
const child = spawn(editor, [...editorArgs, filePath], {
|
|
23
23
|
stdio: "inherit",
|
|
24
24
|
shell: process.platform === "win32",
|
|
25
25
|
});
|
|
26
26
|
child.on("error", () => resolve(null));
|
|
27
|
-
child.on("close", code => resolve(code));
|
|
27
|
+
child.on("close", (code, signal) => resolve(code ?? signal));
|
|
28
28
|
});
|
|
29
|
-
if (
|
|
30
|
-
return { status: "failed" };
|
|
29
|
+
if (exit === null) {
|
|
30
|
+
return { status: "failed", message: `Failed to launch external editor: ${options.command}` };
|
|
31
|
+
}
|
|
32
|
+
if (exit !== 0) {
|
|
33
|
+
return {
|
|
34
|
+
status: "failed",
|
|
35
|
+
message: `External editor exited with ${typeof exit === "number" ? `code ${exit}` : exit}; prompt unchanged`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
31
38
|
// Rationale: upstream strips the BOM through a private util the package does not export; the check lives here.
|
|
32
39
|
const edited = readFileSync(filePath, "utf-8");
|
|
33
40
|
return { status: "complete", content: (edited.startsWith("") ? edited.slice(1) : edited).replace(/\n$/, "") };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/components/editor.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, semantic border state with the user-approved numeric-only
|
|
@@ -48,6 +48,8 @@ export declare class HistoryEditorCore implements Component, Focusable {
|
|
|
48
48
|
private state;
|
|
49
49
|
/** Focusable interface - set by TUI when focus changes */
|
|
50
50
|
focused: boolean;
|
|
51
|
+
/** The open autocomplete menu receives fullscreen viewport keys, such as PageUp/PageDown. */
|
|
52
|
+
get capturesViewportInput(): boolean;
|
|
51
53
|
protected tui: TUI;
|
|
52
54
|
private theme;
|
|
53
55
|
private paddingX;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/components/editor.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, semantic border state with the user-approved numeric-only
|
|
@@ -243,6 +243,10 @@ export class HistoryEditorCore {
|
|
|
243
243
|
};
|
|
244
244
|
/** Focusable interface - set by TUI when focus changes */
|
|
245
245
|
focused = false;
|
|
246
|
+
/** The open autocomplete menu receives fullscreen viewport keys, such as PageUp/PageDown. */
|
|
247
|
+
get capturesViewportInput() {
|
|
248
|
+
return this.autocompleteState !== null;
|
|
249
|
+
}
|
|
246
250
|
tui;
|
|
247
251
|
theme;
|
|
248
252
|
paddingX = 0;
|
|
@@ -734,7 +738,10 @@ export class HistoryEditorCore {
|
|
|
734
738
|
this.cancelAutocomplete();
|
|
735
739
|
return;
|
|
736
740
|
}
|
|
737
|
-
if (kb.matches(data, "tui.select.up") ||
|
|
741
|
+
if (kb.matches(data, "tui.select.up") ||
|
|
742
|
+
kb.matches(data, "tui.select.down") ||
|
|
743
|
+
kb.matches(data, "tui.select.pageUp") ||
|
|
744
|
+
kb.matches(data, "tui.select.pageDown")) {
|
|
738
745
|
this.autocompleteList.handleInput(data);
|
|
739
746
|
return;
|
|
740
747
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/kill-ring.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/kill-ring.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/keys.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/utils.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/undo-stack.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/undo-stack.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/tui/src/word-navigation.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/model-search.ts.
|
|
4
4
|
* Modifications: Mechanical source-synchronized port preserving pinned model search terms for stateful
|
|
5
5
|
* scoped-model filtering.
|
|
@@ -11,6 +11,16 @@ export interface ModelSearchItem {
|
|
|
11
11
|
name?: string;
|
|
12
12
|
}
|
|
13
13
|
export declare function getModelSearchText(item: ModelSearchItem): string;
|
|
14
|
+
/**
|
|
15
|
+
* Returns the model name when it has words the ID does not, e.g. a renamed override like
|
|
16
|
+
* "MiniMax M3 [rasmus@openrouter, parasail]" for "minimax/minimax-m3". Names that only
|
|
17
|
+
* restate the ID with different casing, separators, or a dropped namespace/version suffix
|
|
18
|
+
* ("Claude Sonnet 4.5 (EU)" for "eu.anthropic.claude-sonnet-4-5-20250929-v1:0") return undefined.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getDistinctModelName(item: {
|
|
21
|
+
id: string;
|
|
22
|
+
name?: string;
|
|
23
|
+
}): string | undefined;
|
|
14
24
|
/**
|
|
15
25
|
* The /model selector search should rank exact provider-prefixed queries before proxy-provider IDs
|
|
16
26
|
* like openrouter/openai/gpt-5, so keep the bare model ID out of the leading position.
|
|
@@ -3,6 +3,27 @@ export function getModelSearchText(item) {
|
|
|
3
3
|
const name = item.name ? ` ${item.name}` : "";
|
|
4
4
|
return `${id} ${provider} ${provider}/${id} ${provider} ${id}${name}`;
|
|
5
5
|
}
|
|
6
|
+
const splitModelLabel = (value) => value
|
|
7
|
+
.toLowerCase()
|
|
8
|
+
.split(/[^\p{L}\p{N}]+/u)
|
|
9
|
+
.filter(Boolean);
|
|
10
|
+
/**
|
|
11
|
+
* Returns the model name when it has words the ID does not, e.g. a renamed override like
|
|
12
|
+
* "MiniMax M3 [rasmus@openrouter, parasail]" for "minimax/minimax-m3". Names that only
|
|
13
|
+
* restate the ID with different casing, separators, or a dropped namespace/version suffix
|
|
14
|
+
* ("Claude Sonnet 4.5 (EU)" for "eu.anthropic.claude-sonnet-4-5-20250929-v1:0") return undefined.
|
|
15
|
+
*/
|
|
16
|
+
export function getDistinctModelName(item) {
|
|
17
|
+
const name = item.name?.trim();
|
|
18
|
+
if (!name)
|
|
19
|
+
return undefined;
|
|
20
|
+
const idWords = splitModelLabel(item.id);
|
|
21
|
+
const idTokens = new Set(idWords);
|
|
22
|
+
const compactId = idWords.join("");
|
|
23
|
+
// Single-character words must match a whole ID token: "4" is not covered by "mistral-small-2603".
|
|
24
|
+
const isCovered = (word) => idTokens.has(word) || (word.length > 1 && compactId.includes(word));
|
|
25
|
+
return splitModelLabel(name).every(isCovered) ? undefined : name;
|
|
26
|
+
}
|
|
6
27
|
/**
|
|
7
28
|
* The /model selector search should rank exact provider-prefixed queries before proxy-provider IDs
|
|
8
29
|
* like openrouter/openai/gpt-5, so keep the bare model ID out of the leading position.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/program-status-reporter.ts.
|
|
4
4
|
* Modifications: Remap Pi session events to A1's neutral run events, inject the terminal reporter, use
|
|
5
5
|
* A1's application identity, and clear dialog state when the owned session changes.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/theme/theme-controller.ts.
|
|
4
4
|
* Modifications: Source-synchronized controller port: renamed owner class, injected dependency-free
|
|
5
5
|
* settings/runtime ports, remapped private theme helpers to the public-backed A1 theme adapter, and
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/theme/theme.ts.
|
|
4
4
|
* Modifications: Source-synchronized theme port: retain pinned theme schema, variable/color
|
|
5
5
|
* resolution, built-in and custom loading, terminal detection, and layout defaults while constructing
|