@earendil-works/pi-coding-agent 0.75.4 → 0.75.5
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 +39 -0
- package/README.md +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -3
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -10
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +2 -1
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +3 -2
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +3 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +2 -1
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +8 -6
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.js +6 -3
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +12 -29
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +5 -1
- package/dist/core/model-registry.js.map +1 -1
- 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 +47 -32
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +6 -20
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +38 -31
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +9 -4
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +32 -24
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +6 -13
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +8 -22
- package/dist/core/skills.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +54 -53
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +3 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +8 -1
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts +3 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +44 -81
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js +27 -12
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +2 -3
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +3 -3
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +5 -5
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +2 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +9 -3
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts +2 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js +39 -21
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +9 -8
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js +12 -2
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +20 -35
- package/dist/core/tools/write.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +5 -6
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +1 -1
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +1 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +14 -5
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +9 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +29 -4
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +4 -4
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +37 -28
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts +3 -1
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js +14 -8
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/utils/image-resize-core.d.ts.map +1 -0
- package/dist/utils/image-resize-core.js +124 -0
- package/dist/utils/image-resize-core.js.map +1 -0
- package/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/utils/image-resize-worker.d.ts.map +1 -0
- package/dist/utils/image-resize-worker.js +31 -0
- package/dist/utils/image-resize-worker.js.map +1 -0
- package/dist/utils/image-resize.d.ts +7 -27
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js +75 -115
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/paths.d.ts +15 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +33 -7
- package/dist/utils/paths.js.map +1 -1
- package/docs/custom-provider.md +44 -12
- package/docs/models.md +8 -2
- package/docs/packages.md +5 -4
- package/docs/sdk.md +2 -0
- package/docs/usage.md +2 -2
- 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 +13 -26
- package/package.json +5 -5
package/docs/custom-provider.md
CHANGED
|
@@ -230,6 +230,8 @@ models: [{
|
|
|
230
230
|
Use `openrouter` for OpenRouter-style `reasoning: { effort }` controls. Use `together` for Together-style `reasoning: { enabled }` controls; with `supportsReasoningEffort`, it also sends `reasoning_effort`. Use `qwen-chat-template` instead for local Qwen-compatible servers that read `chat_template_kwargs.enable_thinking`.
|
|
231
231
|
Use `cacheControlFormat: "anthropic"` for OpenAI-compatible providers that expose Anthropic-style prompt caching via `cache_control` on the system prompt, last tool definition, and last user/assistant text content.
|
|
232
232
|
|
|
233
|
+
For Anthropic-compatible providers using `api: "anthropic-messages"`, set `compat.forceAdaptiveThinking: true` on models or providers whose upstream model requires adaptive thinking (`thinking.type: "adaptive"` plus `output_config.effort`). Built-in adaptive Claude models set this automatically.
|
|
234
|
+
|
|
233
235
|
> Migration note: Mistral moved from `openai-completions` to `mistral-conversations`.
|
|
234
236
|
> Use `mistral-conversations` for native Mistral models.
|
|
235
237
|
> If you intentionally route Mistral-compatible/custom endpoints through `openai-completions`, set `compat` flags explicitly as needed.
|
|
@@ -263,17 +265,28 @@ pi.registerProvider("corporate-ai", {
|
|
|
263
265
|
name: "Corporate AI (SSO)",
|
|
264
266
|
|
|
265
267
|
async login(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials> {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
verificationUri: "https://sso.corp.com/device"
|
|
268
|
+
const method = await callbacks.onSelect({
|
|
269
|
+
message: "Select login method:",
|
|
270
|
+
options: [
|
|
271
|
+
{ id: "browser", label: "Browser OAuth" },
|
|
272
|
+
{ id: "device", label: "Device code" }
|
|
273
|
+
]
|
|
273
274
|
});
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
275
|
+
if (!method) throw new Error("Login cancelled");
|
|
276
|
+
|
|
277
|
+
let code: string;
|
|
278
|
+
if (method === "device") {
|
|
279
|
+
callbacks.onDeviceCode({
|
|
280
|
+
userCode: "ABCD-1234",
|
|
281
|
+
verificationUri: "https://sso.corp.com/device",
|
|
282
|
+
intervalSeconds: 5,
|
|
283
|
+
expiresInSeconds: 900
|
|
284
|
+
});
|
|
285
|
+
code = await pollDeviceCodeUntilComplete();
|
|
286
|
+
} else {
|
|
287
|
+
callbacks.onAuth({ url: "https://sso.corp.com/authorize?..." });
|
|
288
|
+
code = await callbacks.onPrompt({ message: "Enter SSO code:" });
|
|
289
|
+
}
|
|
277
290
|
|
|
278
291
|
// Exchange for tokens (your implementation)
|
|
279
292
|
const tokens = await exchangeCodeForTokens(code);
|
|
@@ -322,10 +335,21 @@ interface OAuthLoginCallbacks {
|
|
|
322
335
|
onAuth(params: { url: string }): void;
|
|
323
336
|
|
|
324
337
|
// Show device code (for device authorization flow)
|
|
325
|
-
onDeviceCode(params: {
|
|
338
|
+
onDeviceCode(params: {
|
|
339
|
+
userCode: string;
|
|
340
|
+
verificationUri: string;
|
|
341
|
+
intervalSeconds?: number;
|
|
342
|
+
expiresInSeconds?: number;
|
|
343
|
+
}): void;
|
|
326
344
|
|
|
327
345
|
// Prompt user for input (for manual token entry)
|
|
328
346
|
onPrompt(params: { message: string }): Promise<string>;
|
|
347
|
+
|
|
348
|
+
// Show an interactive selector, e.g. to choose browser OAuth vs device code
|
|
349
|
+
onSelect(params: {
|
|
350
|
+
message: string;
|
|
351
|
+
options: { id: string; label: string }[];
|
|
352
|
+
}): Promise<string | undefined>;
|
|
329
353
|
}
|
|
330
354
|
```
|
|
331
355
|
|
|
@@ -680,8 +704,9 @@ interface ProviderModelConfig {
|
|
|
680
704
|
/** Custom headers for this specific model. */
|
|
681
705
|
headers?: Record<string, string>;
|
|
682
706
|
|
|
683
|
-
/**
|
|
707
|
+
/** Compatibility settings for the selected API. */
|
|
684
708
|
compat?: {
|
|
709
|
+
// openai-completions
|
|
685
710
|
supportsStore?: boolean;
|
|
686
711
|
supportsDeveloperRole?: boolean;
|
|
687
712
|
supportsReasoningEffort?: boolean;
|
|
@@ -693,6 +718,13 @@ interface ProviderModelConfig {
|
|
|
693
718
|
requiresReasoningContentOnAssistantMessages?: boolean;
|
|
694
719
|
thinkingFormat?: "openai" | "openrouter" | "deepseek" | "together" | "zai" | "qwen" | "qwen-chat-template";
|
|
695
720
|
cacheControlFormat?: "anthropic";
|
|
721
|
+
|
|
722
|
+
// anthropic-messages
|
|
723
|
+
supportsEagerToolInputStreaming?: boolean;
|
|
724
|
+
supportsLongCacheRetention?: boolean;
|
|
725
|
+
sendSessionAffinityHeaders?: boolean;
|
|
726
|
+
supportsCacheControlOnTools?: boolean;
|
|
727
|
+
forceAdaptiveThinking?: boolean;
|
|
696
728
|
};
|
|
697
729
|
}
|
|
698
730
|
```
|
package/docs/models.md
CHANGED
|
@@ -315,10 +315,12 @@ Behavior notes:
|
|
|
315
315
|
|
|
316
316
|
## Anthropic Messages Compatibility
|
|
317
317
|
|
|
318
|
-
For providers or proxies using `api: "anthropic-messages"`, use `compat
|
|
318
|
+
For providers or proxies using `api: "anthropic-messages"`, use `compat` to control Anthropic-specific request compatibility.
|
|
319
319
|
|
|
320
320
|
By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthropic-compatible backend rejects that field, set `supportsEagerToolInputStreaming` to `false`. Pi will omit `tools[].eager_input_streaming` and send the legacy `fine-grained-tool-streaming-2025-05-14` beta header for tool-enabled requests instead.
|
|
321
321
|
|
|
322
|
+
Some Anthropic models require adaptive thinking (`thinking.type: "adaptive"` plus `output_config.effort`) instead of the legacy budget-based thinking payload. Built-in models set this automatically. For custom providers or aliases that route to those models, set `forceAdaptiveThinking` to `true`.
|
|
323
|
+
|
|
322
324
|
```json
|
|
323
325
|
{
|
|
324
326
|
"providers": {
|
|
@@ -328,7 +330,8 @@ By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthro
|
|
|
328
330
|
"apiKey": "ANTHROPIC_PROXY_KEY",
|
|
329
331
|
"compat": {
|
|
330
332
|
"supportsEagerToolInputStreaming": false,
|
|
331
|
-
"supportsLongCacheRetention": true
|
|
333
|
+
"supportsLongCacheRetention": true,
|
|
334
|
+
"forceAdaptiveThinking": true
|
|
332
335
|
},
|
|
333
336
|
"models": [
|
|
334
337
|
{
|
|
@@ -346,6 +349,9 @@ By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthro
|
|
|
346
349
|
|-------|-------------|
|
|
347
350
|
| `supportsEagerToolInputStreaming` | Whether the provider accepts per-tool `eager_input_streaming`. Default: `true`. Set to `false` to omit that field and use the legacy fine-grained tool streaming beta header on tool-enabled requests. |
|
|
348
351
|
| `supportsLongCacheRetention` | Whether the provider accepts Anthropic long cache retention (`cache_control.ttl: "1h"`) when cache retention is `long`. Default: `true`. |
|
|
352
|
+
| `sendSessionAffinityHeaders` | Whether to send `x-session-affinity` from the session id when caching is enabled. Default: auto-detected for known providers. |
|
|
353
|
+
| `supportsCacheControlOnTools` | Whether the provider accepts Anthropic-style `cache_control` markers on tool definitions. Default: `true`. |
|
|
354
|
+
| `forceAdaptiveThinking` | Whether to send adaptive thinking (`thinking.type: "adaptive"` plus `output_config.effort`) for this model. Built-in adaptive models set this automatically. Default: `false`. |
|
|
349
355
|
|
|
350
356
|
## OpenAI Compatibility
|
|
351
357
|
|
package/docs/packages.md
CHANGED
|
@@ -28,8 +28,8 @@ pi install ./relative/path/to/package
|
|
|
28
28
|
|
|
29
29
|
pi remove npm:@foo/bar
|
|
30
30
|
pi list # show installed packages from settings
|
|
31
|
-
pi update # update pi and
|
|
32
|
-
pi update --extensions # update
|
|
31
|
+
pi update # update pi, update packages, and reconcile pinned git refs
|
|
32
|
+
pi update --extensions # update packages and reconcile pinned git refs only
|
|
33
33
|
pi update --self # update pi only
|
|
34
34
|
pi update --self --force # reinstall pi even if current
|
|
35
35
|
pi update npm:@foo/bar # update one package
|
|
@@ -85,9 +85,10 @@ ssh://git@github.com/user/repo@v1
|
|
|
85
85
|
- HTTPS and SSH URLs are both supported.
|
|
86
86
|
- SSH URLs use your configured SSH keys automatically (respects `~/.ssh/config`).
|
|
87
87
|
- For non-interactive runs (for example CI), you can set `GIT_TERMINAL_PROMPT=0` to disable credential prompts and set `GIT_SSH_COMMAND` (for example `ssh -o BatchMode=yes -o ConnectTimeout=5`) to fail fast.
|
|
88
|
-
- Refs
|
|
88
|
+
- Refs are pinned tags or commits. `pi update` and `pi update --extensions` do not move them to newer refs, but they do reconcile an existing clone to the configured ref.
|
|
89
|
+
- Use `pi install git:host/user/repo@new-ref` to update settings and move an existing package to a new pinned ref.
|
|
89
90
|
- Cloned to `~/.pi/agent/git/<host>/<path>` (global) or `.pi/git/<host>/<path>` (project).
|
|
90
|
-
-
|
|
91
|
+
- When reconciliation changes the checkout, pi resets and cleans the clone, then runs `npm install` if `package.json` exists.
|
|
91
92
|
|
|
92
93
|
**SSH examples:**
|
|
93
94
|
```bash
|
package/docs/sdk.md
CHANGED
|
@@ -473,6 +473,8 @@ Specify which built-in tools to enable:
|
|
|
473
473
|
- `noTools: "all"` disables all tools
|
|
474
474
|
- `noTools: "builtin"` disables default built-ins while keeping extension and custom tools enabled
|
|
475
475
|
|
|
476
|
+
The `edit` tool returns `details.diff` for Pi's TUI display and `details.patch` as a standard unified patch for SDK consumers.
|
|
477
|
+
|
|
476
478
|
```typescript
|
|
477
479
|
import { createAgentSession } from "@earendil-works/pi-coding-agent";
|
|
478
480
|
|
package/docs/usage.md
CHANGED
|
@@ -129,8 +129,8 @@ pi [options] [@files...] [messages...]
|
|
|
129
129
|
pi install <source> [-l] # Install package, -l for project-local
|
|
130
130
|
pi remove <source> [-l] # Remove package
|
|
131
131
|
pi uninstall <source> [-l] # Alias for remove
|
|
132
|
-
pi update [source|self|pi] # Update pi and packages;
|
|
133
|
-
pi update --extensions # Update packages only
|
|
132
|
+
pi update [source|self|pi] # Update pi and packages; reconcile pinned git refs
|
|
133
|
+
pi update --extensions # Update packages only; reconcile pinned git refs
|
|
134
134
|
pi update --self # Update pi only
|
|
135
135
|
pi update --extension <src> # Update one package
|
|
136
136
|
pi list # List installed packages
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-custom-provider",
|
|
3
|
-
"version": "0.75.
|
|
3
|
+
"version": "0.75.5",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-custom-provider",
|
|
9
|
-
"version": "0.75.
|
|
9
|
+
"version": "0.75.5",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sdk": "^0.52.0"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-sandbox",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.5",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-sandbox",
|
|
9
|
-
"version": "1.5.
|
|
9
|
+
"version": "1.5.5",
|
|
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": "0.75.
|
|
3
|
+
"version": "0.75.5",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-with-deps",
|
|
9
|
-
"version": "0.75.
|
|
9
|
+
"version": "0.75.5",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"ms": "^2.1.3"
|
|
12
12
|
},
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-coding-agent",
|
|
3
|
-
"version": "0.75.
|
|
3
|
+
"version": "0.75.5",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@earendil-works/pi-coding-agent",
|
|
9
|
-
"version": "0.75.
|
|
9
|
+
"version": "0.75.5",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@earendil-works/pi-agent-core": "^0.75.
|
|
13
|
-
"@earendil-works/pi-ai": "^0.75.
|
|
14
|
-
"@earendil-works/pi-tui": "^0.75.
|
|
12
|
+
"@earendil-works/pi-agent-core": "^0.75.5",
|
|
13
|
+
"@earendil-works/pi-ai": "^0.75.5",
|
|
14
|
+
"@earendil-works/pi-tui": "^0.75.5",
|
|
15
15
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
16
16
|
"chalk": "5.6.2",
|
|
17
17
|
"cross-spawn": "7.0.6",
|
|
@@ -473,11 +473,11 @@
|
|
|
473
473
|
}
|
|
474
474
|
},
|
|
475
475
|
"node_modules/@earendil-works/pi-agent-core": {
|
|
476
|
-
"version": "0.75.
|
|
477
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.75.
|
|
476
|
+
"version": "0.75.5",
|
|
477
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.75.5.tgz",
|
|
478
478
|
"license": "MIT",
|
|
479
479
|
"dependencies": {
|
|
480
|
-
"@earendil-works/pi-ai": "^0.75.
|
|
480
|
+
"@earendil-works/pi-ai": "^0.75.5",
|
|
481
481
|
"ignore": "7.0.5",
|
|
482
482
|
"typebox": "1.1.38",
|
|
483
483
|
"yaml": "2.9.0"
|
|
@@ -487,12 +487,13 @@
|
|
|
487
487
|
}
|
|
488
488
|
},
|
|
489
489
|
"node_modules/@earendil-works/pi-ai": {
|
|
490
|
-
"version": "0.75.
|
|
491
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.75.
|
|
490
|
+
"version": "0.75.5",
|
|
491
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.75.5.tgz",
|
|
492
492
|
"license": "MIT",
|
|
493
493
|
"dependencies": {
|
|
494
494
|
"@anthropic-ai/sdk": "0.91.1",
|
|
495
495
|
"@aws-sdk/client-bedrock-runtime": "3.1048.0",
|
|
496
|
+
"@smithy/node-http-handler": "4.7.3",
|
|
496
497
|
"@google/genai": "1.52.0",
|
|
497
498
|
"@mistralai/mistralai": "2.2.1",
|
|
498
499
|
"http-proxy-agent": "7.0.2",
|
|
@@ -509,16 +510,13 @@
|
|
|
509
510
|
}
|
|
510
511
|
},
|
|
511
512
|
"node_modules/@earendil-works/pi-tui": {
|
|
512
|
-
"version": "0.75.
|
|
513
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.75.
|
|
513
|
+
"version": "0.75.5",
|
|
514
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.75.5.tgz",
|
|
514
515
|
"license": "MIT",
|
|
515
516
|
"dependencies": {
|
|
516
517
|
"get-east-asian-width": "1.6.0",
|
|
517
518
|
"marked": "15.0.12"
|
|
518
519
|
},
|
|
519
|
-
"optionalDependencies": {
|
|
520
|
-
"koffi": "2.16.2"
|
|
521
|
-
},
|
|
522
520
|
"engines": {
|
|
523
521
|
"node": ">=22.19.0"
|
|
524
522
|
}
|
|
@@ -1369,17 +1367,6 @@
|
|
|
1369
1367
|
"safe-buffer": "^5.0.1"
|
|
1370
1368
|
}
|
|
1371
1369
|
},
|
|
1372
|
-
"node_modules/koffi": {
|
|
1373
|
-
"version": "2.16.2",
|
|
1374
|
-
"resolved": "https://registry.npmjs.org/koffi/-/koffi-2.16.2.tgz",
|
|
1375
|
-
"integrity": "sha512-owU0MRwv6xkrVqCd+33uw6BaYppkTRXbO/rVdJNI2dvZG0gzyRhYwW25eWtc5pauwK8TGh3AbkFONSezdykfSA==",
|
|
1376
|
-
"license": "MIT",
|
|
1377
|
-
"optional": true,
|
|
1378
|
-
"hasInstallScript": true,
|
|
1379
|
-
"funding": {
|
|
1380
|
-
"url": "https://liberapay.com/Koromix"
|
|
1381
|
-
}
|
|
1382
|
-
},
|
|
1383
1370
|
"node_modules/long": {
|
|
1384
1371
|
"version": "5.3.2",
|
|
1385
1372
|
"resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-coding-agent",
|
|
3
|
-
"version": "0.75.
|
|
3
|
+
"version": "0.75.5",
|
|
4
4
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piConfig": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"scripts": {
|
|
32
32
|
"clean": "shx rm -rf dist",
|
|
33
33
|
"build": "tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && npm run copy-assets",
|
|
34
|
-
"build:binary": "npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets",
|
|
34
|
+
"build:binary": "npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets",
|
|
35
35
|
"copy-assets": "shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/",
|
|
36
36
|
"copy-binary-assets": "shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/",
|
|
37
37
|
"test": "vitest --run",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"prepublishOnly": "npm run clean && npm run build && npm run shrinkwrap"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@earendil-works/pi-agent-core": "^0.75.
|
|
43
|
-
"@earendil-works/pi-ai": "^0.75.
|
|
44
|
-
"@earendil-works/pi-tui": "^0.75.
|
|
42
|
+
"@earendil-works/pi-agent-core": "^0.75.5",
|
|
43
|
+
"@earendil-works/pi-ai": "^0.75.5",
|
|
44
|
+
"@earendil-works/pi-tui": "^0.75.5",
|
|
45
45
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
46
46
|
"chalk": "5.6.2",
|
|
47
47
|
"cross-spawn": "7.0.6",
|