@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,85 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { createBundleSigner } from "@agimon-ai/doompi-web-security/node";
|
|
4
|
+
//#region src/services/bundlePublication/index.ts
|
|
5
|
+
/**
|
|
6
|
+
* Signs synchronized plugin generations without replacing the stable shell publication.
|
|
7
|
+
*
|
|
8
|
+
* Publications are retained by the exact identity and revision advertised to pages, so
|
|
9
|
+
* a concurrent sync cannot pair an old manifest with bytes from a new generation.
|
|
10
|
+
*/
|
|
11
|
+
function createPluginBundlePublication(stateDir, onNotice = () => {}) {
|
|
12
|
+
let signer;
|
|
13
|
+
try {
|
|
14
|
+
signer = createBundleSigner(stateDir, onNotice);
|
|
15
|
+
} catch (error) {
|
|
16
|
+
onNotice(`plugin compositions could not be signed: ${error instanceof Error ? error.message : String(error)}`);
|
|
17
|
+
}
|
|
18
|
+
const byComposition = /* @__PURE__ */ new Map();
|
|
19
|
+
const byRoute = /* @__PURE__ */ new Map();
|
|
20
|
+
const publicationRoot = signer === void 0 ? void 0 : fs.mkdtempSync(path.join(stateDir, "plugin-publications-"));
|
|
21
|
+
let closed = false;
|
|
22
|
+
const routeKey = (compositionId, revision) => `${compositionId}:${String(revision)}`;
|
|
23
|
+
const publish = (compositionId, assetsDir) => {
|
|
24
|
+
if (closed) return void 0;
|
|
25
|
+
const existing = byComposition.get(compositionId);
|
|
26
|
+
if (existing !== void 0) return existing;
|
|
27
|
+
if (signer === void 0 || publicationRoot === void 0) return void 0;
|
|
28
|
+
const stagingRoot = fs.mkdtempSync(path.join(publicationRoot, ".staging-"));
|
|
29
|
+
const snapshot = path.join(stagingRoot, "assets");
|
|
30
|
+
try {
|
|
31
|
+
fs.cpSync(assetsDir, snapshot, { recursive: true });
|
|
32
|
+
const signed = signer.sign(snapshot);
|
|
33
|
+
if (signed === void 0) {
|
|
34
|
+
onNotice(`plugin composition '${compositionId}' is empty and cannot be published`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const retainedDirectory = path.join(publicationRoot, `${compositionId}-${String(signed.manifest.revision)}`);
|
|
38
|
+
fs.renameSync(snapshot, retainedDirectory);
|
|
39
|
+
const published = {
|
|
40
|
+
signed,
|
|
41
|
+
assetsDir: retainedDirectory
|
|
42
|
+
};
|
|
43
|
+
byComposition.set(compositionId, published);
|
|
44
|
+
byRoute.set(routeKey(compositionId, signed.manifest.revision), published);
|
|
45
|
+
return published;
|
|
46
|
+
} catch (error) {
|
|
47
|
+
onNotice(`plugin composition '${compositionId}' could not be signed: ${error instanceof Error ? error.message : String(error)}`);
|
|
48
|
+
return;
|
|
49
|
+
} finally {
|
|
50
|
+
fs.rmSync(stagingRoot, {
|
|
51
|
+
recursive: true,
|
|
52
|
+
force: true
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
publish,
|
|
58
|
+
release(compositionId) {
|
|
59
|
+
const bundle = byComposition.get(compositionId);
|
|
60
|
+
if (!bundle) return;
|
|
61
|
+
byComposition.delete(compositionId);
|
|
62
|
+
byRoute.delete(routeKey(compositionId, bundle.signed.manifest.revision));
|
|
63
|
+
fs.rmSync(bundle.assetsDir, {
|
|
64
|
+
recursive: true,
|
|
65
|
+
force: true
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
get: (compositionId, revision) => byRoute.get(routeKey(compositionId, revision)),
|
|
69
|
+
publicKey: () => signer?.publicKey(),
|
|
70
|
+
close: () => {
|
|
71
|
+
if (closed) return;
|
|
72
|
+
closed = true;
|
|
73
|
+
byComposition.clear();
|
|
74
|
+
byRoute.clear();
|
|
75
|
+
if (publicationRoot !== void 0) fs.rmSync(publicationRoot, {
|
|
76
|
+
recursive: true,
|
|
77
|
+
force: true
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//#endregion
|
|
83
|
+
export { createPluginBundlePublication };
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/bundlePublication/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { SignedBundleManifest } from '@agimon-ai/doompi-web-security';\nimport { createBundleSigner, type BundleSigner } from '@agimon-ai/doompi-web-security/node';\n\nexport interface PublishedBundle {\n signed: SignedBundleManifest;\n assetsDir: string;\n}\n\nexport interface PluginBundlePublication {\n publish(compositionId: string, assetsDir: string): PublishedBundle | undefined;\n get(compositionId: string, revision: number): PublishedBundle | undefined;\n publicKey(): string | undefined;\n release(compositionId: string): void;\n close(): void;\n}\n\n/**\n * Signs synchronized plugin generations without replacing the stable shell publication.\n *\n * Publications are retained by the exact identity and revision advertised to pages, so\n * a concurrent sync cannot pair an old manifest with bytes from a new generation.\n */\nexport function createPluginBundlePublication(\n stateDir: string,\n onNotice: (message: string) => void = () => {},\n): PluginBundlePublication {\n let signer: BundleSigner | undefined;\n try {\n signer = createBundleSigner(stateDir, onNotice);\n } catch (error) {\n onNotice(`plugin compositions could not be signed: ${error instanceof Error ? error.message : String(error)}`);\n }\n const byComposition = new Map<string, PublishedBundle>();\n const byRoute = new Map<string, PublishedBundle>();\n const publicationRoot =\n signer === undefined ? undefined : fs.mkdtempSync(path.join(stateDir, 'plugin-publications-'));\n let closed = false;\n const routeKey = (compositionId: string, revision: number): string => `${compositionId}:${String(revision)}`;\n const publish = (compositionId: string, assetsDir: string): PublishedBundle | undefined => {\n if (closed) return undefined;\n const existing = byComposition.get(compositionId);\n if (existing !== undefined) return existing;\n if (signer === undefined || publicationRoot === undefined) return undefined;\n const stagingRoot = fs.mkdtempSync(path.join(publicationRoot, '.staging-'));\n const snapshot = path.join(stagingRoot, 'assets');\n try {\n fs.cpSync(assetsDir, snapshot, { recursive: true });\n const signed = signer.sign(snapshot);\n if (signed === undefined) {\n onNotice(`plugin composition '${compositionId}' is empty and cannot be published`);\n return undefined;\n }\n const retainedDirectory = path.join(publicationRoot, `${compositionId}-${String(signed.manifest.revision)}`);\n fs.renameSync(snapshot, retainedDirectory);\n const published = { signed, assetsDir: retainedDirectory };\n byComposition.set(compositionId, published);\n byRoute.set(routeKey(compositionId, signed.manifest.revision), published);\n return published;\n } catch (error) {\n onNotice(\n `plugin composition '${compositionId}' could not be signed: ${error instanceof Error ? error.message : String(error)}`,\n );\n return undefined;\n } finally {\n fs.rmSync(stagingRoot, { recursive: true, force: true });\n }\n };\n\n return {\n publish,\n release(compositionId) {\n const bundle = byComposition.get(compositionId);\n if (!bundle) return;\n byComposition.delete(compositionId);\n byRoute.delete(routeKey(compositionId, bundle.signed.manifest.revision));\n fs.rmSync(bundle.assetsDir, { recursive: true, force: true });\n },\n get: (compositionId, revision) => byRoute.get(routeKey(compositionId, revision)),\n publicKey: () => signer?.publicKey(),\n close: () => {\n if (closed) return;\n closed = true;\n byComposition.clear();\n byRoute.clear();\n if (publicationRoot !== undefined) fs.rmSync(publicationRoot, { recursive: true, force: true });\n },\n };\n}\n"],"mappings":";;;;;;;;;;AAyBA,SAAgB,8BACd,UACA,iBAA4C,CAAC,GACpB;CACzB,IAAI;CACJ,IAAI;EACF,SAAS,mBAAmB,UAAU,QAAQ;CAChD,SAAS,OAAO;EACd,SAAS,4CAA4C,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG;CAC/G;CACA,MAAM,gCAAgB,IAAI,IAA6B;CACvD,MAAM,0BAAU,IAAI,IAA6B;CACjD,MAAM,kBACJ,WAAW,KAAA,IAAY,KAAA,IAAY,GAAG,YAAY,KAAK,KAAK,UAAU,sBAAsB,CAAC;CAC/F,IAAI,SAAS;CACb,MAAM,YAAY,eAAuB,aAA6B,GAAG,cAAc,GAAG,OAAO,QAAQ;CACzG,MAAM,WAAW,eAAuB,cAAmD;EACzF,IAAI,QAAQ,OAAO,KAAA;EACnB,MAAM,WAAW,cAAc,IAAI,aAAa;EAChD,IAAI,aAAa,KAAA,GAAW,OAAO;EACnC,IAAI,WAAW,KAAA,KAAa,oBAAoB,KAAA,GAAW,OAAO,KAAA;EAClE,MAAM,cAAc,GAAG,YAAY,KAAK,KAAK,iBAAiB,WAAW,CAAC;EAC1E,MAAM,WAAW,KAAK,KAAK,aAAa,QAAQ;EAChD,IAAI;GACF,GAAG,OAAO,WAAW,UAAU,EAAE,WAAW,KAAK,CAAC;GAClD,MAAM,SAAS,OAAO,KAAK,QAAQ;GACnC,IAAI,WAAW,KAAA,GAAW;IACxB,SAAS,uBAAuB,cAAc,mCAAmC;IACjF;GACF;GACA,MAAM,oBAAoB,KAAK,KAAK,iBAAiB,GAAG,cAAc,GAAG,OAAO,OAAO,SAAS,QAAQ,GAAG;GAC3G,GAAG,WAAW,UAAU,iBAAiB;GACzC,MAAM,YAAY;IAAE;IAAQ,WAAW;GAAkB;GACzD,cAAc,IAAI,eAAe,SAAS;GAC1C,QAAQ,IAAI,SAAS,eAAe,OAAO,SAAS,QAAQ,GAAG,SAAS;GACxE,OAAO;EACT,SAAS,OAAO;GACd,SACE,uBAAuB,cAAc,yBAAyB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACrH;GACA;EACF,UAAU;GACR,GAAG,OAAO,aAAa;IAAE,WAAW;IAAM,OAAO;GAAK,CAAC;EACzD;CACF;CAEA,OAAO;EACL;EACA,QAAQ,eAAe;GACrB,MAAM,SAAS,cAAc,IAAI,aAAa;GAC9C,IAAI,CAAC,QAAQ;GACb,cAAc,OAAO,aAAa;GAClC,QAAQ,OAAO,SAAS,eAAe,OAAO,OAAO,SAAS,QAAQ,CAAC;GACvE,GAAG,OAAO,OAAO,WAAW;IAAE,WAAW;IAAM,OAAO;GAAK,CAAC;EAC9D;EACA,MAAM,eAAe,aAAa,QAAQ,IAAI,SAAS,eAAe,QAAQ,CAAC;EAC/E,iBAAiB,QAAQ,UAAU;EACnC,aAAa;GACX,IAAI,QAAQ;GACZ,SAAS;GACT,cAAc,MAAM;GACpB,QAAQ,MAAM;GACd,IAAI,oBAAoB,KAAA,GAAW,GAAG,OAAO,iBAAiB;IAAE,WAAW;IAAM,OAAO;GAAK,CAAC;EAChG;CACF;AACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const require_contextApi = require("../../constants/contextApi.cjs");
|
|
2
|
+
//#region src/services/contextApiUrls/index.ts
|
|
3
|
+
/** The absolute URL a page reads one row's detail through. */
|
|
4
|
+
function itemDetailUrl(sessionPath, itemKind, name) {
|
|
5
|
+
const search = new URLSearchParams({
|
|
6
|
+
[require_contextApi.KIND_QUERY_PARAM]: itemKind,
|
|
7
|
+
[require_contextApi.NAME_QUERY_PARAM]: name
|
|
8
|
+
});
|
|
9
|
+
return `${sessionPath}/plugins/${require_contextApi.API_BASE_PATH}${require_contextApi.ITEM_ROUTE}?${search.toString()}`;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.itemDetailUrl = itemDetailUrl;
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["KIND_QUERY_PARAM","NAME_QUERY_PARAM","API_BASE_PATH","ITEM_ROUTE"],"sources":["../../../../src/services/contextApiUrls/index.ts"],"sourcesContent":["import { API_BASE_PATH, ITEM_ROUTE, NAME_QUERY_PARAM, KIND_QUERY_PARAM } from '../../constants/contextApi';\nimport type { ContextItemKind } from '../../types/contextApi';\n\n/** The absolute URL a page reads one row's detail through. */\nexport function itemDetailUrl(sessionPath: string, itemKind: ContextItemKind, name: string): string {\n const search = new URLSearchParams({\n [KIND_QUERY_PARAM]: itemKind,\n [NAME_QUERY_PARAM]: name,\n });\n return `${sessionPath}/plugins/${API_BASE_PATH}${ITEM_ROUTE}?${search.toString()}`;\n}\n"],"mappings":";;;AAIA,SAAgB,cAAc,aAAqB,UAA2B,MAAsB;CAClG,MAAM,SAAS,IAAI,gBAAgB;GAChCA,mBAAAA,mBAAmB;GACnBC,mBAAAA,mBAAmB;CACtB,CAAC;CACD,OAAO,GAAG,YAAY,WAAWC,mBAAAA,gBAAgBC,mBAAAA,WAAW,GAAG,OAAO,SAAS;AACjF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ContextItemKind } from "../../../typesContextApi.mjs";
|
|
2
|
+
//#region src/services/contextApiUrls/index.d.ts
|
|
3
|
+
/** The absolute URL a page reads one row's detail through. */
|
|
4
|
+
export declare function itemDetailUrl(sessionPath: string, itemKind: ContextItemKind, name: string): string;
|
|
5
|
+
//#endregion
|
|
6
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/contextApiUrls/index.ts"],"mappings":";;;wBAIgB,cAAc,qBAAqB,UAAU,iBAAiB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { API_BASE_PATH, ITEM_ROUTE, KIND_QUERY_PARAM, NAME_QUERY_PARAM } from "../../constants/contextApi.mjs";
|
|
2
|
+
//#region src/services/contextApiUrls/index.ts
|
|
3
|
+
/** The absolute URL a page reads one row's detail through. */
|
|
4
|
+
function itemDetailUrl(sessionPath, itemKind, name) {
|
|
5
|
+
const search = new URLSearchParams({
|
|
6
|
+
[KIND_QUERY_PARAM]: itemKind,
|
|
7
|
+
[NAME_QUERY_PARAM]: name
|
|
8
|
+
});
|
|
9
|
+
return `${sessionPath}/plugins/${API_BASE_PATH}${ITEM_ROUTE}?${search.toString()}`;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { itemDetailUrl };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/contextApiUrls/index.ts"],"sourcesContent":["import { API_BASE_PATH, ITEM_ROUTE, NAME_QUERY_PARAM, KIND_QUERY_PARAM } from '../../constants/contextApi';\nimport type { ContextItemKind } from '../../types/contextApi';\n\n/** The absolute URL a page reads one row's detail through. */\nexport function itemDetailUrl(sessionPath: string, itemKind: ContextItemKind, name: string): string {\n const search = new URLSearchParams({\n [KIND_QUERY_PARAM]: itemKind,\n [NAME_QUERY_PARAM]: name,\n });\n return `${sessionPath}/plugins/${API_BASE_PATH}${ITEM_ROUTE}?${search.toString()}`;\n}\n"],"mappings":";;;AAIA,SAAgB,cAAc,aAAqB,UAA2B,MAAsB;CAClG,MAAM,SAAS,IAAI,gBAAgB;GAChC,mBAAmB;GACnB,mBAAmB;CACtB,CAAC;CACD,OAAO,GAAG,YAAY,WAAW,gBAAgB,WAAW,GAAG,OAAO,SAAS;AACjF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
//#region src/services/contextContributions/index.ts
|
|
2
|
+
function compareContributions(left, right) {
|
|
3
|
+
const sourceOrder = left.source < right.source ? -1 : left.source > right.source ? 1 : 0;
|
|
4
|
+
const idOrder = left.id < right.id ? -1 : left.id > right.id ? 1 : 0;
|
|
5
|
+
return left.order - right.order || sourceOrder || idOrder;
|
|
6
|
+
}
|
|
7
|
+
function assertNonEmpty(value, field) {
|
|
8
|
+
if (value.trim().length === 0) throw new Error(`Doom context contribution ${field} must not be empty.`);
|
|
9
|
+
}
|
|
10
|
+
function contributionErrorMessage(error) {
|
|
11
|
+
return error instanceof Error ? error.message : String(error);
|
|
12
|
+
}
|
|
13
|
+
/** Creates the host-owned aggregation service for one Doom session generation. */
|
|
14
|
+
function createDoomContextContributionsService(generation) {
|
|
15
|
+
if (!generation) throw new Error("Doom context contributions require a session generation.");
|
|
16
|
+
const contributions = /* @__PURE__ */ new Map();
|
|
17
|
+
return Object.freeze({
|
|
18
|
+
generation,
|
|
19
|
+
register(contribution) {
|
|
20
|
+
assertNonEmpty(contribution.source, "source");
|
|
21
|
+
assertNonEmpty(contribution.id, "id");
|
|
22
|
+
assertNonEmpty(contribution.label, "label");
|
|
23
|
+
if (!Number.isFinite(contribution.order)) throw new Error("Doom context contribution order must be a finite number.");
|
|
24
|
+
if (typeof contribution.snapshot !== "function") throw new Error("Doom context contribution snapshot must be a function.");
|
|
25
|
+
const key = JSON.stringify([contribution.source, contribution.id]);
|
|
26
|
+
if (contributions.has(key)) throw new Error(`Doom context contribution is already registered: ${contribution.source}/${contribution.id}.`);
|
|
27
|
+
const stored = Object.freeze({
|
|
28
|
+
key,
|
|
29
|
+
source: contribution.source,
|
|
30
|
+
id: contribution.id,
|
|
31
|
+
label: contribution.label,
|
|
32
|
+
order: contribution.order,
|
|
33
|
+
snapshot: () => contribution.snapshot()
|
|
34
|
+
});
|
|
35
|
+
contributions.set(key, stored);
|
|
36
|
+
let disposed = false;
|
|
37
|
+
return Object.freeze({ dispose() {
|
|
38
|
+
if (disposed) return;
|
|
39
|
+
disposed = true;
|
|
40
|
+
if (contributions.get(key) === stored) contributions.delete(key);
|
|
41
|
+
} });
|
|
42
|
+
},
|
|
43
|
+
snapshot() {
|
|
44
|
+
const entries = [];
|
|
45
|
+
const errors = [];
|
|
46
|
+
const ordered = [...contributions.values()].sort(compareContributions);
|
|
47
|
+
for (const contribution of ordered) {
|
|
48
|
+
const identity = {
|
|
49
|
+
source: contribution.source,
|
|
50
|
+
id: contribution.id,
|
|
51
|
+
label: contribution.label,
|
|
52
|
+
order: contribution.order
|
|
53
|
+
};
|
|
54
|
+
try {
|
|
55
|
+
const text = contribution.snapshot();
|
|
56
|
+
if (text === void 0) continue;
|
|
57
|
+
if (typeof text !== "string") throw new Error("Snapshot returned a non-string value.");
|
|
58
|
+
entries.push(Object.freeze({
|
|
59
|
+
...identity,
|
|
60
|
+
text
|
|
61
|
+
}));
|
|
62
|
+
} catch (error) {
|
|
63
|
+
errors.push(Object.freeze({
|
|
64
|
+
...identity,
|
|
65
|
+
message: contributionErrorMessage(error)
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return Object.freeze({
|
|
70
|
+
entries: Object.freeze(entries),
|
|
71
|
+
errors: Object.freeze(errors)
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
exports.createDoomContextContributionsService = createDoomContextContributionsService;
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"sourcesContent":["import type {\n DoomContextContribution,\n DoomContextContributionEntry,\n DoomContextContributionError,\n DoomContextContributionRegistration,\n DoomContextContributionsService,\n DoomContextContributionsSnapshot,\n} from '../../schemas/contextContributions';\n\ninterface StoredContribution extends DoomContextContribution {\n readonly key: string;\n}\n\nfunction compareContributions(left: DoomContextContribution, right: DoomContextContribution): number {\n const sourceOrder = left.source < right.source ? -1 : left.source > right.source ? 1 : 0;\n const idOrder = left.id < right.id ? -1 : left.id > right.id ? 1 : 0;\n return left.order - right.order || sourceOrder || idOrder;\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (value.trim().length === 0) throw new Error(`Doom context contribution ${field} must not be empty.`);\n}\n\nfunction contributionErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n/** Creates the host-owned aggregation service for one Doom session generation. */\nexport function createDoomContextContributionsService(generation: string): DoomContextContributionsService {\n if (!generation) throw new Error('Doom context contributions require a session generation.');\n\n const contributions = new Map<string, StoredContribution>();\n return Object.freeze({\n generation,\n register(contribution: DoomContextContribution): DoomContextContributionRegistration {\n assertNonEmpty(contribution.source, 'source');\n assertNonEmpty(contribution.id, 'id');\n assertNonEmpty(contribution.label, 'label');\n if (!Number.isFinite(contribution.order)) {\n throw new Error('Doom context contribution order must be a finite number.');\n }\n if (typeof contribution.snapshot !== 'function') {\n throw new Error('Doom context contribution snapshot must be a function.');\n }\n\n const key = JSON.stringify([contribution.source, contribution.id]);\n if (contributions.has(key)) {\n throw new Error(`Doom context contribution is already registered: ${contribution.source}/${contribution.id}.`);\n }\n const stored: StoredContribution = Object.freeze({\n key,\n source: contribution.source,\n id: contribution.id,\n label: contribution.label,\n order: contribution.order,\n snapshot: () => contribution.snapshot(),\n });\n contributions.set(key, stored);\n\n let disposed = false;\n return Object.freeze({\n dispose(): void {\n if (disposed) return;\n disposed = true;\n if (contributions.get(key) === stored) contributions.delete(key);\n },\n });\n },\n snapshot(): DoomContextContributionsSnapshot {\n const entries: DoomContextContributionEntry[] = [];\n const errors: DoomContextContributionError[] = [];\n const ordered = [...contributions.values()].sort(compareContributions);\n\n for (const contribution of ordered) {\n const identity = {\n source: contribution.source,\n id: contribution.id,\n label: contribution.label,\n order: contribution.order,\n };\n try {\n const text = contribution.snapshot();\n if (text === undefined) continue;\n if (typeof text !== 'string') throw new Error('Snapshot returned a non-string value.');\n entries.push(Object.freeze({ ...identity, text }));\n } catch (error) {\n errors.push(Object.freeze({ ...identity, message: contributionErrorMessage(error) }));\n }\n }\n\n return Object.freeze({ entries: Object.freeze(entries), errors: Object.freeze(errors) });\n },\n });\n}\n"],"mappings":";AAaA,SAAS,qBAAqB,MAA+B,OAAwC;CACnG,MAAM,cAAc,KAAK,SAAS,MAAM,SAAS,KAAK,KAAK,SAAS,MAAM,SAAS,IAAI;CACvF,MAAM,UAAU,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,IAAI;CACnE,OAAO,KAAK,QAAQ,MAAM,SAAS,eAAe;AACpD;AAEA,SAAS,eAAe,OAAe,OAAqB;CAC1D,IAAI,MAAM,KAAK,CAAC,CAAC,WAAW,GAAG,MAAM,IAAI,MAAM,6BAA6B,MAAM,oBAAoB;AACxG;AAEA,SAAS,yBAAyB,OAAwB;CACxD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAC9D;;AAGA,SAAgB,sCAAsC,YAAqD;CACzG,IAAI,CAAC,YAAY,MAAM,IAAI,MAAM,0DAA0D;CAE3F,MAAM,gCAAgB,IAAI,IAAgC;CAC1D,OAAO,OAAO,OAAO;EACnB;EACA,SAAS,cAA4E;GACnF,eAAe,aAAa,QAAQ,QAAQ;GAC5C,eAAe,aAAa,IAAI,IAAI;GACpC,eAAe,aAAa,OAAO,OAAO;GAC1C,IAAI,CAAC,OAAO,SAAS,aAAa,KAAK,GACrC,MAAM,IAAI,MAAM,0DAA0D;GAE5E,IAAI,OAAO,aAAa,aAAa,YACnC,MAAM,IAAI,MAAM,wDAAwD;GAG1E,MAAM,MAAM,KAAK,UAAU,CAAC,aAAa,QAAQ,aAAa,EAAE,CAAC;GACjE,IAAI,cAAc,IAAI,GAAG,GACvB,MAAM,IAAI,MAAM,oDAAoD,aAAa,OAAO,GAAG,aAAa,GAAG,EAAE;GAE/G,MAAM,SAA6B,OAAO,OAAO;IAC/C;IACA,QAAQ,aAAa;IACrB,IAAI,aAAa;IACjB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,gBAAgB,aAAa,SAAS;GACxC,CAAC;GACD,cAAc,IAAI,KAAK,MAAM;GAE7B,IAAI,WAAW;GACf,OAAO,OAAO,OAAO,EACnB,UAAgB;IACd,IAAI,UAAU;IACd,WAAW;IACX,IAAI,cAAc,IAAI,GAAG,MAAM,QAAQ,cAAc,OAAO,GAAG;GACjE,EACF,CAAC;EACH;EACA,WAA6C;GAC3C,MAAM,UAA0C,CAAC;GACjD,MAAM,SAAyC,CAAC;GAChD,MAAM,UAAU,CAAC,GAAG,cAAc,OAAO,CAAC,CAAC,CAAC,KAAK,oBAAoB;GAErE,KAAK,MAAM,gBAAgB,SAAS;IAClC,MAAM,WAAW;KACf,QAAQ,aAAa;KACrB,IAAI,aAAa;KACjB,OAAO,aAAa;KACpB,OAAO,aAAa;IACtB;IACA,IAAI;KACF,MAAM,OAAO,aAAa,SAAS;KACnC,IAAI,SAAS,KAAA,GAAW;KACxB,IAAI,OAAO,SAAS,UAAU,MAAM,IAAI,MAAM,uCAAuC;KACrF,QAAQ,KAAK,OAAO,OAAO;MAAE,GAAG;MAAU;KAAK,CAAC,CAAC;IACnD,SAAS,OAAO;KACd,OAAO,KAAK,OAAO,OAAO;MAAE,GAAG;MAAU,SAAS,yBAAyB,KAAK;KAAE,CAAC,CAAC;IACtF;GACF;GAEA,OAAO,OAAO,OAAO;IAAE,SAAS,OAAO,OAAO,OAAO;IAAG,QAAQ,OAAO,OAAO,MAAM;GAAE,CAAC;EACzF;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DoomContextContributionsService } from "../../schemas/contextContributions.mjs";
|
|
2
|
+
//#region src/services/contextContributions/index.d.ts
|
|
3
|
+
/** Creates the host-owned aggregation service for one Doom session generation. */
|
|
4
|
+
export declare function createDoomContextContributionsService(generation: string): DoomContextContributionsService;
|
|
5
|
+
//#endregion
|
|
6
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"mappings":";;;wBA4BgB,sCAAsC,qBAAqB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
//#region src/services/contextContributions/index.ts
|
|
2
|
+
function compareContributions(left, right) {
|
|
3
|
+
const sourceOrder = left.source < right.source ? -1 : left.source > right.source ? 1 : 0;
|
|
4
|
+
const idOrder = left.id < right.id ? -1 : left.id > right.id ? 1 : 0;
|
|
5
|
+
return left.order - right.order || sourceOrder || idOrder;
|
|
6
|
+
}
|
|
7
|
+
function assertNonEmpty(value, field) {
|
|
8
|
+
if (value.trim().length === 0) throw new Error(`Doom context contribution ${field} must not be empty.`);
|
|
9
|
+
}
|
|
10
|
+
function contributionErrorMessage(error) {
|
|
11
|
+
return error instanceof Error ? error.message : String(error);
|
|
12
|
+
}
|
|
13
|
+
/** Creates the host-owned aggregation service for one Doom session generation. */
|
|
14
|
+
function createDoomContextContributionsService(generation) {
|
|
15
|
+
if (!generation) throw new Error("Doom context contributions require a session generation.");
|
|
16
|
+
const contributions = /* @__PURE__ */ new Map();
|
|
17
|
+
return Object.freeze({
|
|
18
|
+
generation,
|
|
19
|
+
register(contribution) {
|
|
20
|
+
assertNonEmpty(contribution.source, "source");
|
|
21
|
+
assertNonEmpty(contribution.id, "id");
|
|
22
|
+
assertNonEmpty(contribution.label, "label");
|
|
23
|
+
if (!Number.isFinite(contribution.order)) throw new Error("Doom context contribution order must be a finite number.");
|
|
24
|
+
if (typeof contribution.snapshot !== "function") throw new Error("Doom context contribution snapshot must be a function.");
|
|
25
|
+
const key = JSON.stringify([contribution.source, contribution.id]);
|
|
26
|
+
if (contributions.has(key)) throw new Error(`Doom context contribution is already registered: ${contribution.source}/${contribution.id}.`);
|
|
27
|
+
const stored = Object.freeze({
|
|
28
|
+
key,
|
|
29
|
+
source: contribution.source,
|
|
30
|
+
id: contribution.id,
|
|
31
|
+
label: contribution.label,
|
|
32
|
+
order: contribution.order,
|
|
33
|
+
snapshot: () => contribution.snapshot()
|
|
34
|
+
});
|
|
35
|
+
contributions.set(key, stored);
|
|
36
|
+
let disposed = false;
|
|
37
|
+
return Object.freeze({ dispose() {
|
|
38
|
+
if (disposed) return;
|
|
39
|
+
disposed = true;
|
|
40
|
+
if (contributions.get(key) === stored) contributions.delete(key);
|
|
41
|
+
} });
|
|
42
|
+
},
|
|
43
|
+
snapshot() {
|
|
44
|
+
const entries = [];
|
|
45
|
+
const errors = [];
|
|
46
|
+
const ordered = [...contributions.values()].sort(compareContributions);
|
|
47
|
+
for (const contribution of ordered) {
|
|
48
|
+
const identity = {
|
|
49
|
+
source: contribution.source,
|
|
50
|
+
id: contribution.id,
|
|
51
|
+
label: contribution.label,
|
|
52
|
+
order: contribution.order
|
|
53
|
+
};
|
|
54
|
+
try {
|
|
55
|
+
const text = contribution.snapshot();
|
|
56
|
+
if (text === void 0) continue;
|
|
57
|
+
if (typeof text !== "string") throw new Error("Snapshot returned a non-string value.");
|
|
58
|
+
entries.push(Object.freeze({
|
|
59
|
+
...identity,
|
|
60
|
+
text
|
|
61
|
+
}));
|
|
62
|
+
} catch (error) {
|
|
63
|
+
errors.push(Object.freeze({
|
|
64
|
+
...identity,
|
|
65
|
+
message: contributionErrorMessage(error)
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return Object.freeze({
|
|
70
|
+
entries: Object.freeze(entries),
|
|
71
|
+
errors: Object.freeze(errors)
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { createDoomContextContributionsService };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"sourcesContent":["import type {\n DoomContextContribution,\n DoomContextContributionEntry,\n DoomContextContributionError,\n DoomContextContributionRegistration,\n DoomContextContributionsService,\n DoomContextContributionsSnapshot,\n} from '../../schemas/contextContributions';\n\ninterface StoredContribution extends DoomContextContribution {\n readonly key: string;\n}\n\nfunction compareContributions(left: DoomContextContribution, right: DoomContextContribution): number {\n const sourceOrder = left.source < right.source ? -1 : left.source > right.source ? 1 : 0;\n const idOrder = left.id < right.id ? -1 : left.id > right.id ? 1 : 0;\n return left.order - right.order || sourceOrder || idOrder;\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (value.trim().length === 0) throw new Error(`Doom context contribution ${field} must not be empty.`);\n}\n\nfunction contributionErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n/** Creates the host-owned aggregation service for one Doom session generation. */\nexport function createDoomContextContributionsService(generation: string): DoomContextContributionsService {\n if (!generation) throw new Error('Doom context contributions require a session generation.');\n\n const contributions = new Map<string, StoredContribution>();\n return Object.freeze({\n generation,\n register(contribution: DoomContextContribution): DoomContextContributionRegistration {\n assertNonEmpty(contribution.source, 'source');\n assertNonEmpty(contribution.id, 'id');\n assertNonEmpty(contribution.label, 'label');\n if (!Number.isFinite(contribution.order)) {\n throw new Error('Doom context contribution order must be a finite number.');\n }\n if (typeof contribution.snapshot !== 'function') {\n throw new Error('Doom context contribution snapshot must be a function.');\n }\n\n const key = JSON.stringify([contribution.source, contribution.id]);\n if (contributions.has(key)) {\n throw new Error(`Doom context contribution is already registered: ${contribution.source}/${contribution.id}.`);\n }\n const stored: StoredContribution = Object.freeze({\n key,\n source: contribution.source,\n id: contribution.id,\n label: contribution.label,\n order: contribution.order,\n snapshot: () => contribution.snapshot(),\n });\n contributions.set(key, stored);\n\n let disposed = false;\n return Object.freeze({\n dispose(): void {\n if (disposed) return;\n disposed = true;\n if (contributions.get(key) === stored) contributions.delete(key);\n },\n });\n },\n snapshot(): DoomContextContributionsSnapshot {\n const entries: DoomContextContributionEntry[] = [];\n const errors: DoomContextContributionError[] = [];\n const ordered = [...contributions.values()].sort(compareContributions);\n\n for (const contribution of ordered) {\n const identity = {\n source: contribution.source,\n id: contribution.id,\n label: contribution.label,\n order: contribution.order,\n };\n try {\n const text = contribution.snapshot();\n if (text === undefined) continue;\n if (typeof text !== 'string') throw new Error('Snapshot returned a non-string value.');\n entries.push(Object.freeze({ ...identity, text }));\n } catch (error) {\n errors.push(Object.freeze({ ...identity, message: contributionErrorMessage(error) }));\n }\n }\n\n return Object.freeze({ entries: Object.freeze(entries), errors: Object.freeze(errors) });\n },\n });\n}\n"],"mappings":";AAaA,SAAS,qBAAqB,MAA+B,OAAwC;CACnG,MAAM,cAAc,KAAK,SAAS,MAAM,SAAS,KAAK,KAAK,SAAS,MAAM,SAAS,IAAI;CACvF,MAAM,UAAU,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,IAAI;CACnE,OAAO,KAAK,QAAQ,MAAM,SAAS,eAAe;AACpD;AAEA,SAAS,eAAe,OAAe,OAAqB;CAC1D,IAAI,MAAM,KAAK,CAAC,CAAC,WAAW,GAAG,MAAM,IAAI,MAAM,6BAA6B,MAAM,oBAAoB;AACxG;AAEA,SAAS,yBAAyB,OAAwB;CACxD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAC9D;;AAGA,SAAgB,sCAAsC,YAAqD;CACzG,IAAI,CAAC,YAAY,MAAM,IAAI,MAAM,0DAA0D;CAE3F,MAAM,gCAAgB,IAAI,IAAgC;CAC1D,OAAO,OAAO,OAAO;EACnB;EACA,SAAS,cAA4E;GACnF,eAAe,aAAa,QAAQ,QAAQ;GAC5C,eAAe,aAAa,IAAI,IAAI;GACpC,eAAe,aAAa,OAAO,OAAO;GAC1C,IAAI,CAAC,OAAO,SAAS,aAAa,KAAK,GACrC,MAAM,IAAI,MAAM,0DAA0D;GAE5E,IAAI,OAAO,aAAa,aAAa,YACnC,MAAM,IAAI,MAAM,wDAAwD;GAG1E,MAAM,MAAM,KAAK,UAAU,CAAC,aAAa,QAAQ,aAAa,EAAE,CAAC;GACjE,IAAI,cAAc,IAAI,GAAG,GACvB,MAAM,IAAI,MAAM,oDAAoD,aAAa,OAAO,GAAG,aAAa,GAAG,EAAE;GAE/G,MAAM,SAA6B,OAAO,OAAO;IAC/C;IACA,QAAQ,aAAa;IACrB,IAAI,aAAa;IACjB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,gBAAgB,aAAa,SAAS;GACxC,CAAC;GACD,cAAc,IAAI,KAAK,MAAM;GAE7B,IAAI,WAAW;GACf,OAAO,OAAO,OAAO,EACnB,UAAgB;IACd,IAAI,UAAU;IACd,WAAW;IACX,IAAI,cAAc,IAAI,GAAG,MAAM,QAAQ,cAAc,OAAO,GAAG;GACjE,EACF,CAAC;EACH;EACA,WAA6C;GAC3C,MAAM,UAA0C,CAAC;GACjD,MAAM,SAAyC,CAAC;GAChD,MAAM,UAAU,CAAC,GAAG,cAAc,OAAO,CAAC,CAAC,CAAC,KAAK,oBAAoB;GAErE,KAAK,MAAM,gBAAgB,SAAS;IAClC,MAAM,WAAW;KACf,QAAQ,aAAa;KACrB,IAAI,aAAa;KACjB,OAAO,aAAa;KACpB,OAAO,aAAa;IACtB;IACA,IAAI;KACF,MAAM,OAAO,aAAa,SAAS;KACnC,IAAI,SAAS,KAAA,GAAW;KACxB,IAAI,OAAO,SAAS,UAAU,MAAM,IAAI,MAAM,uCAAuC;KACrF,QAAQ,KAAK,OAAO,OAAO;MAAE,GAAG;MAAU;KAAK,CAAC,CAAC;IACnD,SAAS,OAAO;KACd,OAAO,KAAK,OAAO,OAAO;MAAE,GAAG;MAAU,SAAS,yBAAyB,KAAK;KAAE,CAAC,CAAC;IACtF;GACF;GAEA,OAAO,OAAO,OAAO;IAAE,SAAS,OAAO,OAAO,OAAO;IAAG,QAAQ,OAAO,OAAO,MAAM;GAAE,CAAC;EACzF;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/services/contextUsage/index.ts
|
|
2
|
+
function contextTokensOf(usage) {
|
|
3
|
+
return usage === void 0 ? null : usage.input + usage.cacheRead + usage.cacheWrite;
|
|
4
|
+
}
|
|
5
|
+
/** Undefined when the active model declares no window, the one case where no ratio exists. */
|
|
6
|
+
function contextUsageOf(tokens, contextWindow) {
|
|
7
|
+
if (contextWindow === void 0) return void 0;
|
|
8
|
+
return {
|
|
9
|
+
tokens,
|
|
10
|
+
contextWindow,
|
|
11
|
+
percent: tokens === null ? null : Math.round(tokens / contextWindow * 100)
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/** The newest assistant usage on a branch, for priming a live counter from persisted history. */
|
|
15
|
+
function latestAssistantUsage(entries) {
|
|
16
|
+
for (let index = entries.length - 1; index >= 0; index -= 1) {
|
|
17
|
+
const entry = entries[index];
|
|
18
|
+
if (entry?.type !== "message" || entry.message.role !== "assistant") continue;
|
|
19
|
+
return entry.message.usage;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.contextTokensOf = contextTokensOf;
|
|
24
|
+
exports.contextUsageOf = contextUsageOf;
|
|
25
|
+
exports.latestAssistantUsage = latestAssistantUsage;
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/contextUsage/index.ts"],"sourcesContent":["/**\n * How much of the model's window a conversation currently occupies.\n *\n * Occupancy is the last assistant turn's non-output tokens: input plus both\n * cache halves. Output tokens are already counted inside the next request's\n * input, so adding them would report the tail of the conversation twice.\n *\n * Two callers need this number and they reach it differently. The cockpit reads\n * the branch on demand; the Pi extension bridge tracks it from the message the\n * harness just finished. Both have to agree on what \"context tokens\" means, so\n * the definition lives here rather than at either call site.\n */\nimport type { Entry } from '@earendil-works/pi-agent-core';\nimport type { Usage } from '@earendil-works/pi-ai';\n\nexport interface ContextUsage {\n /** Null while unknown: no assistant message has been measured against the current context yet. */\n tokens: number | null;\n contextWindow: number;\n percent: number | null;\n}\n\nexport function contextTokensOf(usage: Usage | undefined): number | null {\n return usage === undefined ? null : usage.input + usage.cacheRead + usage.cacheWrite;\n}\n\n/** Undefined when the active model declares no window, the one case where no ratio exists. */\nexport function contextUsageOf(tokens: number | null, contextWindow: number | undefined): ContextUsage | undefined {\n if (contextWindow === undefined) return undefined;\n return {\n tokens,\n contextWindow,\n percent: tokens === null ? null : Math.round((tokens / contextWindow) * 100),\n };\n}\n\n/** The newest assistant usage on a branch, for priming a live counter from persisted history. */\nexport function latestAssistantUsage(entries: readonly Entry[]): Usage | undefined {\n for (let index = entries.length - 1; index >= 0; index -= 1) {\n const entry = entries[index];\n if (entry?.type !== 'message' || entry.message.role !== 'assistant') continue;\n return entry.message.usage;\n }\n return undefined;\n}\n"],"mappings":";AAsBA,SAAgB,gBAAgB,OAAyC;CACvE,OAAO,UAAU,KAAA,IAAY,OAAO,MAAM,QAAQ,MAAM,YAAY,MAAM;AAC5E;;AAGA,SAAgB,eAAe,QAAuB,eAA6D;CACjH,IAAI,kBAAkB,KAAA,GAAW,OAAO,KAAA;CACxC,OAAO;EACL;EACA;EACA,SAAS,WAAW,OAAO,OAAO,KAAK,MAAO,SAAS,gBAAiB,GAAG;CAC7E;AACF;;AAGA,SAAgB,qBAAqB,SAA8C;CACjF,KAAK,IAAI,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG;EAC3D,MAAM,QAAQ,QAAQ;EACtB,IAAI,OAAO,SAAS,aAAa,MAAM,QAAQ,SAAS,aAAa;EACrE,OAAO,MAAM,QAAQ;CACvB;AAEF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/services/contextUsage/index.ts
|
|
2
|
+
function contextTokensOf(usage) {
|
|
3
|
+
return usage === void 0 ? null : usage.input + usage.cacheRead + usage.cacheWrite;
|
|
4
|
+
}
|
|
5
|
+
/** Undefined when the active model declares no window, the one case where no ratio exists. */
|
|
6
|
+
function contextUsageOf(tokens, contextWindow) {
|
|
7
|
+
if (contextWindow === void 0) return void 0;
|
|
8
|
+
return {
|
|
9
|
+
tokens,
|
|
10
|
+
contextWindow,
|
|
11
|
+
percent: tokens === null ? null : Math.round(tokens / contextWindow * 100)
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/** The newest assistant usage on a branch, for priming a live counter from persisted history. */
|
|
15
|
+
function latestAssistantUsage(entries) {
|
|
16
|
+
for (let index = entries.length - 1; index >= 0; index -= 1) {
|
|
17
|
+
const entry = entries[index];
|
|
18
|
+
if (entry?.type !== "message" || entry.message.role !== "assistant") continue;
|
|
19
|
+
return entry.message.usage;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { contextTokensOf, contextUsageOf, latestAssistantUsage };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/contextUsage/index.ts"],"sourcesContent":["/**\n * How much of the model's window a conversation currently occupies.\n *\n * Occupancy is the last assistant turn's non-output tokens: input plus both\n * cache halves. Output tokens are already counted inside the next request's\n * input, so adding them would report the tail of the conversation twice.\n *\n * Two callers need this number and they reach it differently. The cockpit reads\n * the branch on demand; the Pi extension bridge tracks it from the message the\n * harness just finished. Both have to agree on what \"context tokens\" means, so\n * the definition lives here rather than at either call site.\n */\nimport type { Entry } from '@earendil-works/pi-agent-core';\nimport type { Usage } from '@earendil-works/pi-ai';\n\nexport interface ContextUsage {\n /** Null while unknown: no assistant message has been measured against the current context yet. */\n tokens: number | null;\n contextWindow: number;\n percent: number | null;\n}\n\nexport function contextTokensOf(usage: Usage | undefined): number | null {\n return usage === undefined ? null : usage.input + usage.cacheRead + usage.cacheWrite;\n}\n\n/** Undefined when the active model declares no window, the one case where no ratio exists. */\nexport function contextUsageOf(tokens: number | null, contextWindow: number | undefined): ContextUsage | undefined {\n if (contextWindow === undefined) return undefined;\n return {\n tokens,\n contextWindow,\n percent: tokens === null ? null : Math.round((tokens / contextWindow) * 100),\n };\n}\n\n/** The newest assistant usage on a branch, for priming a live counter from persisted history. */\nexport function latestAssistantUsage(entries: readonly Entry[]): Usage | undefined {\n for (let index = entries.length - 1; index >= 0; index -= 1) {\n const entry = entries[index];\n if (entry?.type !== 'message' || entry.message.role !== 'assistant') continue;\n return entry.message.usage;\n }\n return undefined;\n}\n"],"mappings":";AAsBA,SAAgB,gBAAgB,OAAyC;CACvE,OAAO,UAAU,KAAA,IAAY,OAAO,MAAM,QAAQ,MAAM,YAAY,MAAM;AAC5E;;AAGA,SAAgB,eAAe,QAAuB,eAA6D;CACjH,IAAI,kBAAkB,KAAA,GAAW,OAAO,KAAA;CACxC,OAAO;EACL;EACA;EACA,SAAS,WAAW,OAAO,OAAO,KAAK,MAAO,SAAS,gBAAiB,GAAG;CAC7E;AACF;;AAGA,SAAgB,qBAAqB,SAA8C;CACjF,KAAK,IAAI,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG;EAC3D,MAAM,QAAQ,QAAQ;EACtB,IAAI,OAAO,SAAS,aAAa,MAAM,QAAQ,SAAS,aAAa;EACrE,OAAO,MAAM,QAAQ;CACvB;AAEF"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
const require_remote = require("../../constants/remote.cjs");
|
|
2
|
+
//#region src/services/devProxyPolicy/index.ts
|
|
3
|
+
/**
|
|
4
|
+
* What the dev proxy will forward, and where.
|
|
5
|
+
*
|
|
6
|
+
* Pure, with no I/O, so the whole decision surface of a feature that reaches
|
|
7
|
+
* loopback services can be read in one sitting and tested without a server.
|
|
8
|
+
*
|
|
9
|
+
* The upstream host is not a parameter anywhere in this module, and a target
|
|
10
|
+
* is a port and nothing else. Accepting a hostname would mean resolving one,
|
|
11
|
+
* and a resolver turns a fixed destination into an attacker-chosen one through
|
|
12
|
+
* DNS rebinding, decimal and octal address spellings, and IPv4-mapped IPv6
|
|
13
|
+
* forms. Refusing the parameter forecloses that family rather than filtering
|
|
14
|
+
* it. Which of the two loopback literals actually answers is settled in
|
|
15
|
+
* the loopbackAddress service, from the port alone.
|
|
16
|
+
*/
|
|
17
|
+
const MAX_NAME_LENGTH = 32;
|
|
18
|
+
/**
|
|
19
|
+
* Lowercase, digits and dashes, opening on an alphanumeric.
|
|
20
|
+
*
|
|
21
|
+
* The name is a path segment and it is also what the developer types into
|
|
22
|
+
* `base: '/devproxy/<name>/'`, so it stays in the character set that needs no
|
|
23
|
+
* escaping in either place.
|
|
24
|
+
*/
|
|
25
|
+
const TARGET_NAME = /^[a-z0-9][a-z0-9-]{0,31}$/u;
|
|
26
|
+
const MIN_PORT = 1;
|
|
27
|
+
const MAX_PORT = 65535;
|
|
28
|
+
function validateTargetName(raw) {
|
|
29
|
+
if (typeof raw !== "string") return {
|
|
30
|
+
ok: false,
|
|
31
|
+
reason: "A target name must be text."
|
|
32
|
+
};
|
|
33
|
+
const name = raw.trim().toLowerCase();
|
|
34
|
+
if (name === "") return {
|
|
35
|
+
ok: false,
|
|
36
|
+
reason: "A target needs a name."
|
|
37
|
+
};
|
|
38
|
+
if (name.length > MAX_NAME_LENGTH) return {
|
|
39
|
+
ok: false,
|
|
40
|
+
reason: `A target name is at most ${String(MAX_NAME_LENGTH)} characters.`
|
|
41
|
+
};
|
|
42
|
+
if (!TARGET_NAME.test(name)) return {
|
|
43
|
+
ok: false,
|
|
44
|
+
reason: "A target name uses lowercase letters, digits and dashes, starting with a letter or digit."
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
ok: true,
|
|
48
|
+
name
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Whether this port may be proxied.
|
|
53
|
+
*
|
|
54
|
+
* `reserved` is read fresh by the caller on every attempt rather than captured
|
|
55
|
+
* once, because the cockpit's own ports are only known after it binds and the
|
|
56
|
+
* tunnel port changes when remote access is toggled. A cached list would go
|
|
57
|
+
* stale in exactly the direction that matters, letting the proxy point at the
|
|
58
|
+
* cockpit itself.
|
|
59
|
+
*/
|
|
60
|
+
function validateTargetPort(raw, reserved) {
|
|
61
|
+
const port = typeof raw === "number" ? raw : Number(raw);
|
|
62
|
+
if (!Number.isSafeInteger(port)) return {
|
|
63
|
+
ok: false,
|
|
64
|
+
reason: "A port must be a whole number."
|
|
65
|
+
};
|
|
66
|
+
if (port < MIN_PORT || port > MAX_PORT) return {
|
|
67
|
+
ok: false,
|
|
68
|
+
reason: `A port is between ${String(MIN_PORT)} and ${String(MAX_PORT)}.`
|
|
69
|
+
};
|
|
70
|
+
if (reserved.includes(port)) return {
|
|
71
|
+
ok: false,
|
|
72
|
+
reason: "That port belongs to the cockpit itself."
|
|
73
|
+
};
|
|
74
|
+
return {
|
|
75
|
+
ok: true,
|
|
76
|
+
port
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Whether a path segment tries to climb out of the prefix.
|
|
81
|
+
*
|
|
82
|
+
* Checked before and after percent-decoding. A proxy that only checked the raw
|
|
83
|
+
* form would forward `%2e%2e`, and an upstream that decodes before resolving
|
|
84
|
+
* would then walk out of the tree the operator meant to expose.
|
|
85
|
+
*/
|
|
86
|
+
function escapesPrefix(upstreamPath) {
|
|
87
|
+
let decoded;
|
|
88
|
+
try {
|
|
89
|
+
decoded = decodeURIComponent(upstreamPath);
|
|
90
|
+
} catch {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
for (const candidate of [upstreamPath, decoded]) for (const segment of candidate.split("/")) if (segment === "." || segment === "..") return true;
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Whether this path is one the dev proxy owns.
|
|
98
|
+
*
|
|
99
|
+
* The remote guard and the proxy handler must agree about this, and they do not
|
|
100
|
+
* see the same string: Hono's router hands the guard a raw slice of the request
|
|
101
|
+
* line, while the handler reads `new URL(...).pathname`, which resolves `..`
|
|
102
|
+
* before anyone looks at it. So `/devproxy/x/../../api/health` can be a proxy
|
|
103
|
+
* path to one and an API path to the other, and a guard that answered on the
|
|
104
|
+
* prefix alone would grant an `/api/` request the direct, unsealed treatment.
|
|
105
|
+
*
|
|
106
|
+
* Refusing every dot segment removes the disagreement instead of trying to
|
|
107
|
+
* predict it. A legitimate asset URL has no reason to carry one.
|
|
108
|
+
*/
|
|
109
|
+
function isDevProxyPath(path) {
|
|
110
|
+
if (!path.startsWith("/devproxy/")) return false;
|
|
111
|
+
return !escapesPrefix(path.slice(require_remote.DEV_PROXY_PREFIX.length));
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Identifies the target a proxied request belongs to.
|
|
115
|
+
*
|
|
116
|
+
* `upstreamPath` is the request path unchanged, prefix included. That is the
|
|
117
|
+
* whole trick, and getting it wrong costs a redirect loop: the target is
|
|
118
|
+
* configured with `base: '/devproxy/<name>/'`, so it believes it is serving
|
|
119
|
+
* there and redirects anything at `/` back to its base. Stripping the prefix
|
|
120
|
+
* would hand it `/`, take its redirect, and go round again. nginx draws the
|
|
121
|
+
* same distinction between `proxy_pass http://host/` and `proxy_pass
|
|
122
|
+
* http://host`; this is the second one.
|
|
123
|
+
*
|
|
124
|
+
* Reads the raw, still-encoded pathname. Hono routes and the remote guard both
|
|
125
|
+
* work on the decoded value, so a request that only becomes `/devproxy/...`
|
|
126
|
+
* after decoding would reach this handler, and passing the encoded form
|
|
127
|
+
* through untouched is what makes a file named `a b.png` load.
|
|
128
|
+
*/
|
|
129
|
+
function parseProxyPath(rawPathname) {
|
|
130
|
+
if (!rawPathname.startsWith("/devproxy/")) return {
|
|
131
|
+
kind: "reject",
|
|
132
|
+
reason: "Not a proxied path."
|
|
133
|
+
};
|
|
134
|
+
const rest = rawPathname.slice(require_remote.DEV_PROXY_PREFIX.length);
|
|
135
|
+
const boundary = rest.indexOf("/");
|
|
136
|
+
if (boundary === -1) {
|
|
137
|
+
const verdict = validateTargetName(rest);
|
|
138
|
+
if (!verdict.ok) return {
|
|
139
|
+
kind: "reject",
|
|
140
|
+
reason: verdict.reason
|
|
141
|
+
};
|
|
142
|
+
return {
|
|
143
|
+
kind: "redirect",
|
|
144
|
+
location: `${require_remote.DEV_PROXY_PREFIX}${verdict.name}/`
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const verdict = validateTargetName(rest.slice(0, boundary));
|
|
148
|
+
if (!verdict.ok) return {
|
|
149
|
+
kind: "reject",
|
|
150
|
+
reason: verdict.reason
|
|
151
|
+
};
|
|
152
|
+
if (escapesPrefix(rest.slice(boundary))) return {
|
|
153
|
+
kind: "reject",
|
|
154
|
+
reason: "That path leaves the proxied target."
|
|
155
|
+
};
|
|
156
|
+
return {
|
|
157
|
+
kind: "match",
|
|
158
|
+
name: verdict.name,
|
|
159
|
+
upstreamPath: rawPathname
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
//#endregion
|
|
163
|
+
exports.isDevProxyPath = isDevProxyPath;
|
|
164
|
+
exports.parseProxyPath = parseProxyPath;
|
|
165
|
+
exports.validateTargetName = validateTargetName;
|
|
166
|
+
exports.validateTargetPort = validateTargetPort;
|
|
167
|
+
|
|
168
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["DEV_PROXY_PREFIX"],"sources":["../../../../src/services/devProxyPolicy/index.ts"],"sourcesContent":["/**\n * What the dev proxy will forward, and where.\n *\n * Pure, with no I/O, so the whole decision surface of a feature that reaches\n * loopback services can be read in one sitting and tested without a server.\n *\n * The upstream host is not a parameter anywhere in this module, and a target\n * is a port and nothing else. Accepting a hostname would mean resolving one,\n * and a resolver turns a fixed destination into an attacker-chosen one through\n * DNS rebinding, decimal and octal address spellings, and IPv4-mapped IPv6\n * forms. Refusing the parameter forecloses that family rather than filtering\n * it. Which of the two loopback literals actually answers is settled in\n * the loopbackAddress service, from the port alone.\n */\n\nimport { DEV_PROXY_PREFIX } from '../../constants/remote';\n\nconst MAX_NAME_LENGTH = 32;\n/**\n * Lowercase, digits and dashes, opening on an alphanumeric.\n *\n * The name is a path segment and it is also what the developer types into\n * `base: '/devproxy/<name>/'`, so it stays in the character set that needs no\n * escaping in either place.\n */\nconst TARGET_NAME = /^[a-z0-9][a-z0-9-]{0,31}$/u;\nconst MIN_PORT = 1;\nconst MAX_PORT = 65_535;\n\nexport type NameVerdict = { ok: true; name: string } | { ok: false; reason: string };\n\nexport type PortVerdict = { ok: true; port: number } | { ok: false; reason: string };\n\nexport type ProxyPathVerdict =\n | { kind: 'match'; name: string; /** The path unchanged, prefix included. */ upstreamPath: string }\n | { kind: 'redirect'; location: string }\n | { kind: 'reject'; reason: string };\n\nexport function validateTargetName(raw: unknown): NameVerdict {\n if (typeof raw !== 'string') return { ok: false, reason: 'A target name must be text.' };\n const name = raw.trim().toLowerCase();\n if (name === '') return { ok: false, reason: 'A target needs a name.' };\n if (name.length > MAX_NAME_LENGTH) {\n return { ok: false, reason: `A target name is at most ${String(MAX_NAME_LENGTH)} characters.` };\n }\n if (!TARGET_NAME.test(name)) {\n return {\n ok: false,\n reason: 'A target name uses lowercase letters, digits and dashes, starting with a letter or digit.',\n };\n }\n return { ok: true, name };\n}\n\n/**\n * Whether this port may be proxied.\n *\n * `reserved` is read fresh by the caller on every attempt rather than captured\n * once, because the cockpit's own ports are only known after it binds and the\n * tunnel port changes when remote access is toggled. A cached list would go\n * stale in exactly the direction that matters, letting the proxy point at the\n * cockpit itself.\n */\nexport function validateTargetPort(raw: unknown, reserved: readonly (number | undefined)[]): PortVerdict {\n const port = typeof raw === 'number' ? raw : Number(raw);\n if (!Number.isSafeInteger(port)) return { ok: false, reason: 'A port must be a whole number.' };\n if (port < MIN_PORT || port > MAX_PORT) {\n return { ok: false, reason: `A port is between ${String(MIN_PORT)} and ${String(MAX_PORT)}.` };\n }\n if (reserved.includes(port)) return { ok: false, reason: 'That port belongs to the cockpit itself.' };\n return { ok: true, port };\n}\n\n/**\n * Whether a path segment tries to climb out of the prefix.\n *\n * Checked before and after percent-decoding. A proxy that only checked the raw\n * form would forward `%2e%2e`, and an upstream that decodes before resolving\n * would then walk out of the tree the operator meant to expose.\n */\nfunction escapesPrefix(upstreamPath: string): boolean {\n let decoded: string;\n try {\n decoded = decodeURIComponent(upstreamPath);\n } catch {\n // A malformed percent sequence is not a path this proxy needs to serve.\n return true;\n }\n for (const candidate of [upstreamPath, decoded]) {\n for (const segment of candidate.split('/')) {\n if (segment === '.' || segment === '..') return true;\n }\n }\n return false;\n}\n\n/**\n * Whether this path is one the dev proxy owns.\n *\n * The remote guard and the proxy handler must agree about this, and they do not\n * see the same string: Hono's router hands the guard a raw slice of the request\n * line, while the handler reads `new URL(...).pathname`, which resolves `..`\n * before anyone looks at it. So `/devproxy/x/../../api/health` can be a proxy\n * path to one and an API path to the other, and a guard that answered on the\n * prefix alone would grant an `/api/` request the direct, unsealed treatment.\n *\n * Refusing every dot segment removes the disagreement instead of trying to\n * predict it. A legitimate asset URL has no reason to carry one.\n */\nexport function isDevProxyPath(path: string): boolean {\n if (!path.startsWith(DEV_PROXY_PREFIX)) return false;\n return !escapesPrefix(path.slice(DEV_PROXY_PREFIX.length));\n}\n/**\n * Identifies the target a proxied request belongs to.\n *\n * `upstreamPath` is the request path unchanged, prefix included. That is the\n * whole trick, and getting it wrong costs a redirect loop: the target is\n * configured with `base: '/devproxy/<name>/'`, so it believes it is serving\n * there and redirects anything at `/` back to its base. Stripping the prefix\n * would hand it `/`, take its redirect, and go round again. nginx draws the\n * same distinction between `proxy_pass http://host/` and `proxy_pass\n * http://host`; this is the second one.\n *\n * Reads the raw, still-encoded pathname. Hono routes and the remote guard both\n * work on the decoded value, so a request that only becomes `/devproxy/...`\n * after decoding would reach this handler, and passing the encoded form\n * through untouched is what makes a file named `a b.png` load.\n */\nexport function parseProxyPath(rawPathname: string): ProxyPathVerdict {\n if (!rawPathname.startsWith(DEV_PROXY_PREFIX)) return { kind: 'reject', reason: 'Not a proxied path.' };\n const rest = rawPathname.slice(DEV_PROXY_PREFIX.length);\n const boundary = rest.indexOf('/');\n\n if (boundary === -1) {\n const verdict = validateTargetName(rest);\n if (!verdict.ok) return { kind: 'reject', reason: verdict.reason };\n // A dev server serving at its own root needs the trailing slash, or every\n // relative URL on the page resolves one level too high. nginx answers the\n // same way rather than guessing.\n return { kind: 'redirect', location: `${DEV_PROXY_PREFIX}${verdict.name}/` };\n }\n\n const verdict = validateTargetName(rest.slice(0, boundary));\n if (!verdict.ok) return { kind: 'reject', reason: verdict.reason };\n if (escapesPrefix(rest.slice(boundary))) {\n return { kind: 'reject', reason: 'That path leaves the proxied target.' };\n }\n return { kind: 'match', name: verdict.name, upstreamPath: rawPathname };\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAM,kBAAkB;;;;;;;;AAQxB,MAAM,cAAc;AACpB,MAAM,WAAW;AACjB,MAAM,WAAW;AAWjB,SAAgB,mBAAmB,KAA2B;CAC5D,IAAI,OAAO,QAAQ,UAAU,OAAO;EAAE,IAAI;EAAO,QAAQ;CAA8B;CACvF,MAAM,OAAO,IAAI,KAAK,CAAC,CAAC,YAAY;CACpC,IAAI,SAAS,IAAI,OAAO;EAAE,IAAI;EAAO,QAAQ;CAAyB;CACtE,IAAI,KAAK,SAAS,iBAChB,OAAO;EAAE,IAAI;EAAO,QAAQ,4BAA4B,OAAO,eAAe,EAAE;CAAc;CAEhG,IAAI,CAAC,YAAY,KAAK,IAAI,GACxB,OAAO;EACL,IAAI;EACJ,QAAQ;CACV;CAEF,OAAO;EAAE,IAAI;EAAM;CAAK;AAC1B;;;;;;;;;;AAWA,SAAgB,mBAAmB,KAAc,UAAwD;CACvG,MAAM,OAAO,OAAO,QAAQ,WAAW,MAAM,OAAO,GAAG;CACvD,IAAI,CAAC,OAAO,cAAc,IAAI,GAAG,OAAO;EAAE,IAAI;EAAO,QAAQ;CAAiC;CAC9F,IAAI,OAAO,YAAY,OAAO,UAC5B,OAAO;EAAE,IAAI;EAAO,QAAQ,qBAAqB,OAAO,QAAQ,EAAE,OAAO,OAAO,QAAQ,EAAE;CAAG;CAE/F,IAAI,SAAS,SAAS,IAAI,GAAG,OAAO;EAAE,IAAI;EAAO,QAAQ;CAA2C;CACpG,OAAO;EAAE,IAAI;EAAM;CAAK;AAC1B;;;;;;;;AASA,SAAS,cAAc,cAA+B;CACpD,IAAI;CACJ,IAAI;EACF,UAAU,mBAAmB,YAAY;CAC3C,QAAQ;EAEN,OAAO;CACT;CACA,KAAK,MAAM,aAAa,CAAC,cAAc,OAAO,GAC5C,KAAK,MAAM,WAAW,UAAU,MAAM,GAAG,GACvC,IAAI,YAAY,OAAO,YAAY,MAAM,OAAO;CAGpD,OAAO;AACT;;;;;;;;;;;;;;AAeA,SAAgB,eAAe,MAAuB;CACpD,IAAI,CAAC,KAAK,WAAA,YAA2B,GAAG,OAAO;CAC/C,OAAO,CAAC,cAAc,KAAK,MAAMA,eAAAA,iBAAiB,MAAM,CAAC;AAC3D;;;;;;;;;;;;;;;;;AAiBA,SAAgB,eAAe,aAAuC;CACpE,IAAI,CAAC,YAAY,WAAA,YAA2B,GAAG,OAAO;EAAE,MAAM;EAAU,QAAQ;CAAsB;CACtG,MAAM,OAAO,YAAY,MAAMA,eAAAA,iBAAiB,MAAM;CACtD,MAAM,WAAW,KAAK,QAAQ,GAAG;CAEjC,IAAI,aAAa,IAAI;EACnB,MAAM,UAAU,mBAAmB,IAAI;EACvC,IAAI,CAAC,QAAQ,IAAI,OAAO;GAAE,MAAM;GAAU,QAAQ,QAAQ;EAAO;EAIjE,OAAO;GAAE,MAAM;GAAY,UAAU,GAAGA,eAAAA,mBAAmB,QAAQ,KAAK;EAAG;CAC7E;CAEA,MAAM,UAAU,mBAAmB,KAAK,MAAM,GAAG,QAAQ,CAAC;CAC1D,IAAI,CAAC,QAAQ,IAAI,OAAO;EAAE,MAAM;EAAU,QAAQ,QAAQ;CAAO;CACjE,IAAI,cAAc,KAAK,MAAM,QAAQ,CAAC,GACpC,OAAO;EAAE,MAAM;EAAU,QAAQ;CAAuC;CAE1E,OAAO;EAAE,MAAM;EAAS,MAAM,QAAQ;EAAM,cAAc;CAAY;AACxE"}
|