@codex-infinity/pi-infinity 0.61.3 → 0.62.1
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 +45 -0
- package/README.md +2 -2
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +4 -0
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/core/agent-session.d.ts +1 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +31 -30
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/extensions/index.d.ts +3 -2
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +12 -2
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +4 -7
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +27 -38
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +13 -5
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/output-guard.d.ts +6 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +59 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-manager.d.ts +1 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +27 -8
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +2 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +30 -32
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/resource-loader.d.ts +6 -5
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +133 -107
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/skills.d.ts +2 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +25 -1
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts +2 -3
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts +18 -0
- package/dist/core/source-info.d.ts.map +1 -0
- package/dist/core/source-info.js +19 -0
- package/dist/core/source-info.js.map +1 -0
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +18 -8
- package/dist/core/tools/read.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +9 -6
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +4 -11
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +140 -86
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +3 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +1 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +5 -11
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +8 -14
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +3 -4
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/utils/image-resize.d.ts +5 -5
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js +45 -94
- package/dist/utils/image-resize.js.map +1 -1
- package/docs/extensions.md +31 -6
- package/examples/extensions/commands.ts +3 -3
- 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/custom-provider-qwen-cli/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/04-skills.ts +8 -2
- package/examples/sdk/08-prompt-templates.ts +2 -1
- package/examples/sdk/12-full-control.ts +0 -1
- package/package.json +4 -4
|
@@ -27,7 +27,7 @@ import { createToolHtmlRenderer } from "./export-html/tool-renderer.js";
|
|
|
27
27
|
import { ExtensionRunner, wrapRegisteredTools, } from "./extensions/index.js";
|
|
28
28
|
import { expandPromptTemplate } from "./prompt-templates.js";
|
|
29
29
|
import { CURRENT_SESSION_VERSION, getLatestCompactionEntry } from "./session-manager.js";
|
|
30
|
-
import {
|
|
30
|
+
import { createSyntheticSourceInfo } from "./source-info.js";
|
|
31
31
|
import { buildSystemPrompt } from "./system-prompt.js";
|
|
32
32
|
import { createAllToolDefinitions } from "./tools/index.js";
|
|
33
33
|
import { createToolDefinitionFromAgentTool, wrapToolDefinition } from "./tools/tool-definition-wrapper.js";
|
|
@@ -483,17 +483,18 @@ export class AgentSession {
|
|
|
483
483
|
return this.agent.state.tools.map((t) => t.name);
|
|
484
484
|
}
|
|
485
485
|
/**
|
|
486
|
-
* Get all configured tools with name, description, and
|
|
486
|
+
* Get all configured tools with name, description, parameter schema, and source metadata.
|
|
487
487
|
*/
|
|
488
488
|
getAllTools() {
|
|
489
|
-
return Array.from(this._toolDefinitions.values()).map((
|
|
490
|
-
name:
|
|
491
|
-
description:
|
|
492
|
-
parameters:
|
|
489
|
+
return Array.from(this._toolDefinitions.values()).map(({ definition, sourceInfo }) => ({
|
|
490
|
+
name: definition.name,
|
|
491
|
+
description: definition.description,
|
|
492
|
+
parameters: definition.parameters,
|
|
493
|
+
sourceInfo,
|
|
493
494
|
}));
|
|
494
495
|
}
|
|
495
496
|
getToolDefinition(name) {
|
|
496
|
-
return this._toolDefinitions.get(name);
|
|
497
|
+
return this._toolDefinitions.get(name)?.definition;
|
|
497
498
|
}
|
|
498
499
|
/**
|
|
499
500
|
* Set active tools by name.
|
|
@@ -1649,36 +1650,24 @@ export class AgentSession {
|
|
|
1649
1650
|
this.agent.setModel(refreshedModel);
|
|
1650
1651
|
}
|
|
1651
1652
|
_bindExtensionCore(runner) {
|
|
1652
|
-
const normalizeLocation = (source) => {
|
|
1653
|
-
if (source === "user" || source === "project" || source === "path") {
|
|
1654
|
-
return source;
|
|
1655
|
-
}
|
|
1656
|
-
return undefined;
|
|
1657
|
-
};
|
|
1658
|
-
const reservedBuiltins = new Set(BUILTIN_SLASH_COMMANDS.map((command) => command.name));
|
|
1659
1653
|
const getCommands = () => {
|
|
1660
|
-
const extensionCommands = runner
|
|
1661
|
-
.
|
|
1662
|
-
.filter(({ command }) => !reservedBuiltins.has(command.name))
|
|
1663
|
-
.map(({ command, extensionPath }) => ({
|
|
1664
|
-
name: command.name,
|
|
1654
|
+
const extensionCommands = runner.getRegisteredCommands().map((command) => ({
|
|
1655
|
+
name: command.invocationName,
|
|
1665
1656
|
description: command.description,
|
|
1666
1657
|
source: "extension",
|
|
1667
|
-
|
|
1658
|
+
sourceInfo: command.sourceInfo,
|
|
1668
1659
|
}));
|
|
1669
1660
|
const templates = this.promptTemplates.map((template) => ({
|
|
1670
1661
|
name: template.name,
|
|
1671
1662
|
description: template.description,
|
|
1672
1663
|
source: "prompt",
|
|
1673
|
-
|
|
1674
|
-
path: template.filePath,
|
|
1664
|
+
sourceInfo: template.sourceInfo,
|
|
1675
1665
|
}));
|
|
1676
1666
|
const skills = this._resourceLoader.getSkills().skills.map((skill) => ({
|
|
1677
1667
|
name: `skill:${skill.name}`,
|
|
1678
1668
|
description: skill.description,
|
|
1679
1669
|
source: "skill",
|
|
1680
|
-
|
|
1681
|
-
path: skill.filePath,
|
|
1670
|
+
sourceInfo: skill.sourceInfo,
|
|
1682
1671
|
}));
|
|
1683
1672
|
return [...extensionCommands, ...templates, ...skills];
|
|
1684
1673
|
};
|
|
@@ -1766,21 +1755,33 @@ export class AgentSession {
|
|
|
1766
1755
|
const registeredTools = this._extensionRunner?.getAllRegisteredTools() ?? [];
|
|
1767
1756
|
const allCustomTools = [
|
|
1768
1757
|
...registeredTools,
|
|
1769
|
-
...this._customTools.map((
|
|
1758
|
+
...this._customTools.map((definition) => ({
|
|
1759
|
+
definition,
|
|
1760
|
+
sourceInfo: createSyntheticSourceInfo(`<sdk:${definition.name}>`, { source: "sdk" }),
|
|
1761
|
+
})),
|
|
1770
1762
|
];
|
|
1771
|
-
const definitionRegistry = new Map(this._baseToolDefinitions)
|
|
1772
|
-
|
|
1773
|
-
|
|
1763
|
+
const definitionRegistry = new Map(Array.from(this._baseToolDefinitions.entries()).map(([name, definition]) => [
|
|
1764
|
+
name,
|
|
1765
|
+
{
|
|
1766
|
+
definition,
|
|
1767
|
+
sourceInfo: createSyntheticSourceInfo(`<builtin:${name}>`, { source: "builtin" }),
|
|
1768
|
+
},
|
|
1769
|
+
]));
|
|
1770
|
+
for (const tool of allCustomTools) {
|
|
1771
|
+
definitionRegistry.set(tool.definition.name, {
|
|
1772
|
+
definition: tool.definition,
|
|
1773
|
+
sourceInfo: tool.sourceInfo,
|
|
1774
|
+
});
|
|
1774
1775
|
}
|
|
1775
1776
|
this._toolDefinitions = definitionRegistry;
|
|
1776
1777
|
this._toolPromptSnippets = new Map(Array.from(definitionRegistry.values())
|
|
1777
|
-
.map((definition) => {
|
|
1778
|
+
.map(({ definition }) => {
|
|
1778
1779
|
const snippet = this._normalizePromptSnippet(definition.promptSnippet);
|
|
1779
1780
|
return snippet ? [definition.name, snippet] : undefined;
|
|
1780
1781
|
})
|
|
1781
1782
|
.filter((entry) => entry !== undefined));
|
|
1782
1783
|
this._toolPromptGuidelines = new Map(Array.from(definitionRegistry.values())
|
|
1783
|
-
.map((definition) => {
|
|
1784
|
+
.map(({ definition }) => {
|
|
1784
1785
|
const guidelines = this._normalizePromptGuidelines(definition.promptGuidelines);
|
|
1785
1786
|
return guidelines.length > 0 ? [definition.name, guidelines] : undefined;
|
|
1786
1787
|
})
|