@astralyn/pi 0.87.0 → 0.87.2
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 +31 -0
- package/dist/bundle/chunks/{anthropic-messages-R2LYJUDD.js → anthropic-messages-XWFTZP2N.js} +1 -1
- package/dist/bundle/chunks/{chunk-INDBRWNK.js → chunk-NBIUJDV6.js} +1 -1
- package/dist/bundle/chunks/{chunk-RKLIHRPH.js → chunk-RFLBIA5Z.js} +82 -82
- package/dist/bundle/chunks/github-copilot.js +1 -1
- package/dist/bundle/chunks/{openai-completions-JZCEEJ43.js → openai-completions-SHS3CAEL.js} +1 -1
- package/dist/bundle/chunks/{virtual-modules-CG7NJ5WO.js → virtual-modules-GOHLE5JL.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 +14 -4
- package/dist/cli/args.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +9 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +158 -157
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session.d.ts +30 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +514 -443
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/background/service.d.ts +9 -0
- package/dist/core/background/service.d.ts.map +1 -1
- package/dist/core/background/service.js +13 -1
- package/dist/core/background/service.js.map +1 -1
- package/dist/core/background/session.d.ts +5 -0
- package/dist/core/background/session.d.ts.map +1 -1
- package/dist/core/background/session.js +2 -1
- package/dist/core/background/session.js.map +1 -1
- package/dist/core/background/types.d.ts +2 -0
- package/dist/core/background/types.d.ts.map +1 -1
- package/dist/core/background/types.js.map +1 -1
- package/dist/core/compaction/compaction.js +9 -9
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/extensions/distribution-api.d.ts +41 -0
- package/dist/core/extensions/distribution-api.d.ts.map +1 -0
- package/dist/core/extensions/distribution-api.js +12 -0
- package/dist/core/extensions/distribution-api.js.map +1 -0
- 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 +1 -0
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +0 -2
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +15 -45
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +1 -11
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/virtual-modules.js +2 -1
- package/dist/core/extensions/virtual-modules.js.map +1 -1
- package/dist/core/keybinding-registry.d.ts +11 -0
- package/dist/core/keybinding-registry.d.ts.map +1 -0
- package/dist/core/keybinding-registry.js +24 -0
- package/dist/core/keybinding-registry.js.map +1 -0
- package/dist/core/keybindings.d.ts +4 -64
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +2 -41
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +70 -2
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +2 -26
- 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/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +5 -11
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +2 -2
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/shell-execution.d.ts +1 -0
- package/dist/core/tools/shell-execution.d.ts.map +1 -1
- package/dist/core/tools/shell-execution.js +21 -0
- package/dist/core/tools/shell-execution.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +11 -48
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/extensions/background/index.d.ts +2 -0
- package/dist/extensions/background/index.d.ts.map +1 -1
- package/dist/extensions/background/index.js +17 -0
- package/dist/extensions/background/index.js.map +1 -1
- package/dist/extensions/background/keybindings.d.ts +10 -0
- package/dist/extensions/background/keybindings.d.ts.map +1 -0
- package/dist/extensions/background/keybindings.js +14 -0
- package/dist/extensions/background/keybindings.js.map +1 -0
- package/dist/extensions/background/manager.d.ts +2 -0
- package/dist/extensions/background/manager.d.ts.map +1 -1
- package/dist/extensions/background/manager.js +1 -0
- package/dist/extensions/background/manager.js.map +1 -1
- package/dist/extensions/btw/controller.d.ts +1 -0
- package/dist/extensions/btw/controller.d.ts.map +1 -1
- package/dist/extensions/btw/controller.js +5 -5
- package/dist/extensions/btw/controller.js.map +1 -1
- package/dist/extensions/btw/index.js +1 -2
- package/dist/extensions/btw/index.js.map +1 -1
- package/dist/extensions/btw/keybindings.d.ts +10 -0
- package/dist/extensions/btw/keybindings.d.ts.map +1 -0
- package/dist/extensions/btw/keybindings.js +8 -0
- package/dist/extensions/btw/keybindings.js.map +1 -0
- package/dist/extensions/btw/panel.d.ts +1 -0
- package/dist/extensions/btw/panel.d.ts.map +1 -1
- package/dist/extensions/btw/panel.js +1 -0
- package/dist/extensions/btw/panel.js.map +1 -1
- package/dist/extensions/list-keybindings.d.ts +8 -0
- package/dist/extensions/list-keybindings.d.ts.map +1 -0
- package/dist/extensions/list-keybindings.js +8 -0
- package/dist/extensions/list-keybindings.js.map +1 -0
- package/dist/extensions/provider/compat-fields.d.ts.map +1 -1
- package/dist/extensions/provider/compat-fields.js +23 -3
- package/dist/extensions/provider/compat-fields.js.map +1 -1
- package/dist/extensions/provider/connection.d.ts.map +1 -1
- package/dist/extensions/provider/connection.js +1 -1
- package/dist/extensions/provider/connection.js.map +1 -1
- package/dist/extensions/provider/constants.d.ts +2 -0
- package/dist/extensions/provider/constants.d.ts.map +1 -1
- package/dist/extensions/provider/constants.js +2 -0
- package/dist/extensions/provider/constants.js.map +1 -1
- package/dist/extensions/provider/keybindings.d.ts +9 -0
- package/dist/extensions/provider/keybindings.d.ts.map +1 -0
- package/dist/extensions/provider/keybindings.js +12 -0
- package/dist/extensions/provider/keybindings.js.map +1 -0
- package/dist/extensions/provider/probe.d.ts +8 -4
- package/dist/extensions/provider/probe.d.ts.map +1 -1
- package/dist/extensions/provider/probe.js +169 -11
- package/dist/extensions/provider/probe.js.map +1 -1
- package/dist/extensions/provider/ui/builtin-data.d.ts +1 -0
- package/dist/extensions/provider/ui/builtin-data.d.ts.map +1 -1
- package/dist/extensions/provider/ui/builtin-data.js +1 -0
- package/dist/extensions/provider/ui/builtin-data.js.map +1 -1
- package/dist/extensions/provider/ui/compat.d.ts +1 -0
- package/dist/extensions/provider/ui/compat.d.ts.map +1 -1
- package/dist/extensions/provider/ui/compat.js +1 -0
- package/dist/extensions/provider/ui/compat.js.map +1 -1
- package/dist/extensions/provider/ui/dictionary.d.ts +1 -0
- package/dist/extensions/provider/ui/dictionary.d.ts.map +1 -1
- package/dist/extensions/provider/ui/dictionary.js +1 -0
- package/dist/extensions/provider/ui/dictionary.js.map +1 -1
- package/dist/extensions/provider/ui/editor.d.ts +1 -0
- package/dist/extensions/provider/ui/editor.d.ts.map +1 -1
- package/dist/extensions/provider/ui/editor.js +1 -0
- package/dist/extensions/provider/ui/editor.js.map +1 -1
- package/dist/extensions/provider/ui/fetch-models.d.ts +5 -3
- package/dist/extensions/provider/ui/fetch-models.d.ts.map +1 -1
- package/dist/extensions/provider/ui/fetch-models.js +28 -3
- package/dist/extensions/provider/ui/fetch-models.js.map +1 -1
- package/dist/extensions/provider/ui/model-fields.d.ts +1 -0
- package/dist/extensions/provider/ui/model-fields.d.ts.map +1 -1
- package/dist/extensions/provider/ui/model-fields.js +1 -0
- package/dist/extensions/provider/ui/model-fields.js.map +1 -1
- package/dist/extensions/provider/ui/model-options.d.ts +1 -0
- package/dist/extensions/provider/ui/model-options.d.ts.map +1 -1
- package/dist/extensions/provider/ui/model-options.js +1 -0
- package/dist/extensions/provider/ui/model-options.js.map +1 -1
- package/dist/extensions/provider/ui/provider-fields.d.ts +1 -0
- package/dist/extensions/provider/ui/provider-fields.d.ts.map +1 -1
- package/dist/extensions/provider/ui/provider-fields.js +1 -0
- package/dist/extensions/provider/ui/provider-fields.js.map +1 -1
- package/dist/extensions/question/dialog.d.ts +1 -0
- package/dist/extensions/question/dialog.d.ts.map +1 -1
- package/dist/extensions/question/dialog.js +1 -0
- package/dist/extensions/question/dialog.js.map +1 -1
- package/dist/extensions/question/keybindings.d.ts +2 -0
- package/dist/extensions/question/keybindings.d.ts.map +1 -0
- package/dist/extensions/question/keybindings.js +3 -0
- package/dist/extensions/question/keybindings.js.map +1 -0
- 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/editor-host.d.ts +43 -0
- package/dist/modes/interactive/editor-host.d.ts.map +1 -0
- package/dist/modes/interactive/editor-host.js +83 -0
- package/dist/modes/interactive/editor-host.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +1 -11
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +300 -360
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/tool-chat.d.ts +21 -0
- package/dist/modes/interactive/tool-chat.d.ts.map +1 -0
- package/dist/modes/interactive/tool-chat.js +58 -0
- package/dist/modes/interactive/tool-chat.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +0 -2
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/utils/path-identity.d.ts +12 -0
- package/dist/utils/path-identity.d.ts.map +1 -0
- package/dist/utils/path-identity.js +63 -0
- package/dist/utils/path-identity.js.map +1 -0
- package/dist/utils/shell.d.ts +0 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +0 -21
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +2 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +2 -0
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/docs/bundled/extensions/background.md +3 -3
- package/docs/bundled/extensions/provider.md +7 -3
- package/docs/bundled/extensions/subagent.md +1 -1
- package/docs/compaction.md +1 -1
- package/docs/extensions.md +15 -5
- package/docs/sdk.md +1 -1
- package/docs/usage.md +3 -0
- package/examples/README.md +11 -1
- package/examples/extensions/README.md +34 -14
- package/examples/extensions/auto-commit-on-exit.ts +1 -1
- package/examples/extensions/bash-spawn-hook.ts +2 -2
- package/examples/extensions/bookmark.ts +1 -1
- package/examples/extensions/border-status-editor.ts +6 -1
- package/examples/extensions/built-in-tool-renderer.ts +2 -2
- package/examples/extensions/claude-rules.ts +1 -1
- package/examples/extensions/commands.ts +1 -1
- package/examples/extensions/confirm-destructive.ts +1 -1
- package/examples/extensions/custom-compaction.ts +2 -2
- package/examples/extensions/custom-footer.ts +1 -1
- package/examples/extensions/custom-header.ts +2 -2
- package/examples/extensions/custom-provider-anthropic/index.ts +6 -6
- 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/index.ts +3 -3
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/dirty-repo-guard.ts +1 -1
- package/examples/extensions/doom-overlay/index.ts +1 -1
- package/examples/extensions/dynamic-resources/dynamic.json +3 -1
- package/examples/extensions/dynamic-resources/index.ts +1 -1
- package/examples/extensions/dynamic-tools.ts +1 -1
- package/examples/extensions/entry-renderer.ts +1 -1
- package/examples/extensions/event-bus.ts +1 -1
- package/examples/extensions/file-trigger.ts +1 -1
- package/examples/extensions/git-checkpoint.ts +1 -1
- package/examples/extensions/git-merge-and-resolve.ts +1 -1
- package/examples/extensions/github-issue-autocomplete.ts +1 -1
- package/examples/extensions/gondolin/index.ts +9 -7
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/handoff.ts +2 -2
- package/examples/extensions/hello.ts +1 -1
- package/examples/extensions/hidden-thinking-label.ts +1 -1
- package/examples/extensions/inline-bash.ts +1 -1
- package/examples/extensions/input-transform-streaming.ts +1 -1
- package/examples/extensions/input-transform.ts +1 -1
- package/examples/extensions/interactive-shell.ts +1 -1
- package/examples/extensions/mac-system-theme.ts +1 -1
- package/examples/extensions/message-renderer.ts +1 -1
- package/examples/extensions/minimal-mode.ts +2 -2
- package/examples/extensions/modal-editor.ts +1 -1
- package/examples/extensions/model-status.ts +1 -1
- package/examples/extensions/notify.ts +1 -1
- package/examples/extensions/overlay-qa-tests.ts +3 -3
- package/examples/extensions/overlay-test.ts +1 -1
- package/examples/extensions/permission-gate.ts +1 -1
- package/examples/extensions/pirate.ts +1 -1
- package/examples/extensions/plan-mode/index.ts +1 -1
- package/examples/extensions/preset.ts +2 -2
- package/examples/extensions/project-trust.ts +3 -3
- package/examples/extensions/prompt-customizer.ts +1 -1
- package/examples/extensions/protected-paths.ts +1 -1
- package/examples/extensions/provider-payload.ts +1 -1
- package/examples/extensions/qna.ts +2 -2
- package/examples/extensions/question.ts +1 -1
- package/examples/extensions/questionnaire.ts +1 -1
- package/examples/extensions/rainbow-editor.ts +1 -1
- package/examples/extensions/reload-runtime.ts +1 -1
- package/examples/extensions/rpc-demo.ts +1 -1
- package/examples/extensions/sandbox/index.ts +2 -2
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/send-user-message.ts +1 -1
- package/examples/extensions/session-name.ts +1 -1
- package/examples/extensions/shutdown-command.ts +1 -1
- package/examples/extensions/snake.ts +1 -1
- package/examples/extensions/space-invaders.ts +1 -1
- package/examples/extensions/ssh.ts +2 -2
- package/examples/extensions/status-line.ts +1 -1
- package/examples/extensions/structured-output.ts +1 -1
- package/examples/extensions/summarize.ts +2 -3
- package/examples/extensions/system-prompt-header.ts +1 -1
- package/examples/extensions/tic-tac-toe.ts +1 -1
- package/examples/extensions/timed-confirm.ts +1 -1
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/todo.ts +1 -1
- package/examples/extensions/tool-override.ts +1 -1
- package/examples/extensions/tools.ts +2 -2
- package/examples/extensions/trigger-compact.ts +1 -1
- package/examples/extensions/truncated-tool.ts +4 -4
- package/examples/extensions/widget-placement.ts +1 -1
- package/examples/extensions/with-deps/index.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/extensions/working-indicator.ts +1 -1
- package/examples/extensions/working-message-test.ts +1 -1
- package/examples/rpc-client.ts +35 -0
- package/examples/rpc-extension-ui.ts +25 -5
- package/npm-shrinkwrap.json +43 -43
- package/package.json +8 -8
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
* separate variables. Only the agent cursor is ever exposed to the agent.
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
import type { ExtensionAPI, ExtensionContext, Theme, ToolExecutionMode } from "@astralyn/pi";
|
|
21
20
|
import { StringEnum } from "@earendil-works/pi-ai";
|
|
21
|
+
import type { ExtensionAPI, ExtensionContext, Theme, ToolExecutionMode } from "@earendil-works/pi-coding-agent";
|
|
22
22
|
import { type Component, matchesKey, Text, truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
|
|
23
23
|
import { Type } from "typebox";
|
|
24
24
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - /timed-signal - Shows confirm using AbortSignal (manual approach)
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type { ExtensionAPI } from "@
|
|
10
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
11
11
|
|
|
12
12
|
export default function (pi: ExtensionAPI) {
|
|
13
13
|
// Simple approach: use timeout option (recommended)
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import path from "node:path";
|
|
12
|
-
import type { ExtensionAPI, ExtensionContext } from "@
|
|
12
|
+
import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
13
13
|
|
|
14
14
|
const BRAILLE_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
15
15
|
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* correct for that point in history.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type { ExtensionAPI, ExtensionContext, Theme } from "@astralyn/pi";
|
|
14
13
|
import { StringEnum } from "@earendil-works/pi-ai";
|
|
14
|
+
import type { ExtensionAPI, ExtensionContext, Theme } from "@earendil-works/pi-coding-agent";
|
|
15
15
|
import { matchesKey, Text, truncateToWidth } from "@earendil-works/pi-tui";
|
|
16
16
|
import { Type } from "typebox";
|
|
17
17
|
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
* pi -e ./tool-override.ts
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
import { type ExtensionAPI, getAgentDir, withFileMutationQueue } from "@astralyn/pi";
|
|
24
23
|
import type { TextContent } from "@earendil-works/pi-ai";
|
|
24
|
+
import { type ExtensionAPI, getAgentDir, withFileMutationQueue } from "@earendil-works/pi-coding-agent";
|
|
25
25
|
import { constants, readFileSync } from "fs";
|
|
26
26
|
import { access, appendFile, readFile } from "fs/promises";
|
|
27
27
|
import { join, resolve } from "path";
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* 2. Use /tools to open the tool selector
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import type { ExtensionAPI, ExtensionContext, ToolInfo } from "@
|
|
13
|
-
import { getSettingsListTheme } from "@
|
|
12
|
+
import type { ExtensionAPI, ExtensionContext, ToolInfo } from "@earendil-works/pi-coding-agent";
|
|
13
|
+
import { getSettingsListTheme } from "@earendil-works/pi-coding-agent";
|
|
14
14
|
import { Container, type SettingItem, SettingsList } from "@earendil-works/pi-tui";
|
|
15
15
|
|
|
16
16
|
// State persisted to session
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
* 3. Inform the LLM where to find the complete output
|
|
11
11
|
* 4. Custom rendering of tool calls and results
|
|
12
12
|
*
|
|
13
|
-
* The `rg` tool here wraps ripgrep with proper truncation.
|
|
14
|
-
*
|
|
13
|
+
* The `rg` tool here wraps ripgrep with proper truncation. Compare this to the
|
|
14
|
+
* built-in `grep` tool in src/core/tools/grep.ts for a more complete implementation.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { mkdtemp, writeFile } from "node:fs/promises";
|
|
18
|
-
import type { ExtensionAPI } from "@
|
|
18
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
19
19
|
import {
|
|
20
20
|
DEFAULT_MAX_BYTES,
|
|
21
21
|
DEFAULT_MAX_LINES,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
type TruncationResult,
|
|
24
24
|
truncateHead,
|
|
25
25
|
withFileMutationQueue,
|
|
26
|
-
} from "@
|
|
26
|
+
} from "@earendil-works/pi-coding-agent";
|
|
27
27
|
import { Text } from "@earendil-works/pi-tui";
|
|
28
28
|
import { execSync } from "child_process";
|
|
29
29
|
import { tmpdir } from "os";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-with-deps",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.87.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-with-deps",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.87.1",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"ms": "^2.1.3"
|
|
12
12
|
},
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* /working-indicator reset Restore pi's default spinner
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import type { ExtensionAPI, ExtensionContext, WorkingIndicatorOptions } from "@
|
|
19
|
+
import type { ExtensionAPI, ExtensionContext, WorkingIndicatorOptions } from "@earendil-works/pi-coding-agent";
|
|
20
20
|
|
|
21
21
|
type WorkingIndicatorMode = "dot" | "none" | "pulse" | "spinner" | "default";
|
|
22
22
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* loader appears, not revert to the default gray "Working...".
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import type { ExtensionAPI } from "@
|
|
15
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
16
16
|
|
|
17
17
|
const CUSTOM_MESSAGE = "\x1b[38;2;155;86;63mWorking... (custom)\x1b[39m";
|
|
18
18
|
const CUSTOM_INDICATOR = { frames: ["\x1b[38;2;155;86;63m●\x1b[39m"] };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run one prompt through a Pi RPC child process.
|
|
3
|
+
*
|
|
4
|
+
* Build the coding-agent package first, then run:
|
|
5
|
+
* npx tsx examples/rpc-client.ts "Explain this repository"
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { dirname, join } from "node:path";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
10
|
+
import { RpcClient } from "@astralyn/pi";
|
|
11
|
+
|
|
12
|
+
const exampleDirectory = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
const prompt = process.argv.slice(2).join(" ") || "Explain this repository in one paragraph.";
|
|
14
|
+
|
|
15
|
+
const client = new RpcClient({
|
|
16
|
+
cliPath: join(exampleDirectory, "../dist/cli.js"),
|
|
17
|
+
args: ["--no-session"],
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
const unsubscribe = client.onEvent((event) => {
|
|
21
|
+
if (event.type === "message_update" && event.assistantMessageEvent.type === "text_delta") {
|
|
22
|
+
process.stdout.write(event.assistantMessageEvent.delta);
|
|
23
|
+
} else if (event.type === "tool_execution_start") {
|
|
24
|
+
process.stderr.write(`\n[tool: ${event.toolName}]\n`);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
await client.start();
|
|
30
|
+
await client.promptAndWait(prompt);
|
|
31
|
+
process.stdout.write("\n");
|
|
32
|
+
} finally {
|
|
33
|
+
unsubscribe();
|
|
34
|
+
await client.stop();
|
|
35
|
+
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import { spawn } from "node:child_process";
|
|
18
18
|
import { dirname, join } from "node:path";
|
|
19
|
-
import
|
|
19
|
+
import { StringDecoder } from "node:string_decoder";
|
|
20
20
|
import { fileURLToPath } from "node:url";
|
|
21
21
|
import {
|
|
22
22
|
type Component,
|
|
@@ -258,7 +258,7 @@ async function main() {
|
|
|
258
258
|
|
|
259
259
|
const agent = spawn(
|
|
260
260
|
"node",
|
|
261
|
-
[cliPath, "--mode", "rpc", "--no-session", "--no-
|
|
261
|
+
[cliPath, "--mode", "rpc", "--no-session", "--no-extensions", "--extension", extensionPath],
|
|
262
262
|
{ stdio: ["pipe", "pipe", "pipe"] },
|
|
263
263
|
);
|
|
264
264
|
|
|
@@ -518,9 +518,7 @@ async function main() {
|
|
|
518
518
|
|
|
519
519
|
// -- Process agent stdout --
|
|
520
520
|
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
stdoutRl.on("line", (line) => {
|
|
521
|
+
function handleAgentLine(line: string): void {
|
|
524
522
|
let data: Record<string, unknown>;
|
|
525
523
|
try {
|
|
526
524
|
data = JSON.parse(line);
|
|
@@ -583,6 +581,28 @@ async function main() {
|
|
|
583
581
|
tui.requestRender();
|
|
584
582
|
return;
|
|
585
583
|
}
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
const stdoutDecoder = new StringDecoder("utf8");
|
|
587
|
+
let stdoutBuffer = "";
|
|
588
|
+
|
|
589
|
+
agent.stdout!.on("data", (chunk: Buffer) => {
|
|
590
|
+
stdoutBuffer += stdoutDecoder.write(chunk);
|
|
591
|
+
while (true) {
|
|
592
|
+
const newlineIndex = stdoutBuffer.indexOf("\n");
|
|
593
|
+
if (newlineIndex === -1) break;
|
|
594
|
+
|
|
595
|
+
const line = stdoutBuffer.slice(0, newlineIndex);
|
|
596
|
+
stdoutBuffer = stdoutBuffer.slice(newlineIndex + 1);
|
|
597
|
+
handleAgentLine(line.endsWith("\r") ? line.slice(0, -1) : line);
|
|
598
|
+
}
|
|
599
|
+
});
|
|
600
|
+
|
|
601
|
+
agent.stdout!.on("end", () => {
|
|
602
|
+
stdoutBuffer += stdoutDecoder.end();
|
|
603
|
+
if (stdoutBuffer.length > 0) {
|
|
604
|
+
handleAgentLine(stdoutBuffer.endsWith("\r") ? stdoutBuffer.slice(0, -1) : stdoutBuffer);
|
|
605
|
+
}
|
|
586
606
|
});
|
|
587
607
|
|
|
588
608
|
// -- User input --
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astralyn/pi",
|
|
3
|
-
"version": "0.87.
|
|
3
|
+
"version": "0.87.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@astralyn/pi",
|
|
9
|
-
"version": "0.87.
|
|
9
|
+
"version": "0.87.2",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@earendil-works/chord": "0.87.
|
|
13
|
-
"@earendil-works/pi-agent-core": "0.87.
|
|
14
|
-
"@earendil-works/pi-ai": "0.87.
|
|
15
|
-
"@earendil-works/pi-tui": "0.87.
|
|
12
|
+
"@earendil-works/chord": "0.87.1",
|
|
13
|
+
"@earendil-works/pi-agent-core": "0.87.1",
|
|
14
|
+
"@earendil-works/pi-ai": "0.87.1",
|
|
15
|
+
"@earendil-works/pi-tui": "0.87.1",
|
|
16
16
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
17
17
|
"chalk": "6.0.0",
|
|
18
18
|
"cross-spawn": "7.0.6",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"@anthropic-ai/sandbox-runtime": "0.0.26",
|
|
37
37
|
"@anthropic-ai/sdk": "0.52.0",
|
|
38
38
|
"@biomejs/biome": "2.3.5",
|
|
39
|
-
"@earendil-works/pi-client": "0.87.
|
|
40
|
-
"@earendil-works/pi-protocol": "0.87.
|
|
41
|
-
"@earendil-works/pi-server": "0.87.
|
|
39
|
+
"@earendil-works/pi-client": "0.87.1",
|
|
40
|
+
"@earendil-works/pi-protocol": "0.87.1",
|
|
41
|
+
"@earendil-works/pi-server": "0.87.1",
|
|
42
42
|
"@types/cross-spawn": "6.0.6",
|
|
43
43
|
"@types/hosted-git-info": "3.0.5",
|
|
44
44
|
"@types/ms": "2.1.0",
|
|
@@ -626,9 +626,9 @@
|
|
|
626
626
|
}
|
|
627
627
|
},
|
|
628
628
|
"node_modules/@earendil-works/chord": {
|
|
629
|
-
"version": "0.87.
|
|
630
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/chord/-/chord-0.87.
|
|
631
|
-
"integrity": "sha512-
|
|
629
|
+
"version": "0.87.1",
|
|
630
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/chord/-/chord-0.87.1.tgz",
|
|
631
|
+
"integrity": "sha512-bg7IkJGFcEaMqqYgOGUiq5Ky9RghpRfrlZ8I/v/1b4bBZ02A7t3E+6uhPRbadwWb/kWsnVFbZsqOKRN4a3LLCg==",
|
|
632
632
|
"license": "MIT",
|
|
633
633
|
"dependencies": {
|
|
634
634
|
"esbuild": "0.28.2"
|
|
@@ -638,14 +638,14 @@
|
|
|
638
638
|
}
|
|
639
639
|
},
|
|
640
640
|
"node_modules/@earendil-works/pi-agent-core": {
|
|
641
|
-
"version": "0.87.
|
|
642
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.87.
|
|
643
|
-
"integrity": "sha512-
|
|
641
|
+
"version": "0.87.1",
|
|
642
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.87.1.tgz",
|
|
643
|
+
"integrity": "sha512-Zev3B0HK7YS5A4EZQ2XnEqiJuirx6QBiltJ+LpmjV5a/+2IU0cfKtIfnkNkORK707XOvKBY2WRtk7cAwHpbh2Q==",
|
|
644
644
|
"license": "MIT",
|
|
645
645
|
"dependencies": {
|
|
646
|
-
"@earendil-works/chord": "^0.87.
|
|
647
|
-
"@earendil-works/pi-ai": "^0.87.
|
|
648
|
-
"@earendil-works/pi-telemetry": "^0.87.
|
|
646
|
+
"@earendil-works/chord": "^0.87.1",
|
|
647
|
+
"@earendil-works/pi-ai": "^0.87.1",
|
|
648
|
+
"@earendil-works/pi-telemetry": "^0.87.1",
|
|
649
649
|
"diff": "8.0.4",
|
|
650
650
|
"ignore": "7.0.8",
|
|
651
651
|
"typebox": "1.3.27",
|
|
@@ -656,14 +656,14 @@
|
|
|
656
656
|
}
|
|
657
657
|
},
|
|
658
658
|
"node_modules/@earendil-works/pi-ai": {
|
|
659
|
-
"version": "0.87.
|
|
660
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.87.
|
|
661
|
-
"integrity": "sha512-
|
|
659
|
+
"version": "0.87.1",
|
|
660
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.87.1.tgz",
|
|
661
|
+
"integrity": "sha512-X/3PfQBnnoeVdO9Cv8zHghUMglzlgNZYGNzoPnbRoGnHl3Rw3TlA2UKSUB7BRHUOxMryHXYa8dnjWZlbRheDZA==",
|
|
662
662
|
"license": "MIT",
|
|
663
663
|
"dependencies": {
|
|
664
664
|
"@anthropic-ai/sdk": "0.124.0",
|
|
665
665
|
"@aws-sdk/client-bedrock-runtime": "3.1127.0",
|
|
666
|
-
"@earendil-works/pi-telemetry": "^0.87.
|
|
666
|
+
"@earendil-works/pi-telemetry": "^0.87.1",
|
|
667
667
|
"@google/genai": "2.21.0",
|
|
668
668
|
"@smithy/node-http-handler": "4.12.1",
|
|
669
669
|
"http-proxy-agent": "9.1.0",
|
|
@@ -701,27 +701,27 @@
|
|
|
701
701
|
}
|
|
702
702
|
},
|
|
703
703
|
"node_modules/@earendil-works/pi-client": {
|
|
704
|
-
"version": "0.87.
|
|
705
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.87.
|
|
706
|
-
"integrity": "sha512-
|
|
704
|
+
"version": "0.87.1",
|
|
705
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.87.1.tgz",
|
|
706
|
+
"integrity": "sha512-x8dfZ7ppAao9SDnZvD5/DErVdq2fI7hg4lFj7qEhtgo6wimrRafGSLsqLklFVjb6kxU2W3j9F4RZz0rRcb0cwA==",
|
|
707
707
|
"dev": true,
|
|
708
708
|
"license": "MIT",
|
|
709
709
|
"dependencies": {
|
|
710
|
-
"@earendil-works/chord": "^0.87.
|
|
711
|
-
"@earendil-works/pi-protocol": "^0.87.
|
|
710
|
+
"@earendil-works/chord": "^0.87.1",
|
|
711
|
+
"@earendil-works/pi-protocol": "^0.87.1"
|
|
712
712
|
},
|
|
713
713
|
"engines": {
|
|
714
714
|
"node": ">=22.19.0"
|
|
715
715
|
}
|
|
716
716
|
},
|
|
717
717
|
"node_modules/@earendil-works/pi-protocol": {
|
|
718
|
-
"version": "0.87.
|
|
719
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-protocol/-/pi-protocol-0.87.
|
|
720
|
-
"integrity": "sha512-
|
|
718
|
+
"version": "0.87.1",
|
|
719
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-protocol/-/pi-protocol-0.87.1.tgz",
|
|
720
|
+
"integrity": "sha512-48WVjryAIiKOJXnKgO15h2MT/oeH5uf0S4DykcVj3ZrxMTDSGxcUaS5VtvHtFQ1rZSSIjkVcblE13k0GksBuoQ==",
|
|
721
721
|
"dev": true,
|
|
722
722
|
"license": "MIT",
|
|
723
723
|
"dependencies": {
|
|
724
|
-
"@earendil-works/chord": "^0.87.
|
|
724
|
+
"@earendil-works/chord": "^0.87.1",
|
|
725
725
|
"typebox": "1.3.27"
|
|
726
726
|
},
|
|
727
727
|
"engines": {
|
|
@@ -729,33 +729,33 @@
|
|
|
729
729
|
}
|
|
730
730
|
},
|
|
731
731
|
"node_modules/@earendil-works/pi-server": {
|
|
732
|
-
"version": "0.87.
|
|
733
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-server/-/pi-server-0.87.
|
|
734
|
-
"integrity": "sha512-
|
|
732
|
+
"version": "0.87.1",
|
|
733
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-server/-/pi-server-0.87.1.tgz",
|
|
734
|
+
"integrity": "sha512-EZYQ6mSOv7IyDcWoBflNGJcyIBjTnQY9W4z1tF3vOMY5xbksHOsVVzU9Kh49z8iIXGYNawKZSyjaWi9OJjO7Sw==",
|
|
735
735
|
"dev": true,
|
|
736
736
|
"license": "MIT",
|
|
737
737
|
"dependencies": {
|
|
738
|
-
"@earendil-works/chord": "^0.87.
|
|
739
|
-
"@earendil-works/pi-agent-core": "^0.87.
|
|
740
|
-
"@earendil-works/pi-protocol": "^0.87.
|
|
738
|
+
"@earendil-works/chord": "^0.87.1",
|
|
739
|
+
"@earendil-works/pi-agent-core": "^0.87.1",
|
|
740
|
+
"@earendil-works/pi-protocol": "^0.87.1"
|
|
741
741
|
},
|
|
742
742
|
"engines": {
|
|
743
743
|
"node": ">=22.19.0"
|
|
744
744
|
}
|
|
745
745
|
},
|
|
746
746
|
"node_modules/@earendil-works/pi-telemetry": {
|
|
747
|
-
"version": "0.87.
|
|
748
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-0.87.
|
|
749
|
-
"integrity": "sha512-
|
|
747
|
+
"version": "0.87.1",
|
|
748
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-telemetry/-/pi-telemetry-0.87.1.tgz",
|
|
749
|
+
"integrity": "sha512-MC6TRQH5lgMXpcN+Vku2WMI2T8BsiUPzMQHGo81uqFZD3/9O79WWJAysEDGuzduP6R4tvtgwMLwmqIxynM10JQ==",
|
|
750
750
|
"license": "MIT",
|
|
751
751
|
"engines": {
|
|
752
752
|
"node": ">=22.19.0"
|
|
753
753
|
}
|
|
754
754
|
},
|
|
755
755
|
"node_modules/@earendil-works/pi-tui": {
|
|
756
|
-
"version": "0.87.
|
|
757
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.87.
|
|
758
|
-
"integrity": "sha512-
|
|
756
|
+
"version": "0.87.1",
|
|
757
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.87.1.tgz",
|
|
758
|
+
"integrity": "sha512-YEH2vRyOeiO7hhN6j6AE6YwKSq2Kz2f3XR8bj1TbR+aGE/JsnY1hLPMI2pvaZfRM1n9Y00tejxFQ4zbzvF7nkQ==",
|
|
759
759
|
"license": "MIT",
|
|
760
760
|
"dependencies": {
|
|
761
761
|
"get-east-asian-width": "1.6.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astralyn/pi",
|
|
3
|
-
"version": "0.87.
|
|
3
|
+
"version": "0.87.2",
|
|
4
4
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piConfig": {
|
|
@@ -62,10 +62,10 @@
|
|
|
62
62
|
"prepublishOnly": "npm run clean && npm run build"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@earendil-works/chord": "0.87.
|
|
66
|
-
"@earendil-works/pi-agent-core": "0.87.
|
|
67
|
-
"@earendil-works/pi-ai": "0.87.
|
|
68
|
-
"@earendil-works/pi-tui": "0.87.
|
|
65
|
+
"@earendil-works/chord": "0.87.1",
|
|
66
|
+
"@earendil-works/pi-agent-core": "0.87.1",
|
|
67
|
+
"@earendil-works/pi-ai": "0.87.1",
|
|
68
|
+
"@earendil-works/pi-tui": "0.87.1",
|
|
69
69
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
70
70
|
"chalk": "6.0.0",
|
|
71
71
|
"cross-spawn": "7.0.6",
|
|
@@ -86,9 +86,9 @@
|
|
|
86
86
|
"@anthropic-ai/sandbox-runtime": "0.0.26",
|
|
87
87
|
"@anthropic-ai/sdk": "0.52.0",
|
|
88
88
|
"@biomejs/biome": "2.3.5",
|
|
89
|
-
"@earendil-works/pi-client": "0.87.
|
|
90
|
-
"@earendil-works/pi-protocol": "0.87.
|
|
91
|
-
"@earendil-works/pi-server": "0.87.
|
|
89
|
+
"@earendil-works/pi-client": "0.87.1",
|
|
90
|
+
"@earendil-works/pi-protocol": "0.87.1",
|
|
91
|
+
"@earendil-works/pi-server": "0.87.1",
|
|
92
92
|
"@types/cross-spawn": "6.0.6",
|
|
93
93
|
"@types/hosted-git-info": "3.0.5",
|
|
94
94
|
"@types/ms": "2.1.0",
|