diff --git a/package.json b/package.json index 062cba050a..8d0fc23681 100644 --- a/package.json +++ b/package.json @@ -159,10 +159,10 @@ "@homebridge/ciao": "^1.3.4", "@line/bot-sdk": "^10.6.0", "@lydell/node-pty": "1.2.0-beta.3", - "@mariozechner/pi-agent-core": "0.50.9", - "@mariozechner/pi-ai": "0.50.9", - "@mariozechner/pi-coding-agent": "0.50.7", - "@mariozechner/pi-tui": "0.50.7", + "@mariozechner/pi-agent-core": "0.51.0", + "@mariozechner/pi-ai": "0.51.0", + "@mariozechner/pi-coding-agent": "0.51.0", + "@mariozechner/pi-tui": "0.51.0", "@mozilla/readability": "^0.6.0", "@sinclair/typebox": "0.34.48", "@slack/bolt": "^4.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c12670a0ff..414635af23 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,17 +46,17 @@ importers: specifier: 1.2.0-beta.3 version: 1.2.0-beta.3 '@mariozechner/pi-agent-core': - specifier: 0.50.9 - version: 0.50.9(ws@8.19.0)(zod@4.3.6) + specifier: 0.51.0 + version: 0.51.0(ws@8.19.0)(zod@4.3.6) '@mariozechner/pi-ai': - specifier: 0.50.9 - version: 0.50.9(ws@8.19.0)(zod@4.3.6) + specifier: 0.51.0 + version: 0.51.0(ws@8.19.0)(zod@4.3.6) '@mariozechner/pi-coding-agent': - specifier: 0.50.7 - version: 0.50.7(ws@8.19.0)(zod@4.3.6) + specifier: 0.51.0 + version: 0.51.0(ws@8.19.0)(zod@4.3.6) '@mariozechner/pi-tui': - specifier: 0.50.7 - version: 0.50.7 + specifier: 0.51.0 + version: 0.51.0 '@mozilla/readability': specifier: ^0.6.0 version: 0.6.0 @@ -1339,87 +1339,89 @@ packages: '@lydell/node-pty@1.2.0-beta.3': resolution: {integrity: sha512-ngGAItlRhmJXrhspxt8kX13n1dVFqzETOq0m/+gqSkO8NJBvNMwP7FZckMwps2UFySdr4yxCXNGu/bumg5at6A==} - '@mariozechner/clipboard-darwin-arm64@0.3.0': - resolution: {integrity: sha512-7i4bitLzRSij0fj6q6tPmmf+JrwHqfBsBmf8mOcLVv0LVexD+4gEsyMait4i92exKYmCfna6uHKVS84G4nqehg==} + '@mariozechner/clipboard-darwin-arm64@0.3.2': + resolution: {integrity: sha512-uBf6K7Je1ihsgvmWxA8UCGCeI+nbRVRXoarZdLjl6slz94Zs1tNKFZqx7aCI5O1i3e0B6ja82zZ06BWrl0MCVw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@mariozechner/clipboard-darwin-universal@0.3.0': - resolution: {integrity: sha512-FVZLGdIkmvqtPQjD0GQwKLVheL+zV7DjA6I5NcsHGjBeWpG2nACS6COuelNf8ruMoPxJFw7RoB4fjw6mmjT+Nw==} + '@mariozechner/clipboard-darwin-universal@0.3.2': + resolution: {integrity: sha512-mxSheKTW2U9LsBdXy0SdmdCAE5HqNS9QUmpNHLnfJ+SsbFKALjEZc5oRrVMXxGQSirDvYf5bjmRyT0QYYonnlg==} engines: {node: '>= 10'} os: [darwin] - '@mariozechner/clipboard-darwin-x64@0.3.0': - resolution: {integrity: sha512-KuurQYEqRhalvBji3CH5xIq1Ts23IgVRE3rjanhqFDI77luOhCnlNbDtqv3No5OxJhEBLykQNrAzfgjqPsPWdA==} + '@mariozechner/clipboard-darwin-x64@0.3.2': + resolution: {integrity: sha512-U1BcVEoidvwIp95+HJswSW+xr28EQiHR7rZjH6pn8Sja5yO4Yoe3yCN0Zm8Lo72BbSOK/fTSq0je7CJpaPCspg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@mariozechner/clipboard-linux-arm64-gnu@0.3.0': - resolution: {integrity: sha512-nWpGMlk43bch7ztGfnALcSi5ZREVziPYzrFKjoJimbwaiULrfY0fGce0gWBynP9ak0nHgDLp0nSa7b4cCl+cIw==} + '@mariozechner/clipboard-linux-arm64-gnu@0.3.2': + resolution: {integrity: sha512-BsinwG3yWTIjdgNCxsFlip7LkfwPk+ruw/aFCXHUg/fb5XC/Ksp+YMQ7u0LUtiKzIv/7LMXgZInJQH6gxbAaqQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@mariozechner/clipboard-linux-riscv64-gnu@0.3.0': - resolution: {integrity: sha512-4BC08CIaOXSSAGRZLEjqJmQfioED8ohAzwt0k2amZPEbH96YKoBNorq5EdwPf5VT+odS0DeyCwhwtxokRLZIvQ==} + '@mariozechner/clipboard-linux-arm64-musl@0.3.2': + resolution: {integrity: sha512-0/Gi5Xq2V6goXBop19ePoHvXsmJD9SzFlO3S+d6+T2b+BlPcpOu3Oa0wTjl+cZrLAAEzA86aPNBI+VVAFDFPKw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@mariozechner/clipboard-linux-riscv64-gnu@0.3.2': + resolution: {integrity: sha512-2AFFiXB24qf0zOZsxI1GJGb9wQGlOJyN6UwoXqmKS3dpQi/l6ix30IzDDA4c4ZcCcx4D+9HLYXhC1w7Sov8pXA==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] - '@mariozechner/clipboard-linux-x64-gnu@0.3.0': - resolution: {integrity: sha512-GpNY5Y9nOzr0Vt0Qi5U88qwe6piiIHk44kSMexl8ns90LluN5UTNYmyfi7Xq3/lmPZCpnB2xvBTYbsXCxnopIA==} + '@mariozechner/clipboard-linux-x64-gnu@0.3.2': + resolution: {integrity: sha512-v6fVnsn7WMGg73Dab8QMwyFce7tzGfgEixKgzLP8f1GJqkJZi5zO4k4FOHzSgUufgLil63gnxvMpjWkgfeQN7A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@mariozechner/clipboard-linux-x64-musl@0.3.0': - resolution: {integrity: sha512-+PnR48/x9GMY5Kh8BLjzHMx6trOegMtxAuqTM9X/bhV3QuW6sLLd7nojDHSGj/ZueK6i0tcQxvOrgNLozVtNDA==} + '@mariozechner/clipboard-linux-x64-musl@0.3.2': + resolution: {integrity: sha512-xVUtnoMQ8v2JVyfJLKKXACA6avdnchdbBkTsZs8BgJQo29qwCp5NIHAUO8gbJ40iaEGToW5RlmVk2M9V0HsHEw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@mariozechner/clipboard-win32-arm64-msvc@0.3.0': - resolution: {integrity: sha512-+dy2vZ1Ph4EYj0cotB+bVUVk/uKl2bh9LOp/zlnFqoCCYDN6sm+L0VyIOPPo3hjoEVdGpHe1MUxp3qG/OLwXgg==} + '@mariozechner/clipboard-win32-arm64-msvc@0.3.2': + resolution: {integrity: sha512-AEgg95TNi8TGgak2wSXZkXKCvAUTjWoU1Pqb0ON7JHrX78p616XUFNTJohtIon3e0w6k0pYPZeCuqRCza/Tqeg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@mariozechner/clipboard-win32-x64-msvc@0.3.0': - resolution: {integrity: sha512-dfpHrUpKHl7ad3xVGE1+gIN3cEnjjPZa4I0BIYMuj2OKq07Gf1FKTXMypB41rDFv6XNzcfhYQnY+ZNgIu9FB8A==} + '@mariozechner/clipboard-win32-x64-msvc@0.3.2': + resolution: {integrity: sha512-tGRuYpZwDOD7HBrCpyRuhGnHHSCknELvqwKKUG4JSfSB7JIU7LKRh6zx6fMUOQd8uISK35TjFg5UcNih+vJhFA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@mariozechner/clipboard@0.3.0': - resolution: {integrity: sha512-tQrCRAtr58BLmWcvwCqlJo5GJgqBGb3zwOBFFBKCEKvRgD8y/EawhCyXsfOh9XOOde1NTAYsYuYyVOYw2tLnoQ==} + '@mariozechner/clipboard@0.3.2': + resolution: {integrity: sha512-IHQpksNjo7EAtGuHFU+tbWDp5LarH3HU/8WiB9O70ZEoBPHOg0/6afwSLK0QyNMMmx4Bpi/zl6+DcBXe95nWYA==} engines: {node: '>= 10'} '@mariozechner/jiti@2.6.5': resolution: {integrity: sha512-faGUlTcXka5l7rv0lP3K3vGW/ejRuOS24RR2aSFWREUQqzjgdsuWNo/IiPqL3kWRGt6Ahl2+qcDAwtdeWeuGUw==} hasBin: true - '@mariozechner/pi-agent-core@0.50.9': - resolution: {integrity: sha512-Zsgqs/f2Fxrub1k95vj8kg7M1eTDdS1lP3gTV7h9raBUQzoaPP+9jYGoUL5KKqxsBbt7WgeAQrK3nrev400EHA==} + '@mariozechner/pi-agent-core@0.51.0': + resolution: {integrity: sha512-pHHCpp9kSY3q5aDg/hA5vsQDxjRQxTr7yV3dUFngNpq5Qrdl3osPic83d5qPrcy64J3hFhfzq8OYs60FibrexA==} engines: {node: '>=20.0.0'} - '@mariozechner/pi-ai@0.50.9': - resolution: {integrity: sha512-a6sLIHLH+wo5zTFoo/0AE/P6GPyJzaXnE86z89t6tINzeSdKMApZZ+B4Cy4U3GpsYfxuZ9gBJlcKbfj+oKP3wg==} + '@mariozechner/pi-ai@0.51.0': + resolution: {integrity: sha512-M8gB0cq7g2weCCuRRxbQH/pnnW5NMHV19fpu19XIpDbGscqf6nUNKFyjzwHEl5Ett6egq5l8bBqTxCDvY6an4A==} engines: {node: '>=20.0.0'} hasBin: true - '@mariozechner/pi-coding-agent@0.50.7': - resolution: {integrity: sha512-A3SK7VoVY/xVNoRyLWwKoLRBTJ1cBq8hfqIiKOuE9BPBimEONu7lr7BZF/ma8rbOakPfhJ5TvLHCegwW9RhnwQ==} + '@mariozechner/pi-coding-agent@0.51.0': + resolution: {integrity: sha512-TYECttYU83Oy1+uOptgglDacQSJL3BV007swD2fN057gw8txlj2ORSYDsrBvOeRA8CsNSCqiwWuni5Cehp7qOg==} engines: {node: '>=20.0.0'} hasBin: true - '@mariozechner/pi-tui@0.50.7': - resolution: {integrity: sha512-O8H8hXqoWdE+5eUUPiswq+WT+2eeshJHJmXKWMJMoSitNqdwzYZds9umAKdVLII6ZvjnFtd0awnf4VThYQBFIA==} - engines: {node: '>=20.0.0'} - - '@mariozechner/pi-tui@0.50.9': - resolution: {integrity: sha512-suMWoh+XB3JKkwrXfXSwEAsvkrPUn6Zn8JQ1I+1hcNQqH/lY6e8LFRwVBkkvPt/jwoxBh8jGoiTNVh5i7Yod0g==} + '@mariozechner/pi-tui@0.51.0': + resolution: {integrity: sha512-B5+zg3TNr6ge3wVsZF4L8if+2RKz/doYw2iN2veSwqpyJDQTiBqjjkLS9lBxxbmybAmfao/lWN9zho1AeUOynA==} engines: {node: '>=20.0.0'} '@matrix-org/matrix-sdk-crypto-nodejs@0.4.0': @@ -6364,54 +6366,59 @@ snapshots: '@lydell/node-pty-win32-arm64': 1.2.0-beta.3 '@lydell/node-pty-win32-x64': 1.2.0-beta.3 - '@mariozechner/clipboard-darwin-arm64@0.3.0': + '@mariozechner/clipboard-darwin-arm64@0.3.2': optional: true - '@mariozechner/clipboard-darwin-universal@0.3.0': + '@mariozechner/clipboard-darwin-universal@0.3.2': optional: true - '@mariozechner/clipboard-darwin-x64@0.3.0': + '@mariozechner/clipboard-darwin-x64@0.3.2': optional: true - '@mariozechner/clipboard-linux-arm64-gnu@0.3.0': + '@mariozechner/clipboard-linux-arm64-gnu@0.3.2': optional: true - '@mariozechner/clipboard-linux-riscv64-gnu@0.3.0': + '@mariozechner/clipboard-linux-arm64-musl@0.3.2': optional: true - '@mariozechner/clipboard-linux-x64-gnu@0.3.0': + '@mariozechner/clipboard-linux-riscv64-gnu@0.3.2': optional: true - '@mariozechner/clipboard-linux-x64-musl@0.3.0': + '@mariozechner/clipboard-linux-x64-gnu@0.3.2': optional: true - '@mariozechner/clipboard-win32-arm64-msvc@0.3.0': + '@mariozechner/clipboard-linux-x64-musl@0.3.2': optional: true - '@mariozechner/clipboard-win32-x64-msvc@0.3.0': + '@mariozechner/clipboard-win32-arm64-msvc@0.3.2': optional: true - '@mariozechner/clipboard@0.3.0': + '@mariozechner/clipboard-win32-x64-msvc@0.3.2': + optional: true + + '@mariozechner/clipboard@0.3.2': optionalDependencies: - '@mariozechner/clipboard-darwin-arm64': 0.3.0 - '@mariozechner/clipboard-darwin-universal': 0.3.0 - '@mariozechner/clipboard-darwin-x64': 0.3.0 - '@mariozechner/clipboard-linux-arm64-gnu': 0.3.0 - '@mariozechner/clipboard-linux-riscv64-gnu': 0.3.0 - '@mariozechner/clipboard-linux-x64-gnu': 0.3.0 - '@mariozechner/clipboard-linux-x64-musl': 0.3.0 - '@mariozechner/clipboard-win32-arm64-msvc': 0.3.0 - '@mariozechner/clipboard-win32-x64-msvc': 0.3.0 + '@mariozechner/clipboard-darwin-arm64': 0.3.2 + '@mariozechner/clipboard-darwin-universal': 0.3.2 + '@mariozechner/clipboard-darwin-x64': 0.3.2 + '@mariozechner/clipboard-linux-arm64-gnu': 0.3.2 + '@mariozechner/clipboard-linux-arm64-musl': 0.3.2 + '@mariozechner/clipboard-linux-riscv64-gnu': 0.3.2 + '@mariozechner/clipboard-linux-x64-gnu': 0.3.2 + '@mariozechner/clipboard-linux-x64-musl': 0.3.2 + '@mariozechner/clipboard-win32-arm64-msvc': 0.3.2 + '@mariozechner/clipboard-win32-x64-msvc': 0.3.2 + optional: true '@mariozechner/jiti@2.6.5': dependencies: std-env: 3.10.0 yoctocolors: 2.1.2 - '@mariozechner/pi-agent-core@0.50.9(ws@8.19.0)(zod@4.3.6)': + '@mariozechner/pi-agent-core@0.51.0(ws@8.19.0)(zod@4.3.6)': dependencies: - '@mariozechner/pi-ai': 0.50.9(ws@8.19.0)(zod@4.3.6) - '@mariozechner/pi-tui': 0.50.9 + '@mariozechner/pi-ai': 0.51.0(ws@8.19.0)(zod@4.3.6) + '@mariozechner/pi-tui': 0.51.0 transitivePeerDependencies: - '@modelcontextprotocol/sdk' - aws-crt @@ -6421,7 +6428,7 @@ snapshots: - ws - zod - '@mariozechner/pi-ai@0.50.9(ws@8.19.0)(zod@4.3.6)': + '@mariozechner/pi-ai@0.51.0(ws@8.19.0)(zod@4.3.6)': dependencies: '@anthropic-ai/sdk': 0.71.2(zod@4.3.6) '@aws-sdk/client-bedrock-runtime': 3.980.0 @@ -6445,13 +6452,12 @@ snapshots: - ws - zod - '@mariozechner/pi-coding-agent@0.50.7(ws@8.19.0)(zod@4.3.6)': + '@mariozechner/pi-coding-agent@0.51.0(ws@8.19.0)(zod@4.3.6)': dependencies: - '@mariozechner/clipboard': 0.3.0 '@mariozechner/jiti': 2.6.5 - '@mariozechner/pi-agent-core': 0.50.9(ws@8.19.0)(zod@4.3.6) - '@mariozechner/pi-ai': 0.50.9(ws@8.19.0)(zod@4.3.6) - '@mariozechner/pi-tui': 0.50.7 + '@mariozechner/pi-agent-core': 0.51.0(ws@8.19.0)(zod@4.3.6) + '@mariozechner/pi-ai': 0.51.0(ws@8.19.0)(zod@4.3.6) + '@mariozechner/pi-tui': 0.51.0 '@silvia-odwyer/photon-node': 0.3.4 chalk: 5.6.2 cli-highlight: 2.1.11 @@ -6463,6 +6469,8 @@ snapshots: minimatch: 10.1.1 proper-lockfile: 4.1.2 yaml: 2.8.2 + optionalDependencies: + '@mariozechner/clipboard': 0.3.2 transitivePeerDependencies: - '@modelcontextprotocol/sdk' - aws-crt @@ -6472,15 +6480,7 @@ snapshots: - ws - zod - '@mariozechner/pi-tui@0.50.7': - dependencies: - '@types/mime-types': 2.1.4 - chalk: 5.6.2 - get-east-asian-width: 1.4.0 - marked: 15.0.12 - mime-types: 3.0.2 - - '@mariozechner/pi-tui@0.50.9': + '@mariozechner/pi-tui@0.51.0': dependencies: '@types/mime-types': 2.1.4 chalk: 5.6.2 diff --git a/src/agents/pi-embedded-runner/compact.ts b/src/agents/pi-embedded-runner/compact.ts index 7839cae38f..d4d2a5555e 100644 --- a/src/agents/pi-embedded-runner/compact.ts +++ b/src/agents/pi-embedded-runner/compact.ts @@ -374,7 +374,8 @@ export async function compactEmbeddedPiSessionDirect( settingsManager, minReserveTokens: resolveCompactionReserveTokensFloor(params.config), }); - const additionalExtensionPaths = buildEmbeddedExtensionPaths({ + // Call for side effects (sets compaction/pruning runtime state) + buildEmbeddedExtensionPaths({ cfg: params.config, sessionManager, provider, @@ -396,7 +397,6 @@ export async function compactEmbeddedPiSessionDirect( thinkingLevel: mapThinkingLevel(params.thinkLevel), tools: builtInTools, customTools, - additionalExtensionPaths, sessionManager, settingsManager, }); diff --git a/src/agents/pi-embedded-runner/run/attempt.ts b/src/agents/pi-embedded-runner/run/attempt.ts index 51bd5438d2..9a295c8b67 100644 --- a/src/agents/pi-embedded-runner/run/attempt.ts +++ b/src/agents/pi-embedded-runner/run/attempt.ts @@ -432,7 +432,8 @@ export async function runEmbeddedAttempt( minReserveTokens: resolveCompactionReserveTokensFloor(params.config), }); - const additionalExtensionPaths = buildEmbeddedExtensionPaths({ + // Call for side effects (sets compaction/pruning runtime state) + buildEmbeddedExtensionPaths({ cfg: params.config, sessionManager, provider: params.provider, @@ -471,7 +472,6 @@ export async function runEmbeddedAttempt( thinkingLevel: mapThinkingLevel(params.thinkLevel), tools: builtInTools, customTools: allCustomTools, - additionalExtensionPaths, sessionManager, settingsManager, })); diff --git a/src/agents/pi-tool-definition-adapter.ts b/src/agents/pi-tool-definition-adapter.ts index 064cfa95d5..3f9ca8d849 100644 --- a/src/agents/pi-tool-definition-adapter.ts +++ b/src/agents/pi-tool-definition-adapter.ts @@ -41,12 +41,10 @@ export function toToolDefinitions(tools: AnyAgentTool[]): ToolDefinition[] { execute: async ( toolCallId, params, + signal, onUpdate: AgentToolUpdateCallback | undefined, _ctx, - signal, ): Promise> => { - // KNOWN: pi-coding-agent `ToolDefinition.execute` has a different signature/order - // than pi-agent-core `AgentTool.execute`. This adapter keeps our existing tools intact. try { return await tool.execute(toolCallId, params, signal, onUpdate); } catch (err) { @@ -93,9 +91,9 @@ export function toClientToolDefinitions( execute: async ( toolCallId, params, + _signal, _onUpdate: AgentToolUpdateCallback | undefined, _ctx, - _signal, ): Promise> => { const outcome = await runBeforeToolCallHook({ toolName: func.name, diff --git a/src/types/pi-coding-agent.d.ts b/src/types/pi-coding-agent.d.ts deleted file mode 100644 index b455056e60..0000000000 --- a/src/types/pi-coding-agent.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import "@mariozechner/pi-coding-agent"; - -declare module "@mariozechner/pi-coding-agent" { - interface CreateAgentSessionOptions { - /** Extra extension paths merged with settings-based discovery. */ - additionalExtensionPaths?: string[]; - } -}