@astralyn/pi 1.0.0 → 1.0.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 +19 -0
- package/dist/bundle/chunks/{anthropic-messages-CG2BSDQS.js → anthropic-messages-YET4T7BO.js} +3 -3
- package/dist/bundle/chunks/azure-openai-responses-SBLL5YN3.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +2 -2
- package/dist/bundle/chunks/{chunk-SGLYRVQL.js → chunk-4TT2QGFL.js} +1 -1
- package/dist/bundle/chunks/{chunk-HESRDUKO.js → chunk-H2N2THAO.js} +72 -52
- package/dist/bundle/chunks/{chunk-PFZKRUMO.js → chunk-IZ3S3GDX.js} +1 -1
- package/dist/bundle/chunks/{chunk-6UFFVA7M.js → chunk-NY3CWK44.js} +1 -1
- package/dist/bundle/chunks/chunk-SVJ7OGEB.js +2 -0
- package/dist/bundle/chunks/chunk-XDYM2567.js +20 -0
- package/dist/bundle/chunks/{cloudflare-workers-ai-system-one-YB7XPPP4.js → cloudflare-workers-ai-system-one-QI46LUZ6.js} +1 -1
- package/dist/bundle/chunks/codemode-worker.js +24 -3
- package/dist/bundle/chunks/{google-generative-ai-V5ZM5MCL.js → google-generative-ai-YTZCSHQN.js} +1 -1
- package/dist/bundle/chunks/{google-vertex-22THOFP5.js → google-vertex-OTFZJJXQ.js} +1 -1
- package/dist/bundle/chunks/{mistral-conversations-WHSCJJWP.js → mistral-conversations-ELH4V4TY.js} +1 -1
- package/dist/bundle/chunks/node-USQQ7C6M.js +16 -0
- package/dist/bundle/chunks/openai-chatgpt.js +1 -1
- package/dist/bundle/chunks/{openai-codex-responses-N7GDPBPP.js → openai-codex-responses-OLVTU4UA.js} +1 -1
- package/dist/bundle/chunks/openai-completions-53M2KJ67.js +7 -0
- package/dist/bundle/chunks/openai-responses-4ABDEL4Z.js +3 -0
- package/dist/bundle/chunks/{virtual-modules-4RQ2L6W4.js → virtual-modules-YFKU7JZF.js} +1 -1
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +4 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +1 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/export-html/tool-renderer.d.ts +3 -3
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js +3 -3
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- 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 +5 -0
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +3 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +6 -0
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +9 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/mcp-servers.d.ts +6 -0
- package/dist/core/mcp-servers.d.ts.map +1 -1
- package/dist/core/mcp-servers.js +11 -0
- package/dist/core/mcp-servers.js.map +1 -1
- package/dist/core/model-config.d.ts +36 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +14 -2
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.js +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/provider-composer.d.ts +2 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +13 -0
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/tools/renderers/index.d.ts +2 -2
- package/dist/core/tools/renderers/index.d.ts.map +1 -1
- package/dist/core/tools/renderers/index.js.map +1 -1
- package/dist/extensions/mcp/cli.d.ts.map +1 -1
- package/dist/extensions/mcp/cli.js +3 -0
- package/dist/extensions/mcp/cli.js.map +1 -1
- package/dist/extensions/mcp/config.d.ts +15 -3
- package/dist/extensions/mcp/config.d.ts.map +1 -1
- package/dist/extensions/mcp/config.js +46 -10
- package/dist/extensions/mcp/config.js.map +1 -1
- package/dist/extensions/mcp/index.d.ts +4 -1
- package/dist/extensions/mcp/index.d.ts.map +1 -1
- package/dist/extensions/mcp/index.js +80 -45
- package/dist/extensions/mcp/index.js.map +1 -1
- package/dist/extensions/mcp/oauth.d.ts +4 -1
- package/dist/extensions/mcp/oauth.d.ts.map +1 -1
- package/dist/extensions/mcp/oauth.js +54 -10
- package/dist/extensions/mcp/oauth.js.map +1 -1
- package/dist/extensions/mcp/runtime.d.ts.map +1 -1
- package/dist/extensions/mcp/runtime.js +1 -0
- package/dist/extensions/mcp/runtime.js.map +1 -1
- package/dist/extensions/mcp/tools.d.ts +3 -1
- package/dist/extensions/mcp/tools.d.ts.map +1 -1
- package/dist/extensions/mcp/tools.js +19 -13
- package/dist/extensions/mcp/tools.js.map +1 -1
- package/dist/extensions/mcp/ui.d.ts.map +1 -1
- package/dist/extensions/mcp/ui.js +8 -4
- package/dist/extensions/mcp/ui.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts +3 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js +7 -5
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/auth-url.d.ts +14 -0
- package/dist/modes/interactive/components/auth-url.d.ts.map +1 -0
- package/dist/modes/interactive/components/auth-url.js +34 -0
- package/dist/modes/interactive/components/auth-url.js.map +1 -0
- package/dist/modes/interactive/components/easter-egg-3d.d.ts +104 -0
- package/dist/modes/interactive/components/easter-egg-3d.d.ts.map +1 -0
- package/dist/modes/interactive/components/{pi-logo-animation.js → easter-egg-3d.js} +121 -74
- package/dist/modes/interactive/components/easter-egg-3d.js.map +1 -0
- package/dist/modes/interactive/components/easter-egg-3d.lazy.d.ts +6 -0
- package/dist/modes/interactive/components/easter-egg-3d.lazy.d.ts.map +1 -0
- package/dist/modes/interactive/components/easter-egg-3d.lazy.js +24 -0
- package/dist/modes/interactive/components/easter-egg-3d.lazy.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +0 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +0 -1
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +2 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +9 -5
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +2 -2
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +15 -17
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/tool-view/tool-execution.d.ts +4 -19
- package/dist/modes/interactive/tool-view/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/tool-view/tool-execution.js +23 -67
- package/dist/modes/interactive/tool-view/tool-execution.js.map +1 -1
- package/dist/utils/image-convert.d.ts +12 -0
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js +45 -6
- package/dist/utils/image-convert.js.map +1 -1
- package/docs/codemode.md +1 -1
- package/docs/extensions.md +4 -0
- package/docs/keybindings.md +1 -1
- package/docs/mcp.md +23 -1
- package/docs/models.md +30 -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/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/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 +58 -58
- package/package.json +11 -11
- package/dist/bundle/chunks/azure-openai-responses-PBA4QKCM.js +0 -2
- package/dist/bundle/chunks/chunk-PJVFYVHE.js +0 -42
- package/dist/bundle/chunks/chunk-Z2RKSI3O.js +0 -2
- package/dist/bundle/chunks/node-CXWYTK2I.js +0 -16
- package/dist/bundle/chunks/openai-completions-RGGQK5UW.js +0 -7
- package/dist/bundle/chunks/openai-responses-3ZLD5JYI.js +0 -3
- package/dist/modes/interactive/components/daxnuts.d.ts +0 -23
- package/dist/modes/interactive/components/daxnuts.d.ts.map +0 -1
- package/dist/modes/interactive/components/daxnuts.js +0 -138
- package/dist/modes/interactive/components/daxnuts.js.map +0 -1
- package/dist/modes/interactive/components/pi-logo-animation.d.ts +0 -68
- package/dist/modes/interactive/components/pi-logo-animation.d.ts.map +0 -1
- package/dist/modes/interactive/components/pi-logo-animation.js.map +0 -1
- package/dist/modes/interactive/components/pi-logo-animation.lazy.d.ts +0 -7
- package/dist/modes/interactive/components/pi-logo-animation.lazy.d.ts.map +0 -1
- package/dist/modes/interactive/components/pi-logo-animation.lazy.js +0 -12
- package/dist/modes/interactive/components/pi-logo-animation.lazy.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-gondolin",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-gondolin",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.2",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@earendil-works/gondolin": "0.12.0"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-sandbox",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-sandbox",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.2",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sandbox-runtime": "^0.0.26"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-with-deps",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-with-deps",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.2",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"ms": "^2.1.3"
|
|
12
12
|
},
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astralyn/pi",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@astralyn/pi",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@earendil-works/chord": "1.0.
|
|
13
|
-
"@earendil-works/pi-agent-core": "1.0.
|
|
14
|
-
"@earendil-works/pi-ai": "1.0.
|
|
15
|
-
"@earendil-works/pi-codemode": "1.0.
|
|
16
|
-
"@earendil-works/pi-mcp": "1.0.
|
|
17
|
-
"@earendil-works/pi-tui": "1.0.
|
|
12
|
+
"@earendil-works/chord": "1.0.2",
|
|
13
|
+
"@earendil-works/pi-agent-core": "1.0.2",
|
|
14
|
+
"@earendil-works/pi-ai": "1.0.2",
|
|
15
|
+
"@earendil-works/pi-codemode": "1.0.2",
|
|
16
|
+
"@earendil-works/pi-mcp": "1.0.2",
|
|
17
|
+
"@earendil-works/pi-tui": "1.0.2",
|
|
18
18
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
19
19
|
"chalk": "6.0.0",
|
|
20
20
|
"cross-spawn": "7.0.6",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"@anthropic-ai/sandbox-runtime": "0.0.26",
|
|
40
40
|
"@anthropic-ai/sdk": "0.52.0",
|
|
41
41
|
"@biomejs/biome": "2.3.5",
|
|
42
|
-
"@earendil-works/pi-client": "1.0.
|
|
43
|
-
"@earendil-works/pi-durable": "1.0.
|
|
44
|
-
"@earendil-works/pi-protocol": "1.0.
|
|
45
|
-
"@earendil-works/pi-server": "1.0.
|
|
42
|
+
"@earendil-works/pi-client": "1.0.2",
|
|
43
|
+
"@earendil-works/pi-durable": "1.0.2",
|
|
44
|
+
"@earendil-works/pi-protocol": "1.0.2",
|
|
45
|
+
"@earendil-works/pi-server": "1.0.2",
|
|
46
46
|
"@types/cross-spawn": "6.0.6",
|
|
47
47
|
"@types/hosted-git-info": "3.0.5",
|
|
48
48
|
"@types/ms": "2.1.0",
|
|
@@ -630,9 +630,9 @@
|
|
|
630
630
|
}
|
|
631
631
|
},
|
|
632
632
|
"node_modules/@earendil-works/chord": {
|
|
633
|
-
"version": "1.0.
|
|
634
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/chord/-/chord-1.0.
|
|
635
|
-
"integrity": "sha512-
|
|
633
|
+
"version": "1.0.2",
|
|
634
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/chord/-/chord-1.0.2.tgz",
|
|
635
|
+
"integrity": "sha512-eUXGZjigyEQsFiT/oBJUOaCrzYZRmqf8AgLrlbyuS4u02hjSVhLYRi3xqk1o4UERCgRfjRegqwj/oucawIR7YQ==",
|
|
636
636
|
"license": "MIT",
|
|
637
637
|
"dependencies": {
|
|
638
638
|
"esbuild": "0.28.2"
|
|
@@ -642,12 +642,12 @@
|
|
|
642
642
|
}
|
|
643
643
|
},
|
|
644
644
|
"node_modules/@earendil-works/pi-agent-core": {
|
|
645
|
-
"version": "1.0.
|
|
646
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-1.0.
|
|
647
|
-
"integrity": "sha512-
|
|
645
|
+
"version": "1.0.2",
|
|
646
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-1.0.2.tgz",
|
|
647
|
+
"integrity": "sha512-VRfewY1R5mbedJzlm01PxdCmqU8QrSXjXXhV50bp6rvVuT8YYQv1inTXRY4YzssmGAYpkC2rXipJKP5BpBFXew==",
|
|
648
648
|
"license": "MIT",
|
|
649
649
|
"dependencies": {
|
|
650
|
-
"@earendil-works/pi-ai": "^1.0.
|
|
650
|
+
"@earendil-works/pi-ai": "^1.0.2",
|
|
651
651
|
"typebox": "1.3.27"
|
|
652
652
|
},
|
|
653
653
|
"engines": {
|
|
@@ -655,14 +655,14 @@
|
|
|
655
655
|
}
|
|
656
656
|
},
|
|
657
657
|
"node_modules/@earendil-works/pi-ai": {
|
|
658
|
-
"version": "1.0.
|
|
659
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-1.0.
|
|
660
|
-
"integrity": "sha512-
|
|
658
|
+
"version": "1.0.2",
|
|
659
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-1.0.2.tgz",
|
|
660
|
+
"integrity": "sha512-JP59xGlSAQ/HhQ6EHN5qmneBlWfDyu6FPPryAvAaSo8A38ubAsEpS9YisCM5Jbbns0srrDffLZonE0OXorHI5A==",
|
|
661
661
|
"license": "MIT",
|
|
662
662
|
"dependencies": {
|
|
663
|
-
"@anthropic-ai/sdk": "0.
|
|
663
|
+
"@anthropic-ai/sdk": "0.129.0",
|
|
664
664
|
"@aws-sdk/client-bedrock-runtime": "3.1127.0",
|
|
665
|
-
"@earendil-works/pi-telemetry": "^1.0.
|
|
665
|
+
"@earendil-works/pi-telemetry": "^1.0.2",
|
|
666
666
|
"@google/genai": "2.21.0",
|
|
667
667
|
"@smithy/node-http-handler": "4.12.1",
|
|
668
668
|
"http-proxy-agent": "9.1.0",
|
|
@@ -679,9 +679,9 @@
|
|
|
679
679
|
}
|
|
680
680
|
},
|
|
681
681
|
"node_modules/@earendil-works/pi-ai/node_modules/@anthropic-ai/sdk": {
|
|
682
|
-
"version": "0.
|
|
683
|
-
"resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.
|
|
684
|
-
"integrity": "sha512-
|
|
682
|
+
"version": "0.129.0",
|
|
683
|
+
"resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.129.0.tgz",
|
|
684
|
+
"integrity": "sha512-MH7LB20kNpGLUpPTe2OG5XvL/KhX8HUO9XyBaFjgFk6TLS4Xjt0VPIuMKywe7POKKPslX+QxSlVok9e+8kG5Nw==",
|
|
685
685
|
"license": "MIT",
|
|
686
686
|
"dependencies": {
|
|
687
687
|
"json-schema-to-ts": "^3.1.1",
|
|
@@ -700,23 +700,23 @@
|
|
|
700
700
|
}
|
|
701
701
|
},
|
|
702
702
|
"node_modules/@earendil-works/pi-client": {
|
|
703
|
-
"version": "1.0.
|
|
704
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-1.0.
|
|
705
|
-
"integrity": "sha512-
|
|
703
|
+
"version": "1.0.2",
|
|
704
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-1.0.2.tgz",
|
|
705
|
+
"integrity": "sha512-KwznnEx24irb2pBIMeha6iIVyoYtrfpbtKkgw31xVn2Q/yzCbTtMe81a5Ep0BAN001iLn5D+aALjQ9vQDpSnGw==",
|
|
706
706
|
"dev": true,
|
|
707
707
|
"license": "MIT",
|
|
708
708
|
"dependencies": {
|
|
709
|
-
"@earendil-works/chord": "^1.0.
|
|
710
|
-
"@earendil-works/pi-protocol": "^1.0.
|
|
709
|
+
"@earendil-works/chord": "^1.0.2",
|
|
710
|
+
"@earendil-works/pi-protocol": "^1.0.2"
|
|
711
711
|
},
|
|
712
712
|
"engines": {
|
|
713
713
|
"node": ">=22.19.0"
|
|
714
714
|
}
|
|
715
715
|
},
|
|
716
716
|
"node_modules/@earendil-works/pi-codemode": {
|
|
717
|
-
"version": "1.0.
|
|
718
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-codemode/-/pi-codemode-1.0.
|
|
719
|
-
"integrity": "sha512-
|
|
717
|
+
"version": "1.0.2",
|
|
718
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-codemode/-/pi-codemode-1.0.2.tgz",
|
|
719
|
+
"integrity": "sha512-tvfDSVz984ra/4y/hIFmYGpP5ojC+C6/ey+DNbjTzfJvbXviW4JYTXwVcm33KAceI0xcOuE+P1yRGLtQgis0/w==",
|
|
720
720
|
"license": "MIT",
|
|
721
721
|
"dependencies": {
|
|
722
722
|
"quickjs-wasi": "3.6.2"
|
|
@@ -726,14 +726,14 @@
|
|
|
726
726
|
}
|
|
727
727
|
},
|
|
728
728
|
"node_modules/@earendil-works/pi-durable": {
|
|
729
|
-
"version": "1.0.
|
|
730
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-durable/-/pi-durable-1.0.
|
|
731
|
-
"integrity": "sha512-
|
|
729
|
+
"version": "1.0.2",
|
|
730
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-durable/-/pi-durable-1.0.2.tgz",
|
|
731
|
+
"integrity": "sha512-pDh8eMSSFIVOTh0H53KhtjaS/XFrulEVREN8wnY8vtbYY0srioZ2impajvkXwoZcG6pRgbPz/WVatZLyk5TIbg==",
|
|
732
732
|
"dev": true,
|
|
733
733
|
"license": "MIT",
|
|
734
734
|
"dependencies": {
|
|
735
|
-
"@earendil-works/chord": "^1.0.
|
|
736
|
-
"@earendil-works/pi-ai": "^1.0.
|
|
735
|
+
"@earendil-works/chord": "^1.0.2",
|
|
736
|
+
"@earendil-works/pi-ai": "^1.0.2",
|
|
737
737
|
"diff": "8.0.4",
|
|
738
738
|
"typebox": "1.3.27"
|
|
739
739
|
},
|
|
@@ -742,9 +742,9 @@
|
|
|
742
742
|
}
|
|
743
743
|
},
|
|
744
744
|
"node_modules/@earendil-works/pi-mcp": {
|
|
745
|
-
"version": "1.0.
|
|
746
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-mcp/-/pi-mcp-1.0.
|
|
747
|
-
"integrity": "sha512-
|
|
745
|
+
"version": "1.0.2",
|
|
746
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-mcp/-/pi-mcp-1.0.2.tgz",
|
|
747
|
+
"integrity": "sha512-ED3+q41xLQkxzdadZIQy68SLYcqCJbve8iGbGkZoWjPJ9OZCPHTKcof24fjMO1LfnbIl1uMfhRBueS6IfdiCbQ==",
|
|
748
748
|
"license": "MIT",
|
|
749
749
|
"dependencies": {
|
|
750
750
|
"cross-spawn": "7.0.6"
|
|
@@ -754,13 +754,13 @@
|
|
|
754
754
|
}
|
|
755
755
|
},
|
|
756
756
|
"node_modules/@earendil-works/pi-protocol": {
|
|
757
|
-
"version": "1.0.
|
|
758
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-protocol/-/pi-protocol-1.0.
|
|
759
|
-
"integrity": "sha512-
|
|
757
|
+
"version": "1.0.2",
|
|
758
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-protocol/-/pi-protocol-1.0.2.tgz",
|
|
759
|
+
"integrity": "sha512-VT3/ha2XDDP6mesDVbsv2W7AQDnJFbNSdmCezmpaod6Jcq8KnV/2EPzDPtQ7qYntPq2Esx67M/4/c1YbhmkPag==",
|
|
760
760
|
"dev": true,
|
|
761
761
|
"license": "MIT",
|
|
762
762
|
"dependencies": {
|
|
763
|
-
"@earendil-works/chord": "^1.0.
|
|
763
|
+
"@earendil-works/chord": "^1.0.2",
|
|
764
764
|
"typebox": "1.3.27"
|
|
765
765
|
},
|
|
766
766
|
"engines": {
|
|
@@ -768,32 +768,32 @@
|
|
|
768
768
|
}
|
|
769
769
|
},
|
|
770
770
|
"node_modules/@earendil-works/pi-server": {
|
|
771
|
-
"version": "1.0.
|
|
772
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-server/-/pi-server-1.0.
|
|
773
|
-
"integrity": "sha512-
|
|
771
|
+
"version": "1.0.2",
|
|
772
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-server/-/pi-server-1.0.2.tgz",
|
|
773
|
+
"integrity": "sha512-Zqbs5GCLGDZNvjoqaNhK4QndiRsaotT9GP+s4x8ekj160inYf3A7Sw34kumg4nmzF15YcrYc3bOmAmseZ6imog==",
|
|
774
774
|
"dev": true,
|
|
775
775
|
"license": "MIT",
|
|
776
776
|
"dependencies": {
|
|
777
|
-
"@earendil-works/chord": "^1.0.
|
|
778
|
-
"@earendil-works/pi-protocol": "^1.0.
|
|
777
|
+
"@earendil-works/chord": "^1.0.2",
|
|
778
|
+
"@earendil-works/pi-protocol": "^1.0.2"
|
|
779
779
|
},
|
|
780
780
|
"engines": {
|
|
781
781
|
"node": ">=22.19.0"
|
|
782
782
|
}
|
|
783
783
|
},
|
|
784
784
|
"node_modules/@earendil-works/pi-telemetry": {
|
|
785
|
-
"version": "1.0.
|
|
786
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-1.0.
|
|
787
|
-
"integrity": "sha512-
|
|
785
|
+
"version": "1.0.2",
|
|
786
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-1.0.2.tgz",
|
|
787
|
+
"integrity": "sha512-Ev5h9TE8nEXHCfRKhWj0qpUFhQgVqNteS95vsM2KNGRGm533vOO2ruDPaEwImBKPMBKXy4omz3D6V2cm41gLOQ==",
|
|
788
788
|
"license": "MIT",
|
|
789
789
|
"engines": {
|
|
790
790
|
"node": ">=22.19.0"
|
|
791
791
|
}
|
|
792
792
|
},
|
|
793
793
|
"node_modules/@earendil-works/pi-tui": {
|
|
794
|
-
"version": "1.0.
|
|
795
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-1.0.
|
|
796
|
-
"integrity": "sha512-
|
|
794
|
+
"version": "1.0.2",
|
|
795
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-1.0.2.tgz",
|
|
796
|
+
"integrity": "sha512-ElfzjnckohEjzHK5Q5iOpqLpQ1YbM/c/XmjBdPVR5k4uoorQPnny5BtT+rvC0cAjVVCUOHWAWppust7FAaEsOQ==",
|
|
797
797
|
"license": "MIT",
|
|
798
798
|
"dependencies": {
|
|
799
799
|
"get-east-asian-width": "1.6.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astralyn/pi",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piConfig": {
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
"prepublishOnly": "npm run clean && npm run build"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@earendil-works/chord": "1.0.
|
|
66
|
-
"@earendil-works/pi-agent-core": "1.0.
|
|
67
|
-
"@earendil-works/pi-ai": "1.0.
|
|
68
|
-
"@earendil-works/pi-codemode": "1.0.
|
|
69
|
-
"@earendil-works/pi-mcp": "1.0.
|
|
70
|
-
"@earendil-works/pi-tui": "1.0.
|
|
65
|
+
"@earendil-works/chord": "1.0.2",
|
|
66
|
+
"@earendil-works/pi-agent-core": "1.0.2",
|
|
67
|
+
"@earendil-works/pi-ai": "1.0.2",
|
|
68
|
+
"@earendil-works/pi-codemode": "1.0.2",
|
|
69
|
+
"@earendil-works/pi-mcp": "1.0.2",
|
|
70
|
+
"@earendil-works/pi-tui": "1.0.2",
|
|
71
71
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
72
72
|
"chalk": "6.0.0",
|
|
73
73
|
"cross-spawn": "7.0.6",
|
|
@@ -89,10 +89,10 @@
|
|
|
89
89
|
"@anthropic-ai/sandbox-runtime": "0.0.26",
|
|
90
90
|
"@anthropic-ai/sdk": "0.52.0",
|
|
91
91
|
"@biomejs/biome": "2.3.5",
|
|
92
|
-
"@earendil-works/pi-client": "1.0.
|
|
93
|
-
"@earendil-works/pi-durable": "1.0.
|
|
94
|
-
"@earendil-works/pi-protocol": "1.0.
|
|
95
|
-
"@earendil-works/pi-server": "1.0.
|
|
92
|
+
"@earendil-works/pi-client": "1.0.2",
|
|
93
|
+
"@earendil-works/pi-durable": "1.0.2",
|
|
94
|
+
"@earendil-works/pi-protocol": "1.0.2",
|
|
95
|
+
"@earendil-works/pi-server": "1.0.2",
|
|
96
96
|
"@types/cross-spawn": "6.0.6",
|
|
97
97
|
"@types/hosted-git-info": "3.0.5",
|
|
98
98
|
"@types/ms": "2.1.0",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
-
import{convertResponsesMessages,convertResponsesTools,processResponsesStream}from"./chunk-6UFFVA7M.js";import{clampOpenAIPromptCacheKey}from"./chunk-APKJ4JGA.js";import{AzureOpenAI}from"./chunk-OO6DJ3CL.js";import{formatProviderError,normalizeProviderError}from"./chunk-FEZ5RM2B.js";import"./chunk-WWBSZG5V.js";import{retryProviderRequest}from"./chunk-GIG5IHES.js";import{buildBaseOptions,createGrammarToolInputProperties,getPiUserAgent}from"./chunk-Z2RKSI3O.js";import"./chunk-UP6RLTHQ.js";import{headersToRecord}from"./chunk-GCKVOFWP.js";import{getProviderEnvValue}from"./chunk-5FDOJRDS.js";import"./chunk-5B3S5DVL.js";import"./chunk-MPDALHNJ.js";import{clampThinkingLevel,getDeclaredTools,resolveTranscript,resolveTranscriptTools}from"./chunk-G4RY3GN7.js";import{AssistantMessageEventStream}from"./chunk-JI4WGISU.js";import"./chunk-4L3WN2XY.js";var DEFAULT_AZURE_API_VERSION="v1",AZURE_TOOL_CALL_PROVIDERS=new Set(["openai","openai-codex","opencode","azure-openai-responses"]),OPENAI_RESPONSES_MIN_OUTPUT_TOKENS=16;function parseDeploymentNameMap(value){let map=new Map;if(!value)return map;for(let entry of value.split(",")){let trimmed=entry.trim();if(!trimmed)continue;let[modelId,deploymentName]=trimmed.split("=",2);!modelId||!deploymentName||map.set(modelId.trim(),deploymentName.trim())}return map}function resolveDeploymentName(model,options){return options?.azureDeploymentName?options.azureDeploymentName:parseDeploymentNameMap(getProviderEnvValue("AZURE_OPENAI_DEPLOYMENT_NAME_MAP",options?.env)).get(model.id)||model.id}function formatAzureOpenAIError(error){return formatProviderError(normalizeProviderError(error),"Azure OpenAI API error")}var stream=(model,context,options)=>{let stream2=new AssistantMessageEventStream,normalizedContext=resolveTranscript(context,model.compat?.supportsMidConvoSystemMessages);return(async()=>{let deploymentName=resolveDeploymentName(model,options),output={role:"assistant",content:[],api:"azure-openai-responses",provider:model.provider,model:model.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"pending",timestamp:Date.now()};try{let apiKey=options?.apiKey;if(!apiKey)throw new Error(`No API key for provider: ${model.provider}`);let client=createClient(model,apiKey,options),grammarToolInputProperties=createGrammarToolInputProperties(getDeclaredTools(normalizedContext.messages),model.compat?.supportsOpenAIGrammarTools??!1),params=buildParams(model,normalizedContext,options,deploymentName,grammarToolInputProperties),nextParams=await options?.onPayload?.(params,model);nextParams!==void 0&&(params=nextParams);let requestOptions={...options?.signal?{signal:options.signal}:{},...options?.timeoutMs!==void 0?{timeout:options.timeoutMs}:{},maxRetries:0},{data:openaiStream,response}=await retryProviderRequest(()=>client.responses.create(params,requestOptions).withResponse(),{maxRetries:options?.maxRetries,maxRetryDelayMs:options?.maxRetryDelayMs,signal:options?.signal});if(await options?.onResponse?.({status:response.status,headers:headersToRecord(response.headers)},model),stream2.push({type:"start",partial:output}),await processResponsesStream(openaiStream,output,stream2,model,{onProviderStreamEvent:options?.onProviderStreamEvent,grammarToolInputProperties}),options?.signal?.aborted)throw new Error("Request was aborted");if(output.stopReason==="pending")throw new Error("Azure OpenAI Responses stream ended without a stop reason");if(output.stopReason==="aborted"||output.stopReason==="error")throw new Error(output.errorMessage||"An unknown error occurred");stream2.push({type:"done",reason:output.stopReason,message:output}),stream2.end()}catch(error){for(let block of output.content)delete block.index,delete block.partialJson,delete block.customInput;output.stopReason=options?.signal?.aborted?"aborted":"error",output.errorMessage=formatAzureOpenAIError(error),stream2.push({type:"error",reason:output.stopReason,error:output}),stream2.end()}})(),stream2},streamSimple=(model,context,options)=>{let apiKey=options?.apiKey;if(!apiKey)throw new Error(`No API key for provider: ${model.provider}`);let base={...buildBaseOptions(model,context,options,apiKey),toolChoice:options?.toolChoice},clampedReasoning=options?.reasoning?clampThinkingLevel(model,options.reasoning):void 0;return stream(model,context,{...base,reasoningEffort:clampedReasoning==="off"?void 0:clampedReasoning})};function normalizeAzureBaseUrl(baseUrl){let trimmed=baseUrl.trim().replace(/\/+$/,""),url;try{url=new URL(trimmed)}catch{throw new Error(`Invalid Azure OpenAI base URL: ${baseUrl}`)}let isAzureHost=url.hostname.endsWith(".openai.azure.com")||url.hostname.endsWith(".cognitiveservices.azure.com")||url.hostname.endsWith(".ai.azure.com"),normalizedPath=url.pathname.replace(/\/+$/,"");return isAzureHost&&(normalizedPath===""||normalizedPath==="/"||normalizedPath==="/openai"||normalizedPath==="/openai/v1/responses")&&(url.pathname="/openai/v1",url.search=""),url.toString().replace(/\/+$/,"")}function buildDefaultBaseUrl(resourceName){return`https://${resourceName}.openai.azure.com/openai/v1`}function resolveAzureConfig(model,options){let apiVersion=options?.azureApiVersion||getProviderEnvValue("AZURE_OPENAI_API_VERSION",options?.env)||DEFAULT_AZURE_API_VERSION,baseUrl=options?.azureBaseUrl?.trim()||getProviderEnvValue("AZURE_OPENAI_BASE_URL",options?.env)?.trim()||void 0,resourceName=options?.azureResourceName||getProviderEnvValue("AZURE_OPENAI_RESOURCE_NAME",options?.env),resolvedBaseUrl=baseUrl;if(!resolvedBaseUrl&&resourceName&&(resolvedBaseUrl=buildDefaultBaseUrl(resourceName)),!resolvedBaseUrl&&model.baseUrl&&(resolvedBaseUrl=model.baseUrl),!resolvedBaseUrl)throw new Error("Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.");return{baseUrl:normalizeAzureBaseUrl(resolvedBaseUrl),apiVersion}}function createClient(model,apiKey,options){let headers={"User-Agent":getPiUserAgent(),...model.headers};options?.headers&&Object.assign(headers,options.headers);let{baseUrl,apiVersion}=resolveAzureConfig(model,options);return new AzureOpenAI({apiKey,apiVersion,dangerouslyAllowBrowser:!0,fetch:options?.fetch,defaultHeaders:headers,baseURL:baseUrl})}function buildParams(model,context,options,deploymentName,grammarToolInputProperties=createGrammarToolInputProperties(getDeclaredTools(context.messages),model.compat?.supportsOpenAIGrammarTools??!1)){let supportsAdditionalTools=model.compat?.supportsAdditionalTools??!1,supportsToolSearch=model.compat?.supportsToolSearch??!1,transcriptTools=resolveTranscriptTools(context.messages,supportsAdditionalTools||supportsToolSearch),messages=convertResponsesMessages(model,context,AZURE_TOOL_CALL_PROVIDERS,{grammarToolInputProperties,supportsMidConvoSystemMessages:model.compat?.supportsMidConvoSystemMessages??!1,supportsAdditionalTools,supportsToolSearch,toolOptions:{supportsStrictMode:model.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:model.compat?.supportsOpenAIGrammarTools??!1}}),params={model:deploymentName,input:messages,stream:!0,prompt_cache_key:clampOpenAIPromptCacheKey(options?.sessionId),store:!1};if(options?.maxTokens&&(params.max_output_tokens=Math.max(options.maxTokens,OPENAI_RESPONSES_MIN_OUTPUT_TOKENS)),options?.temperature!==void 0&&(params.temperature=options?.temperature),transcriptTools.requestTools.length>0&&(params.tools=convertResponsesTools(transcriptTools.requestTools,{supportsStrictMode:model.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:model.compat?.supportsOpenAIGrammarTools??!1})),options?.toolChoice!==void 0&&(params.tool_choice=options.toolChoice),model.reasoning)if(options?.reasoningEffort||options?.reasoningSummary){let effort=options?.reasoningEffort?model.thinkingLevelMap?.[options.reasoningEffort]??options.reasoningEffort:"medium";params.reasoning={effort,summary:options?.reasoningSummary||"auto"},params.include=["reasoning.encrypted_content"]}else model.thinkingLevelMap?.off!==null&&(params.reasoning={effort:model.thinkingLevelMap?.off??"none"});return Object.assign(params,model.samplingParams,options?.samplingParams),params}export{stream,streamSimple};
|