session-peer 1.3.3__tar.gz → 1.4.0__tar.gz
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.
- {session_peer-1.3.3 → session_peer-1.4.0}/PKG-INFO +3 -3
- {session_peer-1.3.3 → session_peer-1.4.0}/README.ja.md +2 -2
- {session_peer-1.3.3 → session_peer-1.4.0}/README.ko.md +2 -2
- {session_peer-1.3.3 → session_peer-1.4.0}/README.md +2 -2
- {session_peer-1.3.3 → session_peer-1.4.0}/README.zh-CN.md +2 -2
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/README.md +2 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/cli-reference.md +43 -1
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/i18n-manifest.json +6 -5
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/README.md +2 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/cli-reference.md +43 -1
- session_peer-1.4.0/docs/ja/mcp.md +125 -0
- session_peer-1.4.0/docs/ja/releases/v1.4.0.md +34 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/README.md +2 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/cli-reference.md +43 -1
- session_peer-1.4.0/docs/ko/mcp.md +125 -0
- session_peer-1.4.0/docs/ko/releases/v1.4.0.md +34 -0
- session_peer-1.4.0/docs/mcp.md +125 -0
- session_peer-1.4.0/docs/releases/v1.4.0.md +34 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/README.md +2 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/cli-reference.md +43 -1
- session_peer-1.4.0/docs/zh-CN/mcp.md +125 -0
- session_peer-1.4.0/docs/zh-CN/releases/v1.4.0.md +34 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer.py +162 -31
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/cli.py +33 -4
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/commands.py +6 -1
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/common.py +1 -1
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/diagnostics.py +9 -6
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/explanation.py +82 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/output.py +12 -15
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/sending.py +19 -4
- session_peer-1.4.0/session_peer_mcp.py +902 -0
- session_peer-1.3.3/docs/ja/mcp.md +0 -57
- session_peer-1.3.3/docs/ko/mcp.md +0 -57
- session_peer-1.3.3/docs/mcp.md +0 -57
- session_peer-1.3.3/docs/zh-CN/mcp.md +0 -57
- session_peer-1.3.3/session_peer_mcp.py +0 -298
- {session_peer-1.3.3 → session_peer-1.4.0}/.agents/plugins/marketplace.json +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/.gitattributes +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/.gitignore +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/LICENSE +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/SECURITY.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/deploy/README.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/deploy/examples/authenticated-control/README.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/deploy/examples/authenticated-control/session-peer-control.service +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/deploy/examples/static-account/README.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/deploy/examples/static-account/session-peer-relay.service +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/agent-adapters.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ai-assistant-guide.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/antigravity.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/architecture/agent-transports.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/assets/session-peer-live-codex-claude.gif +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/compatibility-v1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/contracts/handoff-v1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/diagnostics.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/download-metrics.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/handoff-runtime.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/agent-adapters.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/ai-assistant-guide.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/antigravity.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/architecture/agent-transports.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/compatibility-v1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/contracts/handoff-v1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/diagnostics.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/download-metrics.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/handoff-runtime.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/multi-home-list.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/paired-devices.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/relay-auth.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/relay-development-plan.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/relay-edge-policy.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/relay-google-bootstrap.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/relay-lifecycle.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/relay-public-pilot-2026-09-17.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/relay-watchdog.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v0.6.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v0.6.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v0.7.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v0.8.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v0.9.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.0-alpha.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.0-beta.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.0-rc.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.0-rc.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.0-rc.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.0-rc.4.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.0.4.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.1.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.1.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.1.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.2.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.2.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.3.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.3.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.3.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/releases/v1.3.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/validation/69-rc.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/validation/85-antigravity.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ja/wake.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/agent-adapters.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/ai-assistant-guide.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/antigravity.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/architecture/agent-transports.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/compatibility-v1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/contracts/handoff-v1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/diagnostics.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/download-metrics.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/handoff-runtime.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/multi-home-list.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/paired-devices.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/relay-auth.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/relay-development-plan.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/relay-edge-policy.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/relay-google-bootstrap.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/relay-lifecycle.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/relay-public-pilot-2026-09-17.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/relay-watchdog.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v0.6.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v0.6.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v0.7.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v0.8.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v0.9.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.0-alpha.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.0-beta.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.0-rc.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.0-rc.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.0-rc.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.0-rc.4.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.0.4.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.1.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.1.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.1.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.2.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.2.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.3.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.3.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.3.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/releases/v1.3.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/validation/69-rc.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/validation/85-antigravity.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/ko/wake.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/multi-home-list.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/paired-devices.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/relay-auth.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/relay-development-plan.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/relay-edge-policy.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/relay-google-bootstrap.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/relay-lifecycle.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/relay-public-pilot-2026-09-17.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/relay-watchdog.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v0.6.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v0.6.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v0.7.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v0.8.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v0.9.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.0-alpha.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.0-beta.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.0-rc.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.0-rc.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.0-rc.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.0-rc.4.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.0.4.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.1.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.1.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.1.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.2.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.2.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.3.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.3.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.3.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/releases/v1.3.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/validation/69-rc.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/validation/85-antigravity.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/wake.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/agent-adapters.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/ai-assistant-guide.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/antigravity.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/architecture/agent-transports.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/compatibility-v1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/contracts/handoff-v1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/diagnostics.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/download-metrics.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/handoff-runtime.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/multi-home-list.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/paired-devices.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/relay-auth.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/relay-development-plan.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/relay-edge-policy.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/relay-google-bootstrap.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/relay-lifecycle.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/relay-public-pilot-2026-09-17.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/relay-watchdog.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v0.6.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v0.6.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v0.7.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v0.8.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v0.9.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.0-alpha.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.0-beta.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.0-rc.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.0-rc.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.0-rc.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.0-rc.4.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.0.4.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.1.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.1.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.1.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.2.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.2.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.3.0.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.3.1.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.3.2.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/releases/v1.3.3.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/validation/69-rc.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/validation/85-antigravity.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/docs/zh-CN/wake.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/plugins/session-peer/.codex-plugin/plugin.json +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/plugins/session-peer/.mcp.json +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/plugins/session-peer/README.ja.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/plugins/session-peer/README.ko.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/plugins/session-peer/README.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/plugins/session-peer/README.zh-CN.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/pyproject.toml +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/README.md +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/adapters.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/address_cli.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/address_selection.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/addresses.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/antigravity.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/claude.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/codex.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/handoff.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/handoff_process.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/handoff_remote.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/handoff_stdin.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/handoff_watch.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/messages.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/preset_cli.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/presets.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/registry.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/relay.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/release_verification.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/replies.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/ssh.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/ssh_config.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/ssh_identity.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/target_generation.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/update_preferences.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/updates.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_core/wake_chain.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/__init__.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/app.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/auth.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/cli.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/control.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/framing.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/guidance.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/identity.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/lifecycle.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/native.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/pairing_links.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/pairing_ui.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/recovery.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/relay.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/rotation.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/setup.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/store.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/transport_errors.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/wire.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_relay/worker.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_shorthand/__init__.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_shorthand/__main__.py +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_shorthand/sp-remove.sh +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_shorthand/sp.ps1 +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/session_peer_shorthand/sp.sh +0 -0
- {session_peer-1.3.3 → session_peer-1.4.0}/tools/generate_session_peer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: session-peer
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Discover and message Claude Code, Codex, and Antigravity sessions locally, over SSH, through MCP, or via an optional end-to-end encrypted relay.
|
|
5
5
|
Project-URL: Homepage, https://github.com/abruption/session-peer
|
|
6
6
|
Project-URL: Repository, https://github.com/abruption/session-peer
|
|
@@ -68,7 +68,7 @@ in this ~22-second animation, not a screen recording; send success alone is not
|
|
|
68
68
|
### Install
|
|
69
69
|
|
|
70
70
|
Python 3.9+. The core local/SSH CLI has no third-party Python dependencies.
|
|
71
|
-
Source version: **1.3.3
|
|
71
|
+
Source version: **1.4.0** (at the 2026-11-02 preparation checkpoint: unpublished candidate; latest published version 1.3.3). The [release notes](docs/releases/v1.4.0.md) describe bounded MCP discovery, delivery preflight and diagnostics, route presets, and the independent skill proposal. Python publication, Node Control deployment and independently managed skill updates are separate.
|
|
72
72
|
|
|
73
73
|
The optional [MCP extra](docs/mcp.md) now requires `mcp>=1.30,<2`; its Python 3.10+ requirement and the dependency-free Python 3.9 core remain unchanged. Existing MCP environments need an explicit package upgrade.
|
|
74
74
|
|
|
@@ -140,7 +140,7 @@ require Unix, Python 3.11+, and `session-peer[relay]`, with pinned identities an
|
|
|
140
140
|
explicit receiver policy. Package publication does not guarantee hosted-service availability.
|
|
141
141
|
The blind Relay cannot decrypt application message content.
|
|
142
142
|
[MCP / Codex plugin](https://github.com/abruption/session-peer/blob/main/docs/mcp.md) requires Python 3.10+
|
|
143
|
-
and `session-peer[mcp]`; MCP wake
|
|
143
|
+
and `session-peer[mcp]`; MCP sends that actually request wake require both `send` and `wake` capabilities.
|
|
144
144
|
[Wake](https://github.com/abruption/session-peer/blob/main/docs/wake.md) runs only when explicitly requested
|
|
145
145
|
and can start a turn, consume usage, and change project files.
|
|
146
146
|
The [Antigravity bridge](https://github.com/abruption/session-peer/blob/main/docs/antigravity.md) remains experimental.
|
|
@@ -33,7 +33,7 @@ session-peer 1.0.2による実際のローカル通信です。CodexがClaude Co
|
|
|
33
33
|
### インストール
|
|
34
34
|
|
|
35
35
|
Python 3.9以上が必要です。基本のローカル・SSH CLIに外部Python依存パッケージはありません。
|
|
36
|
-
ソースバージョン:**1.3.3
|
|
36
|
+
ソースバージョン:**1.4.0**(2026-11-02の準備時点:未公開の候補、当時の最新公開済みバージョンは1.3.3)。[リリースノート](docs/ja/releases/v1.4.0.md)では、範囲を制限したMCP探索、配信の事前確認と診断、経路プリセット、独立スキルの提案を説明します。Pythonの公開、Node Controlの配備、独立管理するスキルの更新は別々の作業です。
|
|
37
37
|
|
|
38
38
|
任意の[MCPエクストラ](docs/ja/mcp.md)は`mcp>=1.30,<2`を必要とします。MCPのPython 3.10+要件と依存関係のないPython 3.9コアは変更しません。既存のMCP環境では明示的なパッケージ更新が必要です。
|
|
39
39
|
|
|
@@ -105,7 +105,7 @@ Unix、Python 3.11以上、`session-peer[relay]`、固定した識別情報と
|
|
|
105
105
|
パッケージの公開はホスト型サービスの可用性を保証しません。
|
|
106
106
|
ブラインドRelayはアプリケーションのメッセージ内容を復号できません。
|
|
107
107
|
[MCP・Codexプラグイン](https://github.com/abruption/session-peer/blob/main/docs/ja/mcp.md)にはPython 3.10以上と
|
|
108
|
-
`session-peer[mcp]` が必要で、MCP wake
|
|
108
|
+
`session-peer[mcp]` が必要で、MCP の送信で実際に wake を要求するには `send` と `wake` の両方の機能(capability)が必要です。
|
|
109
109
|
[Wake](https://github.com/abruption/session-peer/blob/main/docs/ja/wake.md)は明示的に依頼した場合だけ実行し、
|
|
110
110
|
ターンの開始、利用枠の消費、プロジェクトファイルの変更を伴う場合があります。
|
|
111
111
|
[Antigravityブリッジ](https://github.com/abruption/session-peer/blob/main/docs/ja/antigravity.md)は実験段階です。
|
|
@@ -33,7 +33,7 @@ session-peer 1.0.2를 사용해 실제 로컬 요청과 회신을 주고받았
|
|
|
33
33
|
### 설치
|
|
34
34
|
|
|
35
35
|
Python 3.9 이상이 필요합니다. 기본 로컬·SSH CLI는 외부 Python 패키지에 의존하지 않습니다.
|
|
36
|
-
소스 버전: **1.3.3
|
|
36
|
+
소스 버전: **1.4.0**(2026-11-02 준비 시점 기준: 미공개 후보, 당시 최신 공개 버전 1.3.3). [릴리스 노트](docs/ko/releases/v1.4.0.md)는 범위를 제한한 MCP 탐색, 전달 사전 점검·진단, 경로 프리셋과 독립 스킬 제안을 설명합니다. Python 공개, Node Control 배포, 별도로 관리하는 스킬의 갱신은 서로 구분합니다.
|
|
37
37
|
|
|
38
38
|
선택형 [MCP extra](docs/ko/mcp.md)는 이제 `mcp>=1.30,<2`를 요구합니다. MCP의 Python 3.10+ 요건과 의존성 없는 Python 3.9 핵심 CLI는 유지됩니다. 기존 MCP 환경에는 명시적인 패키지 업그레이드가 필요합니다.
|
|
39
39
|
|
|
@@ -105,7 +105,7 @@ Unix·Python 3.11 이상·`session-peer[relay]`, 고정된 기기 신원, 명시
|
|
|
105
105
|
패키지를 공개해도 호스팅 서비스의 가용성이 보장되지는 않습니다.
|
|
106
106
|
블라인드 Relay는 애플리케이션 메시지 내용을 복호화할 수 없습니다.
|
|
107
107
|
[MCP(Model Context Protocol)·Codex 플러그인](https://github.com/abruption/session-peer/blob/main/docs/ko/mcp.md)은 Python 3.10 이상과
|
|
108
|
-
`session-peer[mcp]`가 필요하며, MCP wake
|
|
108
|
+
`session-peer[mcp]`가 필요하며, MCP 전송에서 실제 wake를 요청하려면 `send`와 `wake` 권한이 모두 필요합니다.
|
|
109
109
|
[Wake](https://github.com/abruption/session-peer/blob/main/docs/ko/wake.md)는 명시적으로 요청한 경우에만 실행됩니다.
|
|
110
110
|
턴을 시작하고 사용량을 소비하거나 프로젝트 파일을 변경할 수 있습니다.
|
|
111
111
|
[Antigravity 브리지](https://github.com/abruption/session-peer/blob/main/docs/ko/antigravity.md)는 실험 단계입니다.
|
|
@@ -33,7 +33,7 @@ in this ~22-second animation, not a screen recording; send success alone is not
|
|
|
33
33
|
### Install
|
|
34
34
|
|
|
35
35
|
Python 3.9+. The core local/SSH CLI has no third-party Python dependencies.
|
|
36
|
-
Source version: **1.3.3
|
|
36
|
+
Source version: **1.4.0** (at the 2026-11-02 preparation checkpoint: unpublished candidate; latest published version 1.3.3). The [release notes](docs/releases/v1.4.0.md) describe bounded MCP discovery, delivery preflight and diagnostics, route presets, and the independent skill proposal. Python publication, Node Control deployment and independently managed skill updates are separate.
|
|
37
37
|
|
|
38
38
|
The optional [MCP extra](docs/mcp.md) now requires `mcp>=1.30,<2`; its Python 3.10+ requirement and the dependency-free Python 3.9 core remain unchanged. Existing MCP environments need an explicit package upgrade.
|
|
39
39
|
|
|
@@ -105,7 +105,7 @@ require Unix, Python 3.11+, and `session-peer[relay]`, with pinned identities an
|
|
|
105
105
|
explicit receiver policy. Package publication does not guarantee hosted-service availability.
|
|
106
106
|
The blind Relay cannot decrypt application message content.
|
|
107
107
|
[MCP / Codex plugin](https://github.com/abruption/session-peer/blob/main/docs/mcp.md) requires Python 3.10+
|
|
108
|
-
and `session-peer[mcp]`; MCP wake
|
|
108
|
+
and `session-peer[mcp]`; MCP sends that actually request wake require both `send` and `wake` capabilities.
|
|
109
109
|
[Wake](https://github.com/abruption/session-peer/blob/main/docs/wake.md) runs only when explicitly requested
|
|
110
110
|
and can start a turn, consume usage, and change project files.
|
|
111
111
|
The [Antigravity bridge](https://github.com/abruption/session-peer/blob/main/docs/antigravity.md) remains experimental.
|
|
@@ -33,7 +33,7 @@ session-peer使用各智能体自身的收件箱和队列;接收方智能体
|
|
|
33
33
|
### 安装
|
|
34
34
|
|
|
35
35
|
需要Python 3.9或更高版本。核心本地与SSH CLI没有第三方Python依赖。
|
|
36
|
-
源码版本:**1.3.3
|
|
36
|
+
源码版本:**1.4.0**(截至2026-11-02准备检查点:尚未发布的候选版本,当时最新已发布版本为1.3.3)。[发布说明](docs/zh-CN/releases/v1.4.0.md)介绍有限范围的MCP发现、传递预检与诊断、路由预设及独立技能提案。Python发布、Node Control部署及独立管理的技能更新是不同的工作。
|
|
37
37
|
|
|
38
38
|
可选的[MCP extra](docs/zh-CN/mcp.md)现在要求`mcp>=1.30,<2`;MCP的Python 3.10+要求和无外部依赖的Python 3.9核心保持不变。现有MCP环境需要显式升级软件包。
|
|
39
39
|
|
|
@@ -105,7 +105,7 @@ Unix、Python 3.11以上和 `session-peer[relay]`,并要求固定设备身份
|
|
|
105
105
|
软件包发布不保证托管服务可用性。
|
|
106
106
|
盲转发Relay无法解密应用消息的内容。
|
|
107
107
|
[MCP与Codex插件](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/mcp.md)需要Python 3.10以上及
|
|
108
|
-
`session-peer[mcp]`;MCP wake
|
|
108
|
+
`session-peer[mcp]`;MCP 发送中实际请求 wake 时,需要同时具备 `send` 和 `wake` 两项能力。
|
|
109
109
|
[Wake](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/wake.md)仅在显式请求时运行,
|
|
110
110
|
可能启动一轮任务、消耗使用额度或修改项目文件。
|
|
111
111
|
[Antigravity桥接](https://github.com/abruption/session-peer/blob/main/docs/zh-CN/antigravity.md)仍处于实验阶段。
|
|
@@ -24,6 +24,8 @@ installation paths.
|
|
|
24
24
|
|
|
25
25
|
## Development and history
|
|
26
26
|
|
|
27
|
+
- [v1.4.0 preparation](releases/v1.4.0.md) records the merged MCP policy, preflight, diagnostics and preset changes at the 2026-11-02 source checkpoint; publication and independent skill adoption remain separate.
|
|
28
|
+
|
|
27
29
|
- [v1.3.3 maintenance preparation](releases/v1.3.3.md) covers Python 3.14 CI/metadata, contributor and publication guidance, and the verified compatibility skill v0.4.1 snapshot. Publication and operational deployment remain separate.
|
|
28
30
|
|
|
29
31
|
- [v1.3.2 maintenance notes](releases/v1.3.2.md) explain macOS firewall approval, Direct listener/TLS diagnostics, the MCP SDK floor and the Control security update outside Python archives, which requires a separate rollout.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# session-peer CLI reference
|
|
2
2
|
|
|
3
|
+
Source checkpoint 2026-11-02: the v1.4.0 source features below are prepared against published v1.3.3, not an availability announcement. Check the [release notes](releases/v1.4.0.md) and actual GitHub/PyPI publication before using them.
|
|
4
|
+
|
|
3
5
|
[Back to the overview](../README.md)
|
|
4
6
|
|
|
5
7
|
Detailed command behavior, installation options, transport limits, and historical validation follow below.
|
|
@@ -85,6 +87,14 @@ This scope is text-only: combining `--explain` with `--json` or `--output-format
|
|
|
85
87
|
|
|
86
88
|
For send, the normal message requirement and limits still apply: supply `--message`, `--message-file` or stdin as usual; no placeholder body is generated. Explanation fields do not include the body or receipt secrets. Normal explanations use stdout; failed results or unexpected submission evidence use stderr, without moving existing summary/error output. Unknown evidence stays unknown, and an uncertain actual send must never trigger automatic resend.
|
|
87
89
|
|
|
90
|
+
<a id="unreleased-v140-candidate-structured-send-preview-357"></a>
|
|
91
|
+
|
|
92
|
+
### v1.4.0 source: structured send preview (#357)
|
|
93
|
+
|
|
94
|
+
`send --dry-run --explain-json` opts into a versioned, allowlisted JSON explanation for local or SSH validation. It uses the same classification as the text preview and the native response before SSH adapter shaping. Normal message inputs and limits apply; no placeholder body is generated. The output excludes message contents, raw errors and paths. Unknown or unexpected submission evidence fails validation and does not authorize automatic retry.
|
|
95
|
+
|
|
96
|
+
`--explain-json` may be combined with `--json`, but requires `--dry-run` and rejects `--explain`, paired-device and experimental handoff modes before message input or destination work. Existing `--explain` stays text-only, and ordinary CLI JSON remains unchanged. Existing dry-run probes may start local/version processes or SSH connections, but this mode does not enqueue, post, start a model, reserve wake budget or create handoff authority. A passing preview is a point-in-time check, not approval, a reservation, later-send safety, consumption or ACK.
|
|
97
|
+
|
|
88
98
|
### Optional paired devices and Antigravity (v0.9)
|
|
89
99
|
|
|
90
100
|
These features are available starting with PyPI v0.9.0. Antigravity remains
|
|
@@ -213,6 +223,20 @@ Checked ancestors must be owned by root or the current user and not writable by
|
|
|
213
223
|
|
|
214
224
|
On macOS, mounts that ignore ownership are refused with `preset_ownership_unenforced`; an unavailable or unverifiable mount query is refused with `preset_mount_unverifiable`. Mode bits alone are not treated as proof that ownership is enforced. On Linux, ACLs on ancestors are also refused, as are filesystems whose ACL state cannot be verified. After an interrupted management command, inspect the current configuration because the change may already be visible; directory-sync failures are not silently accepted.
|
|
215
225
|
|
|
226
|
+
<a id="unreleased-v140-candidate-mcp-presets-359"></a>
|
|
227
|
+
|
|
228
|
+
### v1.4.0 source: MCP presets (#359)
|
|
229
|
+
|
|
230
|
+
Input signatures: `list_sessions(destination="local", agent=null, include_inactive=false, preset=null, preset_revision=null)`; `send_message(destination, target, message, dry_run=false, wake=false, wake_timeout=30, preset=null, preset_revision=null)`; `preflight_send(destination, target, message, wake=false, wake_timeout=30, preset=null, preset_revision=null)`.
|
|
231
|
+
|
|
232
|
+
MCP preset lookup and selection use an explicit operator allowlist and the existing secure snapshot reader; they add no CLI preset-management commands or automatic selection. See [MCP preset policy and limits](mcp.md). MCP selection expands an approved route instead of combining CLI `--preset` with explicit routing flags. Existing CLI output, revision and filesystem-security contracts remain unchanged.
|
|
233
|
+
|
|
234
|
+
For MCP `list_sessions`, `preflight_send` and `send_message`, optional `preset` and `preset_revision` inputs require both the existing action permission and `presets`. Actual sends require the current `dp1:` revision and an explicit target. Wake and Reply-To URI combinations are rejected. A revision is checked during lookup, not as a target generation or authority, and later changes cannot cancel a route already expanded for invocation.
|
|
235
|
+
|
|
236
|
+
The new 64 KiB tool-result budget applies only to the `list_presets` metadata query. A preset is only a route selector for existing actions, with the same action authorization and exact policy-route matching. Successful `list_sessions` and `send_message` responses keep the existing CLI schema and native payload, without preset metadata, a new command or an added data projection. Existing native evidence and transport limits remain intact; real sends gain no aggregate 64 KiB limit. Inspect revisions separately with `list_presets`. Selected `preflight_send` may include only safe preset metadata: `name`, `agent`, `transport` and `revision`.
|
|
237
|
+
|
|
238
|
+
If any approved item is missing or its route mismatches policy, the whole metadata lookup is refused atomically. Fixed selector refusal codes include `preset_platform_unsupported`, `preset_route_unsupported`, `preset_revision_mismatch` and `preset_storage_unavailable`; no management or filesystem repair is attempted. Metadata-query failures precede invocation. After invocation, I/O or actual-send decode failure may follow submission: report `outcome_unknown` with `retryAllowed=false` and never retry automatically. Preserve any known native queued/submitted evidence.
|
|
239
|
+
|
|
216
240
|
<a id="recipient-addressbook-development"></a>
|
|
217
241
|
|
|
218
242
|
### Recipient addressbook (v1.3.0)
|
|
@@ -415,7 +439,7 @@ Repeat `--host` to operate on several SSH destinations. `--json` is available on
|
|
|
415
439
|
|
|
416
440
|
### JSON response contract
|
|
417
441
|
|
|
418
|
-
|
|
442
|
+
Ordinary `--json` results from `list`, `send`, `doctor`, and `update` use the following schema-versioned envelope. The opt-in `--explain-json` output (`send.preflight`) and MCP metadata/preflight projections have separate documented schemas and intentionally omit `host`; do not add a host or infer a route from its absence:
|
|
419
443
|
|
|
420
444
|
```json
|
|
421
445
|
{
|
|
@@ -901,6 +925,24 @@ executable and bounded home/state DB candidates, unsupported DB schemas, and
|
|
|
901
925
|
permission or unknown failures as distinct codes. It does not connect to an
|
|
902
926
|
inbox, write a queue, scan arbitrary directories, or alter agent/SSH settings.
|
|
903
927
|
|
|
928
|
+
v1.4.0 source (#358): `doctor --agent NAME` restricts checks and declared agent capabilities to the selected registered agent, including execution over SSH. It also skips the shared installed-skill inventory. `doctor --agent codex --selected-home-only --codex-home /absolute/home` checks only the selected Codex home and skips the inventory of other homes. These options do not enable reverse-route checks. Without them, existing all-agent and bounded multi-home diagnostics keep their behavior.
|
|
929
|
+
|
|
930
|
+
The MCP wrapper supports only the following checks and effects:
|
|
931
|
+
|
|
932
|
+
| Mode / agent | Checked facts | Process / connection effects |
|
|
933
|
+
| --- | --- | --- |
|
|
934
|
+
| Metadata | Policy and adapter declarations | None |
|
|
935
|
+
| Active Claude | Registry records, process identity metadata and filesystem inbox presence | No inbox connection |
|
|
936
|
+
| Active Codex | Executable presence, selected-home read-only SQLite queries and bounded writer scan | No native Codex execution or version query |
|
|
937
|
+
| Active Antigravity | Registered bridge metadata | No bridge or native RPC |
|
|
938
|
+
| Active SSH | Configured forward route, only after explicit probe permission | SSH configuration may execute commands; no reverse probe or automatic connection back to a return host |
|
|
939
|
+
|
|
940
|
+
Representative allowlisted codes include `sessions_dir_missing`, `inbox_present`, `codex_executable_missing`, `state_db_readable`, `unsaved_writer_check_unavailable` and `adapter_failed`. Results are limited to permitted agents and at most 32 checks per agent; these codes describe only the bounded scope above.
|
|
941
|
+
|
|
942
|
+
`ok` describes collection and format completeness, not availability. A complete `missing_home` result can have `ok=true`; read each agent's status separately. `diagnosticEvidence` is `point_in_time_only` for active results and `not_collected` in metadata mode. `readiness` remains `not_checked` because no per-target readiness is tested. A passing `state_db_readable` check means only that the read-only database query succeeded; it is not an effective-storage attestation or a return-route guarantee.
|
|
943
|
+
|
|
944
|
+
The stages `tcpAccept`, `tls` and `peerAuthentication` remain `not_checked`. Here `peerAuthentication` refers to paired-device authentication, separate from forward SSH authentication. `sshFailure` reports only a sanitized forward SSH failure category, such as `authentication_failed` or `host_key_failed`. No TCP, TLS, paired-device or return-host probe is added.
|
|
945
|
+
|
|
904
946
|
Reverse SSH is checked only with `--check-return-route`. The destination runs a
|
|
905
947
|
fixed `ssh ... true` probe with prompts, password authentication, host-key
|
|
906
948
|
enrollment, and config mutation disabled. Forward SSH success is never reused as
|
|
@@ -7,21 +7,21 @@
|
|
|
7
7
|
"zh-CN"
|
|
8
8
|
],
|
|
9
9
|
"sources": {
|
|
10
|
-
"README.md": "
|
|
11
|
-
"RELEASING.md": "
|
|
10
|
+
"README.md": "c0544fa8aed25891574805e6c9098dc8ee824b8669e16c34607cf82ec546a77f",
|
|
11
|
+
"RELEASING.md": "641babb664eb71da2425ec3ae666b843773350017a489076dcae29cd3a320db1",
|
|
12
12
|
"SECURITY.md": "8f018f6f98002312e143609b9734aeb971ca5217e146597c06b57b5645031046",
|
|
13
|
-
"docs/README.md": "
|
|
13
|
+
"docs/README.md": "28c870c47298c52bd7d3d27d7b940d74e7bdd4a9b7a69000ed2bee7ea5d6fd0b",
|
|
14
14
|
"docs/agent-adapters.md": "bf185d3121c94829bb412071a25c4d943302e10a6b2e713111e653b8f8c3ea91",
|
|
15
15
|
"docs/ai-assistant-guide.md": "9624ec96b92fb688fae3be3c94cb3564c77985091be451fbf1f056a1af9b9d9c",
|
|
16
16
|
"docs/antigravity.md": "f2b5122a0ce6e6fb5bd4d8ed50ce2c8bd2dc9c98ec8ce328405cf7c2cd24229d",
|
|
17
17
|
"docs/architecture/agent-transports.md": "01a4e3942e87acb476595859f2e37f9653ea1e3bc19ebc68dced1adf20a6966f",
|
|
18
|
-
"docs/cli-reference.md": "
|
|
18
|
+
"docs/cli-reference.md": "c7836b27ffd6e1a4f0988846de4d3746a0a3242c9b5c54ae82c22e13e95065a7",
|
|
19
19
|
"docs/compatibility-v1.md": "7e551aad37a369faff7e370728376763efb54c2c9e9cfd8556a0c19aabc3d103",
|
|
20
20
|
"docs/contracts/handoff-v1.md": "46a953010c49214bd8f969412f26713384fbe09a0ba78ebf0fef75da40d0d889",
|
|
21
21
|
"docs/diagnostics.md": "0949e53612eeab2cd7c7bbda498e14d71e9cb1b1189aa7722030cb8702cd8481",
|
|
22
22
|
"docs/download-metrics.md": "a537300d3fe2b60273b6f4bd84e0ae0944364fda3881d7fb7e32ce665dc2c724",
|
|
23
23
|
"docs/handoff-runtime.md": "a236e48392c91eca0f7c3734a6008a991955ae66d16fd71f97691aac5bf0091f",
|
|
24
|
-
"docs/mcp.md": "
|
|
24
|
+
"docs/mcp.md": "80341daf0ae71ba618a6fea836921f2c8a42338cb27210cc030bae53d0da95f6",
|
|
25
25
|
"docs/multi-home-list.md": "f8d8e3adf727e4842ea7c4d45e8f6523b11d0513bf2509d4d1204645875e6489",
|
|
26
26
|
"docs/paired-devices.md": "1c6cf45187fdbac5a21e43968bc0cc39aee05af19904b4d176f1dd2a70065303",
|
|
27
27
|
"docs/relay-auth.md": "e6da5291ce6a9da31e79e66ceeff7e9fef7e95046359acbf04d708c96ffab62f",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"docs/releases/v1.3.1.md": "1600b3f6e708ded1cd5d0cad7b5f2d78244e0e4b01d122d727f2a692fccaf652",
|
|
57
57
|
"docs/releases/v1.3.2.md": "980437303a02644814116b12279d14bf83e6b50c87eab2e0c88e433808f372e3",
|
|
58
58
|
"docs/releases/v1.3.3.md": "bb2707cc5ef4b763ee61a804fd8ce75b762731b16681ac6c322636a35657b892",
|
|
59
|
+
"docs/releases/v1.4.0.md": "6ab3365b9c286f81395cac99bb896e06ee1ee3ea759267b6bbe0e1623c76832f",
|
|
59
60
|
"docs/validation/69-rc.md": "e490c6a9ad0fec9108b91c74922cedac7ddf214ed405f8f5523da22f48a4b222",
|
|
60
61
|
"docs/validation/85-antigravity.md": "f89b175191cd98ab03d4029b487065133814b3c8dd8de8cd0a5cc367e2579e4f",
|
|
61
62
|
"docs/wake.md": "cde135da2ea7be21c815bb265e694f737dbe467d8e76bb82eb118e3b86e29d22",
|
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
## 開発と履歴
|
|
25
25
|
|
|
26
|
+
- [v1.4.0準備](releases/v1.4.0.md)は、2026-11-02のソース確認時点でマージ済みのMCPポリシー、事前検査、診断、プリセットの変更を記録します。公開と独立したスキルの適用は別です。
|
|
27
|
+
|
|
26
28
|
- [v1.3.3 メンテナンス準備](releases/v1.3.3.md)は、Python 3.14 の CI・メタデータ、投稿・公開の案内、検証済みの互換スキル v0.4.1 コピーを扱います。公開と運用への配備は別です。
|
|
27
29
|
|
|
28
30
|
- [v1.3.2メンテナンス案内](releases/v1.3.2.md)ではmacOSのファイアウォール承認、Directリスナー・TLS診断、MCP SDK下限、Python配布物の外にあるControlのセキュリティ更新と別途の配備について説明します。
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# session-peer CLI リファレンス
|
|
2
2
|
|
|
3
|
+
2026-11-02のソース確認時点では、以下のv1.4.0ソース機能は公開済みv1.3.3を基に準備したもので、利用可能になったことの告知ではありません。利用前に[リリースノート](releases/v1.4.0.md)と実際のGitHub/PyPIの公開状況を確認してください。
|
|
4
|
+
|
|
3
5
|
[概要に戻る](../../README.ja.md)
|
|
4
6
|
|
|
5
7
|
## 受信セッションの世代を固定する条件(開発中)
|
|
@@ -118,6 +120,14 @@ Handoff status は読み取り専用スナップショットを再利用し、in
|
|
|
118
120
|
|
|
119
121
|
Send の通常のメッセージ入力要件と上限は変わりません。従来どおり `--message`、`--message-file` または stdin を使い、仮の本文は自動生成しません。説明フィールドに本文や receipt の秘密値は含めません。通常の説明は stdout に、失敗した結果や予期しない投入の証拠に関する説明は stderr に出力し、既存の要約・エラーの出力先は変えません。不明な証拠は不明のまま表示し、実際の送信結果が不確実な場合は自動再送しません。
|
|
120
122
|
|
|
123
|
+
<a id="未リリースの-v140-候補-構造化された送信プレビュー-357"></a>
|
|
124
|
+
|
|
125
|
+
### v1.4.0 ソース: 構造化された送信プレビュー (#357)
|
|
126
|
+
|
|
127
|
+
`send --dry-run --explain-json` は、ローカルまたは SSH の検証について、バージョン付きで許可されたフィールドだけの JSON 説明を出力する選択肢です。テキストプレビューと同じ分類を使用し、SSH アダプターによる整形前のネイティブ応答を基にします。通常のメッセージ入力と上限が適用され、仮の本文は生成しません。出力にメッセージ本文、生のエラー、パスは含めません。結果が不明な場合や予期しない投入の証拠がある場合は検証に失敗し、自動再試行を許可しません。
|
|
128
|
+
|
|
129
|
+
`--explain-json` は `--json` と併用できますが、`--dry-run` が必須です。メッセージ入力や宛先処理の前に、`--explain`、ペアリング済みデバイス、実験的 handoff モードとの組み合わせを拒否します。既存の `--explain` はテキスト専用のままで、通常の CLI JSON は変わりません。既存の dry-run 検査はローカル・バージョン確認のプロセスや SSH 接続を開始する場合がありますが、このモードはキュー投入、inbox への送信、モデルの開始、wake 予算の予約、handoff 権限の作成を行いません。プレビューの合格は検査時点の結果であり、承認、予約、後の送信の安全性、消費、ACK を意味しません。
|
|
130
|
+
|
|
121
131
|
### オプションのペアリング済みデバイスと Antigravity (v0.9)
|
|
122
132
|
|
|
123
133
|
これらの機能は PyPI v0.9.0 以降で利用可能です。Antigravity は引き続き
|
|
@@ -203,6 +213,20 @@ UUID は現在の一覧で確認した値に、ハッシュは選択したプリ
|
|
|
203
213
|
|
|
204
214
|
macOS で所有権を無視するマウントは `preset_ownership_unenforced`、マウント照会が利用できない、または検証できない場合は `preset_mount_unverifiable` で拒否します。モードビットだけを所有権が強制される証拠とは扱いません。Linux では上位経路の ACL も、ACL 状態を検証できないファイルシステムも拒否します。管理コマンドを中断した後は、変更が既に見えている可能性があるため現在の設定を確認してください。ディレクトリの同期失敗を黙って成功とは扱いません。
|
|
205
215
|
|
|
216
|
+
<a id="未リリースの-v140-候補-mcp-プリセット-359"></a>
|
|
217
|
+
|
|
218
|
+
### v1.4.0 ソース: MCP プリセット (#359)
|
|
219
|
+
|
|
220
|
+
入力シグネチャ: `list_sessions(destination="local", agent=null, include_inactive=false, preset=null, preset_revision=null)`; `send_message(destination, target, message, dry_run=false, wake=false, wake_timeout=30, preset=null, preset_revision=null)`; `preflight_send(destination, target, message, wake=false, wake_timeout=30, preset=null, preset_revision=null)`.
|
|
221
|
+
|
|
222
|
+
MCP プリセットの参照と選択では、オペレーターの明示的な許可リストと既存の安全なスナップショット読み取り関数を使います。CLI のプリセット管理コマンドや自動選択は追加しません。[MCP プリセットのポリシーと制限](mcp.md)を参照してください。MCP の選択では、CLI の `--preset` と明示的な経路フラグを組み合わせず、承認済みの経路を展開します。既存の CLI 出力、リビジョン、ファイルシステムの安全性に関する契約は変わりません。
|
|
223
|
+
|
|
224
|
+
MCP の `list_sessions`、`preflight_send`、`send_message` で任意の `preset`、`preset_revision` を指定するには、既存の操作権限と `presets` の両方が必要です。実際の送信には、現在の `dp1:` リビジョンと明示的な対象が必要です。wake や Reply-To URI との組み合わせは拒否します。リビジョンは参照時に確認するもので、対象の世代や権限ではありません。その後の変更で、呼び出し用にすでに展開された経路を取り消すことはできません。
|
|
225
|
+
|
|
226
|
+
新しい 64 KiB のツール結果制限は `list_presets` のメタデータ参照だけに適用されます。プリセットは既存の操作の経路選択だけを担い、同じ操作権限とポリシー経路との完全一致を要求します。成功した `list_sessions` と `send_message` の応答では、プリセットのメタデータ、新しいコマンド名、追加のデータ射影を加えず、既存の CLI スキーマとネイティブのペイロードを維持します。既存のネイティブ証拠と通信上の制限を保ち、実際の送信に合計 64 KiB の制限を新設しません。リビジョンは `list_presets` で別途確認してください。選択済みの `preflight_send` に追加できるプリセットのメタデータは、安全な `name`、`agent`、`transport`、`revision` のみです。
|
|
227
|
+
|
|
228
|
+
承認済みの項目が一つでも欠落しているか、経路がポリシーと一致しない場合、メタデータ参照全体を原子的に拒否します。固定の選択拒否コードには `preset_platform_unsupported`、`preset_route_unsupported`、`preset_revision_mismatch`、`preset_storage_unavailable` があり、管理操作やファイルシステムの修復は行いません。メタデータ参照のエラーは呼び出し前に発生します。呼び出し後の入出力エラーや実際の送信応答のデコード失敗は、送信後に起きる場合もあるため、`outcome_unknown` と `retryAllowed=false` を報告し、自動再試行しないでください。確認済みのネイティブのキュー登録・送信証拠は保持します。
|
|
229
|
+
|
|
206
230
|
<a id="受信先アドレス帳開発中"></a>
|
|
207
231
|
|
|
208
232
|
### 受信先アドレス帳(v1.3.0)
|
|
@@ -406,7 +430,7 @@ session-peer send --to 'session-peer://v1/reply?agent=claude&session=api-worker&
|
|
|
406
430
|
|
|
407
431
|
### JSON レスポンス規約
|
|
408
432
|
|
|
409
|
-
|
|
433
|
+
`list`、`send`、`doctor`、`update` の通常の `--json` 結果には、次のスキーマバージョン付きエンベロープを使います。選択式の `--explain-json` 出力(`send.preflight`)と MCP のメタデータ・事前検査応答は、別途文書化されたスキーマを使い、`host` を意図的に省きます。ホストを補ったり、フィールドの欠如から経路を推測したりしないでください:
|
|
410
434
|
|
|
411
435
|
```json
|
|
412
436
|
{
|
|
@@ -846,6 +870,24 @@ Codex メッセージは、測定された Codex サーバーの制限ではな
|
|
|
846
870
|
不明な障害を個別のコードとして報告します。受信トレイへの接続、キューへの書き込み、
|
|
847
871
|
任意のディレクトリのスキャン、エージェント/SSH 設定の変更は行いません。
|
|
848
872
|
|
|
873
|
+
v1.4.0 ソース (#358): `doctor --agent NAME` は SSH 経由も含め、チェックと宣言されたエージェント機能を選択した登録済みエージェントに限定し、共通のインストール済みスキル一覧の検査も省略します。`doctor --agent codex --selected-home-only --codex-home /absolute/home` は選択した Codex ホームのみを検査し、他のホームの一覧確認を省略します。これらのオプションは逆方向経路のチェックを有効にしません。省略すると、既存の全エージェントおよび制限付き複数ホーム診断の動作を維持します。
|
|
874
|
+
|
|
875
|
+
MCP ラッパーが対応する検査と実行上の影響は、次の範囲に限られます。
|
|
876
|
+
|
|
877
|
+
| モード / エージェント | 確認する事実 | プロセス / 接続への影響 |
|
|
878
|
+
| --- | --- | --- |
|
|
879
|
+
| メタデータ | ポリシーとアダプターの宣言 | なし |
|
|
880
|
+
| 能動 Claude | 登録記録、プロセス識別メタデータ、ファイルシステム上の受信箱の存在 | 受信箱には接続しない |
|
|
881
|
+
| 能動 Codex | 実行ファイルの存在、選択したホームの読み取り専用 SQLite クエリ、制限付き writer 走査 | ネイティブ Codex の実行やバージョン照会はしない |
|
|
882
|
+
| 能動 Antigravity | 登録されたブリッジのメタデータ | ブリッジやネイティブへの RPC はしない |
|
|
883
|
+
| 能動 SSH | 明示的なプローブ権限を得た後、設定済みの順方向経路のみ | SSH 設定がコマンドを実行する場合がある。逆方向プローブや返信先ホストへの自動接続はしない |
|
|
884
|
+
|
|
885
|
+
許可されたコードの例は `sessions_dir_missing`、`inbox_present`、`codex_executable_missing`、`state_db_readable`、`unsaved_writer_check_unavailable`、`adapter_failed` です。結果は許可されたエージェントと、エージェントごとに最大 32 件のチェックに限られ、これらのコードが示すのは上記の限定範囲のみです。
|
|
886
|
+
|
|
887
|
+
`ok` は可用性ではなく、収集と形式の完全性を示します。完全な `missing_home` 結果でも `ok=true` になり得るため、各エージェントの状態は別途確認してください。`diagnosticEvidence` は能動結果では `point_in_time_only`、メタデータモードでは `not_collected` です。個別の対象の準備状態は検査しないため、`readiness` は `not_checked` のままです。`state_db_readable` の合格は読み取り専用 DB クエリの成功だけを意味し、有効なストレージの証明や返信経路の保証ではありません。
|
|
888
|
+
|
|
889
|
+
`tcpAccept`、`tls`、`peerAuthentication` の段階は `not_checked` のままです。ここでの `peerAuthentication` はペアリングされたデバイスの認証を指し、順方向 SSH 認証とは別です。`sshFailure` は `authentication_failed` や `host_key_failed` など、サニタイズされた順方向 SSH 失敗の分類だけを報告します。TCP、TLS、ペアリングされたデバイス、返信先ホストへのプローブは追加しません。
|
|
890
|
+
|
|
849
891
|
リバース SSH は `--check-return-route` を指定した場合にのみチェックされます。送信先は、
|
|
850
892
|
プロンプト、パスワード認証、ホストキー登録、および設定変更を無効にした状態で、
|
|
851
893
|
固定の `ssh ... true` プローブを実行します。フォワード SSH の成功が、リバースパスが機能する
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# オプションの Codex MCP 統合
|
|
2
|
+
|
|
3
|
+
2026-11-02のソース確認時点では、以下のv1.4.0機能は公開済みv1.3.3を基に準備したもので、公開の告知ではありません。利用前に[リリースノート](releases/v1.4.0.md)と実際のGitHub/PyPIの公開状況を確認してください。
|
|
4
|
+
|
|
5
|
+
Python 3.10 以降でインストールします: `pipx install 'session-peer[mcp]'`(または隔離された venv にエクストラをインストール)。依存関係のない Python 3.9 CLI および `install.sh` は引き続きサポートされます。シェルインストーラーは MCP の依存関係をインストールしません。Python 3.9 では、MCP エントリポイントが Python 3.10+ が必要である旨を報告します。
|
|
6
|
+
|
|
7
|
+
任意のエクストラはMCP SDK `mcp>=1.30,<2`を必要とします。上流の1.xセキュリティ修正を含む版まで依存関係の下限を引き上げるもので、stdio専用のこのサーバーで悪用可能な欠陥を確認したという意味ではありません。HTTP転送、OAuthサーバー経路、MCPクライアント経路は有効にしません。既存環境では明示的なパッケージ更新が必要で、宣言の変更だけではインストール済みSDKは更新されません。
|
|
8
|
+
|
|
9
|
+
`session-peer-mcp --config /absolute/path/policy.json` を起動します。ポリシーがない場合、サーバーは起動環境の Codex ホームを使用して、ローカルの一覧取得のみを許可します。ポリシーを指定するとデフォルトが置き換えられます。例:
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{
|
|
13
|
+
"schemaVersion": 1,
|
|
14
|
+
"destinations": {
|
|
15
|
+
"local": {
|
|
16
|
+
"agents": ["claude", "codex"],
|
|
17
|
+
"capabilities": ["list"],
|
|
18
|
+
"codexHome": "/Users/me/.codex"
|
|
19
|
+
},
|
|
20
|
+
"worker": {
|
|
21
|
+
"host": "ubuntu@worker.example.ts.net",
|
|
22
|
+
"agents": ["claude", "codex"],
|
|
23
|
+
"capabilities": ["list", "send"],
|
|
24
|
+
"codexHome": "/home/ubuntu/.codex"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
実際のユーザー名と SSH 送信先、設定済みの鍵、および known_hosts を使用してください。このファイルにパスワードを含めてはなりません。すべての Codex 送信先は、その送信先での絶対パスのホームを固定する必要があります。ホームを追加する場合は、個別の送信先 ID を追加してください。信頼できないプロセスによる変更からポリシーを保護してください。SSH 設定はオペレーターが管理する状態を維持します。
|
|
31
|
+
|
|
32
|
+
`codex mcp add session-peer -- /absolute/path/session-peer-mcp --config /absolute/path/policy.json` を使用して登録するか、リポジトリの `plugins/session-peer` バンドルを使用します: `codex plugin marketplace add /absolute/path/to/session-peer`、続いて `codex plugin add session-peer@session-peer`。このプラグインは PATH から `session-peer-mcp` を起動し、環境変数に設定されている場合は `SESSION_PEER_MCP_CONFIG` を読み取ります。最初に Python エクストラをインストールしてください。Python パッケージをインストールしても、既存の Codex 設定が変更されることはありません。
|
|
33
|
+
|
|
34
|
+
<a id="未リリースの-v140-候補-宛先メタデータの取得-356"></a>
|
|
35
|
+
|
|
36
|
+
## v1.4.0 ソース: 宛先メタデータの取得 (#356)
|
|
37
|
+
|
|
38
|
+
`list_destinations()` は引数を取らず、オペレーターのポリシーのメタデータだけを返します。`schemaVersion` は 1 で、各項目には `destination`、`transport`、`agents`、`capabilities` が含まれます。子プロセスの起動やネットワークリクエストは行いません。SSH ホストの値と Codex ホームのパスは省略されます。送信先の名前は信頼できないデータとして扱ってください。設定されたケーパビリティはポリシー上の権限を示し、ネイティブエージェントとの互換性は示しません。
|
|
39
|
+
|
|
40
|
+
応答には制約を明示します: `callerIdentity="unavailable"`、`readiness="not_checked"`、`submission="not_attempted"`、`consumption="not_checked"`、`ack="not_checked"`。このツールは宛先が64件を超える場合や、IDに表示できない文字がある場合、UTF-8で128バイトを超える場合に取得を拒否します。テキストと構造化データを合わせたMCPツール結果は64 KiB以内で、外側のJSON-RPCエンベロープは含みません。これは取得ツールの制限であり、ポリシーの読み込みと既存ツールの動作は変わりません。表示可能な文字の判定は、実行中のPythonのUnicodeデータベースに従います。既定のローカル一覧取得専用ポリシーは変わりません。
|
|
41
|
+
|
|
42
|
+
<a id="未リリースの-v140-候補-送信の事前検証-357"></a>
|
|
43
|
+
|
|
44
|
+
## v1.4.0 ソース: 送信の事前検証 (#357)
|
|
45
|
+
|
|
46
|
+
`preflight_send(destination, target, message, wake=false, wake_timeout=30, preset=null, preset_revision=null)` は、既存の CLI dry-run 検査で通常のメッセージを検証します。オペレーターのポリシーは `schemaVersion` 2 を使用し、送信先とエージェントに対して `preflight` を明示的に許可する必要があります。バージョン 1 の既存のケーパビリティには新たな権限を追加せず、既定はローカル一覧取得専用のままです。事前検証に `send` は不要で、送信を許可するものではありません。wake の適格性を調べる場合は別途 `wake` が必要ですが、モデルの起動や wake 予算の予約は行いません。
|
|
47
|
+
|
|
48
|
+
バージョン付きの説明は、SSH アダプターによる整形前のネイティブ応答から許可された事実だけを抽出し、定められた拒否・不明の理由とオペレーターの対処を示します。メッセージ本文、生のエラー、認証情報、ホスト・ホームのパス、ネイティブの記録は含めません。結果が不明な場合や予期しない投入の証拠がある場合は、`retryAllowed=false` として検証に失敗します。自動再送しないでください。事前検証はメッセージの投入や handoff 権限の作成を行いません。デバイスと handoff のモードには対応しません。
|
|
49
|
+
|
|
50
|
+
既存の dry-run 検査はローカル・バージョン確認のプロセスや SSH 接続を開始する場合があり、SSH 設定自体がコマンドを実行する場合もあります。このため、このツールは `readOnlyHint=false` と `openWorldHint=true` を使用します。ホストの承認はポリシーの権限とは別です。合格は検査時点の結果であり、経路の予約、有効なストレージの証明、承認、後の送信の保証、消費、ACK を意味しません。
|
|
51
|
+
|
|
52
|
+
<a id="未リリースの-v140-候補-制限付き診断-358"></a>
|
|
53
|
+
|
|
54
|
+
## v1.4.0 ソース: 制限付き診断 (#358)
|
|
55
|
+
|
|
56
|
+
`diagnose_destination(destination="local", agent=null, active_probe=false)` には、`schemaVersion` 2 ポリシーで明示的な `diagnostics` 権限が必要です。既定モードはポリシーのメタデータと宣言されたエージェント機能のみを返し、CLI や検出プロセスの起動、ネットワーク要求は行いません。送信先 ID には送信先検出と同じ、表示可能文字と UTF-8 128 バイトの制限が適用されます。バージョン 1 と既定ポリシーは診断権限を付与しません。 既定モードの `declaredCapabilities` はアダプターの宣言に基づくブール値であり、実際の配信や準備状態を証明しません。
|
|
57
|
+
|
|
58
|
+
`active_probe=true` には、さらに `diagnostics_probe` が必要です。メタデータモードは全プラットフォームで利用できます。能動モードは現在 macOS と Linux のみをサポートし、Windows では CLI プロセスの起動やネットワーク要求を行わず、固定理由 `diagnostics_platform_unsupported` を返します。チェックは設定された送信先、固定された Codex ホームと許可されたエージェントのみを使用します。エージェントごとの doctor 呼び出しは最大 3 エージェントを検査し、20 秒の実行予算を共有した後にプロセスを終了処理します。厳密な経過時間の上限やリモートプロセス終了の保証ではありません。子プロセスの stdout と stderr はそれぞれ 64 KiB に制限されます。Codex のチェックは選択したホームのみを調べます。逆方向経路のプローブ、メッセージ送信、ネイティブモデルの起動、自動再試行は行いません。能動チェックは CLI プロセスや SSH 接続を開始でき、運用者の SSH 設定自体がコマンドを実行する場合もあります。ホストの承認はポリシー権限とは別です。選択的な能動チェックが運用者の SSH 設定を実行できるため、統合ツールは `readOnlyHint=false` と `idempotentHint=false` を使用します。
|
|
59
|
+
|
|
60
|
+
応答は許可された状態値と診断コードを公開し、生のエラー、ホスト名、ホームパス、認証情報、セッション内容、不明な応答フィールドを除外します。メタデータモードは準備状態を検証しません。能動結果も検査時点の状態であり、消費や ACK の証拠、または送信権限ではありません。テキストと構造化ツール結果の合計は 64 KiB に制限されます。
|
|
61
|
+
|
|
62
|
+
状態・チェックのフィールドが欠落または不正な場合、一部のチェックが不完全な場合、チェック一覧が切り詰められた場合は、正常とはせず不明・不完全(`diagnostic_incomplete`)として報告します。通信段階 `tcpAccept`、`tls`、`peerAuthentication` はすべて `not_checked` のままで、診断では個別に検証しません。
|
|
63
|
+
|
|
64
|
+
MCP ラッパーが対応する検査と実行上の影響は、次の範囲に限られます。
|
|
65
|
+
|
|
66
|
+
| モード / エージェント | 確認する事実 | プロセス / 接続への影響 |
|
|
67
|
+
| --- | --- | --- |
|
|
68
|
+
| メタデータ | ポリシーとアダプターの宣言 | なし |
|
|
69
|
+
| 能動 Claude | 登録記録、プロセス識別メタデータ、ファイルシステム上の受信箱の存在 | 受信箱には接続しない |
|
|
70
|
+
| 能動 Codex | 実行ファイルの存在、選択したホームの読み取り専用 SQLite クエリ、制限付き writer 走査 | ネイティブ Codex の実行やバージョン照会はしない |
|
|
71
|
+
| 能動 Antigravity | 登録されたブリッジのメタデータ | ブリッジやネイティブへの RPC はしない |
|
|
72
|
+
| 能動 SSH | 明示的なプローブ権限を得た後、設定済みの順方向経路のみ | SSH 設定がコマンドを実行する場合がある。逆方向プローブや返信先ホストへの自動接続はしない |
|
|
73
|
+
|
|
74
|
+
許可されたコードの例は `sessions_dir_missing`、`inbox_present`、`codex_executable_missing`、`state_db_readable`、`unsaved_writer_check_unavailable`、`adapter_failed` です。結果は許可されたエージェントと、エージェントごとに最大 32 件のチェックに限られ、これらのコードが示すのは上記の限定範囲のみです。
|
|
75
|
+
|
|
76
|
+
`ok` は可用性ではなく、収集と形式の完全性を示します。完全な `missing_home` 結果でも `ok=true` になり得るため、各エージェントの状態は別途確認してください。`diagnosticEvidence` は能動結果では `point_in_time_only`、メタデータモードでは `not_collected` です。個別の対象の準備状態は検査しないため、`readiness` は `not_checked` のままです。`state_db_readable` の合格は読み取り専用 DB クエリの成功だけを意味し、有効なストレージの証明や返信経路の保証ではありません。
|
|
77
|
+
|
|
78
|
+
`tcpAccept`、`tls`、`peerAuthentication` の段階は `not_checked` のままです。ここでの `peerAuthentication` はペアリングされたデバイスの認証を指し、順方向 SSH 認証とは別です。`sshFailure` は `authentication_failed` や `host_key_failed` など、サニタイズされた順方向 SSH 失敗の分類だけを報告します。TCP、TLS、ペアリングされたデバイス、返信先ホストへのプローブは追加しません。
|
|
79
|
+
|
|
80
|
+
<a id="未リリースの-v140-候補-mcp-プリセット-359"></a>
|
|
81
|
+
|
|
82
|
+
## v1.4.0 ソース: MCP プリセット (#359)
|
|
83
|
+
|
|
84
|
+
入力シグネチャ: `list_sessions(destination="local", agent=null, include_inactive=false, preset=null, preset_revision=null)`; `send_message(destination, target, message, dry_run=false, wake=false, wake_timeout=30, preset=null, preset_revision=null)`; `preflight_send(destination, target, message, wake=false, wake_timeout=30, preset=null, preset_revision=null)`.
|
|
85
|
+
|
|
86
|
+
`list_presets(destination)` は承認済みの経路メタデータだけを読みます。`schemaVersion` 2 のポリシーで `presets` を明示的に許可し、宛先ごとの `presets` リストに `[a-z][a-z0-9_-]{0,63}` に一致する承認済みの名前を 1 件以上、128 件以下で指定する必要があります。バージョン 1 は新しいケーパビリティとフィールドを拒否します。ストアを読む前に権限を確認します。結果には宛先と一致する承認済みの `name`、`agent`、`transport`、`revision` と既存の `dp1:` トークンだけが含まれ、実際のホスト、ホーム、ストアのパスは省略されます。保存済み経路の参照では、セッションの探索、対象の選択、SSH・ネイティブ・バージョン確認のプローブ、データの更新を行いません。バージョン付きのテキストと構造化されたツール結果は、合計 64 KiB に制限されます。
|
|
87
|
+
|
|
88
|
+
`list_sessions`、`preflight_send`、`send_message` は任意の `preset`、`preset_revision` 入力を受け付けます。選択には既存の操作権限と `presets` の両方が必要です。保存済み経路やリビジョンが権限を与えることはありません。送信には明示的な対象が必要で、実際の送信には現在のリビジョンが必要です。プリセットを wake や Reply-To URI の対象と組み合わせることはできません。macOS/Linux の既存の Claude Code・Codex のローカルまたは SSH 経路だけをサポートし、Windows、デバイス、アドレス帳、handoff、プリセット管理のサポートは追加しません。
|
|
89
|
+
|
|
90
|
+
アダプターは既存の `XDG_CONFIG_HOME` の選択と安全な読み取り関数を使い、オペレーターの起動環境のストアから検証済みのスナップショットを一度だけ読みます。64 KiB・128 件の制限と、所有者、ACL、シンボリックリンク、マウントの検査を維持し、存在しないストアや安全でないストアを初期化、修復、置換しません。モデルはストアのパスを指定できません。選択した経路は、宛先のホスト、許可されたエージェント、固定された Codex ホームと完全に一致する必要があります。DNS 上の同一性や代替経路への切り替えは認めません。CLI の `--preset` と明示的な経路フラグを組み合わせず、承認済み経路を一つの実行計画に展開し、呼び出し前にポリシーを再確認します。
|
|
91
|
+
|
|
92
|
+
リビジョンは名前と経路の正確な値を表し、同じ値に戻すと同じトークンを再利用できます。参照時に検査するもので、対象の世代、呼び出し元の身元、ストレージの証明、ACK ではありません。その後の変更によって、すでに展開された呼び出しが遡って取り消されることはありません。プリセットを選択しない場合、既存のツール応答は変わりません。
|
|
93
|
+
|
|
94
|
+
新しい 64 KiB のツール結果制限は `list_presets` のメタデータ参照だけに適用されます。プリセットは既存の操作の経路選択だけを担い、同じ操作権限とポリシー経路との完全一致を要求します。成功した `list_sessions` と `send_message` の応答では、プリセットのメタデータ、新しいコマンド名、追加のデータ射影を加えず、既存の CLI スキーマとネイティブのペイロードを維持します。既存のネイティブ証拠と通信上の制限を保ち、実際の送信に合計 64 KiB の制限を新設しません。リビジョンは `list_presets` で別途確認してください。選択済みの `preflight_send` に追加できるプリセットのメタデータは、安全な `name`、`agent`、`transport`、`revision` のみです。
|
|
95
|
+
|
|
96
|
+
承認済みの項目が一つでも欠落しているか、経路がポリシーと一致しない場合、メタデータ参照全体を原子的に拒否します。固定の選択拒否コードには `preset_platform_unsupported`、`preset_route_unsupported`、`preset_revision_mismatch`、`preset_storage_unavailable` があり、管理操作やファイルシステムの修復は行いません。メタデータ参照のエラーは呼び出し前に発生します。呼び出し後の入出力エラーや実際の送信応答のデコード失敗は、送信後に起きる場合もあるため、`outcome_unknown` と `retryAllowed=false` を報告し、自動再試行しないでください。確認済みのネイティブのキュー登録・送信証拠は保持します。
|
|
97
|
+
|
|
98
|
+
## ツールとパーミッション
|
|
99
|
+
|
|
100
|
+
以下の二つのシグネチャは既存の基本インターフェースを説明します。v1.4.0ソースのツールと省略可能なプリセット引数は、上の各節と初期化済みMCPの`tools/list`スキーマを確認してください。ツールが表示されても、ポリシー上の権限が付与されるわけではありません。
|
|
101
|
+
|
|
102
|
+
- `list_sessions(destination="local", agent=null, include_inactive=false)` は CLI の構造化された一覧を返します。Agent は `claude` または `codex` です。省略した場合は許可されたエージェントを一覧表示します。
|
|
103
|
+
- `send_message(destination, target, message, dry_run=false, wake=false, wake_timeout=30)` は、`send` が明示的に許可されている場所にのみ 1 回送信します。Target は Claude 名/PID、`codex:<UUID>`、または設定されたホストとホームに正確に一致する Reply-To URI です。
|
|
104
|
+
|
|
105
|
+
MCP ツールのアノテーションは、一覧取得を読み取り専用、送信を非冪等としてマークします。必要に応じてホストクライアントのツール承認を設定してください。サーバーポリシーは宛先を個別に制限し、サンドボックスやホストの承認をバイパスすることはありません。別のホスト名が同じマシンに解決される場合でも、Reply-To URI 内の SSH エイリアスはポリシーと完全に一致する必要があります。そうでない場合は、直接ターゲットと設定済みの宛先 ID を使用してください。
|
|
106
|
+
|
|
107
|
+
応答は MCP の structuredContent と text の両方で CLI の JSON フィールドを保持します。一覧取得の部分的な失敗では、検出されたセッションを保持し、isError を設定します。キューへの送信は消費ではありません。結果が unknown の送信を自動的に再試行しないでください。リモート送信後にキャンセルやトランスポートの切断が発生する可能性があります。received/status/wait ツールはありません。[明示的な wake](wake.md) には、`send` に加えて個別の `wake` ケーパビリティが必要です。wake を有効にする場合は、クライアントツールのタイムアウトを 150 秒に設定してください。
|
|
108
|
+
|
|
109
|
+
共有 MCP プロセスは、呼び出し元のスレッドを確実には識別できません。サーバーを起動したセッションに帰属させるのではなく、メッセージは `session-peer MCP (caller session unavailable)` と識別し、Reply-To を省略します。認証のためにこのヘッダーに依存しないでください。メッセージ本文はシェルコマンド文字列ではなく stdin 経由で渡されます。通常の CLI の制限が依然として適用されます。
|
|
110
|
+
|
|
111
|
+
## 検証
|
|
112
|
+
|
|
113
|
+
MCP エクストラの有無の両方で `python -m unittest discover -s tests -v` を実行します。オプションのテストでは実際の stdio MCP サーバーを起動し、モデルの認証情報なしで初期化、スキーマ、ポリシー拒否、および CLI の部分的な失敗を検証します。wheel と sdist の両方のインストールをテストしてください。実環境チェックでは Codex バージョン、OS、およびホストの承認設定を記録する必要があります。UDS アクセスは環境依存であり、承認のバイパスを約束するものではありません。メッセージには専用のテストセッションを使用してください。
|
|
114
|
+
|
|
115
|
+
CIではmacOS/LinuxのPython 3.10/3.13/3.14で、SDK下限の`mcp==1.30.0`と最新の互換1.xを別々に試験します。両プロファイルでstdio・ポリシー・タイムアウト・キャンセル・所有する子プロセスの終了処理を試験し、解決されたランタイム依存関係を監査して、版とレポートを保存します。推移的依存関係の版は通常の依存関係解決に従って選択されます。すべての推移的パッケージの最小版を試験するものではありません。版を固定したビルド・監査用要件はランタイム環境の外にインストールし、監査対象には初期構成用の`pip`/`setuptools`パッケージも含めます。既存の最新版解決監査とリリース監査も引き続き必須です。
|
|
116
|
+
|
|
117
|
+
公式リファレンス: [Codex MCP](https://developers.openai.com/codex/extend/mcp), [Python MCP SDK](https://github.com/modelcontextprotocol/python-sdk)。 [SDK 1.30.0](https://pypi.org/pypi/mcp/1.30.0/json), [GHSA-84m7-p3x7-pcfv](https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-84m7-p3x7-pcfv), [GHSA-fmmv-w9g8-j3gc](https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-fmmv-w9g8-j3gc).
|
|
118
|
+
|
|
119
|
+
### 非対話型クライアントの承認
|
|
120
|
+
|
|
121
|
+
Codex `exec` は、サーバーポリシーが許可している場合でも「requires approval, but approval policy is never」として send ツールを拒否することがあります。`approval_mode="auto"` は無条件の承認ではありません。非対話型統合を明示的に承認するオペレーターは、制限された宛先ポリシーと併せて、その特定の MCP サーバー/ツールに対して `mcp_servers.session_peer.tools.send_message.approval_mode="approve"` を設定できます。プラグインがこの設定を有効にすることはありません。対話型クライアントは、代わりに通常の承認プロンプトを使用できます。テストクライアントがこの承認設定を無関係なサーバーやツールにコピーしてはなりません。
|
|
122
|
+
|
|
123
|
+
macOS/LinuxではMCP CLI呼び出しごとに新しいプロセスグループを所有します。完了・timeout・取消時はleaderの回収前に制限時間付きのTERM→KILLでTERMを無視する子も整理し、キャンセルは引き続き伝播します。別sessionへ離脱した子やSSH先のプロセスは対象外です。Windowsは直接の子の終了のみで、ツリー終了は保証しません。ローカル終了で遠隔送信は取り消せません。timeoutは `outcome_unknown` のままで自動再送は禁止です。
|
|
124
|
+
|
|
125
|
+
呼び出し元セッションが不明であることを示す From ラベルを含め、MCP の本文は宛先 CLI の受信側の枠で引用されます。本文のヘッダーや埋め込まれた Reply-To は権限を与えません。第三者への宛先はセッション所有者に確認してください。共有 MCP プロセスは、認証済み呼び出し元セッションや自動返信経路を引き続き提供できません。最終的な枠もネイティブメッセージの上限に含まれます。
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# v1.4.0のリリース準備
|
|
2
|
+
|
|
3
|
+
公開済みv1.3.3を基準に2026-11-02に準備しました。この日付の確認時点では、v1.4.0は未公開のソース候補です。統合基準はバージョン準備前の`f290973962c63548f24153eeee12a8e3666fd043`であり、最終リリースコミットではありません。この準備はマージ、タグ・ドラフト作成、ワークフロー実行、公開や運用環境への配備を承認しません。
|
|
4
|
+
|
|
5
|
+
コアPython 3.9、MCP Python 3.10+、SDK要件`mcp>=1.30,<2`は変更しません。
|
|
6
|
+
|
|
7
|
+
## 変更内容
|
|
8
|
+
|
|
9
|
+
- #356 / #361: ポリシーから導出したメタデータのみを返すMCP `list_destinations`を追加します。別名は最大64件、各別名はUTF-8で128バイト、ツール結果はJSON-RPCの外枠を除き64 KiBに制限します。このメタデータ照会はポリシーバージョン1と既定ポリシーでも動作し、ポリシーバージョン2を要求しません。list/Send権限で絞り込まず、設定されたすべてのポリシー項目を投影します。
|
|
10
|
+
- #357 / #362: 単一対象のCLI `--dry-run --explain-json`配信説明を追加します。従来の出力形式に整形する前に生のSSH情報を収集し、既存のテキスト・JSON出力の契約を維持します。MCP `preflight_send`にはポリシーバージョン2の別の`preflight`権限が必要で、preflightが暗黙にSendを許可することはありません。Wake preflightには別のwake権限も必要で、モデルを起動せずwake予算を予約しません。
|
|
11
|
+
- #358 / #363: 既定モードで`diagnostics`権限が必要なメタデータ専用の診断を追加します。能動プローブには追加で`diagnostics_probe`が必要で、Mac/Linuxのみ対応します。クリーンアップを除く実行上限はエージェント3件と20秒で、各パイプと結果は64 KiBに制限します。非ブロッキングリーダーがプロセス範囲を抜けたパイプ保持者を扱い、クリーンアップ中もキャンセルを優先します。
|
|
12
|
+
- doctorで選択したエージェント・homeが実際の収集範囲を定め、共有スキルの走査は省略します。OK結果は収集の成功を意味し、エージェントの利用可能性、DBの証明や逆方向プローブは意味しません。
|
|
13
|
+
- #359 / #364: 承認済みの名前と動作ごとの正確な経路を使うポリシーバージョン2の経路プリセットを追加します。どのNative呼び出しよりも前に両方の検査を完了します。まず経路を確認し、次にリビジョンを確認します。実際の送信には明示的な送信対象とリビジョンが必要です。単一のスナップショットとその`dp1`フィンガープリントは宛先の識別子やACKではありません。既存のlist/send JSONは維持し、安全な照会経路から修復動作には切り替えません。プリセットはMac/Linuxのローカル・SSHのClaude CodeとCodex経路に限定し、wake、URI、Antigravity、device、handoff、Windowsの対応は拡大しません。
|
|
14
|
+
- リリース準備では、固定の`send.preflight`スキーマに含まれない通常のネイティブプロトコルの応答ルートフィールド(`submitted`、`consumptionConfirmed`、`status`、`dryRun`、`queueId`)もMCP preflightで防御的に拒否します。通常の本番CLIの反例、誤ったルーティングやセキュリティ事故が観測されたわけではありません。この防御検査は機能・プロトコル・ACK・権限を追加しません。内部MCPプロセスヘルパーは明示的に渡されたタイムアウトを守るようになり、既定の130秒の`CLI_TIMEOUT`動作は維持します。この修正は現在の通常の呼び出し元への影響や障害の発生を主張しません。
|
|
15
|
+
|
|
16
|
+
## 正確なソースと検証
|
|
17
|
+
|
|
18
|
+
マージ済みソースは#361 `444959c08acadc85ec48722c03354a3905fac174`、#362 `e68f1c8f224f30701a9b69bb693f4e99055880ee`、#363 `7f85cb12cf6661db2facd5d74b2b31d7ee8514bd`、#364 `f290973962c63548f24153eeee12a8e3666fd043`です。
|
|
19
|
+
|
|
20
|
+
統合基準の[CI](https://github.com/abruption/session-peer/actions/runs/41381070618)は37ジョブが成功し、同じ基準の[CodeQL](https://github.com/abruption/session-peer/actions/runs/41381070309)も成功しました。これは統合ソースの根拠であり、準備の最終コミットや最終的な保護されたmainのリリースソースの検証ではありません。
|
|
21
|
+
|
|
22
|
+
## 独立スキルの互換性
|
|
23
|
+
|
|
24
|
+
既存の互換コピーと将来の`SKILL.md`サポート資産は、独立して公開済みの[Pythonスキルv0.4.1](https://github.com/abruption/session-peer-skill/releases/tag/v0.4.1)を維持します。ソースは`263b0c333d539dc4e885b16ae3369a26f33097d8`、UTF-8で27126バイト、SHA-256 `fdf5697c04f4a37194986622afb3a7966bb02631c128cf18a323e3fbe5ae90ed`です。最小ランタイム0.9.1、文書上の全機能対応範囲1.3.2、受信機`codexBin`下限1.0.1は変更しません。サポートコピーはwheel/sdistの外に置きます。
|
|
25
|
+
|
|
26
|
+
別のスキル0.5.0提案は最小0.9.1を維持し、実際のランタイム公開と別途承認の後にのみ全機能対応範囲1.4.0を文書化します。後続のスナップショットPRで正確なスキルタグ・ソース・ハッシュを検証する必要があります。将来のタグが未作成でも、このランタイム準備は妨げません。変更したバイト列をスキル0.4.1として再表示してはいけません。この準備では提案したスキルを公開・インストールしません。
|
|
27
|
+
|
|
28
|
+
## 境界とリリース条件
|
|
29
|
+
|
|
30
|
+
この拡張は、新たな実環境のNative/SSH、Windows 3.14やfree-threadedの受け入れ、ACK・重複排除・handoffの保証、所有元app-serverの対応やサポート水準の昇格を追加しません。不明なロールや結果の制限は維持します。キューへの投入はACKではなく、不確実性が自動再試行を許可することはありません。
|
|
31
|
+
|
|
32
|
+
正確な現行コミットをレビューし、現行コミットの検査と最終的な保護されたmain CIの成功を要求し、公開済みv1.3.3のタグ・資産・過去の記録をすべて保全します。公開を先取りしないこの日付付き案内を固定します。別途承認された公開では、`SHA256SUMS`と`release-provenance.json`を含む固定資産7個を正確なタグ・ソースと認証済みattestationに照合し、依存関係監査と新規インストール検査を行い、必須のPyPI環境の人による承認を維持します。非公開のPyPIログイン・接続再確認の省略は、その承認を免除しません。
|
|
33
|
+
|
|
34
|
+
提供状況の案内を更新する前に実際のGitHub・PyPI公開の根拠を別途記録し、将来の公開を宣言しません。Python公開、グローバルMCP環境の更新、サービス変更、Node Control配備、独立してインストールしたスキルは、それぞれ別途承認が必要な作業です。
|
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
## 개발과 이력
|
|
25
25
|
|
|
26
|
+
- [v1.4.0 준비](releases/v1.4.0.md)는 2026-11-02 소스 확인 시점에 병합된 MCP 정책·사전검사·진단·프리셋 변경을 기록합니다. 발행과 별도 스킬 적용은 구분합니다.
|
|
27
|
+
|
|
26
28
|
- [v1.3.3 유지보수 준비](releases/v1.3.3.md)는 Python 3.14 CI·메타데이터, 기여·공개 안내, 검증된 호환 스킬 v0.4.1 사본을 다룹니다. 발행과 운영 배포는 별개입니다.
|
|
27
29
|
|
|
28
30
|
- [v1.3.2 유지보수 안내](releases/v1.3.2.md)에서 macOS 방화벽 승인, Direct 리스너·TLS 진단, MCP SDK 하한과 Python 배포물 밖의 Control 보안 업데이트 및 별도 배포 필요성을 설명합니다.
|