@code-yeongyu/senpi 2026.8.3 → 2026.8.4
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 +68 -0
- package/README.md +9 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +1 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/client/remote-session.d.ts +2 -2
- package/dist/client/transcript.d.ts +1 -1
- package/dist/core/agent-session.d.ts +6 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +174 -39
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/deterministic-fallback.d.ts +2 -1
- package/dist/core/extensions/builtin/compaction/deterministic-fallback.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/deterministic-fallback.js +126 -26
- package/dist/core/extensions/builtin/compaction/deterministic-fallback.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/index.js +12 -7
- package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/per-turn-cap.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/per-turn-cap.js +4 -1
- package/dist/core/extensions/builtin/compaction/per-turn-cap.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/retained-message-safety.d.ts +4 -0
- package/dist/core/extensions/builtin/compaction/retained-message-safety.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/retained-message-safety.js +155 -0
- package/dist/core/extensions/builtin/compaction/retained-message-safety.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/speculative.js +21 -13
- package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
- package/dist/core/extensions/builtin/goal/cache-warm-renderer.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/cache-warm-renderer.js +9 -14
- package/dist/core/extensions/builtin/goal/cache-warm-renderer.js.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation-recovery.d.ts +1 -0
- package/dist/core/extensions/builtin/goal/continuation-recovery.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation-recovery.js +7 -0
- package/dist/core/extensions/builtin/goal/continuation-recovery.js.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation.d.ts +2 -1
- package/dist/core/extensions/builtin/goal/continuation.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation.js +2 -1
- package/dist/core/extensions/builtin/goal/continuation.js.map +1 -1
- package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/index.js +26 -11
- package/dist/core/extensions/builtin/goal/index.js.map +1 -1
- package/dist/core/extensions/builtin/goal/lifecycle-helpers.d.ts +7 -1
- package/dist/core/extensions/builtin/goal/lifecycle-helpers.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/lifecycle-helpers.js +14 -2
- package/dist/core/extensions/builtin/goal/lifecycle-helpers.js.map +1 -1
- package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts +3 -2
- package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/monitor-continuation.js +89 -46
- package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
- package/dist/core/extensions/builtin/goal/wait-progress.d.ts +11 -0
- package/dist/core/extensions/builtin/goal/wait-progress.d.ts.map +1 -0
- package/dist/core/extensions/builtin/goal/wait-progress.js +30 -0
- package/dist/core/extensions/builtin/goal/wait-progress.js.map +1 -0
- package/dist/core/extensions/builtin/goal/wait-ticker.d.ts +38 -0
- package/dist/core/extensions/builtin/goal/wait-ticker.d.ts.map +1 -0
- package/dist/core/extensions/builtin/goal/wait-ticker.js +71 -0
- package/dist/core/extensions/builtin/goal/wait-ticker.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/extension.d.ts.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/extension.js +14 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/extension.js.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/types.js.map +1 -1
- package/dist/core/extensions/builtin/loop-guard/renderer.d.ts.map +1 -1
- package/dist/core/extensions/builtin/loop-guard/renderer.js +4 -12
- package/dist/core/extensions/builtin/loop-guard/renderer.js.map +1 -1
- package/dist/core/extensions/builtin/rule-activation/index.d.ts +6 -0
- package/dist/core/extensions/builtin/rule-activation/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/rule-activation/index.js +10 -0
- package/dist/core/extensions/builtin/rule-activation/index.js.map +1 -0
- package/dist/core/extensions/builtin/rule-activation/renderer.d.ts +3 -0
- package/dist/core/extensions/builtin/rule-activation/renderer.d.ts.map +1 -0
- package/dist/core/extensions/builtin/rule-activation/renderer.js +37 -0
- package/dist/core/extensions/builtin/rule-activation/renderer.js.map +1 -0
- package/dist/core/extensions/builtin/rule-activation/types.d.ts +15 -0
- package/dist/core/extensions/builtin/rule-activation/types.d.ts.map +1 -0
- package/dist/core/extensions/builtin/rule-activation/types.js +45 -0
- package/dist/core/extensions/builtin/rule-activation/types.js.map +1 -0
- package/dist/core/extensions/builtin/rules/config.d.ts +3 -0
- package/dist/core/extensions/builtin/rules/config.d.ts.map +1 -0
- package/dist/core/extensions/builtin/rules/config.js +24 -0
- package/dist/core/extensions/builtin/rules/config.js.map +1 -0
- package/dist/core/extensions/builtin/rules/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/rules/index.js +14 -4
- package/dist/core/extensions/builtin/rules/index.js.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/formatter.d.ts.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/formatter.js +21 -5
- package/dist/core/extensions/builtin/rules/rules/formatter.js.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/types.d.ts +1 -1
- package/dist/core/extensions/builtin/rules/rules/types.js.map +1 -1
- package/dist/core/extensions/builtin/service-tier.d.ts.map +1 -1
- package/dist/core/extensions/builtin/service-tier.js +2 -3
- package/dist/core/extensions/builtin/service-tier.js.map +1 -1
- package/dist/core/extensions/builtin/ttsr/detectors/repetitive-turns.d.ts +22 -0
- package/dist/core/extensions/builtin/ttsr/detectors/repetitive-turns.d.ts.map +1 -0
- package/dist/core/extensions/builtin/ttsr/detectors/repetitive-turns.js +93 -0
- package/dist/core/extensions/builtin/ttsr/detectors/repetitive-turns.js.map +1 -0
- package/dist/core/extensions/builtin/ttsr/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/ttsr/index.js +60 -21
- package/dist/core/extensions/builtin/ttsr/index.js.map +1 -1
- package/dist/core/extensions/builtin/ttsr/prompts.d.ts +1 -0
- package/dist/core/extensions/builtin/ttsr/prompts.d.ts.map +1 -1
- package/dist/core/extensions/builtin/ttsr/prompts.js +5 -0
- package/dist/core/extensions/builtin/ttsr/prompts.js.map +1 -1
- package/dist/core/extensions/builtin/ttsr/repetitive-turns-lane.d.ts +23 -0
- package/dist/core/extensions/builtin/ttsr/repetitive-turns-lane.d.ts.map +1 -0
- package/dist/core/extensions/builtin/ttsr/repetitive-turns-lane.js +101 -0
- package/dist/core/extensions/builtin/ttsr/repetitive-turns-lane.js.map +1 -0
- package/dist/core/extensions/builtin/ttsr/stream-remediation.d.ts +15 -0
- package/dist/core/extensions/builtin/ttsr/stream-remediation.d.ts.map +1 -0
- package/dist/core/extensions/builtin/ttsr/stream-remediation.js +22 -0
- package/dist/core/extensions/builtin/ttsr/stream-remediation.js.map +1 -0
- package/dist/core/extensions/builtin/ttsr/types.d.ts +1 -1
- package/dist/core/extensions/builtin/ttsr/types.d.ts.map +1 -1
- package/dist/core/extensions/builtin/ttsr/types.js.map +1 -1
- package/dist/core/extensions/notice/adapters.d.ts +15 -0
- package/dist/core/extensions/notice/adapters.d.ts.map +1 -0
- package/dist/core/extensions/notice/adapters.js +22 -0
- package/dist/core/extensions/notice/adapters.js.map +1 -0
- package/dist/core/extensions/notice/box.d.ts +8 -0
- package/dist/core/extensions/notice/box.d.ts.map +1 -0
- package/dist/core/extensions/notice/box.js +17 -0
- package/dist/core/extensions/notice/box.js.map +1 -0
- package/dist/core/extensions/notice/index.d.ts +4 -0
- package/dist/core/extensions/notice/index.d.ts.map +1 -0
- package/dist/core/extensions/notice/index.js +3 -0
- package/dist/core/extensions/notice/index.js.map +1 -0
- package/dist/core/extensions/notice/spec.d.ts +23 -0
- package/dist/core/extensions/notice/spec.d.ts.map +1 -0
- package/dist/core/extensions/notice/spec.js +2 -0
- package/dist/core/extensions/notice/spec.js.map +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +1 -0
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +2 -2
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +8 -3
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/provider-display-names.js +1 -0
- package/dist/core/provider-display-names.js.map +1 -1
- package/dist/core/retry-fallback/settings.d.ts.map +1 -1
- package/dist/core/retry-fallback/settings.js +16 -1
- package/dist/core/retry-fallback/settings.js.map +1 -1
- package/dist/core/retry-fallback/validate.d.ts.map +1 -1
- package/dist/core/retry-fallback/validate.js +15 -2
- package/dist/core/retry-fallback/validate.js.map +1 -1
- package/dist/core/session-log.js +1 -1
- package/dist/core/session-log.js.map +1 -1
- package/dist/core/settings-manager.d.ts +7 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +13 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +5 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +22 -1
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +2 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +42 -7
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/interactive-stderr-guard.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-stderr-guard.js +37 -0
- package/dist/modes/interactive/interactive-stderr-guard.js.map +1 -1
- package/docs/providers.md +19 -0
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +40 -0
- package/node_modules/@code-yeongyu/senpi-codemode/README.md +13 -3
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
- package/node_modules/@code-yeongyu/senpi-codemode/src/extension/eval-status.ts +1 -1
- package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt.ts +6 -6
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-runtime.ts +4 -4
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-manager.ts +2 -2
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-snapshot.ts +2 -2
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-request.ts +20 -2
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +17 -2
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +18 -7
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +19 -5
- package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
- package/node_modules/@earendil-works/pi-ai/README.md +3 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +3 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/alibaba-token-plan.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/ollama.d.ts +9 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ollama.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ollama.js +142 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/ollama.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +1 -1
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +5 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/slash-command-autocomplete.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/slash-command-autocomplete.js +36 -8
- package/node_modules/@earendil-works/pi-tui/dist/slash-command-autocomplete.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +2 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.js +49 -33
- package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/package.json +8 -13
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/client.d.ts +1 -1
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/client.js +1 -1
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/connection.d.ts +1 -1
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/connection.js +1 -1
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/errors.d.ts +1 -1
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/session-handle.d.ts +1 -1
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/state.d.ts +1 -1
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/types.d.ts +1 -1
- package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/unix.js +1 -1
- package/node_modules/@earendil-works/pi-client/CHANGELOG.md +0 -7
- package/node_modules/@earendil-works/pi-client/README.md +0 -64
- package/node_modules/@earendil-works/pi-client/package.json +0 -56
- package/node_modules/@earendil-works/pi-protocol/README.md +0 -68
- package/node_modules/@earendil-works/pi-protocol/package.json +0 -48
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/client.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/client.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/connection.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/connection.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/errors.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/errors.js +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/errors.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/index.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/index.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/index.js +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/index.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/promise.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/promise.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/promise.js +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/promise.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/session-handle.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/session-handle.js +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/session-handle.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/state.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/state.js +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/state.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/transport.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/transport.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/transport.js +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/transport.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/types.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/types.js +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/types.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/unix.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/unix.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/unix.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/decoder.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/decoder.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/decoder.js +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/decoder.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/encoder.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/encoder.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/encoder.js +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/encoder.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/index.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/index.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/index.js +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/index.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/options.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/options.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/options.js +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/options.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/codec.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/codec.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/codec.js +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/codec.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/framing.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/framing.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/framing.js +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/framing.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/index.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/index.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/index.js +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/index.js.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/schemas.d.ts +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/schemas.d.ts.map +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/schemas.js +0 -0
- /package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/schemas.js.map +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-tui",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "2026.8.
|
|
4
|
+
"version": "2026.8.4",
|
|
5
5
|
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/senpi",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.4",
|
|
4
4
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piConfig": {
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"docs",
|
|
31
31
|
"examples",
|
|
32
32
|
"containerization.md",
|
|
33
|
-
"CHANGELOG.md"
|
|
33
|
+
"CHANGELOG.md",
|
|
34
|
+
"vendor"
|
|
34
35
|
],
|
|
35
36
|
"scripts": {
|
|
36
37
|
"clean": "shx rm -rf dist",
|
|
@@ -47,13 +48,11 @@
|
|
|
47
48
|
"dependencies": {
|
|
48
49
|
"@anthropic-ai/sdk": "0.91.1",
|
|
49
50
|
"@aws-sdk/client-bedrock-runtime": "3.1095.0",
|
|
50
|
-
"@code-yeongyu/senpi-codemode": "
|
|
51
|
-
"@earendil-works/pi-agent-core": "npm:@code-yeongyu/senpi-agent-core
|
|
52
|
-
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai
|
|
53
|
-
"@earendil-works/pi-
|
|
54
|
-
"@earendil-works/pi-
|
|
55
|
-
"@earendil-works/pi-pty": "npm:@code-yeongyu/senpi-pty@^2026.8.3",
|
|
56
|
-
"@earendil-works/pi-tui": "npm:@code-yeongyu/senpi-tui@^2026.8.3",
|
|
51
|
+
"@code-yeongyu/senpi-codemode": "2026.8.4",
|
|
52
|
+
"@earendil-works/pi-agent-core": "npm:@code-yeongyu/senpi-agent-core@2026.8.4",
|
|
53
|
+
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.8.4",
|
|
54
|
+
"@earendil-works/pi-pty": "npm:@code-yeongyu/senpi-pty@2026.8.4",
|
|
55
|
+
"@earendil-works/pi-tui": "npm:@code-yeongyu/senpi-tui@2026.8.4",
|
|
57
56
|
"@mistralai/mistralai": "2.5.0",
|
|
58
57
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
59
58
|
"@mozilla/readability": "0.6.0",
|
|
@@ -135,8 +134,6 @@
|
|
|
135
134
|
"@csstools/css-tokenizer",
|
|
136
135
|
"@earendil-works/pi-agent-core",
|
|
137
136
|
"@earendil-works/pi-ai",
|
|
138
|
-
"@earendil-works/pi-client",
|
|
139
|
-
"@earendil-works/pi-protocol",
|
|
140
137
|
"@earendil-works/pi-pty",
|
|
141
138
|
"@earendil-works/pi-tui",
|
|
142
139
|
"@exodus/bytes",
|
|
@@ -450,8 +447,6 @@
|
|
|
450
447
|
"@csstools/css-tokenizer",
|
|
451
448
|
"@earendil-works/pi-agent-core",
|
|
452
449
|
"@earendil-works/pi-ai",
|
|
453
|
-
"@earendil-works/pi-client",
|
|
454
|
-
"@earendil-works/pi-protocol",
|
|
455
450
|
"@earendil-works/pi-pty",
|
|
456
451
|
"@earendil-works/pi-tui",
|
|
457
452
|
"@exodus/bytes",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ServerEvent, type ServerSnapshot, type SessionSummary } from "
|
|
1
|
+
import { type ServerEvent, type ServerSnapshot, type SessionSummary } from "../pi-protocol/index.js";
|
|
2
2
|
import { type AcquireSessionOptions, type PiSessionHandle } from "./session-handle.ts";
|
|
3
3
|
import type { ConnectionState, ConnectionStateChange, CreateSessionOptions, PiClientOptions, Unsubscribe } from "./types.ts";
|
|
4
4
|
export declare class PiClient {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { encodeClientMessage, ProtocolValidationError, } from "
|
|
1
|
+
import { encodeClientMessage, ProtocolValidationError, } from "../pi-protocol/index.js";
|
|
2
2
|
import { Connection } from "./connection.js";
|
|
3
3
|
import { PiClientDisposedError, PiDisconnectedError, PiServerError, PiSessionDetachedError, PiSessionOwnershipError, toError, } from "./errors.js";
|
|
4
4
|
import { createPromiseResolvers } from "./promise.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ServerMessage, type ServerSnapshot } from "
|
|
1
|
+
import { type ServerMessage, type ServerSnapshot } from "../pi-protocol/index.js";
|
|
2
2
|
import type { ByteTransportFactory } from "./transport.ts";
|
|
3
3
|
import type { ConnectionState, ConnectionStateChange } from "./types.ts";
|
|
4
4
|
interface ConnectionOptions {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_MAX_FRAME_LENGTH, encodeClientMessage, PROTOCOL_VERSION, ProtocolValidationError, ServerMessageDecoder, } from "
|
|
1
|
+
import { DEFAULT_MAX_FRAME_LENGTH, encodeClientMessage, PROTOCOL_VERSION, ProtocolValidationError, ServerMessageDecoder, } from "../pi-protocol/index.js";
|
|
2
2
|
import { PiDisconnectedError, PiServerError, toDisconnectedError, toError } from "./errors.js";
|
|
3
3
|
import { createPromiseResolvers } from "./promise.js";
|
|
4
4
|
const MAX_UINT32 = 0xffff_ffff;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { JsonValue, ProtocolError, ProtocolErrorCode } from "
|
|
1
|
+
import type { JsonValue, ProtocolError, ProtocolErrorCode } from "../pi-protocol/index.js";
|
|
2
2
|
export declare class PiServerError extends Error {
|
|
3
3
|
readonly code: ProtocolErrorCode;
|
|
4
4
|
readonly details: JsonValue | undefined;
|
package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/session-handle.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Command, ModelRef, ResultForCommand, ServerEvent, SessionSnapshot, ThinkingLevel } from "
|
|
1
|
+
import type { Command, ModelRef, ResultForCommand, ServerEvent, SessionSnapshot, ThinkingLevel } from "../pi-protocol/index.js";
|
|
2
2
|
import type { Unsubscribe } from "./types.ts";
|
|
3
3
|
type SessionCommand = Extract<Command, {
|
|
4
4
|
sessionId: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CommandResult, ServerEvent, ServerSnapshot, SessionSnapshot } from "
|
|
1
|
+
import type { CommandResult, ServerEvent, ServerSnapshot, SessionSnapshot } from "../pi-protocol/index.js";
|
|
2
2
|
import type { ListenerErrorHandler, Unsubscribe } from "./types.ts";
|
|
3
3
|
export declare class ClientState {
|
|
4
4
|
#private;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ModelRef, ThinkingLevel } from "
|
|
1
|
+
import type { ModelRef, ThinkingLevel } from "../pi-protocol/index.js";
|
|
2
2
|
import type { ByteTransportFactory } from "./transport.ts";
|
|
3
3
|
export type ConnectionState = "disconnected" | "connecting" | "connected";
|
|
4
4
|
export interface ConnectionStateChange {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createConnection } from "node:net";
|
|
2
|
-
import { DEFAULT_MAX_FRAME_LENGTH } from "
|
|
2
|
+
import { DEFAULT_MAX_FRAME_LENGTH } from "../pi-protocol/index.js";
|
|
3
3
|
const MAX_UNIX_SOCKET_PATH_BYTES = process.platform === "linux" ? 107 : 103;
|
|
4
4
|
/** Creates fresh Unix-domain socket transports for PiClient connection attempts in Node-compatible runtimes. */
|
|
5
5
|
export function createUnixTransportFactory(options) {
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# @earendil-works/pi-client
|
|
2
|
-
|
|
3
|
-
Transport-neutral client for remote pi sessions. `PiClient` exchanges length-prefixed CBOR messages through a small `ByteTransport` interface. The package has no Node-specific imports.
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
import { PiClient, type ByteTransportFactory } from "@earendil-works/pi-client";
|
|
7
|
-
|
|
8
|
-
const transportFactory: ByteTransportFactory = async (handlers) => {
|
|
9
|
-
// Connect using WebSocket, Unix socket, or another ordered byte transport.
|
|
10
|
-
return {
|
|
11
|
-
async send(chunk) {
|
|
12
|
-
// Deliver chunks in invocation order and honor backpressure.
|
|
13
|
-
},
|
|
14
|
-
close() {},
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const client = new PiClient({ token: bearerToken, transportFactory });
|
|
19
|
-
await client.connect();
|
|
20
|
-
const session = await client.createSession({ cwd: "/workspace" });
|
|
21
|
-
const unsubscribe = session.subscribe((snapshot) => render(snapshot));
|
|
22
|
-
await session.prompt("Inspect this project");
|
|
23
|
-
unsubscribe();
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Call `handlers.onData(chunk)` for inbound bytes, `handlers.onClose()` for an orderly terminal close, and `handlers.onError(error)` for transport failures. A factory must create a fresh transport for every connection attempt.
|
|
27
|
-
|
|
28
|
-
`PiClient` does not reconnect automatically. Call `reconnect()` after disconnection. One connection can attach several sessions. Requests are correlated by ID. Server snapshots and successful response snapshots are authoritative, while progress events do not mutate snapshot state optimistically. Read cached session summaries from `client.snapshot?.sessions`; call `listSessions()` to request a refreshed list from the server.
|
|
29
|
-
|
|
30
|
-
`acquireSession()` returns an independent `SessionLease`; leases cannot be constructed directly. Use `{ mode: "exclusive" }` for a lifecycle or mutation coordinator and `{ mode: "shared" }` when multiple low-level consumers intentionally share the session. Exclusive acquisition fails with `PiSessionOwnershipError` while any lease exists, and shared acquisition fails while an exclusive lease exists. `attachSession()` is a shared-acquisition convenience method. `createSession()` returns an exclusive lease for the newly created session.
|
|
31
|
-
|
|
32
|
-
Calling `dispose()` or `detach()` releases only that lease. A lease rejects commands as soon as release begins. The client sends the protocol detach request after the final lease is released. If explicit `detach()` fails, the lease becomes active again for retry. If cleanup-oriented `dispose()` fails, it reports the protocol error but relinquishes local ownership; `PiClient` reconciles the failed protocol cleanup before the next acquisition. A released lease becomes unavailable without affecting other shared leases. Server removal or disconnection invalidates every lease for the affected attachment, and disposing an invalidated lease is a no-op. Commands fail with `PiDisconnectedError` while the client is disconnected and `PiSessionDetachedError` when the client is connected but a lease is releasing, released, or invalidated. Leases implement `AsyncDisposable`.
|
|
33
|
-
|
|
34
|
-
`subscribe()` observes authoritative snapshots. `onEvent()` observes protocol events. Both return an unsubscribe function. Structured errors returned by the server are exposed as `PiServerError`.
|
|
35
|
-
|
|
36
|
-
## Limits and security
|
|
37
|
-
|
|
38
|
-
`PiClientOptions.maxFrameLength` bounds inbound and outbound CBOR payloads. Configure matching limits on the client and server. Transports should separately bound queued outbound bytes and preserve send order.
|
|
39
|
-
|
|
40
|
-
Treat peers as untrusted. Use a secure transport where required and protect the protocol bearer token.
|
|
41
|
-
|
|
42
|
-
Subscriber exceptions are isolated from protocol state. Set `onListenerError` in `PiClientOptions` to report them to application logging or diagnostics.
|
|
43
|
-
|
|
44
|
-
## Unix-domain sockets
|
|
45
|
-
|
|
46
|
-
Node.js and Bun consumers can use the separately exported Unix-domain socket transport:
|
|
47
|
-
|
|
48
|
-
```ts
|
|
49
|
-
import { PiClient } from "@earendil-works/pi-client";
|
|
50
|
-
import { createUnixTransportFactory } from "@earendil-works/pi-client/unix";
|
|
51
|
-
|
|
52
|
-
const client = new PiClient({
|
|
53
|
-
token: bearerToken,
|
|
54
|
-
transportFactory: createUnixTransportFactory({
|
|
55
|
-
path: "/tmp/pi.sock",
|
|
56
|
-
}),
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
await client.connect();
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
`maxPendingBytes` bounds queued outbound data. It defaults to four times the protocol frame limit. The transport preserves send order and waits for socket backpressure before resolving each send.
|
|
63
|
-
|
|
64
|
-
The `@earendil-works/pi-client` root remains transport- and runtime-neutral. Importing the Node-compatible transport requires the explicit `@earendil-works/pi-client/unix` subpath.
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@earendil-works/pi-client",
|
|
3
|
-
"version": "2026.8.3",
|
|
4
|
-
"description": "Transport-neutral client for remote pi sessions over framed CBOR bytes",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.js"
|
|
12
|
-
},
|
|
13
|
-
"./unix": {
|
|
14
|
-
"types": "./dist/unix.d.ts",
|
|
15
|
-
"import": "./dist/unix.js"
|
|
16
|
-
},
|
|
17
|
-
"./package.json": "./package.json"
|
|
18
|
-
},
|
|
19
|
-
"sideEffects": false,
|
|
20
|
-
"files": [
|
|
21
|
-
"dist",
|
|
22
|
-
"README.md",
|
|
23
|
-
"CHANGELOG.md"
|
|
24
|
-
],
|
|
25
|
-
"scripts": {
|
|
26
|
-
"clean": "shx rm -rf dist",
|
|
27
|
-
"build": "tsc -p tsconfig.build.json",
|
|
28
|
-
"test": "vitest --run",
|
|
29
|
-
"typecheck": "tsc -p tsconfig.test.json",
|
|
30
|
-
"prepublishOnly": "npm run clean && npm run build"
|
|
31
|
-
},
|
|
32
|
-
"keywords": [
|
|
33
|
-
"pi",
|
|
34
|
-
"client",
|
|
35
|
-
"protocol",
|
|
36
|
-
"cbor",
|
|
37
|
-
"binary"
|
|
38
|
-
],
|
|
39
|
-
"author": "Earendil Works",
|
|
40
|
-
"license": "MIT",
|
|
41
|
-
"repository": {
|
|
42
|
-
"type": "git",
|
|
43
|
-
"url": "git+https://github.com/earendil-works/pi.git",
|
|
44
|
-
"directory": "packages/client"
|
|
45
|
-
},
|
|
46
|
-
"engines": {
|
|
47
|
-
"node": ">=22.19.0"
|
|
48
|
-
},
|
|
49
|
-
"dependencies": {
|
|
50
|
-
"@earendil-works/pi-protocol": "2026.8.3"
|
|
51
|
-
},
|
|
52
|
-
"devDependencies": {
|
|
53
|
-
"shx": "0.4.0",
|
|
54
|
-
"vitest": "4.1.9"
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# @earendil-works/pi-protocol
|
|
2
|
-
|
|
3
|
-
Runtime-neutral schemas, types, CBOR encoding, and byte-stream framing for the experimental pi protocol.
|
|
4
|
-
|
|
5
|
-
Protocol version `2` uses binary messages with this wire layout:
|
|
6
|
-
|
|
7
|
-
1. A four-byte unsigned big-endian payload length.
|
|
8
|
-
2. One definite-length CBOR item containing the message.
|
|
9
|
-
|
|
10
|
-
The first client message is always `hello`, containing `PROTOCOL_VERSION` and a bearer token. Subsequent messages use correlated request/response envelopes and server event envelopes. Session and server snapshots are authoritative. Progress events are transient UI hints and must not be reduced into authoritative state.
|
|
11
|
-
|
|
12
|
-
## Validated message API
|
|
13
|
-
|
|
14
|
-
`encodeClientMessage()` and `encodeServerMessage()` validate a message and return a complete framed `Uint8Array`. The incremental decoders accept arbitrary fragmentation or coalescing, so they work with streams, sockets, and custom byte transports.
|
|
15
|
-
|
|
16
|
-
```ts
|
|
17
|
-
import {
|
|
18
|
-
PROTOCOL_VERSION,
|
|
19
|
-
createServerMessageDecoder,
|
|
20
|
-
encodeClientMessage,
|
|
21
|
-
type ClientHello,
|
|
22
|
-
} from "@earendil-works/pi-protocol";
|
|
23
|
-
|
|
24
|
-
const hello: ClientHello = {
|
|
25
|
-
type: "hello",
|
|
26
|
-
version: PROTOCOL_VERSION,
|
|
27
|
-
token: bearerToken,
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
transport.send(encodeClientMessage(hello));
|
|
31
|
-
|
|
32
|
-
const decoder = createServerMessageDecoder({ maxFrameLength: 1024 * 1024 });
|
|
33
|
-
for (const message of decoder.push(incomingChunk)) {
|
|
34
|
-
handleServerMessage(message);
|
|
35
|
-
}
|
|
36
|
-
decoder.end(); // Call when the byte stream closes to detect truncation.
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
`ClientMessageDecoder` and `ServerMessageDecoder` are also available directly. Schema violations, malformed CBOR, and invalid framing throw `ProtocolValidationError`. Validation errors do not retain rejected payloads.
|
|
40
|
-
|
|
41
|
-
`parseClientMessage()` and `parseServerMessage()` only validate already-decoded values. They do not parse JSON strings.
|
|
42
|
-
|
|
43
|
-
## Transport support
|
|
44
|
-
|
|
45
|
-
Every transport carries the same complete bytes: `[uint32-be CBOR length][CBOR payload]`. Transports may split or coalesce those bytes arbitrarily.
|
|
46
|
-
|
|
47
|
-
This package does not bundle a transport. Consumers provide a byte-stream transport that preserves byte order and reports stream closure. Custom transports must handle arbitrary frame fragmentation and coalescing.
|
|
48
|
-
|
|
49
|
-
All transports are untrusted. Configure matching frame limits and enforce the authentication and access controls appropriate for the transport.
|
|
50
|
-
|
|
51
|
-
## Encoding and framing
|
|
52
|
-
|
|
53
|
-
`encodeCbor()` and `decodeCbor()` implement the protocol's strict RFC 8949 subset. `encodeFrame()` and `FrameDecoder` handle framing independently of schemas and CBOR.
|
|
54
|
-
|
|
55
|
-
The CBOR subset supports:
|
|
56
|
-
|
|
57
|
-
- `null` and booleans
|
|
58
|
-
- finite numbers, with integers restricted to JavaScript's safe range and non-integers encoded as float64
|
|
59
|
-
- UTF-8 strings
|
|
60
|
-
- `Uint8Array` byte strings
|
|
61
|
-
- definite-length arrays
|
|
62
|
-
- definite-length maps represented by objects with unique string keys
|
|
63
|
-
|
|
64
|
-
Undefined object properties are omitted. JSON-valued protocol fields reject CBOR byte strings and non-plain objects. Top-level undefined, undefined array entries, sparse arrays, non-finite or unsafe numbers, tags, indefinite-length items, malformed UTF-8, trailing data, excessive nesting, and oversized values are rejected.
|
|
65
|
-
|
|
66
|
-
Default limits are 16 MiB per CBOR payload/frame, 1,000,000 array elements or map entries, and 64 nested item levels. Options can configure these limits. A frame decoder validates the declared length before buffering payload bytes.
|
|
67
|
-
|
|
68
|
-
All schemas reject unknown object properties. The protocol is experimental and has no compatibility guarantees.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@earendil-works/pi-protocol",
|
|
3
|
-
"version": "2026.8.3",
|
|
4
|
-
"description": "Transport-neutral CBOR protocol for remote pi sessions",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.js"
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
"files": [
|
|
15
|
-
"dist",
|
|
16
|
-
"README.md"
|
|
17
|
-
],
|
|
18
|
-
"scripts": {
|
|
19
|
-
"clean": "shx rm -rf dist",
|
|
20
|
-
"build": "tsc -p tsconfig.build.json",
|
|
21
|
-
"test": "vitest --run",
|
|
22
|
-
"prepublishOnly": "npm run clean && npm run build"
|
|
23
|
-
},
|
|
24
|
-
"keywords": [
|
|
25
|
-
"pi",
|
|
26
|
-
"protocol",
|
|
27
|
-
"cbor",
|
|
28
|
-
"binary",
|
|
29
|
-
"framing"
|
|
30
|
-
],
|
|
31
|
-
"author": "Earendil Works",
|
|
32
|
-
"license": "MIT",
|
|
33
|
-
"repository": {
|
|
34
|
-
"type": "git",
|
|
35
|
-
"url": "git+https://github.com/earendil-works/pi.git",
|
|
36
|
-
"directory": "packages/protocol"
|
|
37
|
-
},
|
|
38
|
-
"engines": {
|
|
39
|
-
"node": ">=22.19.0"
|
|
40
|
-
},
|
|
41
|
-
"dependencies": {
|
|
42
|
-
"typebox": "1.3.7"
|
|
43
|
-
},
|
|
44
|
-
"devDependencies": {
|
|
45
|
-
"shx": "0.4.0",
|
|
46
|
-
"vitest": "4.1.9"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/connection.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/session-handle.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/session-handle.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-client/dist → vendor/pi-client}/transport.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/decoder.d.ts
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/decoder.d.ts.map
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/decoder.js
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/decoder.js.map
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/encoder.d.ts
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/encoder.d.ts.map
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/encoder.js
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/encoder.js.map
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/index.d.ts
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/index.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/index.js.map
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/options.d.ts
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/options.d.ts.map
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/options.js
RENAMED
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/cbor/options.js.map
RENAMED
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/codec.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/framing.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/framing.js.map
RENAMED
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/index.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/schemas.d.ts.map
RENAMED
|
File without changes
|
|
File without changes
|
/package/{node_modules/@earendil-works/pi-protocol/dist → vendor/pi-protocol}/schemas.js.map
RENAMED
|
File without changes
|