@caupulican/pi-adaptative 0.80.2 → 0.80.4
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/CHANGELOG.md +12 -0
- package/dist/modes/interactive/components/tool-group.d.ts +1 -0
- package/dist/modes/interactive/components/tool-group.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-group.js +12 -4
- package/dist/modes/interactive/components/tool-group.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +11 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +63 -28
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/matrix-machine.json +15 -15
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +96 -4
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +12 -12
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.80.4] - 2026-06-02
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added terminal clipboard image paste attachment handling so pasted images are sent as model image inputs instead of temp-file path text.
|
|
10
|
+
|
|
11
|
+
## [0.80.3] - 2026-06-02
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Fixed startup fallback when optional built-in theme assets are unavailable or invalid.
|
|
16
|
+
|
|
5
17
|
## [0.80.2] - 2026-06-02
|
|
6
18
|
|
|
7
19
|
### Added
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-group.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/tool-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"tool-group.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/tool-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,EAAiC,MAAM,wBAAwB,CAAC;AAG5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,qBAAa,kBAAmB,YAAW,SAAS;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAS;IAEzB,YAAY,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,sBAAsB,EAAO,EAGlE;IAED,OAAO,CAAC,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAG1C;IAED,UAAU,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAKhD;IAED,YAAY,IAAI,MAAM,CAErB;IAED,WAAW,IAAI,sBAAsB,GAAG,SAAS,CAEhD;IAED,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAGnC;IAED,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAEjC;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEtC;IAED,UAAU,IAAI,IAAI,CAEjB;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ9B;IAED,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,kBAAkB;CAM1B","sourcesContent":["import { Box, type Component, truncateToWidth, visibleWidth } from \"@earendil-works/pi-tui\";\nimport { type ThemeBg, theme } from \"../theme/theme.ts\";\nimport { keyText } from \"./keybinding-hints.ts\";\nimport type { ToolExecutionComponent } from \"./tool-execution.ts\";\n\nexport class ToolGroupComponent implements Component {\n\treadonly toolGroup: string;\n\tprivate readonly tools: ToolExecutionComponent[] = [];\n\tprivate expanded = false;\n\n\tconstructor(toolGroup: string, tools: ToolExecutionComponent[] = []) {\n\t\tthis.toolGroup = toolGroup;\n\t\tfor (const tool of tools) this.addTool(tool);\n\t}\n\n\taddTool(tool: ToolExecutionComponent): void {\n\t\ttool.setExpanded(this.expanded);\n\t\tthis.tools.push(tool);\n\t}\n\n\tremoveTool(tool: ToolExecutionComponent): boolean {\n\t\tconst index = this.tools.indexOf(tool);\n\t\tif (index === -1) return false;\n\t\tthis.tools.splice(index, 1);\n\t\treturn true;\n\t}\n\n\tgetToolCount(): number {\n\t\treturn this.tools.length;\n\t}\n\n\tgetOnlyTool(): ToolExecutionComponent | undefined {\n\t\treturn this.tools.length === 1 ? this.tools[0] : undefined;\n\t}\n\n\tsetExpanded(expanded: boolean): void {\n\t\tthis.expanded = expanded;\n\t\tfor (const tool of this.tools) tool.setExpanded(expanded);\n\t}\n\n\tsetShowImages(show: boolean): void {\n\t\tfor (const tool of this.tools) tool.setShowImages(show);\n\t}\n\n\tsetImageWidthCells(width: number): void {\n\t\tfor (const tool of this.tools) tool.setImageWidthCells(width);\n\t}\n\n\tinvalidate(): void {\n\t\tfor (const tool of this.tools) tool.invalidate();\n\t}\n\n\trender(width: number): string[] {\n\t\tif (this.tools.length === 0) return [];\n\t\tconst safeWidth = Math.max(1, width);\n\t\tif (this.expanded) return this.tools.flatMap((tool) => tool.render(safeWidth));\n\n\t\tconst box = new Box(1, 1, (text) => theme.bg(this.getBackgroundColor(), text));\n\t\tbox.addChild({ render: (contentWidth) => this.renderCollapsed(contentWidth), invalidate: () => {} });\n\t\treturn [\" \".repeat(safeWidth), ...box.render(safeWidth)];\n\t}\n\n\tprivate renderCollapsed(width: number): string[] {\n\t\tconst safeWidth = Math.max(1, width);\n\t\tconst lines = this.tools.flatMap((tool) =>\n\t\t\ttool.renderCallSummary(safeWidth).map((line) => line.replace(/[ \\t]+$/g, \"\")),\n\t\t);\n\t\tfor (let i = lines.length - 1; i >= 0; i--) {\n\t\t\tif (lines[i]?.trim()) {\n\t\t\t\tlines[i] = this.appendExpandHint(lines[i], safeWidth);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn lines.map((line) => truncateToWidth(line, safeWidth, \"...\"));\n\t}\n\n\tprivate appendExpandHint(line: string, width: number): string {\n\t\tconst hint = theme.fg(\"dim\", ` (${keyText(\"app.tools.expand\")} to expand)`);\n\t\tconst hintWidth = visibleWidth(hint);\n\t\tif (hintWidth >= width) return truncateToWidth(hint, width, \"...\");\n\t\treturn truncateToWidth(line, width - hintWidth, \"\") + hint;\n\t}\n\n\tprivate getBackgroundColor(): ThemeBg {\n\t\tconst colors = this.tools.map((tool) => tool.getBackgroundColor());\n\t\tif (colors.includes(\"toolErrorBg\")) return \"toolErrorBg\";\n\t\tif (colors.includes(\"toolPendingBg\")) return \"toolPendingBg\";\n\t\treturn \"toolSuccessBg\";\n\t}\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Box } from "@earendil-works/pi-tui";
|
|
1
|
+
import { Box, truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
|
|
2
2
|
import { theme } from "../theme/theme.js";
|
|
3
3
|
import { keyText } from "./keybinding-hints.js";
|
|
4
4
|
export class ToolGroupComponent {
|
|
@@ -55,14 +55,22 @@ export class ToolGroupComponent {
|
|
|
55
55
|
return [" ".repeat(safeWidth), ...box.render(safeWidth)];
|
|
56
56
|
}
|
|
57
57
|
renderCollapsed(width) {
|
|
58
|
-
const
|
|
58
|
+
const safeWidth = Math.max(1, width);
|
|
59
|
+
const lines = this.tools.flatMap((tool) => tool.renderCallSummary(safeWidth).map((line) => line.replace(/[ \t]+$/g, "")));
|
|
59
60
|
for (let i = lines.length - 1; i >= 0; i--) {
|
|
60
61
|
if (lines[i]?.trim()) {
|
|
61
|
-
lines[i]
|
|
62
|
+
lines[i] = this.appendExpandHint(lines[i], safeWidth);
|
|
62
63
|
break;
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
|
-
return lines;
|
|
66
|
+
return lines.map((line) => truncateToWidth(line, safeWidth, "..."));
|
|
67
|
+
}
|
|
68
|
+
appendExpandHint(line, width) {
|
|
69
|
+
const hint = theme.fg("dim", ` (${keyText("app.tools.expand")} to expand)`);
|
|
70
|
+
const hintWidth = visibleWidth(hint);
|
|
71
|
+
if (hintWidth >= width)
|
|
72
|
+
return truncateToWidth(hint, width, "...");
|
|
73
|
+
return truncateToWidth(line, width - hintWidth, "") + hint;
|
|
66
74
|
}
|
|
67
75
|
getBackgroundColor() {
|
|
68
76
|
const colors = this.tools.map((tool) => tool.getBackgroundColor());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-group.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/tool-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-group.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/tool-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { Box, type Component, truncateToWidth, visibleWidth } from \"@earendil-works/pi-tui\";\nimport { type ThemeBg, theme } from \"../theme/theme.ts\";\nimport { keyText } from \"./keybinding-hints.ts\";\nimport type { ToolExecutionComponent } from \"./tool-execution.ts\";\n\nexport class ToolGroupComponent implements Component {\n\treadonly toolGroup: string;\n\tprivate readonly tools: ToolExecutionComponent[] = [];\n\tprivate expanded = false;\n\n\tconstructor(toolGroup: string, tools: ToolExecutionComponent[] = []) {\n\t\tthis.toolGroup = toolGroup;\n\t\tfor (const tool of tools) this.addTool(tool);\n\t}\n\n\taddTool(tool: ToolExecutionComponent): void {\n\t\ttool.setExpanded(this.expanded);\n\t\tthis.tools.push(tool);\n\t}\n\n\tremoveTool(tool: ToolExecutionComponent): boolean {\n\t\tconst index = this.tools.indexOf(tool);\n\t\tif (index === -1) return false;\n\t\tthis.tools.splice(index, 1);\n\t\treturn true;\n\t}\n\n\tgetToolCount(): number {\n\t\treturn this.tools.length;\n\t}\n\n\tgetOnlyTool(): ToolExecutionComponent | undefined {\n\t\treturn this.tools.length === 1 ? this.tools[0] : undefined;\n\t}\n\n\tsetExpanded(expanded: boolean): void {\n\t\tthis.expanded = expanded;\n\t\tfor (const tool of this.tools) tool.setExpanded(expanded);\n\t}\n\n\tsetShowImages(show: boolean): void {\n\t\tfor (const tool of this.tools) tool.setShowImages(show);\n\t}\n\n\tsetImageWidthCells(width: number): void {\n\t\tfor (const tool of this.tools) tool.setImageWidthCells(width);\n\t}\n\n\tinvalidate(): void {\n\t\tfor (const tool of this.tools) tool.invalidate();\n\t}\n\n\trender(width: number): string[] {\n\t\tif (this.tools.length === 0) return [];\n\t\tconst safeWidth = Math.max(1, width);\n\t\tif (this.expanded) return this.tools.flatMap((tool) => tool.render(safeWidth));\n\n\t\tconst box = new Box(1, 1, (text) => theme.bg(this.getBackgroundColor(), text));\n\t\tbox.addChild({ render: (contentWidth) => this.renderCollapsed(contentWidth), invalidate: () => {} });\n\t\treturn [\" \".repeat(safeWidth), ...box.render(safeWidth)];\n\t}\n\n\tprivate renderCollapsed(width: number): string[] {\n\t\tconst safeWidth = Math.max(1, width);\n\t\tconst lines = this.tools.flatMap((tool) =>\n\t\t\ttool.renderCallSummary(safeWidth).map((line) => line.replace(/[ \\t]+$/g, \"\")),\n\t\t);\n\t\tfor (let i = lines.length - 1; i >= 0; i--) {\n\t\t\tif (lines[i]?.trim()) {\n\t\t\t\tlines[i] = this.appendExpandHint(lines[i], safeWidth);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn lines.map((line) => truncateToWidth(line, safeWidth, \"...\"));\n\t}\n\n\tprivate appendExpandHint(line: string, width: number): string {\n\t\tconst hint = theme.fg(\"dim\", ` (${keyText(\"app.tools.expand\")} to expand)`);\n\t\tconst hintWidth = visibleWidth(hint);\n\t\tif (hintWidth >= width) return truncateToWidth(hint, width, \"...\");\n\t\treturn truncateToWidth(line, width - hintWidth, \"\") + hint;\n\t}\n\n\tprivate getBackgroundColor(): ThemeBg {\n\t\tconst colors = this.tools.map((tool) => tool.getBackgroundColor());\n\t\tif (colors.includes(\"toolErrorBg\")) return \"toolErrorBg\";\n\t\tif (colors.includes(\"toolPendingBg\")) return \"toolPendingBg\";\n\t\treturn \"toolSuccessBg\";\n\t}\n}\n"]}
|
|
@@ -6,6 +6,10 @@ import { type ImageContent } from "@earendil-works/pi-ai";
|
|
|
6
6
|
import { type AgentSessionRuntime } from "../../core/agent-session-runtime.ts";
|
|
7
7
|
import { SessionManager } from "../../core/session-manager.ts";
|
|
8
8
|
import { type LatestPiRelease } from "../../utils/version-check.ts";
|
|
9
|
+
type UserInputSubmission = {
|
|
10
|
+
text: string;
|
|
11
|
+
images?: ImageContent[];
|
|
12
|
+
};
|
|
9
13
|
export declare function formatResumeCommand(sessionManager: SessionManager): string | undefined;
|
|
10
14
|
export declare function isApiKeyLoginProvider(providerId: string, oauthProviderIds: ReadonlySet<string>, builtInProviderIds?: ReadonlySet<string>): boolean;
|
|
11
15
|
/**
|
|
@@ -45,6 +49,8 @@ export declare class InteractiveMode {
|
|
|
45
49
|
private isInitialized;
|
|
46
50
|
private onInputCallback?;
|
|
47
51
|
private pendingUserInputs;
|
|
52
|
+
private pendingClipboardImages;
|
|
53
|
+
private clipboardImageCounter;
|
|
48
54
|
private loadingAnimation;
|
|
49
55
|
private workingMessage;
|
|
50
56
|
private workingVisible;
|
|
@@ -241,6 +247,9 @@ export declare class InteractiveMode {
|
|
|
241
247
|
private showExtensionError;
|
|
242
248
|
private setupKeyHandlers;
|
|
243
249
|
private handleClipboardImagePaste;
|
|
250
|
+
private nextClipboardImageLabel;
|
|
251
|
+
private takeClipboardImagesForText;
|
|
252
|
+
private buildUserInputSubmission;
|
|
244
253
|
private setupEditorSubmitHandler;
|
|
245
254
|
private subscribeToAgent;
|
|
246
255
|
private handleEvent;
|
|
@@ -262,7 +271,7 @@ export declare class InteractiveMode {
|
|
|
262
271
|
*/
|
|
263
272
|
private renderSessionContext;
|
|
264
273
|
renderInitialMessages(): void;
|
|
265
|
-
getUserInput(): Promise<
|
|
274
|
+
getUserInput(): Promise<UserInputSubmission>;
|
|
266
275
|
private rebuildChatFromMessages;
|
|
267
276
|
private handleCtrlC;
|
|
268
277
|
private handleCtrlD;
|
|
@@ -412,4 +421,5 @@ export declare class InteractiveMode {
|
|
|
412
421
|
private handleCompactCommand;
|
|
413
422
|
stop(): void;
|
|
414
423
|
}
|
|
424
|
+
export {};
|
|
415
425
|
//# sourceMappingURL=interactive-mode.d.ts.map
|