@jini-ai/agent-runtime 0.1.0
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/LICENSE +201 -0
- package/README.md +43 -0
- package/dist/acp-model-probe.d.ts +48 -0
- package/dist/acp-model-probe.d.ts.map +1 -0
- package/dist/acp-model-probe.js +15 -0
- package/dist/acp-model-probe.js.map +1 -0
- package/dist/agent-protocol/acp/account-failure.d.ts +54 -0
- package/dist/agent-protocol/acp/account-failure.d.ts.map +1 -0
- package/dist/agent-protocol/acp/account-failure.js +37 -0
- package/dist/agent-protocol/acp/account-failure.js.map +1 -0
- package/dist/agent-protocol/acp/constants.d.ts +26 -0
- package/dist/agent-protocol/acp/constants.d.ts.map +1 -0
- package/dist/agent-protocol/acp/constants.js +39 -0
- package/dist/agent-protocol/acp/constants.js.map +1 -0
- package/dist/agent-protocol/acp/index.d.ts +14 -0
- package/dist/agent-protocol/acp/index.d.ts.map +1 -0
- package/dist/agent-protocol/acp/index.js +14 -0
- package/dist/agent-protocol/acp/index.js.map +1 -0
- package/dist/agent-protocol/acp/json.d.ts +82 -0
- package/dist/agent-protocol/acp/json.d.ts.map +1 -0
- package/dist/agent-protocol/acp/json.js +144 -0
- package/dist/agent-protocol/acp/json.js.map +1 -0
- package/dist/agent-protocol/acp/models.d.ts +112 -0
- package/dist/agent-protocol/acp/models.d.ts.map +1 -0
- package/dist/agent-protocol/acp/models.js +293 -0
- package/dist/agent-protocol/acp/models.js.map +1 -0
- package/dist/agent-protocol/acp/rpc.d.ts +107 -0
- package/dist/agent-protocol/acp/rpc.d.ts.map +1 -0
- package/dist/agent-protocol/acp/rpc.js +162 -0
- package/dist/agent-protocol/acp/rpc.js.map +1 -0
- package/dist/agent-protocol/acp/session-params.d.ts +55 -0
- package/dist/agent-protocol/acp/session-params.d.ts.map +1 -0
- package/dist/agent-protocol/acp/session-params.js +81 -0
- package/dist/agent-protocol/acp/session-params.js.map +1 -0
- package/dist/agent-protocol/acp/session.d.ts +101 -0
- package/dist/agent-protocol/acp/session.d.ts.map +1 -0
- package/dist/agent-protocol/acp/session.js +832 -0
- package/dist/agent-protocol/acp/session.js.map +1 -0
- package/dist/agent-protocol/acp/text-suppression.d.ts +73 -0
- package/dist/agent-protocol/acp/text-suppression.d.ts.map +1 -0
- package/dist/agent-protocol/acp/text-suppression.js +229 -0
- package/dist/agent-protocol/acp/text-suppression.js.map +1 -0
- package/dist/agent-protocol/acp/types.d.ts +27 -0
- package/dist/agent-protocol/acp/types.d.ts.map +1 -0
- package/dist/agent-protocol/acp/types.js +2 -0
- package/dist/agent-protocol/acp/types.js.map +1 -0
- package/dist/agent-protocol/acp/updates.d.ts +166 -0
- package/dist/agent-protocol/acp/updates.d.ts.map +1 -0
- package/dist/agent-protocol/acp/updates.js +268 -0
- package/dist/agent-protocol/acp/updates.js.map +1 -0
- package/dist/agent-protocol/core/index.d.ts +6 -0
- package/dist/agent-protocol/core/index.d.ts.map +1 -0
- package/dist/agent-protocol/core/index.js +6 -0
- package/dist/agent-protocol/core/index.js.map +1 -0
- package/dist/agent-protocol/core/json-line-stream.d.ts +42 -0
- package/dist/agent-protocol/core/json-line-stream.d.ts.map +1 -0
- package/dist/agent-protocol/core/json-line-stream.js +333 -0
- package/dist/agent-protocol/core/json-line-stream.js.map +1 -0
- package/dist/agent-protocol/index.d.ts +8 -0
- package/dist/agent-protocol/index.d.ts.map +1 -0
- package/dist/agent-protocol/index.js +8 -0
- package/dist/agent-protocol/index.js.map +1 -0
- package/dist/agent-protocol/pi-rpc/events.d.ts +26 -0
- package/dist/agent-protocol/pi-rpc/events.d.ts.map +1 -0
- package/dist/agent-protocol/pi-rpc/events.js +167 -0
- package/dist/agent-protocol/pi-rpc/events.js.map +1 -0
- package/dist/agent-protocol/pi-rpc/index.d.ts +11 -0
- package/dist/agent-protocol/pi-rpc/index.d.ts.map +1 -0
- package/dist/agent-protocol/pi-rpc/index.js +11 -0
- package/dist/agent-protocol/pi-rpc/index.js.map +1 -0
- package/dist/agent-protocol/pi-rpc/internal.d.ts +45 -0
- package/dist/agent-protocol/pi-rpc/internal.d.ts.map +1 -0
- package/dist/agent-protocol/pi-rpc/internal.js +41 -0
- package/dist/agent-protocol/pi-rpc/internal.js.map +1 -0
- package/dist/agent-protocol/pi-rpc/models.d.ts +21 -0
- package/dist/agent-protocol/pi-rpc/models.d.ts.map +1 -0
- package/dist/agent-protocol/pi-rpc/models.js +48 -0
- package/dist/agent-protocol/pi-rpc/models.js.map +1 -0
- package/dist/agent-protocol/pi-rpc/session.d.ts +106 -0
- package/dist/agent-protocol/pi-rpc/session.d.ts.map +1 -0
- package/dist/agent-protocol/pi-rpc/session.js +371 -0
- package/dist/agent-protocol/pi-rpc/session.js.map +1 -0
- package/dist/amr-model-cache.d.ts +40 -0
- package/dist/amr-model-cache.d.ts.map +1 -0
- package/dist/amr-model-cache.js +79 -0
- package/dist/amr-model-cache.js.map +1 -0
- package/dist/amr-profile-resolver.d.ts +21 -0
- package/dist/amr-profile-resolver.d.ts.map +1 -0
- package/dist/amr-profile-resolver.js +4 -0
- package/dist/amr-profile-resolver.js.map +1 -0
- package/dist/artifact-taxonomy.d.ts +27 -0
- package/dist/artifact-taxonomy.d.ts.map +1 -0
- package/dist/artifact-taxonomy.js +5 -0
- package/dist/artifact-taxonomy.js.map +1 -0
- package/dist/auth.d.ts +25 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +332 -0
- package/dist/auth.js.map +1 -0
- package/dist/capabilities.d.ts +9 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +2 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/claude-stream.d.ts +37 -0
- package/dist/claude-stream.d.ts.map +1 -0
- package/dist/claude-stream.js +660 -0
- package/dist/claude-stream.js.map +1 -0
- package/dist/copilot-stream.d.ts +37 -0
- package/dist/copilot-stream.d.ts.map +1 -0
- package/dist/copilot-stream.js +136 -0
- package/dist/copilot-stream.js.map +1 -0
- package/dist/defs/aider.d.ts +13 -0
- package/dist/defs/aider.d.ts.map +1 -0
- package/dist/defs/aider.js +63 -0
- package/dist/defs/aider.js.map +1 -0
- package/dist/defs/amp.d.ts +12 -0
- package/dist/defs/amp.d.ts.map +1 -0
- package/dist/defs/amp.js +56 -0
- package/dist/defs/amp.js.map +1 -0
- package/dist/defs/amr.d.ts +37 -0
- package/dist/defs/amr.d.ts.map +1 -0
- package/dist/defs/amr.js +303 -0
- package/dist/defs/amr.js.map +1 -0
- package/dist/defs/antigravity.d.ts +25 -0
- package/dist/defs/antigravity.d.ts.map +1 -0
- package/dist/defs/antigravity.js +213 -0
- package/dist/defs/antigravity.js.map +1 -0
- package/dist/defs/claude.d.ts +30 -0
- package/dist/defs/claude.d.ts.map +1 -0
- package/dist/defs/claude.js +130 -0
- package/dist/defs/claude.js.map +1 -0
- package/dist/defs/codebuddy.d.ts +26 -0
- package/dist/defs/codebuddy.d.ts.map +1 -0
- package/dist/defs/codebuddy.js +124 -0
- package/dist/defs/codebuddy.js.map +1 -0
- package/dist/defs/codex.d.ts +30 -0
- package/dist/defs/codex.d.ts.map +1 -0
- package/dist/defs/codex.js +196 -0
- package/dist/defs/codex.js.map +1 -0
- package/dist/defs/copilot.d.ts +12 -0
- package/dist/defs/copilot.d.ts.map +1 -0
- package/dist/defs/copilot.js +88 -0
- package/dist/defs/copilot.js.map +1 -0
- package/dist/defs/cursor-agent.d.ts +27 -0
- package/dist/defs/cursor-agent.d.ts.map +1 -0
- package/dist/defs/cursor-agent.js +93 -0
- package/dist/defs/cursor-agent.js.map +1 -0
- package/dist/defs/deepseek.d.ts +12 -0
- package/dist/defs/deepseek.d.ts.map +1 -0
- package/dist/defs/deepseek.js +53 -0
- package/dist/defs/deepseek.js.map +1 -0
- package/dist/defs/devin.d.ts +12 -0
- package/dist/defs/devin.d.ts.map +1 -0
- package/dist/defs/devin.js +45 -0
- package/dist/defs/devin.js.map +1 -0
- package/dist/defs/grok-build.d.ts +26 -0
- package/dist/defs/grok-build.d.ts.map +1 -0
- package/dist/defs/grok-build.js +105 -0
- package/dist/defs/grok-build.js.map +1 -0
- package/dist/defs/hermes.d.ts +13 -0
- package/dist/defs/hermes.d.ts.map +1 -0
- package/dist/defs/hermes.js +51 -0
- package/dist/defs/hermes.js.map +1 -0
- package/dist/defs/index.d.ts +33 -0
- package/dist/defs/index.d.ts.map +1 -0
- package/dist/defs/index.js +33 -0
- package/dist/defs/index.js.map +1 -0
- package/dist/defs/kilo.d.ts +12 -0
- package/dist/defs/kilo.d.ts.map +1 -0
- package/dist/defs/kilo.js +20 -0
- package/dist/defs/kilo.js.map +1 -0
- package/dist/defs/kimi.d.ts +13 -0
- package/dist/defs/kimi.d.ts.map +1 -0
- package/dist/defs/kimi.js +26 -0
- package/dist/defs/kimi.js.map +1 -0
- package/dist/defs/kiro.d.ts +12 -0
- package/dist/defs/kiro.d.ts.map +1 -0
- package/dist/defs/kiro.js +20 -0
- package/dist/defs/kiro.js.map +1 -0
- package/dist/defs/mimo.d.ts +13 -0
- package/dist/defs/mimo.d.ts.map +1 -0
- package/dist/defs/mimo.js +26 -0
- package/dist/defs/mimo.js.map +1 -0
- package/dist/defs/opencode.d.ts +27 -0
- package/dist/defs/opencode.d.ts.map +1 -0
- package/dist/defs/opencode.js +89 -0
- package/dist/defs/opencode.js.map +1 -0
- package/dist/defs/pi.d.ts +18 -0
- package/dist/defs/pi.d.ts.map +1 -0
- package/dist/defs/pi.js +94 -0
- package/dist/defs/pi.js.map +1 -0
- package/dist/defs/qoder.d.ts +11 -0
- package/dist/defs/qoder.d.ts.map +1 -0
- package/dist/defs/qoder.js +50 -0
- package/dist/defs/qoder.js.map +1 -0
- package/dist/defs/qwen.d.ts +11 -0
- package/dist/defs/qwen.d.ts.map +1 -0
- package/dist/defs/qwen.js +28 -0
- package/dist/defs/qwen.js.map +1 -0
- package/dist/defs/reasonix.d.ts +20 -0
- package/dist/defs/reasonix.d.ts.map +1 -0
- package/dist/defs/reasonix.js +60 -0
- package/dist/defs/reasonix.js.map +1 -0
- package/dist/defs/shared.d.ts +23 -0
- package/dist/defs/shared.d.ts.map +1 -0
- package/dist/defs/shared.js +58 -0
- package/dist/defs/shared.js.map +1 -0
- package/dist/defs/trae-cli.d.ts +14 -0
- package/dist/defs/trae-cli.d.ts.map +1 -0
- package/dist/defs/trae-cli.js +22 -0
- package/dist/defs/trae-cli.js.map +1 -0
- package/dist/defs/vibe.d.ts +12 -0
- package/dist/defs/vibe.d.ts.map +1 -0
- package/dist/defs/vibe.js +20 -0
- package/dist/defs/vibe.js.map +1 -0
- package/dist/detection.d.ts +14 -0
- package/dist/detection.d.ts.map +1 -0
- package/dist/detection.js +266 -0
- package/dist/detection.js.map +1 -0
- package/dist/diagnostics.d.ts +8 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +95 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/env.d.ts +19 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +95 -0
- package/dist/env.js.map +1 -0
- package/dist/executables.d.ts +24 -0
- package/dist/executables.d.ts.map +1 -0
- package/dist/executables.js +349 -0
- package/dist/executables.js.map +1 -0
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +102 -0
- package/dist/index.js.map +1 -0
- package/dist/invocation.d.ts +6 -0
- package/dist/invocation.d.ts.map +1 -0
- package/dist/invocation.js +47 -0
- package/dist/invocation.js.map +1 -0
- package/dist/json-event-stream.d.ts +9 -0
- package/dist/json-event-stream.d.ts.map +1 -0
- package/dist/json-event-stream.js +856 -0
- package/dist/json-event-stream.js.map +1 -0
- package/dist/launch.d.ts +12 -0
- package/dist/launch.d.ts.map +1 -0
- package/dist/launch.js +221 -0
- package/dist/launch.js.map +1 -0
- package/dist/mcp.d.ts +44 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +12 -0
- package/dist/mcp.js.map +1 -0
- package/dist/metadata.d.ts +24 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +100 -0
- package/dist/metadata.js.map +1 -0
- package/dist/mmd-routes.d.ts +12 -0
- package/dist/mmd-routes.d.ts.map +1 -0
- package/dist/mmd-routes.js +146 -0
- package/dist/mmd-routes.js.map +1 -0
- package/dist/model-registry.d.ts +120 -0
- package/dist/model-registry.d.ts.map +1 -0
- package/dist/model-registry.js +77 -0
- package/dist/model-registry.js.map +1 -0
- package/dist/models.d.ts +16 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +93 -0
- package/dist/models.js.map +1 -0
- package/dist/opencode-log.d.ts +16 -0
- package/dist/opencode-log.d.ts.map +1 -0
- package/dist/opencode-log.js +163 -0
- package/dist/opencode-log.js.map +1 -0
- package/dist/paths.d.ts +3 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +29 -0
- package/dist/paths.js.map +1 -0
- package/dist/pi-models.d.ts +13 -0
- package/dist/pi-models.d.ts.map +1 -0
- package/dist/pi-models.js +36 -0
- package/dist/pi-models.js.map +1 -0
- package/dist/prompt-augmenter.d.ts +60 -0
- package/dist/prompt-augmenter.d.ts.map +1 -0
- package/dist/prompt-augmenter.js +26 -0
- package/dist/prompt-augmenter.js.map +1 -0
- package/dist/prompt-budget.d.ts +20 -0
- package/dist/prompt-budget.d.ts.map +1 -0
- package/dist/prompt-budget.js +226 -0
- package/dist/prompt-budget.js.map +1 -0
- package/dist/prompt-file.d.ts +7 -0
- package/dist/prompt-file.d.ts.map +1 -0
- package/dist/prompt-file.js +27 -0
- package/dist/prompt-file.js.map +1 -0
- package/dist/providers/aihubmix.d.ts +99 -0
- package/dist/providers/aihubmix.d.ts.map +1 -0
- package/dist/providers/aihubmix.js +239 -0
- package/dist/providers/aihubmix.js.map +1 -0
- package/dist/providers/anthropic-messages.d.ts +116 -0
- package/dist/providers/anthropic-messages.d.ts.map +1 -0
- package/dist/providers/anthropic-messages.js +313 -0
- package/dist/providers/anthropic-messages.js.map +1 -0
- package/dist/providers/azure-chat.d.ts +99 -0
- package/dist/providers/azure-chat.d.ts.map +1 -0
- package/dist/providers/azure-chat.js +164 -0
- package/dist/providers/azure-chat.js.map +1 -0
- package/dist/providers/connection-guard.d.ts +67 -0
- package/dist/providers/connection-guard.d.ts.map +1 -0
- package/dist/providers/connection-guard.js +211 -0
- package/dist/providers/connection-guard.js.map +1 -0
- package/dist/providers/elevenlabs.d.ts +28 -0
- package/dist/providers/elevenlabs.d.ts.map +1 -0
- package/dist/providers/elevenlabs.js +138 -0
- package/dist/providers/elevenlabs.js.map +1 -0
- package/dist/providers/google-messages.d.ts +108 -0
- package/dist/providers/google-messages.d.ts.map +1 -0
- package/dist/providers/google-messages.js +284 -0
- package/dist/providers/google-messages.js.map +1 -0
- package/dist/providers/google.d.ts +20 -0
- package/dist/providers/google.d.ts.map +1 -0
- package/dist/providers/google.js +42 -0
- package/dist/providers/google.js.map +1 -0
- package/dist/providers/index.d.ts +39 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +39 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/model-catalog.d.ts +32 -0
- package/dist/providers/model-catalog.d.ts.map +1 -0
- package/dist/providers/model-catalog.js +394 -0
- package/dist/providers/model-catalog.js.map +1 -0
- package/dist/providers/oauth-callback-server.d.ts +35 -0
- package/dist/providers/oauth-callback-server.d.ts.map +1 -0
- package/dist/providers/oauth-callback-server.js +217 -0
- package/dist/providers/oauth-callback-server.js.map +1 -0
- package/dist/providers/oauth-credentials.d.ts +29 -0
- package/dist/providers/oauth-credentials.d.ts.map +1 -0
- package/dist/providers/oauth-credentials.js +70 -0
- package/dist/providers/oauth-credentials.js.map +1 -0
- package/dist/providers/oauth-provider.d.ts +95 -0
- package/dist/providers/oauth-provider.d.ts.map +1 -0
- package/dist/providers/oauth-provider.js +130 -0
- package/dist/providers/oauth-provider.js.map +1 -0
- package/dist/providers/oauth-tokens.d.ts +35 -0
- package/dist/providers/oauth-tokens.d.ts.map +1 -0
- package/dist/providers/oauth-tokens.js +136 -0
- package/dist/providers/oauth-tokens.js.map +1 -0
- package/dist/providers/ollama-chat.d.ts +106 -0
- package/dist/providers/ollama-chat.d.ts.map +1 -0
- package/dist/providers/ollama-chat.js +292 -0
- package/dist/providers/ollama-chat.js.map +1 -0
- package/dist/providers/openai-chat.d.ts +147 -0
- package/dist/providers/openai-chat.d.ts.map +1 -0
- package/dist/providers/openai-chat.js +302 -0
- package/dist/providers/openai-chat.js.map +1 -0
- package/dist/providers/pkce.d.ts +81 -0
- package/dist/providers/pkce.d.ts.map +1 -0
- package/dist/providers/pkce.js +176 -0
- package/dist/providers/pkce.js.map +1 -0
- package/dist/providers/sse-decode.d.ts +47 -0
- package/dist/providers/sse-decode.d.ts.map +1 -0
- package/dist/providers/sse-decode.js +109 -0
- package/dist/providers/sse-decode.js.map +1 -0
- package/dist/providers/token-params.d.ts +29 -0
- package/dist/providers/token-params.d.ts.map +1 -0
- package/dist/providers/token-params.js +41 -0
- package/dist/providers/token-params.js.map +1 -0
- package/dist/providers/turn-end-guard.d.ts +37 -0
- package/dist/providers/turn-end-guard.d.ts.map +1 -0
- package/dist/providers/turn-end-guard.js +42 -0
- package/dist/providers/turn-end-guard.js.map +1 -0
- package/dist/providers/types.d.ts +36 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +13 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/qoder-stream.d.ts +19 -0
- package/dist/qoder-stream.d.ts.map +1 -0
- package/dist/qoder-stream.js +167 -0
- package/dist/qoder-stream.js.map +1 -0
- package/dist/registry.d.ts +5 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +58 -0
- package/dist/registry.js.map +1 -0
- package/dist/resolution.d.ts +2 -0
- package/dist/resolution.d.ts.map +1 -0
- package/dist/resolution.js +19 -0
- package/dist/resolution.js.map +1 -0
- package/dist/role-marker-guard.d.ts +53 -0
- package/dist/role-marker-guard.d.ts.map +1 -0
- package/dist/role-marker-guard.js +280 -0
- package/dist/role-marker-guard.js.map +1 -0
- package/dist/telemetry-sink.d.ts +35 -0
- package/dist/telemetry-sink.d.ts.map +1 -0
- package/dist/telemetry-sink.js +5 -0
- package/dist/telemetry-sink.js.map +1 -0
- package/dist/terminal-launch.d.ts +11 -0
- package/dist/terminal-launch.d.ts.map +1 -0
- package/dist/terminal-launch.js +123 -0
- package/dist/terminal-launch.js.map +1 -0
- package/dist/types.d.ts +185 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-line-stream.js","sourceRoot":"","sources":["../../../src/agent-protocol/core/json-line-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @module agent-protocol
|
|
2
|
+
* ACP and pi RPC subprocess protocol adapters, sharing a JSON-line-stream
|
|
3
|
+
* transport from core/. External daemon code imports only from this barrel.
|
|
4
|
+
*/
|
|
5
|
+
export { createJsonLineStream } from './core/index.js';
|
|
6
|
+
export { type AcpMcpServerInput, type AcpPermissionDecision, type AcpPermissionHandler, type AcpPermissionOption, type AcpPermissionRequest, type AcpSessionController, type ModelOption, type AttachAcpSessionOptions, type AccountFailure, type AccountFailureClassifier, buildAcpSessionNewParams, normalizeModels, detectAcpModels, attachAcpSession, noopAccountFailureClassifier, } from './acp/index.js';
|
|
7
|
+
export { mapPiRpcEvent, attachPiRpcSession, parsePiModels, type PiRpcSession, type PiRpcSessionOptions, } from './pi-rpc/index.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-protocol/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @module agent-protocol
|
|
2
|
+
* ACP and pi RPC subprocess protocol adapters, sharing a JSON-line-stream
|
|
3
|
+
* transport from core/. External daemon code imports only from this barrel.
|
|
4
|
+
*/
|
|
5
|
+
export { createJsonLineStream } from './core/index.js';
|
|
6
|
+
export { buildAcpSessionNewParams, normalizeModels, detectAcpModels, attachAcpSession, noopAccountFailureClassifier, } from './acp/index.js';
|
|
7
|
+
export { mapPiRpcEvent, attachPiRpcSession, parsePiModels, } from './pi-rpc/index.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-protocol/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAWL,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,GAGd,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** @module agent-protocol/pi-rpc/events
|
|
2
|
+
* Pure event mapper for pi's JSON-RPC stream protocol. Translates raw JSON
|
|
3
|
+
* objects emitted by `pi --mode rpc` into the daemon's typed UI events:
|
|
4
|
+
* status, text_delta, thinking, tool_use, tool_result, usage, and error.
|
|
5
|
+
* No I/O — all side effects flow through the SendAgentEvent callback.
|
|
6
|
+
*/
|
|
7
|
+
import type { JsonRecord, SendAgentEvent } from './internal.js';
|
|
8
|
+
/** Timing and first-token-tracking context threaded through every mapPiRpcEvent call. */
|
|
9
|
+
export type PiRpcContext = {
|
|
10
|
+
runStartedAt: number;
|
|
11
|
+
sentFirstToken: {
|
|
12
|
+
value: boolean;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Maps a single raw pi RPC JSON object to zero or more daemon SSE events,
|
|
17
|
+
* dispatching each through `send`. Returns `'agent_end'` when pi signals the
|
|
18
|
+
* end of the run; returns `null` for every other event type.
|
|
19
|
+
*
|
|
20
|
+
* @param raw - Parsed JSON object read from pi's stdout.
|
|
21
|
+
* @param send - Callback that forwards a typed event to the daemon SSE layer.
|
|
22
|
+
* @param ctx - Per-run context: start timestamp and first-token sentinel.
|
|
23
|
+
* @returns `'agent_end'` on run completion, `null` otherwise.
|
|
24
|
+
*/
|
|
25
|
+
export declare function mapPiRpcEvent(raw: JsonRecord, send: SendAgentEvent, ctx: PiRpcContext): 'agent_end' | null;
|
|
26
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAc,MAAM,eAAe,CAAC;AAG5E,yFAAyF;AACzF,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CACpC,CAAC;AACF;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,YAAY,GAChB,WAAW,GAAG,IAAI,CA4KpB"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { getRecord } from './internal.js';
|
|
2
|
+
/**
|
|
3
|
+
* Maps a single raw pi RPC JSON object to zero or more daemon SSE events,
|
|
4
|
+
* dispatching each through `send`. Returns `'agent_end'` when pi signals the
|
|
5
|
+
* end of the run; returns `null` for every other event type.
|
|
6
|
+
*
|
|
7
|
+
* @param raw - Parsed JSON object read from pi's stdout.
|
|
8
|
+
* @param send - Callback that forwards a typed event to the daemon SSE layer.
|
|
9
|
+
* @param ctx - Per-run context: start timestamp and first-token sentinel.
|
|
10
|
+
* @returns `'agent_end'` on run completion, `null` otherwise.
|
|
11
|
+
*/
|
|
12
|
+
export function mapPiRpcEvent(raw, send, ctx) {
|
|
13
|
+
if (raw.type === 'agent_start') {
|
|
14
|
+
send('agent', { type: 'status', label: 'working' });
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
if (raw.type === 'agent_end') {
|
|
18
|
+
return 'agent_end';
|
|
19
|
+
}
|
|
20
|
+
if (raw.type === 'turn_start') {
|
|
21
|
+
send('agent', { type: 'status', label: 'thinking' });
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
if (raw.type === 'turn_end') {
|
|
25
|
+
const message = getRecord(raw.message);
|
|
26
|
+
const messageUsage = getRecord(message?.usage);
|
|
27
|
+
if (messageUsage) {
|
|
28
|
+
const u = messageUsage;
|
|
29
|
+
const usage = {};
|
|
30
|
+
if (typeof u.input === 'number')
|
|
31
|
+
usage.input_tokens = u.input;
|
|
32
|
+
if (typeof u.output === 'number')
|
|
33
|
+
usage.output_tokens = u.output;
|
|
34
|
+
if (typeof u.cacheRead === 'number')
|
|
35
|
+
usage.cached_read_tokens = u.cacheRead;
|
|
36
|
+
if (typeof u.cacheWrite === 'number')
|
|
37
|
+
usage.cached_write_tokens = u.cacheWrite;
|
|
38
|
+
if (typeof u.totalTokens === 'number')
|
|
39
|
+
usage.total_tokens = u.totalTokens;
|
|
40
|
+
if (Object.keys(usage).length > 0) {
|
|
41
|
+
const cost = getRecord(u.cost);
|
|
42
|
+
send('agent', {
|
|
43
|
+
type: 'usage',
|
|
44
|
+
usage,
|
|
45
|
+
costUsd: cost?.total ?? cost?.totalCost ?? null,
|
|
46
|
+
durationMs: Date.now() - ctx.runStartedAt,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (message?.stopReason === 'error') {
|
|
51
|
+
const messageText = typeof message.errorMessage === 'string' && message.errorMessage.length > 0
|
|
52
|
+
? message.errorMessage
|
|
53
|
+
: 'Pi agent error';
|
|
54
|
+
send('agent', { type: 'error', message: messageText, raw });
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const assistantMessageEvent = getRecord(raw.assistantMessageEvent);
|
|
59
|
+
if (raw.type === 'message_update' && assistantMessageEvent) {
|
|
60
|
+
const ev = assistantMessageEvent;
|
|
61
|
+
if (ev.type === 'text_delta' && typeof ev.delta === 'string') {
|
|
62
|
+
if (!ctx.sentFirstToken.value) {
|
|
63
|
+
ctx.sentFirstToken.value = true;
|
|
64
|
+
send('agent', {
|
|
65
|
+
type: 'status',
|
|
66
|
+
label: 'streaming',
|
|
67
|
+
ttftMs: Date.now() - ctx.runStartedAt,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
send('agent', { type: 'text_delta', delta: ev.delta });
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
if (ev.type === 'thinking_delta' && typeof ev.delta === 'string') {
|
|
74
|
+
send('agent', { type: 'thinking_delta', delta: ev.delta });
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
if (ev.type === 'thinking_start') {
|
|
78
|
+
send('agent', { type: 'thinking_start' });
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
if (ev.type === 'thinking_end') {
|
|
82
|
+
send('agent', { type: 'thinking_end' });
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
// pi's RPC protocol emits a message_update with error delta when
|
|
86
|
+
// the model returns an error (e.g. aborted, context overflow).
|
|
87
|
+
// Surface it so sendAgentEvent's error-handling path sets
|
|
88
|
+
// agentStreamError and the run flips to `failed` on close.
|
|
89
|
+
if (ev.type === 'error') {
|
|
90
|
+
const message = typeof ev.reason === 'string' && ev.reason.length > 0
|
|
91
|
+
? ev.reason
|
|
92
|
+
: typeof ev.delta === 'string' && ev.delta.length > 0
|
|
93
|
+
? ev.delta
|
|
94
|
+
: 'Agent error';
|
|
95
|
+
send('agent', { type: 'error', message, raw });
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
if (raw.type === 'message_end') {
|
|
101
|
+
// message_end carries usage (already emitted from turn_end) and
|
|
102
|
+
// tool call blocks (already emitted from tool_execution_start).
|
|
103
|
+
// Nothing to extract here.
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
if (raw.type === 'tool_execution_start') {
|
|
107
|
+
send('agent', {
|
|
108
|
+
type: 'tool_use',
|
|
109
|
+
id: raw.toolCallId ?? null,
|
|
110
|
+
name: raw.toolName ?? null,
|
|
111
|
+
input: raw.args ?? null,
|
|
112
|
+
});
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
if (raw.type === 'tool_execution_end') {
|
|
116
|
+
const result = getRecord(raw.result);
|
|
117
|
+
const content = result?.content;
|
|
118
|
+
const text = Array.isArray(content)
|
|
119
|
+
? content
|
|
120
|
+
.map((c) => {
|
|
121
|
+
const item = getRecord(c);
|
|
122
|
+
return item?.type === 'text' ? String(item.text ?? '') : JSON.stringify(c);
|
|
123
|
+
})
|
|
124
|
+
.join('\n')
|
|
125
|
+
: typeof content === 'string'
|
|
126
|
+
? content
|
|
127
|
+
: '';
|
|
128
|
+
send('agent', {
|
|
129
|
+
type: 'tool_result',
|
|
130
|
+
toolUseId: raw.toolCallId ?? null,
|
|
131
|
+
content: text,
|
|
132
|
+
isError: raw.isError === true,
|
|
133
|
+
});
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
// pi's RPC protocol can emit `extension_error` when an extension
|
|
137
|
+
// throws during a tool call or event handler. Surface it so the
|
|
138
|
+
// daemon's error-handling path (sendAgentEvent → agentStreamError)
|
|
139
|
+
// can flip the run to `failed` and forward a visible SSE error.
|
|
140
|
+
if (raw.type === 'extension_error') {
|
|
141
|
+
const message = typeof raw.error === 'string' && raw.error.length > 0
|
|
142
|
+
? raw.error
|
|
143
|
+
: 'Extension error';
|
|
144
|
+
send('agent', { type: 'error', message, raw });
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
if (raw.type === 'compaction_start') {
|
|
148
|
+
send('agent', { type: 'status', label: 'compacting' });
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
if (raw.type === 'auto_retry_start') {
|
|
152
|
+
send('agent', { type: 'status', label: 'retrying' });
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
if (raw.type === 'auto_retry_end' && raw.success === false) {
|
|
156
|
+
// Auto-retry exhausted — the agent is about to give up. Surface
|
|
157
|
+
// the final error so the daemon marks the run as failed rather
|
|
158
|
+
// than silently succeeding with empty output.
|
|
159
|
+
const message = typeof raw.finalError === 'string' && raw.finalError.length > 0
|
|
160
|
+
? raw.finalError
|
|
161
|
+
: 'Auto-retry exhausted';
|
|
162
|
+
send('agent', { type: 'error', message, raw });
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @module agent-protocol/pi-rpc
|
|
2
|
+
* Barrel for the pi-rpc submodule. Re-exports the three public symbols:
|
|
3
|
+
* `mapPiRpcEvent` (pure RPC-to-daemon event mapper), `attachPiRpcSession`
|
|
4
|
+
* (session lifecycle), and `parsePiModels` (model list parser), plus the
|
|
5
|
+
* `PiRpcSession`/`PiRpcSessionOptions` types a real driver (e.g.
|
|
6
|
+
* `@jini-ai/daemon`'s `AgentExecutor`) needs to type its own wiring against.
|
|
7
|
+
*/
|
|
8
|
+
export { mapPiRpcEvent } from './events.js';
|
|
9
|
+
export { attachPiRpcSession, type PiRpcSession, type PiRpcSessionOptions } from './session.js';
|
|
10
|
+
export { parsePiModels } from './models.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @module agent-protocol/pi-rpc
|
|
2
|
+
* Barrel for the pi-rpc submodule. Re-exports the three public symbols:
|
|
3
|
+
* `mapPiRpcEvent` (pure RPC-to-daemon event mapper), `attachPiRpcSession`
|
|
4
|
+
* (session lifecycle), and `parsePiModels` (model list parser), plus the
|
|
5
|
+
* `PiRpcSession`/`PiRpcSessionOptions` types a real driver (e.g.
|
|
6
|
+
* `@jini-ai/daemon`'s `AgentExecutor`) needs to type its own wiring against.
|
|
7
|
+
*/
|
|
8
|
+
export { mapPiRpcEvent } from './events.js';
|
|
9
|
+
export { attachPiRpcSession } from './session.js';
|
|
10
|
+
export { parsePiModels } from './models.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAA+C,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** @module agent-protocol/pi-rpc/internal
|
|
2
|
+
* Shared primitives for the pi-rpc submodule: base JSON record types, the
|
|
3
|
+
* SendAgentEvent callback interface, the TokenUsage shape, and lightweight
|
|
4
|
+
* type guards and error-extraction helpers consumed by events.ts and session.ts.
|
|
5
|
+
*/
|
|
6
|
+
/** A plain JSON object — the base payload type for pi RPC messages. */
|
|
7
|
+
export type JsonRecord = Record<string, unknown>;
|
|
8
|
+
/** Callback signature for forwarding a typed event to the daemon's SSE layer. */
|
|
9
|
+
export type SendAgentEvent = (channel: string, payload: JsonRecord) => void;
|
|
10
|
+
/** Optional token-count fields surfaced by pi's RPC protocol on turn completion. */
|
|
11
|
+
export type TokenUsage = {
|
|
12
|
+
input_tokens?: number;
|
|
13
|
+
output_tokens?: number;
|
|
14
|
+
cached_read_tokens?: number;
|
|
15
|
+
cached_write_tokens?: number;
|
|
16
|
+
total_tokens?: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Returns `true` when `value` is a non-null object, narrowing it to
|
|
20
|
+
* `JsonRecord` for safe property access on RPC message payloads.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isRecord(value: unknown): value is JsonRecord;
|
|
23
|
+
/**
|
|
24
|
+
* Extracts a human-readable message string from an unknown thrown value;
|
|
25
|
+
* falls back to `String(err)` for non-Error objects.
|
|
26
|
+
*
|
|
27
|
+
* @param err - Any caught value from a try/catch or error callback.
|
|
28
|
+
*/
|
|
29
|
+
export declare function errorMessage(err: unknown): string;
|
|
30
|
+
/**
|
|
31
|
+
* Extracts the `code` property from an unknown thrown value when it is a
|
|
32
|
+
* string — useful for matching Node.js system-error codes such as `EPIPE`.
|
|
33
|
+
* Returns `undefined` if the value carries no string `code`.
|
|
34
|
+
*
|
|
35
|
+
* @param err - Any caught value from a try/catch or error callback.
|
|
36
|
+
*/
|
|
37
|
+
export declare function errorCode(err: unknown): string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Returns `value` cast to `JsonRecord` when it is a non-null object, or
|
|
40
|
+
* `undefined` otherwise — a narrowing helper for optional nested fields.
|
|
41
|
+
*
|
|
42
|
+
* @param value - An arbitrary value from a parsed JSON payload.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getRecord(value: unknown): JsonRecord | undefined;
|
|
45
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/internal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjD,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;AAC5E,oFAAoF;AACpF,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE5D;AACD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjD;AACD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE1D;AACD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAEhE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** @module agent-protocol/pi-rpc/internal
|
|
2
|
+
* Shared primitives for the pi-rpc submodule: base JSON record types, the
|
|
3
|
+
* SendAgentEvent callback interface, the TokenUsage shape, and lightweight
|
|
4
|
+
* type guards and error-extraction helpers consumed by events.ts and session.ts.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Returns `true` when `value` is a non-null object, narrowing it to
|
|
8
|
+
* `JsonRecord` for safe property access on RPC message payloads.
|
|
9
|
+
*/
|
|
10
|
+
export function isRecord(value) {
|
|
11
|
+
return typeof value === 'object' && value !== null;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Extracts a human-readable message string from an unknown thrown value;
|
|
15
|
+
* falls back to `String(err)` for non-Error objects.
|
|
16
|
+
*
|
|
17
|
+
* @param err - Any caught value from a try/catch or error callback.
|
|
18
|
+
*/
|
|
19
|
+
export function errorMessage(err) {
|
|
20
|
+
return err instanceof Error ? err.message : String(err);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Extracts the `code` property from an unknown thrown value when it is a
|
|
24
|
+
* string — useful for matching Node.js system-error codes such as `EPIPE`.
|
|
25
|
+
* Returns `undefined` if the value carries no string `code`.
|
|
26
|
+
*
|
|
27
|
+
* @param err - Any caught value from a try/catch or error callback.
|
|
28
|
+
*/
|
|
29
|
+
export function errorCode(err) {
|
|
30
|
+
return isRecord(err) && typeof err.code === 'string' ? err.code : undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Returns `value` cast to `JsonRecord` when it is a non-null object, or
|
|
34
|
+
* `undefined` otherwise — a narrowing helper for optional nested fields.
|
|
35
|
+
*
|
|
36
|
+
* @param value - An arbitrary value from a parsed JSON payload.
|
|
37
|
+
*/
|
|
38
|
+
export function getRecord(value) {
|
|
39
|
+
return isRecord(value) ? value : undefined;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/internal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AACD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AACD;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AACD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** @module agent-protocol/pi-rpc/models
|
|
2
|
+
* Parses `pi --list-models` tabular stdout into the daemon's model-picker format.
|
|
3
|
+
* No network I/O — accepts the raw stdout string and returns a typed array or null.
|
|
4
|
+
*/
|
|
5
|
+
/** A single model entry for the daemon's model-picker: an opaque id and a display label. */
|
|
6
|
+
export type PiModelOption = {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Parses the tabular stdout of `pi --list-models` into an array of model options.
|
|
12
|
+
* The first entry is always the `default` sentinel ("Default (CLI config)").
|
|
13
|
+
* Provider/model pairs are de-duplicated; the header line is skipped.
|
|
14
|
+
* Returns `null` when the output is empty or contains no parseable rows beyond
|
|
15
|
+
* the header.
|
|
16
|
+
*
|
|
17
|
+
* @param stdout - Raw stdout captured from `pi --list-models`, as a string or Buffer.
|
|
18
|
+
* @returns Parsed model array (at least 2 entries), or `null` when nothing is found.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parsePiModels(stdout: unknown): PiModelOption[] | null;
|
|
21
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4FAA4F;AAC5F,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1D;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,EAAE,GAAG,IAAI,CAiCrE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/** @module agent-protocol/pi-rpc/models
|
|
2
|
+
* Parses `pi --list-models` tabular stdout into the daemon's model-picker format.
|
|
3
|
+
* No network I/O — accepts the raw stdout string and returns a typed array or null.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Parses the tabular stdout of `pi --list-models` into an array of model options.
|
|
7
|
+
* The first entry is always the `default` sentinel ("Default (CLI config)").
|
|
8
|
+
* Provider/model pairs are de-duplicated; the header line is skipped.
|
|
9
|
+
* Returns `null` when the output is empty or contains no parseable rows beyond
|
|
10
|
+
* the header.
|
|
11
|
+
*
|
|
12
|
+
* @param stdout - Raw stdout captured from `pi --list-models`, as a string or Buffer.
|
|
13
|
+
* @returns Parsed model array (at least 2 entries), or `null` when nothing is found.
|
|
14
|
+
*/
|
|
15
|
+
export function parsePiModels(stdout) {
|
|
16
|
+
const lines = String(stdout || '')
|
|
17
|
+
.split('\n')
|
|
18
|
+
.map((l) => l.trim())
|
|
19
|
+
.filter((l) => l.length > 0 && !l.startsWith('#'));
|
|
20
|
+
if (lines.length === 0)
|
|
21
|
+
return null;
|
|
22
|
+
const DEFAULT_MODEL_OPTION = { id: 'default', label: 'Default (CLI config)' };
|
|
23
|
+
// First line is the header; skip it.
|
|
24
|
+
const entries = [DEFAULT_MODEL_OPTION];
|
|
25
|
+
const seen = new Set(['default']);
|
|
26
|
+
for (let i = 1; i < lines.length; i++) {
|
|
27
|
+
// The loop bound (`i < lines.length`) guarantees `lines[i]` is always
|
|
28
|
+
// defined; the non-null assertion documents that runtime invariant
|
|
29
|
+
// instead of a `noUncheckedIndexedAccess`-driven guard that could never
|
|
30
|
+
// actually trigger.
|
|
31
|
+
const line = lines[i];
|
|
32
|
+
const parts = line.split(/\s+/);
|
|
33
|
+
if (parts.length < 2)
|
|
34
|
+
continue;
|
|
35
|
+
// `parts.length >= 2` (just checked) guarantees both indices are
|
|
36
|
+
// defined; same non-null-assertion rationale as above.
|
|
37
|
+
const provider = parts[0];
|
|
38
|
+
const modelId = parts[1];
|
|
39
|
+
// Skip duplicates (some providers list the same model under multiple names).
|
|
40
|
+
const fullId = `${provider}/${modelId}`;
|
|
41
|
+
if (seen.has(fullId))
|
|
42
|
+
continue;
|
|
43
|
+
seen.add(fullId);
|
|
44
|
+
entries.push({ id: fullId, label: fullId });
|
|
45
|
+
}
|
|
46
|
+
return entries.length > 1 ? entries : null;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SAC/B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,oBAAoB,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAE9E,qCAAqC;IACrC,MAAM,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,sEAAsE;QACtE,mEAAmE;QACnE,wEAAwE;QACxE,oBAAoB;QACpB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC/B,iEAAiE;QACjE,uDAAuD;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC1B,6EAA6E;QAC7E,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { ChildProcess } from 'node:child_process';
|
|
2
|
+
import type { Writable } from 'node:stream';
|
|
3
|
+
import type { JsonRecord, SendAgentEvent } from './internal.js';
|
|
4
|
+
/** A base64-encoded image object in pi's RPC prompt format. */
|
|
5
|
+
export type PiImagePayload = {
|
|
6
|
+
type: 'image';
|
|
7
|
+
data: string;
|
|
8
|
+
mimeType: string;
|
|
9
|
+
};
|
|
10
|
+
/** Generic parameter bag for a pi RPC command written to child stdin. */
|
|
11
|
+
export type PiRpcParams = JsonRecord;
|
|
12
|
+
/** Options for `attachPiRpcSession`. All fields map directly to the pi RPC protocol. */
|
|
13
|
+
export type PiRpcSessionOptions = {
|
|
14
|
+
child: ChildProcess;
|
|
15
|
+
prompt: string;
|
|
16
|
+
cwd?: string;
|
|
17
|
+
model?: string | null;
|
|
18
|
+
send: SendAgentEvent;
|
|
19
|
+
imagePaths?: string[];
|
|
20
|
+
uploadRoot?: string;
|
|
21
|
+
parentSession?: string;
|
|
22
|
+
};
|
|
23
|
+
/** Handle returned by `attachPiRpcSession` for querying run state and requesting abort. */
|
|
24
|
+
export type PiRpcSession = {
|
|
25
|
+
hasFatalError(): boolean;
|
|
26
|
+
abort(): void;
|
|
27
|
+
getLastSessionPath(): string | null;
|
|
28
|
+
};
|
|
29
|
+
/** Maximum number of images forwarded per prompt turn. */
|
|
30
|
+
export declare const MAX_IMAGE_COUNT = 10;
|
|
31
|
+
/** Total byte ceiling for all images forwarded in one prompt turn. */
|
|
32
|
+
export declare const MAX_TOTAL_IMAGE_BYTES: number;
|
|
33
|
+
/** File extensions accepted in pi's `images` RPC field. */
|
|
34
|
+
export declare const ALLOWED_IMAGE_EXTENSIONS: Set<string>;
|
|
35
|
+
/** Extension UI methods that expect no response — silently consumed without reply. */
|
|
36
|
+
export declare const FIRE_AND_FORGET_METHODS: Set<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Writes a JSON-RPC response to pi's stdin for an `extension_ui_request` event,
|
|
39
|
+
* keeping pi unblocked without surfacing an interactive dialog to the daemon caller.
|
|
40
|
+
* Fire-and-forget methods are silently consumed. Dialog methods are auto-resolved:
|
|
41
|
+
* `confirm` → `{ confirmed: true }`; select/input/editor → first option or cancelled.
|
|
42
|
+
*
|
|
43
|
+
* @param writable - The child process stdin stream.
|
|
44
|
+
* @param raw - The parsed `extension_ui_request` RPC object from pi's stdout.
|
|
45
|
+
*/
|
|
46
|
+
export declare function replyExtensionUi(writable: Writable, raw: JsonRecord): void;
|
|
47
|
+
/** Snapshot of `.pi/sessions/` file metadata taken before a prompt is sent. */
|
|
48
|
+
export type PiSessionFileSnapshot = Map<string, {
|
|
49
|
+
mtimeMs: number;
|
|
50
|
+
size: number;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* Reads `.pi/sessions/*.jsonl` entries from the given working directory,
|
|
54
|
+
* returning file paths with their mtime and size. Returns an empty array
|
|
55
|
+
* when the directory is absent, empty, or unreadable.
|
|
56
|
+
*
|
|
57
|
+
* @param cwd - Absolute path to the pi working directory; may be undefined.
|
|
58
|
+
*/
|
|
59
|
+
export declare function readPiSessionFiles(cwd: string | undefined): Array<{
|
|
60
|
+
path: string;
|
|
61
|
+
mtimeMs: number;
|
|
62
|
+
size: number;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Takes a before-snapshot of `.pi/sessions/` to enable changed-file detection
|
|
66
|
+
* after the prompt completes.
|
|
67
|
+
*
|
|
68
|
+
* @param cwd - Absolute path to the pi working directory; may be undefined.
|
|
69
|
+
*/
|
|
70
|
+
export declare function snapshotPiSessionFiles(cwd: string | undefined): PiSessionFileSnapshot;
|
|
71
|
+
/**
|
|
72
|
+
* Compares the current `.pi/sessions/` directory against a before-snapshot
|
|
73
|
+
* and returns the path of the single changed file. Returns `null` when zero
|
|
74
|
+
* or more than one file changed — concurrent pi processes are detected this
|
|
75
|
+
* way to avoid associating the wrong session with this run.
|
|
76
|
+
*
|
|
77
|
+
* @param cwd - Absolute path to the pi working directory; may be undefined.
|
|
78
|
+
* @param before - Snapshot taken before the prompt was sent.
|
|
79
|
+
* @returns Absolute path of the changed session file, or `null`.
|
|
80
|
+
*/
|
|
81
|
+
export declare function resolveSessionPathChangedSince(cwd: string | undefined, before: PiSessionFileSnapshot): string | null;
|
|
82
|
+
/**
|
|
83
|
+
* Attaches the daemon's run lifecycle to an already-spawned `pi --mode rpc` child process.
|
|
84
|
+
*
|
|
85
|
+
* Responsibilities:
|
|
86
|
+
* - Sends a `new_session` RPC command (with `parentSession`) before the prompt when
|
|
87
|
+
* resuming a prior conversation, waiting for acknowledgement before the prompt is sent.
|
|
88
|
+
* This preserves conversation history across edit rounds; if the parent session is
|
|
89
|
+
* rejected, the run is failed immediately rather than continuing without prior context.
|
|
90
|
+
* - Encodes and forwards `imagePaths` as base64 in the `prompt` RPC command, subject to
|
|
91
|
+
* `MAX_IMAGE_COUNT` and `MAX_TOTAL_IMAGE_BYTES` budgets. Symlinks are resolved via
|
|
92
|
+
* `realpathSync` and re-verified against `uploadRoot` to prevent path-escape attacks.
|
|
93
|
+
* - Streams pi's stdout through `createJsonLineStream`, delegating each parsed object to
|
|
94
|
+
* `mapPiRpcEvent` for typed SSE event dispatch, and auto-resolving extension-UI requests
|
|
95
|
+
* via `replyExtensionUi` so pi does not block waiting for interactive dialogs.
|
|
96
|
+
* - On `agent_end`, captures the changed `.pi/sessions/` file path for conversational
|
|
97
|
+
* resume, closes stdin, and schedules a SIGTERM fallback after
|
|
98
|
+
* `PI_GRACEFUL_SHUTDOWN_MS` ms (default 5000).
|
|
99
|
+
*
|
|
100
|
+
* @param options - Session parameters: child process, prompt string, optional model,
|
|
101
|
+
* image paths, upload root for symlink verification, and optional
|
|
102
|
+
* parent session path for conversation resume.
|
|
103
|
+
* @returns A `PiRpcSession` handle with `hasFatalError`, `getLastSessionPath`, and `abort`.
|
|
104
|
+
*/
|
|
105
|
+
export declare function attachPiRpcSession({ child, prompt, cwd, model, send, imagePaths, uploadRoot, parentSession, }: PiRpcSessionOptions): PiRpcSession;
|
|
106
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/agent-protocol/pi-rpc/session.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGhE,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AACrC,wFAAwF;AACxF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,2FAA2F;AAC3F,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,IAAI,OAAO,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AACtD,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,aAAsD,CAAC;AAC5F,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,aAMlC,CAAC;AACH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CA4B1E;AACD,+EAA+E;AAC/E,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACnF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBlH;AACD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,qBAAqB,CAMrF;AACD;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,qBAAqB,GAC5B,MAAM,GAAG,IAAI,CASf;AACD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,MAAM,EACN,GAAG,EACH,KAAK,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,aAAa,GACd,EAAE,mBAAmB,GAAG,YAAY,CAgOpC"}
|