@earendil-works/pi-coding-agent 0.84.2 → 0.84.3
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 +83 -0
- package/README.md +8 -4
- package/dist/bundle/chunks/anthropic-messages-JWX2WP65.js +45 -0
- package/dist/bundle/chunks/anthropic.js +75 -0
- package/dist/bundle/chunks/azure-openai-responses-5ENVCQ7U.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +74 -0
- package/dist/bundle/chunks/chunk-4L3WN2XY.js +2 -0
- package/dist/bundle/chunks/chunk-6CYCI3EJ.js +12 -0
- package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
- package/dist/bundle/chunks/chunk-AXIIZGTV.js +2 -0
- package/dist/bundle/chunks/chunk-DRQDKNXA.js +2 -0
- package/dist/bundle/chunks/chunk-E5KXRMZK.js +1547 -0
- package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
- package/dist/bundle/chunks/chunk-GPPBJGBU.js +50 -0
- package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
- package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
- package/dist/bundle/chunks/chunk-MNAIPA3J.js +2 -0
- package/dist/bundle/chunks/chunk-NBBFIJUL.js +11 -0
- package/dist/bundle/chunks/chunk-NUHFSC37.js +25 -0
- package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
- package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
- package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
- package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
- package/dist/bundle/chunks/chunk-TRDNDS6A.js +4 -0
- package/dist/bundle/chunks/chunk-UAQELI3K.js +2 -0
- package/dist/bundle/chunks/chunk-XDUWOHPL.js +6 -0
- package/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
- package/dist/bundle/chunks/dist-RDWOYWHR.js +13 -0
- package/dist/bundle/chunks/github-copilot.js +2 -0
- package/dist/bundle/chunks/google-generative-ai-XDKMGBCJ.js +2 -0
- package/dist/bundle/chunks/google-vertex-D5FGEO3Y.js +2 -0
- package/dist/bundle/chunks/image-resize-worker.js +2 -0
- package/dist/bundle/chunks/kimi-coding.js +2 -0
- package/dist/bundle/chunks/lib-HGQMNYVT.js +9 -0
- package/dist/bundle/chunks/mistral-conversations-YK73UAOZ.js +5 -0
- package/dist/bundle/chunks/multipart-parser-SQ6GDJL7.js +3 -0
- package/dist/bundle/chunks/openai-codex-responses-GJVBJXLB.js +8 -0
- package/dist/bundle/chunks/openai-codex.js +75 -0
- package/dist/bundle/chunks/openai-completions-JD4WAC3R.js +7 -0
- package/dist/bundle/chunks/openai-responses-BSOJMSEV.js +2 -0
- package/dist/bundle/chunks/openrouter-images-N4XVVFSD.js +2 -0
- package/dist/bundle/chunks/openrouter.js +75 -0
- package/dist/bundle/chunks/pi-messages-TPFH44NP.js +8 -0
- package/dist/bundle/chunks/radius.js +75 -0
- package/dist/bundle/chunks/src-UK77SYZE.js +4 -0
- package/dist/bundle/chunks/xai.js +2 -0
- package/dist/bundle/cli.js +3 -0
- package/dist/bundle/client.js +2 -0
- package/dist/bundle/index.js +2 -0
- package/dist/bundle/rpc-entry.js +3 -0
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +29 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/config.d.ts +4 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +22 -14
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +26 -7
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +163 -95
- 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 +6 -7
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +3 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +4 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +41 -32
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/defaults.d.ts +1 -0
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js +9 -0
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -2
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +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 +115 -48
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +38 -9
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +3 -0
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +1 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/keybindings.d.ts +20 -19
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +26 -5
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +5 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +3 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +14 -8
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +2 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +22 -14
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js +2 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +2 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +3 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -2
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +10 -3
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-export.d.ts +4 -0
- package/dist/core/session-export.d.ts.map +1 -0
- package/dist/core/session-export.js +32 -0
- package/dist/core/session-export.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +2 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts +9 -0
- package/dist/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/core/settings-diagnostics.js +21 -0
- package/dist/core/settings-diagnostics.js.map +1 -0
- package/dist/core/settings-manager.d.ts +9 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +52 -10
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +51 -33
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +11 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts +14 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +36 -20
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +0 -5
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +2 -5
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +20 -4
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/index.d.ts +4 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +18 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +16 -0
- package/dist/core/tools/powershell.d.ts.map +1 -0
- package/dist/core/tools/powershell.js +39 -0
- package/dist/core/tools/powershell.js.map +1 -0
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +2 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +2 -0
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +6 -2
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +4 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +18 -15
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +4 -3
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +9 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +56 -12
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +7 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +118 -56
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.js +165 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +74 -17
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +11 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +175 -105
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/session-share.d.ts +16 -0
- package/dist/modes/interactive/session-share.d.ts.map +1 -0
- package/dist/modes/interactive/session-share.js +188 -0
- package/dist/modes/interactive/session-share.js.map +1 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +4 -3
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +16 -13
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +20 -6
- package/dist/modes/json-event.js.map +1 -1
- package/dist/package-manager-cli.d.ts +1 -0
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +186 -2
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +2 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/management-http.d.ts +5 -3
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js +14 -10
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/shell.d.ts +3 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +17 -5
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +1 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +60 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts +8 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +9 -0
- package/dist/utils/text.js.map +1 -0
- package/docs/compaction.md +15 -0
- package/docs/custom-provider.md +5 -2
- package/docs/environment-variables.md +8 -8
- package/docs/extensions.md +17 -7
- package/docs/json.md +7 -2
- package/docs/keybindings.md +8 -8
- package/docs/llama-cpp.md +2 -0
- package/docs/models.md +8 -2
- package/docs/packages.md +2 -2
- package/docs/rpc.md +9 -3
- package/docs/sdk.md +7 -2
- package/docs/settings.md +11 -3
- package/docs/skills.md +4 -3
- package/docs/terminal-setup.md +11 -9
- package/docs/usage.md +6 -2
- package/docs/windows.md +24 -2
- package/examples/extensions/border-status-editor.ts +1 -1
- 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/git-checkpoint.ts +2 -2
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/notify.ts +3 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/subagent/README.md +1 -1
- package/examples/extensions/subagent/index.ts +6 -1
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/06-extensions.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +24 -77
- package/package.json +12 -14
package/docs/sdk.md
CHANGED
|
@@ -519,7 +519,7 @@ const { session } = await createAgentSession({ resourceLoader: loader });
|
|
|
519
519
|
|
|
520
520
|
Specify which built-in tools to enable:
|
|
521
521
|
|
|
522
|
-
- Built-in tool names: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`
|
|
522
|
+
- Built-in tool names: `read`, `bash`, `powershell`, `edit`, `write`, `grep`, `find`, `ls`
|
|
523
523
|
- Default built-ins: `read`, `bash`, `edit`, `write`
|
|
524
524
|
- `noTools: "all"` disables all tools
|
|
525
525
|
- `noTools: "builtin"` disables default built-ins while keeping extension and custom tools enabled
|
|
@@ -540,6 +540,11 @@ const { session } = await createAgentSession({
|
|
|
540
540
|
tools: ["read", "bash", "grep"],
|
|
541
541
|
});
|
|
542
542
|
|
|
543
|
+
// Use PowerShell instead of Bash on Windows
|
|
544
|
+
const { session } = await createAgentSession({
|
|
545
|
+
tools: ["read", "powershell", "edit", "write"],
|
|
546
|
+
});
|
|
547
|
+
|
|
543
548
|
// Disable one tool while keeping the rest available
|
|
544
549
|
const { session } = await createAgentSession({
|
|
545
550
|
excludeTools: ["ask_question"],
|
|
@@ -1196,7 +1201,7 @@ SettingsManager
|
|
|
1196
1201
|
// Tool factories
|
|
1197
1202
|
createCodingTools
|
|
1198
1203
|
createReadOnlyTools
|
|
1199
|
-
createReadTool, createBashTool, createEditTool, createWriteTool
|
|
1204
|
+
createReadTool, createBashTool, createPowerShellTool, createEditTool, createWriteTool
|
|
1200
1205
|
createGrepTool, createFindTool, createLsTool
|
|
1201
1206
|
|
|
1202
1207
|
// Types
|
package/docs/settings.md
CHANGED
|
@@ -31,8 +31,8 @@ Use `/trust` in interactive mode to save a project trust decision for future ses
|
|
|
31
31
|
| `defaultModel` | string | - | Default model ID |
|
|
32
32
|
| `defaultThinkingLevel` | string | - | `"off"`, `"minimal"`, `"low"`, `"medium"`, `"high"`, `"xhigh"`, `"max"` |
|
|
33
33
|
| `hideThinkingBlock` | boolean | `false` | Hide thinking blocks in output |
|
|
34
|
-
| `showCacheMissNotices` | boolean | `false` | Show transcript notices for significant prompt-cache misses |
|
|
35
|
-
| `thinkingBudgets` | object | - | Custom token budgets per thinking level |
|
|
34
|
+
| `showCacheMissNotices` | boolean | `false` | Show transcript notices for significant prompt-cache misses and compaction or branch-summary usage |
|
|
35
|
+
| `thinkingBudgets` | object | - | Custom token budgets per thinking level. Anthropic, Google, and Bedrock use these natively. OpenAI-compatible models use them when `compat.thinkingTokenBudgetField` (or `supportsThinkingTokenBudget`) is set. |
|
|
36
36
|
|
|
37
37
|
#### thinkingBudgets
|
|
38
38
|
|
|
@@ -220,7 +220,7 @@ Windows paths in JSON must use forward slashes or escaped backslashes:
|
|
|
220
220
|
|---------|------|---------|-------------|
|
|
221
221
|
| `defaultTools` | string[] | - | Built-in tools enabled initially. When omitted, Pi uses its standard defaults |
|
|
222
222
|
|
|
223
|
-
`defaultTools` selects the built-in tools enabled at startup. Extension and SDK custom tools remain enabled
|
|
223
|
+
`defaultTools` selects the built-in tools enabled at startup. Extension and SDK custom tools remain enabled. Available built-ins are `read`, `bash`, `powershell`, `edit`, `write`, `grep`, `find`, and `ls`:
|
|
224
224
|
|
|
225
225
|
```json
|
|
226
226
|
{
|
|
@@ -228,6 +228,14 @@ Windows paths in JSON must use forward slashes or escaped backslashes:
|
|
|
228
228
|
}
|
|
229
229
|
```
|
|
230
230
|
|
|
231
|
+
On Windows, select `powershell` instead of `bash`, or include both:
|
|
232
|
+
|
|
233
|
+
```json
|
|
234
|
+
{
|
|
235
|
+
"defaultTools": ["read", "powershell", "edit", "write"]
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
231
239
|
An empty array starts with no built-in tools while preserving extension and SDK custom tools. `--tools` replaces this behavior with a strict allowlist for all tools, `--no-tools` disables all tools, and `--no-builtin-tools` disables the built-in defaults. `--exclude-tools` filters the resulting list. A project `defaultTools` array replaces the global array.
|
|
232
240
|
|
|
233
241
|
### Sessions
|
package/docs/skills.md
CHANGED
|
@@ -34,9 +34,10 @@ Pi loads skills from:
|
|
|
34
34
|
- CLI: `--skill <path>` (repeatable, additive even with `--no-skills`)
|
|
35
35
|
|
|
36
36
|
Discovery rules:
|
|
37
|
-
- In `~/.pi/agent/skills/` and `.pi/skills/`, direct root `.md` files are discovered as individual skills
|
|
37
|
+
- In `~/.pi/agent/skills/` and `.pi/skills/`, direct root `.md` files are discovered as individual skills when they have valid skill frontmatter with a non-empty `description`
|
|
38
38
|
- In all skill locations, directories containing `SKILL.md` are discovered recursively
|
|
39
|
-
- In `~/.agents/skills/` and project `.agents/skills/`, root `.md` files are ignored
|
|
39
|
+
- In `~/.agents/skills/` and project `.agents/skills/`, root `.md` files are ignored, but nested `.md` files in grouping folders are discovered when they declare skill frontmatter
|
|
40
|
+
- Root Markdown files other than `SKILL.md` that do not look like skills are ignored silently
|
|
40
41
|
|
|
41
42
|
Disable discovery with `--no-skills` (explicit `--skill` paths still load).
|
|
42
43
|
|
|
@@ -183,7 +184,7 @@ Pi validates skills against the Agent Skills standard. Most issues produce warni
|
|
|
183
184
|
|
|
184
185
|
Unknown frontmatter fields are ignored.
|
|
185
186
|
|
|
186
|
-
|
|
187
|
+
Declared skills with missing descriptions are not loaded. Malformed `SKILL.md` files and `SKILL.md` files without a description produce warnings and are not loaded. Other Markdown files without valid skill frontmatter are ignored.
|
|
187
188
|
|
|
188
189
|
Name collisions (same name from different locations) warn and keep the first skill found.
|
|
189
190
|
|
package/docs/terminal-setup.md
CHANGED
|
@@ -120,7 +120,15 @@ Add to `keybindings.json`:
|
|
|
120
120
|
|
|
121
121
|
## Windows Terminal
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
Pi uses Windows-style keybindings when running natively on Windows or in WSL:
|
|
124
|
+
|
|
125
|
+
- `Alt+V` pastes an image or clipboard text.
|
|
126
|
+
- `Ctrl+F` searches the transcript in fullscreen mode, and `Ctrl+Up`/`Ctrl+Down` jump between marked messages.
|
|
127
|
+
- `Alt+P` cycles to the previous model.
|
|
128
|
+
- `Ctrl+Z` undoes editing on native Windows; WSL uses `Alt+Z` so `Ctrl+Z` can suspend pi.
|
|
129
|
+
- `Ctrl+Q` queues a follow-up message and `Alt+Q` restores queued messages.
|
|
130
|
+
|
|
131
|
+
Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file) to forward `Shift+Enter` for inserting a new line:
|
|
124
132
|
|
|
125
133
|
```json
|
|
126
134
|
{
|
|
@@ -128,20 +136,14 @@ Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file) to forward
|
|
|
128
136
|
{
|
|
129
137
|
"command": { "action": "sendInput", "input": "\u001b[13;2u" },
|
|
130
138
|
"keys": "shift+enter"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"command": { "action": "sendInput", "input": "\u001b[13;3u" },
|
|
134
|
-
"keys": "alt+enter"
|
|
135
139
|
}
|
|
136
140
|
]
|
|
137
141
|
}
|
|
138
142
|
```
|
|
139
143
|
|
|
140
|
-
|
|
141
|
-
- Windows Terminal binds `Alt+Enter` to fullscreen by default. That prevents pi from receiving `Alt+Enter` for follow-up queueing.
|
|
142
|
-
- Remapping `Alt+Enter` to `sendInput` forwards the real key chord to pi instead.
|
|
144
|
+
Windows Terminal binds `Alt+Enter` to fullscreen by default. To use it instead of pi's `Ctrl+Q` default for follow-up queueing, configure Windows Terminal to send the key and bind `app.message.followUp` to `alt+enter` in pi.
|
|
143
145
|
|
|
144
|
-
If you already have an `actions` array, add the
|
|
146
|
+
If you already have an `actions` array, add the object to it. Fully close and reopen Windows Terminal after changing its settings.
|
|
145
147
|
|
|
146
148
|
## xfce4-terminal, terminator
|
|
147
149
|
|
package/docs/usage.md
CHANGED
|
@@ -142,7 +142,7 @@ If you use pi for open source work and want to publish sessions for model, promp
|
|
|
142
142
|
## CLI Reference
|
|
143
143
|
|
|
144
144
|
```bash
|
|
145
|
-
pi [options] [@files...] [messages...]
|
|
145
|
+
pi [options] [--] [@files...] [messages...]
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
### Package Commands
|
|
@@ -213,7 +213,7 @@ cat README.md | pi -p "Summarize this text"
|
|
|
213
213
|
| `--no-builtin-tools`, `-nbt` | Disable built-in tools but keep extension/custom tools enabled |
|
|
214
214
|
| `--no-tools`, `-nt` | Disable all tools |
|
|
215
215
|
|
|
216
|
-
Built-in tools: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`.
|
|
216
|
+
Built-in tools: `read`, `bash`, `powershell` (Windows), `edit`, `write`, `grep`, `find`, `ls`.
|
|
217
217
|
|
|
218
218
|
### Resource Options
|
|
219
219
|
|
|
@@ -246,6 +246,7 @@ pi --no-extensions -e ./my-extension.ts
|
|
|
246
246
|
| `--verbose` | Force verbose startup |
|
|
247
247
|
| `-a`, `--approve` | Trust project-local files for this run |
|
|
248
248
|
| `-na`, `--no-approve` | Ignore project-local files for this run |
|
|
249
|
+
| `--` | Stop option parsing; remaining arguments are prompts or `@file` inputs |
|
|
249
250
|
| `-h`, `--help` | Show help |
|
|
250
251
|
| `-v`, `--version` | Show version |
|
|
251
252
|
|
|
@@ -272,6 +273,9 @@ pi "List all .ts files in src/"
|
|
|
272
273
|
# Non-interactive
|
|
273
274
|
pi -p "Summarize this codebase"
|
|
274
275
|
|
|
276
|
+
# Prompt beginning with a dash
|
|
277
|
+
pi -p -- "- Summarize these points"
|
|
278
|
+
|
|
275
279
|
# Non-interactive with piped stdin
|
|
276
280
|
cat README.md | pi -p "Summarize this text"
|
|
277
281
|
|
package/docs/windows.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Windows Setup
|
|
2
2
|
|
|
3
|
-
Pi
|
|
3
|
+
Pi uses Git Bash by default on Windows. Checked locations (in order):
|
|
4
4
|
|
|
5
5
|
1. Custom path from `~/.pi/agent/settings.json`
|
|
6
6
|
2. Git Bash (`C:\Program Files\Git\bin\bash.exe`)
|
|
@@ -8,7 +8,29 @@ Pi requires a bash shell on Windows. Checked locations (in order):
|
|
|
8
8
|
|
|
9
9
|
For most users, [Git for Windows](https://git-scm.com/download/win) is sufficient.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## PowerShell Tool
|
|
12
|
+
|
|
13
|
+
The optional `powershell` tool runs commands through `pwsh.exe` when available, otherwise Windows PowerShell. It starts PowerShell with `-NoProfile -NonInteractive -ExecutionPolicy Bypass`. Administrator-enforced execution policies can still take precedence.
|
|
14
|
+
|
|
15
|
+
Use `defaultTools` to replace the model-facing `bash` tool:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"defaultTools": ["read", "powershell", "edit", "write"]
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Or enable both while comparing behavior:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"defaultTools": ["read", "bash", "powershell", "edit", "write"]
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The `!` and `!!` editor commands still use Bash.
|
|
32
|
+
|
|
33
|
+
## Custom Bash Path
|
|
12
34
|
|
|
13
35
|
```json
|
|
14
36
|
{
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-custom-provider",
|
|
3
|
-
"version": "0.84.
|
|
3
|
+
"version": "0.84.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-custom-provider",
|
|
9
|
-
"version": "0.84.
|
|
9
|
+
"version": "0.84.3",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sdk": "^0.52.0"
|
|
12
12
|
}
|
|
@@ -46,8 +46,8 @@ export default function (pi: ExtensionAPI) {
|
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
|
|
49
|
-
pi.on("
|
|
50
|
-
// Clear checkpoints after agent completes
|
|
49
|
+
pi.on("agent_settled", async () => {
|
|
50
|
+
// Clear checkpoints after the full agent run completes
|
|
51
51
|
checkpoints.clear();
|
|
52
52
|
});
|
|
53
53
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-gondolin",
|
|
3
|
-
"version": "0.84.
|
|
3
|
+
"version": "0.84.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-gondolin",
|
|
9
|
-
"version": "0.84.
|
|
9
|
+
"version": "0.84.3",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@earendil-works/gondolin": "0.12.0"
|
|
12
12
|
}
|
|
@@ -49,7 +49,9 @@ function notify(title: string, body: string): void {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export default function (pi: ExtensionAPI) {
|
|
52
|
-
|
|
52
|
+
// `agent_end` fires after each low-level run; Pi may still retry, compact,
|
|
53
|
+
// or continue with queued follow-ups. Notify only after the full run settles.
|
|
54
|
+
pi.on("agent_settled", async () => {
|
|
53
55
|
notify("Pi", "Ready for input");
|
|
54
56
|
});
|
|
55
57
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-sandbox",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-sandbox",
|
|
9
|
-
"version": "1.14.
|
|
9
|
+
"version": "1.14.3",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sandbox-runtime": "^0.0.26"
|
|
12
12
|
}
|
|
@@ -62,7 +62,7 @@ This tool executes a separate `pi` subprocess with a delegated system prompt and
|
|
|
62
62
|
|
|
63
63
|
To enable project-local agents, pass `agentScope: "both"` (or `"project"`). Only do this for repositories you trust.
|
|
64
64
|
|
|
65
|
-
When running interactively, the tool prompts for confirmation before running project-local agents. Set `confirmProjectAgents: false` to disable.
|
|
65
|
+
When running interactively, the tool prompts for confirmation before running project-local agents in untrusted projects. Trusted projects skip the additional prompt. Set `confirmProjectAgents: false` to disable confirmation.
|
|
66
66
|
|
|
67
67
|
## Usage
|
|
68
68
|
|
|
@@ -517,7 +517,12 @@ export default function (pi: ExtensionAPI) {
|
|
|
517
517
|
};
|
|
518
518
|
}
|
|
519
519
|
|
|
520
|
-
if (
|
|
520
|
+
if (
|
|
521
|
+
(agentScope === "project" || agentScope === "both") &&
|
|
522
|
+
confirmProjectAgents &&
|
|
523
|
+
ctx.hasUI &&
|
|
524
|
+
!ctx.isProjectTrusted()
|
|
525
|
+
) {
|
|
521
526
|
const requestedAgentNames = new Set<string>();
|
|
522
527
|
if (params.chain) for (const step of params.chain) requestedAgentNames.add(step.agent);
|
|
523
528
|
if (params.tasks) for (const t of params.tasks) requestedAgentNames.add(t.agent);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-with-deps",
|
|
3
|
-
"version": "0.84.
|
|
3
|
+
"version": "0.84.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-with-deps",
|
|
9
|
-
"version": "0.84.
|
|
9
|
+
"version": "0.84.3",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"ms": "^2.1.3"
|
|
12
12
|
},
|
|
@@ -71,7 +71,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
pi.on("agent_end", async (event) => {
|
|
74
|
-
console.log(\`[Extension]
|
|
74
|
+
console.log(\`[Extension] Low-level run ended, \${event.messages.length} messages\`);
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
// Register a custom tool
|
package/examples/sdk/README.md
CHANGED
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-coding-agent",
|
|
3
|
-
"version": "0.84.
|
|
3
|
+
"version": "0.84.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@earendil-works/pi-coding-agent",
|
|
9
|
-
"version": "0.84.
|
|
9
|
+
"version": "0.84.3",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@earendil-works/pi-agent-core": "^0.84.
|
|
13
|
-
"@earendil-works/pi-ai": "^0.84.
|
|
14
|
-
"@earendil-works/pi-client": "^0.84.
|
|
15
|
-
"@earendil-works/pi-protocol": "^0.84.
|
|
16
|
-
"@earendil-works/pi-tui": "^0.84.
|
|
12
|
+
"@earendil-works/pi-agent-core": "^0.84.3",
|
|
13
|
+
"@earendil-works/pi-ai": "^0.84.3",
|
|
14
|
+
"@earendil-works/pi-client": "^0.84.3",
|
|
15
|
+
"@earendil-works/pi-protocol": "^0.84.3",
|
|
16
|
+
"@earendil-works/pi-tui": "^0.84.3",
|
|
17
17
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
18
18
|
"chalk": "5.6.2",
|
|
19
19
|
"cross-spawn": "7.0.6",
|
|
20
20
|
"diff": "8.0.4",
|
|
21
|
-
"glob": "13.0.6",
|
|
22
21
|
"grok-mermaid": "0.2.2",
|
|
23
22
|
"highlight.js": "10.7.3",
|
|
24
23
|
"hosted-git-info": "9.0.3",
|
|
@@ -35,7 +34,7 @@
|
|
|
35
34
|
"@mariozechner/clipboard": "0.3.9"
|
|
36
35
|
},
|
|
37
36
|
"bin": {
|
|
38
|
-
"pi": "dist/cli.js"
|
|
37
|
+
"pi": "dist/bundle/cli.js"
|
|
39
38
|
},
|
|
40
39
|
"engines": {
|
|
41
40
|
"node": ">=22.19.0"
|
|
@@ -477,12 +476,12 @@
|
|
|
477
476
|
}
|
|
478
477
|
},
|
|
479
478
|
"node_modules/@earendil-works/pi-agent-core": {
|
|
480
|
-
"version": "0.84.
|
|
481
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.84.
|
|
479
|
+
"version": "0.84.3",
|
|
480
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.84.3.tgz",
|
|
482
481
|
"license": "MIT",
|
|
483
482
|
"dependencies": {
|
|
484
|
-
"@earendil-works/pi-ai": "^0.84.
|
|
485
|
-
"@earendil-works/pi-telemetry": "^0.84.
|
|
483
|
+
"@earendil-works/pi-ai": "^0.84.3",
|
|
484
|
+
"@earendil-works/pi-telemetry": "^0.84.3",
|
|
486
485
|
"diff": "8.0.4",
|
|
487
486
|
"ignore": "7.0.5",
|
|
488
487
|
"typebox": "1.3.7",
|
|
@@ -493,15 +492,14 @@
|
|
|
493
492
|
}
|
|
494
493
|
},
|
|
495
494
|
"node_modules/@earendil-works/pi-ai": {
|
|
496
|
-
"version": "0.84.
|
|
497
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.84.
|
|
495
|
+
"version": "0.84.3",
|
|
496
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.84.3.tgz",
|
|
498
497
|
"license": "MIT",
|
|
499
498
|
"dependencies": {
|
|
500
499
|
"@anthropic-ai/sdk": "0.91.1",
|
|
501
500
|
"@aws-sdk/client-bedrock-runtime": "3.1048.0",
|
|
502
|
-
"@earendil-works/pi-telemetry": "^0.84.
|
|
501
|
+
"@earendil-works/pi-telemetry": "^0.84.3",
|
|
503
502
|
"@google/genai": "1.52.0",
|
|
504
|
-
"@opentelemetry/api": "1.9.0",
|
|
505
503
|
"@smithy/node-http-handler": "4.7.3",
|
|
506
504
|
"http-proxy-agent": "7.0.2",
|
|
507
505
|
"https-proxy-agent": "7.0.6",
|
|
@@ -517,19 +515,19 @@
|
|
|
517
515
|
}
|
|
518
516
|
},
|
|
519
517
|
"node_modules/@earendil-works/pi-client": {
|
|
520
|
-
"version": "0.84.
|
|
521
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.84.
|
|
518
|
+
"version": "0.84.3",
|
|
519
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.84.3.tgz",
|
|
522
520
|
"license": "MIT",
|
|
523
521
|
"dependencies": {
|
|
524
|
-
"@earendil-works/pi-protocol": "^0.84.
|
|
522
|
+
"@earendil-works/pi-protocol": "^0.84.3"
|
|
525
523
|
},
|
|
526
524
|
"engines": {
|
|
527
525
|
"node": ">=22.19.0"
|
|
528
526
|
}
|
|
529
527
|
},
|
|
530
528
|
"node_modules/@earendil-works/pi-protocol": {
|
|
531
|
-
"version": "0.84.
|
|
532
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-protocol/-/pi-protocol-0.84.
|
|
529
|
+
"version": "0.84.3",
|
|
530
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-protocol/-/pi-protocol-0.84.3.tgz",
|
|
533
531
|
"license": "MIT",
|
|
534
532
|
"dependencies": {
|
|
535
533
|
"typebox": "1.3.7"
|
|
@@ -539,16 +537,16 @@
|
|
|
539
537
|
}
|
|
540
538
|
},
|
|
541
539
|
"node_modules/@earendil-works/pi-telemetry": {
|
|
542
|
-
"version": "0.84.
|
|
543
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-0.84.
|
|
540
|
+
"version": "0.84.3",
|
|
541
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-0.84.3.tgz",
|
|
544
542
|
"license": "MIT",
|
|
545
543
|
"engines": {
|
|
546
544
|
"node": ">=22.19.0"
|
|
547
545
|
}
|
|
548
546
|
},
|
|
549
547
|
"node_modules/@earendil-works/pi-tui": {
|
|
550
|
-
"version": "0.84.
|
|
551
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.84.
|
|
548
|
+
"version": "0.84.3",
|
|
549
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.84.3.tgz",
|
|
552
550
|
"license": "MIT",
|
|
553
551
|
"dependencies": {
|
|
554
552
|
"get-east-asian-width": "1.6.0",
|
|
@@ -773,15 +771,6 @@
|
|
|
773
771
|
}
|
|
774
772
|
]
|
|
775
773
|
},
|
|
776
|
-
"node_modules/@opentelemetry/api": {
|
|
777
|
-
"version": "1.9.0",
|
|
778
|
-
"resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
|
|
779
|
-
"integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
|
|
780
|
-
"license": "Apache-2.0",
|
|
781
|
-
"engines": {
|
|
782
|
-
"node": ">=8.0.0"
|
|
783
|
-
}
|
|
784
|
-
},
|
|
785
774
|
"node_modules/@protobufjs/aspromise": {
|
|
786
775
|
"version": "1.1.2",
|
|
787
776
|
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
|
@@ -1233,23 +1222,6 @@
|
|
|
1233
1222
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
1234
1223
|
}
|
|
1235
1224
|
},
|
|
1236
|
-
"node_modules/glob": {
|
|
1237
|
-
"version": "13.0.6",
|
|
1238
|
-
"resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
|
|
1239
|
-
"integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
|
|
1240
|
-
"license": "BlueOak-1.0.0",
|
|
1241
|
-
"dependencies": {
|
|
1242
|
-
"minimatch": "^10.2.2",
|
|
1243
|
-
"minipass": "^7.1.3",
|
|
1244
|
-
"path-scurry": "^2.0.2"
|
|
1245
|
-
},
|
|
1246
|
-
"engines": {
|
|
1247
|
-
"node": "18 || 20 || >=22"
|
|
1248
|
-
},
|
|
1249
|
-
"funding": {
|
|
1250
|
-
"url": "https://github.com/sponsors/isaacs"
|
|
1251
|
-
}
|
|
1252
|
-
},
|
|
1253
1225
|
"node_modules/google-auth-library": {
|
|
1254
1226
|
"version": "10.6.2",
|
|
1255
1227
|
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.6.2.tgz",
|
|
@@ -1447,15 +1419,6 @@
|
|
|
1447
1419
|
"url": "https://github.com/sponsors/isaacs"
|
|
1448
1420
|
}
|
|
1449
1421
|
},
|
|
1450
|
-
"node_modules/minipass": {
|
|
1451
|
-
"version": "7.1.3",
|
|
1452
|
-
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
|
|
1453
|
-
"integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
|
|
1454
|
-
"license": "BlueOak-1.0.0",
|
|
1455
|
-
"engines": {
|
|
1456
|
-
"node": ">=16 || 14 >=14.17"
|
|
1457
|
-
}
|
|
1458
|
-
},
|
|
1459
1422
|
"node_modules/ms": {
|
|
1460
1423
|
"version": "2.1.3",
|
|
1461
1424
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
|
@@ -1567,22 +1530,6 @@
|
|
|
1567
1530
|
"node": ">=8"
|
|
1568
1531
|
}
|
|
1569
1532
|
},
|
|
1570
|
-
"node_modules/path-scurry": {
|
|
1571
|
-
"version": "2.0.2",
|
|
1572
|
-
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
|
|
1573
|
-
"integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
|
|
1574
|
-
"license": "BlueOak-1.0.0",
|
|
1575
|
-
"dependencies": {
|
|
1576
|
-
"lru-cache": "^11.0.0",
|
|
1577
|
-
"minipass": "^7.1.2"
|
|
1578
|
-
},
|
|
1579
|
-
"engines": {
|
|
1580
|
-
"node": "18 || 20 || >=22"
|
|
1581
|
-
},
|
|
1582
|
-
"funding": {
|
|
1583
|
-
"url": "https://github.com/sponsors/isaacs"
|
|
1584
|
-
}
|
|
1585
|
-
},
|
|
1586
1533
|
"node_modules/proper-lockfile": {
|
|
1587
1534
|
"version": "4.1.2",
|
|
1588
1535
|
"resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz",
|