@agimon-ai/doompi-core 0.0.1-alpha.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/agent-model.cjs +4 -0
- package/dist/agent-model.d.cts +2 -0
- package/dist/agent-model.d.mts +2 -0
- package/dist/agent-model.mjs +2 -0
- package/dist/api-contracts.cjs +27 -0
- package/dist/api-contracts.d.cts +7 -0
- package/dist/api-contracts.d.mts +7 -0
- package/dist/api-contracts.mjs +7 -0
- package/dist/ask-user.cjs +8 -0
- package/dist/ask-user.d.cts +2 -0
- package/dist/ask-user.d.mts +2 -0
- package/dist/ask-user.mjs +2 -0
- package/dist/author-tools.cjs +5 -0
- package/dist/author-tools.d.cts +2 -0
- package/dist/author-tools.d.mts +2 -0
- package/dist/author-tools.mjs +2 -0
- package/dist/background-work.cjs +7 -0
- package/dist/background-work.d.cts +2 -0
- package/dist/background-work.d.mts +2 -0
- package/dist/background-work.mjs +2 -0
- package/dist/child-process.cjs +15 -0
- package/dist/child-process.d.cts +2 -0
- package/dist/child-process.d.mts +2 -0
- package/dist/child-process.mjs +2 -0
- package/dist/child.cjs +7 -0
- package/dist/child.d.cts +3 -0
- package/dist/child.d.mts +3 -0
- package/dist/child.mjs +3 -0
- package/dist/cockpit-container.cjs +4 -0
- package/dist/cockpit-container.d.cts +2 -0
- package/dist/cockpit-container.d.mts +2 -0
- package/dist/cockpit-container.mjs +2 -0
- package/dist/config.cjs +13 -0
- package/dist/config.d.cts +3 -0
- package/dist/config.d.mts +3 -0
- package/dist/config.mjs +2 -0
- package/dist/constants/authorTools.cjs +10 -0
- package/dist/constants/authorTools.cjs.map +1 -0
- package/dist/constants/authorTools.d.cts +6 -0
- package/dist/constants/authorTools.d.cts.map +1 -0
- package/dist/constants/authorTools.d.mts +6 -0
- package/dist/constants/authorTools.d.mts.map +1 -0
- package/dist/constants/authorTools.mjs +8 -0
- package/dist/constants/authorTools.mjs.map +1 -0
- package/dist/constants/contextApi.cjs +28 -0
- package/dist/constants/contextApi.cjs.map +1 -0
- package/dist/constants/contextApi.d.cts +21 -0
- package/dist/constants/contextApi.d.cts.map +1 -0
- package/dist/constants/contextApi.d.mts +21 -0
- package/dist/constants/contextApi.d.mts.map +1 -0
- package/dist/constants/contextApi.mjs +23 -0
- package/dist/constants/contextApi.mjs.map +1 -0
- package/dist/constants/remote.cjs +81 -0
- package/dist/constants/remote.cjs.map +1 -0
- package/dist/constants/remote.mjs +62 -0
- package/dist/constants/remote.mjs.map +1 -0
- package/dist/constants/voiceReloadHandoff.cjs +12 -0
- package/dist/constants/voiceReloadHandoff.cjs.map +1 -0
- package/dist/constants/voiceReloadHandoff.d.cts +7 -0
- package/dist/constants/voiceReloadHandoff.d.cts.map +1 -0
- package/dist/constants/voiceReloadHandoff.d.mts +7 -0
- package/dist/constants/voiceReloadHandoff.d.mts.map +1 -0
- package/dist/constants/voiceReloadHandoff.mjs +9 -0
- package/dist/constants/voiceReloadHandoff.mjs.map +1 -0
- package/dist/constants/voiceTools.cjs +96 -0
- package/dist/constants/voiceTools.cjs.map +1 -0
- package/dist/constants/voiceTools.d.cts +58 -0
- package/dist/constants/voiceTools.d.cts.map +1 -0
- package/dist/constants/voiceTools.d.mts +58 -0
- package/dist/constants/voiceTools.d.mts.map +1 -0
- package/dist/constants/voiceTools.mjs +60 -0
- package/dist/constants/voiceTools.mjs.map +1 -0
- package/dist/context-api.cjs +10 -0
- package/dist/context-api.d.cts +4 -0
- package/dist/context-api.d.mts +4 -0
- package/dist/context-api.mjs +3 -0
- package/dist/context-contributions.cjs +7 -0
- package/dist/context-contributions.d.cts +3 -0
- package/dist/context-contributions.d.mts +3 -0
- package/dist/context-contributions.mjs +3 -0
- package/dist/context-detail-store.cjs +100 -0
- package/dist/context-detail-store.cjs.map +1 -0
- package/dist/context-detail-store.d.cts +19 -0
- package/dist/context-detail-store.d.cts.map +1 -0
- package/dist/context-detail-store.d.mts +19 -0
- package/dist/context-detail-store.d.mts.map +1 -0
- package/dist/context-detail-store.mjs +91 -0
- package/dist/context-detail-store.mjs.map +1 -0
- package/dist/context-detail.cjs +57 -0
- package/dist/context-detail.cjs.map +1 -0
- package/dist/context-detail.d.cts +13 -0
- package/dist/context-detail.d.cts.map +1 -0
- package/dist/context-detail.d.mts +13 -0
- package/dist/context-detail.d.mts.map +1 -0
- package/dist/context-detail.mjs +56 -0
- package/dist/context-detail.mjs.map +1 -0
- package/dist/context-projection.cjs +120 -0
- package/dist/context-projection.cjs.map +1 -0
- package/dist/context-projection.d.cts +113 -0
- package/dist/context-projection.d.cts.map +1 -0
- package/dist/context-projection.d.mts +113 -0
- package/dist/context-projection.d.mts.map +1 -0
- package/dist/context-projection.mjs +116 -0
- package/dist/context-projection.mjs.map +1 -0
- package/dist/cordis-host.cjs +10 -0
- package/dist/cordis-host.d.cts +2 -0
- package/dist/cordis-host.d.mts +2 -0
- package/dist/cordis-host.mjs +2 -0
- package/dist/delegation.cjs +18 -0
- package/dist/delegation.d.cts +2 -0
- package/dist/delegation.d.mts +2 -0
- package/dist/delegation.mjs +2 -0
- package/dist/doom-package.cjs +61 -0
- package/dist/doom-package.cjs.map +1 -0
- package/dist/doom-package.d.cts +17 -0
- package/dist/doom-package.d.cts.map +1 -0
- package/dist/doom-package.d.mts +17 -0
- package/dist/doom-package.d.mts.map +1 -0
- package/dist/doom-package.mjs +54 -0
- package/dist/doom-package.mjs.map +1 -0
- package/dist/extensions/serverPlugin.cjs +106 -0
- package/dist/extensions/serverPlugin.cjs.map +1 -0
- package/dist/extensions/serverPlugin.d.cts +5 -0
- package/dist/extensions/serverPlugin.d.cts.map +1 -0
- package/dist/extensions/serverPlugin.d.mts +5 -0
- package/dist/extensions/serverPlugin.d.mts.map +1 -0
- package/dist/extensions/serverPlugin.mjs +106 -0
- package/dist/extensions/serverPlugin.mjs.map +1 -0
- package/dist/extensions/webPlugin.cjs +28 -0
- package/dist/extensions/webPlugin.cjs.map +1 -0
- package/dist/extensions/webPlugin.d.cts +19 -0
- package/dist/extensions/webPlugin.d.cts.map +1 -0
- package/dist/extensions/webPlugin.d.mts +19 -0
- package/dist/extensions/webPlugin.d.mts.map +1 -0
- package/dist/extensions/webPlugin.mjs +26 -0
- package/dist/extensions/webPlugin.mjs.map +1 -0
- package/dist/footer.cjs +6 -0
- package/dist/footer.d.cts +2 -0
- package/dist/footer.d.mts +2 -0
- package/dist/footer.mjs +2 -0
- package/dist/headless-hub.cjs +499 -0
- package/dist/headless-hub.cjs.map +1 -0
- package/dist/headless-hub.d.cts +96 -0
- package/dist/headless-hub.d.cts.map +1 -0
- package/dist/headless-hub.d.mts +96 -0
- package/dist/headless-hub.d.mts.map +1 -0
- package/dist/headless-hub.mjs +498 -0
- package/dist/headless-hub.mjs.map +1 -0
- package/dist/headless-server.cjs +492 -0
- package/dist/headless-server.cjs.map +1 -0
- package/dist/headless-server.d.cts +30 -0
- package/dist/headless-server.d.cts.map +1 -0
- package/dist/headless-server.d.mts +30 -0
- package/dist/headless-server.d.mts.map +1 -0
- package/dist/headless-server.mjs +488 -0
- package/dist/headless-server.mjs.map +1 -0
- package/dist/headless-session-host.cjs +0 -0
- package/dist/headless-session-host.d.cts +45 -0
- package/dist/headless-session-host.d.cts.map +1 -0
- package/dist/headless-session-host.d.mts +45 -0
- package/dist/headless-session-host.d.mts.map +1 -0
- package/dist/headless-session-host.mjs +1 -0
- package/dist/headless-session-manager.cjs +51 -0
- package/dist/headless-session-manager.cjs.map +1 -0
- package/dist/headless-session-manager.d.cts +6 -0
- package/dist/headless-session-manager.d.cts.map +1 -0
- package/dist/headless-session-manager.d.mts +6 -0
- package/dist/headless-session-manager.d.mts.map +1 -0
- package/dist/headless-session-manager.mjs +50 -0
- package/dist/headless-session-manager.mjs.map +1 -0
- package/dist/headless.cjs +7 -0
- package/dist/headless.d.cts +2 -0
- package/dist/headless.d.mts +2 -0
- package/dist/headless.mjs +2 -0
- package/dist/help.cjs +21 -0
- package/dist/help.d.cts +2 -0
- package/dist/help.d.mts +2 -0
- package/dist/help.mjs +2 -0
- package/dist/history-import.cjs +553 -0
- package/dist/history-import.cjs.map +1 -0
- package/dist/history-import.d.cts +76 -0
- package/dist/history-import.d.cts.map +1 -0
- package/dist/history-import.d.mts +76 -0
- package/dist/history-import.d.mts.map +1 -0
- package/dist/history-import.mjs +547 -0
- package/dist/history-import.mjs.map +1 -0
- package/dist/history-ownership.cjs +169 -0
- package/dist/history-ownership.cjs.map +1 -0
- package/dist/history-ownership.d.cts +23 -0
- package/dist/history-ownership.d.cts.map +1 -0
- package/dist/history-ownership.d.mts +23 -0
- package/dist/history-ownership.d.mts.map +1 -0
- package/dist/history-ownership.mjs +163 -0
- package/dist/history-ownership.mjs.map +1 -0
- package/dist/history.cjs +13 -0
- package/dist/history.d.cts +6 -0
- package/dist/history.d.mts +6 -0
- package/dist/history.mjs +6 -0
- package/dist/hub-channel.cjs +0 -0
- package/dist/hub-channel.d.cts +2 -0
- package/dist/hub-channel.d.mts +2 -0
- package/dist/hub-channel.mjs +1 -0
- package/dist/index.cjs +44 -0
- package/dist/index.d.cts +6 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.mjs +6 -0
- package/dist/json.cjs +6 -0
- package/dist/json.d.cts +2 -0
- package/dist/json.d.mts +2 -0
- package/dist/json.mjs +2 -0
- package/dist/jsonl-session-repo.cjs +217 -0
- package/dist/jsonl-session-repo.cjs.map +1 -0
- package/dist/jsonl-session-repo.d.cts +7 -0
- package/dist/jsonl-session-repo.d.cts.map +1 -0
- package/dist/jsonl-session-repo.d.mts +7 -0
- package/dist/jsonl-session-repo.d.mts.map +1 -0
- package/dist/jsonl-session-repo.mjs +212 -0
- package/dist/jsonl-session-repo.mjs.map +1 -0
- package/dist/kernel.cjs +3 -0
- package/dist/kernel.d.cts +3 -0
- package/dist/kernel.d.mts +3 -0
- package/dist/kernel.mjs +2 -0
- package/dist/leader.cjs +9 -0
- package/dist/leader.d.cts +2 -0
- package/dist/leader.d.mts +2 -0
- package/dist/leader.mjs +2 -0
- package/dist/log-sink-telemetry.cjs +5 -0
- package/dist/log-sink-telemetry.d.cts +2 -0
- package/dist/log-sink-telemetry.d.mts +2 -0
- package/dist/log-sink-telemetry.mjs +2 -0
- package/dist/machine-api.cjs +73 -0
- package/dist/machine-api.cjs.map +1 -0
- package/dist/machine-api.d.cts +7 -0
- package/dist/machine-api.d.cts.map +1 -0
- package/dist/machine-api.d.mts +7 -0
- package/dist/machine-api.d.mts.map +1 -0
- package/dist/machine-api.mjs +70 -0
- package/dist/machine-api.mjs.map +1 -0
- package/dist/main.cjs +10 -0
- package/dist/main.d.cts +5 -0
- package/dist/main.d.mts +5 -0
- package/dist/main.mjs +4 -0
- package/dist/mcp-projection.cjs +15 -0
- package/dist/mcp-projection.d.cts +2 -0
- package/dist/mcp-projection.d.mts +2 -0
- package/dist/mcp-projection.mjs +2 -0
- package/dist/mcp-schema-cost.cjs +195 -0
- package/dist/mcp-schema-cost.cjs.map +1 -0
- package/dist/mcp-schema-cost.d.cts +35 -0
- package/dist/mcp-schema-cost.d.cts.map +1 -0
- package/dist/mcp-schema-cost.d.mts +35 -0
- package/dist/mcp-schema-cost.d.mts.map +1 -0
- package/dist/mcp-schema-cost.mjs +190 -0
- package/dist/mcp-schema-cost.mjs.map +1 -0
- package/dist/mcp-session.cjs +9 -0
- package/dist/mcp-session.d.cts +2 -0
- package/dist/mcp-session.d.mts +2 -0
- package/dist/mcp-session.mjs +2 -0
- package/dist/mcp-status.cjs +7 -0
- package/dist/mcp-status.d.cts +2 -0
- package/dist/mcp-status.d.mts +2 -0
- package/dist/mcp-status.mjs +2 -0
- package/dist/mcp-tool-resolver.cjs +5 -0
- package/dist/mcp-tool-resolver.d.cts +2 -0
- package/dist/mcp-tool-resolver.d.mts +2 -0
- package/dist/mcp-tool-resolver.mjs +2 -0
- package/dist/module-resolution.cjs +405 -0
- package/dist/module-resolution.cjs.map +1 -0
- package/dist/module-resolution.d.cts +67 -0
- package/dist/module-resolution.d.cts.map +1 -0
- package/dist/module-resolution.d.mts +67 -0
- package/dist/module-resolution.d.mts.map +1 -0
- package/dist/module-resolution.mjs +389 -0
- package/dist/module-resolution.mjs.map +1 -0
- package/dist/narration.cjs +10 -0
- package/dist/narration.d.cts +2 -0
- package/dist/narration.d.mts +2 -0
- package/dist/narration.mjs +2 -0
- package/dist/notification.cjs +17 -0
- package/dist/notification.d.cts +2 -0
- package/dist/notification.d.mts +2 -0
- package/dist/notification.mjs +2 -0
- package/dist/package-api-server.cjs +161 -0
- package/dist/package-api-server.cjs.map +1 -0
- package/dist/package-api-server.d.cts +47 -0
- package/dist/package-api-server.d.cts.map +1 -0
- package/dist/package-api-server.d.mts +47 -0
- package/dist/package-api-server.d.mts.map +1 -0
- package/dist/package-api-server.mjs +159 -0
- package/dist/package-api-server.mjs.map +1 -0
- package/dist/package-api.cjs +11 -0
- package/dist/package-api.d.cts +2 -0
- package/dist/package-api.d.mts +2 -0
- package/dist/package-api.mjs +2 -0
- package/dist/pi/piSessionRuntime.cjs +520 -0
- package/dist/pi/piSessionRuntime.cjs.map +1 -0
- package/dist/pi/piSessionRuntime.d.cts +43 -0
- package/dist/pi/piSessionRuntime.d.cts.map +1 -0
- package/dist/pi/piSessionRuntime.d.mts +43 -0
- package/dist/pi/piSessionRuntime.d.mts.map +1 -0
- package/dist/pi/piSessionRuntime.mjs +519 -0
- package/dist/pi/piSessionRuntime.mjs.map +1 -0
- package/dist/pi/piWebSocketListener.cjs +115 -0
- package/dist/pi/piWebSocketListener.cjs.map +1 -0
- package/dist/pi/piWebSocketListener.mjs +115 -0
- package/dist/pi/piWebSocketListener.mjs.map +1 -0
- package/dist/pi-extension.cjs +8 -0
- package/dist/pi-extension.d.cts +5 -0
- package/dist/pi-extension.d.mts +5 -0
- package/dist/pi-extension.mjs +4 -0
- package/dist/pi-settings.cjs +11 -0
- package/dist/pi-settings.d.cts +2 -0
- package/dist/pi-settings.d.mts +2 -0
- package/dist/pi-settings.mjs +2 -0
- package/dist/plugin-protocol.cjs +10 -0
- package/dist/plugin-protocol.d.cts +2 -0
- package/dist/plugin-protocol.d.mts +2 -0
- package/dist/plugin-protocol.mjs +2 -0
- package/dist/profile-identity.cjs +6 -0
- package/dist/profile-identity.d.cts +2 -0
- package/dist/profile-identity.d.mts +2 -0
- package/dist/profile-identity.mjs +2 -0
- package/dist/protocol.cjs +10 -0
- package/dist/protocol.d.cts +2 -0
- package/dist/protocol.d.mts +2 -0
- package/dist/protocol.mjs +2 -0
- package/dist/readiness.cjs +8 -0
- package/dist/readiness.d.cts +2 -0
- package/dist/readiness.d.mts +2 -0
- package/dist/readiness.mjs +2 -0
- package/dist/relaunch-handoff.cjs +6 -0
- package/dist/relaunch-handoff.d.cts +2 -0
- package/dist/relaunch-handoff.d.mts +2 -0
- package/dist/relaunch-handoff.mjs +2 -0
- package/dist/remote-api.cjs +42 -0
- package/dist/remote-api.cjs.map +1 -0
- package/dist/remote-api.d.cts +7 -0
- package/dist/remote-api.d.cts.map +1 -0
- package/dist/remote-api.d.mts +7 -0
- package/dist/remote-api.d.mts.map +1 -0
- package/dist/remote-api.mjs +41 -0
- package/dist/remote-api.mjs.map +1 -0
- package/dist/remote-runtime.cjs +394 -0
- package/dist/remote-runtime.cjs.map +1 -0
- package/dist/remote-runtime.d.cts +26 -0
- package/dist/remote-runtime.d.cts.map +1 -0
- package/dist/remote-runtime.d.mts +26 -0
- package/dist/remote-runtime.d.mts.map +1 -0
- package/dist/remote-runtime.mjs +390 -0
- package/dist/remote-runtime.mjs.map +1 -0
- package/dist/runtime-config.cjs +232 -0
- package/dist/runtime-config.cjs.map +1 -0
- package/dist/runtime-config.d.cts +313 -0
- package/dist/runtime-config.d.cts.map +1 -0
- package/dist/runtime-config.d.mts +313 -0
- package/dist/runtime-config.d.mts.map +1 -0
- package/dist/runtime-config.mjs +221 -0
- package/dist/runtime-config.mjs.map +1 -0
- package/dist/runtime-context-api.cjs +64 -0
- package/dist/runtime-context-api.cjs.map +1 -0
- package/dist/runtime-context-api.d.cts +16 -0
- package/dist/runtime-context-api.d.cts.map +1 -0
- package/dist/runtime-context-api.d.mts +16 -0
- package/dist/runtime-context-api.d.mts.map +1 -0
- package/dist/runtime-context-api.mjs +62 -0
- package/dist/runtime-context-api.mjs.map +1 -0
- package/dist/runtime-cordis-host.cjs +191 -0
- package/dist/runtime-cordis-host.cjs.map +1 -0
- package/dist/runtime-cordis-host.d.cts +57 -0
- package/dist/runtime-cordis-host.d.cts.map +1 -0
- package/dist/runtime-cordis-host.d.mts +57 -0
- package/dist/runtime-cordis-host.d.mts.map +1 -0
- package/dist/runtime-cordis-host.mjs +183 -0
- package/dist/runtime-cordis-host.mjs.map +1 -0
- package/dist/runtime-headless-session-manager.cjs +0 -0
- package/dist/runtime-headless-session-manager.d.cts +14 -0
- package/dist/runtime-headless-session-manager.d.cts.map +1 -0
- package/dist/runtime-headless-session-manager.d.mts +14 -0
- package/dist/runtime-headless-session-manager.d.mts.map +1 -0
- package/dist/runtime-headless-session-manager.mjs +1 -0
- package/dist/runtime-identity.cjs +26 -0
- package/dist/runtime-identity.cjs.map +1 -0
- package/dist/runtime-identity.d.cts +7 -0
- package/dist/runtime-identity.d.cts.map +1 -0
- package/dist/runtime-identity.d.mts +7 -0
- package/dist/runtime-identity.d.mts.map +1 -0
- package/dist/runtime-identity.mjs +21 -0
- package/dist/runtime-identity.mjs.map +1 -0
- package/dist/runtime-json.cjs +46 -0
- package/dist/runtime-json.cjs.map +1 -0
- package/dist/runtime-json.d.cts +22 -0
- package/dist/runtime-json.d.cts.map +1 -0
- package/dist/runtime-json.d.mts +22 -0
- package/dist/runtime-json.d.mts.map +1 -0
- package/dist/runtime-json.mjs +39 -0
- package/dist/runtime-json.mjs.map +1 -0
- package/dist/runtime-log-sink-telemetry.cjs +102 -0
- package/dist/runtime-log-sink-telemetry.cjs.map +1 -0
- package/dist/runtime-log-sink-telemetry.d.cts +49 -0
- package/dist/runtime-log-sink-telemetry.d.cts.map +1 -0
- package/dist/runtime-log-sink-telemetry.d.mts +49 -0
- package/dist/runtime-log-sink-telemetry.d.mts.map +1 -0
- package/dist/runtime-log-sink-telemetry.mjs +99 -0
- package/dist/runtime-log-sink-telemetry.mjs.map +1 -0
- package/dist/runtime-pi-extension.cjs +243 -0
- package/dist/runtime-pi-extension.cjs.map +1 -0
- package/dist/runtime-pi-extension.d.cts +102 -0
- package/dist/runtime-pi-extension.d.cts.map +1 -0
- package/dist/runtime-pi-extension.d.mts +102 -0
- package/dist/runtime-pi-extension.d.mts.map +1 -0
- package/dist/runtime-pi-extension.mjs +242 -0
- package/dist/runtime-pi-extension.mjs.map +1 -0
- package/dist/runtime-pi-settings.cjs +104 -0
- package/dist/runtime-pi-settings.cjs.map +1 -0
- package/dist/runtime-pi-settings.d.cts +23 -0
- package/dist/runtime-pi-settings.d.cts.map +1 -0
- package/dist/runtime-pi-settings.d.mts +23 -0
- package/dist/runtime-pi-settings.d.mts.map +1 -0
- package/dist/runtime-pi-settings.mjs +92 -0
- package/dist/runtime-pi-settings.mjs.map +1 -0
- package/dist/runtime-protocol.cjs +223 -0
- package/dist/runtime-protocol.cjs.map +1 -0
- package/dist/runtime-protocol.d.cts +84 -0
- package/dist/runtime-protocol.d.cts.map +1 -0
- package/dist/runtime-protocol.d.mts +84 -0
- package/dist/runtime-protocol.d.mts.map +1 -0
- package/dist/runtime-protocol.mjs +215 -0
- package/dist/runtime-protocol.mjs.map +1 -0
- package/dist/runtime-tool-names.cjs +51 -0
- package/dist/runtime-tool-names.cjs.map +1 -0
- package/dist/runtime-tool-names.d.cts +24 -0
- package/dist/runtime-tool-names.d.cts.map +1 -0
- package/dist/runtime-tool-names.d.mts +24 -0
- package/dist/runtime-tool-names.d.mts.map +1 -0
- package/dist/runtime-tool-names.mjs +49 -0
- package/dist/runtime-tool-names.mjs.map +1 -0
- package/dist/runtime-transition.cjs +27 -0
- package/dist/runtime-transition.cjs.map +1 -0
- package/dist/runtime-transition.d.cts +114 -0
- package/dist/runtime-transition.d.cts.map +1 -0
- package/dist/runtime-transition.d.mts +114 -0
- package/dist/runtime-transition.d.mts.map +1 -0
- package/dist/runtime-transition.mjs +24 -0
- package/dist/runtime-transition.mjs.map +1 -0
- package/dist/sandbox-harness.cjs +6 -0
- package/dist/sandbox-harness.d.cts +2 -0
- package/dist/sandbox-harness.d.mts +2 -0
- package/dist/sandbox-harness.mjs +2 -0
- package/dist/schemas/agentModel.cjs +33 -0
- package/dist/schemas/agentModel.cjs.map +1 -0
- package/dist/schemas/agentModel.d.cts +26 -0
- package/dist/schemas/agentModel.d.cts.map +1 -0
- package/dist/schemas/agentModel.d.mts +26 -0
- package/dist/schemas/agentModel.d.mts.map +1 -0
- package/dist/schemas/agentModel.mjs +32 -0
- package/dist/schemas/agentModel.mjs.map +1 -0
- package/dist/schemas/apiContracts.cjs +145 -0
- package/dist/schemas/apiContracts.cjs.map +1 -0
- package/dist/schemas/apiContracts.d.cts +81 -0
- package/dist/schemas/apiContracts.d.cts.map +1 -0
- package/dist/schemas/apiContracts.d.mts +81 -0
- package/dist/schemas/apiContracts.d.mts.map +1 -0
- package/dist/schemas/apiContracts.mjs +140 -0
- package/dist/schemas/apiContracts.mjs.map +1 -0
- package/dist/schemas/askUser.cjs +42 -0
- package/dist/schemas/askUser.cjs.map +1 -0
- package/dist/schemas/askUser.d.cts +47 -0
- package/dist/schemas/askUser.d.cts.map +1 -0
- package/dist/schemas/askUser.d.mts +47 -0
- package/dist/schemas/askUser.d.mts.map +1 -0
- package/dist/schemas/askUser.mjs +37 -0
- package/dist/schemas/askUser.mjs.map +1 -0
- package/dist/schemas/backgroundWork.cjs +31 -0
- package/dist/schemas/backgroundWork.cjs.map +1 -0
- package/dist/schemas/backgroundWork.d.cts +72 -0
- package/dist/schemas/backgroundWork.d.cts.map +1 -0
- package/dist/schemas/backgroundWork.d.mts +72 -0
- package/dist/schemas/backgroundWork.d.mts.map +1 -0
- package/dist/schemas/backgroundWork.mjs +27 -0
- package/dist/schemas/backgroundWork.mjs.map +1 -0
- package/dist/schemas/builtinApiContracts.cjs +37 -0
- package/dist/schemas/builtinApiContracts.cjs.map +1 -0
- package/dist/schemas/builtinApiContracts.d.cts +51 -0
- package/dist/schemas/builtinApiContracts.d.cts.map +1 -0
- package/dist/schemas/builtinApiContracts.d.mts +51 -0
- package/dist/schemas/builtinApiContracts.d.mts.map +1 -0
- package/dist/schemas/builtinApiContracts.mjs +37 -0
- package/dist/schemas/builtinApiContracts.mjs.map +1 -0
- package/dist/schemas/childProcess.cjs +67 -0
- package/dist/schemas/childProcess.cjs.map +1 -0
- package/dist/schemas/childProcess.d.cts +30 -0
- package/dist/schemas/childProcess.d.cts.map +1 -0
- package/dist/schemas/childProcess.d.mts +30 -0
- package/dist/schemas/childProcess.d.mts.map +1 -0
- package/dist/schemas/childProcess.mjs +55 -0
- package/dist/schemas/childProcess.mjs.map +1 -0
- package/dist/schemas/cockpitContainer.cjs +31 -0
- package/dist/schemas/cockpitContainer.cjs.map +1 -0
- package/dist/schemas/cockpitContainer.d.cts +80 -0
- package/dist/schemas/cockpitContainer.d.cts.map +1 -0
- package/dist/schemas/cockpitContainer.d.mts +80 -0
- package/dist/schemas/cockpitContainer.d.mts.map +1 -0
- package/dist/schemas/cockpitContainer.mjs +30 -0
- package/dist/schemas/cockpitContainer.mjs.map +1 -0
- package/dist/schemas/contextContributions.cjs +17 -0
- package/dist/schemas/contextContributions.cjs.map +1 -0
- package/dist/schemas/contextContributions.d.cts +49 -0
- package/dist/schemas/contextContributions.d.cts.map +1 -0
- package/dist/schemas/contextContributions.d.mts +49 -0
- package/dist/schemas/contextContributions.d.mts.map +1 -0
- package/dist/schemas/contextContributions.mjs +15 -0
- package/dist/schemas/contextContributions.mjs.map +1 -0
- package/dist/schemas/delegation.cjs +91 -0
- package/dist/schemas/delegation.cjs.map +1 -0
- package/dist/schemas/delegation.d.cts +95 -0
- package/dist/schemas/delegation.d.cts.map +1 -0
- package/dist/schemas/delegation.d.mts +95 -0
- package/dist/schemas/delegation.d.mts.map +1 -0
- package/dist/schemas/delegation.mjs +76 -0
- package/dist/schemas/delegation.mjs.map +1 -0
- package/dist/schemas/footer.cjs +48 -0
- package/dist/schemas/footer.cjs.map +1 -0
- package/dist/schemas/footer.d.cts +48 -0
- package/dist/schemas/footer.d.cts.map +1 -0
- package/dist/schemas/footer.d.mts +48 -0
- package/dist/schemas/footer.d.mts.map +1 -0
- package/dist/schemas/footer.mjs +45 -0
- package/dist/schemas/footer.mjs.map +1 -0
- package/dist/schemas/headless.cjs +23 -0
- package/dist/schemas/headless.cjs.map +1 -0
- package/dist/schemas/headless.d.cts +238 -0
- package/dist/schemas/headless.d.cts.map +1 -0
- package/dist/schemas/headless.d.mts +238 -0
- package/dist/schemas/headless.d.mts.map +1 -0
- package/dist/schemas/headless.mjs +19 -0
- package/dist/schemas/headless.mjs.map +1 -0
- package/dist/schemas/help.cjs +249 -0
- package/dist/schemas/help.cjs.map +1 -0
- package/dist/schemas/help.d.cts +106 -0
- package/dist/schemas/help.d.cts.map +1 -0
- package/dist/schemas/help.d.mts +106 -0
- package/dist/schemas/help.d.mts.map +1 -0
- package/dist/schemas/help.mjs +231 -0
- package/dist/schemas/help.mjs.map +1 -0
- package/dist/schemas/httpApiContracts.cjs +388 -0
- package/dist/schemas/httpApiContracts.cjs.map +1 -0
- package/dist/schemas/httpApiContracts.d.cts +14 -0
- package/dist/schemas/httpApiContracts.d.cts.map +1 -0
- package/dist/schemas/httpApiContracts.d.mts +14 -0
- package/dist/schemas/httpApiContracts.d.mts.map +1 -0
- package/dist/schemas/httpApiContracts.mjs +377 -0
- package/dist/schemas/httpApiContracts.mjs.map +1 -0
- package/dist/schemas/hubChannel.d.cts +91 -0
- package/dist/schemas/hubChannel.d.cts.map +1 -0
- package/dist/schemas/hubChannel.d.mts +91 -0
- package/dist/schemas/hubChannel.d.mts.map +1 -0
- package/dist/schemas/leader.cjs +57 -0
- package/dist/schemas/leader.cjs.map +1 -0
- package/dist/schemas/leader.d.cts +107 -0
- package/dist/schemas/leader.d.cts.map +1 -0
- package/dist/schemas/leader.d.mts +107 -0
- package/dist/schemas/leader.d.mts.map +1 -0
- package/dist/schemas/leader.mjs +51 -0
- package/dist/schemas/leader.mjs.map +1 -0
- package/dist/schemas/mcpProjection.cjs +114 -0
- package/dist/schemas/mcpProjection.cjs.map +1 -0
- package/dist/schemas/mcpProjection.d.cts +116 -0
- package/dist/schemas/mcpProjection.d.cts.map +1 -0
- package/dist/schemas/mcpProjection.d.mts +116 -0
- package/dist/schemas/mcpProjection.d.mts.map +1 -0
- package/dist/schemas/mcpProjection.mjs +102 -0
- package/dist/schemas/mcpProjection.mjs.map +1 -0
- package/dist/schemas/mcpSession.cjs +57 -0
- package/dist/schemas/mcpSession.cjs.map +1 -0
- package/dist/schemas/mcpSession.d.cts +57 -0
- package/dist/schemas/mcpSession.d.cts.map +1 -0
- package/dist/schemas/mcpSession.d.mts +57 -0
- package/dist/schemas/mcpSession.d.mts.map +1 -0
- package/dist/schemas/mcpSession.mjs +51 -0
- package/dist/schemas/mcpSession.mjs.map +1 -0
- package/dist/schemas/mcpStatus.cjs +52 -0
- package/dist/schemas/mcpStatus.cjs.map +1 -0
- package/dist/schemas/mcpStatus.d.cts +73 -0
- package/dist/schemas/mcpStatus.d.cts.map +1 -0
- package/dist/schemas/mcpStatus.d.mts +73 -0
- package/dist/schemas/mcpStatus.d.mts.map +1 -0
- package/dist/schemas/mcpStatus.mjs +48 -0
- package/dist/schemas/mcpStatus.mjs.map +1 -0
- package/dist/schemas/mcpToolResolver.cjs +17 -0
- package/dist/schemas/mcpToolResolver.cjs.map +1 -0
- package/dist/schemas/mcpToolResolver.d.cts +24 -0
- package/dist/schemas/mcpToolResolver.d.cts.map +1 -0
- package/dist/schemas/mcpToolResolver.d.mts +24 -0
- package/dist/schemas/mcpToolResolver.d.mts.map +1 -0
- package/dist/schemas/mcpToolResolver.mjs +15 -0
- package/dist/schemas/mcpToolResolver.mjs.map +1 -0
- package/dist/schemas/narration.cjs +54 -0
- package/dist/schemas/narration.cjs.map +1 -0
- package/dist/schemas/narration.d.cts +29 -0
- package/dist/schemas/narration.d.cts.map +1 -0
- package/dist/schemas/narration.d.mts +29 -0
- package/dist/schemas/narration.d.mts.map +1 -0
- package/dist/schemas/narration.mjs +47 -0
- package/dist/schemas/narration.mjs.map +1 -0
- package/dist/schemas/notification.cjs +122 -0
- package/dist/schemas/notification.cjs.map +1 -0
- package/dist/schemas/notification.d.cts +48 -0
- package/dist/schemas/notification.d.cts.map +1 -0
- package/dist/schemas/notification.d.mts +48 -0
- package/dist/schemas/notification.d.mts.map +1 -0
- package/dist/schemas/notification.mjs +108 -0
- package/dist/schemas/notification.mjs.map +1 -0
- package/dist/schemas/packageApi.cjs +52 -0
- package/dist/schemas/packageApi.cjs.map +1 -0
- package/dist/schemas/packageApi.d.cts +149 -0
- package/dist/schemas/packageApi.d.cts.map +1 -0
- package/dist/schemas/packageApi.d.mts +149 -0
- package/dist/schemas/packageApi.d.mts.map +1 -0
- package/dist/schemas/packageApi.mjs +44 -0
- package/dist/schemas/packageApi.mjs.map +1 -0
- package/dist/schemas/piTool.cjs +25 -0
- package/dist/schemas/piTool.cjs.map +1 -0
- package/dist/schemas/piTool.d.cts +12 -0
- package/dist/schemas/piTool.d.cts.map +1 -0
- package/dist/schemas/piTool.d.mts +12 -0
- package/dist/schemas/piTool.d.mts.map +1 -0
- package/dist/schemas/piTool.mjs +25 -0
- package/dist/schemas/piTool.mjs.map +1 -0
- package/dist/schemas/pluginContributions.cjs +19 -0
- package/dist/schemas/pluginContributions.cjs.map +1 -0
- package/dist/schemas/pluginContributions.d.cts +56 -0
- package/dist/schemas/pluginContributions.d.cts.map +1 -0
- package/dist/schemas/pluginContributions.d.mts +56 -0
- package/dist/schemas/pluginContributions.d.mts.map +1 -0
- package/dist/schemas/pluginContributions.mjs +18 -0
- package/dist/schemas/pluginContributions.mjs.map +1 -0
- package/dist/schemas/pluginProtocol.cjs +103 -0
- package/dist/schemas/pluginProtocol.cjs.map +1 -0
- package/dist/schemas/pluginProtocol.d.cts +68 -0
- package/dist/schemas/pluginProtocol.d.cts.map +1 -0
- package/dist/schemas/pluginProtocol.d.mts +68 -0
- package/dist/schemas/pluginProtocol.d.mts.map +1 -0
- package/dist/schemas/pluginProtocol.mjs +96 -0
- package/dist/schemas/pluginProtocol.mjs.map +1 -0
- package/dist/schemas/profileIdentity.cjs +67 -0
- package/dist/schemas/profileIdentity.cjs.map +1 -0
- package/dist/schemas/profileIdentity.d.cts +50 -0
- package/dist/schemas/profileIdentity.d.cts.map +1 -0
- package/dist/schemas/profileIdentity.d.mts +50 -0
- package/dist/schemas/profileIdentity.d.mts.map +1 -0
- package/dist/schemas/profileIdentity.mjs +64 -0
- package/dist/schemas/profileIdentity.mjs.map +1 -0
- package/dist/schemas/readiness.cjs +251 -0
- package/dist/schemas/readiness.cjs.map +1 -0
- package/dist/schemas/readiness.d.cts +84 -0
- package/dist/schemas/readiness.d.cts.map +1 -0
- package/dist/schemas/readiness.d.mts +84 -0
- package/dist/schemas/readiness.d.mts.map +1 -0
- package/dist/schemas/readiness.mjs +246 -0
- package/dist/schemas/readiness.mjs.map +1 -0
- package/dist/schemas/relaunchHandoff.cjs +47 -0
- package/dist/schemas/relaunchHandoff.cjs.map +1 -0
- package/dist/schemas/relaunchHandoff.d.cts +25 -0
- package/dist/schemas/relaunchHandoff.d.cts.map +1 -0
- package/dist/schemas/relaunchHandoff.d.mts +25 -0
- package/dist/schemas/relaunchHandoff.d.mts.map +1 -0
- package/dist/schemas/relaunchHandoff.mjs +44 -0
- package/dist/schemas/relaunchHandoff.mjs.map +1 -0
- package/dist/schemas/remoteApiContracts.cjs +307 -0
- package/dist/schemas/remoteApiContracts.cjs.map +1 -0
- package/dist/schemas/remoteApiContracts.mjs +303 -0
- package/dist/schemas/remoteApiContracts.mjs.map +1 -0
- package/dist/schemas/sandboxHarness.cjs +29 -0
- package/dist/schemas/sandboxHarness.cjs.map +1 -0
- package/dist/schemas/sandboxHarness.d.cts +39 -0
- package/dist/schemas/sandboxHarness.d.cts.map +1 -0
- package/dist/schemas/sandboxHarness.d.mts +39 -0
- package/dist/schemas/sandboxHarness.d.mts.map +1 -0
- package/dist/schemas/sandboxHarness.mjs +26 -0
- package/dist/schemas/sandboxHarness.mjs.map +1 -0
- package/dist/schemas/serverBundle.cjs +79 -0
- package/dist/schemas/serverBundle.cjs.map +1 -0
- package/dist/schemas/serverBundle.d.cts +34 -0
- package/dist/schemas/serverBundle.d.cts.map +1 -0
- package/dist/schemas/serverBundle.d.mts +34 -0
- package/dist/schemas/serverBundle.d.mts.map +1 -0
- package/dist/schemas/serverBundle.mjs +77 -0
- package/dist/schemas/serverBundle.mjs.map +1 -0
- package/dist/schemas/serverFacet.cjs +102 -0
- package/dist/schemas/serverFacet.cjs.map +1 -0
- package/dist/schemas/serverFacet.d.cts +141 -0
- package/dist/schemas/serverFacet.d.cts.map +1 -0
- package/dist/schemas/serverFacet.d.mts +141 -0
- package/dist/schemas/serverFacet.d.mts.map +1 -0
- package/dist/schemas/serverFacet.mjs +93 -0
- package/dist/schemas/serverFacet.mjs.map +1 -0
- package/dist/schemas/sessionApiContracts.cjs +474 -0
- package/dist/schemas/sessionApiContracts.cjs.map +1 -0
- package/dist/schemas/sessionApiContracts.d.cts +563 -0
- package/dist/schemas/sessionApiContracts.d.cts.map +1 -0
- package/dist/schemas/sessionApiContracts.d.mts +563 -0
- package/dist/schemas/sessionApiContracts.d.mts.map +1 -0
- package/dist/schemas/sessionApiContracts.mjs +472 -0
- package/dist/schemas/sessionApiContracts.mjs.map +1 -0
- package/dist/schemas/sessionProtocol.cjs +17 -0
- package/dist/schemas/sessionProtocol.cjs.map +1 -0
- package/dist/schemas/sessionProtocol.d.cts +269 -0
- package/dist/schemas/sessionProtocol.d.cts.map +1 -0
- package/dist/schemas/sessionProtocol.d.mts +269 -0
- package/dist/schemas/sessionProtocol.d.mts.map +1 -0
- package/dist/schemas/sessionProtocol.mjs +12 -0
- package/dist/schemas/sessionProtocol.mjs.map +1 -0
- package/dist/schemas/sessionUpdates.d.cts +34 -0
- package/dist/schemas/sessionUpdates.d.cts.map +1 -0
- package/dist/schemas/sessionUpdates.d.mts +34 -0
- package/dist/schemas/sessionUpdates.d.mts.map +1 -0
- package/dist/schemas/skills.cjs +115 -0
- package/dist/schemas/skills.cjs.map +1 -0
- package/dist/schemas/skills.d.cts +65 -0
- package/dist/schemas/skills.d.cts.map +1 -0
- package/dist/schemas/skills.d.mts +65 -0
- package/dist/schemas/skills.d.mts.map +1 -0
- package/dist/schemas/skills.mjs +109 -0
- package/dist/schemas/skills.mjs.map +1 -0
- package/dist/schemas/toolOverrides.cjs +17 -0
- package/dist/schemas/toolOverrides.cjs.map +1 -0
- package/dist/schemas/toolOverrides.d.cts +29 -0
- package/dist/schemas/toolOverrides.d.cts.map +1 -0
- package/dist/schemas/toolOverrides.d.mts +29 -0
- package/dist/schemas/toolOverrides.d.mts.map +1 -0
- package/dist/schemas/toolOverrides.mjs +15 -0
- package/dist/schemas/toolOverrides.mjs.map +1 -0
- package/dist/schemas/toolSurface.cjs +17 -0
- package/dist/schemas/toolSurface.cjs.map +1 -0
- package/dist/schemas/toolSurface.d.cts +54 -0
- package/dist/schemas/toolSurface.d.cts.map +1 -0
- package/dist/schemas/toolSurface.d.mts +54 -0
- package/dist/schemas/toolSurface.d.mts.map +1 -0
- package/dist/schemas/toolSurface.mjs +15 -0
- package/dist/schemas/toolSurface.mjs.map +1 -0
- package/dist/schemas/transportApiContracts.cjs +248 -0
- package/dist/schemas/transportApiContracts.cjs.map +1 -0
- package/dist/schemas/transportApiContracts.d.cts +205 -0
- package/dist/schemas/transportApiContracts.d.cts.map +1 -0
- package/dist/schemas/transportApiContracts.d.mts +205 -0
- package/dist/schemas/transportApiContracts.d.mts.map +1 -0
- package/dist/schemas/transportApiContracts.mjs +242 -0
- package/dist/schemas/transportApiContracts.mjs.map +1 -0
- package/dist/schemas/uiHub.cjs +17 -0
- package/dist/schemas/uiHub.cjs.map +1 -0
- package/dist/schemas/uiHub.d.cts +23 -0
- package/dist/schemas/uiHub.d.cts.map +1 -0
- package/dist/schemas/uiHub.d.mts +23 -0
- package/dist/schemas/uiHub.d.mts.map +1 -0
- package/dist/schemas/uiHub.mjs +15 -0
- package/dist/schemas/uiHub.mjs.map +1 -0
- package/dist/schemas/voiceReloadHandoff.cjs +78 -0
- package/dist/schemas/voiceReloadHandoff.cjs.map +1 -0
- package/dist/schemas/voiceReloadHandoff.d.cts +31 -0
- package/dist/schemas/voiceReloadHandoff.d.cts.map +1 -0
- package/dist/schemas/voiceReloadHandoff.d.mts +31 -0
- package/dist/schemas/voiceReloadHandoff.d.mts.map +1 -0
- package/dist/schemas/voiceReloadHandoff.mjs +75 -0
- package/dist/schemas/voiceReloadHandoff.mjs.map +1 -0
- package/dist/schemas/voiceTools.cjs +205 -0
- package/dist/schemas/voiceTools.cjs.map +1 -0
- package/dist/schemas/voiceTools.d.cts +120 -0
- package/dist/schemas/voiceTools.d.cts.map +1 -0
- package/dist/schemas/voiceTools.d.mts +120 -0
- package/dist/schemas/voiceTools.d.mts.map +1 -0
- package/dist/schemas/voiceTools.mjs +194 -0
- package/dist/schemas/voiceTools.mjs.map +1 -0
- package/dist/server/directHarnessRuntime.cjs +981 -0
- package/dist/server/directHarnessRuntime.cjs.map +1 -0
- package/dist/server/directHarnessRuntime.d.cts +3 -0
- package/dist/server/directHarnessRuntime.d.mts +3 -0
- package/dist/server/directHarnessRuntime.mjs +976 -0
- package/dist/server/directHarnessRuntime.mjs.map +1 -0
- package/dist/server/headlessProtocol.cjs +233 -0
- package/dist/server/headlessProtocol.cjs.map +1 -0
- package/dist/server/headlessProtocol.mjs +233 -0
- package/dist/server/headlessProtocol.mjs.map +1 -0
- package/dist/server/jsonlTranscriptReader.cjs +85 -0
- package/dist/server/jsonlTranscriptReader.cjs.map +1 -0
- package/dist/server/jsonlTranscriptReader.mjs +83 -0
- package/dist/server/jsonlTranscriptReader.mjs.map +1 -0
- package/dist/server/nativeChildTranscriptReader.cjs +20 -0
- package/dist/server/nativeChildTranscriptReader.cjs.map +1 -0
- package/dist/server/nativeChildTranscriptReader.mjs +18 -0
- package/dist/server/nativeChildTranscriptReader.mjs.map +1 -0
- package/dist/server/remoteRoutes.cjs +386 -0
- package/dist/server/remoteRoutes.cjs.map +1 -0
- package/dist/server/remoteRoutes.mjs +386 -0
- package/dist/server/remoteRoutes.mjs.map +1 -0
- package/dist/server/serverFacetLoader.cjs +220 -0
- package/dist/server/serverFacetLoader.cjs.map +1 -0
- package/dist/server/serverFacetLoader.d.cts +77 -0
- package/dist/server/serverFacetLoader.d.cts.map +1 -0
- package/dist/server/serverFacetLoader.d.mts +77 -0
- package/dist/server/serverFacetLoader.d.mts.map +1 -0
- package/dist/server/serverFacetLoader.mjs +215 -0
- package/dist/server/serverFacetLoader.mjs.map +1 -0
- package/dist/server/threadJournals.cjs +172 -0
- package/dist/server/threadJournals.cjs.map +1 -0
- package/dist/server/threadJournals.mjs +169 -0
- package/dist/server/threadJournals.mjs.map +1 -0
- package/dist/server-facet.cjs +27 -0
- package/dist/server-facet.d.cts +7 -0
- package/dist/server-facet.d.mts +7 -0
- package/dist/server-facet.mjs +7 -0
- package/dist/server-telemetry.cjs +25 -0
- package/dist/server-telemetry.cjs.map +1 -0
- package/dist/server-telemetry.d.cts +12 -0
- package/dist/server-telemetry.d.cts.map +1 -0
- package/dist/server-telemetry.d.mts +12 -0
- package/dist/server-telemetry.d.mts.map +1 -0
- package/dist/server-telemetry.mjs +23 -0
- package/dist/server-telemetry.mjs.map +1 -0
- package/dist/server.cjs +17 -0
- package/dist/server.d.cts +10 -0
- package/dist/server.d.mts +10 -0
- package/dist/server.mjs +7 -0
- package/dist/services/acpSessionUpdates/index.cjs +129 -0
- package/dist/services/acpSessionUpdates/index.cjs.map +1 -0
- package/dist/services/acpSessionUpdates/index.mjs +129 -0
- package/dist/services/acpSessionUpdates/index.mjs.map +1 -0
- package/dist/services/apiContracts/index.cjs +267 -0
- package/dist/services/apiContracts/index.cjs.map +1 -0
- package/dist/services/apiContracts/index.d.cts +42 -0
- package/dist/services/apiContracts/index.d.cts.map +1 -0
- package/dist/services/apiContracts/index.d.mts +42 -0
- package/dist/services/apiContracts/index.d.mts.map +1 -0
- package/dist/services/apiContracts/index.mjs +266 -0
- package/dist/services/apiContracts/index.mjs.map +1 -0
- package/dist/services/bundlePublication/index.cjs +88 -0
- package/dist/services/bundlePublication/index.cjs.map +1 -0
- package/dist/services/bundlePublication/index.mjs +85 -0
- package/dist/services/bundlePublication/index.mjs.map +1 -0
- package/dist/services/contextApiUrls/index.cjs +15 -0
- package/dist/services/contextApiUrls/index.cjs.map +1 -0
- package/dist/services/contextApiUrls/index.d.cts +6 -0
- package/dist/services/contextApiUrls/index.d.cts.map +1 -0
- package/dist/services/contextApiUrls/index.d.mts +6 -0
- package/dist/services/contextApiUrls/index.d.mts.map +1 -0
- package/dist/services/contextApiUrls/index.mjs +15 -0
- package/dist/services/contextApiUrls/index.mjs.map +1 -0
- package/dist/services/contextContributions/index.cjs +79 -0
- package/dist/services/contextContributions/index.cjs.map +1 -0
- package/dist/services/contextContributions/index.d.cts +6 -0
- package/dist/services/contextContributions/index.d.cts.map +1 -0
- package/dist/services/contextContributions/index.d.mts +6 -0
- package/dist/services/contextContributions/index.d.mts.map +1 -0
- package/dist/services/contextContributions/index.mjs +79 -0
- package/dist/services/contextContributions/index.mjs.map +1 -0
- package/dist/services/deviceAuth/index.cjs +125 -0
- package/dist/services/deviceAuth/index.cjs.map +1 -0
- package/dist/services/deviceAuth/index.d.cts +9 -0
- package/dist/services/deviceAuth/index.d.cts.map +1 -0
- package/dist/services/deviceAuth/index.d.mts +9 -0
- package/dist/services/deviceAuth/index.d.mts.map +1 -0
- package/dist/services/deviceAuth/index.mjs +125 -0
- package/dist/services/deviceAuth/index.mjs.map +1 -0
- package/dist/services/deviceSessions/index.cjs +147 -0
- package/dist/services/deviceSessions/index.cjs.map +1 -0
- package/dist/services/deviceSessions/index.d.cts +15 -0
- package/dist/services/deviceSessions/index.d.cts.map +1 -0
- package/dist/services/deviceSessions/index.d.mts +15 -0
- package/dist/services/deviceSessions/index.d.mts.map +1 -0
- package/dist/services/deviceSessions/index.mjs +141 -0
- package/dist/services/deviceSessions/index.mjs.map +1 -0
- package/dist/services/headlessClient/index.cjs +117 -0
- package/dist/services/headlessClient/index.cjs.map +1 -0
- package/dist/services/headlessClient/index.mjs +117 -0
- package/dist/services/headlessClient/index.mjs.map +1 -0
- package/dist/services/historyCreationFileSystem/index.cjs +114 -0
- package/dist/services/historyCreationFileSystem/index.cjs.map +1 -0
- package/dist/services/historyCreationFileSystem/index.mjs +114 -0
- package/dist/services/historyCreationFileSystem/index.mjs.map +1 -0
- package/dist/services/hubChannelHarness/index.cjs +50 -0
- package/dist/services/hubChannelHarness/index.cjs.map +1 -0
- package/dist/services/hubChannelHarness/index.d.cts +17 -0
- package/dist/services/hubChannelHarness/index.d.cts.map +1 -0
- package/dist/services/hubChannelHarness/index.d.mts +17 -0
- package/dist/services/hubChannelHarness/index.d.mts.map +1 -0
- package/dist/services/hubChannelHarness/index.mjs +50 -0
- package/dist/services/hubChannelHarness/index.mjs.map +1 -0
- package/dist/services/kernel/index.cjs +147 -0
- package/dist/services/kernel/index.cjs.map +1 -0
- package/dist/services/kernel/index.d.cts +9 -0
- package/dist/services/kernel/index.d.cts.map +1 -0
- package/dist/services/kernel/index.d.mts +9 -0
- package/dist/services/kernel/index.d.mts.map +1 -0
- package/dist/services/kernel/index.mjs +147 -0
- package/dist/services/kernel/index.mjs.map +1 -0
- package/dist/services/loginFlow/index.cjs +131 -0
- package/dist/services/loginFlow/index.cjs.map +1 -0
- package/dist/services/loginFlow/index.mjs +131 -0
- package/dist/services/loginFlow/index.mjs.map +1 -0
- package/dist/services/packageApiHarness/index.cjs +36 -0
- package/dist/services/packageApiHarness/index.cjs.map +1 -0
- package/dist/services/packageApiHarness/index.d.cts +40 -0
- package/dist/services/packageApiHarness/index.d.cts.map +1 -0
- package/dist/services/packageApiHarness/index.d.mts +40 -0
- package/dist/services/packageApiHarness/index.d.mts.map +1 -0
- package/dist/services/packageApiHarness/index.mjs +36 -0
- package/dist/services/packageApiHarness/index.mjs.map +1 -0
- package/dist/services/pairingFlow/index.cjs +145 -0
- package/dist/services/pairingFlow/index.cjs.map +1 -0
- package/dist/services/pairingFlow/index.d.cts +44 -0
- package/dist/services/pairingFlow/index.d.cts.map +1 -0
- package/dist/services/pairingFlow/index.d.mts +44 -0
- package/dist/services/pairingFlow/index.d.mts.map +1 -0
- package/dist/services/pairingFlow/index.mjs +145 -0
- package/dist/services/pairingFlow/index.mjs.map +1 -0
- package/dist/services/pairingPage/index.cjs +450 -0
- package/dist/services/pairingPage/index.cjs.map +1 -0
- package/dist/services/pairingPage/index.mjs +447 -0
- package/dist/services/pairingPage/index.mjs.map +1 -0
- package/dist/services/pluginLifecycle/index.cjs +71 -0
- package/dist/services/pluginLifecycle/index.cjs.map +1 -0
- package/dist/services/pluginLifecycle/index.d.cts +11 -0
- package/dist/services/pluginLifecycle/index.d.cts.map +1 -0
- package/dist/services/pluginLifecycle/index.d.mts +11 -0
- package/dist/services/pluginLifecycle/index.d.mts.map +1 -0
- package/dist/services/pluginLifecycle/index.mjs +71 -0
- package/dist/services/pluginLifecycle/index.mjs.map +1 -0
- package/dist/services/providerAuth/index.cjs +156 -0
- package/dist/services/providerAuth/index.cjs.map +1 -0
- package/dist/services/providerAuth/index.mjs +154 -0
- package/dist/services/providerAuth/index.mjs.map +1 -0
- package/dist/services/remoteAccess/index.cjs +393 -0
- package/dist/services/remoteAccess/index.cjs.map +1 -0
- package/dist/services/remoteAccess/index.d.cts +79 -0
- package/dist/services/remoteAccess/index.d.cts.map +1 -0
- package/dist/services/remoteAccess/index.d.mts +79 -0
- package/dist/services/remoteAccess/index.d.mts.map +1 -0
- package/dist/services/remoteAccess/index.mjs +393 -0
- package/dist/services/remoteAccess/index.mjs.map +1 -0
- package/dist/services/remoteAccessSettings/index.cjs +151 -0
- package/dist/services/remoteAccessSettings/index.cjs.map +1 -0
- package/dist/services/remoteAccessSettings/index.mjs +149 -0
- package/dist/services/remoteAccessSettings/index.mjs.map +1 -0
- package/dist/services/remoteAccessStore/index.cjs +126 -0
- package/dist/services/remoteAccessStore/index.cjs.map +1 -0
- package/dist/services/remoteAccessStore/index.mjs +121 -0
- package/dist/services/remoteAccessStore/index.mjs.map +1 -0
- package/dist/services/remoteGuardPolicy/index.cjs +190 -0
- package/dist/services/remoteGuardPolicy/index.cjs.map +1 -0
- package/dist/services/remoteGuardPolicy/index.d.cts +7 -0
- package/dist/services/remoteGuardPolicy/index.d.cts.map +1 -0
- package/dist/services/remoteGuardPolicy/index.d.mts +7 -0
- package/dist/services/remoteGuardPolicy/index.d.mts.map +1 -0
- package/dist/services/remoteGuardPolicy/index.mjs +186 -0
- package/dist/services/remoteGuardPolicy/index.mjs.map +1 -0
- package/dist/services/rpcTranscript/index.cjs +590 -0
- package/dist/services/rpcTranscript/index.cjs.map +1 -0
- package/dist/services/rpcTranscript/index.d.cts +50 -0
- package/dist/services/rpcTranscript/index.d.cts.map +1 -0
- package/dist/services/rpcTranscript/index.d.mts +50 -0
- package/dist/services/rpcTranscript/index.d.mts.map +1 -0
- package/dist/services/rpcTranscript/index.mjs +589 -0
- package/dist/services/rpcTranscript/index.mjs.map +1 -0
- package/dist/services/serverFacet/index.cjs +197 -0
- package/dist/services/serverFacet/index.cjs.map +1 -0
- package/dist/services/serverFacet/index.d.cts +31 -0
- package/dist/services/serverFacet/index.d.cts.map +1 -0
- package/dist/services/serverFacet/index.d.mts +31 -0
- package/dist/services/serverFacet/index.d.mts.map +1 -0
- package/dist/services/serverFacet/index.mjs +197 -0
- package/dist/services/serverFacet/index.mjs.map +1 -0
- package/dist/services/sessionPresentation/index.cjs +117 -0
- package/dist/services/sessionPresentation/index.cjs.map +1 -0
- package/dist/services/sessionPresentation/index.mjs +117 -0
- package/dist/services/sessionPresentation/index.mjs.map +1 -0
- package/dist/services/sqliteSessionHistory/index.cjs +59 -0
- package/dist/services/sqliteSessionHistory/index.cjs.map +1 -0
- package/dist/services/sqliteSessionHistory/index.d.cts +13 -0
- package/dist/services/sqliteSessionHistory/index.d.cts.map +1 -0
- package/dist/services/sqliteSessionHistory/index.d.mts +13 -0
- package/dist/services/sqliteSessionHistory/index.d.mts.map +1 -0
- package/dist/services/sqliteSessionHistory/index.mjs +57 -0
- package/dist/services/sqliteSessionHistory/index.mjs.map +1 -0
- package/dist/services/sqliteTranscriptReader/index.cjs +49 -0
- package/dist/services/sqliteTranscriptReader/index.cjs.map +1 -0
- package/dist/services/sqliteTranscriptReader/index.mjs +47 -0
- package/dist/services/sqliteTranscriptReader/index.mjs.map +1 -0
- package/dist/services/toolCost/index.cjs +47 -0
- package/dist/services/toolCost/index.cjs.map +1 -0
- package/dist/services/toolCost/index.d.cts +38 -0
- package/dist/services/toolCost/index.d.cts.map +1 -0
- package/dist/services/toolCost/index.d.mts +38 -0
- package/dist/services/toolCost/index.d.mts.map +1 -0
- package/dist/services/toolCost/index.mjs +46 -0
- package/dist/services/toolCost/index.mjs.map +1 -0
- package/dist/services/toolOverrides/index.cjs +45 -0
- package/dist/services/toolOverrides/index.cjs.map +1 -0
- package/dist/services/toolOverrides/index.d.cts +6 -0
- package/dist/services/toolOverrides/index.d.cts.map +1 -0
- package/dist/services/toolOverrides/index.d.mts +6 -0
- package/dist/services/toolOverrides/index.d.mts.map +1 -0
- package/dist/services/toolOverrides/index.mjs +45 -0
- package/dist/services/toolOverrides/index.mjs.map +1 -0
- package/dist/services/toolSurface/index.cjs +105 -0
- package/dist/services/toolSurface/index.cjs.map +1 -0
- package/dist/services/toolSurface/index.d.cts +19 -0
- package/dist/services/toolSurface/index.d.cts.map +1 -0
- package/dist/services/toolSurface/index.d.mts +19 -0
- package/dist/services/toolSurface/index.d.mts.map +1 -0
- package/dist/services/toolSurface/index.mjs +105 -0
- package/dist/services/toolSurface/index.mjs.map +1 -0
- package/dist/services/traceContext/index.cjs +13 -0
- package/dist/services/traceContext/index.cjs.map +1 -0
- package/dist/services/traceContext/index.mjs +13 -0
- package/dist/services/traceContext/index.mjs.map +1 -0
- package/dist/services/transcriptPages/index.cjs +74 -0
- package/dist/services/transcriptPages/index.cjs.map +1 -0
- package/dist/services/transcriptPages/index.mjs +73 -0
- package/dist/services/transcriptPages/index.mjs.map +1 -0
- package/dist/services/tunnelOutput/index.cjs +58 -0
- package/dist/services/tunnelOutput/index.cjs.map +1 -0
- package/dist/services/tunnelOutput/index.mjs +54 -0
- package/dist/services/tunnelOutput/index.mjs.map +1 -0
- package/dist/services/tunnelProcess/index.cjs +486 -0
- package/dist/services/tunnelProcess/index.cjs.map +1 -0
- package/dist/services/tunnelProcess/index.mjs +480 -0
- package/dist/services/tunnelProcess/index.mjs.map +1 -0
- package/dist/services/voiceReloadHandoff/index.cjs +136 -0
- package/dist/services/voiceReloadHandoff/index.cjs.map +1 -0
- package/dist/services/voiceReloadHandoff/index.d.cts +34 -0
- package/dist/services/voiceReloadHandoff/index.d.cts.map +1 -0
- package/dist/services/voiceReloadHandoff/index.d.mts +34 -0
- package/dist/services/voiceReloadHandoff/index.d.mts.map +1 -0
- package/dist/services/voiceReloadHandoff/index.mjs +135 -0
- package/dist/services/voiceReloadHandoff/index.mjs.map +1 -0
- package/dist/services/voiceToolsContract/index.cjs +26 -0
- package/dist/services/voiceToolsContract/index.cjs.map +1 -0
- package/dist/services/voiceToolsContract/index.d.cts +76 -0
- package/dist/services/voiceToolsContract/index.d.cts.map +1 -0
- package/dist/services/voiceToolsContract/index.d.mts +76 -0
- package/dist/services/voiceToolsContract/index.d.mts.map +1 -0
- package/dist/services/voiceToolsContract/index.mjs +24 -0
- package/dist/services/voiceToolsContract/index.mjs.map +1 -0
- package/dist/services/webauthn/index.cjs +262 -0
- package/dist/services/webauthn/index.cjs.map +1 -0
- package/dist/services/webauthn/index.d.cts +39 -0
- package/dist/services/webauthn/index.d.cts.map +1 -0
- package/dist/services/webauthn/index.d.mts +39 -0
- package/dist/services/webauthn/index.d.mts.map +1 -0
- package/dist/services/webauthn/index.mjs +262 -0
- package/dist/services/webauthn/index.mjs.map +1 -0
- package/dist/services/webauthnPolicy/index.cjs +178 -0
- package/dist/services/webauthnPolicy/index.cjs.map +1 -0
- package/dist/services/webauthnPolicy/index.d.cts +41 -0
- package/dist/services/webauthnPolicy/index.d.cts.map +1 -0
- package/dist/services/webauthnPolicy/index.d.mts +41 -0
- package/dist/services/webauthnPolicy/index.d.mts.map +1 -0
- package/dist/services/webauthnPolicy/index.mjs +171 -0
- package/dist/services/webauthnPolicy/index.mjs.map +1 -0
- package/dist/session-files-api.cjs +61 -0
- package/dist/session-files-api.cjs.map +1 -0
- package/dist/session-files-api.d.cts +7 -0
- package/dist/session-files-api.d.cts.map +1 -0
- package/dist/session-files-api.d.mts +7 -0
- package/dist/session-files-api.d.mts.map +1 -0
- package/dist/session-files-api.mjs +57 -0
- package/dist/session-files-api.mjs.map +1 -0
- package/dist/session-protocol.cjs +8 -0
- package/dist/session-protocol.d.cts +3 -0
- package/dist/session-protocol.d.mts +3 -0
- package/dist/session-protocol.mjs +2 -0
- package/dist/skills.cjs +9 -0
- package/dist/skills.d.cts +2 -0
- package/dist/skills.d.mts +2 -0
- package/dist/skills.mjs +2 -0
- package/dist/sqlite-history-import.cjs +151 -0
- package/dist/sqlite-history-import.cjs.map +1 -0
- package/dist/sqlite-history-import.d.cts +8 -0
- package/dist/sqlite-history-import.d.cts.map +1 -0
- package/dist/sqlite-history-import.d.mts +8 -0
- package/dist/sqlite-history-import.d.mts.map +1 -0
- package/dist/sqlite-history-import.mjs +146 -0
- package/dist/sqlite-history-import.mjs.map +1 -0
- package/dist/sqlite-session-storage.cjs +53 -0
- package/dist/sqlite-session-storage.cjs.map +1 -0
- package/dist/sqlite-session-storage.d.cts +7 -0
- package/dist/sqlite-session-storage.d.cts.map +1 -0
- package/dist/sqlite-session-storage.d.mts +7 -0
- package/dist/sqlite-session-storage.d.mts.map +1 -0
- package/dist/sqlite-session-storage.mjs +49 -0
- package/dist/sqlite-session-storage.mjs.map +1 -0
- package/dist/sync-location.cjs +209 -0
- package/dist/sync-location.cjs.map +1 -0
- package/dist/sync-location.d.cts +31 -0
- package/dist/sync-location.d.cts.map +1 -0
- package/dist/sync-location.d.mts +31 -0
- package/dist/sync-location.d.mts.map +1 -0
- package/dist/sync-location.mjs +199 -0
- package/dist/sync-location.mjs.map +1 -0
- package/dist/sync-registration.cjs +140 -0
- package/dist/sync-registration.cjs.map +1 -0
- package/dist/sync-registration.d.cts +38 -0
- package/dist/sync-registration.d.cts.map +1 -0
- package/dist/sync-registration.d.mts +38 -0
- package/dist/sync-registration.d.mts.map +1 -0
- package/dist/sync-registration.mjs +131 -0
- package/dist/sync-registration.mjs.map +1 -0
- package/dist/sync-state-contract.cjs +19 -0
- package/dist/sync-state-contract.cjs.map +1 -0
- package/dist/sync-state-contract.d.cts +14 -0
- package/dist/sync-state-contract.d.cts.map +1 -0
- package/dist/sync-state-contract.d.mts +14 -0
- package/dist/sync-state-contract.d.mts.map +1 -0
- package/dist/sync-state-contract.mjs +16 -0
- package/dist/sync-state-contract.mjs.map +1 -0
- package/dist/systems/child/adapters/headlessChildSessionService.cjs +210 -0
- package/dist/systems/child/adapters/headlessChildSessionService.cjs.map +1 -0
- package/dist/systems/child/adapters/headlessChildSessionService.d.cts +24 -0
- package/dist/systems/child/adapters/headlessChildSessionService.d.cts.map +1 -0
- package/dist/systems/child/adapters/headlessChildSessionService.d.mts +24 -0
- package/dist/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -0
- package/dist/systems/child/adapters/headlessChildSessionService.mjs +205 -0
- package/dist/systems/child/adapters/headlessChildSessionService.mjs.map +1 -0
- package/dist/systems/child/adapters/nativeChildRuntimes.cjs +28 -0
- package/dist/systems/child/adapters/nativeChildRuntimes.cjs.map +1 -0
- package/dist/systems/child/adapters/nativeChildRuntimes.mjs +25 -0
- package/dist/systems/child/adapters/nativeChildRuntimes.mjs.map +1 -0
- package/dist/systems/child/services/childSession/index.cjs +206 -0
- package/dist/systems/child/services/childSession/index.cjs.map +1 -0
- package/dist/systems/child/services/childSession/index.d.cts +14 -0
- package/dist/systems/child/services/childSession/index.d.cts.map +1 -0
- package/dist/systems/child/services/childSession/index.d.mts +14 -0
- package/dist/systems/child/services/childSession/index.d.mts.map +1 -0
- package/dist/systems/child/services/childSession/index.mjs +206 -0
- package/dist/systems/child/services/childSession/index.mjs.map +1 -0
- package/dist/systems/child/types/childSession.cjs +16 -0
- package/dist/systems/child/types/childSession.cjs.map +1 -0
- package/dist/systems/child/types/childSession.d.cts +135 -0
- package/dist/systems/child/types/childSession.d.cts.map +1 -0
- package/dist/systems/child/types/childSession.d.mts +135 -0
- package/dist/systems/child/types/childSession.d.mts.map +1 -0
- package/dist/systems/child/types/childSession.mjs +14 -0
- package/dist/systems/child/types/childSession.mjs.map +1 -0
- package/dist/systems/main/adapters/headlessHost.cjs +436 -0
- package/dist/systems/main/adapters/headlessHost.cjs.map +1 -0
- package/dist/systems/main/adapters/headlessHost.d.cts +72 -0
- package/dist/systems/main/adapters/headlessHost.d.cts.map +1 -0
- package/dist/systems/main/adapters/headlessHost.d.mts +72 -0
- package/dist/systems/main/adapters/headlessHost.d.mts.map +1 -0
- package/dist/systems/main/adapters/headlessHost.mjs +435 -0
- package/dist/systems/main/adapters/headlessHost.mjs.map +1 -0
- package/dist/systems/main/adapters/headlessSessionHost.cjs +653 -0
- package/dist/systems/main/adapters/headlessSessionHost.cjs.map +1 -0
- package/dist/systems/main/adapters/headlessSessionHost.d.cts +14 -0
- package/dist/systems/main/adapters/headlessSessionHost.d.cts.map +1 -0
- package/dist/systems/main/adapters/headlessSessionHost.d.mts +14 -0
- package/dist/systems/main/adapters/headlessSessionHost.d.mts.map +1 -0
- package/dist/systems/main/adapters/headlessSessionHost.mjs +649 -0
- package/dist/systems/main/adapters/headlessSessionHost.mjs.map +1 -0
- package/dist/systems/main/types/headlessHost.d.cts +36 -0
- package/dist/systems/main/types/headlessHost.d.cts.map +1 -0
- package/dist/systems/main/types/headlessHost.d.mts +36 -0
- package/dist/systems/main/types/headlessHost.d.mts.map +1 -0
- package/dist/terminal-pi-child-session-service.cjs +263 -0
- package/dist/terminal-pi-child-session-service.cjs.map +1 -0
- package/dist/terminal-pi-child-session-service.d.cts +36 -0
- package/dist/terminal-pi-child-session-service.d.cts.map +1 -0
- package/dist/terminal-pi-child-session-service.d.mts +36 -0
- package/dist/terminal-pi-child-session-service.d.mts.map +1 -0
- package/dist/terminal-pi-child-session-service.mjs +256 -0
- package/dist/terminal-pi-child-session-service.mjs.map +1 -0
- package/dist/testing/pi/extensionScenarios.cjs +73 -0
- package/dist/testing/pi/extensionScenarios.cjs.map +1 -0
- package/dist/testing/pi/extensionScenarios.d.cts +41 -0
- package/dist/testing/pi/extensionScenarios.d.cts.map +1 -0
- package/dist/testing/pi/extensionScenarios.d.mts +41 -0
- package/dist/testing/pi/extensionScenarios.d.mts.map +1 -0
- package/dist/testing/pi/extensionScenarios.mjs +73 -0
- package/dist/testing/pi/extensionScenarios.mjs.map +1 -0
- package/dist/testing/pi/testHost.cjs +365 -0
- package/dist/testing/pi/testHost.cjs.map +1 -0
- package/dist/testing/pi/testHost.d.cts +160 -0
- package/dist/testing/pi/testHost.d.cts.map +1 -0
- package/dist/testing/pi/testHost.d.mts +160 -0
- package/dist/testing/pi/testHost.d.mts.map +1 -0
- package/dist/testing/pi/testHost.mjs +365 -0
- package/dist/testing/pi/testHost.mjs.map +1 -0
- package/dist/testing.cjs +9 -0
- package/dist/testing.d.cts +5 -0
- package/dist/testing.d.mts +5 -0
- package/dist/testing.mjs +5 -0
- package/dist/tool-inventory.cjs +136 -0
- package/dist/tool-inventory.cjs.map +1 -0
- package/dist/tool-inventory.d.cts +66 -0
- package/dist/tool-inventory.d.cts.map +1 -0
- package/dist/tool-inventory.d.mts +66 -0
- package/dist/tool-inventory.d.mts.map +1 -0
- package/dist/tool-inventory.mjs +133 -0
- package/dist/tool-inventory.mjs.map +1 -0
- package/dist/tool-names.cjs +4 -0
- package/dist/tool-names.d.cts +2 -0
- package/dist/tool-names.d.mts +2 -0
- package/dist/tool-names.mjs +2 -0
- package/dist/tool-overrides.cjs +7 -0
- package/dist/tool-overrides.d.cts +3 -0
- package/dist/tool-overrides.d.mts +3 -0
- package/dist/tool-overrides.mjs +3 -0
- package/dist/tool-surface.cjs +7 -0
- package/dist/tool-surface.d.cts +3 -0
- package/dist/tool-surface.d.mts +3 -0
- package/dist/tool-surface.mjs +3 -0
- package/dist/transition-classifier.cjs +112 -0
- package/dist/transition-classifier.cjs.map +1 -0
- package/dist/transition-classifier.d.cts +18 -0
- package/dist/transition-classifier.d.cts.map +1 -0
- package/dist/transition-classifier.d.mts +18 -0
- package/dist/transition-classifier.d.mts.map +1 -0
- package/dist/transition-classifier.mjs +111 -0
- package/dist/transition-classifier.mjs.map +1 -0
- package/dist/transition-coordinator.cjs +131 -0
- package/dist/transition-coordinator.cjs.map +1 -0
- package/dist/transition-coordinator.d.cts +16 -0
- package/dist/transition-coordinator.d.cts.map +1 -0
- package/dist/transition-coordinator.d.mts +16 -0
- package/dist/transition-coordinator.d.mts.map +1 -0
- package/dist/transition-coordinator.mjs +130 -0
- package/dist/transition-coordinator.mjs.map +1 -0
- package/dist/transition.cjs +5 -0
- package/dist/transition.d.cts +2 -0
- package/dist/transition.d.mts +2 -0
- package/dist/transition.mjs +2 -0
- package/dist/types/config.d.cts +20 -0
- package/dist/types/config.d.cts.map +1 -0
- package/dist/types/config.d.mts +20 -0
- package/dist/types/config.d.mts.map +1 -0
- package/dist/types/kernel.d.cts +69 -0
- package/dist/types/kernel.d.cts.map +1 -0
- package/dist/types/kernel.d.mts +69 -0
- package/dist/types/kernel.d.mts.map +1 -0
- package/dist/types/remote.d.cts +124 -0
- package/dist/types/remote.d.cts.map +1 -0
- package/dist/types/remote.d.mts +124 -0
- package/dist/types/remote.d.mts.map +1 -0
- package/dist/types/server/directHarnessRuntime.d.cts +156 -0
- package/dist/types/server/directHarnessRuntime.d.cts.map +1 -0
- package/dist/types/server/directHarnessRuntime.d.mts +156 -0
- package/dist/types/server/directHarnessRuntime.d.mts.map +1 -0
- package/dist/types/server/session.d.cts +5 -0
- package/dist/types/server/session.d.cts.map +1 -0
- package/dist/types/server/session.d.mts +5 -0
- package/dist/types/server/session.d.mts.map +1 -0
- package/dist/types-context-api.cjs +0 -0
- package/dist/types-context-api.d.cts +48 -0
- package/dist/types-context-api.d.cts.map +1 -0
- package/dist/types-context-api.d.mts +48 -0
- package/dist/types-context-api.d.mts.map +1 -0
- package/dist/types-context-api.mjs +1 -0
- package/dist/ui-hub.cjs +5 -0
- package/dist/ui-hub.d.cts +2 -0
- package/dist/ui-hub.d.mts +2 -0
- package/dist/ui-hub.mjs +2 -0
- package/dist/v3-export.cjs +1004 -0
- package/dist/v3-export.cjs.map +1 -0
- package/dist/v3-export.d.cts +34 -0
- package/dist/v3-export.d.cts.map +1 -0
- package/dist/v3-export.d.mts +34 -0
- package/dist/v3-export.d.mts.map +1 -0
- package/dist/v3-export.mjs +1000 -0
- package/dist/v3-export.mjs.map +1 -0
- package/dist/voice-reload-handoff.cjs +14 -0
- package/dist/voice-reload-handoff.d.cts +4 -0
- package/dist/voice-reload-handoff.d.mts +4 -0
- package/dist/voice-reload-handoff.mjs +4 -0
- package/dist/voice-tools.cjs +56 -0
- package/dist/voice-tools.d.cts +4 -0
- package/dist/voice-tools.d.mts +4 -0
- package/dist/voice-tools.mjs +4 -0
- package/dist/web/models/globalStore.cjs +23 -0
- package/dist/web/models/globalStore.cjs.map +1 -0
- package/dist/web/models/globalStore.d.cts +6 -0
- package/dist/web/models/globalStore.d.cts.map +1 -0
- package/dist/web/models/globalStore.d.mts +6 -0
- package/dist/web/models/globalStore.d.mts.map +1 -0
- package/dist/web/models/globalStore.mjs +23 -0
- package/dist/web/models/globalStore.mjs.map +1 -0
- package/dist/web/models/sessionStore.cjs +56 -0
- package/dist/web/models/sessionStore.cjs.map +1 -0
- package/dist/web/models/sessionStore.d.cts +14 -0
- package/dist/web/models/sessionStore.d.cts.map +1 -0
- package/dist/web/models/sessionStore.d.mts +14 -0
- package/dist/web/models/sessionStore.d.mts.map +1 -0
- package/dist/web/models/sessionStore.mjs +56 -0
- package/dist/web/models/sessionStore.mjs.map +1 -0
- package/dist/web/schemas/bundleAssetPolicy.cjs +20 -0
- package/dist/web/schemas/bundleAssetPolicy.cjs.map +1 -0
- package/dist/web/schemas/bundleAssetPolicy.d.cts +10 -0
- package/dist/web/schemas/bundleAssetPolicy.d.cts.map +1 -0
- package/dist/web/schemas/bundleAssetPolicy.d.mts +10 -0
- package/dist/web/schemas/bundleAssetPolicy.d.mts.map +1 -0
- package/dist/web/schemas/bundleAssetPolicy.mjs +18 -0
- package/dist/web/schemas/bundleAssetPolicy.mjs.map +1 -0
- package/dist/web/services/sessionRegistry/index.cjs +107 -0
- package/dist/web/services/sessionRegistry/index.cjs.map +1 -0
- package/dist/web/services/sessionRegistry/index.d.cts +42 -0
- package/dist/web/services/sessionRegistry/index.d.cts.map +1 -0
- package/dist/web/services/sessionRegistry/index.d.mts +42 -0
- package/dist/web/services/sessionRegistry/index.d.mts.map +1 -0
- package/dist/web/services/sessionRegistry/index.mjs +100 -0
- package/dist/web/services/sessionRegistry/index.mjs.map +1 -0
- package/dist/web/services/testing/channels.cjs +11 -0
- package/dist/web/services/testing/channels.cjs.map +1 -0
- package/dist/web/services/testing/channels.d.cts +8 -0
- package/dist/web/services/testing/channels.d.cts.map +1 -0
- package/dist/web/services/testing/channels.d.mts +8 -0
- package/dist/web/services/testing/channels.d.mts.map +1 -0
- package/dist/web/services/testing/channels.mjs +11 -0
- package/dist/web/services/testing/channels.mjs.map +1 -0
- package/dist/web/services/testing/index.cjs +27 -0
- package/dist/web/services/testing/index.cjs.map +1 -0
- package/dist/web/services/testing/index.d.cts +31 -0
- package/dist/web/services/testing/index.d.cts.map +1 -0
- package/dist/web/services/testing/index.d.mts +31 -0
- package/dist/web/services/testing/index.d.mts.map +1 -0
- package/dist/web/services/testing/index.mjs +27 -0
- package/dist/web/services/testing/index.mjs.map +1 -0
- package/dist/web/services/testing/slotProps.cjs +90 -0
- package/dist/web/services/testing/slotProps.cjs.map +1 -0
- package/dist/web/services/testing/slotProps.d.cts +67 -0
- package/dist/web/services/testing/slotProps.d.cts.map +1 -0
- package/dist/web/services/testing/slotProps.d.mts +67 -0
- package/dist/web/services/testing/slotProps.d.mts.map +1 -0
- package/dist/web/services/testing/slotProps.mjs +89 -0
- package/dist/web/services/testing/slotProps.mjs.map +1 -0
- package/dist/web/services/toolResult/index.cjs +30 -0
- package/dist/web/services/toolResult/index.cjs.map +1 -0
- package/dist/web/services/toolResult/index.d.cts +14 -0
- package/dist/web/services/toolResult/index.d.cts.map +1 -0
- package/dist/web/services/toolResult/index.d.mts +14 -0
- package/dist/web/services/toolResult/index.d.mts.map +1 -0
- package/dist/web/services/toolResult/index.mjs +29 -0
- package/dist/web/services/toolResult/index.mjs.map +1 -0
- package/dist/web/testing.cjs +8 -0
- package/dist/web/testing.d.cts +4 -0
- package/dist/web/testing.d.mts +4 -0
- package/dist/web/testing.mjs +4 -0
- package/dist/web/types/modelContext.d.cts +43 -0
- package/dist/web/types/modelContext.d.cts.map +1 -0
- package/dist/web/types/modelContext.d.mts +43 -0
- package/dist/web/types/modelContext.d.mts.map +1 -0
- package/dist/web/types/sessionRegistry.d.cts +59 -0
- package/dist/web/types/sessionRegistry.d.cts.map +1 -0
- package/dist/web/types/sessionRegistry.d.mts +59 -0
- package/dist/web/types/sessionRegistry.d.mts.map +1 -0
- package/dist/web/types/webPlugin.d.cts +809 -0
- package/dist/web/types/webPlugin.d.cts.map +1 -0
- package/dist/web/types/webPlugin.d.mts +809 -0
- package/dist/web/types/webPlugin.d.mts.map +1 -0
- package/dist/web-compositions.cjs +100 -0
- package/dist/web-compositions.cjs.map +1 -0
- package/dist/web-compositions.d.cts +20 -0
- package/dist/web-compositions.d.cts.map +1 -0
- package/dist/web-compositions.d.mts +20 -0
- package/dist/web-compositions.d.mts.map +1 -0
- package/dist/web-compositions.mjs +95 -0
- package/dist/web-compositions.mjs.map +1 -0
- package/dist/web.cjs +25 -0
- package/dist/web.d.cts +10 -0
- package/dist/web.d.mts +10 -0
- package/dist/web.mjs +7 -0
- package/package.json +587 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v3-export.mjs","names":[],"sources":["../src/services/v3Export/index.ts"],"sourcesContent":["import { createHash, randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { HistoryOwnership, HistoryOwnershipLease } from '../historyImport';\nexport interface V3ExportLoss {\n code: string;\n detail: string;\n record?: unknown;\n}\n\nexport interface V3ExportLossReport {\n version: 1;\n format: 'doompi-v4-to-v3-loss-report';\n sourcePath: string;\n sourceSha256: string;\n destinationPath: string;\n losses: readonly V3ExportLoss[];\n}\n\nexport interface V3ExportOptions {\n sourcePath: string;\n destinationPath: string;\n owner: HistoryOwnership;\n reportPath?: string;\n statePath?: string;\n}\n\nexport interface V3ExportResult {\n status: 'published' | 'already-published';\n sourcePath: string;\n destinationPath: string;\n reportPath: string;\n statePath: string;\n sourceSha256: string;\n losses: readonly V3ExportLoss[];\n}\n\ninterface V4Header {\n v: 4;\n kind: 'header';\n id: string;\n storageVersion: number;\n createdAt: number;\n cwd: string;\n parentSessionId?: string;\n legacyParentSessionPath?: string;\n [key: string]: unknown;\n}\n\ninterface V4EntryWrite {\n kind: 'entry';\n entry: Record<string, unknown>;\n seq: number;\n}\n\ninterface V4UsageWrite {\n kind: 'usage';\n row: Record<string, unknown>;\n seq: number;\n}\n\ninterface V4ValueWrite {\n kind: 'value';\n op: 'set' | 'delete';\n namespace: string;\n key: string;\n value?: unknown;\n seq: number;\n}\n\ninterface V4ListWrite {\n kind: 'list';\n op: 'append' | 'delete';\n namespace: string;\n key: string;\n value?: unknown;\n seq: number;\n}\n\ntype V4Write = V4EntryWrite | V4UsageWrite | V4ValueWrite | V4ListWrite;\n\ninterface SourceIdentity {\n device: number;\n inode: number;\n size: number;\n mtimeMs: number;\n}\n\ninterface SourceSnapshot {\n content: Buffer;\n sourceSha256: string;\n identity: SourceIdentity;\n}\n\ninterface ExportState {\n version: 1;\n operation: 'v4-to-v3-export';\n phase: 'staged' | 'published';\n sourcePath: string;\n destinationPath: string;\n reportPath: string;\n sourceSha256: string;\n sourceIdentity: SourceIdentity;\n destinationSha256: string;\n reportSha256: string;\n stagingPath: string;\n reportStagingPath: string;\n}\n\nconst EXPORT_STATE_VERSION = 1;\nconst EXPORT_OPERATION = 'v4-to-v3-export';\nconst SESSION_NAME_NAMESPACE = 'pi.session.name';\nconst ENTRY_LABEL_NAMESPACE = 'pi.entry.label';\nconst BRANCH_TIP_NAMESPACE = 'pi.branch.tip';\n\ninterface ProtectedEntryProof {\n sourceId: string;\n importedId: string;\n sourceParentId: string | null;\n importedParentId: string | null;\n sourceContentHash: string;\n importedContentHash: string;\n}\n\ninterface ProtectedBranchProof {\n sourceTipId: string | null;\n importedTipId: string | null;\n branch?: string;\n}\n\ninterface ProtectedSourceIdentity {\n path: string;\n realPath: string;\n device: number;\n inode: number;\n size: number;\n mtimeMs: number;\n sha256: string;\n}\n\ninterface ProtectedImportState {\n sourcePath: string;\n destinationPath: string;\n originalPath: string;\n sourceIdentity: ProtectedSourceIdentity;\n stagedSha256: string;\n entries: ProtectedEntryProof[];\n branches: ProtectedBranchProof[];\n projectedSourceIds: string[];\n}\n\ninterface MetadataTimestamp {\n timestamp: string;\n parentId: string | null;\n targetId?: string;\n value?: string;\n}\n\ninterface MetadataProvenance {\n sessionName?: MetadataTimestamp;\n labels: Map<string, MetadataTimestamp>;\n}\n\nfunction nullableString(value: unknown): string | null | undefined {\n return value === null ? null : typeof value === 'string' ? value : undefined;\n}\n\nfunction parseProtectedSourceIdentity(value: unknown): ProtectedSourceIdentity | undefined {\n const record = asRecord(value);\n if (\n typeof record?.path !== 'string' ||\n typeof record.realPath !== 'string' ||\n typeof record.sha256 !== 'string' ||\n !/^[a-f0-9]{64}$/.test(record.sha256)\n ) {\n return undefined;\n }\n const number = (field: string): number | undefined => {\n const candidate = record[field];\n return typeof candidate === 'number' && Number.isSafeInteger(candidate) && candidate >= 0 ? candidate : undefined;\n };\n const device = number('device');\n const inode = number('inode');\n const size = number('size');\n const mtimeMs = record.mtimeMs;\n if (\n device === undefined ||\n inode === undefined ||\n size === undefined ||\n typeof mtimeMs !== 'number' ||\n !Number.isFinite(mtimeMs) ||\n mtimeMs < 0\n ) {\n return undefined;\n }\n return { path: record.path, realPath: record.realPath, device, inode, size, mtimeMs, sha256: record.sha256 };\n}\n\nfunction parseProtectedImportState(value: unknown): ProtectedImportState | undefined {\n const record = asRecord(value);\n const sourceIdentity = parseProtectedSourceIdentity(record?.sourceIdentity);\n const verification = asRecord(record?.verification);\n if (\n record?.version !== 1 ||\n record.operation !== 'protected-history-import' ||\n record.phase !== 'published' ||\n typeof record.sourcePath !== 'string' ||\n typeof record.destinationPath !== 'string' ||\n typeof record.originalPath !== 'string' ||\n typeof sourceIdentity?.path !== 'string' ||\n path.resolve(sourceIdentity.path) !== path.resolve(record.sourcePath) ||\n typeof sourceIdentity.sha256 !== 'string' ||\n !/^[a-f0-9]{64}$/.test(sourceIdentity.sha256) ||\n typeof record.stagedSha256 !== 'string' ||\n !/^[a-f0-9]{64}$/.test(record.stagedSha256) ||\n !Array.isArray(verification?.entries) ||\n !Array.isArray(verification.branches)\n ) {\n return undefined;\n }\n const entries: ProtectedEntryProof[] = [];\n for (const item of verification.entries) {\n const proof = asRecord(item);\n const sourceParentId = nullableString(proof?.sourceParentId);\n const importedParentId = nullableString(proof?.importedParentId);\n if (\n typeof proof?.sourceId !== 'string' ||\n typeof proof.importedId !== 'string' ||\n sourceParentId === undefined ||\n importedParentId === undefined ||\n typeof proof.sourceContentHash !== 'string' ||\n !/^[a-f0-9]{64}$/.test(proof.sourceContentHash) ||\n typeof proof.importedContentHash !== 'string' ||\n !/^[a-f0-9]{64}$/.test(proof.importedContentHash)\n ) {\n return undefined;\n }\n entries.push({\n sourceId: proof.sourceId,\n importedId: proof.importedId,\n sourceParentId,\n importedParentId,\n sourceContentHash: proof.sourceContentHash,\n importedContentHash: proof.importedContentHash,\n });\n }\n const branches: ProtectedBranchProof[] = [];\n for (const item of verification.branches) {\n const proof = asRecord(item);\n const sourceTipId = nullableString(proof?.sourceTipId);\n const importedTipId = nullableString(proof?.importedTipId);\n if (sourceTipId === undefined || importedTipId === undefined) return undefined;\n if (proof?.branch !== undefined && typeof proof.branch !== 'string') return undefined;\n branches.push({\n sourceTipId,\n importedTipId,\n ...(proof?.branch === undefined ? {} : { branch: proof.branch }),\n });\n }\n const projected = verification.projectedSourceIds;\n if (\n !Array.isArray(projected) ||\n projected.some((id) => typeof id !== 'string' || id.length === 0) ||\n new Set(projected).size !== projected.length\n ) {\n return undefined;\n }\n return {\n sourcePath: record.sourcePath,\n destinationPath: record.destinationPath,\n originalPath: record.originalPath,\n sourceIdentity,\n stagedSha256: record.stagedSha256,\n entries,\n branches,\n projectedSourceIds: projected,\n };\n}\n\ninterface OriginalV3 {\n header: Record<string, unknown>;\n records: Record<string, unknown>[];\n byId: Map<string, Record<string, unknown>>;\n}\n\nfunction parseOriginalV3(content: Uint8Array): OriginalV3 | undefined {\n const text = Buffer.from(content).toString('utf8');\n if (Buffer.from(text).compare(Buffer.from(content)) !== 0 || !text.endsWith('\\n')) return undefined;\n const lines = text.slice(0, -1).split('\\n');\n let header: Record<string, unknown> | undefined;\n try {\n header = asRecord(JSON.parse(lines[0] ?? ''));\n } catch {\n return undefined;\n }\n if (header?.type !== 'session' || header.version !== 3) return undefined;\n const records: Record<string, unknown>[] = [];\n const byId = new Map<string, Record<string, unknown>>();\n for (const line of lines.slice(1)) {\n if (line.length === 0) return undefined;\n let record: Record<string, unknown> | undefined;\n try {\n record = asRecord(JSON.parse(line));\n } catch {\n return undefined;\n }\n if (record === undefined || typeof record.id !== 'string' || byId.has(record.id)) return undefined;\n records.push(record);\n byId.set(record.id, record);\n }\n return { header, records, byId };\n}\nfunction provenanceStableJson(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(provenanceStableJson).join(',')}]`;\n const record = asRecord(value);\n if (record === undefined) return JSON.stringify(value) ?? 'null';\n return `{${Object.keys(record)\n .sort()\n .map((key) => `${JSON.stringify(key)}:${provenanceStableJson(record[key])}`)\n .join(',')}}`;\n}\n\nfunction metadataTimestamp(value: unknown): string | undefined {\n if (typeof value !== 'string' || !Number.isFinite(Date.parse(value))) return undefined;\n return new Date(Date.parse(value)).toISOString();\n}\n\nfunction provenanceContentHash(record: Record<string, unknown>): string {\n const { id: _id, parentId: _parentId, timestamp: _timestamp, kind: _kind, seq: _seq, ...content } = record;\n if (content.type === 'custom_message') {\n content.type = 'message';\n content.message = {\n role: 'custom',\n customType: content.customType,\n content: content.content,\n details: content.details,\n display: content.display,\n };\n delete content.customType;\n delete content.content;\n delete content.details;\n delete content.display;\n }\n if (content.type === 'branch_summary' && content.fromId === 'root') content.fromId = null;\n if (content.type === 'compaction') {\n delete content.firstKeptEntryId;\n delete content.retainedTail;\n }\n return digest(Buffer.from(provenanceStableJson(content)));\n}\nfunction sameProtectedSourceIdentity(left: ProtectedSourceIdentity, right: ProtectedSourceIdentity): boolean {\n return (\n left.path === right.path &&\n left.realPath === right.realPath &&\n left.device === right.device &&\n left.inode === right.inode &&\n left.size === right.size &&\n left.mtimeMs === right.mtimeMs &&\n left.sha256 === right.sha256\n );\n}\n\nfunction resolveProvenanceParent(\n sourceId: string | null,\n sourceById: Map<string, Record<string, unknown>>,\n mappings: Map<string, ProtectedEntryProof>,\n): string | null | undefined {\n const visited = new Set<string>();\n let current = sourceId;\n while (current !== null) {\n if (visited.has(current)) return undefined;\n visited.add(current);\n const mapping = mappings.get(current);\n if (mapping !== undefined) return mapping.importedId;\n const record = sourceById.get(current);\n if (record === undefined) return undefined;\n const parentId = nullableString(record.parentId);\n if (parentId === undefined) return undefined;\n current = parentId;\n }\n return null;\n}\n\nfunction readMetadataProvenance(\n sourcePath: string,\n snapshot: SourceSnapshot,\n parsed: { header: V4Header; writes: V4Write[] },\n entryRecords: Record<string, unknown>[],\n): MetadataProvenance | undefined {\n const statePath = `${sourcePath}.import-state.json`;\n if (!fs.existsSync(statePath)) return undefined;\n let state: ProtectedImportState | undefined;\n try {\n state = parseProtectedImportState(JSON.parse(fs.readFileSync(statePath, 'utf8')));\n } catch {\n return undefined;\n }\n if (state === undefined) return undefined;\n let currentSourceIdentity: ProtectedSourceIdentity;\n try {\n const current = readSourceSnapshot(state.sourcePath);\n currentSourceIdentity = {\n path: path.resolve(state.sourcePath),\n realPath: fs.realpathSync(state.sourcePath),\n ...current.identity,\n sha256: current.sourceSha256,\n };\n } catch {\n return undefined;\n }\n let originalContent: Buffer;\n try {\n originalContent = fs.readFileSync(path.resolve(state.originalPath));\n } catch {\n return undefined;\n }\n if (\n !sameProtectedSourceIdentity(state.sourceIdentity, currentSourceIdentity) ||\n path.resolve(state.destinationPath) !== sourcePath ||\n path.resolve(state.originalPath) !== `${path.resolve(state.sourcePath)}.original` ||\n digest(snapshot.content) !== state.stagedSha256 ||\n state.sourceIdentity.sha256 !== digest(originalContent)\n ) {\n return undefined;\n }\n const original = parseOriginalV3(originalContent);\n if (\n original === undefined ||\n original.header.id !== parsed.header.id ||\n original.header.cwd !== parsed.header.cwd ||\n metadataTimestamp(original.header.timestamp) !== new Date(parsed.header.createdAt).toISOString()\n ) {\n return undefined;\n }\n\n const sourceById = original.byId;\n const mappings = new Map<string, ProtectedEntryProof>();\n const importedIds = new Set<string>();\n const canonicalById = new Map(entryRecords.map((entry) => [String(entry.id), entry]));\n for (const proof of state.entries) {\n if (mappings.has(proof.sourceId) || importedIds.has(proof.importedId)) return undefined;\n mappings.set(proof.sourceId, proof);\n importedIds.add(proof.importedId);\n }\n for (const proof of state.entries) {\n const source = sourceById.get(proof.sourceId);\n const imported = canonicalById.get(proof.importedId);\n if (\n source === undefined ||\n imported === undefined ||\n proof.sourceContentHash !== proof.importedContentHash ||\n proof.sourceContentHash !== provenanceContentHash(source) ||\n proof.importedContentHash !== provenanceContentHash(imported) ||\n nullableString(source.parentId) !== proof.sourceParentId ||\n nullableString(imported.parentId) !== proof.importedParentId ||\n metadataTimestamp(source.timestamp) !== metadataTimestamp(imported.timestamp) ||\n resolveProvenanceParent(proof.sourceParentId, sourceById, mappings) !== proof.importedParentId\n ) {\n return undefined;\n }\n }\n if (mappings.size !== entryRecords.length) return undefined;\n const projected = new Set(state.projectedSourceIds);\n for (const source of original.records) {\n const id = String(source.id);\n if (!mappings.has(id) && !projected.has(id)) return undefined;\n if (projected.has(id) && mappings.has(id)) return undefined;\n }\n for (const branch of state.branches) {\n if (\n branch.sourceTipId === null\n ? branch.importedTipId !== null\n : mappings.get(branch.sourceTipId)?.importedId !== branch.importedTipId\n ) {\n return undefined;\n }\n if (branch.branch !== undefined) {\n const current = [...parsed.writes]\n .filter(\n (write): write is V4ValueWrite =>\n write.kind === 'value' && write.namespace === BRANCH_TIP_NAMESPACE && write.key === branch.branch,\n )\n .sort((left, right) => left.seq - right.seq)\n .at(-1);\n const currentTip = current === undefined || current.op === 'delete' ? null : nullableString(current.value);\n if (currentTip !== branch.importedTipId) return undefined;\n }\n }\n\n const labels = new Map<string, MetadataTimestamp | null>();\n let sourceSessionName: MetadataTimestamp | undefined;\n for (const source of original.records) {\n const id = String(source.id);\n if (!projected.has(id)) continue;\n const timestamp = metadataTimestamp(source.timestamp);\n if (timestamp === undefined) return undefined;\n if (source.type === 'session_info') {\n if (typeof source.name !== 'string' || source.name.length === 0) sourceSessionName = undefined;\n else sourceSessionName = { timestamp, parentId: null, value: source.name };\n } else if (source.type === 'label') {\n const sourceTarget = typeof source.targetId === 'string' ? source.targetId : undefined;\n const targetId =\n sourceTarget === undefined ? undefined : resolveProvenanceParent(sourceTarget, sourceById, mappings);\n const sourceParentId = nullableString(source.parentId);\n if (sourceParentId === undefined || targetId === undefined) return undefined;\n if (targetId === null) continue;\n const parentId = resolveProvenanceParent(sourceParentId, sourceById, mappings);\n if (parentId === undefined) return undefined;\n labels.set(\n targetId,\n typeof source.label === 'string' && source.label.length > 0\n ? { timestamp, parentId, targetId, value: source.label }\n : null,\n );\n }\n }\n const currentLabels = new Map<string, V4ValueWrite>();\n let currentName: V4ValueWrite | undefined;\n for (const write of [...parsed.writes].sort((left, right) => left.seq - right.seq)) {\n if (write.kind !== 'value') continue;\n if (write.namespace === ENTRY_LABEL_NAMESPACE) currentLabels.set(write.key, write);\n if (write.namespace === SESSION_NAME_NAMESPACE && write.key === '') currentName = write;\n }\n const expectedLabels = new Map<string, MetadataTimestamp>();\n for (const [targetId, metadata] of labels) {\n const current = currentLabels.get(targetId);\n if (metadata === null) {\n if (current !== undefined && current.op !== 'delete') return undefined;\n } else {\n if (current?.op !== 'set' || current.value !== metadata.value) return undefined;\n expectedLabels.set(targetId, metadata);\n }\n }\n for (const [targetId, current] of currentLabels) {\n if (current.op === 'set' && (!expectedLabels.has(targetId) || typeof current.value !== 'string')) return undefined;\n }\n if (sourceSessionName === undefined) {\n if (currentName?.op === 'set') return undefined;\n } else if (\n currentName?.op !== 'set' ||\n currentName.value !==\n original.records.findLast((record) => projected.has(String(record.id)) && record.type === 'session_info')?.name\n ) {\n return undefined;\n }\n return { sessionName: sourceSessionName, labels: new Map(expectedLabels) };\n}\nfunction asRecord(value: unknown): Record<string, unknown> | undefined {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : undefined;\n}\n\nfunction requireString(value: unknown, field: string): string {\n if (typeof value !== 'string' || value.length === 0) throw new Error(`Invalid v4 ${field}`);\n return value;\n}\n\nfunction requireKey(value: unknown, field: string): string {\n if (typeof value !== 'string') throw new Error(`Invalid v4 ${field}`);\n return value;\n}\n\nfunction requireNumber(value: unknown, field: string): number {\n if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 1) throw new Error(`Invalid v4 ${field}`);\n return value;\n}\n\nfunction requireTimestamp(value: unknown, field: string): number {\n if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0) throw new Error(`Invalid v4 ${field}`);\n return value;\n}\n\nfunction digest(content: Uint8Array): string {\n return createHash('sha256').update(content).digest('hex');\n}\n\nfunction isFileSystemError(error: unknown): error is NodeJS.ErrnoException {\n return error instanceof Error && 'code' in error;\n}\n\nfunction sameIdentity(left: SourceIdentity, right: SourceIdentity): boolean {\n return (\n left.device === right.device &&\n left.inode === right.inode &&\n left.size === right.size &&\n left.mtimeMs === right.mtimeMs\n );\n}\n\nfunction readSourceSnapshot(sourcePath: string): SourceSnapshot {\n const before = fs.statSync(sourcePath);\n const content = fs.readFileSync(sourcePath);\n const after = fs.statSync(sourcePath);\n const identity = {\n device: after.dev,\n inode: after.ino,\n size: after.size,\n mtimeMs: after.mtimeMs,\n };\n if (\n before.dev !== after.dev ||\n before.ino !== after.ino ||\n before.size !== after.size ||\n before.mtimeMs !== after.mtimeMs ||\n after.size !== content.byteLength\n ) {\n throw new Error('v4 source changed while it was being read');\n }\n return { content, sourceSha256: digest(content), identity };\n}\n\nfunction assertSourceUnchanged(sourcePath: string, snapshot: SourceSnapshot): void {\n const current = readSourceSnapshot(sourcePath);\n if (!sameIdentity(current.identity, snapshot.identity) || current.sourceSha256 !== snapshot.sourceSha256) {\n throw new Error('v4 source changed during export');\n }\n}\nfunction readJsonLines(content: Buffer): { header: V4Header; writes: V4Write[]; losses: V3ExportLoss[] } {\n if (content.byteLength === 0) throw new Error('Cannot export an empty v4 JSONL file');\n if (!content.toString('utf8').endsWith('\\n')) throw new Error('Cannot export a truncated v4 JSONL file');\n const lines = content.toString('utf8').slice(0, -1).split('\\n');\n if (lines[0] === undefined || lines[0].length === 0) throw new Error('Cannot export an empty v4 JSONL file');\n const headerValue = asRecord(JSON.parse(lines[0]));\n if (headerValue?.v !== 4 || headerValue.kind !== 'header') throw new Error('Source is not v4 JSONL');\n const header = headerValue as V4Header;\n requireString(header.id, 'header id');\n requireNumber(header.storageVersion, 'storage version');\n requireTimestamp(header.createdAt, 'header createdAt');\n requireString(header.cwd, 'header cwd');\n if (header.parentSessionId !== undefined) requireString(header.parentSessionId, 'parent session id');\n if (header.legacyParentSessionPath !== undefined)\n requireString(header.legacyParentSessionPath, 'legacy parent session path');\n const writes: V4Write[] = [];\n const losses: V3ExportLoss[] = [];\n const knownHeaderFields = new Set([\n 'v',\n 'kind',\n 'id',\n 'storageVersion',\n 'createdAt',\n 'cwd',\n 'parentSessionId',\n 'legacyParentSessionPath',\n ]);\n for (const [key, value] of Object.entries(headerValue)) {\n if (!knownHeaderFields.has(key)) {\n losses.push({\n code: 'unknown-header-field',\n detail: `Header field ${key} is not representable in v3`,\n record: { key, value },\n });\n }\n }\n for (const [lineIndex, line] of lines.slice(1).entries()) {\n if (line.length === 0) continue;\n let value: unknown;\n try {\n value = JSON.parse(line);\n } catch (error) {\n throw new Error(`Invalid v4 JSONL transaction at line ${lineIndex + 2}`, { cause: error });\n }\n const transaction = Array.isArray(value) ? value : [value];\n for (const item of transaction) {\n const record = asRecord(item);\n if (record === undefined) {\n losses.push({\n code: 'unknown-record',\n detail: `Non-object transaction at line ${lineIndex + 2}`,\n record: item,\n });\n continue;\n }\n const kind = record.kind;\n if (kind === 'entry') {\n const seq = requireNumber(record.seq, 'entry sequence');\n const { kind: _kind, seq: _seq, ...entry } = record;\n writes.push({ kind, entry, seq });\n } else if (kind === 'usage') {\n const seq = requireNumber(record.seq, 'usage sequence');\n const { kind: _kind, seq: _seq, ...row } = record;\n writes.push({ kind, row, seq });\n } else if (kind === 'value' && (record.op === 'set' || record.op === 'delete')) {\n writes.push({\n kind,\n op: record.op,\n namespace: requireString(record.namespace, 'value namespace'),\n key: requireKey(record.key, 'value key'),\n ...(record.value === undefined ? {} : { value: record.value }),\n seq: requireNumber(record.seq, 'value sequence'),\n });\n } else if (kind === 'list' && (record.op === 'append' || record.op === 'delete')) {\n writes.push({\n kind,\n op: record.op,\n namespace: requireString(record.namespace, 'list namespace'),\n key: requireKey(record.key, 'list key'),\n ...(record.value === undefined ? {} : { value: record.value }),\n seq: requireNumber(record.seq, 'list sequence'),\n });\n } else {\n losses.push({ code: 'unknown-write', detail: `Unsupported v4 write at line ${lineIndex + 2}`, record });\n }\n }\n }\n return { header, writes, losses };\n}\n\nfunction isoTimestamp(timestamp: unknown, field: string): string {\n const value = requireTimestamp(timestamp, field);\n const result = new Date(value).toISOString();\n if (Number.isNaN(Date.parse(result))) throw new Error(`Invalid v4 ${field}`);\n return result;\n}\n\nfunction deterministicId(sourceSha256: string, kind: string, key: string): string {\n const bytes = createHash('sha256').update(`${sourceSha256}\\0${kind}\\0${key}`).digest('hex');\n return `doom-${bytes.slice(0, 32)}`;\n}\n\nfunction messageForEntry(entry: Record<string, unknown>): unknown {\n return entry.type === 'message' ? entry.message : undefined;\n}\n\nfunction sameJson(left: unknown, right: unknown): boolean {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction findCompactionFirstKeptId(\n entry: Record<string, unknown>,\n entries: Map<string, Record<string, unknown>>,\n): string | undefined {\n const retainedTail = entry.retainedTail;\n if (!Array.isArray(retainedTail)) return undefined;\n if (retainedTail.length === 0) return typeof entry.parentId === 'string' ? entry.parentId : undefined;\n const ancestry: Record<string, unknown>[] = [];\n const visited = new Set<string>();\n let currentId = typeof entry.parentId === 'string' ? entry.parentId : null;\n while (currentId !== null) {\n if (visited.has(currentId)) return undefined;\n visited.add(currentId);\n const current = entries.get(currentId);\n if (current === undefined) return undefined;\n ancestry.unshift(current);\n currentId = typeof current.parentId === 'string' ? current.parentId : null;\n }\n for (let index = 0; index + retainedTail.length <= ancestry.length; index += 1) {\n const candidate = ancestry.slice(index, index + retainedTail.length);\n if (candidate.every((item, itemIndex) => sameJson(messageForEntry(item), retainedTail[itemIndex]))) {\n const id = candidate[0]?.id;\n if (typeof id === 'string') return id;\n }\n }\n return undefined;\n}\n\nfunction attachUsage(entry: Record<string, unknown>, usage: unknown): Record<string, unknown> {\n if (entry.type === 'message' && asRecord(entry.message)?.role !== undefined) {\n return { ...entry, message: { ...(asRecord(entry.message) as Record<string, unknown>), usage } };\n }\n if (entry.type === 'compaction' || entry.type === 'branch_summary') return { ...entry, usage };\n return entry;\n}\n\nfunction convertEntries(\n entryWrites: V4EntryWrite[],\n usageWrites: V4UsageWrite[],\n losses: V3ExportLoss[],\n): Record<string, unknown>[] {\n const entries = new Map<string, Record<string, unknown>>();\n for (const write of entryWrites) {\n const id = requireString(write.entry.id, 'entry id');\n if (entries.has(id)) throw new Error(`Duplicate v4 entry id: ${id}`);\n entries.set(id, write.entry);\n }\n for (const entry of entries.values()) {\n const parentId = entry.parentId;\n if (parentId !== null && (typeof parentId !== 'string' || !entries.has(parentId))) {\n throw new Error(`Missing v4 entry parent: ${JSON.stringify(parentId)}`);\n }\n }\n\n const usageByEntry = new Map<string, unknown>();\n for (const write of [...usageWrites].sort((left, right) => left.seq - right.seq)) {\n const entryId = write.row.entryId;\n if (typeof entryId !== 'string' || !entries.has(entryId) || write.row.usage === undefined) {\n losses.push({\n code: 'usage-not-representable',\n detail: 'Usage row has no representable entry target',\n record: write.row,\n });\n continue;\n }\n if (usageByEntry.has(entryId)) {\n losses.push({\n code: 'usage-multiple-rows',\n detail: `Multiple usage rows target entry ${entryId}; v3 retains only the latest usage value`,\n record: write.row,\n });\n }\n if (write.row.adjustment !== false || write.row.details !== undefined) {\n losses.push({\n code: 'usage-metadata',\n detail: `Usage metadata for entry ${entryId} is not representable in v3`,\n record: write.row,\n });\n }\n usageByEntry.set(entryId, write.row.usage);\n }\n\n const ordered = [...entryWrites].sort((left, right) => left.seq - right.seq);\n return ordered\n .map((write): Record<string, unknown> | undefined => {\n const source = write.entry;\n const type = requireString(source.type, 'entry type');\n const id = requireString(source.id, 'entry id');\n const parentId = source.parentId;\n if (typeof parentId !== 'string' && parentId !== null) throw new Error(`Invalid v4 parent id: ${id}`);\n const base: Record<string, unknown> = {\n ...source,\n type,\n id,\n parentId,\n timestamp: isoTimestamp(source.timestamp, 'entry timestamp'),\n };\n delete base.kind;\n delete base.seq;\n if (type === 'branch_summary') {\n if (base.fromId === null) base.fromId = 'root';\n else if (typeof base.fromId !== 'string') throw new Error(`Invalid v4 branch summary source: ${id}`);\n }\n if (type === 'compaction') {\n const firstKeptEntryId = findCompactionFirstKeptId(source, entries);\n if (firstKeptEntryId === undefined) {\n losses.push({\n code: 'compaction-retained-tail',\n detail: `Compaction ${id} retained tail cannot be mapped to v3 firstKeptEntryId`,\n record: source,\n });\n if (typeof parentId === 'string') base.firstKeptEntryId = parentId;\n else return undefined;\n } else {\n base.firstKeptEntryId = firstKeptEntryId;\n }\n delete base.retainedTail;\n } else if (type === 'custom') {\n requireString(source.customType, 'custom entry type');\n } else if (type !== 'message' && type !== 'branch_summary') {\n losses.push({ code: 'entry-type', detail: `Entry type ${type} is not representable in v3`, record: source });\n return undefined;\n }\n const usage = usageByEntry.get(id);\n return usage === undefined ? base : attachUsage(base, usage);\n })\n .filter((record): record is Record<string, unknown> => record !== undefined);\n}\n\ninterface ConvertedValues {\n records: Record<string, unknown>[];\n mainTipId: string | null | undefined;\n}\n\nfunction convertValues(\n sourceSha256: string,\n valueWrites: V4ValueWrite[],\n representableEntryIds: ReadonlySet<string>,\n provenance: MetadataProvenance | undefined,\n losses: V3ExportLoss[],\n): ConvertedValues {\n const sessionNames = valueWrites.filter((write) => write.namespace === SESSION_NAME_NAMESPACE && write.key === '');\n const labels = new Map<string, V4ValueWrite>();\n const branchTips = new Map<string, V4ValueWrite>();\n for (const write of [...valueWrites].sort((left, right) => left.seq - right.seq)) {\n if (write.namespace === ENTRY_LABEL_NAMESPACE) labels.set(write.key, write);\n else if (write.namespace === BRANCH_TIP_NAMESPACE) {\n branchTips.set(write.key, write);\n if (write.key !== 'main') {\n losses.push({\n code: 'branch-tip-value',\n detail: `Named branch tip ${write.key} is represented by its entry tree only`,\n record: write,\n });\n }\n } else if (write.namespace === SESSION_NAME_NAMESPACE && write.key !== '') {\n losses.push({\n code: 'session-name-key',\n detail: `Session value key ${write.key} is not representable in v3`,\n record: write,\n });\n } else if (write.namespace !== SESSION_NAME_NAMESPACE) {\n losses.push({\n code: 'value-not-representable',\n detail: `Value ${write.namespace}/${write.key} is not representable in v3`,\n record: write,\n });\n }\n }\n const records: Record<string, unknown>[] = [];\n const latestName = [...sessionNames].sort((left, right) => left.seq - right.seq).at(-1);\n if (latestName !== undefined && latestName.op === 'set') {\n if (typeof latestName.value !== 'string') {\n losses.push({ code: 'session-name-value', detail: 'Session name is not a v3 string', record: latestName });\n } else {\n const metadata = provenance?.sessionName;\n if (metadata === undefined) {\n losses.push({\n code: 'value-provenance',\n detail: 'v4 session value has no source event timestamp; v3 session_info was omitted to avoid inventing one',\n record: latestName,\n });\n } else {\n records.push({\n type: 'session_info',\n id: deterministicId(sourceSha256, 'session_info', 'name'),\n parentId: metadata.parentId,\n timestamp: metadata.timestamp,\n name: latestName.value,\n });\n }\n }\n }\n for (const [targetId, write] of [...labels.entries()].sort((left, right) => left[1].seq - right[1].seq)) {\n if (write.op !== 'set') continue;\n if (typeof write.value !== 'string') {\n losses.push({ code: 'label-value', detail: `Label ${targetId} is not a v3 string`, record: write });\n continue;\n }\n if (!representableEntryIds.has(targetId)) {\n losses.push({\n code: 'label-target',\n detail: `Label ${targetId} targets an entry that is not representable in v3`,\n record: write,\n });\n continue;\n }\n const metadata = provenance?.labels.get(targetId);\n if (metadata === undefined) {\n losses.push({\n code: 'value-provenance',\n detail: `v4 label ${targetId} has no source event timestamp; v3 label was omitted to avoid inventing one`,\n record: write,\n });\n continue;\n }\n records.push({\n type: 'label',\n id: deterministicId(sourceSha256, 'label', targetId),\n parentId: metadata.parentId,\n timestamp: metadata.timestamp,\n targetId: metadata.targetId ?? targetId,\n label: write.value,\n });\n }\n\n const mainTip = branchTips.get('main');\n let mainTipId: string | null | undefined;\n if (mainTip === undefined) {\n if (representableEntryIds.size > 0) {\n losses.push({ code: 'main-tip-missing', detail: 'v4 has no main branch tip; v3 cannot choose a resume tip' });\n }\n } else if (mainTip.op === 'delete' || mainTip.value === null) {\n mainTipId = null;\n } else if (typeof mainTip.value === 'string') {\n mainTipId = mainTip.value;\n if (!representableEntryIds.has(mainTipId)) {\n losses.push({\n code: 'main-tip-not-representable',\n detail: `v4 main branch tip ${mainTipId} is not representable in v3`,\n record: mainTip,\n });\n mainTipId = undefined;\n }\n } else {\n losses.push({\n code: 'main-tip-value',\n detail: 'v4 main branch tip is not a nullable entry id',\n record: mainTip,\n });\n }\n return { records, mainTipId };\n}\n\nfunction orderEntriesForMainTip(\n entries: Record<string, unknown>[],\n mainTipId: string | null | undefined,\n losses: V3ExportLoss[],\n): Record<string, unknown>[] {\n if (mainTipId === undefined || mainTipId === null) return entries;\n const tipIndex = entries.findIndex((entry) => entry.id === mainTipId);\n if (tipIndex < 0) return entries;\n if (entries.some((entry) => entry.parentId === mainTipId && entry.id !== mainTipId)) {\n losses.push({\n code: 'main-tip-not-leaf',\n detail: `v4 main branch tip ${mainTipId} has representable descendants; v3 cannot make it the resume tip`,\n });\n return entries;\n }\n const [tip] = entries.splice(tipIndex, 1);\n entries.push(tip!);\n return entries;\n}\n\nfunction serializeV3(header: V4Header, records: Record<string, unknown>[]): string {\n const v3Header: Record<string, unknown> = {\n type: 'session',\n version: 3,\n id: header.id,\n timestamp: isoTimestamp(header.createdAt, 'header createdAt'),\n cwd: header.cwd,\n };\n if (header.legacyParentSessionPath !== undefined) v3Header.parentSession = header.legacyParentSessionPath;\n return `${[v3Header, ...records].map((record) => JSON.stringify(record)).join('\\n')}\\n`;\n}\n\nfunction removeIfPresent(filePath: string): void {\n try {\n fs.rmSync(filePath, { force: true });\n } catch {\n // Cleanup must not mask the write or publication failure.\n }\n}\n\nfunction writeExclusiveText(filePath: string, content: string): void {\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n let fd: number | undefined;\n let created = false;\n try {\n fd = fs.openSync(filePath, 'wx', 0o600);\n created = true;\n fs.writeFileSync(fd, content, 'utf8');\n fs.fsyncSync(fd);\n fs.closeSync(fd);\n fd = undefined;\n fs.chmodSync(filePath, 0o600);\n } catch (error) {\n if (fd !== undefined) {\n try {\n fs.closeSync(fd);\n } catch {\n // Preserve the original failure.\n }\n }\n if (created) removeIfPresent(filePath);\n throw error;\n }\n}\n\nfunction publishDistinct(\n stagingPath: string,\n destinationPath: string,\n expectedDigest?: string,\n allowExistingMatching = false,\n): void {\n const acceptExisting = (): boolean => {\n if (!allowExistingMatching || expectedDigest === undefined || !fs.existsSync(destinationPath)) return false;\n return digest(fs.readFileSync(destinationPath)) === expectedDigest;\n };\n if (fs.existsSync(destinationPath)) {\n if (acceptExisting()) return;\n throw new Error(`Refusing to overwrite derived export: ${destinationPath}`);\n }\n fs.mkdirSync(path.dirname(destinationPath), { recursive: true });\n try {\n fs.linkSync(stagingPath, destinationPath);\n } catch (error) {\n if (!isFileSystemError(error) || error.code !== 'EEXIST' || !acceptExisting()) throw error;\n return;\n }\n if (\n fs.existsSync(destinationPath) &&\n digest(fs.readFileSync(destinationPath)) !== expectedDigest &&\n expectedDigest !== undefined\n ) {\n throw new Error(`Published export does not match staged content: ${destinationPath}`);\n }\n fs.unlinkSync(stagingPath);\n}\n\nfunction sameState(left: ExportState, right: ExportState): boolean {\n return (\n left.version === right.version &&\n left.operation === right.operation &&\n left.phase === right.phase &&\n left.sourcePath === right.sourcePath &&\n left.destinationPath === right.destinationPath &&\n left.reportPath === right.reportPath &&\n left.sourceSha256 === right.sourceSha256 &&\n sameIdentity(left.sourceIdentity, right.sourceIdentity) &&\n left.destinationSha256 === right.destinationSha256 &&\n left.reportSha256 === right.reportSha256 &&\n left.stagingPath === right.stagingPath &&\n left.reportStagingPath === right.reportStagingPath\n );\n}\n\nfunction writeState(statePath: string, state: ExportState, expectedState?: ExportState): void {\n const temporaryPath = `${statePath}.${process.pid}.${randomUUID()}.tmp`;\n let temporaryCreated = false;\n try {\n writeExclusiveText(temporaryPath, `${JSON.stringify(state, null, 2)}\\n`);\n temporaryCreated = true;\n if (expectedState === undefined) {\n publishDistinct(temporaryPath, statePath);\n temporaryCreated = false;\n return;\n }\n const currentState = parseState(statePath);\n if (currentState === undefined || !sameState(currentState, expectedState)) {\n throw new Error(`v3 export state changed during publication: ${statePath}`);\n }\n fs.renameSync(temporaryPath, statePath);\n temporaryCreated = false;\n fs.chmodSync(statePath, 0o600);\n } catch (error) {\n if (temporaryCreated) removeIfPresent(temporaryPath);\n throw error;\n }\n}\n\nfunction parseSourceIdentity(value: unknown): SourceIdentity {\n const record = asRecord(value);\n if (record === undefined) throw new Error('Invalid v3 export source identity');\n const number = (field: string): number => {\n const candidate = record[field];\n if (typeof candidate !== 'number' || !Number.isSafeInteger(candidate) || candidate < 0) {\n throw new Error(`Invalid v3 export source identity ${field}`);\n }\n return candidate;\n };\n const mtimeMs = record.mtimeMs;\n if (typeof mtimeMs !== 'number' || !Number.isFinite(mtimeMs) || mtimeMs < 0) {\n throw new Error('Invalid v3 export source identity mtimeMs');\n }\n return { device: number('device'), inode: number('inode'), size: number('size'), mtimeMs };\n}\n\nfunction requireHash(value: unknown, field: string): string {\n const hash = requireString(value, field);\n if (!/^[a-f0-9]{64}$/.test(hash)) throw new Error(`Invalid v3 export ${field}`);\n return hash;\n}\n\nfunction parseState(statePath: string): ExportState | undefined {\n if (!fs.existsSync(statePath)) return undefined;\n const record = asRecord(JSON.parse(fs.readFileSync(statePath, 'utf8')));\n if (\n record?.version !== EXPORT_STATE_VERSION ||\n record.operation !== EXPORT_OPERATION ||\n typeof record.phase !== 'string' ||\n typeof record.sourcePath !== 'string' ||\n typeof record.destinationPath !== 'string' ||\n typeof record.reportPath !== 'string' ||\n typeof record.sourceSha256 !== 'string' ||\n typeof record.destinationSha256 !== 'string' ||\n typeof record.reportSha256 !== 'string' ||\n typeof record.stagingPath !== 'string' ||\n typeof record.reportStagingPath !== 'string'\n ) {\n throw new Error(`Invalid v3 export state: ${statePath}`);\n }\n if (record.phase !== 'staged' && record.phase !== 'published')\n throw new Error(`Invalid v3 export state phase: ${record.phase}`);\n return {\n version: 1,\n operation: EXPORT_OPERATION,\n phase: record.phase,\n sourcePath: record.sourcePath,\n destinationPath: record.destinationPath,\n reportPath: record.reportPath,\n sourceSha256: requireHash(record.sourceSha256, 'source checksum'),\n sourceIdentity: parseSourceIdentity(record.sourceIdentity),\n destinationSha256: requireHash(record.destinationSha256, 'destination checksum'),\n reportSha256: requireHash(record.reportSha256, 'report checksum'),\n stagingPath: record.stagingPath,\n reportStagingPath: record.reportStagingPath,\n };\n}\n\nfunction assertDistinctPaths(sourcePath: string, destinationPath: string, reportPath: string, statePath: string): void {\n const paths = [sourcePath, destinationPath, reportPath, statePath];\n if (new Set(paths).size !== paths.length) throw new Error('v3 export paths must be distinct');\n if (sourcePath === destinationPath || sourcePath === reportPath)\n throw new Error('v3 export cannot overwrite its source');\n}\n\nfunction assertNoSourceAliases(sourcePath: string, paths: readonly string[]): void {\n const source = fs.statSync(sourcePath);\n for (const candidate of paths) {\n if (!fs.existsSync(candidate)) continue;\n const stat = fs.statSync(candidate);\n if (stat.dev === source.dev && stat.ino === source.ino) {\n throw new Error(`v3 export path aliases its source: ${candidate}`);\n }\n }\n}\n\nfunction assertStatePaths(sourcePath: string, state: ExportState): void {\n const paths = [sourcePath, state.destinationPath, state.reportPath, state.stagingPath, state.reportStagingPath];\n if (new Set(paths).size !== paths.length) throw new Error('Invalid v3 export state paths');\n assertNoSourceAliases(sourcePath, paths.slice(1));\n}\n\nasync function exportWhileOwned(\n sourcePath: string,\n destinationPath: string,\n reportPath: string,\n statePath: string,\n lease: HistoryOwnershipLease,\n): Promise<V3ExportResult> {\n await lease.assertQuiescent();\n const snapshot = readSourceSnapshot(sourcePath);\n assertNoSourceAliases(sourcePath, [destinationPath, reportPath, statePath]);\n const state = parseState(statePath);\n if (state !== undefined) {\n assertStatePaths(sourcePath, state);\n if (\n state.sourcePath !== sourcePath ||\n state.destinationPath !== destinationPath ||\n state.reportPath !== reportPath ||\n state.sourceSha256 !== snapshot.sourceSha256 ||\n !sameIdentity(state.sourceIdentity, snapshot.identity)\n ) {\n throw new Error('v3 export state does not match source');\n }\n if (state.phase === 'published') {\n if (!fs.existsSync(destinationPath) || !fs.existsSync(reportPath))\n throw new Error('Published v3 export is incomplete');\n if (digest(fs.readFileSync(destinationPath)) !== state.destinationSha256)\n throw new Error('Published v3 export was modified');\n if (digest(fs.readFileSync(reportPath)) !== state.reportSha256)\n throw new Error('Published v3 loss report was modified');\n const report = JSON.parse(fs.readFileSync(reportPath, 'utf8')) as V3ExportLossReport;\n return {\n status: 'already-published',\n sourcePath,\n destinationPath,\n reportPath,\n statePath,\n sourceSha256: snapshot.sourceSha256,\n losses: report.losses,\n };\n }\n }\n\n if (state === undefined) {\n if (fs.existsSync(destinationPath) || fs.existsSync(reportPath)) {\n throw new Error('Refusing to overwrite an existing v3 export or loss report');\n }\n const parsed = readJsonLines(snapshot.content);\n const entryWrites = parsed.writes.filter((write): write is V4EntryWrite => write.kind === 'entry');\n const usageWrites = parsed.writes.filter((write): write is V4UsageWrite => write.kind === 'usage');\n const valueWrites = parsed.writes.filter((write): write is V4ValueWrite => write.kind === 'value');\n const listWrites = parsed.writes.filter((write): write is V4ListWrite => write.kind === 'list');\n const losses = [...parsed.losses];\n if (parsed.header.parentSessionId !== undefined) {\n losses.push({\n code: 'parent-session-id',\n detail: 'v4 parentSessionId has no v3 path representation',\n record: { parentSessionId: parsed.header.parentSessionId },\n });\n }\n const entryRecords = convertEntries(entryWrites, usageWrites, losses);\n const provenance = readMetadataProvenance(sourcePath, snapshot, parsed, entryRecords);\n const convertedValues = convertValues(\n snapshot.sourceSha256,\n valueWrites,\n new Set(entryRecords.map((entry) => requireString(entry.id, 'converted entry id'))),\n provenance,\n losses,\n );\n const records = [\n ...orderEntriesForMainTip([...entryRecords], convertedValues.mainTipId, losses),\n ...convertedValues.records,\n ];\n for (const write of listWrites) {\n losses.push({\n code: 'list-not-representable',\n detail: `List ${write.namespace}/${write.key} is not representable in v3`,\n record: write,\n });\n }\n const destinationContent = Buffer.from(serializeV3(parsed.header, records));\n const report: V3ExportLossReport = {\n version: 1,\n format: 'doompi-v4-to-v3-loss-report',\n sourcePath,\n sourceSha256: snapshot.sourceSha256,\n destinationPath,\n losses,\n };\n const reportContent = Buffer.from(`${JSON.stringify(report, null, 2)}\\n`);\n const stagedPath = `${destinationPath}.${process.pid}.${randomUUID()}.staging`;\n const reportStagingPath = `${reportPath}.${process.pid}.${randomUUID()}.staging`;\n let stagedCreated = false;\n let reportStagingCreated = false;\n try {\n writeExclusiveText(stagedPath, destinationContent.toString('utf8'));\n stagedCreated = true;\n writeExclusiveText(reportStagingPath, reportContent.toString('utf8'));\n reportStagingCreated = true;\n } catch (error) {\n if (stagedCreated) removeIfPresent(stagedPath);\n if (reportStagingCreated) removeIfPresent(reportStagingPath);\n throw error;\n }\n const nextState: ExportState = {\n version: EXPORT_STATE_VERSION,\n operation: EXPORT_OPERATION,\n phase: 'staged',\n sourcePath,\n destinationPath,\n reportPath,\n sourceSha256: snapshot.sourceSha256,\n sourceIdentity: snapshot.identity,\n destinationSha256: digest(destinationContent),\n reportSha256: digest(reportContent),\n stagingPath: stagedPath,\n reportStagingPath,\n };\n try {\n writeState(statePath, nextState);\n } catch (error) {\n if (stagedCreated) removeIfPresent(stagedPath);\n if (reportStagingCreated) removeIfPresent(reportStagingPath);\n throw error;\n }\n await lease.assertQuiescent();\n assertSourceUnchanged(sourcePath, snapshot);\n publishDistinct(stagedPath, destinationPath, nextState.destinationSha256);\n await lease.assertQuiescent();\n assertSourceUnchanged(sourcePath, snapshot);\n publishDistinct(reportStagingPath, reportPath, nextState.reportSha256);\n await lease.assertQuiescent();\n assertSourceUnchanged(sourcePath, snapshot);\n writeState(statePath, { ...nextState, phase: 'published' }, nextState);\n return {\n status: 'published',\n sourcePath,\n destinationPath,\n reportPath,\n statePath,\n sourceSha256: snapshot.sourceSha256,\n losses,\n };\n }\n\n await lease.assertQuiescent();\n assertSourceUnchanged(sourcePath, snapshot);\n if (!fs.existsSync(destinationPath)) {\n if (!fs.existsSync(state.stagingPath)) throw new Error('Interrupted v3 export is missing its staged export');\n publishDistinct(state.stagingPath, destinationPath, state.destinationSha256, true);\n } else if (digest(fs.readFileSync(destinationPath)) !== state.destinationSha256) {\n throw new Error('Existing v3 export does not match interrupted state');\n }\n await lease.assertQuiescent();\n assertSourceUnchanged(sourcePath, snapshot);\n if (!fs.existsSync(reportPath)) {\n if (!fs.existsSync(state.reportStagingPath))\n throw new Error('Interrupted v3 export is missing its staged loss report');\n publishDistinct(state.reportStagingPath, reportPath, state.reportSha256, true);\n } else if (digest(fs.readFileSync(reportPath)) !== state.reportSha256) {\n throw new Error('Existing v3 loss report does not match interrupted state');\n }\n await lease.assertQuiescent();\n assertSourceUnchanged(sourcePath, snapshot);\n writeState(statePath, { ...state, phase: 'published' }, state);\n const report = JSON.parse(fs.readFileSync(reportPath, 'utf8')) as V3ExportLossReport;\n return {\n status: 'published',\n sourcePath,\n destinationPath,\n reportPath,\n statePath,\n sourceSha256: snapshot.sourceSha256,\n losses: report.losses,\n };\n}\n\nexport async function exportV4ToV3(options: V3ExportOptions): Promise<V3ExportResult> {\n const sourcePath = path.resolve(options.sourcePath);\n const destinationPath = path.resolve(options.destinationPath);\n const reportPath = path.resolve(options.reportPath ?? `${destinationPath}.loss.json`);\n const statePath = path.resolve(options.statePath ?? `${destinationPath}.export-state.json`);\n assertDistinctPaths(sourcePath, destinationPath, reportPath, statePath);\n const lease = await options.owner.acquire(sourcePath);\n let result: V3ExportResult;\n try {\n result = await exportWhileOwned(sourcePath, destinationPath, reportPath, statePath, lease);\n } catch (error) {\n try {\n await lease.release();\n } catch {\n // Preserve the export failure.\n }\n throw error;\n }\n await lease.release();\n return result;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_voiceReloadHandoff = require("./constants/voiceReloadHandoff.cjs");
|
|
3
|
+
const require_voiceReloadHandoff$1 = require("./schemas/voiceReloadHandoff.cjs");
|
|
4
|
+
const require_index = require("./services/voiceReloadHandoff/index.cjs");
|
|
5
|
+
exports.MAX_SESSION_ID_LENGTH = require_voiceReloadHandoff.MAX_SESSION_ID_LENGTH;
|
|
6
|
+
exports.MAX_TOKEN_LENGTH = require_voiceReloadHandoff.MAX_TOKEN_LENGTH;
|
|
7
|
+
exports.VOICE_RELOAD_HANDOFF_REGISTRY_KEY = require_voiceReloadHandoff.VOICE_RELOAD_HANDOFF_REGISTRY_KEY;
|
|
8
|
+
exports.VOICE_RELOAD_HANDOFF_TTL_MS = require_voiceReloadHandoff.VOICE_RELOAD_HANDOFF_TTL_MS;
|
|
9
|
+
exports.VoiceReloadHandoffError = require_index.VoiceReloadHandoffError;
|
|
10
|
+
exports.VoiceReloadHandoffIdentitySchema = require_voiceReloadHandoff$1.VoiceReloadHandoffIdentitySchema;
|
|
11
|
+
exports.VoiceReloadHandoffKindSchema = require_voiceReloadHandoff$1.VoiceReloadHandoffKindSchema;
|
|
12
|
+
exports.VoiceReloadHandoffRequestSchema = require_voiceReloadHandoff$1.VoiceReloadHandoffRequestSchema;
|
|
13
|
+
exports.VoiceReloadHandoffSchema = require_voiceReloadHandoff$1.VoiceReloadHandoffSchema;
|
|
14
|
+
exports.createVoiceReloadHandoffStore = require_index.createVoiceReloadHandoffStore;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MAX_SESSION_ID_LENGTH, MAX_TOKEN_LENGTH, VOICE_RELOAD_HANDOFF_REGISTRY_KEY, VOICE_RELOAD_HANDOFF_TTL_MS } from "./constants/voiceReloadHandoff.cjs";
|
|
2
|
+
import { VoiceReloadHandoff, VoiceReloadHandoffIdentity, VoiceReloadHandoffIdentitySchema, VoiceReloadHandoffKind, VoiceReloadHandoffKindSchema, VoiceReloadHandoffRequestSchema, VoiceReloadHandoffSchema } from "./schemas/voiceReloadHandoff.cjs";
|
|
3
|
+
import { VoiceReloadHandoffError, VoiceReloadHandoffHandle, VoiceReloadHandoffRequest, VoiceReloadHandoffRuntime, VoiceReloadHandoffStore, createVoiceReloadHandoffStore } from "./services/voiceReloadHandoff/index.cjs";
|
|
4
|
+
export { MAX_SESSION_ID_LENGTH, MAX_TOKEN_LENGTH, VOICE_RELOAD_HANDOFF_REGISTRY_KEY, VOICE_RELOAD_HANDOFF_TTL_MS, VoiceReloadHandoff, VoiceReloadHandoffError, VoiceReloadHandoffHandle, VoiceReloadHandoffIdentity, VoiceReloadHandoffIdentitySchema, VoiceReloadHandoffKind, VoiceReloadHandoffKindSchema, VoiceReloadHandoffRequest, VoiceReloadHandoffRequestSchema, VoiceReloadHandoffRuntime, VoiceReloadHandoffSchema, VoiceReloadHandoffStore, createVoiceReloadHandoffStore };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MAX_SESSION_ID_LENGTH, MAX_TOKEN_LENGTH, VOICE_RELOAD_HANDOFF_REGISTRY_KEY, VOICE_RELOAD_HANDOFF_TTL_MS } from "./constants/voiceReloadHandoff.mjs";
|
|
2
|
+
import { VoiceReloadHandoff, VoiceReloadHandoffIdentity, VoiceReloadHandoffIdentitySchema, VoiceReloadHandoffKind, VoiceReloadHandoffKindSchema, VoiceReloadHandoffRequestSchema, VoiceReloadHandoffSchema } from "./schemas/voiceReloadHandoff.mjs";
|
|
3
|
+
import { VoiceReloadHandoffError, VoiceReloadHandoffHandle, VoiceReloadHandoffRequest, VoiceReloadHandoffRuntime, VoiceReloadHandoffStore, createVoiceReloadHandoffStore } from "./services/voiceReloadHandoff/index.mjs";
|
|
4
|
+
export { MAX_SESSION_ID_LENGTH, MAX_TOKEN_LENGTH, VOICE_RELOAD_HANDOFF_REGISTRY_KEY, VOICE_RELOAD_HANDOFF_TTL_MS, VoiceReloadHandoff, VoiceReloadHandoffError, VoiceReloadHandoffHandle, VoiceReloadHandoffIdentity, VoiceReloadHandoffIdentitySchema, VoiceReloadHandoffKind, VoiceReloadHandoffKindSchema, VoiceReloadHandoffRequest, VoiceReloadHandoffRequestSchema, VoiceReloadHandoffRuntime, VoiceReloadHandoffSchema, VoiceReloadHandoffStore, createVoiceReloadHandoffStore };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MAX_SESSION_ID_LENGTH, MAX_TOKEN_LENGTH, VOICE_RELOAD_HANDOFF_REGISTRY_KEY, VOICE_RELOAD_HANDOFF_TTL_MS } from "./constants/voiceReloadHandoff.mjs";
|
|
2
|
+
import { VoiceReloadHandoffIdentitySchema, VoiceReloadHandoffKindSchema, VoiceReloadHandoffRequestSchema, VoiceReloadHandoffSchema } from "./schemas/voiceReloadHandoff.mjs";
|
|
3
|
+
import { VoiceReloadHandoffError, createVoiceReloadHandoffStore } from "./services/voiceReloadHandoff/index.mjs";
|
|
4
|
+
export { MAX_SESSION_ID_LENGTH, MAX_TOKEN_LENGTH, VOICE_RELOAD_HANDOFF_REGISTRY_KEY, VOICE_RELOAD_HANDOFF_TTL_MS, VoiceReloadHandoffError, VoiceReloadHandoffIdentitySchema, VoiceReloadHandoffKindSchema, VoiceReloadHandoffRequestSchema, VoiceReloadHandoffSchema, createVoiceReloadHandoffStore };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_voiceTools = require("./constants/voiceTools.cjs");
|
|
3
|
+
const require_voiceTools$1 = require("./schemas/voiceTools.cjs");
|
|
4
|
+
const require_index = require("./services/voiceToolsContract/index.cjs");
|
|
5
|
+
exports.DOOM_VOICE_AUTO_MODE_ID = require_voiceTools.DOOM_VOICE_AUTO_MODE_ID;
|
|
6
|
+
exports.DOOM_VOICE_SOURCE = require_voiceTools.DOOM_VOICE_SOURCE;
|
|
7
|
+
exports.DOOM_VOICE_TOOLS_SERVICE = require_voiceTools.DOOM_VOICE_TOOLS_SERVICE;
|
|
8
|
+
exports.MAX_ORDER = require_voiceTools.MAX_ORDER;
|
|
9
|
+
exports.SAFE_IDENTIFIER = require_voiceTools.SAFE_IDENTIFIER;
|
|
10
|
+
exports.SAFE_NAME = require_voiceTools.SAFE_NAME;
|
|
11
|
+
exports.VOICE_DESCRIBE_TOOL_NAME = require_voiceTools.VOICE_DESCRIBE_TOOL_NAME;
|
|
12
|
+
exports.VOICE_FACADE_TOOL_NAMES = require_voiceTools.VOICE_FACADE_TOOL_NAMES;
|
|
13
|
+
exports.VOICE_MODE_TOOL_NAMES = require_voiceTools.VOICE_MODE_TOOL_NAMES;
|
|
14
|
+
exports.VOICE_NARRATE_TOOL_NAME = require_voiceTools.VOICE_NARRATE_TOOL_NAME;
|
|
15
|
+
exports.VOICE_TOOL_ABORTED = require_voiceTools.VOICE_TOOL_ABORTED;
|
|
16
|
+
exports.VOICE_TOOL_BATCH_STOPPED = require_voiceTools.VOICE_TOOL_BATCH_STOPPED;
|
|
17
|
+
exports.VOICE_TOOL_DEFAULT_TIMEOUT_MS = require_voiceTools.VOICE_TOOL_DEFAULT_TIMEOUT_MS;
|
|
18
|
+
exports.VOICE_TOOL_ERROR_CODE = require_voiceTools.VOICE_TOOL_ERROR_CODE;
|
|
19
|
+
exports.VOICE_TOOL_EXECUTION_FAILED = require_voiceTools.VOICE_TOOL_EXECUTION_FAILED;
|
|
20
|
+
exports.VOICE_TOOL_HOST_UNAVAILABLE = require_voiceTools.VOICE_TOOL_HOST_UNAVAILABLE;
|
|
21
|
+
exports.VOICE_TOOL_INACTIVE = require_voiceTools.VOICE_TOOL_INACTIVE;
|
|
22
|
+
exports.VOICE_TOOL_INVALID_INPUT = require_voiceTools.VOICE_TOOL_INVALID_INPUT;
|
|
23
|
+
exports.VOICE_TOOL_INVALID_RESULT = require_voiceTools.VOICE_TOOL_INVALID_RESULT;
|
|
24
|
+
exports.VOICE_TOOL_MAX_BATCH_BYTES = require_voiceTools.VOICE_TOOL_MAX_BATCH_BYTES;
|
|
25
|
+
exports.VOICE_TOOL_MAX_BATCH_ITEMS = require_voiceTools.VOICE_TOOL_MAX_BATCH_ITEMS;
|
|
26
|
+
exports.VOICE_TOOL_MAX_DESCRIPTION_LENGTH = require_voiceTools.VOICE_TOOL_MAX_DESCRIPTION_LENGTH;
|
|
27
|
+
exports.VOICE_TOOL_MAX_DOMAIN_COUNT = require_voiceTools.VOICE_TOOL_MAX_DOMAIN_COUNT;
|
|
28
|
+
exports.VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH = require_voiceTools.VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH;
|
|
29
|
+
exports.VOICE_TOOL_MAX_IDENTIFIER_LENGTH = require_voiceTools.VOICE_TOOL_MAX_IDENTIFIER_LENGTH;
|
|
30
|
+
exports.VOICE_TOOL_MAX_INPUT_BYTES = require_voiceTools.VOICE_TOOL_MAX_INPUT_BYTES;
|
|
31
|
+
exports.VOICE_TOOL_MAX_JSON_DEPTH = require_voiceTools.VOICE_TOOL_MAX_JSON_DEPTH;
|
|
32
|
+
exports.VOICE_TOOL_MAX_LABEL_LENGTH = require_voiceTools.VOICE_TOOL_MAX_LABEL_LENGTH;
|
|
33
|
+
exports.VOICE_TOOL_MAX_SCHEMA_BYTES = require_voiceTools.VOICE_TOOL_MAX_SCHEMA_BYTES;
|
|
34
|
+
exports.VOICE_TOOL_MAX_TIMEOUT_MS = require_voiceTools.VOICE_TOOL_MAX_TIMEOUT_MS;
|
|
35
|
+
exports.VOICE_TOOL_NAME_CONFLICT = require_voiceTools.VOICE_TOOL_NAME_CONFLICT;
|
|
36
|
+
exports.VOICE_TOOL_NOT_FOUND = require_voiceTools.VOICE_TOOL_NOT_FOUND;
|
|
37
|
+
exports.VOICE_TOOL_STALE_CATALOG = require_voiceTools.VOICE_TOOL_STALE_CATALOG;
|
|
38
|
+
exports.VOICE_TOOL_STALE_SESSION = require_voiceTools.VOICE_TOOL_STALE_SESSION;
|
|
39
|
+
exports.VOICE_TOOL_TERMINAL_OPERATION_LIMIT = require_voiceTools.VOICE_TOOL_TERMINAL_OPERATION_LIMIT;
|
|
40
|
+
exports.VOICE_TOOL_TIMEOUT = require_voiceTools.VOICE_TOOL_TIMEOUT;
|
|
41
|
+
exports.VOICE_USE_TOOL_NAME = require_voiceTools.VOICE_USE_TOOL_NAME;
|
|
42
|
+
exports.VoiceToolBatchCallSchema = require_voiceTools$1.VoiceToolBatchCallSchema;
|
|
43
|
+
exports.VoiceToolBatchItemResultSchema = require_voiceTools$1.VoiceToolBatchItemResultSchema;
|
|
44
|
+
exports.VoiceToolBatchResultSchema = require_voiceTools$1.VoiceToolBatchResultSchema;
|
|
45
|
+
exports.VoiceToolCatalogEntrySchema = require_voiceTools$1.VoiceToolCatalogEntrySchema;
|
|
46
|
+
exports.VoiceToolCatalogSnapshotSchema = require_voiceTools$1.VoiceToolCatalogSnapshotSchema;
|
|
47
|
+
exports.VoiceToolCatalogTokenSchema = require_voiceTools$1.VoiceToolCatalogTokenSchema;
|
|
48
|
+
exports.VoiceToolConflictDiagnosticSchema = require_voiceTools$1.VoiceToolConflictDiagnosticSchema;
|
|
49
|
+
exports.VoiceToolDescribeInputSchema = require_voiceTools$1.VoiceToolDescribeInputSchema;
|
|
50
|
+
exports.VoiceToolDescriptorSchema = require_voiceTools$1.VoiceToolDescriptorSchema;
|
|
51
|
+
exports.VoiceToolError = require_index.VoiceToolError;
|
|
52
|
+
exports.VoiceToolErrorCodeSchema = require_voiceTools$1.VoiceToolErrorCodeSchema;
|
|
53
|
+
exports.VoiceToolErrorSchema = require_voiceTools$1.VoiceToolErrorSchema;
|
|
54
|
+
exports.VoiceToolUseInputSchema = require_voiceTools$1.VoiceToolUseInputSchema;
|
|
55
|
+
exports.readDoomVoiceToolsService = require_index.readDoomVoiceToolsService;
|
|
56
|
+
exports.requireDoomVoiceToolsService = require_index.requireDoomVoiceToolsService;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { VoiceToolBatchCall, VoiceToolBatchCallSchema, VoiceToolBatchItemResult, VoiceToolBatchItemResultSchema, VoiceToolBatchResult, VoiceToolBatchResultSchema, VoiceToolCatalogEntry, VoiceToolCatalogEntrySchema, VoiceToolCatalogSnapshot, VoiceToolCatalogSnapshotSchema, VoiceToolCatalogToken, VoiceToolCatalogTokenSchema, VoiceToolConflictDiagnostic, VoiceToolConflictDiagnosticSchema, VoiceToolDescribeInput, VoiceToolDescribeInputSchema, VoiceToolDescriptorSchema, VoiceToolErrorCode, VoiceToolErrorCodeSchema, VoiceToolErrorPayload, VoiceToolErrorSchema, VoiceToolUseInput, VoiceToolUseInputSchema } from "./schemas/voiceTools.cjs";
|
|
2
|
+
import { DoomVoiceToolsService, VoiceToolDefinition, VoiceToolDescriptor, VoiceToolError, VoiceToolExecuteOptions, VoiceToolExecutionContext, VoiceToolRegistrationHandle, VoiceToolRegistrationOptions, VoiceToolSessionHandle, readDoomVoiceToolsService, requireDoomVoiceToolsService } from "./services/voiceToolsContract/index.cjs";
|
|
3
|
+
import { DOOM_VOICE_AUTO_MODE_ID, DOOM_VOICE_SOURCE, DOOM_VOICE_TOOLS_SERVICE, MAX_ORDER, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME } from "./constants/voiceTools.cjs";
|
|
4
|
+
export { DOOM_VOICE_AUTO_MODE_ID, DOOM_VOICE_SOURCE, DOOM_VOICE_TOOLS_SERVICE, DoomVoiceToolsService, MAX_ORDER, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME, VoiceToolBatchCall, VoiceToolBatchCallSchema, VoiceToolBatchItemResult, VoiceToolBatchItemResultSchema, VoiceToolBatchResult, VoiceToolBatchResultSchema, VoiceToolCatalogEntry, VoiceToolCatalogEntrySchema, VoiceToolCatalogSnapshot, VoiceToolCatalogSnapshotSchema, VoiceToolCatalogToken, VoiceToolCatalogTokenSchema, VoiceToolConflictDiagnostic, VoiceToolConflictDiagnosticSchema, VoiceToolDefinition, VoiceToolDescribeInput, VoiceToolDescribeInputSchema, VoiceToolDescriptor, VoiceToolDescriptorSchema, VoiceToolError, VoiceToolErrorCode, VoiceToolErrorCodeSchema, VoiceToolErrorPayload, VoiceToolErrorSchema, VoiceToolExecuteOptions, VoiceToolExecutionContext, VoiceToolRegistrationHandle, VoiceToolRegistrationOptions, VoiceToolSessionHandle, VoiceToolUseInput, VoiceToolUseInputSchema, readDoomVoiceToolsService, requireDoomVoiceToolsService };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { VoiceToolBatchCall, VoiceToolBatchCallSchema, VoiceToolBatchItemResult, VoiceToolBatchItemResultSchema, VoiceToolBatchResult, VoiceToolBatchResultSchema, VoiceToolCatalogEntry, VoiceToolCatalogEntrySchema, VoiceToolCatalogSnapshot, VoiceToolCatalogSnapshotSchema, VoiceToolCatalogToken, VoiceToolCatalogTokenSchema, VoiceToolConflictDiagnostic, VoiceToolConflictDiagnosticSchema, VoiceToolDescribeInput, VoiceToolDescribeInputSchema, VoiceToolDescriptorSchema, VoiceToolErrorCode, VoiceToolErrorCodeSchema, VoiceToolErrorPayload, VoiceToolErrorSchema, VoiceToolUseInput, VoiceToolUseInputSchema } from "./schemas/voiceTools.mjs";
|
|
2
|
+
import { DoomVoiceToolsService, VoiceToolDefinition, VoiceToolDescriptor, VoiceToolError, VoiceToolExecuteOptions, VoiceToolExecutionContext, VoiceToolRegistrationHandle, VoiceToolRegistrationOptions, VoiceToolSessionHandle, readDoomVoiceToolsService, requireDoomVoiceToolsService } from "./services/voiceToolsContract/index.mjs";
|
|
3
|
+
import { DOOM_VOICE_AUTO_MODE_ID, DOOM_VOICE_SOURCE, DOOM_VOICE_TOOLS_SERVICE, MAX_ORDER, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME } from "./constants/voiceTools.mjs";
|
|
4
|
+
export { DOOM_VOICE_AUTO_MODE_ID, DOOM_VOICE_SOURCE, DOOM_VOICE_TOOLS_SERVICE, DoomVoiceToolsService, MAX_ORDER, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME, VoiceToolBatchCall, VoiceToolBatchCallSchema, VoiceToolBatchItemResult, VoiceToolBatchItemResultSchema, VoiceToolBatchResult, VoiceToolBatchResultSchema, VoiceToolCatalogEntry, VoiceToolCatalogEntrySchema, VoiceToolCatalogSnapshot, VoiceToolCatalogSnapshotSchema, VoiceToolCatalogToken, VoiceToolCatalogTokenSchema, VoiceToolConflictDiagnostic, VoiceToolConflictDiagnosticSchema, VoiceToolDefinition, VoiceToolDescribeInput, VoiceToolDescribeInputSchema, VoiceToolDescriptor, VoiceToolDescriptorSchema, VoiceToolError, VoiceToolErrorCode, VoiceToolErrorCodeSchema, VoiceToolErrorPayload, VoiceToolErrorSchema, VoiceToolExecuteOptions, VoiceToolExecutionContext, VoiceToolRegistrationHandle, VoiceToolRegistrationOptions, VoiceToolSessionHandle, VoiceToolUseInput, VoiceToolUseInputSchema, readDoomVoiceToolsService, requireDoomVoiceToolsService };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DOOM_VOICE_AUTO_MODE_ID, DOOM_VOICE_SOURCE, DOOM_VOICE_TOOLS_SERVICE, MAX_ORDER, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME } from "./constants/voiceTools.mjs";
|
|
2
|
+
import { VoiceToolBatchCallSchema, VoiceToolBatchItemResultSchema, VoiceToolBatchResultSchema, VoiceToolCatalogEntrySchema, VoiceToolCatalogSnapshotSchema, VoiceToolCatalogTokenSchema, VoiceToolConflictDiagnosticSchema, VoiceToolDescribeInputSchema, VoiceToolDescriptorSchema, VoiceToolErrorCodeSchema, VoiceToolErrorSchema, VoiceToolUseInputSchema } from "./schemas/voiceTools.mjs";
|
|
3
|
+
import { VoiceToolError, readDoomVoiceToolsService, requireDoomVoiceToolsService } from "./services/voiceToolsContract/index.mjs";
|
|
4
|
+
export { DOOM_VOICE_AUTO_MODE_ID, DOOM_VOICE_SOURCE, DOOM_VOICE_TOOLS_SERVICE, MAX_ORDER, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME, VoiceToolBatchCallSchema, VoiceToolBatchItemResultSchema, VoiceToolBatchResultSchema, VoiceToolCatalogEntrySchema, VoiceToolCatalogSnapshotSchema, VoiceToolCatalogTokenSchema, VoiceToolConflictDiagnosticSchema, VoiceToolDescribeInputSchema, VoiceToolDescriptorSchema, VoiceToolError, VoiceToolErrorCodeSchema, VoiceToolErrorSchema, VoiceToolUseInputSchema, readDoomVoiceToolsService, requireDoomVoiceToolsService };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
let _tanstack_store = require("@tanstack/store");
|
|
2
|
+
//#region src/web/models/globalStore.ts
|
|
3
|
+
/** Page-wide plugin state shared by every contribution from the plugin. */
|
|
4
|
+
function defineGlobalStore(initial) {
|
|
5
|
+
const store = new _tanstack_store.Store(initial);
|
|
6
|
+
const update = (updater) => {
|
|
7
|
+
const current = store.state;
|
|
8
|
+
const next = updater(current);
|
|
9
|
+
if (next !== current) store.setState(() => next);
|
|
10
|
+
};
|
|
11
|
+
const reset = () => {
|
|
12
|
+
store.setState((current) => current === initial ? current : initial);
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
store,
|
|
16
|
+
update,
|
|
17
|
+
reset
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
exports.defineGlobalStore = defineGlobalStore;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=globalStore.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalStore.cjs","names":["Store"],"sources":["../../../src/web/models/globalStore.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\n\nimport type { GlobalStore } from '../types/webPlugin';\n\n/** Page-wide plugin state shared by every contribution from the plugin. */\nexport function defineGlobalStore<T>(initial: T): GlobalStore<T> {\n const store = new Store<T>(initial);\n\n const update = (updater: (current: T) => T): void => {\n const current = store.state;\n const next = updater(current);\n if (next !== current) store.setState(() => next);\n };\n\n const reset = (): void => {\n store.setState((current) => (current === initial ? current : initial));\n };\n\n return { store, update, reset };\n}\n"],"mappings":";;;AAKA,SAAgB,kBAAqB,SAA4B;CAC/D,MAAM,QAAQ,IAAIA,gBAAAA,MAAS,OAAO;CAElC,MAAM,UAAU,YAAqC;EACnD,MAAM,UAAU,MAAM;EACtB,MAAM,OAAO,QAAQ,OAAO;EAC5B,IAAI,SAAS,SAAS,MAAM,eAAe,IAAI;CACjD;CAEA,MAAM,cAAoB;EACxB,MAAM,UAAU,YAAa,YAAY,UAAU,UAAU,OAAQ;CACvE;CAEA,OAAO;EAAE;EAAO;EAAQ;CAAM;AAChC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GlobalStore } from "../types/webPlugin.cjs";
|
|
2
|
+
//#region src/web/models/globalStore.d.ts
|
|
3
|
+
/** Page-wide plugin state shared by every contribution from the plugin. */
|
|
4
|
+
export declare function defineGlobalStore<T>(initial: T): GlobalStore<T>;
|
|
5
|
+
//#endregion
|
|
6
|
+
//# sourceMappingURL=globalStore.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalStore.d.cts","names":[],"sources":["../../../src/web/models/globalStore.ts"],"mappings":";;;wBAKgB,kBAAkB,GAAG,SAAS,IAAI,YAAY"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GlobalStore } from "../types/webPlugin.mjs";
|
|
2
|
+
//#region src/web/models/globalStore.d.ts
|
|
3
|
+
/** Page-wide plugin state shared by every contribution from the plugin. */
|
|
4
|
+
export declare function defineGlobalStore<T>(initial: T): GlobalStore<T>;
|
|
5
|
+
//#endregion
|
|
6
|
+
//# sourceMappingURL=globalStore.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalStore.d.mts","names":[],"sources":["../../../src/web/models/globalStore.ts"],"mappings":";;;wBAKgB,kBAAkB,GAAG,SAAS,IAAI,YAAY"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Store } from "@tanstack/store";
|
|
2
|
+
//#region src/web/models/globalStore.ts
|
|
3
|
+
/** Page-wide plugin state shared by every contribution from the plugin. */
|
|
4
|
+
function defineGlobalStore(initial) {
|
|
5
|
+
const store = new Store(initial);
|
|
6
|
+
const update = (updater) => {
|
|
7
|
+
const current = store.state;
|
|
8
|
+
const next = updater(current);
|
|
9
|
+
if (next !== current) store.setState(() => next);
|
|
10
|
+
};
|
|
11
|
+
const reset = () => {
|
|
12
|
+
store.setState((current) => current === initial ? current : initial);
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
store,
|
|
16
|
+
update,
|
|
17
|
+
reset
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { defineGlobalStore };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=globalStore.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalStore.mjs","names":[],"sources":["../../../src/web/models/globalStore.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\n\nimport type { GlobalStore } from '../types/webPlugin';\n\n/** Page-wide plugin state shared by every contribution from the plugin. */\nexport function defineGlobalStore<T>(initial: T): GlobalStore<T> {\n const store = new Store<T>(initial);\n\n const update = (updater: (current: T) => T): void => {\n const current = store.state;\n const next = updater(current);\n if (next !== current) store.setState(() => next);\n };\n\n const reset = (): void => {\n store.setState((current) => (current === initial ? current : initial));\n };\n\n return { store, update, reset };\n}\n"],"mappings":";;;AAKA,SAAgB,kBAAqB,SAA4B;CAC/D,MAAM,QAAQ,IAAI,MAAS,OAAO;CAElC,MAAM,UAAU,YAAqC;EACnD,MAAM,UAAU,MAAM;EACtB,MAAM,OAAO,QAAQ,OAAO;EAC5B,IAAI,SAAS,SAAS,MAAM,eAAe,IAAI;CACjD;CAEA,MAAM,cAAoB;EACxB,MAAM,UAAU,YAAa,YAAY,UAAU,UAAU,OAAQ;CACvE;CAEA,OAAO;EAAE;EAAO;EAAQ;CAAM;AAChC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
const require_webPlugin = require("../../extensions/webPlugin.cjs");
|
|
2
|
+
let _tanstack_store = require("@tanstack/store");
|
|
3
|
+
//#region src/web/models/sessionStore.ts
|
|
4
|
+
/**
|
|
5
|
+
* Per-session plugin state with the drop and reset bookkeeping built in.
|
|
6
|
+
*
|
|
7
|
+
* One TanStack store holds a record per session id. `empty` is handed back by
|
|
8
|
+
* reference for every session that has not reported, which is what keeps a
|
|
9
|
+
* useStore selector stable: the hook compares by identity, so a fresh object
|
|
10
|
+
* per read would re-render forever. Records are therefore immutable values,
|
|
11
|
+
* and updaters and reducers return new ones.
|
|
12
|
+
*/
|
|
13
|
+
function defineSessionStore(empty) {
|
|
14
|
+
const store = new _tanstack_store.Store({});
|
|
15
|
+
const select = (state, sessionId) => sessionId === null ? empty : state[sessionId] ?? empty;
|
|
16
|
+
const update = (sessionId, updater) => {
|
|
17
|
+
const current = select(store.state, sessionId);
|
|
18
|
+
const next = updater(current);
|
|
19
|
+
if (next === current) return;
|
|
20
|
+
store.setState((state) => ({
|
|
21
|
+
...state,
|
|
22
|
+
[sessionId]: next
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
const drop = (sessionId) => {
|
|
26
|
+
store.setState((state) => {
|
|
27
|
+
if (!(sessionId in state)) return state;
|
|
28
|
+
const rest = { ...state };
|
|
29
|
+
delete rest[sessionId];
|
|
30
|
+
return rest;
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
const reset = () => {
|
|
34
|
+
store.setState(() => ({}));
|
|
35
|
+
};
|
|
36
|
+
const channel = (options) => require_webPlugin.defineSessionChannel({
|
|
37
|
+
channel: options.channel,
|
|
38
|
+
parse: (input) => options.parse(input),
|
|
39
|
+
apply(sessionId, payload) {
|
|
40
|
+
update(sessionId, (current) => options.reduce(current, payload));
|
|
41
|
+
},
|
|
42
|
+
drop
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
store,
|
|
46
|
+
select,
|
|
47
|
+
update,
|
|
48
|
+
drop,
|
|
49
|
+
reset,
|
|
50
|
+
channel
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
exports.defineSessionStore = defineSessionStore;
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=sessionStore.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionStore.cjs","names":["Store","defineSessionChannel"],"sources":["../../../src/web/models/sessionStore.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\n\nimport { defineSessionChannel } from '../../extensions/webPlugin';\nimport type { SessionChannelContribution, SessionRecords, SessionStore, SessionStoreChannel } from '../types/webPlugin';\n\n/**\n * Per-session plugin state with the drop and reset bookkeeping built in.\n *\n * One TanStack store holds a record per session id. `empty` is handed back by\n * reference for every session that has not reported, which is what keeps a\n * useStore selector stable: the hook compares by identity, so a fresh object\n * per read would re-render forever. Records are therefore immutable values,\n * and updaters and reducers return new ones.\n */\nexport function defineSessionStore<T>(empty: T): SessionStore<T> {\n const store = new Store<SessionRecords<T>>({});\n\n const select = (state: SessionRecords<T>, sessionId: string | null): T =>\n sessionId === null ? empty : (state[sessionId] ?? empty);\n\n const update = (sessionId: string, updater: (current: T) => T): void => {\n const current = select(store.state, sessionId);\n const next = updater(current);\n if (next === current) return;\n store.setState((state) => ({ ...state, [sessionId]: next }));\n };\n\n const drop = (sessionId: string): void => {\n store.setState((state) => {\n if (!(sessionId in state)) return state;\n const rest = { ...state };\n delete rest[sessionId];\n return rest;\n });\n };\n\n const reset = (): void => {\n store.setState(() => ({}));\n };\n\n const channel = <Payload>(options: SessionStoreChannel<T, Payload>): SessionChannelContribution =>\n defineSessionChannel<Payload>({\n channel: options.channel,\n parse: (input) => options.parse(input),\n apply(sessionId, payload) {\n update(sessionId, (current) => options.reduce(current, payload));\n },\n drop,\n });\n\n return { store, select, update, drop, reset, channel };\n}\n"],"mappings":";;;;;;;;;;;;AAcA,SAAgB,mBAAsB,OAA2B;CAC/D,MAAM,QAAQ,IAAIA,gBAAAA,MAAyB,CAAC,CAAC;CAE7C,MAAM,UAAU,OAA0B,cACxC,cAAc,OAAO,QAAS,MAAM,cAAc;CAEpD,MAAM,UAAU,WAAmB,YAAqC;EACtE,MAAM,UAAU,OAAO,MAAM,OAAO,SAAS;EAC7C,MAAM,OAAO,QAAQ,OAAO;EAC5B,IAAI,SAAS,SAAS;EACtB,MAAM,UAAU,WAAW;GAAE,GAAG;IAAQ,YAAY;EAAK,EAAE;CAC7D;CAEA,MAAM,QAAQ,cAA4B;EACxC,MAAM,UAAU,UAAU;GACxB,IAAI,EAAE,aAAa,QAAQ,OAAO;GAClC,MAAM,OAAO,EAAE,GAAG,MAAM;GACxB,OAAO,KAAK;GACZ,OAAO;EACT,CAAC;CACH;CAEA,MAAM,cAAoB;EACxB,MAAM,gBAAgB,CAAC,EAAE;CAC3B;CAEA,MAAM,WAAoB,YACxBC,kBAAAA,qBAA8B;EAC5B,SAAS,QAAQ;EACjB,QAAQ,UAAU,QAAQ,MAAM,KAAK;EACrC,MAAM,WAAW,SAAS;GACxB,OAAO,YAAY,YAAY,QAAQ,OAAO,SAAS,OAAO,CAAC;EACjE;EACA;CACF,CAAC;CAEH,OAAO;EAAE;EAAO;EAAQ;EAAQ;EAAM;EAAO;CAAQ;AACvD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SessionStore } from "../types/webPlugin.cjs";
|
|
2
|
+
//#region src/web/models/sessionStore.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Per-session plugin state with the drop and reset bookkeeping built in.
|
|
5
|
+
*
|
|
6
|
+
* One TanStack store holds a record per session id. `empty` is handed back by
|
|
7
|
+
* reference for every session that has not reported, which is what keeps a
|
|
8
|
+
* useStore selector stable: the hook compares by identity, so a fresh object
|
|
9
|
+
* per read would re-render forever. Records are therefore immutable values,
|
|
10
|
+
* and updaters and reducers return new ones.
|
|
11
|
+
*/
|
|
12
|
+
export declare function defineSessionStore<T>(empty: T): SessionStore<T>;
|
|
13
|
+
//#endregion
|
|
14
|
+
//# sourceMappingURL=sessionStore.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionStore.d.cts","names":[],"sources":["../../../src/web/models/sessionStore.ts"],"mappings":";;;;;;;;;;;wBAcgB,mBAAmB,GAAG,OAAO,IAAI,aAAa"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SessionStore } from "../types/webPlugin.mjs";
|
|
2
|
+
//#region src/web/models/sessionStore.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Per-session plugin state with the drop and reset bookkeeping built in.
|
|
5
|
+
*
|
|
6
|
+
* One TanStack store holds a record per session id. `empty` is handed back by
|
|
7
|
+
* reference for every session that has not reported, which is what keeps a
|
|
8
|
+
* useStore selector stable: the hook compares by identity, so a fresh object
|
|
9
|
+
* per read would re-render forever. Records are therefore immutable values,
|
|
10
|
+
* and updaters and reducers return new ones.
|
|
11
|
+
*/
|
|
12
|
+
export declare function defineSessionStore<T>(empty: T): SessionStore<T>;
|
|
13
|
+
//#endregion
|
|
14
|
+
//# sourceMappingURL=sessionStore.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionStore.d.mts","names":[],"sources":["../../../src/web/models/sessionStore.ts"],"mappings":";;;;;;;;;;;wBAcgB,mBAAmB,GAAG,OAAO,IAAI,aAAa"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { defineSessionChannel } from "../../extensions/webPlugin.mjs";
|
|
2
|
+
import { Store } from "@tanstack/store";
|
|
3
|
+
//#region src/web/models/sessionStore.ts
|
|
4
|
+
/**
|
|
5
|
+
* Per-session plugin state with the drop and reset bookkeeping built in.
|
|
6
|
+
*
|
|
7
|
+
* One TanStack store holds a record per session id. `empty` is handed back by
|
|
8
|
+
* reference for every session that has not reported, which is what keeps a
|
|
9
|
+
* useStore selector stable: the hook compares by identity, so a fresh object
|
|
10
|
+
* per read would re-render forever. Records are therefore immutable values,
|
|
11
|
+
* and updaters and reducers return new ones.
|
|
12
|
+
*/
|
|
13
|
+
function defineSessionStore(empty) {
|
|
14
|
+
const store = new Store({});
|
|
15
|
+
const select = (state, sessionId) => sessionId === null ? empty : state[sessionId] ?? empty;
|
|
16
|
+
const update = (sessionId, updater) => {
|
|
17
|
+
const current = select(store.state, sessionId);
|
|
18
|
+
const next = updater(current);
|
|
19
|
+
if (next === current) return;
|
|
20
|
+
store.setState((state) => ({
|
|
21
|
+
...state,
|
|
22
|
+
[sessionId]: next
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
const drop = (sessionId) => {
|
|
26
|
+
store.setState((state) => {
|
|
27
|
+
if (!(sessionId in state)) return state;
|
|
28
|
+
const rest = { ...state };
|
|
29
|
+
delete rest[sessionId];
|
|
30
|
+
return rest;
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
const reset = () => {
|
|
34
|
+
store.setState(() => ({}));
|
|
35
|
+
};
|
|
36
|
+
const channel = (options) => defineSessionChannel({
|
|
37
|
+
channel: options.channel,
|
|
38
|
+
parse: (input) => options.parse(input),
|
|
39
|
+
apply(sessionId, payload) {
|
|
40
|
+
update(sessionId, (current) => options.reduce(current, payload));
|
|
41
|
+
},
|
|
42
|
+
drop
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
store,
|
|
46
|
+
select,
|
|
47
|
+
update,
|
|
48
|
+
drop,
|
|
49
|
+
reset,
|
|
50
|
+
channel
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { defineSessionStore };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=sessionStore.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionStore.mjs","names":[],"sources":["../../../src/web/models/sessionStore.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\n\nimport { defineSessionChannel } from '../../extensions/webPlugin';\nimport type { SessionChannelContribution, SessionRecords, SessionStore, SessionStoreChannel } from '../types/webPlugin';\n\n/**\n * Per-session plugin state with the drop and reset bookkeeping built in.\n *\n * One TanStack store holds a record per session id. `empty` is handed back by\n * reference for every session that has not reported, which is what keeps a\n * useStore selector stable: the hook compares by identity, so a fresh object\n * per read would re-render forever. Records are therefore immutable values,\n * and updaters and reducers return new ones.\n */\nexport function defineSessionStore<T>(empty: T): SessionStore<T> {\n const store = new Store<SessionRecords<T>>({});\n\n const select = (state: SessionRecords<T>, sessionId: string | null): T =>\n sessionId === null ? empty : (state[sessionId] ?? empty);\n\n const update = (sessionId: string, updater: (current: T) => T): void => {\n const current = select(store.state, sessionId);\n const next = updater(current);\n if (next === current) return;\n store.setState((state) => ({ ...state, [sessionId]: next }));\n };\n\n const drop = (sessionId: string): void => {\n store.setState((state) => {\n if (!(sessionId in state)) return state;\n const rest = { ...state };\n delete rest[sessionId];\n return rest;\n });\n };\n\n const reset = (): void => {\n store.setState(() => ({}));\n };\n\n const channel = <Payload>(options: SessionStoreChannel<T, Payload>): SessionChannelContribution =>\n defineSessionChannel<Payload>({\n channel: options.channel,\n parse: (input) => options.parse(input),\n apply(sessionId, payload) {\n update(sessionId, (current) => options.reduce(current, payload));\n },\n drop,\n });\n\n return { store, select, update, drop, reset, channel };\n}\n"],"mappings":";;;;;;;;;;;;AAcA,SAAgB,mBAAsB,OAA2B;CAC/D,MAAM,QAAQ,IAAI,MAAyB,CAAC,CAAC;CAE7C,MAAM,UAAU,OAA0B,cACxC,cAAc,OAAO,QAAS,MAAM,cAAc;CAEpD,MAAM,UAAU,WAAmB,YAAqC;EACtE,MAAM,UAAU,OAAO,MAAM,OAAO,SAAS;EAC7C,MAAM,OAAO,QAAQ,OAAO;EAC5B,IAAI,SAAS,SAAS;EACtB,MAAM,UAAU,WAAW;GAAE,GAAG;IAAQ,YAAY;EAAK,EAAE;CAC7D;CAEA,MAAM,QAAQ,cAA4B;EACxC,MAAM,UAAU,UAAU;GACxB,IAAI,EAAE,aAAa,QAAQ,OAAO;GAClC,MAAM,OAAO,EAAE,GAAG,MAAM;GACxB,OAAO,KAAK;GACZ,OAAO;EACT,CAAC;CACH;CAEA,MAAM,cAAoB;EACxB,MAAM,gBAAgB,CAAC,EAAE;CAC3B;CAEA,MAAM,WAAoB,YACxB,qBAA8B;EAC5B,SAAS,QAAQ;EACjB,QAAQ,UAAU,QAAQ,MAAM,KAAK;EACrC,MAAM,WAAW,SAAS;GACxB,OAAO,YAAY,YAAY,QAAQ,OAAO,SAAS,OAAO,CAAC;EACjE;EACA;CACF,CAAC;CAEH,OAAO;EAAE;EAAO;EAAQ;EAAQ;EAAM;EAAO;CAAQ;AACvD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/web/schemas/bundleAssetPolicy.ts
|
|
2
|
+
const BUNDLE_ASSET_POLICY_PATH = "/bundle-asset-policy.json";
|
|
3
|
+
const BUNDLE_ASSET_POLICY_VERSION = 1;
|
|
4
|
+
function parseBundleAssetPolicy(value) {
|
|
5
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
|
|
6
|
+
const candidate = value;
|
|
7
|
+
if (Object.keys(candidate).sort().join(",") !== "optional,version" || candidate.version !== 1 || !Array.isArray(candidate.optional)) return;
|
|
8
|
+
const optional = candidate.optional;
|
|
9
|
+
if (optional.some((asset) => typeof asset !== "string" || !asset.startsWith("/") || asset.includes("\\") || asset.includes("?") || asset.includes("#")) || new Set(optional).size !== optional.length) return;
|
|
10
|
+
return {
|
|
11
|
+
version: 1,
|
|
12
|
+
optional: [...optional].sort((a, b) => a.localeCompare(b))
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
exports.BUNDLE_ASSET_POLICY_PATH = BUNDLE_ASSET_POLICY_PATH;
|
|
17
|
+
exports.BUNDLE_ASSET_POLICY_VERSION = BUNDLE_ASSET_POLICY_VERSION;
|
|
18
|
+
exports.parseBundleAssetPolicy = parseBundleAssetPolicy;
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=bundleAssetPolicy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundleAssetPolicy.cjs","names":[],"sources":["../../../src/web/schemas/bundleAssetPolicy.ts"],"sourcesContent":["export const BUNDLE_ASSET_POLICY_PATH = '/bundle-asset-policy.json';\nexport const BUNDLE_ASSET_POLICY_VERSION = 1;\n\nexport interface BundleAssetPolicy {\n version: typeof BUNDLE_ASSET_POLICY_VERSION;\n optional: string[];\n}\n\nexport function parseBundleAssetPolicy(value: unknown): BundleAssetPolicy | undefined {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return undefined;\n const candidate = value as Record<string, unknown>;\n if (\n Object.keys(candidate).sort().join(',') !== 'optional,version' ||\n candidate.version !== BUNDLE_ASSET_POLICY_VERSION ||\n !Array.isArray(candidate.optional)\n ) {\n return undefined;\n }\n const optional = candidate.optional;\n if (\n optional.some(\n (asset) =>\n typeof asset !== 'string' ||\n !asset.startsWith('/') ||\n asset.includes('\\\\') ||\n asset.includes('?') ||\n asset.includes('#'),\n ) ||\n new Set(optional).size !== optional.length\n ) {\n return undefined;\n }\n return { version: BUNDLE_ASSET_POLICY_VERSION, optional: [...optional].sort((a, b) => a.localeCompare(b)) };\n}\n"],"mappings":";AAAA,MAAa,2BAA2B;AACxC,MAAa,8BAA8B;AAO3C,SAAgB,uBAAuB,OAA+C;CACpF,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,QAAQ,KAAK,GAAG,OAAO,KAAA;CAChF,MAAM,YAAY;CAClB,IACE,OAAO,KAAK,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,MAAM,sBAC5C,UAAU,YAAA,KACV,CAAC,MAAM,QAAQ,UAAU,QAAQ,GAEjC;CAEF,MAAM,WAAW,UAAU;CAC3B,IACE,SAAS,MACN,UACC,OAAO,UAAU,YACjB,CAAC,MAAM,WAAW,GAAG,KACrB,MAAM,SAAS,IAAI,KACnB,MAAM,SAAS,GAAG,KAClB,MAAM,SAAS,GAAG,CACtB,KACA,IAAI,IAAI,QAAQ,CAAC,CAAC,SAAS,SAAS,QAEpC;CAEF,OAAO;EAAE,SAAA;EAAsC,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,cAAc,CAAC,CAAC;CAAE;AAC5G"}
|