gsd-pi 2.24.0 → 2.25.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/README.md +2 -1
- package/dist/models-resolver.d.ts +0 -11
- package/dist/models-resolver.js +0 -15
- package/dist/resource-loader.d.ts +0 -1
- package/dist/resource-loader.js +0 -9
- package/dist/resources/GSD-WORKFLOW.md +12 -9
- package/dist/resources/extensions/bg-shell/overlay.ts +18 -17
- package/dist/resources/extensions/get-secrets-from-user.ts +5 -23
- package/dist/resources/extensions/gsd/activity-log.ts +5 -3
- package/dist/resources/extensions/gsd/auto-prompts.ts +14 -0
- package/dist/resources/extensions/gsd/auto-worktree.ts +119 -1
- package/dist/resources/extensions/gsd/auto.ts +184 -36
- package/dist/resources/extensions/gsd/cache.ts +3 -1
- package/dist/resources/extensions/gsd/doctor.ts +2 -0
- package/dist/resources/extensions/gsd/git-service.ts +74 -14
- package/dist/resources/extensions/gsd/gsd-db.ts +78 -1
- package/dist/resources/extensions/gsd/guided-flow.ts +34 -12
- package/dist/resources/extensions/gsd/index.ts +14 -1
- package/dist/resources/extensions/gsd/memory-extractor.ts +352 -0
- package/dist/resources/extensions/gsd/memory-store.ts +441 -0
- package/dist/resources/extensions/gsd/migrate/command.ts +2 -2
- package/dist/resources/extensions/gsd/prompts/complete-slice.md +1 -1
- package/dist/resources/extensions/gsd/prompts/discuss-headless.md +2 -2
- package/dist/resources/extensions/gsd/prompts/discuss.md +4 -4
- package/dist/resources/extensions/gsd/prompts/execute-task.md +1 -1
- package/dist/resources/extensions/gsd/prompts/guided-discuss-milestone.md +1 -1
- package/dist/resources/extensions/gsd/prompts/guided-discuss-slice.md +1 -1
- package/dist/resources/extensions/gsd/prompts/plan-slice.md +1 -1
- package/dist/resources/extensions/gsd/prompts/queue.md +1 -1
- package/dist/resources/extensions/gsd/prompts/reassess-roadmap.md +1 -1
- package/dist/resources/extensions/gsd/tests/auto-recovery.test.ts +54 -0
- package/dist/resources/extensions/gsd/tests/auto-worktree.test.ts +58 -0
- package/dist/resources/extensions/gsd/tests/git-service.test.ts +70 -4
- package/dist/resources/extensions/gsd/tests/gsd-db.test.ts +2 -2
- package/dist/resources/extensions/gsd/tests/md-importer.test.ts +2 -3
- package/dist/resources/extensions/gsd/tests/memory-extractor.test.ts +180 -0
- package/dist/resources/extensions/gsd/tests/memory-store.test.ts +345 -0
- package/dist/resources/extensions/gsd/tests/smart-entry-draft.test.ts +1 -1
- package/dist/resources/extensions/gsd/tests/visualizer-data.test.ts +147 -2
- package/dist/resources/extensions/gsd/tests/visualizer-overlay.test.ts +88 -10
- package/dist/resources/extensions/gsd/tests/visualizer-views.test.ts +314 -87
- package/dist/resources/extensions/gsd/triage-ui.ts +1 -1
- package/dist/resources/extensions/gsd/visualizer-data.ts +291 -10
- package/dist/resources/extensions/gsd/visualizer-overlay.ts +237 -28
- package/dist/resources/extensions/gsd/visualizer-views.ts +462 -48
- package/dist/resources/extensions/gsd/worktree.ts +9 -2
- package/dist/resources/extensions/search-the-web/native-search.ts +15 -5
- package/package.json +1 -1
- package/packages/pi-agent-core/dist/agent-loop.js +2 -0
- package/packages/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/packages/pi-agent-core/src/agent-loop.ts +2 -0
- package/packages/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
- package/packages/pi-ai/dist/providers/anthropic.js +39 -0
- package/packages/pi-ai/dist/providers/anthropic.js.map +1 -1
- package/packages/pi-ai/dist/providers/mistral.js +3 -0
- package/packages/pi-ai/dist/providers/mistral.js.map +1 -1
- package/packages/pi-ai/dist/types.d.ts +23 -1
- package/packages/pi-ai/dist/types.d.ts.map +1 -1
- package/packages/pi-ai/dist/types.js.map +1 -1
- package/packages/pi-ai/src/providers/anthropic.ts +38 -1
- package/packages/pi-ai/src/providers/mistral.ts +3 -0
- package/packages/pi-ai/src/types.ts +19 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +17 -0
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +4 -0
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +72 -0
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +18 -0
- package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +84 -0
- package/src/resources/GSD-WORKFLOW.md +12 -9
- package/src/resources/extensions/bg-shell/overlay.ts +18 -17
- package/src/resources/extensions/get-secrets-from-user.ts +5 -23
- package/src/resources/extensions/gsd/activity-log.ts +5 -3
- package/src/resources/extensions/gsd/auto-prompts.ts +14 -0
- package/src/resources/extensions/gsd/auto-worktree.ts +119 -1
- package/src/resources/extensions/gsd/auto.ts +184 -36
- package/src/resources/extensions/gsd/cache.ts +3 -1
- package/src/resources/extensions/gsd/doctor.ts +2 -0
- package/src/resources/extensions/gsd/git-service.ts +74 -14
- package/src/resources/extensions/gsd/gsd-db.ts +78 -1
- package/src/resources/extensions/gsd/guided-flow.ts +34 -12
- package/src/resources/extensions/gsd/index.ts +14 -1
- package/src/resources/extensions/gsd/memory-extractor.ts +352 -0
- package/src/resources/extensions/gsd/memory-store.ts +441 -0
- package/src/resources/extensions/gsd/migrate/command.ts +2 -2
- package/src/resources/extensions/gsd/prompts/complete-slice.md +1 -1
- package/src/resources/extensions/gsd/prompts/discuss-headless.md +2 -2
- package/src/resources/extensions/gsd/prompts/discuss.md +4 -4
- package/src/resources/extensions/gsd/prompts/execute-task.md +1 -1
- package/src/resources/extensions/gsd/prompts/guided-discuss-milestone.md +1 -1
- package/src/resources/extensions/gsd/prompts/guided-discuss-slice.md +1 -1
- package/src/resources/extensions/gsd/prompts/plan-slice.md +1 -1
- package/src/resources/extensions/gsd/prompts/queue.md +1 -1
- package/src/resources/extensions/gsd/prompts/reassess-roadmap.md +1 -1
- package/src/resources/extensions/gsd/tests/auto-recovery.test.ts +54 -0
- package/src/resources/extensions/gsd/tests/auto-worktree.test.ts +58 -0
- package/src/resources/extensions/gsd/tests/git-service.test.ts +70 -4
- package/src/resources/extensions/gsd/tests/gsd-db.test.ts +2 -2
- package/src/resources/extensions/gsd/tests/md-importer.test.ts +2 -3
- package/src/resources/extensions/gsd/tests/memory-extractor.test.ts +180 -0
- package/src/resources/extensions/gsd/tests/memory-store.test.ts +345 -0
- package/src/resources/extensions/gsd/tests/smart-entry-draft.test.ts +1 -1
- package/src/resources/extensions/gsd/tests/visualizer-data.test.ts +147 -2
- package/src/resources/extensions/gsd/tests/visualizer-overlay.test.ts +88 -10
- package/src/resources/extensions/gsd/tests/visualizer-views.test.ts +314 -87
- package/src/resources/extensions/gsd/triage-ui.ts +1 -1
- package/src/resources/extensions/gsd/visualizer-data.ts +291 -10
- package/src/resources/extensions/gsd/visualizer-overlay.ts +237 -28
- package/src/resources/extensions/gsd/visualizer-views.ts +462 -48
- package/src/resources/extensions/gsd/worktree.ts +9 -2
- package/src/resources/extensions/search-the-web/native-search.ts +15 -5
|
@@ -885,6 +885,32 @@ export class InteractiveMode {
|
|
|
885
885
|
const registeredTool = tools.find((t) => t.definition.name === toolName);
|
|
886
886
|
return registeredTool?.definition;
|
|
887
887
|
}
|
|
888
|
+
/**
|
|
889
|
+
* Format web search result content for display in the TUI.
|
|
890
|
+
*/
|
|
891
|
+
formatWebSearchResult(content) {
|
|
892
|
+
if (!content)
|
|
893
|
+
return "Web search completed";
|
|
894
|
+
// Error result
|
|
895
|
+
if (typeof content === "object" && "type" in content && content.type === "web_search_tool_result_error") {
|
|
896
|
+
const error = content;
|
|
897
|
+
return `Search error: ${error.error_code || "unknown"}`;
|
|
898
|
+
}
|
|
899
|
+
// Array of search results
|
|
900
|
+
if (Array.isArray(content)) {
|
|
901
|
+
const results = content.filter((r) => r.type === "web_search_result");
|
|
902
|
+
if (results.length === 0)
|
|
903
|
+
return "No results found";
|
|
904
|
+
return results
|
|
905
|
+
.map((r) => {
|
|
906
|
+
const title = r.title || "Untitled";
|
|
907
|
+
const url = r.url || "";
|
|
908
|
+
return `${title}\n ${url}`;
|
|
909
|
+
})
|
|
910
|
+
.join("\n");
|
|
911
|
+
}
|
|
912
|
+
return "Web search completed";
|
|
913
|
+
}
|
|
888
914
|
/**
|
|
889
915
|
* Set up keyboard shortcuts registered by extensions.
|
|
890
916
|
*/
|
|
@@ -1793,6 +1819,31 @@ export class InteractiveMode {
|
|
|
1793
1819
|
}
|
|
1794
1820
|
}
|
|
1795
1821
|
}
|
|
1822
|
+
else if (content.type === "serverToolUse") {
|
|
1823
|
+
// Server-side tool (e.g., native web search) — show as pending tool execution
|
|
1824
|
+
if (!this.pendingTools.has(content.id)) {
|
|
1825
|
+
const component = new ToolExecutionComponent(content.name, content.input ?? {}, {
|
|
1826
|
+
showImages: this.settingsManager.getShowImages(),
|
|
1827
|
+
}, undefined, this.ui);
|
|
1828
|
+
component.setExpanded(this.toolOutputExpanded);
|
|
1829
|
+
this.chatContainer.addChild(component);
|
|
1830
|
+
this.pendingTools.set(content.id, component);
|
|
1831
|
+
}
|
|
1832
|
+
}
|
|
1833
|
+
else if (content.type === "webSearchResult") {
|
|
1834
|
+
// Server-side tool result — resolve the pending server tool execution
|
|
1835
|
+
const component = this.pendingTools.get(content.toolUseId);
|
|
1836
|
+
if (component) {
|
|
1837
|
+
const searchContent = content.content;
|
|
1838
|
+
const isError = searchContent && typeof searchContent === "object" && "type" in searchContent && searchContent.type === "web_search_tool_result_error";
|
|
1839
|
+
const resultText = this.formatWebSearchResult(searchContent);
|
|
1840
|
+
component.updateResult({
|
|
1841
|
+
content: [{ type: "text", text: resultText }],
|
|
1842
|
+
isError: !!isError,
|
|
1843
|
+
});
|
|
1844
|
+
this.pendingTools.delete(content.toolUseId);
|
|
1845
|
+
}
|
|
1846
|
+
}
|
|
1796
1847
|
}
|
|
1797
1848
|
this.ui.requestRender();
|
|
1798
1849
|
}
|
|
@@ -2129,6 +2180,27 @@ export class InteractiveMode {
|
|
|
2129
2180
|
this.pendingTools.set(content.id, component);
|
|
2130
2181
|
}
|
|
2131
2182
|
}
|
|
2183
|
+
else if (content.type === "serverToolUse") {
|
|
2184
|
+
// Server-side tool (e.g., native web search)
|
|
2185
|
+
const component = new ToolExecutionComponent(content.name, content.input ?? {}, { showImages: this.settingsManager.getShowImages() }, undefined, this.ui);
|
|
2186
|
+
component.setExpanded(this.toolOutputExpanded);
|
|
2187
|
+
this.chatContainer.addChild(component);
|
|
2188
|
+
// Find matching webSearchResult in this message's content
|
|
2189
|
+
const resultBlock = message.content.find((c) => c.type === "webSearchResult" && c.toolUseId === content.id);
|
|
2190
|
+
if (resultBlock && resultBlock.type === "webSearchResult") {
|
|
2191
|
+
const searchContent = resultBlock.content;
|
|
2192
|
+
const isError = searchContent && typeof searchContent === "object" && "type" in searchContent && searchContent.type === "web_search_tool_result_error";
|
|
2193
|
+
const resultText = this.formatWebSearchResult(searchContent);
|
|
2194
|
+
component.updateResult({
|
|
2195
|
+
content: [{ type: "text", text: resultText }],
|
|
2196
|
+
isError: !!isError,
|
|
2197
|
+
});
|
|
2198
|
+
}
|
|
2199
|
+
else {
|
|
2200
|
+
// No result yet (aborted stream?) — show as pending
|
|
2201
|
+
this.pendingTools.set(content.id, component);
|
|
2202
|
+
}
|
|
2203
|
+
}
|
|
2132
2204
|
}
|
|
2133
2205
|
}
|
|
2134
2206
|
else if (message.role === "toolResult") {
|