@agimon-ai/doompi-core 0.0.1-alpha.100
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/agentModel.cjs +4 -0
- package/dist/agentModel.d.mts +2 -0
- package/dist/agentModel.mjs +2 -0
- package/dist/apiContracts.cjs +2009 -0
- package/dist/apiContracts.cjs.map +1 -0
- package/dist/apiContracts.d.mts +1018 -0
- package/dist/apiContracts.d.mts.map +1 -0
- package/dist/apiContracts.mjs +1989 -0
- package/dist/apiContracts.mjs.map +1 -0
- package/dist/askUser.cjs +8 -0
- package/dist/askUser.d.mts +2 -0
- package/dist/askUser.mjs +2 -0
- package/dist/authorTools.cjs +5 -0
- package/dist/authorTools.d.mts +2 -0
- package/dist/authorTools.mjs +2 -0
- package/dist/backgroundWork.cjs +7 -0
- package/dist/backgroundWork.d.mts +2 -0
- package/dist/backgroundWork.mjs +2 -0
- package/dist/bundleAssetPolicy.cjs +5 -0
- package/dist/bundleAssetPolicy.d.mts +2 -0
- package/dist/bundleAssetPolicy.mjs +2 -0
- package/dist/childProcess.cjs +15 -0
- package/dist/childProcess.d.mts +2 -0
- package/dist/childProcess.mjs +2 -0
- package/dist/childSession.cjs +8 -0
- package/dist/childSession.d.mts +3 -0
- package/dist/childSession.mjs +3 -0
- package/dist/cockpitContainer.cjs +4 -0
- package/dist/cockpitContainer.d.mts +2 -0
- package/dist/cockpitContainer.mjs +2 -0
- package/dist/config.cjs +13 -0
- package/dist/config.d.mts +3 -0
- package/dist/config.mjs +2 -0
- package/dist/contextApi.cjs +10 -0
- package/dist/contextApi.d.mts +4 -0
- package/dist/contextApi.mjs +3 -0
- package/dist/contextContributions.cjs +7 -0
- package/dist/contextContributions.d.mts +3 -0
- package/dist/contextContributions.mjs +3 -0
- package/dist/contextDetail.cjs +65 -0
- package/dist/contextDetail.cjs.map +1 -0
- package/dist/contextDetail.d.mts +19 -0
- package/dist/contextDetail.d.mts.map +1 -0
- package/dist/contextDetail.mjs +64 -0
- package/dist/contextDetail.mjs.map +1 -0
- package/dist/contextDetailStore.cjs +100 -0
- package/dist/contextDetailStore.cjs.map +1 -0
- package/dist/contextDetailStore.d.mts +19 -0
- package/dist/contextDetailStore.d.mts.map +1 -0
- package/dist/contextDetailStore.mjs +91 -0
- package/dist/contextDetailStore.mjs.map +1 -0
- package/dist/contextProjection.cjs +121 -0
- package/dist/contextProjection.cjs.map +1 -0
- package/dist/contextProjection.d.mts +130 -0
- package/dist/contextProjection.d.mts.map +1 -0
- package/dist/contextProjection.mjs +117 -0
- package/dist/contextProjection.mjs.map +1 -0
- package/dist/cordisHost.cjs +11 -0
- package/dist/cordisHost.d.mts +2 -0
- package/dist/cordisHost.mjs +2 -0
- package/dist/delegation.cjs +18 -0
- package/dist/delegation.d.mts +2 -0
- package/dist/delegation.mjs +2 -0
- package/dist/doomPackage.cjs +61 -0
- package/dist/doomPackage.cjs.map +1 -0
- package/dist/doomPackage.d.mts +17 -0
- package/dist/doomPackage.d.mts.map +1 -0
- package/dist/doomPackage.mjs +54 -0
- package/dist/doomPackage.mjs.map +1 -0
- package/dist/executionBudget.cjs +231 -0
- package/dist/executionBudget.cjs.map +1 -0
- package/dist/executionBudget.d.mts +11 -0
- package/dist/executionBudget.d.mts.map +1 -0
- package/dist/executionBudget.mjs +225 -0
- package/dist/executionBudget.mjs.map +1 -0
- package/dist/extensionFile.cjs +24 -0
- package/dist/extensionFile.d.mts +3 -0
- package/dist/extensionFile.mjs +2 -0
- package/dist/footer.cjs +6 -0
- package/dist/footer.d.mts +2 -0
- package/dist/footer.mjs +2 -0
- package/dist/headless.cjs +9 -0
- package/dist/headless.d.mts +2 -0
- package/dist/headless.mjs +2 -0
- package/dist/headlessHub.cjs +914 -0
- package/dist/headlessHub.cjs.map +1 -0
- package/dist/headlessHub.d.mts +157 -0
- package/dist/headlessHub.d.mts.map +1 -0
- package/dist/headlessHub.mjs +911 -0
- package/dist/headlessHub.mjs.map +1 -0
- package/dist/headlessServer.cjs +910 -0
- package/dist/headlessServer.cjs.map +1 -0
- package/dist/headlessServer.d.mts +64 -0
- package/dist/headlessServer.d.mts.map +1 -0
- package/dist/headlessServer.mjs +904 -0
- package/dist/headlessServer.mjs.map +1 -0
- package/dist/headlessSessionHost.cjs +0 -0
- package/dist/headlessSessionHost.d.mts +71 -0
- package/dist/headlessSessionHost.d.mts.map +1 -0
- package/dist/headlessSessionHost.mjs +1 -0
- package/dist/headlessSessionManager.cjs +51 -0
- package/dist/headlessSessionManager.cjs.map +1 -0
- package/dist/headlessSessionManager.d.mts +6 -0
- package/dist/headlessSessionManager.d.mts.map +1 -0
- package/dist/headlessSessionManager.mjs +50 -0
- package/dist/headlessSessionManager.mjs.map +1 -0
- package/dist/help.cjs +24 -0
- package/dist/help.d.mts +3 -0
- package/dist/help.mjs +3 -0
- package/dist/history.cjs +25 -0
- package/dist/history.d.mts +10 -0
- package/dist/history.mjs +10 -0
- package/dist/historyImport.cjs +553 -0
- package/dist/historyImport.cjs.map +1 -0
- package/dist/historyImport.d.mts +76 -0
- package/dist/historyImport.d.mts.map +1 -0
- package/dist/historyImport.mjs +547 -0
- package/dist/historyImport.mjs.map +1 -0
- package/dist/historyOwnership.cjs +253 -0
- package/dist/historyOwnership.cjs.map +1 -0
- package/dist/historyOwnership.d.mts +23 -0
- package/dist/historyOwnership.d.mts.map +1 -0
- package/dist/historyOwnership.mjs +247 -0
- package/dist/historyOwnership.mjs.map +1 -0
- package/dist/hubChannel.cjs +4 -0
- package/dist/hubChannel.d.mts +2 -0
- package/dist/hubChannel.mjs +2 -0
- package/dist/index.cjs +44 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.mjs +6 -0
- package/dist/json.cjs +6 -0
- package/dist/json.d.mts +2 -0
- package/dist/json.mjs +2 -0
- package/dist/jsonlSessionRepo.cjs +217 -0
- package/dist/jsonlSessionRepo.cjs.map +1 -0
- package/dist/jsonlSessionRepo.d.mts +7 -0
- package/dist/jsonlSessionRepo.d.mts.map +1 -0
- package/dist/jsonlSessionRepo.mjs +212 -0
- package/dist/jsonlSessionRepo.mjs.map +1 -0
- package/dist/kernel.cjs +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.mts +2 -0
- package/dist/leader.mjs +2 -0
- package/dist/logSinkTelemetry.cjs +5 -0
- package/dist/logSinkTelemetry.d.mts +2 -0
- package/dist/logSinkTelemetry.mjs +2 -0
- package/dist/machineApi.cjs +92 -0
- package/dist/machineApi.cjs.map +1 -0
- package/dist/machineApi.d.mts +7 -0
- package/dist/machineApi.d.mts.map +1 -0
- package/dist/machineApi.mjs +88 -0
- package/dist/machineApi.mjs.map +1 -0
- package/dist/main.cjs +11 -0
- package/dist/main.d.mts +5 -0
- package/dist/main.mjs +4 -0
- package/dist/mcpFacet.cjs +12 -0
- package/dist/mcpFacet.d.mts +4 -0
- package/dist/mcpFacet.mjs +4 -0
- package/dist/mcpProjection.cjs +16 -0
- package/dist/mcpProjection.d.mts +2 -0
- package/dist/mcpProjection.mjs +2 -0
- package/dist/mcpSchemaCost.cjs +195 -0
- package/dist/mcpSchemaCost.cjs.map +1 -0
- package/dist/mcpSchemaCost.d.mts +35 -0
- package/dist/mcpSchemaCost.d.mts.map +1 -0
- package/dist/mcpSchemaCost.mjs +190 -0
- package/dist/mcpSchemaCost.mjs.map +1 -0
- package/dist/mcpSession.cjs +9 -0
- package/dist/mcpSession.d.mts +2 -0
- package/dist/mcpSession.mjs +2 -0
- package/dist/mcpStatus.cjs +7 -0
- package/dist/mcpStatus.d.mts +2 -0
- package/dist/mcpStatus.mjs +2 -0
- package/dist/mcpToolResolver.cjs +5 -0
- package/dist/mcpToolResolver.d.mts +2 -0
- package/dist/mcpToolResolver.mjs +2 -0
- package/dist/mcpWidget.cjs +0 -0
- package/dist/mcpWidget.d.mts +2 -0
- package/dist/mcpWidget.mjs +1 -0
- package/dist/moduleResolution.cjs +405 -0
- package/dist/moduleResolution.cjs.map +1 -0
- package/dist/moduleResolution.d.mts +67 -0
- package/dist/moduleResolution.d.mts.map +1 -0
- package/dist/moduleResolution.mjs +389 -0
- package/dist/moduleResolution.mjs.map +1 -0
- package/dist/narration.cjs +10 -0
- package/dist/narration.d.mts +2 -0
- package/dist/narration.mjs +2 -0
- package/dist/notification.cjs +17 -0
- package/dist/notification.d.mts +2 -0
- package/dist/notification.mjs +2 -0
- package/dist/packageApi.cjs +16 -0
- package/dist/packageApi.d.mts +3 -0
- package/dist/packageApi.mjs +3 -0
- package/dist/packageApiServer.cjs +191 -0
- package/dist/packageApiServer.cjs.map +1 -0
- package/dist/packageApiServer.d.mts +57 -0
- package/dist/packageApiServer.d.mts.map +1 -0
- package/dist/packageApiServer.mjs +189 -0
- package/dist/packageApiServer.mjs.map +1 -0
- package/dist/piExtension.cjs +13 -0
- package/dist/piExtension.d.mts +5 -0
- package/dist/piExtension.mjs +4 -0
- package/dist/piSettings.cjs +12 -0
- package/dist/piSettings.d.mts +2 -0
- package/dist/piSettings.mjs +2 -0
- package/dist/pluginProtocol.cjs +10 -0
- package/dist/pluginProtocol.d.mts +2 -0
- package/dist/pluginProtocol.mjs +2 -0
- package/dist/profileIdentity.cjs +6 -0
- package/dist/profileIdentity.d.mts +2 -0
- package/dist/profileIdentity.mjs +2 -0
- package/dist/protocol.cjs +10 -0
- package/dist/protocol.d.mts +2 -0
- package/dist/protocol.mjs +2 -0
- package/dist/readiness.cjs +8 -0
- package/dist/readiness.d.mts +2 -0
- package/dist/readiness.mjs +2 -0
- package/dist/relaunchHandoff.cjs +6 -0
- package/dist/relaunchHandoff.d.mts +2 -0
- package/dist/relaunchHandoff.mjs +2 -0
- package/dist/remoteApi.cjs +42 -0
- package/dist/remoteApi.cjs.map +1 -0
- package/dist/remoteApi.d.mts +7 -0
- package/dist/remoteApi.d.mts.map +1 -0
- package/dist/remoteApi.mjs +41 -0
- package/dist/remoteApi.mjs.map +1 -0
- package/dist/remoteRuntime.cjs +460 -0
- package/dist/remoteRuntime.cjs.map +1 -0
- package/dist/remoteRuntime.d.mts +28 -0
- package/dist/remoteRuntime.d.mts.map +1 -0
- package/dist/remoteRuntime.mjs +456 -0
- package/dist/remoteRuntime.mjs.map +1 -0
- package/dist/runtimeConfig.cjs +232 -0
- package/dist/runtimeConfig.cjs.map +1 -0
- package/dist/runtimeConfig.d.mts +313 -0
- package/dist/runtimeConfig.d.mts.map +1 -0
- package/dist/runtimeConfig.mjs +221 -0
- package/dist/runtimeConfig.mjs.map +1 -0
- package/dist/runtimeContextApi.cjs +64 -0
- package/dist/runtimeContextApi.cjs.map +1 -0
- package/dist/runtimeContextApi.d.mts +16 -0
- package/dist/runtimeContextApi.d.mts.map +1 -0
- package/dist/runtimeContextApi.mjs +62 -0
- package/dist/runtimeContextApi.mjs.map +1 -0
- package/dist/runtimeCordisHost.cjs +193 -0
- package/dist/runtimeCordisHost.cjs.map +1 -0
- package/dist/runtimeCordisHost.d.mts +63 -0
- package/dist/runtimeCordisHost.d.mts.map +1 -0
- package/dist/runtimeCordisHost.mjs +184 -0
- package/dist/runtimeCordisHost.mjs.map +1 -0
- package/dist/runtimeHeadlessSessionManager.cjs +0 -0
- package/dist/runtimeHeadlessSessionManager.d.mts +18 -0
- package/dist/runtimeHeadlessSessionManager.d.mts.map +1 -0
- package/dist/runtimeHeadlessSessionManager.mjs +1 -0
- package/dist/runtimeIdentity.cjs +26 -0
- package/dist/runtimeIdentity.cjs.map +1 -0
- package/dist/runtimeIdentity.d.mts +7 -0
- package/dist/runtimeIdentity.d.mts.map +1 -0
- package/dist/runtimeIdentity.mjs +21 -0
- package/dist/runtimeIdentity.mjs.map +1 -0
- package/dist/runtimeJson.cjs +46 -0
- package/dist/runtimeJson.cjs.map +1 -0
- package/dist/runtimeJson.d.mts +22 -0
- package/dist/runtimeJson.d.mts.map +1 -0
- package/dist/runtimeJson.mjs +39 -0
- package/dist/runtimeJson.mjs.map +1 -0
- package/dist/runtimeLogSinkTelemetry.cjs +102 -0
- package/dist/runtimeLogSinkTelemetry.cjs.map +1 -0
- package/dist/runtimeLogSinkTelemetry.d.mts +49 -0
- package/dist/runtimeLogSinkTelemetry.d.mts.map +1 -0
- package/dist/runtimeLogSinkTelemetry.mjs +99 -0
- package/dist/runtimeLogSinkTelemetry.mjs.map +1 -0
- package/dist/runtimePiExtension.cjs +339 -0
- package/dist/runtimePiExtension.cjs.map +1 -0
- package/dist/runtimePiExtension.d.mts +160 -0
- package/dist/runtimePiExtension.d.mts.map +1 -0
- package/dist/runtimePiExtension.mjs +333 -0
- package/dist/runtimePiExtension.mjs.map +1 -0
- package/dist/runtimePiSettings.cjs +116 -0
- package/dist/runtimePiSettings.cjs.map +1 -0
- package/dist/runtimePiSettings.d.mts +29 -0
- package/dist/runtimePiSettings.d.mts.map +1 -0
- package/dist/runtimePiSettings.mjs +103 -0
- package/dist/runtimePiSettings.mjs.map +1 -0
- package/dist/runtimeProtocol.cjs +223 -0
- package/dist/runtimeProtocol.cjs.map +1 -0
- package/dist/runtimeProtocol.d.mts +84 -0
- package/dist/runtimeProtocol.d.mts.map +1 -0
- package/dist/runtimeProtocol.mjs +215 -0
- package/dist/runtimeProtocol.mjs.map +1 -0
- package/dist/runtimeToolNames.cjs +51 -0
- package/dist/runtimeToolNames.cjs.map +1 -0
- package/dist/runtimeToolNames.d.mts +24 -0
- package/dist/runtimeToolNames.d.mts.map +1 -0
- package/dist/runtimeToolNames.mjs +49 -0
- package/dist/runtimeToolNames.mjs.map +1 -0
- package/dist/runtimeTransition.cjs +27 -0
- package/dist/runtimeTransition.cjs.map +1 -0
- package/dist/runtimeTransition.d.mts +114 -0
- package/dist/runtimeTransition.d.mts.map +1 -0
- package/dist/runtimeTransition.mjs +24 -0
- package/dist/runtimeTransition.mjs.map +1 -0
- package/dist/sandboxHarness.cjs +6 -0
- package/dist/sandboxHarness.d.mts +2 -0
- package/dist/sandboxHarness.mjs +2 -0
- package/dist/server.cjs +17 -0
- package/dist/server.d.mts +10 -0
- package/dist/server.mjs +7 -0
- package/dist/serverFacet.cjs +30 -0
- package/dist/serverFacet.d.mts +8 -0
- package/dist/serverFacet.mjs +8 -0
- package/dist/serverTelemetry.cjs +25 -0
- package/dist/serverTelemetry.cjs.map +1 -0
- package/dist/serverTelemetry.d.mts +12 -0
- package/dist/serverTelemetry.d.mts.map +1 -0
- package/dist/serverTelemetry.mjs +23 -0
- package/dist/serverTelemetry.mjs.map +1 -0
- package/dist/sessionFilesApi.cjs +96 -0
- package/dist/sessionFilesApi.cjs.map +1 -0
- package/dist/sessionFilesApi.d.mts +7 -0
- package/dist/sessionFilesApi.d.mts.map +1 -0
- package/dist/sessionFilesApi.mjs +91 -0
- package/dist/sessionFilesApi.mjs.map +1 -0
- package/dist/sessionMcp.cjs +6 -0
- package/dist/sessionMcp.d.mts +5 -0
- package/dist/sessionMcp.mjs +3 -0
- package/dist/sessionProtocol.cjs +8 -0
- package/dist/sessionProtocol.d.mts +3 -0
- package/dist/sessionProtocol.mjs +2 -0
- package/dist/skills.cjs +9 -0
- package/dist/skills.d.mts +2 -0
- package/dist/skills.mjs +2 -0
- package/dist/sqliteHistoryImport.cjs +151 -0
- package/dist/sqliteHistoryImport.cjs.map +1 -0
- package/dist/sqliteHistoryImport.d.mts +8 -0
- package/dist/sqliteHistoryImport.d.mts.map +1 -0
- package/dist/sqliteHistoryImport.mjs +146 -0
- package/dist/sqliteHistoryImport.mjs.map +1 -0
- package/dist/sqliteSessionStorage.cjs +53 -0
- package/dist/sqliteSessionStorage.cjs.map +1 -0
- package/dist/sqliteSessionStorage.d.mts +7 -0
- package/dist/sqliteSessionStorage.d.mts.map +1 -0
- package/dist/sqliteSessionStorage.mjs +49 -0
- package/dist/sqliteSessionStorage.mjs.map +1 -0
- package/dist/src/constants/authorTools.cjs +10 -0
- package/dist/src/constants/authorTools.cjs.map +1 -0
- package/dist/src/constants/authorTools.d.mts +6 -0
- package/dist/src/constants/authorTools.d.mts.map +1 -0
- package/dist/src/constants/authorTools.mjs +8 -0
- package/dist/src/constants/authorTools.mjs.map +1 -0
- package/dist/src/constants/contextApi.cjs +28 -0
- package/dist/src/constants/contextApi.cjs.map +1 -0
- package/dist/src/constants/contextApi.d.mts +21 -0
- package/dist/src/constants/contextApi.d.mts.map +1 -0
- package/dist/src/constants/contextApi.mjs +23 -0
- package/dist/src/constants/contextApi.mjs.map +1 -0
- package/dist/src/constants/remote.cjs +90 -0
- package/dist/src/constants/remote.cjs.map +1 -0
- package/dist/src/constants/remote.mjs +69 -0
- package/dist/src/constants/remote.mjs.map +1 -0
- package/dist/src/constants/voiceReloadHandoff.cjs +12 -0
- package/dist/src/constants/voiceReloadHandoff.cjs.map +1 -0
- package/dist/src/constants/voiceReloadHandoff.d.mts +7 -0
- package/dist/src/constants/voiceReloadHandoff.d.mts.map +1 -0
- package/dist/src/constants/voiceReloadHandoff.mjs +9 -0
- package/dist/src/constants/voiceReloadHandoff.mjs.map +1 -0
- package/dist/src/constants/voiceTools.cjs +96 -0
- package/dist/src/constants/voiceTools.cjs.map +1 -0
- package/dist/src/constants/voiceTools.d.mts +58 -0
- package/dist/src/constants/voiceTools.d.mts.map +1 -0
- package/dist/src/constants/voiceTools.mjs +60 -0
- package/dist/src/constants/voiceTools.mjs.map +1 -0
- package/dist/src/extensions/extensionFile.cjs +165 -0
- package/dist/src/extensions/extensionFile.cjs.map +1 -0
- package/dist/src/extensions/extensionFile.d.mts +79 -0
- package/dist/src/extensions/extensionFile.d.mts.map +1 -0
- package/dist/src/extensions/extensionFile.mjs +144 -0
- package/dist/src/extensions/extensionFile.mjs.map +1 -0
- package/dist/src/extensions/serverPlugin.cjs +106 -0
- package/dist/src/extensions/serverPlugin.cjs.map +1 -0
- package/dist/src/extensions/serverPlugin.d.mts +5 -0
- package/dist/src/extensions/serverPlugin.d.mts.map +1 -0
- package/dist/src/extensions/serverPlugin.mjs +106 -0
- package/dist/src/extensions/serverPlugin.mjs.map +1 -0
- package/dist/src/extensions/webPlugin.cjs +131 -0
- package/dist/src/extensions/webPlugin.cjs.map +1 -0
- package/dist/src/extensions/webPlugin.d.mts +66 -0
- package/dist/src/extensions/webPlugin.d.mts.map +1 -0
- package/dist/src/extensions/webPlugin.mjs +110 -0
- package/dist/src/extensions/webPlugin.mjs.map +1 -0
- package/dist/src/pi/piSessionRuntime.cjs +572 -0
- package/dist/src/pi/piSessionRuntime.cjs.map +1 -0
- package/dist/src/pi/piSessionRuntime.d.mts +43 -0
- package/dist/src/pi/piSessionRuntime.d.mts.map +1 -0
- package/dist/src/pi/piSessionRuntime.mjs +571 -0
- package/dist/src/pi/piSessionRuntime.mjs.map +1 -0
- package/dist/src/pi/piWebSocketListener.cjs +115 -0
- package/dist/src/pi/piWebSocketListener.cjs.map +1 -0
- package/dist/src/pi/piWebSocketListener.mjs +115 -0
- package/dist/src/pi/piWebSocketListener.mjs.map +1 -0
- package/dist/src/schemas/agentModel.cjs +33 -0
- package/dist/src/schemas/agentModel.cjs.map +1 -0
- package/dist/src/schemas/agentModel.d.mts +26 -0
- package/dist/src/schemas/agentModel.d.mts.map +1 -0
- package/dist/src/schemas/agentModel.mjs +32 -0
- package/dist/src/schemas/agentModel.mjs.map +1 -0
- package/dist/src/schemas/apiContracts.d.mts +58 -0
- package/dist/src/schemas/apiContracts.d.mts.map +1 -0
- package/dist/src/schemas/askUser.cjs +42 -0
- package/dist/src/schemas/askUser.cjs.map +1 -0
- package/dist/src/schemas/askUser.d.mts +47 -0
- package/dist/src/schemas/askUser.d.mts.map +1 -0
- package/dist/src/schemas/askUser.mjs +37 -0
- package/dist/src/schemas/askUser.mjs.map +1 -0
- package/dist/src/schemas/backgroundWork.cjs +31 -0
- package/dist/src/schemas/backgroundWork.cjs.map +1 -0
- package/dist/src/schemas/backgroundWork.d.mts +72 -0
- package/dist/src/schemas/backgroundWork.d.mts.map +1 -0
- package/dist/src/schemas/backgroundWork.mjs +27 -0
- package/dist/src/schemas/backgroundWork.mjs.map +1 -0
- package/dist/src/schemas/childProcess.cjs +67 -0
- package/dist/src/schemas/childProcess.cjs.map +1 -0
- package/dist/src/schemas/childProcess.d.mts +30 -0
- package/dist/src/schemas/childProcess.d.mts.map +1 -0
- package/dist/src/schemas/childProcess.mjs +55 -0
- package/dist/src/schemas/childProcess.mjs.map +1 -0
- package/dist/src/schemas/cockpitContainer.cjs +31 -0
- package/dist/src/schemas/cockpitContainer.cjs.map +1 -0
- package/dist/src/schemas/cockpitContainer.d.mts +80 -0
- package/dist/src/schemas/cockpitContainer.d.mts.map +1 -0
- package/dist/src/schemas/cockpitContainer.mjs +30 -0
- package/dist/src/schemas/cockpitContainer.mjs.map +1 -0
- package/dist/src/schemas/contextContributions.cjs +17 -0
- package/dist/src/schemas/contextContributions.cjs.map +1 -0
- package/dist/src/schemas/contextContributions.d.mts +49 -0
- package/dist/src/schemas/contextContributions.d.mts.map +1 -0
- package/dist/src/schemas/contextContributions.mjs +15 -0
- package/dist/src/schemas/contextContributions.mjs.map +1 -0
- package/dist/src/schemas/delegation.cjs +91 -0
- package/dist/src/schemas/delegation.cjs.map +1 -0
- package/dist/src/schemas/delegation.d.mts +95 -0
- package/dist/src/schemas/delegation.d.mts.map +1 -0
- package/dist/src/schemas/delegation.mjs +76 -0
- package/dist/src/schemas/delegation.mjs.map +1 -0
- package/dist/src/schemas/extensionFile.d.mts +136 -0
- package/dist/src/schemas/extensionFile.d.mts.map +1 -0
- package/dist/src/schemas/footer.cjs +48 -0
- package/dist/src/schemas/footer.cjs.map +1 -0
- package/dist/src/schemas/footer.d.mts +48 -0
- package/dist/src/schemas/footer.d.mts.map +1 -0
- package/dist/src/schemas/footer.mjs +45 -0
- package/dist/src/schemas/footer.mjs.map +1 -0
- package/dist/src/schemas/headless.cjs +44 -0
- package/dist/src/schemas/headless.cjs.map +1 -0
- package/dist/src/schemas/headless.d.mts +370 -0
- package/dist/src/schemas/headless.d.mts.map +1 -0
- package/dist/src/schemas/headless.mjs +38 -0
- package/dist/src/schemas/headless.mjs.map +1 -0
- package/dist/src/schemas/help.cjs +281 -0
- package/dist/src/schemas/help.cjs.map +1 -0
- package/dist/src/schemas/help.d.mts +119 -0
- package/dist/src/schemas/help.d.mts.map +1 -0
- package/dist/src/schemas/help.mjs +262 -0
- package/dist/src/schemas/help.mjs.map +1 -0
- package/dist/src/schemas/hubChannel.cjs +20 -0
- package/dist/src/schemas/hubChannel.cjs.map +1 -0
- package/dist/src/schemas/hubChannel.d.mts +236 -0
- package/dist/src/schemas/hubChannel.d.mts.map +1 -0
- package/dist/src/schemas/hubChannel.mjs +19 -0
- package/dist/src/schemas/hubChannel.mjs.map +1 -0
- package/dist/src/schemas/leader.cjs +57 -0
- package/dist/src/schemas/leader.cjs.map +1 -0
- package/dist/src/schemas/leader.d.mts +107 -0
- package/dist/src/schemas/leader.d.mts.map +1 -0
- package/dist/src/schemas/leader.mjs +51 -0
- package/dist/src/schemas/leader.mjs.map +1 -0
- package/dist/src/schemas/mcpBundle.cjs +92 -0
- package/dist/src/schemas/mcpBundle.cjs.map +1 -0
- package/dist/src/schemas/mcpBundle.d.mts +33 -0
- package/dist/src/schemas/mcpBundle.d.mts.map +1 -0
- package/dist/src/schemas/mcpBundle.mjs +90 -0
- package/dist/src/schemas/mcpBundle.mjs.map +1 -0
- package/dist/src/schemas/mcpFacet.cjs +24 -0
- package/dist/src/schemas/mcpFacet.cjs.map +1 -0
- package/dist/src/schemas/mcpFacet.d.mts +91 -0
- package/dist/src/schemas/mcpFacet.d.mts.map +1 -0
- package/dist/src/schemas/mcpFacet.mjs +21 -0
- package/dist/src/schemas/mcpFacet.mjs.map +1 -0
- package/dist/src/schemas/mcpProjection.cjs +117 -0
- package/dist/src/schemas/mcpProjection.cjs.map +1 -0
- package/dist/src/schemas/mcpProjection.d.mts +124 -0
- package/dist/src/schemas/mcpProjection.d.mts.map +1 -0
- package/dist/src/schemas/mcpProjection.mjs +104 -0
- package/dist/src/schemas/mcpProjection.mjs.map +1 -0
- package/dist/src/schemas/mcpSession.cjs +57 -0
- package/dist/src/schemas/mcpSession.cjs.map +1 -0
- package/dist/src/schemas/mcpSession.d.mts +57 -0
- package/dist/src/schemas/mcpSession.d.mts.map +1 -0
- package/dist/src/schemas/mcpSession.mjs +51 -0
- package/dist/src/schemas/mcpSession.mjs.map +1 -0
- package/dist/src/schemas/mcpStatus.cjs +52 -0
- package/dist/src/schemas/mcpStatus.cjs.map +1 -0
- package/dist/src/schemas/mcpStatus.d.mts +73 -0
- package/dist/src/schemas/mcpStatus.d.mts.map +1 -0
- package/dist/src/schemas/mcpStatus.mjs +48 -0
- package/dist/src/schemas/mcpStatus.mjs.map +1 -0
- package/dist/src/schemas/mcpToolResolver.cjs +17 -0
- package/dist/src/schemas/mcpToolResolver.cjs.map +1 -0
- package/dist/src/schemas/mcpToolResolver.d.mts +24 -0
- package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -0
- package/dist/src/schemas/mcpToolResolver.mjs +15 -0
- package/dist/src/schemas/mcpToolResolver.mjs.map +1 -0
- package/dist/src/schemas/narration.cjs +54 -0
- package/dist/src/schemas/narration.cjs.map +1 -0
- package/dist/src/schemas/narration.d.mts +29 -0
- package/dist/src/schemas/narration.d.mts.map +1 -0
- package/dist/src/schemas/narration.mjs +47 -0
- package/dist/src/schemas/narration.mjs.map +1 -0
- package/dist/src/schemas/notification.cjs +122 -0
- package/dist/src/schemas/notification.cjs.map +1 -0
- package/dist/src/schemas/notification.d.mts +48 -0
- package/dist/src/schemas/notification.d.mts.map +1 -0
- package/dist/src/schemas/notification.mjs +108 -0
- package/dist/src/schemas/notification.mjs.map +1 -0
- package/dist/src/schemas/packageApi.cjs +73 -0
- package/dist/src/schemas/packageApi.cjs.map +1 -0
- package/dist/src/schemas/packageApi.d.mts +249 -0
- package/dist/src/schemas/packageApi.d.mts.map +1 -0
- package/dist/src/schemas/packageApi.mjs +64 -0
- package/dist/src/schemas/packageApi.mjs.map +1 -0
- package/dist/src/schemas/piTool.cjs +26 -0
- package/dist/src/schemas/piTool.cjs.map +1 -0
- package/dist/src/schemas/piTool.d.mts +25 -0
- package/dist/src/schemas/piTool.d.mts.map +1 -0
- package/dist/src/schemas/piTool.mjs +26 -0
- package/dist/src/schemas/piTool.mjs.map +1 -0
- package/dist/src/schemas/pluginContributions.cjs +19 -0
- package/dist/src/schemas/pluginContributions.cjs.map +1 -0
- package/dist/src/schemas/pluginContributions.d.mts +56 -0
- package/dist/src/schemas/pluginContributions.d.mts.map +1 -0
- package/dist/src/schemas/pluginContributions.mjs +18 -0
- package/dist/src/schemas/pluginContributions.mjs.map +1 -0
- package/dist/src/schemas/pluginProtocol.cjs +103 -0
- package/dist/src/schemas/pluginProtocol.cjs.map +1 -0
- package/dist/src/schemas/pluginProtocol.d.mts +68 -0
- package/dist/src/schemas/pluginProtocol.d.mts.map +1 -0
- package/dist/src/schemas/pluginProtocol.mjs +96 -0
- package/dist/src/schemas/pluginProtocol.mjs.map +1 -0
- package/dist/src/schemas/profileIdentity.cjs +67 -0
- package/dist/src/schemas/profileIdentity.cjs.map +1 -0
- package/dist/src/schemas/profileIdentity.d.mts +50 -0
- package/dist/src/schemas/profileIdentity.d.mts.map +1 -0
- package/dist/src/schemas/profileIdentity.mjs +64 -0
- package/dist/src/schemas/profileIdentity.mjs.map +1 -0
- package/dist/src/schemas/readiness.cjs +251 -0
- package/dist/src/schemas/readiness.cjs.map +1 -0
- package/dist/src/schemas/readiness.d.mts +84 -0
- package/dist/src/schemas/readiness.d.mts.map +1 -0
- package/dist/src/schemas/readiness.mjs +246 -0
- package/dist/src/schemas/readiness.mjs.map +1 -0
- package/dist/src/schemas/relaunchHandoff.cjs +47 -0
- package/dist/src/schemas/relaunchHandoff.cjs.map +1 -0
- package/dist/src/schemas/relaunchHandoff.d.mts +25 -0
- package/dist/src/schemas/relaunchHandoff.d.mts.map +1 -0
- package/dist/src/schemas/relaunchHandoff.mjs +44 -0
- package/dist/src/schemas/relaunchHandoff.mjs.map +1 -0
- package/dist/src/schemas/sandboxHarness.cjs +29 -0
- package/dist/src/schemas/sandboxHarness.cjs.map +1 -0
- package/dist/src/schemas/sandboxHarness.d.mts +39 -0
- package/dist/src/schemas/sandboxHarness.d.mts.map +1 -0
- package/dist/src/schemas/sandboxHarness.mjs +26 -0
- package/dist/src/schemas/sandboxHarness.mjs.map +1 -0
- package/dist/src/schemas/serverBundle.cjs +79 -0
- package/dist/src/schemas/serverBundle.cjs.map +1 -0
- package/dist/src/schemas/serverBundle.d.mts +34 -0
- package/dist/src/schemas/serverBundle.d.mts.map +1 -0
- package/dist/src/schemas/serverBundle.mjs +77 -0
- package/dist/src/schemas/serverBundle.mjs.map +1 -0
- package/dist/src/schemas/serverFacet.cjs +102 -0
- package/dist/src/schemas/serverFacet.cjs.map +1 -0
- package/dist/src/schemas/serverFacet.d.mts +141 -0
- package/dist/src/schemas/serverFacet.d.mts.map +1 -0
- package/dist/src/schemas/serverFacet.mjs +93 -0
- package/dist/src/schemas/serverFacet.mjs.map +1 -0
- package/dist/src/schemas/sessionMcpActivity.d.mts +45 -0
- package/dist/src/schemas/sessionMcpActivity.d.mts.map +1 -0
- package/dist/src/schemas/sessionProtocol.cjs +17 -0
- package/dist/src/schemas/sessionProtocol.cjs.map +1 -0
- package/dist/src/schemas/sessionProtocol.d.mts +308 -0
- package/dist/src/schemas/sessionProtocol.d.mts.map +1 -0
- package/dist/src/schemas/sessionProtocol.mjs +12 -0
- package/dist/src/schemas/sessionProtocol.mjs.map +1 -0
- package/dist/src/schemas/sessionUpdates.d.mts +34 -0
- package/dist/src/schemas/sessionUpdates.d.mts.map +1 -0
- package/dist/src/schemas/skills.cjs +115 -0
- package/dist/src/schemas/skills.cjs.map +1 -0
- package/dist/src/schemas/skills.d.mts +65 -0
- package/dist/src/schemas/skills.d.mts.map +1 -0
- package/dist/src/schemas/skills.mjs +109 -0
- package/dist/src/schemas/skills.mjs.map +1 -0
- package/dist/src/schemas/toolOverrides.cjs +17 -0
- package/dist/src/schemas/toolOverrides.cjs.map +1 -0
- package/dist/src/schemas/toolOverrides.d.mts +29 -0
- package/dist/src/schemas/toolOverrides.d.mts.map +1 -0
- package/dist/src/schemas/toolOverrides.mjs +15 -0
- package/dist/src/schemas/toolOverrides.mjs.map +1 -0
- package/dist/src/schemas/toolSurface.cjs +17 -0
- package/dist/src/schemas/toolSurface.cjs.map +1 -0
- package/dist/src/schemas/toolSurface.d.mts +70 -0
- package/dist/src/schemas/toolSurface.d.mts.map +1 -0
- package/dist/src/schemas/toolSurface.mjs +15 -0
- package/dist/src/schemas/toolSurface.mjs.map +1 -0
- package/dist/src/schemas/uiHub.cjs +17 -0
- package/dist/src/schemas/uiHub.cjs.map +1 -0
- package/dist/src/schemas/uiHub.d.mts +23 -0
- package/dist/src/schemas/uiHub.d.mts.map +1 -0
- package/dist/src/schemas/uiHub.mjs +15 -0
- package/dist/src/schemas/uiHub.mjs.map +1 -0
- package/dist/src/schemas/voiceReloadHandoff.cjs +78 -0
- package/dist/src/schemas/voiceReloadHandoff.cjs.map +1 -0
- package/dist/src/schemas/voiceReloadHandoff.d.mts +31 -0
- package/dist/src/schemas/voiceReloadHandoff.d.mts.map +1 -0
- package/dist/src/schemas/voiceReloadHandoff.mjs +75 -0
- package/dist/src/schemas/voiceReloadHandoff.mjs.map +1 -0
- package/dist/src/schemas/voiceTools.cjs +205 -0
- package/dist/src/schemas/voiceTools.cjs.map +1 -0
- package/dist/src/schemas/voiceTools.d.mts +120 -0
- package/dist/src/schemas/voiceTools.d.mts.map +1 -0
- package/dist/src/schemas/voiceTools.mjs +194 -0
- package/dist/src/schemas/voiceTools.mjs.map +1 -0
- package/dist/src/server/devProxyForward.cjs +141 -0
- package/dist/src/server/devProxyForward.cjs.map +1 -0
- package/dist/src/server/devProxyForward.mjs +139 -0
- package/dist/src/server/devProxyForward.mjs.map +1 -0
- package/dist/src/server/devProxyRoutes.cjs +97 -0
- package/dist/src/server/devProxyRoutes.cjs.map +1 -0
- package/dist/src/server/devProxyRoutes.mjs +97 -0
- package/dist/src/server/devProxyRoutes.mjs.map +1 -0
- package/dist/src/server/devProxySocket.cjs +87 -0
- package/dist/src/server/devProxySocket.cjs.map +1 -0
- package/dist/src/server/devProxySocket.mjs +87 -0
- package/dist/src/server/devProxySocket.mjs.map +1 -0
- package/dist/src/server/directHarnessRuntime.cjs +1964 -0
- package/dist/src/server/directHarnessRuntime.cjs.map +1 -0
- package/dist/src/server/directHarnessRuntime.d.mts +3 -0
- package/dist/src/server/directHarnessRuntime.mjs +1958 -0
- package/dist/src/server/directHarnessRuntime.mjs.map +1 -0
- package/dist/src/server/harnessErrorMessage.cjs +13 -0
- package/dist/src/server/harnessErrorMessage.cjs.map +1 -0
- package/dist/src/server/harnessErrorMessage.mjs +13 -0
- package/dist/src/server/harnessErrorMessage.mjs.map +1 -0
- package/dist/src/server/headlessProtocol.cjs +366 -0
- package/dist/src/server/headlessProtocol.cjs.map +1 -0
- package/dist/src/server/headlessProtocol.mjs +366 -0
- package/dist/src/server/headlessProtocol.mjs.map +1 -0
- package/dist/src/server/jsonlTranscriptReader.cjs +85 -0
- package/dist/src/server/jsonlTranscriptReader.cjs.map +1 -0
- package/dist/src/server/jsonlTranscriptReader.mjs +83 -0
- package/dist/src/server/jsonlTranscriptReader.mjs.map +1 -0
- package/dist/src/server/mcpBundleLoader.cjs +115 -0
- package/dist/src/server/mcpBundleLoader.cjs.map +1 -0
- package/dist/src/server/mcpBundleLoader.d.mts +27 -0
- package/dist/src/server/mcpBundleLoader.d.mts.map +1 -0
- package/dist/src/server/mcpBundleLoader.mjs +111 -0
- package/dist/src/server/mcpBundleLoader.mjs.map +1 -0
- package/dist/src/server/nativeChildTranscriptReader.cjs +20 -0
- package/dist/src/server/nativeChildTranscriptReader.cjs.map +1 -0
- package/dist/src/server/nativeChildTranscriptReader.mjs +18 -0
- package/dist/src/server/nativeChildTranscriptReader.mjs.map +1 -0
- package/dist/src/server/remoteRoutes.cjs +386 -0
- package/dist/src/server/remoteRoutes.cjs.map +1 -0
- package/dist/src/server/remoteRoutes.mjs +386 -0
- package/dist/src/server/remoteRoutes.mjs.map +1 -0
- package/dist/src/server/serverFacetLoader.cjs +220 -0
- package/dist/src/server/serverFacetLoader.cjs.map +1 -0
- package/dist/src/server/serverFacetLoader.d.mts +77 -0
- package/dist/src/server/serverFacetLoader.d.mts.map +1 -0
- package/dist/src/server/serverFacetLoader.mjs +215 -0
- package/dist/src/server/serverFacetLoader.mjs.map +1 -0
- package/dist/src/server/sessionMcpHandler.cjs +494 -0
- package/dist/src/server/sessionMcpHandler.cjs.map +1 -0
- package/dist/src/server/sessionMcpHandler.d.mts +47 -0
- package/dist/src/server/sessionMcpHandler.d.mts.map +1 -0
- package/dist/src/server/sessionMcpHandler.mjs +493 -0
- package/dist/src/server/sessionMcpHandler.mjs.map +1 -0
- package/dist/src/server/sessionMcpRoutes.cjs +780 -0
- package/dist/src/server/sessionMcpRoutes.cjs.map +1 -0
- package/dist/src/server/sessionMcpRoutes.mjs +775 -0
- package/dist/src/server/sessionMcpRoutes.mjs.map +1 -0
- package/dist/src/server/threadJournals.cjs +172 -0
- package/dist/src/server/threadJournals.cjs.map +1 -0
- package/dist/src/server/threadJournals.mjs +169 -0
- package/dist/src/server/threadJournals.mjs.map +1 -0
- package/dist/src/services/acpSessionUpdates/index.cjs +129 -0
- package/dist/src/services/acpSessionUpdates/index.cjs.map +1 -0
- package/dist/src/services/acpSessionUpdates/index.mjs +129 -0
- package/dist/src/services/acpSessionUpdates/index.mjs.map +1 -0
- package/dist/src/services/apiSurfaceAssert/index.cjs +60 -0
- package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -0
- package/dist/src/services/apiSurfaceAssert/index.d.mts +24 -0
- package/dist/src/services/apiSurfaceAssert/index.d.mts.map +1 -0
- package/dist/src/services/apiSurfaceAssert/index.mjs +60 -0
- package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -0
- package/dist/src/services/bundlePublication/index.cjs +88 -0
- package/dist/src/services/bundlePublication/index.cjs.map +1 -0
- package/dist/src/services/bundlePublication/index.mjs +85 -0
- package/dist/src/services/bundlePublication/index.mjs.map +1 -0
- package/dist/src/services/contextApiUrls/index.cjs +14 -0
- package/dist/src/services/contextApiUrls/index.cjs.map +1 -0
- package/dist/src/services/contextApiUrls/index.d.mts +6 -0
- package/dist/src/services/contextApiUrls/index.d.mts.map +1 -0
- package/dist/src/services/contextApiUrls/index.mjs +14 -0
- package/dist/src/services/contextApiUrls/index.mjs.map +1 -0
- package/dist/src/services/contextContributions/index.cjs +79 -0
- package/dist/src/services/contextContributions/index.cjs.map +1 -0
- package/dist/src/services/contextContributions/index.d.mts +6 -0
- package/dist/src/services/contextContributions/index.d.mts.map +1 -0
- package/dist/src/services/contextContributions/index.mjs +79 -0
- package/dist/src/services/contextContributions/index.mjs.map +1 -0
- package/dist/src/services/contextUsage/index.cjs +27 -0
- package/dist/src/services/contextUsage/index.cjs.map +1 -0
- package/dist/src/services/contextUsage/index.mjs +25 -0
- package/dist/src/services/contextUsage/index.mjs.map +1 -0
- package/dist/src/services/devProxyPolicy/index.cjs +168 -0
- package/dist/src/services/devProxyPolicy/index.cjs.map +1 -0
- package/dist/src/services/devProxyPolicy/index.mjs +165 -0
- package/dist/src/services/devProxyPolicy/index.mjs.map +1 -0
- package/dist/src/services/devProxyStore/index.cjs +107 -0
- package/dist/src/services/devProxyStore/index.cjs.map +1 -0
- package/dist/src/services/devProxyStore/index.mjs +104 -0
- package/dist/src/services/devProxyStore/index.mjs.map +1 -0
- package/dist/src/services/deviceAuth/index.cjs +125 -0
- package/dist/src/services/deviceAuth/index.cjs.map +1 -0
- package/dist/src/services/deviceAuth/index.d.mts +9 -0
- package/dist/src/services/deviceAuth/index.d.mts.map +1 -0
- package/dist/src/services/deviceAuth/index.mjs +125 -0
- package/dist/src/services/deviceAuth/index.mjs.map +1 -0
- package/dist/src/services/deviceSessions/index.cjs +147 -0
- package/dist/src/services/deviceSessions/index.cjs.map +1 -0
- package/dist/src/services/deviceSessions/index.d.mts +15 -0
- package/dist/src/services/deviceSessions/index.d.mts.map +1 -0
- package/dist/src/services/deviceSessions/index.mjs +141 -0
- package/dist/src/services/deviceSessions/index.mjs.map +1 -0
- package/dist/src/services/headlessClient/index.cjs +125 -0
- package/dist/src/services/headlessClient/index.cjs.map +1 -0
- package/dist/src/services/headlessClient/index.mjs +125 -0
- package/dist/src/services/headlessClient/index.mjs.map +1 -0
- package/dist/src/services/historyCreationFileSystem/index.cjs +115 -0
- package/dist/src/services/historyCreationFileSystem/index.cjs.map +1 -0
- package/dist/src/services/historyCreationFileSystem/index.mjs +115 -0
- package/dist/src/services/historyCreationFileSystem/index.mjs.map +1 -0
- package/dist/src/services/hubChannelHarness/index.cjs +50 -0
- package/dist/src/services/hubChannelHarness/index.cjs.map +1 -0
- package/dist/src/services/hubChannelHarness/index.d.mts +17 -0
- package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -0
- package/dist/src/services/hubChannelHarness/index.mjs +50 -0
- package/dist/src/services/hubChannelHarness/index.mjs.map +1 -0
- package/dist/src/services/kernel/index.cjs +147 -0
- package/dist/src/services/kernel/index.cjs.map +1 -0
- package/dist/src/services/kernel/index.d.mts +9 -0
- package/dist/src/services/kernel/index.d.mts.map +1 -0
- package/dist/src/services/kernel/index.mjs +147 -0
- package/dist/src/services/kernel/index.mjs.map +1 -0
- package/dist/src/services/loginFlow/index.cjs +131 -0
- package/dist/src/services/loginFlow/index.cjs.map +1 -0
- package/dist/src/services/loginFlow/index.mjs +131 -0
- package/dist/src/services/loginFlow/index.mjs.map +1 -0
- package/dist/src/services/loopbackAddress/index.cjs +58 -0
- package/dist/src/services/loopbackAddress/index.cjs.map +1 -0
- package/dist/src/services/loopbackAddress/index.mjs +56 -0
- package/dist/src/services/loopbackAddress/index.mjs.map +1 -0
- package/dist/src/services/openSessionRegistry/index.cjs +144 -0
- package/dist/src/services/openSessionRegistry/index.cjs.map +1 -0
- package/dist/src/services/openSessionRegistry/index.d.mts +40 -0
- package/dist/src/services/openSessionRegistry/index.d.mts.map +1 -0
- package/dist/src/services/openSessionRegistry/index.mjs +141 -0
- package/dist/src/services/openSessionRegistry/index.mjs.map +1 -0
- package/dist/src/services/packageApiHarness/index.cjs +36 -0
- package/dist/src/services/packageApiHarness/index.cjs.map +1 -0
- package/dist/src/services/packageApiHarness/index.d.mts +40 -0
- package/dist/src/services/packageApiHarness/index.d.mts.map +1 -0
- package/dist/src/services/packageApiHarness/index.mjs +36 -0
- package/dist/src/services/packageApiHarness/index.mjs.map +1 -0
- package/dist/src/services/packageResource/index.cjs +54 -0
- package/dist/src/services/packageResource/index.cjs.map +1 -0
- package/dist/src/services/packageResource/index.d.mts +26 -0
- package/dist/src/services/packageResource/index.d.mts.map +1 -0
- package/dist/src/services/packageResource/index.mjs +51 -0
- package/dist/src/services/packageResource/index.mjs.map +1 -0
- package/dist/src/services/pairingFlow/index.cjs +145 -0
- package/dist/src/services/pairingFlow/index.cjs.map +1 -0
- package/dist/src/services/pairingFlow/index.d.mts +44 -0
- package/dist/src/services/pairingFlow/index.d.mts.map +1 -0
- package/dist/src/services/pairingFlow/index.mjs +145 -0
- package/dist/src/services/pairingFlow/index.mjs.map +1 -0
- package/dist/src/services/pairingPage/index.cjs +450 -0
- package/dist/src/services/pairingPage/index.cjs.map +1 -0
- package/dist/src/services/pairingPage/index.mjs +447 -0
- package/dist/src/services/pairingPage/index.mjs.map +1 -0
- package/dist/src/services/piExtensionHost/index.cjs +821 -0
- package/dist/src/services/piExtensionHost/index.cjs.map +1 -0
- package/dist/src/services/piExtensionHost/index.mjs +817 -0
- package/dist/src/services/piExtensionHost/index.mjs.map +1 -0
- package/dist/src/services/piHelpTools/index.cjs +68 -0
- package/dist/src/services/piHelpTools/index.cjs.map +1 -0
- package/dist/src/services/piHelpTools/index.d.mts +10 -0
- package/dist/src/services/piHelpTools/index.d.mts.map +1 -0
- package/dist/src/services/piHelpTools/index.mjs +68 -0
- package/dist/src/services/piHelpTools/index.mjs.map +1 -0
- package/dist/src/services/piSessionEntries/index.cjs +112 -0
- package/dist/src/services/piSessionEntries/index.cjs.map +1 -0
- package/dist/src/services/piSessionEntries/index.mjs +108 -0
- package/dist/src/services/piSessionEntries/index.mjs.map +1 -0
- package/dist/src/services/pluginLifecycle/index.cjs +71 -0
- package/dist/src/services/pluginLifecycle/index.cjs.map +1 -0
- package/dist/src/services/pluginLifecycle/index.d.mts +11 -0
- package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -0
- package/dist/src/services/pluginLifecycle/index.mjs +71 -0
- package/dist/src/services/pluginLifecycle/index.mjs.map +1 -0
- package/dist/src/services/providerAuth/index.cjs +156 -0
- package/dist/src/services/providerAuth/index.cjs.map +1 -0
- package/dist/src/services/providerAuth/index.mjs +154 -0
- package/dist/src/services/providerAuth/index.mjs.map +1 -0
- package/dist/src/services/remoteAccess/index.cjs +396 -0
- package/dist/src/services/remoteAccess/index.cjs.map +1 -0
- package/dist/src/services/remoteAccess/index.d.mts +81 -0
- package/dist/src/services/remoteAccess/index.d.mts.map +1 -0
- package/dist/src/services/remoteAccess/index.mjs +396 -0
- package/dist/src/services/remoteAccess/index.mjs.map +1 -0
- package/dist/src/services/remoteAccessSettings/index.cjs +151 -0
- package/dist/src/services/remoteAccessSettings/index.cjs.map +1 -0
- package/dist/src/services/remoteAccessSettings/index.mjs +149 -0
- package/dist/src/services/remoteAccessSettings/index.mjs.map +1 -0
- package/dist/src/services/remoteAccessStore/index.cjs +126 -0
- package/dist/src/services/remoteAccessStore/index.cjs.map +1 -0
- package/dist/src/services/remoteAccessStore/index.mjs +121 -0
- package/dist/src/services/remoteAccessStore/index.mjs.map +1 -0
- package/dist/src/services/remoteGuardPolicy/index.cjs +190 -0
- package/dist/src/services/remoteGuardPolicy/index.cjs.map +1 -0
- package/dist/src/services/remoteGuardPolicy/index.d.mts +7 -0
- package/dist/src/services/remoteGuardPolicy/index.d.mts.map +1 -0
- package/dist/src/services/remoteGuardPolicy/index.mjs +186 -0
- package/dist/src/services/remoteGuardPolicy/index.mjs.map +1 -0
- package/dist/src/services/requestReceipts/index.cjs +161 -0
- package/dist/src/services/requestReceipts/index.cjs.map +1 -0
- package/dist/src/services/requestReceipts/index.d.mts +11 -0
- package/dist/src/services/requestReceipts/index.d.mts.map +1 -0
- package/dist/src/services/requestReceipts/index.mjs +161 -0
- package/dist/src/services/requestReceipts/index.mjs.map +1 -0
- package/dist/src/services/rpcTranscript/index.cjs +590 -0
- package/dist/src/services/rpcTranscript/index.cjs.map +1 -0
- package/dist/src/services/rpcTranscript/index.d.mts +50 -0
- package/dist/src/services/rpcTranscript/index.d.mts.map +1 -0
- package/dist/src/services/rpcTranscript/index.mjs +589 -0
- package/dist/src/services/rpcTranscript/index.mjs.map +1 -0
- package/dist/src/services/serverFacet/index.cjs +197 -0
- package/dist/src/services/serverFacet/index.cjs.map +1 -0
- package/dist/src/services/serverFacet/index.d.mts +31 -0
- package/dist/src/services/serverFacet/index.d.mts.map +1 -0
- package/dist/src/services/serverFacet/index.mjs +197 -0
- package/dist/src/services/serverFacet/index.mjs.map +1 -0
- package/dist/src/services/sessionGitStatus/index.cjs +46 -0
- package/dist/src/services/sessionGitStatus/index.cjs.map +1 -0
- package/dist/src/services/sessionGitStatus/index.mjs +46 -0
- package/dist/src/services/sessionGitStatus/index.mjs.map +1 -0
- package/dist/src/services/sessionGitStatus/type.d.mts +8 -0
- package/dist/src/services/sessionGitStatus/type.d.mts.map +1 -0
- package/dist/src/services/sessionMcpActivity/index.cjs +115 -0
- package/dist/src/services/sessionMcpActivity/index.cjs.map +1 -0
- package/dist/src/services/sessionMcpActivity/index.mjs +111 -0
- package/dist/src/services/sessionMcpActivity/index.mjs.map +1 -0
- package/dist/src/services/sessionMcpAuthorization/index.cjs +432 -0
- package/dist/src/services/sessionMcpAuthorization/index.cjs.map +1 -0
- package/dist/src/services/sessionMcpAuthorization/index.d.mts +123 -0
- package/dist/src/services/sessionMcpAuthorization/index.d.mts.map +1 -0
- package/dist/src/services/sessionMcpAuthorization/index.mjs +430 -0
- package/dist/src/services/sessionMcpAuthorization/index.mjs.map +1 -0
- package/dist/src/services/sessionMcpConversations/index.cjs +217 -0
- package/dist/src/services/sessionMcpConversations/index.cjs.map +1 -0
- package/dist/src/services/sessionMcpConversations/index.mjs +212 -0
- package/dist/src/services/sessionMcpConversations/index.mjs.map +1 -0
- package/dist/src/services/sessionMcpRegistrationStore/index.cjs +86 -0
- package/dist/src/services/sessionMcpRegistrationStore/index.cjs.map +1 -0
- package/dist/src/services/sessionMcpRegistrationStore/index.mjs +83 -0
- package/dist/src/services/sessionMcpRegistrationStore/index.mjs.map +1 -0
- package/dist/src/services/sessionPresentation/index.cjs +119 -0
- package/dist/src/services/sessionPresentation/index.cjs.map +1 -0
- package/dist/src/services/sessionPresentation/index.mjs +119 -0
- package/dist/src/services/sessionPresentation/index.mjs.map +1 -0
- package/dist/src/services/sqliteSessionHistory/index.cjs +105 -0
- package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -0
- package/dist/src/services/sqliteSessionHistory/index.d.mts +29 -0
- package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -0
- package/dist/src/services/sqliteSessionHistory/index.mjs +100 -0
- package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -0
- package/dist/src/services/sqliteTranscriptReader/index.cjs +70 -0
- package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -0
- package/dist/src/services/sqliteTranscriptReader/index.d.mts +14 -0
- package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -0
- package/dist/src/services/sqliteTranscriptReader/index.mjs +67 -0
- package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -0
- package/dist/src/services/toolCost/index.cjs +47 -0
- package/dist/src/services/toolCost/index.cjs.map +1 -0
- package/dist/src/services/toolCost/index.d.mts +38 -0
- package/dist/src/services/toolCost/index.d.mts.map +1 -0
- package/dist/src/services/toolCost/index.mjs +46 -0
- package/dist/src/services/toolCost/index.mjs.map +1 -0
- package/dist/src/services/toolOverrides/index.cjs +45 -0
- package/dist/src/services/toolOverrides/index.cjs.map +1 -0
- package/dist/src/services/toolOverrides/index.d.mts +6 -0
- package/dist/src/services/toolOverrides/index.d.mts.map +1 -0
- package/dist/src/services/toolOverrides/index.mjs +45 -0
- package/dist/src/services/toolOverrides/index.mjs.map +1 -0
- package/dist/src/services/toolPrompt/index.cjs +13 -0
- package/dist/src/services/toolPrompt/index.cjs.map +1 -0
- package/dist/src/services/toolPrompt/index.mjs +13 -0
- package/dist/src/services/toolPrompt/index.mjs.map +1 -0
- package/dist/src/services/toolSurface/index.cjs +134 -0
- package/dist/src/services/toolSurface/index.cjs.map +1 -0
- package/dist/src/services/toolSurface/index.d.mts +19 -0
- package/dist/src/services/toolSurface/index.d.mts.map +1 -0
- package/dist/src/services/toolSurface/index.mjs +134 -0
- package/dist/src/services/toolSurface/index.mjs.map +1 -0
- package/dist/src/services/traceContext/index.cjs +13 -0
- package/dist/src/services/traceContext/index.cjs.map +1 -0
- package/dist/src/services/traceContext/index.mjs +13 -0
- package/dist/src/services/traceContext/index.mjs.map +1 -0
- package/dist/src/services/transcriptPages/index.cjs +74 -0
- package/dist/src/services/transcriptPages/index.cjs.map +1 -0
- package/dist/src/services/transcriptPages/index.mjs +73 -0
- package/dist/src/services/transcriptPages/index.mjs.map +1 -0
- package/dist/src/services/tunnelOutput/index.cjs +58 -0
- package/dist/src/services/tunnelOutput/index.cjs.map +1 -0
- package/dist/src/services/tunnelOutput/index.mjs +54 -0
- package/dist/src/services/tunnelOutput/index.mjs.map +1 -0
- package/dist/src/services/tunnelProcess/index.cjs +487 -0
- package/dist/src/services/tunnelProcess/index.cjs.map +1 -0
- package/dist/src/services/tunnelProcess/index.mjs +481 -0
- package/dist/src/services/tunnelProcess/index.mjs.map +1 -0
- package/dist/src/services/voiceReloadHandoff/index.cjs +136 -0
- package/dist/src/services/voiceReloadHandoff/index.cjs.map +1 -0
- package/dist/src/services/voiceReloadHandoff/index.d.mts +34 -0
- package/dist/src/services/voiceReloadHandoff/index.d.mts.map +1 -0
- package/dist/src/services/voiceReloadHandoff/index.mjs +135 -0
- package/dist/src/services/voiceReloadHandoff/index.mjs.map +1 -0
- package/dist/src/services/voiceToolsContract/index.cjs +26 -0
- package/dist/src/services/voiceToolsContract/index.cjs.map +1 -0
- package/dist/src/services/voiceToolsContract/index.d.mts +76 -0
- package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -0
- package/dist/src/services/voiceToolsContract/index.mjs +24 -0
- package/dist/src/services/voiceToolsContract/index.mjs.map +1 -0
- package/dist/src/services/webauthn/index.cjs +262 -0
- package/dist/src/services/webauthn/index.cjs.map +1 -0
- package/dist/src/services/webauthn/index.d.mts +39 -0
- package/dist/src/services/webauthn/index.d.mts.map +1 -0
- package/dist/src/services/webauthn/index.mjs +262 -0
- package/dist/src/services/webauthn/index.mjs.map +1 -0
- package/dist/src/services/webauthnPolicy/index.cjs +163 -0
- package/dist/src/services/webauthnPolicy/index.cjs.map +1 -0
- package/dist/src/services/webauthnPolicy/index.d.mts +41 -0
- package/dist/src/services/webauthnPolicy/index.d.mts.map +1 -0
- package/dist/src/services/webauthnPolicy/index.mjs +156 -0
- package/dist/src/services/webauthnPolicy/index.mjs.map +1 -0
- package/dist/src/services/workspaceRegistry/index.cjs +151 -0
- package/dist/src/services/workspaceRegistry/index.cjs.map +1 -0
- package/dist/src/services/workspaceRegistry/index.d.mts +47 -0
- package/dist/src/services/workspaceRegistry/index.d.mts.map +1 -0
- package/dist/src/services/workspaceRegistry/index.mjs +144 -0
- package/dist/src/services/workspaceRegistry/index.mjs.map +1 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +261 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +32 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +254 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -0
- package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +28 -0
- package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +1 -0
- package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +25 -0
- package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +1 -0
- package/dist/src/systems/child/services/childSession/index.cjs +219 -0
- package/dist/src/systems/child/services/childSession/index.cjs.map +1 -0
- package/dist/src/systems/child/services/childSession/index.d.mts +14 -0
- package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -0
- package/dist/src/systems/child/services/childSession/index.mjs +219 -0
- package/dist/src/systems/child/services/childSession/index.mjs.map +1 -0
- package/dist/src/systems/child/types/childSession.cjs +19 -0
- package/dist/src/systems/child/types/childSession.cjs.map +1 -0
- package/dist/src/systems/child/types/childSession.d.mts +148 -0
- package/dist/src/systems/child/types/childSession.d.mts.map +1 -0
- package/dist/src/systems/child/types/childSession.mjs +16 -0
- package/dist/src/systems/child/types/childSession.mjs.map +1 -0
- package/dist/src/systems/main/adapters/headlessHost.cjs +554 -0
- package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -0
- package/dist/src/systems/main/adapters/headlessHost.d.mts +111 -0
- package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -0
- package/dist/src/systems/main/adapters/headlessHost.mjs +552 -0
- package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -0
- package/dist/src/systems/main/adapters/headlessSessionHost.cjs +1293 -0
- package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -0
- package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +14 -0
- package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -0
- package/dist/src/systems/main/adapters/headlessSessionHost.mjs +1288 -0
- package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -0
- package/dist/src/systems/main/types/headlessHost.d.mts +36 -0
- package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -0
- package/dist/src/testing/pi/extensionScenarios.cjs +73 -0
- package/dist/src/testing/pi/extensionScenarios.cjs.map +1 -0
- package/dist/src/testing/pi/extensionScenarios.d.mts +41 -0
- package/dist/src/testing/pi/extensionScenarios.d.mts.map +1 -0
- package/dist/src/testing/pi/extensionScenarios.mjs +73 -0
- package/dist/src/testing/pi/extensionScenarios.mjs.map +1 -0
- package/dist/src/testing/pi/testHost.cjs +398 -0
- package/dist/src/testing/pi/testHost.cjs.map +1 -0
- package/dist/src/testing/pi/testHost.d.mts +160 -0
- package/dist/src/testing/pi/testHost.d.mts.map +1 -0
- package/dist/src/testing/pi/testHost.mjs +398 -0
- package/dist/src/testing/pi/testHost.mjs.map +1 -0
- package/dist/src/types/config.d.mts +20 -0
- package/dist/src/types/config.d.mts.map +1 -0
- package/dist/src/types/kernel.d.mts +69 -0
- package/dist/src/types/kernel.d.mts.map +1 -0
- package/dist/src/types/remote.d.mts +124 -0
- package/dist/src/types/remote.d.mts.map +1 -0
- package/dist/src/types/server/directHarnessRuntime.d.mts +209 -0
- package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -0
- package/dist/src/types/server/session.d.mts +5 -0
- package/dist/src/types/server/session.d.mts.map +1 -0
- package/dist/src/types/server/sessionToolSurface.d.mts +44 -0
- package/dist/src/types/server/sessionToolSurface.d.mts.map +1 -0
- package/dist/src/web/models/globalStore.cjs +23 -0
- package/dist/src/web/models/globalStore.cjs.map +1 -0
- package/dist/src/web/models/globalStore.d.mts +6 -0
- package/dist/src/web/models/globalStore.d.mts.map +1 -0
- package/dist/src/web/models/globalStore.mjs +23 -0
- package/dist/src/web/models/globalStore.mjs.map +1 -0
- package/dist/src/web/models/sessionStore.cjs +56 -0
- package/dist/src/web/models/sessionStore.cjs.map +1 -0
- package/dist/src/web/models/sessionStore.d.mts +14 -0
- package/dist/src/web/models/sessionStore.d.mts.map +1 -0
- package/dist/src/web/models/sessionStore.mjs +56 -0
- package/dist/src/web/models/sessionStore.mjs.map +1 -0
- package/dist/src/web/models/workspaceStore.cjs +50 -0
- package/dist/src/web/models/workspaceStore.cjs.map +1 -0
- package/dist/src/web/models/workspaceStore.d.mts +18 -0
- package/dist/src/web/models/workspaceStore.d.mts.map +1 -0
- package/dist/src/web/models/workspaceStore.mjs +50 -0
- package/dist/src/web/models/workspaceStore.mjs.map +1 -0
- package/dist/src/web/schemas/bundleAssetPolicy.cjs +20 -0
- package/dist/src/web/schemas/bundleAssetPolicy.cjs.map +1 -0
- package/dist/src/web/schemas/bundleAssetPolicy.d.mts +10 -0
- package/dist/src/web/schemas/bundleAssetPolicy.d.mts.map +1 -0
- package/dist/src/web/schemas/bundleAssetPolicy.mjs +18 -0
- package/dist/src/web/schemas/bundleAssetPolicy.mjs.map +1 -0
- package/dist/src/web/schemas/template.cjs +15 -0
- package/dist/src/web/schemas/template.cjs.map +1 -0
- package/dist/src/web/schemas/template.d.mts +6 -0
- package/dist/src/web/schemas/template.d.mts.map +1 -0
- package/dist/src/web/schemas/template.mjs +15 -0
- package/dist/src/web/schemas/template.mjs.map +1 -0
- package/dist/src/web/services/apiClient/index.cjs +156 -0
- package/dist/src/web/services/apiClient/index.cjs.map +1 -0
- package/dist/src/web/services/apiClient/index.d.mts +152 -0
- package/dist/src/web/services/apiClient/index.d.mts.map +1 -0
- package/dist/src/web/services/apiClient/index.mjs +154 -0
- package/dist/src/web/services/apiClient/index.mjs.map +1 -0
- package/dist/src/web/services/apiPaths/index.cjs +83 -0
- package/dist/src/web/services/apiPaths/index.cjs.map +1 -0
- package/dist/src/web/services/apiPaths/index.d.mts +81 -0
- package/dist/src/web/services/apiPaths/index.d.mts.map +1 -0
- package/dist/src/web/services/apiPaths/index.mjs +78 -0
- package/dist/src/web/services/apiPaths/index.mjs.map +1 -0
- package/dist/src/web/services/apiRoutes/index.cjs +47 -0
- package/dist/src/web/services/apiRoutes/index.cjs.map +1 -0
- package/dist/src/web/services/apiRoutes/index.d.mts +21 -0
- package/dist/src/web/services/apiRoutes/index.d.mts.map +1 -0
- package/dist/src/web/services/apiRoutes/index.mjs +43 -0
- package/dist/src/web/services/apiRoutes/index.mjs.map +1 -0
- package/dist/src/web/services/mcpWidget.cjs +9 -0
- package/dist/src/web/services/mcpWidget.cjs.map +1 -0
- package/dist/src/web/services/mcpWidget.d.mts +6 -0
- package/dist/src/web/services/mcpWidget.d.mts.map +1 -0
- package/dist/src/web/services/mcpWidget.mjs +9 -0
- package/dist/src/web/services/mcpWidget.mjs.map +1 -0
- package/dist/src/web/services/sessionRegistry/index.cjs +70 -0
- package/dist/src/web/services/sessionRegistry/index.cjs.map +1 -0
- package/dist/src/web/services/sessionRegistry/index.d.mts +29 -0
- package/dist/src/web/services/sessionRegistry/index.d.mts.map +1 -0
- package/dist/src/web/services/sessionRegistry/index.mjs +66 -0
- package/dist/src/web/services/sessionRegistry/index.mjs.map +1 -0
- package/dist/src/web/services/testing/channels.cjs +11 -0
- package/dist/src/web/services/testing/channels.cjs.map +1 -0
- package/dist/src/web/services/testing/channels.d.mts +8 -0
- package/dist/src/web/services/testing/channels.d.mts.map +1 -0
- package/dist/src/web/services/testing/channels.mjs +11 -0
- package/dist/src/web/services/testing/channels.mjs.map +1 -0
- package/dist/src/web/services/testing/index.cjs +27 -0
- package/dist/src/web/services/testing/index.cjs.map +1 -0
- package/dist/src/web/services/testing/index.d.mts +31 -0
- package/dist/src/web/services/testing/index.d.mts.map +1 -0
- package/dist/src/web/services/testing/index.mjs +27 -0
- package/dist/src/web/services/testing/index.mjs.map +1 -0
- package/dist/src/web/services/testing/rpcStub.cjs +58 -0
- package/dist/src/web/services/testing/rpcStub.cjs.map +1 -0
- package/dist/src/web/services/testing/rpcStub.d.mts +37 -0
- package/dist/src/web/services/testing/rpcStub.d.mts.map +1 -0
- package/dist/src/web/services/testing/rpcStub.mjs +58 -0
- package/dist/src/web/services/testing/rpcStub.mjs.map +1 -0
- package/dist/src/web/services/testing/slotProps.cjs +91 -0
- package/dist/src/web/services/testing/slotProps.cjs.map +1 -0
- package/dist/src/web/services/testing/slotProps.d.mts +69 -0
- package/dist/src/web/services/testing/slotProps.d.mts.map +1 -0
- package/dist/src/web/services/testing/slotProps.mjs +90 -0
- package/dist/src/web/services/testing/slotProps.mjs.map +1 -0
- package/dist/src/web/services/testing/templateRail.cjs +128 -0
- package/dist/src/web/services/testing/templateRail.cjs.map +1 -0
- package/dist/src/web/services/testing/templateRail.d.mts +31 -0
- package/dist/src/web/services/testing/templateRail.d.mts.map +1 -0
- package/dist/src/web/services/testing/templateRail.mjs +126 -0
- package/dist/src/web/services/testing/templateRail.mjs.map +1 -0
- package/dist/src/web/services/toolResult/index.cjs +30 -0
- package/dist/src/web/services/toolResult/index.cjs.map +1 -0
- package/dist/src/web/services/toolResult/index.d.mts +14 -0
- package/dist/src/web/services/toolResult/index.d.mts.map +1 -0
- package/dist/src/web/services/toolResult/index.mjs +29 -0
- package/dist/src/web/services/toolResult/index.mjs.map +1 -0
- package/dist/src/web/types/extensionFile.d.mts +59 -0
- package/dist/src/web/types/extensionFile.d.mts.map +1 -0
- package/dist/src/web/types/mcpWidget.d.mts +14 -0
- package/dist/src/web/types/mcpWidget.d.mts.map +1 -0
- package/dist/src/web/types/modelContext.d.mts +43 -0
- package/dist/src/web/types/modelContext.d.mts.map +1 -0
- package/dist/src/web/types/sessionRegistry.d.mts +43 -0
- package/dist/src/web/types/sessionRegistry.d.mts.map +1 -0
- package/dist/src/web/types/template.d.mts +155 -0
- package/dist/src/web/types/template.d.mts.map +1 -0
- package/dist/src/web/types/webPlugin.d.mts +896 -0
- package/dist/src/web/types/webPlugin.d.mts.map +1 -0
- package/dist/syncLocation.cjs +244 -0
- package/dist/syncLocation.cjs.map +1 -0
- package/dist/syncLocation.d.mts +37 -0
- package/dist/syncLocation.d.mts.map +1 -0
- package/dist/syncLocation.mjs +231 -0
- package/dist/syncLocation.mjs.map +1 -0
- package/dist/syncRegistration.cjs +171 -0
- package/dist/syncRegistration.cjs.map +1 -0
- package/dist/syncRegistration.d.mts +48 -0
- package/dist/syncRegistration.d.mts.map +1 -0
- package/dist/syncRegistration.mjs +159 -0
- package/dist/syncRegistration.mjs.map +1 -0
- package/dist/syncStateContract.cjs +19 -0
- package/dist/syncStateContract.cjs.map +1 -0
- package/dist/syncStateContract.d.mts +14 -0
- package/dist/syncStateContract.d.mts.map +1 -0
- package/dist/syncStateContract.mjs +16 -0
- package/dist/syncStateContract.mjs.map +1 -0
- package/dist/terminalPiChildSessionService.cjs +267 -0
- package/dist/terminalPiChildSessionService.cjs.map +1 -0
- package/dist/terminalPiChildSessionService.d.mts +42 -0
- package/dist/terminalPiChildSessionService.d.mts.map +1 -0
- package/dist/terminalPiChildSessionService.mjs +260 -0
- package/dist/terminalPiChildSessionService.mjs.map +1 -0
- package/dist/testing.cjs +11 -0
- package/dist/testing.d.mts +6 -0
- package/dist/testing.mjs +6 -0
- package/dist/toolInventory.cjs +136 -0
- package/dist/toolInventory.cjs.map +1 -0
- package/dist/toolInventory.d.mts +66 -0
- package/dist/toolInventory.d.mts.map +1 -0
- package/dist/toolInventory.mjs +133 -0
- package/dist/toolInventory.mjs.map +1 -0
- package/dist/toolNames.cjs +4 -0
- package/dist/toolNames.d.mts +2 -0
- package/dist/toolNames.mjs +2 -0
- package/dist/toolOverrides.cjs +7 -0
- package/dist/toolOverrides.d.mts +3 -0
- package/dist/toolOverrides.mjs +3 -0
- package/dist/toolSurface.cjs +7 -0
- package/dist/toolSurface.d.mts +3 -0
- package/dist/toolSurface.mjs +3 -0
- package/dist/transition.cjs +5 -0
- package/dist/transition.d.cjs +5 -0
- package/dist/transition.d.mts +2 -0
- package/dist/transition.mjs +2 -0
- package/dist/transitionClassifier.cjs +112 -0
- package/dist/transitionClassifier.cjs.map +1 -0
- package/dist/transitionClassifier.d.mts +18 -0
- package/dist/transitionClassifier.d.mts.map +1 -0
- package/dist/transitionClassifier.mjs +111 -0
- package/dist/transitionClassifier.mjs.map +1 -0
- package/dist/transitionCoordinator.cjs +131 -0
- package/dist/transitionCoordinator.cjs.map +1 -0
- package/dist/transitionCoordinator.d.mts +16 -0
- package/dist/transitionCoordinator.d.mts.map +1 -0
- package/dist/transitionCoordinator.mjs +130 -0
- package/dist/transitionCoordinator.mjs.map +1 -0
- package/dist/typesContextApi.cjs +0 -0
- package/dist/typesContextApi.d.mts +73 -0
- package/dist/typesContextApi.d.mts.map +1 -0
- package/dist/typesContextApi.mjs +1 -0
- package/dist/uiHub.cjs +5 -0
- package/dist/uiHub.d.mts +2 -0
- package/dist/uiHub.mjs +2 -0
- package/dist/v3Export.cjs +1004 -0
- package/dist/v3Export.cjs.map +1 -0
- package/dist/v3Export.d.mts +34 -0
- package/dist/v3Export.d.mts.map +1 -0
- package/dist/v3Export.mjs +1000 -0
- package/dist/v3Export.mjs.map +1 -0
- package/dist/voiceReloadHandoff.cjs +14 -0
- package/dist/voiceReloadHandoff.d.mts +4 -0
- package/dist/voiceReloadHandoff.mjs +4 -0
- package/dist/voiceTools.cjs +56 -0
- package/dist/voiceTools.d.mts +4 -0
- package/dist/voiceTools.mjs +4 -0
- package/dist/web.cjs +64 -0
- package/dist/web.d.mts +19 -0
- package/dist/web.mjs +13 -0
- package/dist/webCompositions.cjs +100 -0
- package/dist/webCompositions.cjs.map +1 -0
- package/dist/webCompositions.d.mts +20 -0
- package/dist/webCompositions.d.mts.map +1 -0
- package/dist/webCompositions.mjs +95 -0
- package/dist/webCompositions.mjs.map +1 -0
- package/dist/webTesting.cjs +14 -0
- package/dist/webTesting.d.mts +6 -0
- package/dist/webTesting.mjs +6 -0
- package/package.json +616 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_runtimeJson = require("./runtimeJson.cjs");
|
|
4
|
+
const require_doomPackage = require("./doomPackage.cjs");
|
|
5
|
+
let node_os = require("node:os");
|
|
6
|
+
node_os = require_runtime.__toESM(node_os, 1);
|
|
7
|
+
let node_path = require("node:path");
|
|
8
|
+
node_path = require_runtime.__toESM(node_path, 1);
|
|
9
|
+
//#region src/services/piSettings/index.ts
|
|
10
|
+
/**
|
|
11
|
+
* Pi's user settings, as `doompi sync` maintains them.
|
|
12
|
+
*
|
|
13
|
+
* The Doom package is registered globally so a plain `pi` process can find the
|
|
14
|
+
* lightweight package bootstrap before project resources are trusted. Sync owns
|
|
15
|
+
* the extension registration, ambient-discovery filter, theme resource, selected default theme, and quiet-startup keys
|
|
16
|
+
* while preserving every unrelated user setting.
|
|
17
|
+
*/
|
|
18
|
+
const PI_CODING_AGENT_DIR_ENV = "PI_CODING_AGENT_DIR";
|
|
19
|
+
const PI_DIRECTORY = ".pi";
|
|
20
|
+
const AGENT_DIRECTORY = "agent";
|
|
21
|
+
const SETTINGS_FILE = "settings.json";
|
|
22
|
+
const THEMES_DIRECTORY = "themes";
|
|
23
|
+
const EXTENSIONS_KEY = "extensions";
|
|
24
|
+
const THEMES_KEY = "themes";
|
|
25
|
+
const THEME_KEY = "theme";
|
|
26
|
+
const QUIET_STARTUP_KEY = "quietStartup";
|
|
27
|
+
const HOME_ALIAS = "~";
|
|
28
|
+
const HOME_ALIAS_PREFIX = "~/";
|
|
29
|
+
/** The stable package entry Pi loads for every synced repository. */
|
|
30
|
+
const DOOM_EXTENSION = require_doomPackage.DOOM_PACKAGE_NAME;
|
|
31
|
+
/** Suppresses Pi's ambient extension-directory scan while leaving explicit sources intact. */
|
|
32
|
+
const AMBIENT_EXTENSION_FILTER = "!extensions/**";
|
|
33
|
+
/**
|
|
34
|
+
* Pi built-in extensions kept off under DoomPi. doompi-mcp owns `/mcp` and MCP servers. Codemode and
|
|
35
|
+
* tool search are opt-in in plain Pi, but DoomPi activates every registered tool, so leaving them
|
|
36
|
+
* loaded would declare both to the model in every session.
|
|
37
|
+
*/
|
|
38
|
+
const DISABLED_PI_BUILTINS = [
|
|
39
|
+
"-builtin:mcp",
|
|
40
|
+
"-builtin:codemode",
|
|
41
|
+
"-builtin:tool-search"
|
|
42
|
+
];
|
|
43
|
+
/** Pi's user configuration directory, honoring its documented override. */
|
|
44
|
+
function piAgentDirectory(environment = process.env, homeDirectory = node_os.default.homedir()) {
|
|
45
|
+
const configured = environment[PI_CODING_AGENT_DIR_ENV]?.trim();
|
|
46
|
+
if (!configured) return node_path.default.join(homeDirectory, PI_DIRECTORY, AGENT_DIRECTORY);
|
|
47
|
+
if (configured === HOME_ALIAS) return homeDirectory;
|
|
48
|
+
if (configured.startsWith(HOME_ALIAS_PREFIX)) return node_path.default.join(homeDirectory, configured.slice(2));
|
|
49
|
+
return node_path.default.resolve(configured);
|
|
50
|
+
}
|
|
51
|
+
function piSettingsPath(agentDirectory) {
|
|
52
|
+
return node_path.default.join(agentDirectory, SETTINGS_FILE);
|
|
53
|
+
}
|
|
54
|
+
function piThemeDirectory(agentDirectory) {
|
|
55
|
+
return node_path.default.join(agentDirectory, THEMES_DIRECTORY);
|
|
56
|
+
}
|
|
57
|
+
function stringList(value) {
|
|
58
|
+
return Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : [];
|
|
59
|
+
}
|
|
60
|
+
function settingsRelativePath(agentDirectory, target) {
|
|
61
|
+
const relative = node_path.default.relative(agentDirectory, target);
|
|
62
|
+
if (relative.startsWith("..") || node_path.default.isAbsolute(relative)) return target;
|
|
63
|
+
return relative.split(node_path.default.sep).join("/");
|
|
64
|
+
}
|
|
65
|
+
function isManagedExtension(value) {
|
|
66
|
+
const normalized = value.replaceAll("\\", "/");
|
|
67
|
+
return normalized === DOOM_EXTENSION || normalized === "!extensions/**" || DISABLED_PI_BUILTINS.includes(normalized);
|
|
68
|
+
}
|
|
69
|
+
function isLegacyDoomTheme(value, themeName) {
|
|
70
|
+
const normalized = value.replaceAll("\\", "/");
|
|
71
|
+
return normalized.endsWith(`/doom/${themeName}.json`) || normalized === `doom/${themeName}.json`;
|
|
72
|
+
}
|
|
73
|
+
/** Produces the user settings content for an update, without writing it. */
|
|
74
|
+
function mergePiSettings(current, agentDirectory, update) {
|
|
75
|
+
const theme = settingsRelativePath(agentDirectory, update.themePath);
|
|
76
|
+
const extensions = [
|
|
77
|
+
DOOM_EXTENSION,
|
|
78
|
+
AMBIENT_EXTENSION_FILTER,
|
|
79
|
+
...DISABLED_PI_BUILTINS,
|
|
80
|
+
...stringList(current[EXTENSIONS_KEY]).filter((value) => !isManagedExtension(value))
|
|
81
|
+
];
|
|
82
|
+
const themes = [theme, ...stringList(current[THEMES_KEY]).filter((value) => value !== theme && !isLegacyDoomTheme(value, update.themeName))];
|
|
83
|
+
return {
|
|
84
|
+
...current,
|
|
85
|
+
[QUIET_STARTUP_KEY]: true,
|
|
86
|
+
[EXTENSIONS_KEY]: extensions,
|
|
87
|
+
[THEMES_KEY]: themes,
|
|
88
|
+
[THEME_KEY]: typeof current[THEME_KEY] === "string" ? current[THEME_KEY] : update.themeName
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function readPiSettings(agentDirectory) {
|
|
92
|
+
const settings = require_runtimeJson.readJson(piSettingsPath(agentDirectory));
|
|
93
|
+
return require_runtimeJson.isRecord(settings) ? settings : {};
|
|
94
|
+
}
|
|
95
|
+
function serializePiSettings(settings) {
|
|
96
|
+
return `${JSON.stringify(settings, null, 2)}\n`;
|
|
97
|
+
}
|
|
98
|
+
/** Merges the Doom-owned keys into Pi's user settings file. */
|
|
99
|
+
function writePiSettings(agentDirectory, update) {
|
|
100
|
+
const settingsPath = piSettingsPath(agentDirectory);
|
|
101
|
+
require_runtimeJson.writeFileAtomic(settingsPath, serializePiSettings(mergePiSettings(readPiSettings(agentDirectory), agentDirectory, update)));
|
|
102
|
+
return settingsPath;
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
exports.AMBIENT_EXTENSION_FILTER = AMBIENT_EXTENSION_FILTER;
|
|
106
|
+
exports.DISABLED_PI_BUILTINS = DISABLED_PI_BUILTINS;
|
|
107
|
+
exports.DOOM_EXTENSION = DOOM_EXTENSION;
|
|
108
|
+
exports.mergePiSettings = mergePiSettings;
|
|
109
|
+
exports.piAgentDirectory = piAgentDirectory;
|
|
110
|
+
exports.piSettingsPath = piSettingsPath;
|
|
111
|
+
exports.piThemeDirectory = piThemeDirectory;
|
|
112
|
+
exports.readPiSettings = readPiSettings;
|
|
113
|
+
exports.serializePiSettings = serializePiSettings;
|
|
114
|
+
exports.writePiSettings = writePiSettings;
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=runtimePiSettings.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimePiSettings.cjs","names":["DOOM_PACKAGE_NAME","os","path","readJson","isRecord"],"sources":["../src/services/piSettings/index.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\n\nimport { DOOM_PACKAGE_NAME } from '../doomPackage';\nimport { isRecord, readJson, writeFileAtomic } from '../json';\nimport type { JsonObject } from '../json';\n\n/**\n * Pi's user settings, as `doompi sync` maintains them.\n *\n * The Doom package is registered globally so a plain `pi` process can find the\n * lightweight package bootstrap before project resources are trusted. Sync owns\n * the extension registration, ambient-discovery filter, theme resource, selected default theme, and quiet-startup keys\n * while preserving every unrelated user setting.\n */\n\nconst PI_CODING_AGENT_DIR_ENV = 'PI_CODING_AGENT_DIR';\nconst PI_DIRECTORY = '.pi';\nconst AGENT_DIRECTORY = 'agent';\nconst SETTINGS_FILE = 'settings.json';\nconst THEMES_DIRECTORY = 'themes';\nconst EXTENSIONS_KEY = 'extensions';\nconst THEMES_KEY = 'themes';\nconst THEME_KEY = 'theme';\nconst QUIET_STARTUP_KEY = 'quietStartup';\nconst HOME_ALIAS = '~';\nconst HOME_ALIAS_PREFIX = '~/';\n/** The stable package entry Pi loads for every synced repository. */\nexport const DOOM_EXTENSION = DOOM_PACKAGE_NAME;\n/** Suppresses Pi's ambient extension-directory scan while leaving explicit sources intact. */\nexport const AMBIENT_EXTENSION_FILTER = '!extensions/**';\n/**\n * Pi built-in extensions kept off under DoomPi. doompi-mcp owns `/mcp` and MCP servers. Codemode and\n * tool search are opt-in in plain Pi, but DoomPi activates every registered tool, so leaving them\n * loaded would declare both to the model in every session.\n */\nexport const DISABLED_PI_BUILTINS: readonly string[] = ['-builtin:mcp', '-builtin:codemode', '-builtin:tool-search'];\nexport interface PiSettingsUpdate {\n /** Absolute path to the synchronized user theme file. */\n themePath: string;\n themeName: string;\n}\n\n/** Pi's user configuration directory, honoring its documented override. */\nexport function piAgentDirectory(\n environment: NodeJS.ProcessEnv = process.env,\n homeDirectory: string = os.homedir(),\n): string {\n const configured = environment[PI_CODING_AGENT_DIR_ENV]?.trim();\n if (!configured) return path.join(homeDirectory, PI_DIRECTORY, AGENT_DIRECTORY);\n if (configured === HOME_ALIAS) return homeDirectory;\n if (configured.startsWith(HOME_ALIAS_PREFIX)) {\n return path.join(homeDirectory, configured.slice(HOME_ALIAS_PREFIX.length));\n }\n return path.resolve(configured);\n}\n\nexport function piSettingsPath(agentDirectory: string): string {\n return path.join(agentDirectory, SETTINGS_FILE);\n}\n\nexport function piThemeDirectory(agentDirectory: string): string {\n return path.join(agentDirectory, THEMES_DIRECTORY);\n}\n\nfunction stringList(value: unknown): string[] {\n return Array.isArray(value) ? value.filter((entry): entry is string => typeof entry === 'string') : [];\n}\n\nfunction settingsRelativePath(agentDirectory: string, target: string): string {\n const relative = path.relative(agentDirectory, target);\n if (relative.startsWith('..') || path.isAbsolute(relative)) return target;\n return relative.split(path.sep).join('/');\n}\n\nfunction isManagedExtension(value: string): boolean {\n const normalized = value.replaceAll('\\\\', '/');\n return (\n normalized === DOOM_EXTENSION ||\n normalized === AMBIENT_EXTENSION_FILTER ||\n DISABLED_PI_BUILTINS.includes(normalized)\n );\n}\n\nfunction isLegacyDoomTheme(value: string, themeName: string): boolean {\n const normalized = value.replaceAll('\\\\', '/');\n return normalized.endsWith(`/doom/${themeName}.json`) || normalized === `doom/${themeName}.json`;\n}\n\n/** Produces the user settings content for an update, without writing it. */\nexport function mergePiSettings(current: JsonObject, agentDirectory: string, update: PiSettingsUpdate): JsonObject {\n const theme = settingsRelativePath(agentDirectory, update.themePath);\n // First in the list, so the harness environment is hydrated before any\n // extension a user added themselves runs. The filter affects only Pi's\n // automatic extensions/** scan; explicit settings and CLI entries still load.\n const extensions = [\n DOOM_EXTENSION,\n AMBIENT_EXTENSION_FILTER,\n ...DISABLED_PI_BUILTINS,\n ...stringList(current[EXTENSIONS_KEY]).filter((value) => !isManagedExtension(value)),\n ];\n const themes = [\n theme,\n ...stringList(current[THEMES_KEY]).filter(\n (value) => value !== theme && !isLegacyDoomTheme(value, update.themeName),\n ),\n ];\n return {\n ...current,\n [QUIET_STARTUP_KEY]: true,\n [EXTENSIONS_KEY]: extensions,\n [THEMES_KEY]: themes,\n // Only filled in when unset: a theme the user picked later is their choice,\n // and re-imposing the Doom theme on every sync would silently undo it.\n [THEME_KEY]: typeof current[THEME_KEY] === 'string' ? current[THEME_KEY] : update.themeName,\n };\n}\n\nexport function readPiSettings(agentDirectory: string): JsonObject {\n const settings = readJson(piSettingsPath(agentDirectory));\n return isRecord(settings) ? settings : {};\n}\n\nexport function serializePiSettings(settings: JsonObject): string {\n return `${JSON.stringify(settings, null, 2)}\\n`;\n}\n\n/** Merges the Doom-owned keys into Pi's user settings file. */\nexport function writePiSettings(agentDirectory: string, update: PiSettingsUpdate): string {\n const settingsPath = piSettingsPath(agentDirectory);\n writeFileAtomic(\n settingsPath,\n serializePiSettings(mergePiSettings(readPiSettings(agentDirectory), agentDirectory, update)),\n );\n return settingsPath;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAgBA,MAAM,0BAA0B;AAChC,MAAM,eAAe;AACrB,MAAM,kBAAkB;AACxB,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;AACzB,MAAM,iBAAiB;AACvB,MAAM,aAAa;AACnB,MAAM,YAAY;AAClB,MAAM,oBAAoB;AAC1B,MAAM,aAAa;AACnB,MAAM,oBAAoB;;AAE1B,MAAa,iBAAiBA,oBAAAA;;AAE9B,MAAa,2BAA2B;;;;;;AAMxC,MAAa,uBAA0C;CAAC;CAAgB;CAAqB;AAAsB;;AAQnH,SAAgB,iBACd,cAAiC,QAAQ,KACzC,gBAAwBC,QAAAA,QAAG,QAAQ,GAC3B;CACR,MAAM,aAAa,YAAY,wBAAwB,EAAE,KAAK;CAC9D,IAAI,CAAC,YAAY,OAAOC,UAAAA,QAAK,KAAK,eAAe,cAAc,eAAe;CAC9E,IAAI,eAAe,YAAY,OAAO;CACtC,IAAI,WAAW,WAAW,iBAAiB,GACzC,OAAOA,UAAAA,QAAK,KAAK,eAAe,WAAW,MAAM,CAAwB,CAAC;CAE5E,OAAOA,UAAAA,QAAK,QAAQ,UAAU;AAChC;AAEA,SAAgB,eAAe,gBAAgC;CAC7D,OAAOA,UAAAA,QAAK,KAAK,gBAAgB,aAAa;AAChD;AAEA,SAAgB,iBAAiB,gBAAgC;CAC/D,OAAOA,UAAAA,QAAK,KAAK,gBAAgB,gBAAgB;AACnD;AAEA,SAAS,WAAW,OAA0B;CAC5C,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,QAAQ,UAA2B,OAAO,UAAU,QAAQ,IAAI,CAAC;AACvG;AAEA,SAAS,qBAAqB,gBAAwB,QAAwB;CAC5E,MAAM,WAAWA,UAAAA,QAAK,SAAS,gBAAgB,MAAM;CACrD,IAAI,SAAS,WAAW,IAAI,KAAKA,UAAAA,QAAK,WAAW,QAAQ,GAAG,OAAO;CACnE,OAAO,SAAS,MAAMA,UAAAA,QAAK,GAAG,CAAC,CAAC,KAAK,GAAG;AAC1C;AAEA,SAAS,mBAAmB,OAAwB;CAClD,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG;CAC7C,OACE,eAAe,kBACf,eAAA,oBACA,qBAAqB,SAAS,UAAU;AAE5C;AAEA,SAAS,kBAAkB,OAAe,WAA4B;CACpE,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG;CAC7C,OAAO,WAAW,SAAS,SAAS,UAAU,MAAM,KAAK,eAAe,QAAQ,UAAU;AAC5F;;AAGA,SAAgB,gBAAgB,SAAqB,gBAAwB,QAAsC;CACjH,MAAM,QAAQ,qBAAqB,gBAAgB,OAAO,SAAS;CAInE,MAAM,aAAa;EACjB;EACA;EACA,GAAG;EACH,GAAG,WAAW,QAAQ,eAAe,CAAC,CAAC,QAAQ,UAAU,CAAC,mBAAmB,KAAK,CAAC;CACrF;CACA,MAAM,SAAS,CACb,OACA,GAAG,WAAW,QAAQ,WAAW,CAAC,CAAC,QAChC,UAAU,UAAU,SAAS,CAAC,kBAAkB,OAAO,OAAO,SAAS,CAC1E,CACF;CACA,OAAO;EACL,GAAG;GACF,oBAAoB;GACpB,iBAAiB;GACjB,aAAa;GAGb,YAAY,OAAO,QAAQ,eAAe,WAAW,QAAQ,aAAa,OAAO;CACpF;AACF;AAEA,SAAgB,eAAe,gBAAoC;CACjE,MAAM,WAAWC,oBAAAA,SAAS,eAAe,cAAc,CAAC;CACxD,OAAOC,oBAAAA,SAAS,QAAQ,IAAI,WAAW,CAAC;AAC1C;AAEA,SAAgB,oBAAoB,UAA8B;CAChE,OAAO,GAAG,KAAK,UAAU,UAAU,MAAM,CAAC,EAAE;AAC9C;;AAGA,SAAgB,gBAAgB,gBAAwB,QAAkC;CACxF,MAAM,eAAe,eAAe,cAAc;CAClD,oBAAA,gBACE,cACA,oBAAoB,gBAAgB,eAAe,cAAc,GAAG,gBAAgB,MAAM,CAAC,CAC7F;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { JsonObject } from "./runtimeJson.mjs";
|
|
2
|
+
//#region src/services/piSettings/index.d.ts
|
|
3
|
+
/** The stable package entry Pi loads for every synced repository. */
|
|
4
|
+
export declare const DOOM_EXTENSION = "@agimon-ai/doompi";
|
|
5
|
+
/** Suppresses Pi's ambient extension-directory scan while leaving explicit sources intact. */
|
|
6
|
+
export declare const AMBIENT_EXTENSION_FILTER = "!extensions/**";
|
|
7
|
+
/**
|
|
8
|
+
* Pi built-in extensions kept off under DoomPi. doompi-mcp owns `/mcp` and MCP servers. Codemode and
|
|
9
|
+
* tool search are opt-in in plain Pi, but DoomPi activates every registered tool, so leaving them
|
|
10
|
+
* loaded would declare both to the model in every session.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DISABLED_PI_BUILTINS: readonly string[];
|
|
13
|
+
export interface PiSettingsUpdate {
|
|
14
|
+
/** Absolute path to the synchronized user theme file. */
|
|
15
|
+
themePath: string;
|
|
16
|
+
themeName: string;
|
|
17
|
+
}
|
|
18
|
+
/** Pi's user configuration directory, honoring its documented override. */
|
|
19
|
+
export declare function piAgentDirectory(environment?: NodeJS.ProcessEnv, homeDirectory?: string): string;
|
|
20
|
+
export declare function piSettingsPath(agentDirectory: string): string;
|
|
21
|
+
export declare function piThemeDirectory(agentDirectory: string): string;
|
|
22
|
+
/** Produces the user settings content for an update, without writing it. */
|
|
23
|
+
export declare function mergePiSettings(current: JsonObject, agentDirectory: string, update: PiSettingsUpdate): JsonObject;
|
|
24
|
+
export declare function readPiSettings(agentDirectory: string): JsonObject;
|
|
25
|
+
export declare function serializePiSettings(settings: JsonObject): string;
|
|
26
|
+
/** Merges the Doom-owned keys into Pi's user settings file. */
|
|
27
|
+
export declare function writePiSettings(agentDirectory: string, update: PiSettingsUpdate): string;
|
|
28
|
+
//#endregion
|
|
29
|
+
//# sourceMappingURL=runtimePiSettings.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimePiSettings.d.mts","names":[],"sources":["../src/services/piSettings/index.ts"],"mappings":";;;qBA4Ba;;qBAEA;;;;;;qBAMA;iBACI;;EAEf;EACA;;;wBAIc,iBACd,cAAa,OAAO,YACpB;wBAWc,eAAe;wBAIf,iBAAiB;;wBA6BjB,gBAAgB,SAAS,YAAY,wBAAwB,QAAQ,mBAAmB;wBA4BxF,eAAe,yBAAyB;wBAKxC,oBAAoB,UAAU;;wBAK9B,gBAAgB,wBAAwB,QAAQ"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { isRecord, readJson, writeFileAtomic } from "./runtimeJson.mjs";
|
|
2
|
+
import { DOOM_PACKAGE_NAME } from "./doomPackage.mjs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
//#region src/services/piSettings/index.ts
|
|
6
|
+
/**
|
|
7
|
+
* Pi's user settings, as `doompi sync` maintains them.
|
|
8
|
+
*
|
|
9
|
+
* The Doom package is registered globally so a plain `pi` process can find the
|
|
10
|
+
* lightweight package bootstrap before project resources are trusted. Sync owns
|
|
11
|
+
* the extension registration, ambient-discovery filter, theme resource, selected default theme, and quiet-startup keys
|
|
12
|
+
* while preserving every unrelated user setting.
|
|
13
|
+
*/
|
|
14
|
+
const PI_CODING_AGENT_DIR_ENV = "PI_CODING_AGENT_DIR";
|
|
15
|
+
const PI_DIRECTORY = ".pi";
|
|
16
|
+
const AGENT_DIRECTORY = "agent";
|
|
17
|
+
const SETTINGS_FILE = "settings.json";
|
|
18
|
+
const THEMES_DIRECTORY = "themes";
|
|
19
|
+
const EXTENSIONS_KEY = "extensions";
|
|
20
|
+
const THEMES_KEY = "themes";
|
|
21
|
+
const THEME_KEY = "theme";
|
|
22
|
+
const QUIET_STARTUP_KEY = "quietStartup";
|
|
23
|
+
const HOME_ALIAS = "~";
|
|
24
|
+
const HOME_ALIAS_PREFIX = "~/";
|
|
25
|
+
/** The stable package entry Pi loads for every synced repository. */
|
|
26
|
+
const DOOM_EXTENSION = DOOM_PACKAGE_NAME;
|
|
27
|
+
/** Suppresses Pi's ambient extension-directory scan while leaving explicit sources intact. */
|
|
28
|
+
const AMBIENT_EXTENSION_FILTER = "!extensions/**";
|
|
29
|
+
/**
|
|
30
|
+
* Pi built-in extensions kept off under DoomPi. doompi-mcp owns `/mcp` and MCP servers. Codemode and
|
|
31
|
+
* tool search are opt-in in plain Pi, but DoomPi activates every registered tool, so leaving them
|
|
32
|
+
* loaded would declare both to the model in every session.
|
|
33
|
+
*/
|
|
34
|
+
const DISABLED_PI_BUILTINS = [
|
|
35
|
+
"-builtin:mcp",
|
|
36
|
+
"-builtin:codemode",
|
|
37
|
+
"-builtin:tool-search"
|
|
38
|
+
];
|
|
39
|
+
/** Pi's user configuration directory, honoring its documented override. */
|
|
40
|
+
function piAgentDirectory(environment = process.env, homeDirectory = os.homedir()) {
|
|
41
|
+
const configured = environment[PI_CODING_AGENT_DIR_ENV]?.trim();
|
|
42
|
+
if (!configured) return path.join(homeDirectory, PI_DIRECTORY, AGENT_DIRECTORY);
|
|
43
|
+
if (configured === HOME_ALIAS) return homeDirectory;
|
|
44
|
+
if (configured.startsWith(HOME_ALIAS_PREFIX)) return path.join(homeDirectory, configured.slice(2));
|
|
45
|
+
return path.resolve(configured);
|
|
46
|
+
}
|
|
47
|
+
function piSettingsPath(agentDirectory) {
|
|
48
|
+
return path.join(agentDirectory, SETTINGS_FILE);
|
|
49
|
+
}
|
|
50
|
+
function piThemeDirectory(agentDirectory) {
|
|
51
|
+
return path.join(agentDirectory, THEMES_DIRECTORY);
|
|
52
|
+
}
|
|
53
|
+
function stringList(value) {
|
|
54
|
+
return Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : [];
|
|
55
|
+
}
|
|
56
|
+
function settingsRelativePath(agentDirectory, target) {
|
|
57
|
+
const relative = path.relative(agentDirectory, target);
|
|
58
|
+
if (relative.startsWith("..") || path.isAbsolute(relative)) return target;
|
|
59
|
+
return relative.split(path.sep).join("/");
|
|
60
|
+
}
|
|
61
|
+
function isManagedExtension(value) {
|
|
62
|
+
const normalized = value.replaceAll("\\", "/");
|
|
63
|
+
return normalized === DOOM_EXTENSION || normalized === "!extensions/**" || DISABLED_PI_BUILTINS.includes(normalized);
|
|
64
|
+
}
|
|
65
|
+
function isLegacyDoomTheme(value, themeName) {
|
|
66
|
+
const normalized = value.replaceAll("\\", "/");
|
|
67
|
+
return normalized.endsWith(`/doom/${themeName}.json`) || normalized === `doom/${themeName}.json`;
|
|
68
|
+
}
|
|
69
|
+
/** Produces the user settings content for an update, without writing it. */
|
|
70
|
+
function mergePiSettings(current, agentDirectory, update) {
|
|
71
|
+
const theme = settingsRelativePath(agentDirectory, update.themePath);
|
|
72
|
+
const extensions = [
|
|
73
|
+
DOOM_EXTENSION,
|
|
74
|
+
AMBIENT_EXTENSION_FILTER,
|
|
75
|
+
...DISABLED_PI_BUILTINS,
|
|
76
|
+
...stringList(current[EXTENSIONS_KEY]).filter((value) => !isManagedExtension(value))
|
|
77
|
+
];
|
|
78
|
+
const themes = [theme, ...stringList(current[THEMES_KEY]).filter((value) => value !== theme && !isLegacyDoomTheme(value, update.themeName))];
|
|
79
|
+
return {
|
|
80
|
+
...current,
|
|
81
|
+
[QUIET_STARTUP_KEY]: true,
|
|
82
|
+
[EXTENSIONS_KEY]: extensions,
|
|
83
|
+
[THEMES_KEY]: themes,
|
|
84
|
+
[THEME_KEY]: typeof current[THEME_KEY] === "string" ? current[THEME_KEY] : update.themeName
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function readPiSettings(agentDirectory) {
|
|
88
|
+
const settings = readJson(piSettingsPath(agentDirectory));
|
|
89
|
+
return isRecord(settings) ? settings : {};
|
|
90
|
+
}
|
|
91
|
+
function serializePiSettings(settings) {
|
|
92
|
+
return `${JSON.stringify(settings, null, 2)}\n`;
|
|
93
|
+
}
|
|
94
|
+
/** Merges the Doom-owned keys into Pi's user settings file. */
|
|
95
|
+
function writePiSettings(agentDirectory, update) {
|
|
96
|
+
const settingsPath = piSettingsPath(agentDirectory);
|
|
97
|
+
writeFileAtomic(settingsPath, serializePiSettings(mergePiSettings(readPiSettings(agentDirectory), agentDirectory, update)));
|
|
98
|
+
return settingsPath;
|
|
99
|
+
}
|
|
100
|
+
//#endregion
|
|
101
|
+
export { AMBIENT_EXTENSION_FILTER, DISABLED_PI_BUILTINS, DOOM_EXTENSION, mergePiSettings, piAgentDirectory, piSettingsPath, piThemeDirectory, readPiSettings, serializePiSettings, writePiSettings };
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=runtimePiSettings.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimePiSettings.mjs","names":[],"sources":["../src/services/piSettings/index.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\n\nimport { DOOM_PACKAGE_NAME } from '../doomPackage';\nimport { isRecord, readJson, writeFileAtomic } from '../json';\nimport type { JsonObject } from '../json';\n\n/**\n * Pi's user settings, as `doompi sync` maintains them.\n *\n * The Doom package is registered globally so a plain `pi` process can find the\n * lightweight package bootstrap before project resources are trusted. Sync owns\n * the extension registration, ambient-discovery filter, theme resource, selected default theme, and quiet-startup keys\n * while preserving every unrelated user setting.\n */\n\nconst PI_CODING_AGENT_DIR_ENV = 'PI_CODING_AGENT_DIR';\nconst PI_DIRECTORY = '.pi';\nconst AGENT_DIRECTORY = 'agent';\nconst SETTINGS_FILE = 'settings.json';\nconst THEMES_DIRECTORY = 'themes';\nconst EXTENSIONS_KEY = 'extensions';\nconst THEMES_KEY = 'themes';\nconst THEME_KEY = 'theme';\nconst QUIET_STARTUP_KEY = 'quietStartup';\nconst HOME_ALIAS = '~';\nconst HOME_ALIAS_PREFIX = '~/';\n/** The stable package entry Pi loads for every synced repository. */\nexport const DOOM_EXTENSION = DOOM_PACKAGE_NAME;\n/** Suppresses Pi's ambient extension-directory scan while leaving explicit sources intact. */\nexport const AMBIENT_EXTENSION_FILTER = '!extensions/**';\n/**\n * Pi built-in extensions kept off under DoomPi. doompi-mcp owns `/mcp` and MCP servers. Codemode and\n * tool search are opt-in in plain Pi, but DoomPi activates every registered tool, so leaving them\n * loaded would declare both to the model in every session.\n */\nexport const DISABLED_PI_BUILTINS: readonly string[] = ['-builtin:mcp', '-builtin:codemode', '-builtin:tool-search'];\nexport interface PiSettingsUpdate {\n /** Absolute path to the synchronized user theme file. */\n themePath: string;\n themeName: string;\n}\n\n/** Pi's user configuration directory, honoring its documented override. */\nexport function piAgentDirectory(\n environment: NodeJS.ProcessEnv = process.env,\n homeDirectory: string = os.homedir(),\n): string {\n const configured = environment[PI_CODING_AGENT_DIR_ENV]?.trim();\n if (!configured) return path.join(homeDirectory, PI_DIRECTORY, AGENT_DIRECTORY);\n if (configured === HOME_ALIAS) return homeDirectory;\n if (configured.startsWith(HOME_ALIAS_PREFIX)) {\n return path.join(homeDirectory, configured.slice(HOME_ALIAS_PREFIX.length));\n }\n return path.resolve(configured);\n}\n\nexport function piSettingsPath(agentDirectory: string): string {\n return path.join(agentDirectory, SETTINGS_FILE);\n}\n\nexport function piThemeDirectory(agentDirectory: string): string {\n return path.join(agentDirectory, THEMES_DIRECTORY);\n}\n\nfunction stringList(value: unknown): string[] {\n return Array.isArray(value) ? value.filter((entry): entry is string => typeof entry === 'string') : [];\n}\n\nfunction settingsRelativePath(agentDirectory: string, target: string): string {\n const relative = path.relative(agentDirectory, target);\n if (relative.startsWith('..') || path.isAbsolute(relative)) return target;\n return relative.split(path.sep).join('/');\n}\n\nfunction isManagedExtension(value: string): boolean {\n const normalized = value.replaceAll('\\\\', '/');\n return (\n normalized === DOOM_EXTENSION ||\n normalized === AMBIENT_EXTENSION_FILTER ||\n DISABLED_PI_BUILTINS.includes(normalized)\n );\n}\n\nfunction isLegacyDoomTheme(value: string, themeName: string): boolean {\n const normalized = value.replaceAll('\\\\', '/');\n return normalized.endsWith(`/doom/${themeName}.json`) || normalized === `doom/${themeName}.json`;\n}\n\n/** Produces the user settings content for an update, without writing it. */\nexport function mergePiSettings(current: JsonObject, agentDirectory: string, update: PiSettingsUpdate): JsonObject {\n const theme = settingsRelativePath(agentDirectory, update.themePath);\n // First in the list, so the harness environment is hydrated before any\n // extension a user added themselves runs. The filter affects only Pi's\n // automatic extensions/** scan; explicit settings and CLI entries still load.\n const extensions = [\n DOOM_EXTENSION,\n AMBIENT_EXTENSION_FILTER,\n ...DISABLED_PI_BUILTINS,\n ...stringList(current[EXTENSIONS_KEY]).filter((value) => !isManagedExtension(value)),\n ];\n const themes = [\n theme,\n ...stringList(current[THEMES_KEY]).filter(\n (value) => value !== theme && !isLegacyDoomTheme(value, update.themeName),\n ),\n ];\n return {\n ...current,\n [QUIET_STARTUP_KEY]: true,\n [EXTENSIONS_KEY]: extensions,\n [THEMES_KEY]: themes,\n // Only filled in when unset: a theme the user picked later is their choice,\n // and re-imposing the Doom theme on every sync would silently undo it.\n [THEME_KEY]: typeof current[THEME_KEY] === 'string' ? current[THEME_KEY] : update.themeName,\n };\n}\n\nexport function readPiSettings(agentDirectory: string): JsonObject {\n const settings = readJson(piSettingsPath(agentDirectory));\n return isRecord(settings) ? settings : {};\n}\n\nexport function serializePiSettings(settings: JsonObject): string {\n return `${JSON.stringify(settings, null, 2)}\\n`;\n}\n\n/** Merges the Doom-owned keys into Pi's user settings file. */\nexport function writePiSettings(agentDirectory: string, update: PiSettingsUpdate): string {\n const settingsPath = piSettingsPath(agentDirectory);\n writeFileAtomic(\n settingsPath,\n serializePiSettings(mergePiSettings(readPiSettings(agentDirectory), agentDirectory, update)),\n );\n return settingsPath;\n}\n"],"mappings":";;;;;;;;;;;;;AAgBA,MAAM,0BAA0B;AAChC,MAAM,eAAe;AACrB,MAAM,kBAAkB;AACxB,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;AACzB,MAAM,iBAAiB;AACvB,MAAM,aAAa;AACnB,MAAM,YAAY;AAClB,MAAM,oBAAoB;AAC1B,MAAM,aAAa;AACnB,MAAM,oBAAoB;;AAE1B,MAAa,iBAAiB;;AAE9B,MAAa,2BAA2B;;;;;;AAMxC,MAAa,uBAA0C;CAAC;CAAgB;CAAqB;AAAsB;;AAQnH,SAAgB,iBACd,cAAiC,QAAQ,KACzC,gBAAwB,GAAG,QAAQ,GAC3B;CACR,MAAM,aAAa,YAAY,wBAAwB,EAAE,KAAK;CAC9D,IAAI,CAAC,YAAY,OAAO,KAAK,KAAK,eAAe,cAAc,eAAe;CAC9E,IAAI,eAAe,YAAY,OAAO;CACtC,IAAI,WAAW,WAAW,iBAAiB,GACzC,OAAO,KAAK,KAAK,eAAe,WAAW,MAAM,CAAwB,CAAC;CAE5E,OAAO,KAAK,QAAQ,UAAU;AAChC;AAEA,SAAgB,eAAe,gBAAgC;CAC7D,OAAO,KAAK,KAAK,gBAAgB,aAAa;AAChD;AAEA,SAAgB,iBAAiB,gBAAgC;CAC/D,OAAO,KAAK,KAAK,gBAAgB,gBAAgB;AACnD;AAEA,SAAS,WAAW,OAA0B;CAC5C,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,QAAQ,UAA2B,OAAO,UAAU,QAAQ,IAAI,CAAC;AACvG;AAEA,SAAS,qBAAqB,gBAAwB,QAAwB;CAC5E,MAAM,WAAW,KAAK,SAAS,gBAAgB,MAAM;CACrD,IAAI,SAAS,WAAW,IAAI,KAAK,KAAK,WAAW,QAAQ,GAAG,OAAO;CACnE,OAAO,SAAS,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG;AAC1C;AAEA,SAAS,mBAAmB,OAAwB;CAClD,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG;CAC7C,OACE,eAAe,kBACf,eAAA,oBACA,qBAAqB,SAAS,UAAU;AAE5C;AAEA,SAAS,kBAAkB,OAAe,WAA4B;CACpE,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG;CAC7C,OAAO,WAAW,SAAS,SAAS,UAAU,MAAM,KAAK,eAAe,QAAQ,UAAU;AAC5F;;AAGA,SAAgB,gBAAgB,SAAqB,gBAAwB,QAAsC;CACjH,MAAM,QAAQ,qBAAqB,gBAAgB,OAAO,SAAS;CAInE,MAAM,aAAa;EACjB;EACA;EACA,GAAG;EACH,GAAG,WAAW,QAAQ,eAAe,CAAC,CAAC,QAAQ,UAAU,CAAC,mBAAmB,KAAK,CAAC;CACrF;CACA,MAAM,SAAS,CACb,OACA,GAAG,WAAW,QAAQ,WAAW,CAAC,CAAC,QAChC,UAAU,UAAU,SAAS,CAAC,kBAAkB,OAAO,OAAO,SAAS,CAC1E,CACF;CACA,OAAO;EACL,GAAG;GACF,oBAAoB;GACpB,iBAAiB;GACjB,aAAa;GAGb,YAAY,OAAO,QAAQ,eAAe,WAAW,QAAQ,aAAa,OAAO;CACpF;AACF;AAEA,SAAgB,eAAe,gBAAoC;CACjE,MAAM,WAAW,SAAS,eAAe,cAAc,CAAC;CACxD,OAAO,SAAS,QAAQ,IAAI,WAAW,CAAC;AAC1C;AAEA,SAAgB,oBAAoB,UAA8B;CAChE,OAAO,GAAG,KAAK,UAAU,UAAU,MAAM,CAAC,EAAE;AAC9C;;AAGA,SAAgB,gBAAgB,gBAAwB,QAAkC;CACxF,MAAM,eAAe,eAAe,cAAc;CAClD,gBACE,cACA,oBAAoB,gBAAgB,eAAe,cAAc,GAAG,gBAAgB,MAAM,CAAC,CAC7F;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
let typebox = require("typebox");
|
|
3
|
+
let typebox_value = require("typebox/value");
|
|
4
|
+
//#region src/schemas/protocol.ts
|
|
5
|
+
const DOOM_PROTOCOL_ERROR_CODE = {
|
|
6
|
+
aborted: "ABORTED",
|
|
7
|
+
invalidMessage: "INVALID_MESSAGE",
|
|
8
|
+
providerError: "PROVIDER_ERROR",
|
|
9
|
+
timeout: "TIMEOUT"
|
|
10
|
+
};
|
|
11
|
+
const DEFAULT_PROTOCOL_TIMEOUT_MS = 5e3;
|
|
12
|
+
const DEFAULT_DUPLICATE_WINDOW = 256;
|
|
13
|
+
const ProtocolErrorSchema = typebox.Type.Object({
|
|
14
|
+
code: typebox.Type.String({ minLength: 1 }),
|
|
15
|
+
message: typebox.Type.String({ minLength: 1 }),
|
|
16
|
+
retryable: typebox.Type.Optional(typebox.Type.Boolean())
|
|
17
|
+
}, { additionalProperties: false });
|
|
18
|
+
var DoomProtocolError = class extends Error {
|
|
19
|
+
code;
|
|
20
|
+
retryable;
|
|
21
|
+
constructor(payload) {
|
|
22
|
+
super(payload.message);
|
|
23
|
+
this.name = "DoomProtocolError";
|
|
24
|
+
this.code = payload.code;
|
|
25
|
+
this.retryable = payload.retryable ?? false;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var DoomProtocolValidationError = class extends DoomProtocolError {
|
|
29
|
+
constructor(channel, details) {
|
|
30
|
+
super({
|
|
31
|
+
code: DOOM_PROTOCOL_ERROR_CODE.invalidMessage,
|
|
32
|
+
message: `Invalid message on ${channel}: ${details}`
|
|
33
|
+
});
|
|
34
|
+
this.name = "DoomProtocolValidationError";
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const EnvelopeBaseSchema = typebox.Type.Object({
|
|
38
|
+
protocol: typebox.Type.String({ minLength: 1 }),
|
|
39
|
+
version: typebox.Type.Literal(1),
|
|
40
|
+
kind: typebox.Type.String({ minLength: 1 }),
|
|
41
|
+
messageId: typebox.Type.String({ minLength: 1 }),
|
|
42
|
+
correlationId: typebox.Type.Optional(typebox.Type.String({ minLength: 1 })),
|
|
43
|
+
source: typebox.Type.String({ minLength: 1 }),
|
|
44
|
+
sessionId: typebox.Type.String({ minLength: 1 })
|
|
45
|
+
}, { additionalProperties: false });
|
|
46
|
+
function envelopeSchema(payload) {
|
|
47
|
+
return typebox.Type.Object({
|
|
48
|
+
...EnvelopeBaseSchema.properties,
|
|
49
|
+
payload
|
|
50
|
+
}, { additionalProperties: false });
|
|
51
|
+
}
|
|
52
|
+
function protocolName(channel) {
|
|
53
|
+
const match = /^(doom:[^:]+(?::[^:]+)*):v\d+:/.exec(channel);
|
|
54
|
+
if (!match) throw new Error(`Invalid Doom protocol channel: ${channel}`);
|
|
55
|
+
return match[1];
|
|
56
|
+
}
|
|
57
|
+
function validationDetails(schema, value) {
|
|
58
|
+
return (0, typebox_value.Errors)(schema, value).slice(0, 3).map((error) => `${error.instancePath || "/"} ${error.message}`).join("; ");
|
|
59
|
+
}
|
|
60
|
+
function assertValid(channel, schema, value) {
|
|
61
|
+
if (!(0, typebox_value.Check)(schema, value)) throw new DoomProtocolValidationError(channel, validationDetails(schema, value));
|
|
62
|
+
}
|
|
63
|
+
function asProtocolError(error) {
|
|
64
|
+
if (error instanceof DoomProtocolError) return {
|
|
65
|
+
code: error.code,
|
|
66
|
+
message: error.message,
|
|
67
|
+
retryable: error.retryable
|
|
68
|
+
};
|
|
69
|
+
return {
|
|
70
|
+
code: DOOM_PROTOCOL_ERROR_CODE.providerError,
|
|
71
|
+
message: error instanceof Error ? error.message : String(error)
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function defineNotification(definition) {
|
|
75
|
+
protocolName(definition.channel);
|
|
76
|
+
return definition;
|
|
77
|
+
}
|
|
78
|
+
function defineRequestReply(definition) {
|
|
79
|
+
const protocol = protocolName(definition.channels.request);
|
|
80
|
+
for (const channel of [definition.channels.response, definition.channels.error]) if (protocolName(channel) !== protocol) throw new Error("Request/reply channels must share one protocol");
|
|
81
|
+
return {
|
|
82
|
+
requestChannel: definition.channels.request,
|
|
83
|
+
responseChannel: definition.channels.response,
|
|
84
|
+
errorChannel: definition.channels.error,
|
|
85
|
+
requestKind: definition.kinds.request,
|
|
86
|
+
responseKind: definition.kinds.response,
|
|
87
|
+
request: definition.request,
|
|
88
|
+
response: definition.response
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const defineJob = defineRequestReply;
|
|
92
|
+
function createProtocolRuntime(options) {
|
|
93
|
+
const timeoutDefault = options.defaultTimeoutMs ?? DEFAULT_PROTOCOL_TIMEOUT_MS;
|
|
94
|
+
const duplicateWindow = options.duplicateWindow ?? DEFAULT_DUPLICATE_WINDOW;
|
|
95
|
+
const createMessageId = options.createMessageId ?? (() => `${options.source}:${crypto.randomUUID()}`);
|
|
96
|
+
const rethrowAsync = (error) => {
|
|
97
|
+
queueMicrotask(() => {
|
|
98
|
+
throw error instanceof Error ? error : new Error(String(error));
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
function duplicateGuard() {
|
|
102
|
+
const handled = /* @__PURE__ */ new Set();
|
|
103
|
+
return (messageId) => {
|
|
104
|
+
if (handled.has(messageId)) return false;
|
|
105
|
+
handled.add(messageId);
|
|
106
|
+
if (handled.size > duplicateWindow) handled.delete(handled.values().next().value);
|
|
107
|
+
return true;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function base(channel, kind, messageId = createMessageId(), correlationId) {
|
|
111
|
+
return {
|
|
112
|
+
protocol: protocolName(channel),
|
|
113
|
+
version: 1,
|
|
114
|
+
kind,
|
|
115
|
+
messageId,
|
|
116
|
+
...correlationId ? { correlationId } : {},
|
|
117
|
+
source: options.source,
|
|
118
|
+
sessionId: options.sessionId
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
notify(definition, payload) {
|
|
123
|
+
assertValid(definition.channel, definition.payload, payload);
|
|
124
|
+
options.bus.emit(definition.channel, {
|
|
125
|
+
...base(definition.channel, definition.kind),
|
|
126
|
+
payload
|
|
127
|
+
});
|
|
128
|
+
},
|
|
129
|
+
onNotification(definition, handler) {
|
|
130
|
+
const schema = envelopeSchema(definition.payload);
|
|
131
|
+
const remember = duplicateGuard();
|
|
132
|
+
return options.bus.on(definition.channel, (message) => {
|
|
133
|
+
assertValid(definition.channel, schema, message);
|
|
134
|
+
const envelope = message;
|
|
135
|
+
if (envelope.sessionId !== options.sessionId) return;
|
|
136
|
+
if (!remember(envelope.messageId)) return;
|
|
137
|
+
Promise.resolve(handler(envelope.payload, envelope)).catch(rethrowAsync);
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
request(definition, payload, requestOptions = {}) {
|
|
141
|
+
assertValid(definition.requestChannel, definition.request, payload);
|
|
142
|
+
const messageId = createMessageId();
|
|
143
|
+
const responseSchema = envelopeSchema(definition.response);
|
|
144
|
+
const errorSchema = envelopeSchema(ProtocolErrorSchema);
|
|
145
|
+
return new Promise((resolve, reject) => {
|
|
146
|
+
let settled = false;
|
|
147
|
+
const cleanups = [];
|
|
148
|
+
const finish = (action) => {
|
|
149
|
+
if (settled) return;
|
|
150
|
+
settled = true;
|
|
151
|
+
for (const cleanup of cleanups.splice(0)) cleanup();
|
|
152
|
+
action();
|
|
153
|
+
};
|
|
154
|
+
cleanups.push(options.bus.on(definition.responseChannel, (message) => {
|
|
155
|
+
assertValid(definition.responseChannel, responseSchema, message);
|
|
156
|
+
const envelope = message;
|
|
157
|
+
if (envelope.sessionId !== options.sessionId) return;
|
|
158
|
+
if (envelope.correlationId !== messageId) return;
|
|
159
|
+
if (requestOptions.expectedSource && envelope.source !== requestOptions.expectedSource) return;
|
|
160
|
+
finish(() => resolve(envelope.payload));
|
|
161
|
+
}), options.bus.on(definition.errorChannel, (message) => {
|
|
162
|
+
assertValid(definition.errorChannel, errorSchema, message);
|
|
163
|
+
const envelope = message;
|
|
164
|
+
if (envelope.sessionId !== options.sessionId) return;
|
|
165
|
+
if (envelope.correlationId !== messageId) return;
|
|
166
|
+
if (requestOptions.expectedSource && envelope.source !== requestOptions.expectedSource) return;
|
|
167
|
+
finish(() => reject(new DoomProtocolError(envelope.payload)));
|
|
168
|
+
}));
|
|
169
|
+
const timer = setTimeout(() => finish(() => reject(new DoomProtocolError({
|
|
170
|
+
code: DOOM_PROTOCOL_ERROR_CODE.timeout,
|
|
171
|
+
message: `Timed out waiting for ${definition.responseKind}`
|
|
172
|
+
}))), requestOptions.timeoutMs ?? timeoutDefault);
|
|
173
|
+
cleanups.push(() => clearTimeout(timer));
|
|
174
|
+
if (requestOptions.signal) {
|
|
175
|
+
const abort = () => finish(() => reject(new DoomProtocolError({
|
|
176
|
+
code: DOOM_PROTOCOL_ERROR_CODE.aborted,
|
|
177
|
+
message: "Request aborted"
|
|
178
|
+
})));
|
|
179
|
+
requestOptions.signal.addEventListener("abort", abort, { once: true });
|
|
180
|
+
cleanups.push(() => requestOptions.signal?.removeEventListener("abort", abort));
|
|
181
|
+
if (requestOptions.signal.aborted) return abort();
|
|
182
|
+
}
|
|
183
|
+
options.bus.emit(definition.requestChannel, {
|
|
184
|
+
...base(definition.requestChannel, definition.requestKind, messageId),
|
|
185
|
+
payload
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
},
|
|
189
|
+
provide(definition, handler) {
|
|
190
|
+
const requestSchema = envelopeSchema(definition.request);
|
|
191
|
+
const remember = duplicateGuard();
|
|
192
|
+
return options.bus.on(definition.requestChannel, (message) => {
|
|
193
|
+
assertValid(definition.requestChannel, requestSchema, message);
|
|
194
|
+
const envelope = message;
|
|
195
|
+
if (envelope.sessionId !== options.sessionId) return;
|
|
196
|
+
if (!remember(envelope.messageId)) return;
|
|
197
|
+
Promise.resolve().then(() => handler(envelope.payload, envelope)).then((payload) => {
|
|
198
|
+
assertValid(definition.responseChannel, definition.response, payload);
|
|
199
|
+
options.bus.emit(definition.responseChannel, {
|
|
200
|
+
...base(definition.responseChannel, definition.responseKind, createMessageId(), envelope.messageId),
|
|
201
|
+
payload
|
|
202
|
+
});
|
|
203
|
+
}, (error) => {
|
|
204
|
+
options.bus.emit(definition.errorChannel, {
|
|
205
|
+
...base(definition.errorChannel, "error", createMessageId(), envelope.messageId),
|
|
206
|
+
payload: asProtocolError(error)
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
//#endregion
|
|
214
|
+
exports.DOOM_PROTOCOL_ERROR_CODE = DOOM_PROTOCOL_ERROR_CODE;
|
|
215
|
+
exports.DoomProtocolError = DoomProtocolError;
|
|
216
|
+
exports.DoomProtocolValidationError = DoomProtocolValidationError;
|
|
217
|
+
exports.ProtocolErrorSchema = ProtocolErrorSchema;
|
|
218
|
+
exports.createProtocolRuntime = createProtocolRuntime;
|
|
219
|
+
exports.defineJob = defineJob;
|
|
220
|
+
exports.defineNotification = defineNotification;
|
|
221
|
+
exports.defineRequestReply = defineRequestReply;
|
|
222
|
+
|
|
223
|
+
//# sourceMappingURL=runtimeProtocol.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeProtocol.cjs","names":["Type","Errors","Check"],"sources":["../src/schemas/protocol.ts"],"sourcesContent":["import { type Static, type TSchema, Type } from 'typebox';\nimport { Check, Errors } from 'typebox/value';\n\nexport const DOOM_PROTOCOL_ERROR_CODE = {\n aborted: 'ABORTED',\n invalidMessage: 'INVALID_MESSAGE',\n providerError: 'PROVIDER_ERROR',\n timeout: 'TIMEOUT',\n} as const;\n\nconst DEFAULT_PROTOCOL_TIMEOUT_MS = 5_000;\nconst DEFAULT_DUPLICATE_WINDOW = 256;\n\nexport interface EventBusLike {\n emit(event: string, data: unknown): void;\n on(event: string, handler: (data: unknown) => void): () => void;\n}\n\nexport const ProtocolErrorSchema = Type.Object(\n {\n code: Type.String({ minLength: 1 }),\n message: Type.String({ minLength: 1 }),\n retryable: Type.Optional(Type.Boolean()),\n },\n { additionalProperties: false },\n);\n\nexport type ProtocolErrorPayload = Static<typeof ProtocolErrorSchema>;\n\nexport class DoomProtocolError extends Error {\n readonly code: string;\n readonly retryable: boolean;\n\n constructor(payload: ProtocolErrorPayload) {\n super(payload.message);\n this.name = 'DoomProtocolError';\n this.code = payload.code;\n this.retryable = payload.retryable ?? false;\n }\n}\n\nexport class DoomProtocolValidationError extends DoomProtocolError {\n constructor(channel: string, details: string) {\n super({ code: DOOM_PROTOCOL_ERROR_CODE.invalidMessage, message: `Invalid message on ${channel}: ${details}` });\n this.name = 'DoomProtocolValidationError';\n }\n}\n\nexport interface ProtocolIdentity {\n source: string;\n sessionId: string;\n}\n\ninterface ProtocolEnvelope<TPayload> extends ProtocolIdentity {\n protocol: string;\n version: 1;\n kind: string;\n messageId: string;\n correlationId?: string;\n payload: TPayload;\n}\n\nexport interface NotificationDefinition<TPayload extends TSchema> {\n channel: string;\n kind: string;\n payload: TPayload;\n}\n\nexport interface RequestReplyDefinition<TRequest extends TSchema, TResponse extends TSchema> {\n requestChannel: string;\n responseChannel: string;\n errorChannel: string;\n requestKind: string;\n responseKind: string;\n request: TRequest;\n response: TResponse;\n}\n\nexport interface RequestOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n /** Ignore correlated replies from any source except this exact provider. */\n expectedSource?: string;\n}\n\nexport interface ProtocolRuntimeOptions extends ProtocolIdentity {\n bus: EventBusLike;\n defaultTimeoutMs?: number;\n createMessageId?: () => string;\n duplicateWindow?: number;\n}\n\nexport interface ProtocolRuntime {\n notify<TPayload extends TSchema>(definition: NotificationDefinition<TPayload>, payload: Static<TPayload>): void;\n onNotification<TPayload extends TSchema>(\n definition: NotificationDefinition<TPayload>,\n handler: (payload: Static<TPayload>, identity: ProtocolIdentity) => void | Promise<void>,\n ): () => void;\n request<TRequest extends TSchema, TResponse extends TSchema>(\n definition: RequestReplyDefinition<TRequest, TResponse>,\n payload: Static<TRequest>,\n options?: RequestOptions,\n ): Promise<Static<TResponse>>;\n provide<TRequest extends TSchema, TResponse extends TSchema>(\n definition: RequestReplyDefinition<TRequest, TResponse>,\n handler: (payload: Static<TRequest>, identity: ProtocolIdentity) => Static<TResponse> | Promise<Static<TResponse>>,\n ): () => void;\n}\n\nconst EnvelopeBaseSchema = Type.Object(\n {\n protocol: Type.String({ minLength: 1 }),\n version: Type.Literal(1),\n kind: Type.String({ minLength: 1 }),\n messageId: Type.String({ minLength: 1 }),\n correlationId: Type.Optional(Type.String({ minLength: 1 })),\n source: Type.String({ minLength: 1 }),\n sessionId: Type.String({ minLength: 1 }),\n },\n { additionalProperties: false },\n);\n\nfunction envelopeSchema<TPayload extends TSchema>(payload: TPayload) {\n return Type.Object({ ...EnvelopeBaseSchema.properties, payload }, { additionalProperties: false });\n}\n\nfunction protocolName(channel: string): string {\n const match = /^(doom:[^:]+(?::[^:]+)*):v\\d+:/.exec(channel);\n if (!match) throw new Error(`Invalid Doom protocol channel: ${channel}`);\n return match[1];\n}\n\nfunction validationDetails(schema: TSchema, value: unknown): string {\n return Errors(schema, value)\n .slice(0, 3)\n .map((error) => `${error.instancePath || '/'} ${error.message}`)\n .join('; ');\n}\n\nfunction assertValid<TSchemaValue extends TSchema>(\n channel: string,\n schema: TSchemaValue,\n value: unknown,\n): asserts value is Static<TSchemaValue> {\n if (!Check(schema, value)) throw new DoomProtocolValidationError(channel, validationDetails(schema, value));\n}\n\nfunction asProtocolError(error: unknown): ProtocolErrorPayload {\n if (error instanceof DoomProtocolError) {\n return { code: error.code, message: error.message, retryable: error.retryable };\n }\n return {\n code: DOOM_PROTOCOL_ERROR_CODE.providerError,\n message: error instanceof Error ? error.message : String(error),\n };\n}\n\nexport function defineNotification<TPayload extends TSchema>(definition: {\n channel: `doom:${string}:${string}:v1:${string}`;\n kind: string;\n payload: TPayload;\n}): NotificationDefinition<TPayload> {\n protocolName(definition.channel);\n return definition;\n}\n\nexport function defineRequestReply<TRequest extends TSchema, TResponse extends TSchema>(definition: {\n channels: {\n request: `doom:${string}:${string}:v1:${string}`;\n response: `doom:${string}:${string}:v1:${string}`;\n error: `doom:${string}:${string}:v1:${string}`;\n };\n kinds: { request: string; response: string };\n request: TRequest;\n response: TResponse;\n}): RequestReplyDefinition<TRequest, TResponse> {\n const protocol = protocolName(definition.channels.request);\n for (const channel of [definition.channels.response, definition.channels.error]) {\n if (protocolName(channel) !== protocol) throw new Error('Request/reply channels must share one protocol');\n }\n return {\n requestChannel: definition.channels.request,\n responseChannel: definition.channels.response,\n errorChannel: definition.channels.error,\n requestKind: definition.kinds.request,\n responseKind: definition.kinds.response,\n request: definition.request,\n response: definition.response,\n };\n}\n\nexport const defineJob = defineRequestReply;\n\nexport function createProtocolRuntime(options: ProtocolRuntimeOptions): ProtocolRuntime {\n const timeoutDefault = options.defaultTimeoutMs ?? DEFAULT_PROTOCOL_TIMEOUT_MS;\n const duplicateWindow = options.duplicateWindow ?? DEFAULT_DUPLICATE_WINDOW;\n const createMessageId = options.createMessageId ?? (() => `${options.source}:${crypto.randomUUID()}`);\n\n const rethrowAsync = (error: unknown): void => {\n queueMicrotask(() => {\n throw error instanceof Error ? error : new Error(String(error));\n });\n };\n\n function duplicateGuard(): (messageId: string) => boolean {\n const handled = new Set<string>();\n return (messageId) => {\n if (handled.has(messageId)) return false;\n handled.add(messageId);\n if (handled.size > duplicateWindow) handled.delete(handled.values().next().value as string);\n return true;\n };\n }\n\n function base(channel: string, kind: string, messageId = createMessageId(), correlationId?: string) {\n return {\n protocol: protocolName(channel),\n version: 1 as const,\n kind,\n messageId,\n ...(correlationId ? { correlationId } : {}),\n source: options.source,\n sessionId: options.sessionId,\n };\n }\n\n return {\n notify<TPayload extends TSchema>(definition: NotificationDefinition<TPayload>, payload: Static<TPayload>) {\n assertValid(definition.channel, definition.payload, payload);\n options.bus.emit(definition.channel, { ...base(definition.channel, definition.kind), payload });\n },\n\n onNotification<TPayload extends TSchema>(\n definition: NotificationDefinition<TPayload>,\n handler: (payload: Static<TPayload>, identity: ProtocolIdentity) => void | Promise<void>,\n ) {\n const schema = envelopeSchema(definition.payload);\n const remember = duplicateGuard();\n return options.bus.on(definition.channel, (message) => {\n assertValid(definition.channel, schema, message);\n const envelope = message as unknown as ProtocolEnvelope<Static<TPayload>>;\n if (envelope.sessionId !== options.sessionId) return;\n if (!remember(envelope.messageId)) return;\n void Promise.resolve(handler(envelope.payload, envelope)).catch(rethrowAsync);\n });\n },\n\n request<TRequest extends TSchema, TResponse extends TSchema>(\n definition: RequestReplyDefinition<TRequest, TResponse>,\n payload: Static<TRequest>,\n requestOptions: RequestOptions = {},\n ) {\n assertValid(definition.requestChannel, definition.request, payload);\n const messageId = createMessageId();\n const responseSchema = envelopeSchema(definition.response);\n const errorSchema = envelopeSchema(ProtocolErrorSchema);\n return new Promise<Static<typeof definition.response>>((resolve, reject) => {\n let settled = false;\n const cleanups: Array<() => void> = [];\n const finish = (action: () => void) => {\n if (settled) return;\n settled = true;\n for (const cleanup of cleanups.splice(0)) cleanup();\n action();\n };\n cleanups.push(\n options.bus.on(definition.responseChannel, (message) => {\n assertValid(definition.responseChannel, responseSchema, message);\n const envelope = message as unknown as ProtocolEnvelope<Static<TResponse>>;\n if (envelope.sessionId !== options.sessionId) return;\n if (envelope.correlationId !== messageId) return;\n if (requestOptions.expectedSource && envelope.source !== requestOptions.expectedSource) return;\n finish(() => resolve(envelope.payload));\n }),\n options.bus.on(definition.errorChannel, (message) => {\n assertValid(definition.errorChannel, errorSchema, message);\n const envelope = message as unknown as ProtocolEnvelope<ProtocolErrorPayload>;\n if (envelope.sessionId !== options.sessionId) return;\n if (envelope.correlationId !== messageId) return;\n if (requestOptions.expectedSource && envelope.source !== requestOptions.expectedSource) return;\n finish(() => reject(new DoomProtocolError(envelope.payload)));\n }),\n );\n const timer = setTimeout(\n () =>\n finish(() =>\n reject(\n new DoomProtocolError({\n code: DOOM_PROTOCOL_ERROR_CODE.timeout,\n message: `Timed out waiting for ${definition.responseKind}`,\n }),\n ),\n ),\n requestOptions.timeoutMs ?? timeoutDefault,\n );\n cleanups.push(() => clearTimeout(timer));\n if (requestOptions.signal) {\n const abort = () =>\n finish(() =>\n reject(new DoomProtocolError({ code: DOOM_PROTOCOL_ERROR_CODE.aborted, message: 'Request aborted' })),\n );\n requestOptions.signal.addEventListener('abort', abort, { once: true });\n cleanups.push(() => requestOptions.signal?.removeEventListener('abort', abort));\n if (requestOptions.signal.aborted) return abort();\n }\n options.bus.emit(definition.requestChannel, {\n ...base(definition.requestChannel, definition.requestKind, messageId),\n payload,\n });\n });\n },\n\n provide<TRequest extends TSchema, TResponse extends TSchema>(\n definition: RequestReplyDefinition<TRequest, TResponse>,\n handler: (\n payload: Static<TRequest>,\n identity: ProtocolIdentity,\n ) => Static<TResponse> | Promise<Static<TResponse>>,\n ) {\n const requestSchema = envelopeSchema(definition.request);\n const remember = duplicateGuard();\n return options.bus.on(definition.requestChannel, (message) => {\n assertValid(definition.requestChannel, requestSchema, message);\n const envelope = message as unknown as ProtocolEnvelope<Static<TRequest>>;\n if (envelope.sessionId !== options.sessionId) return;\n if (!remember(envelope.messageId)) return;\n void Promise.resolve()\n .then(() => handler(envelope.payload, envelope))\n .then(\n (payload) => {\n assertValid(definition.responseChannel, definition.response, payload);\n options.bus.emit(definition.responseChannel, {\n ...base(definition.responseChannel, definition.responseKind, createMessageId(), envelope.messageId),\n payload,\n });\n },\n (error) => {\n options.bus.emit(definition.errorChannel, {\n ...base(definition.errorChannel, 'error', createMessageId(), envelope.messageId),\n payload: asProtocolError(error),\n });\n },\n );\n });\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Static, TSchema, Type } from "typebox";
|
|
2
|
+
//#region src/schemas/protocol.d.ts
|
|
3
|
+
export declare const DOOM_PROTOCOL_ERROR_CODE: {
|
|
4
|
+
readonly aborted: 'ABORTED';
|
|
5
|
+
readonly invalidMessage: 'INVALID_MESSAGE';
|
|
6
|
+
readonly providerError: 'PROVIDER_ERROR';
|
|
7
|
+
readonly timeout: 'TIMEOUT';
|
|
8
|
+
};
|
|
9
|
+
export interface EventBusLike {
|
|
10
|
+
emit(event: string, data: unknown): void;
|
|
11
|
+
on(event: string, handler: (data: unknown) => void): () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const ProtocolErrorSchema: Type.TObject<{
|
|
14
|
+
code: Type.TString;
|
|
15
|
+
message: Type.TString;
|
|
16
|
+
retryable: Type.TOptional<Type.TBoolean>;
|
|
17
|
+
}>;
|
|
18
|
+
export type ProtocolErrorPayload = Static<typeof ProtocolErrorSchema>;
|
|
19
|
+
export declare class DoomProtocolError extends Error {
|
|
20
|
+
readonly code: string;
|
|
21
|
+
readonly retryable: boolean;
|
|
22
|
+
constructor(payload: ProtocolErrorPayload);
|
|
23
|
+
}
|
|
24
|
+
export declare class DoomProtocolValidationError extends DoomProtocolError {
|
|
25
|
+
constructor(channel: string, details: string);
|
|
26
|
+
}
|
|
27
|
+
export interface ProtocolIdentity {
|
|
28
|
+
source: string;
|
|
29
|
+
sessionId: string;
|
|
30
|
+
}
|
|
31
|
+
export interface NotificationDefinition<TPayload extends TSchema> {
|
|
32
|
+
channel: string;
|
|
33
|
+
kind: string;
|
|
34
|
+
payload: TPayload;
|
|
35
|
+
}
|
|
36
|
+
export interface RequestReplyDefinition<TRequest extends TSchema, TResponse extends TSchema> {
|
|
37
|
+
requestChannel: string;
|
|
38
|
+
responseChannel: string;
|
|
39
|
+
errorChannel: string;
|
|
40
|
+
requestKind: string;
|
|
41
|
+
responseKind: string;
|
|
42
|
+
request: TRequest;
|
|
43
|
+
response: TResponse;
|
|
44
|
+
}
|
|
45
|
+
export interface RequestOptions {
|
|
46
|
+
signal?: AbortSignal;
|
|
47
|
+
timeoutMs?: number;
|
|
48
|
+
/** Ignore correlated replies from any source except this exact provider. */
|
|
49
|
+
expectedSource?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ProtocolRuntimeOptions extends ProtocolIdentity {
|
|
52
|
+
bus: EventBusLike;
|
|
53
|
+
defaultTimeoutMs?: number;
|
|
54
|
+
createMessageId?: () => string;
|
|
55
|
+
duplicateWindow?: number;
|
|
56
|
+
}
|
|
57
|
+
export interface ProtocolRuntime {
|
|
58
|
+
notify<TPayload extends TSchema>(definition: NotificationDefinition<TPayload>, payload: Static<TPayload>): void;
|
|
59
|
+
onNotification<TPayload extends TSchema>(definition: NotificationDefinition<TPayload>, handler: (payload: Static<TPayload>, identity: ProtocolIdentity) => void | Promise<void>): () => void;
|
|
60
|
+
request<TRequest extends TSchema, TResponse extends TSchema>(definition: RequestReplyDefinition<TRequest, TResponse>, payload: Static<TRequest>, options?: RequestOptions): Promise<Static<TResponse>>;
|
|
61
|
+
provide<TRequest extends TSchema, TResponse extends TSchema>(definition: RequestReplyDefinition<TRequest, TResponse>, handler: (payload: Static<TRequest>, identity: ProtocolIdentity) => Static<TResponse> | Promise<Static<TResponse>>): () => void;
|
|
62
|
+
}
|
|
63
|
+
export declare function defineNotification<TPayload extends TSchema>(definition: {
|
|
64
|
+
channel: `doom:${string}:${string}:v1:${string}`;
|
|
65
|
+
kind: string;
|
|
66
|
+
payload: TPayload;
|
|
67
|
+
}): NotificationDefinition<TPayload>;
|
|
68
|
+
export declare function defineRequestReply<TRequest extends TSchema, TResponse extends TSchema>(definition: {
|
|
69
|
+
channels: {
|
|
70
|
+
request: `doom:${string}:${string}:v1:${string}`;
|
|
71
|
+
response: `doom:${string}:${string}:v1:${string}`;
|
|
72
|
+
error: `doom:${string}:${string}:v1:${string}`;
|
|
73
|
+
};
|
|
74
|
+
kinds: {
|
|
75
|
+
request: string;
|
|
76
|
+
response: string;
|
|
77
|
+
};
|
|
78
|
+
request: TRequest;
|
|
79
|
+
response: TResponse;
|
|
80
|
+
}): RequestReplyDefinition<TRequest, TResponse>;
|
|
81
|
+
export declare const defineJob: typeof defineRequestReply;
|
|
82
|
+
export declare function createProtocolRuntime(options: ProtocolRuntimeOptions): ProtocolRuntime;
|
|
83
|
+
//#endregion
|
|
84
|
+
//# sourceMappingURL=runtimeProtocol.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeProtocol.d.mts","names":[],"sources":["../src/schemas/protocol.ts"],"mappings":";;qBAGa;WACX;WACA;WACA;WACA;;iBAMe;EACf,KAAK,eAAe;EACpB,GAAG,eAAe,UAAU;;qBAGjB,qBAAmB,KAAA;;;;;YASpB,uBAAuB,cAAc;qBAEpC,0BAA0B;WAC5B;WACA;EAET,YAAY,SAAS;;qBAQV,oCAAoC;EAC/C,YAAY,iBAAiB;;iBAMd;EACf;EACA;;iBAYe,uBAAuB,iBAAiB;EACvD;EACA;EACA,SAAS;;iBAGM,uBAAuB,iBAAiB,SAAS,kBAAkB;EAClF;EACA;EACA;EACA;EACA;EACA,SAAS;EACT,UAAU;;iBAGK;EACf,SAAS;EACT;;EAEA;;iBAGe,+BAA+B;EAC9C,KAAK;EACL;EACA;EACA;;iBAGe;EACf,OAAO,iBAAiB,SAAS,YAAY,uBAAuB,WAAW,SAAS,OAAO;EAC/F,eAAe,iBAAiB,SAC9B,YAAY,uBAAuB,WACnC,UAAU,SAAS,OAAO,WAAW,UAAU,4BAA4B;EAE7E,QAAQ,iBAAiB,SAAS,kBAAkB,SAClD,YAAY,uBAAuB,UAAU,YAC7C,SAAS,OAAO,WAChB,UAAU,iBACT,QAAQ,OAAO;EAClB,QAAQ,iBAAiB,SAAS,kBAAkB,SAClD,YAAY,uBAAuB,UAAU,YAC7C,UAAU,SAAS,OAAO,WAAW,UAAU,qBAAqB,OAAO,aAAa,QAAQ,OAAO;;wBAoD3F,mBAAmB,iBAAiB,SAAS;EAC3D;EACA;EACA,SAAS;IACP,uBAAuB;wBAKX,mBAAmB,iBAAiB,SAAS,kBAAkB,SAAS;EACtF;IACE;IACA;IACA;;EAEF;IAAS;IAAiB;;EAC1B,SAAS;EACT,UAAU;IACR,uBAAuB,UAAU;qBAgBxB,kBAAS;wBAEN,sBAAsB,SAAS,yBAAyB"}
|