@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,125 @@
|
|
|
1
|
+
import { DOOM_NOTIFICATION_ENTRY_TYPE, createDoomNotificationEntryData } from "../../schemas/notification.mjs";
|
|
2
|
+
import "../../../notification.mjs";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
//#region src/services/headlessClient/index.ts
|
|
5
|
+
/** Explicit client interactions over the existing browser dialog protocol. */
|
|
6
|
+
function createHeadlessClient(options) {
|
|
7
|
+
const pending = /* @__PURE__ */ new Map();
|
|
8
|
+
let disposed = false;
|
|
9
|
+
const advance = () => pending.values().next().value?.start();
|
|
10
|
+
return {
|
|
11
|
+
client: {
|
|
12
|
+
async notify(request) {
|
|
13
|
+
if (disposed) throw new Error("Headless client is closed");
|
|
14
|
+
const data = createDoomNotificationEntryData(request);
|
|
15
|
+
if (!data) throw new Error("Invalid notification request");
|
|
16
|
+
try {
|
|
17
|
+
await options.appendCustomEntry(DOOM_NOTIFICATION_ENTRY_TYPE, data);
|
|
18
|
+
} catch (error) {
|
|
19
|
+
options.emitFrame({
|
|
20
|
+
type: "error",
|
|
21
|
+
code: "notification_undelivered",
|
|
22
|
+
error: `${data.body} (not saved to history: ${error instanceof Error ? error.message : String(error)})`
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
setStatus(source, text) {
|
|
27
|
+
if (disposed) throw new Error("Headless client is closed");
|
|
28
|
+
options.emitFrame({
|
|
29
|
+
type: "extension_ui_request",
|
|
30
|
+
method: "setStatus",
|
|
31
|
+
statusKey: source,
|
|
32
|
+
statusText: text
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
appendComposerText(text) {
|
|
36
|
+
if (disposed) throw new Error("Headless client is closed");
|
|
37
|
+
options.emitFrame({
|
|
38
|
+
type: "extension_ui_request",
|
|
39
|
+
method: "append_composer_text",
|
|
40
|
+
id: randomUUID(),
|
|
41
|
+
text
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
request(request, signal) {
|
|
45
|
+
if (disposed) return Promise.reject(/* @__PURE__ */ new Error("Headless client is closed"));
|
|
46
|
+
if (signal?.aborted) return Promise.resolve(void 0);
|
|
47
|
+
if (![
|
|
48
|
+
"confirm",
|
|
49
|
+
"select",
|
|
50
|
+
"input"
|
|
51
|
+
].includes(request.kind)) return Promise.reject(/* @__PURE__ */ new Error("Unsupported headless client request"));
|
|
52
|
+
const labels = request.options?.map((option) => option.label);
|
|
53
|
+
if (labels && new Set(labels).size !== labels.length) return Promise.reject(/* @__PURE__ */ new Error("Select option labels must be unique"));
|
|
54
|
+
const id = `headless-ui:${randomUUID()}`;
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
let started = false;
|
|
57
|
+
const finish = (outcome) => {
|
|
58
|
+
if (!pending.delete(id)) return;
|
|
59
|
+
signal?.removeEventListener("abort", abort);
|
|
60
|
+
try {
|
|
61
|
+
if (started) options.emitFrame({
|
|
62
|
+
type: "extension_ui_answered",
|
|
63
|
+
id
|
|
64
|
+
});
|
|
65
|
+
if ("error" in outcome) reject(outcome.error);
|
|
66
|
+
else resolve(outcome.value);
|
|
67
|
+
} catch (error) {
|
|
68
|
+
reject(error);
|
|
69
|
+
} finally {
|
|
70
|
+
advance();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const abort = () => finish({ value: void 0 });
|
|
74
|
+
pending.set(id, {
|
|
75
|
+
start() {
|
|
76
|
+
if (started || disposed) return;
|
|
77
|
+
started = true;
|
|
78
|
+
try {
|
|
79
|
+
options.emitFrame({
|
|
80
|
+
type: "extension_ui_request",
|
|
81
|
+
id,
|
|
82
|
+
method: request.kind === "input" && request.multiline ? "editor" : request.kind,
|
|
83
|
+
title: request.title,
|
|
84
|
+
message: request.message,
|
|
85
|
+
options: labels,
|
|
86
|
+
placeholder: request.message,
|
|
87
|
+
prefill: request.initialValue
|
|
88
|
+
});
|
|
89
|
+
} catch (error) {
|
|
90
|
+
finish({ error });
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
respond(frame) {
|
|
94
|
+
if (!started) return;
|
|
95
|
+
if (frame.cancelled === true) return finish({ value: void 0 });
|
|
96
|
+
if (request.kind === "confirm") {
|
|
97
|
+
if (typeof frame.confirmed === "boolean") finish({ value: frame.confirmed });
|
|
98
|
+
} else if (typeof frame.value === "string") {
|
|
99
|
+
const selected = request.options?.find((option) => option.label === frame.value);
|
|
100
|
+
finish({ value: selected?.value ?? frame.value });
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
close: () => finish({ error: /* @__PURE__ */ new Error("Headless client is closed") })
|
|
104
|
+
});
|
|
105
|
+
signal?.addEventListener("abort", abort, { once: true });
|
|
106
|
+
advance();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
receive(frame) {
|
|
111
|
+
if (frame.type !== "extension_ui_response") return false;
|
|
112
|
+
if (typeof frame.id === "string") pending.get(frame.id)?.respond(frame);
|
|
113
|
+
return true;
|
|
114
|
+
},
|
|
115
|
+
dispose() {
|
|
116
|
+
if (disposed) return;
|
|
117
|
+
disposed = true;
|
|
118
|
+
for (const request of pending.values()) request.close();
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
//#endregion
|
|
123
|
+
export { createHeadlessClient };
|
|
124
|
+
|
|
125
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/headlessClient/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\n\nimport { createDoomNotificationEntryData, DOOM_NOTIFICATION_ENTRY_TYPE } from '../../exports/notification';\nimport type {\n HeadlessClientBridge,\n HeadlessClientOptions,\n PendingClientRequest,\n} from '../../types/server/headlessClient';\n\n/** Explicit client interactions over the existing browser dialog protocol. */\nexport function createHeadlessClient(options: HeadlessClientOptions): HeadlessClientBridge {\n const pending = new Map<string, PendingClientRequest>();\n let disposed = false;\n const advance = (): void => pending.values().next().value?.start();\n\n return {\n client: {\n async notify(request) {\n if (disposed) throw new Error('Headless client is closed');\n const data = createDoomNotificationEntryData(request);\n if (!data) throw new Error('Invalid notification request');\n try {\n await options.appendCustomEntry(DOOM_NOTIFICATION_ENTRY_TYPE, data);\n } catch (error) {\n // Callers fire notify without awaiting, often to report a journal failure. A rejection here\n // would crash the session server, so a refused append still reaches the browser live.\n options.emitFrame({\n type: 'error',\n code: 'notification_undelivered',\n error: `${data.body} (not saved to history: ${error instanceof Error ? error.message : String(error)})`,\n });\n }\n },\n setStatus(source, text) {\n if (disposed) throw new Error('Headless client is closed');\n options.emitFrame({ type: 'extension_ui_request', method: 'setStatus', statusKey: source, statusText: text });\n },\n appendComposerText(text) {\n if (disposed) throw new Error('Headless client is closed');\n options.emitFrame({ type: 'extension_ui_request', method: 'append_composer_text', id: randomUUID(), text });\n },\n request(request, signal) {\n if (disposed) return Promise.reject(new Error('Headless client is closed'));\n if (signal?.aborted) return Promise.resolve(undefined);\n if (!['confirm', 'select', 'input'].includes(request.kind)) {\n return Promise.reject(new Error('Unsupported headless client request'));\n }\n const labels = request.options?.map((option) => option.label);\n if (labels && new Set(labels).size !== labels.length) {\n return Promise.reject(new Error('Select option labels must be unique'));\n }\n const id = `headless-ui:${randomUUID()}`;\n return new Promise((resolve, reject) => {\n let started = false;\n const finish = (outcome: { value: unknown } | { error: unknown }): void => {\n if (!pending.delete(id)) return;\n signal?.removeEventListener('abort', abort);\n try {\n if (started) options.emitFrame({ type: 'extension_ui_answered', id });\n if ('error' in outcome) reject(outcome.error);\n else resolve(outcome.value);\n } catch (error) {\n reject(error);\n } finally {\n advance();\n }\n };\n const abort = (): void => finish({ value: undefined });\n pending.set(id, {\n start() {\n if (started || disposed) return;\n started = true;\n try {\n options.emitFrame({\n type: 'extension_ui_request',\n id,\n method: request.kind === 'input' && request.multiline ? 'editor' : request.kind,\n title: request.title,\n message: request.message,\n options: labels,\n placeholder: request.message,\n prefill: request.initialValue,\n });\n } catch (error) {\n finish({ error });\n }\n },\n respond(frame) {\n if (!started) return;\n if (frame.cancelled === true) return finish({ value: undefined });\n if (request.kind === 'confirm') {\n if (typeof frame.confirmed === 'boolean') finish({ value: frame.confirmed });\n } else if (typeof frame.value === 'string') {\n // Rich questionnaire clients return an encoded whole-answer envelope here.\n const selected = request.options?.find((option) => option.label === frame.value);\n finish({ value: selected?.value ?? frame.value });\n }\n },\n close: () => finish({ error: new Error('Headless client is closed') }),\n });\n signal?.addEventListener('abort', abort, { once: true });\n advance();\n });\n },\n },\n receive(frame) {\n if (frame.type !== 'extension_ui_response') return false;\n if (typeof frame.id === 'string') pending.get(frame.id)?.respond(frame);\n return true;\n },\n dispose() {\n if (disposed) return;\n disposed = true;\n for (const request of pending.values()) request.close();\n },\n };\n}\n"],"mappings":";;;;;AAUA,SAAgB,qBAAqB,SAAsD;CACzF,MAAM,0BAAU,IAAI,IAAkC;CACtD,IAAI,WAAW;CACf,MAAM,gBAAsB,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM;CAEjE,OAAO;EACL,QAAQ;GACN,MAAM,OAAO,SAAS;IACpB,IAAI,UAAU,MAAM,IAAI,MAAM,2BAA2B;IACzD,MAAM,OAAO,gCAAgC,OAAO;IACpD,IAAI,CAAC,MAAM,MAAM,IAAI,MAAM,8BAA8B;IACzD,IAAI;KACF,MAAM,QAAQ,kBAAkB,8BAA8B,IAAI;IACpE,SAAS,OAAO;KAGd,QAAQ,UAAU;MAChB,MAAM;MACN,MAAM;MACN,OAAO,GAAG,KAAK,KAAK,0BAA0B,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,EAAE;KACvG,CAAC;IACH;GACF;GACA,UAAU,QAAQ,MAAM;IACtB,IAAI,UAAU,MAAM,IAAI,MAAM,2BAA2B;IACzD,QAAQ,UAAU;KAAE,MAAM;KAAwB,QAAQ;KAAa,WAAW;KAAQ,YAAY;IAAK,CAAC;GAC9G;GACA,mBAAmB,MAAM;IACvB,IAAI,UAAU,MAAM,IAAI,MAAM,2BAA2B;IACzD,QAAQ,UAAU;KAAE,MAAM;KAAwB,QAAQ;KAAwB,IAAI,WAAW;KAAG;IAAK,CAAC;GAC5G;GACA,QAAQ,SAAS,QAAQ;IACvB,IAAI,UAAU,OAAO,QAAQ,uBAAO,IAAI,MAAM,2BAA2B,CAAC;IAC1E,IAAI,QAAQ,SAAS,OAAO,QAAQ,QAAQ,KAAA,CAAS;IACrD,IAAI,CAAC;KAAC;KAAW;KAAU;IAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,GACvD,OAAO,QAAQ,uBAAO,IAAI,MAAM,qCAAqC,CAAC;IAExE,MAAM,SAAS,QAAQ,SAAS,KAAK,WAAW,OAAO,KAAK;IAC5D,IAAI,UAAU,IAAI,IAAI,MAAM,CAAC,CAAC,SAAS,OAAO,QAC5C,OAAO,QAAQ,uBAAO,IAAI,MAAM,qCAAqC,CAAC;IAExE,MAAM,KAAK,eAAe,WAAW;IACrC,OAAO,IAAI,SAAS,SAAS,WAAW;KACtC,IAAI,UAAU;KACd,MAAM,UAAU,YAA2D;MACzE,IAAI,CAAC,QAAQ,OAAO,EAAE,GAAG;MACzB,QAAQ,oBAAoB,SAAS,KAAK;MAC1C,IAAI;OACF,IAAI,SAAS,QAAQ,UAAU;QAAE,MAAM;QAAyB;OAAG,CAAC;OACpE,IAAI,WAAW,SAAS,OAAO,QAAQ,KAAK;YACvC,QAAQ,QAAQ,KAAK;MAC5B,SAAS,OAAO;OACd,OAAO,KAAK;MACd,UAAU;OACR,QAAQ;MACV;KACF;KACA,MAAM,cAAoB,OAAO,EAAE,OAAO,KAAA,EAAU,CAAC;KACrD,QAAQ,IAAI,IAAI;MACd,QAAQ;OACN,IAAI,WAAW,UAAU;OACzB,UAAU;OACV,IAAI;QACF,QAAQ,UAAU;SAChB,MAAM;SACN;SACA,QAAQ,QAAQ,SAAS,WAAW,QAAQ,YAAY,WAAW,QAAQ;SAC3E,OAAO,QAAQ;SACf,SAAS,QAAQ;SACjB,SAAS;SACT,aAAa,QAAQ;SACrB,SAAS,QAAQ;QACnB,CAAC;OACH,SAAS,OAAO;QACd,OAAO,EAAE,MAAM,CAAC;OAClB;MACF;MACA,QAAQ,OAAO;OACb,IAAI,CAAC,SAAS;OACd,IAAI,MAAM,cAAc,MAAM,OAAO,OAAO,EAAE,OAAO,KAAA,EAAU,CAAC;OAChE,IAAI,QAAQ,SAAS,WACf;YAAA,OAAO,MAAM,cAAc,WAAW,OAAO,EAAE,OAAO,MAAM,UAAU,CAAC;OAAA,OACtE,IAAI,OAAO,MAAM,UAAU,UAAU;QAE1C,MAAM,WAAW,QAAQ,SAAS,MAAM,WAAW,OAAO,UAAU,MAAM,KAAK;QAC/E,OAAO,EAAE,OAAO,UAAU,SAAS,MAAM,MAAM,CAAC;OAClD;MACF;MACA,aAAa,OAAO,EAAE,uBAAO,IAAI,MAAM,2BAA2B,EAAE,CAAC;KACvE,CAAC;KACD,QAAQ,iBAAiB,SAAS,OAAO,EAAE,MAAM,KAAK,CAAC;KACvD,QAAQ;IACV,CAAC;GACH;EACF;EACA,QAAQ,OAAO;GACb,IAAI,MAAM,SAAS,yBAAyB,OAAO;GACnD,IAAI,OAAO,MAAM,OAAO,UAAU,QAAQ,IAAI,MAAM,EAAE,CAAC,EAAE,QAAQ,KAAK;GACtE,OAAO;EACT;EACA,UAAU;GACR,IAAI,UAAU;GACd,WAAW;GACX,KAAK,MAAM,WAAW,QAAQ,OAAO,GAAG,QAAQ,MAAM;EACxD;CACF;AACF"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
let _earendil_works_pi_agent_core = require("@earendil-works/pi-agent-core");
|
|
2
|
+
//#region src/services/historyCreationFileSystem/index.ts
|
|
3
|
+
function rejected(error, filePath) {
|
|
4
|
+
return {
|
|
5
|
+
ok: false,
|
|
6
|
+
error: new _earendil_works_pi_agent_core.FileError("unknown", error instanceof Error ? error.message : String(error), filePath, error instanceof Error ? error : void 0)
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Own the destination before pinned JsonlSessionRepo computes its final path.
|
|
11
|
+
* Storage remains upstream-owned. Only acquisition and destructive cleanup are gated.
|
|
12
|
+
* Pinned 0.86.0 stages at destination + '.tmp'; an unexpected write fails closed.
|
|
13
|
+
*/
|
|
14
|
+
function createHistoryCreationFileSystem(backend, beforeCreate) {
|
|
15
|
+
let destination;
|
|
16
|
+
let staging;
|
|
17
|
+
let admitted = false;
|
|
18
|
+
let stagingWritten = false;
|
|
19
|
+
let published = false;
|
|
20
|
+
return {
|
|
21
|
+
cwd: backend.cwd,
|
|
22
|
+
absolutePath: backend.absolutePath.bind(backend),
|
|
23
|
+
readTextFile: backend.readTextFile.bind(backend),
|
|
24
|
+
openTextLineReader: backend.openTextLineReader.bind(backend),
|
|
25
|
+
readTextLines: backend.readTextLines.bind(backend),
|
|
26
|
+
readBinaryFile: backend.readBinaryFile.bind(backend),
|
|
27
|
+
async appendFile(filePath, content, context) {
|
|
28
|
+
try {
|
|
29
|
+
if (!admitted || !(filePath === staging && stagingWritten) && !(filePath === destination && published)) return rejected(/* @__PURE__ */ new Error("Unowned history append"), filePath);
|
|
30
|
+
return await backend.appendFile(filePath, content, context);
|
|
31
|
+
} catch (error) {
|
|
32
|
+
return rejected(error, filePath);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
fileInfo: backend.fileInfo.bind(backend),
|
|
36
|
+
listDir: backend.listDir.bind(backend),
|
|
37
|
+
canonicalPath: backend.canonicalPath.bind(backend),
|
|
38
|
+
exists: backend.exists.bind(backend),
|
|
39
|
+
createDir: backend.createDir.bind(backend),
|
|
40
|
+
createTempDir: backend.createTempDir.bind(backend),
|
|
41
|
+
createTempFile: backend.createTempFile.bind(backend),
|
|
42
|
+
cleanup: backend.cleanup.bind(backend),
|
|
43
|
+
async joinPath(parts, context) {
|
|
44
|
+
try {
|
|
45
|
+
const result = await backend.joinPath(parts, context);
|
|
46
|
+
if (!result.ok || !result.value.endsWith(".jsonl")) return result;
|
|
47
|
+
if (destination !== void 0) return rejected(/* @__PURE__ */ new Error("History creation destination was already selected"), result.value);
|
|
48
|
+
destination = result.value;
|
|
49
|
+
staging = `${destination}.tmp`;
|
|
50
|
+
const existing = await backend.exists(destination, context);
|
|
51
|
+
if (!existing.ok) return existing;
|
|
52
|
+
if (existing.value) return rejected(/* @__PURE__ */ new Error("Refusing to replace existing history"), destination);
|
|
53
|
+
await beforeCreate(destination);
|
|
54
|
+
for (const filePath of [destination, staging]) {
|
|
55
|
+
const found = await backend.exists(filePath, context);
|
|
56
|
+
if (!found.ok) return found;
|
|
57
|
+
if (found.value) return rejected(/* @__PURE__ */ new Error("History creation path is occupied"), filePath);
|
|
58
|
+
}
|
|
59
|
+
admitted = true;
|
|
60
|
+
return result;
|
|
61
|
+
} catch (error) {
|
|
62
|
+
return rejected(error, destination);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
async writeFile(filePath, content, context) {
|
|
66
|
+
try {
|
|
67
|
+
if (!admitted || filePath !== staging || stagingWritten) return rejected(/* @__PURE__ */ new Error("Unowned history staging write"), filePath);
|
|
68
|
+
const existing = await backend.exists(filePath, context);
|
|
69
|
+
if (!existing.ok) return existing;
|
|
70
|
+
if (existing.value) return rejected(/* @__PURE__ */ new Error("History staging path is occupied"), filePath);
|
|
71
|
+
const result = await backend.writeFile(filePath, content, context);
|
|
72
|
+
if (result.ok) stagingWritten = true;
|
|
73
|
+
return result;
|
|
74
|
+
} catch (error) {
|
|
75
|
+
return rejected(error, filePath);
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
async renameFile(sourcePath, destinationPath, context) {
|
|
79
|
+
try {
|
|
80
|
+
if (!admitted || sourcePath !== staging || destinationPath !== destination || !stagingWritten) return rejected(/* @__PURE__ */ new Error("Unowned history publication"), destinationPath);
|
|
81
|
+
const result = await backend.renameFile(sourcePath, destinationPath, context);
|
|
82
|
+
if (result.ok) {
|
|
83
|
+
published = true;
|
|
84
|
+
stagingWritten = false;
|
|
85
|
+
}
|
|
86
|
+
return result;
|
|
87
|
+
} catch (error) {
|
|
88
|
+
return rejected(error, destinationPath);
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
async remove(filePath, options, context) {
|
|
92
|
+
try {
|
|
93
|
+
if (!(filePath === staging && stagingWritten || filePath === destination && published)) return {
|
|
94
|
+
ok: true,
|
|
95
|
+
value: void 0
|
|
96
|
+
};
|
|
97
|
+
const result = await backend.remove(filePath, {
|
|
98
|
+
...options,
|
|
99
|
+
recursive: false
|
|
100
|
+
}, context);
|
|
101
|
+
if (result.ok) {
|
|
102
|
+
if (filePath === staging) stagingWritten = false;
|
|
103
|
+
if (filePath === destination) published = false;
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
} catch (error) {
|
|
107
|
+
return rejected(error, filePath);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
exports.createHistoryCreationFileSystem = createHistoryCreationFileSystem;
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["FileError"],"sources":["../../../../src/services/historyCreationFileSystem/index.ts"],"sourcesContent":["import { FileError, type FileSystem, type Result } from '@earendil-works/pi-agent-core';\n\nfunction rejected(error: unknown, filePath?: string): Result<never, FileError> {\n return {\n ok: false,\n error: new FileError(\n 'unknown',\n error instanceof Error ? error.message : String(error),\n filePath,\n error instanceof Error ? error : undefined,\n ),\n };\n}\n\n/**\n * Own the destination before pinned JsonlSessionRepo computes its final path.\n * Storage remains upstream-owned. Only acquisition and destructive cleanup are gated.\n * Pinned 0.86.0 stages at destination + '.tmp'; an unexpected write fails closed.\n */\nexport function createHistoryCreationFileSystem(\n backend: FileSystem,\n beforeCreate: (destinationPath: string) => Promise<void>,\n): FileSystem {\n let destination: string | undefined;\n let staging: string | undefined;\n let admitted = false;\n let stagingWritten = false;\n let published = false;\n return {\n cwd: backend.cwd,\n absolutePath: backend.absolutePath.bind(backend),\n readTextFile: backend.readTextFile.bind(backend),\n openTextLineReader: backend.openTextLineReader.bind(backend),\n readTextLines: backend.readTextLines.bind(backend),\n readBinaryFile: backend.readBinaryFile.bind(backend),\n async appendFile(filePath, content, context) {\n try {\n const ownsStaging = filePath === staging && stagingWritten;\n const ownsPublished = filePath === destination && published;\n if (!admitted || (!ownsStaging && !ownsPublished))\n return rejected(new Error('Unowned history append'), filePath);\n return await backend.appendFile(filePath, content, context);\n } catch (error) {\n return rejected(error, filePath);\n }\n },\n fileInfo: backend.fileInfo.bind(backend),\n listDir: backend.listDir.bind(backend),\n canonicalPath: backend.canonicalPath.bind(backend),\n exists: backend.exists.bind(backend),\n createDir: backend.createDir.bind(backend),\n createTempDir: backend.createTempDir.bind(backend),\n createTempFile: backend.createTempFile.bind(backend),\n cleanup: backend.cleanup.bind(backend),\n async joinPath(parts, context) {\n try {\n const result = await backend.joinPath(parts, context);\n if (!result.ok || !result.value.endsWith('.jsonl')) return result;\n if (destination !== undefined) {\n return rejected(new Error('History creation destination was already selected'), result.value);\n }\n destination = result.value;\n staging = `${destination}.tmp`;\n const existing = await backend.exists(destination, context);\n if (!existing.ok) return existing;\n if (existing.value) return rejected(new Error('Refusing to replace existing history'), destination);\n await beforeCreate(destination);\n // Recheck after acquiring the lease, including abandoned upstream staging.\n for (const filePath of [destination, staging]) {\n const found = await backend.exists(filePath, context);\n if (!found.ok) return found;\n if (found.value) return rejected(new Error('History creation path is occupied'), filePath);\n }\n admitted = true;\n return result;\n } catch (error) {\n return rejected(error, destination);\n }\n },\n async writeFile(filePath, content, context) {\n try {\n if (!admitted || filePath !== staging || stagingWritten) {\n return rejected(new Error('Unowned history staging write'), filePath);\n }\n const existing = await backend.exists(filePath, context);\n if (!existing.ok) return existing;\n if (existing.value) return rejected(new Error('History staging path is occupied'), filePath);\n const result = await backend.writeFile(filePath, content, context);\n if (result.ok) stagingWritten = true;\n return result;\n } catch (error) {\n return rejected(error, filePath);\n }\n },\n async renameFile(sourcePath, destinationPath, context) {\n try {\n if (!admitted || sourcePath !== staging || destinationPath !== destination || !stagingWritten) {\n return rejected(new Error('Unowned history publication'), destinationPath);\n }\n const result = await backend.renameFile(sourcePath, destinationPath, context);\n if (result.ok) {\n published = true;\n stagingWritten = false;\n }\n return result;\n } catch (error) {\n return rejected(error, destinationPath);\n }\n },\n async remove(filePath, options, context) {\n try {\n const owned = (filePath === staging && stagingWritten) || (filePath === destination && published);\n // Upstream calls remove even when creation failed before owning either file.\n if (!owned) return { ok: true, value: undefined };\n const result = await backend.remove(filePath, { ...options, recursive: false }, context);\n if (result.ok) {\n if (filePath === staging) stagingWritten = false;\n if (filePath === destination) published = false;\n }\n return result;\n } catch (error) {\n return rejected(error, filePath);\n }\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { FileError } from "@earendil-works/pi-agent-core";
|
|
2
|
+
//#region src/services/historyCreationFileSystem/index.ts
|
|
3
|
+
function rejected(error, filePath) {
|
|
4
|
+
return {
|
|
5
|
+
ok: false,
|
|
6
|
+
error: new FileError("unknown", error instanceof Error ? error.message : String(error), filePath, error instanceof Error ? error : void 0)
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Own the destination before pinned JsonlSessionRepo computes its final path.
|
|
11
|
+
* Storage remains upstream-owned. Only acquisition and destructive cleanup are gated.
|
|
12
|
+
* Pinned 0.86.0 stages at destination + '.tmp'; an unexpected write fails closed.
|
|
13
|
+
*/
|
|
14
|
+
function createHistoryCreationFileSystem(backend, beforeCreate) {
|
|
15
|
+
let destination;
|
|
16
|
+
let staging;
|
|
17
|
+
let admitted = false;
|
|
18
|
+
let stagingWritten = false;
|
|
19
|
+
let published = false;
|
|
20
|
+
return {
|
|
21
|
+
cwd: backend.cwd,
|
|
22
|
+
absolutePath: backend.absolutePath.bind(backend),
|
|
23
|
+
readTextFile: backend.readTextFile.bind(backend),
|
|
24
|
+
openTextLineReader: backend.openTextLineReader.bind(backend),
|
|
25
|
+
readTextLines: backend.readTextLines.bind(backend),
|
|
26
|
+
readBinaryFile: backend.readBinaryFile.bind(backend),
|
|
27
|
+
async appendFile(filePath, content, context) {
|
|
28
|
+
try {
|
|
29
|
+
if (!admitted || !(filePath === staging && stagingWritten) && !(filePath === destination && published)) return rejected(/* @__PURE__ */ new Error("Unowned history append"), filePath);
|
|
30
|
+
return await backend.appendFile(filePath, content, context);
|
|
31
|
+
} catch (error) {
|
|
32
|
+
return rejected(error, filePath);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
fileInfo: backend.fileInfo.bind(backend),
|
|
36
|
+
listDir: backend.listDir.bind(backend),
|
|
37
|
+
canonicalPath: backend.canonicalPath.bind(backend),
|
|
38
|
+
exists: backend.exists.bind(backend),
|
|
39
|
+
createDir: backend.createDir.bind(backend),
|
|
40
|
+
createTempDir: backend.createTempDir.bind(backend),
|
|
41
|
+
createTempFile: backend.createTempFile.bind(backend),
|
|
42
|
+
cleanup: backend.cleanup.bind(backend),
|
|
43
|
+
async joinPath(parts, context) {
|
|
44
|
+
try {
|
|
45
|
+
const result = await backend.joinPath(parts, context);
|
|
46
|
+
if (!result.ok || !result.value.endsWith(".jsonl")) return result;
|
|
47
|
+
if (destination !== void 0) return rejected(/* @__PURE__ */ new Error("History creation destination was already selected"), result.value);
|
|
48
|
+
destination = result.value;
|
|
49
|
+
staging = `${destination}.tmp`;
|
|
50
|
+
const existing = await backend.exists(destination, context);
|
|
51
|
+
if (!existing.ok) return existing;
|
|
52
|
+
if (existing.value) return rejected(/* @__PURE__ */ new Error("Refusing to replace existing history"), destination);
|
|
53
|
+
await beforeCreate(destination);
|
|
54
|
+
for (const filePath of [destination, staging]) {
|
|
55
|
+
const found = await backend.exists(filePath, context);
|
|
56
|
+
if (!found.ok) return found;
|
|
57
|
+
if (found.value) return rejected(/* @__PURE__ */ new Error("History creation path is occupied"), filePath);
|
|
58
|
+
}
|
|
59
|
+
admitted = true;
|
|
60
|
+
return result;
|
|
61
|
+
} catch (error) {
|
|
62
|
+
return rejected(error, destination);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
async writeFile(filePath, content, context) {
|
|
66
|
+
try {
|
|
67
|
+
if (!admitted || filePath !== staging || stagingWritten) return rejected(/* @__PURE__ */ new Error("Unowned history staging write"), filePath);
|
|
68
|
+
const existing = await backend.exists(filePath, context);
|
|
69
|
+
if (!existing.ok) return existing;
|
|
70
|
+
if (existing.value) return rejected(/* @__PURE__ */ new Error("History staging path is occupied"), filePath);
|
|
71
|
+
const result = await backend.writeFile(filePath, content, context);
|
|
72
|
+
if (result.ok) stagingWritten = true;
|
|
73
|
+
return result;
|
|
74
|
+
} catch (error) {
|
|
75
|
+
return rejected(error, filePath);
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
async renameFile(sourcePath, destinationPath, context) {
|
|
79
|
+
try {
|
|
80
|
+
if (!admitted || sourcePath !== staging || destinationPath !== destination || !stagingWritten) return rejected(/* @__PURE__ */ new Error("Unowned history publication"), destinationPath);
|
|
81
|
+
const result = await backend.renameFile(sourcePath, destinationPath, context);
|
|
82
|
+
if (result.ok) {
|
|
83
|
+
published = true;
|
|
84
|
+
stagingWritten = false;
|
|
85
|
+
}
|
|
86
|
+
return result;
|
|
87
|
+
} catch (error) {
|
|
88
|
+
return rejected(error, destinationPath);
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
async remove(filePath, options, context) {
|
|
92
|
+
try {
|
|
93
|
+
if (!(filePath === staging && stagingWritten || filePath === destination && published)) return {
|
|
94
|
+
ok: true,
|
|
95
|
+
value: void 0
|
|
96
|
+
};
|
|
97
|
+
const result = await backend.remove(filePath, {
|
|
98
|
+
...options,
|
|
99
|
+
recursive: false
|
|
100
|
+
}, context);
|
|
101
|
+
if (result.ok) {
|
|
102
|
+
if (filePath === staging) stagingWritten = false;
|
|
103
|
+
if (filePath === destination) published = false;
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
} catch (error) {
|
|
107
|
+
return rejected(error, filePath);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
export { createHistoryCreationFileSystem };
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/historyCreationFileSystem/index.ts"],"sourcesContent":["import { FileError, type FileSystem, type Result } from '@earendil-works/pi-agent-core';\n\nfunction rejected(error: unknown, filePath?: string): Result<never, FileError> {\n return {\n ok: false,\n error: new FileError(\n 'unknown',\n error instanceof Error ? error.message : String(error),\n filePath,\n error instanceof Error ? error : undefined,\n ),\n };\n}\n\n/**\n * Own the destination before pinned JsonlSessionRepo computes its final path.\n * Storage remains upstream-owned. Only acquisition and destructive cleanup are gated.\n * Pinned 0.86.0 stages at destination + '.tmp'; an unexpected write fails closed.\n */\nexport function createHistoryCreationFileSystem(\n backend: FileSystem,\n beforeCreate: (destinationPath: string) => Promise<void>,\n): FileSystem {\n let destination: string | undefined;\n let staging: string | undefined;\n let admitted = false;\n let stagingWritten = false;\n let published = false;\n return {\n cwd: backend.cwd,\n absolutePath: backend.absolutePath.bind(backend),\n readTextFile: backend.readTextFile.bind(backend),\n openTextLineReader: backend.openTextLineReader.bind(backend),\n readTextLines: backend.readTextLines.bind(backend),\n readBinaryFile: backend.readBinaryFile.bind(backend),\n async appendFile(filePath, content, context) {\n try {\n const ownsStaging = filePath === staging && stagingWritten;\n const ownsPublished = filePath === destination && published;\n if (!admitted || (!ownsStaging && !ownsPublished))\n return rejected(new Error('Unowned history append'), filePath);\n return await backend.appendFile(filePath, content, context);\n } catch (error) {\n return rejected(error, filePath);\n }\n },\n fileInfo: backend.fileInfo.bind(backend),\n listDir: backend.listDir.bind(backend),\n canonicalPath: backend.canonicalPath.bind(backend),\n exists: backend.exists.bind(backend),\n createDir: backend.createDir.bind(backend),\n createTempDir: backend.createTempDir.bind(backend),\n createTempFile: backend.createTempFile.bind(backend),\n cleanup: backend.cleanup.bind(backend),\n async joinPath(parts, context) {\n try {\n const result = await backend.joinPath(parts, context);\n if (!result.ok || !result.value.endsWith('.jsonl')) return result;\n if (destination !== undefined) {\n return rejected(new Error('History creation destination was already selected'), result.value);\n }\n destination = result.value;\n staging = `${destination}.tmp`;\n const existing = await backend.exists(destination, context);\n if (!existing.ok) return existing;\n if (existing.value) return rejected(new Error('Refusing to replace existing history'), destination);\n await beforeCreate(destination);\n // Recheck after acquiring the lease, including abandoned upstream staging.\n for (const filePath of [destination, staging]) {\n const found = await backend.exists(filePath, context);\n if (!found.ok) return found;\n if (found.value) return rejected(new Error('History creation path is occupied'), filePath);\n }\n admitted = true;\n return result;\n } catch (error) {\n return rejected(error, destination);\n }\n },\n async writeFile(filePath, content, context) {\n try {\n if (!admitted || filePath !== staging || stagingWritten) {\n return rejected(new Error('Unowned history staging write'), filePath);\n }\n const existing = await backend.exists(filePath, context);\n if (!existing.ok) return existing;\n if (existing.value) return rejected(new Error('History staging path is occupied'), filePath);\n const result = await backend.writeFile(filePath, content, context);\n if (result.ok) stagingWritten = true;\n return result;\n } catch (error) {\n return rejected(error, filePath);\n }\n },\n async renameFile(sourcePath, destinationPath, context) {\n try {\n if (!admitted || sourcePath !== staging || destinationPath !== destination || !stagingWritten) {\n return rejected(new Error('Unowned history publication'), destinationPath);\n }\n const result = await backend.renameFile(sourcePath, destinationPath, context);\n if (result.ok) {\n published = true;\n stagingWritten = false;\n }\n return result;\n } catch (error) {\n return rejected(error, destinationPath);\n }\n },\n async remove(filePath, options, context) {\n try {\n const owned = (filePath === staging && stagingWritten) || (filePath === destination && published);\n // Upstream calls remove even when creation failed before owning either file.\n if (!owned) return { ok: true, value: undefined };\n const result = await backend.remove(filePath, { ...options, recursive: false }, context);\n if (result.ok) {\n if (filePath === staging) stagingWritten = false;\n if (filePath === destination) published = false;\n }\n return result;\n } catch (error) {\n return rejected(error, filePath);\n }\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/services/hubChannelHarness/index.ts
|
|
2
|
+
const DEFAULT_SESSION = {
|
|
3
|
+
sessionId: "s1",
|
|
4
|
+
cwd: "/repo"
|
|
5
|
+
};
|
|
6
|
+
function doomHubChannelHarness(channel, options = {}) {
|
|
7
|
+
const sessions = [...options.sessions ?? [DEFAULT_SESSION]];
|
|
8
|
+
const published = [];
|
|
9
|
+
const notices = [];
|
|
10
|
+
const source = channel.start({
|
|
11
|
+
sessions: () => sessions,
|
|
12
|
+
directEvents: {
|
|
13
|
+
publish: () => void 0,
|
|
14
|
+
subscribe: () => () => void 0,
|
|
15
|
+
close: () => void 0
|
|
16
|
+
},
|
|
17
|
+
publish: (sessionId, payload) => {
|
|
18
|
+
published.push({
|
|
19
|
+
type: channel.frameType,
|
|
20
|
+
sessionId,
|
|
21
|
+
payload
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
requestSessionApi: () => Promise.resolve(Response.json({ error: "No session API in the channel harness." }, { status: 501 })),
|
|
25
|
+
onNotice: (message) => notices.push(message)
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
source,
|
|
29
|
+
published,
|
|
30
|
+
notices,
|
|
31
|
+
snapshot(sessionId) {
|
|
32
|
+
const scope = sessions.find((candidate) => candidate.sessionId === sessionId) ?? sessions[0] ?? DEFAULT_SESSION;
|
|
33
|
+
return source.payloadFor(scope);
|
|
34
|
+
},
|
|
35
|
+
addSession(scope) {
|
|
36
|
+
sessions.push(scope);
|
|
37
|
+
source.sessionAdded?.(scope);
|
|
38
|
+
},
|
|
39
|
+
removeSession(sessionId) {
|
|
40
|
+
const index = sessions.findIndex((candidate) => candidate.sessionId === sessionId);
|
|
41
|
+
if (index >= 0) sessions.splice(index, 1);
|
|
42
|
+
source.sessionRemoved?.(sessionId);
|
|
43
|
+
},
|
|
44
|
+
close: () => source.close()
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
exports.doomHubChannelHarness = doomHubChannelHarness;
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/hubChannelHarness/index.ts"],"sourcesContent":["import type {\n DoomHubChannel,\n DoomHubChannelFrame,\n DoomHubChannelHost,\n DoomHubChannelSource,\n DoomHubSessionScope,\n} from '../../schemas/hubChannel';\n\nexport interface DoomHubChannelHarness {\n source: DoomHubChannelSource;\n readonly published: readonly DoomHubChannelFrame[];\n readonly notices: readonly string[];\n snapshot(sessionId?: string): unknown;\n addSession(scope: DoomHubSessionScope): void;\n removeSession(sessionId: string): void;\n close(): void;\n}\n\nexport interface DoomHubChannelHarnessOptions {\n sessions?: readonly DoomHubSessionScope[];\n}\n\nconst DEFAULT_SESSION: DoomHubSessionScope = { sessionId: 's1', cwd: '/repo' };\n\nexport function doomHubChannelHarness(\n channel: DoomHubChannel,\n options: DoomHubChannelHarnessOptions = {},\n): DoomHubChannelHarness {\n const sessions = [...(options.sessions ?? [DEFAULT_SESSION])];\n const published: DoomHubChannelFrame[] = [];\n const notices: string[] = [];\n const host: DoomHubChannelHost = {\n sessions: () => sessions,\n directEvents: {\n publish: () => undefined,\n subscribe: () => () => undefined,\n close: () => undefined,\n },\n publish: (sessionId, payload) => {\n published.push({ type: channel.frameType, sessionId, payload });\n },\n requestSessionApi: () =>\n Promise.resolve(Response.json({ error: 'No session API in the channel harness.' }, { status: 501 })),\n onNotice: (message) => notices.push(message),\n };\n const source = channel.start(host);\n\n return {\n source,\n published,\n notices,\n snapshot(sessionId) {\n const scope = sessions.find((candidate) => candidate.sessionId === sessionId) ?? sessions[0] ?? DEFAULT_SESSION;\n return source.payloadFor(scope);\n },\n addSession(scope) {\n sessions.push(scope);\n source.sessionAdded?.(scope);\n },\n removeSession(sessionId) {\n const index = sessions.findIndex((candidate) => candidate.sessionId === sessionId);\n if (index >= 0) sessions.splice(index, 1);\n source.sessionRemoved?.(sessionId);\n },\n close: () => source.close(),\n };\n}\n"],"mappings":";AAsBA,MAAM,kBAAuC;CAAE,WAAW;CAAM,KAAK;AAAQ;AAE7E,SAAgB,sBACd,SACA,UAAwC,CAAC,GAClB;CACvB,MAAM,WAAW,CAAC,GAAI,QAAQ,YAAY,CAAC,eAAe,CAAE;CAC5D,MAAM,YAAmC,CAAC;CAC1C,MAAM,UAAoB,CAAC;CAe3B,MAAM,SAAS,QAAQ,MAAM;EAb3B,gBAAgB;EAChB,cAAc;GACZ,eAAe,KAAA;GACf,uBAAuB,KAAA;GACvB,aAAa,KAAA;EACf;EACA,UAAU,WAAW,YAAY;GAC/B,UAAU,KAAK;IAAE,MAAM,QAAQ;IAAW;IAAW;GAAQ,CAAC;EAChE;EACA,yBACE,QAAQ,QAAQ,SAAS,KAAK,EAAE,OAAO,yCAAyC,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC;EACrG,WAAW,YAAY,QAAQ,KAAK,OAAO;CAEb,CAAC;CAEjC,OAAO;EACL;EACA;EACA;EACA,SAAS,WAAW;GAClB,MAAM,QAAQ,SAAS,MAAM,cAAc,UAAU,cAAc,SAAS,KAAK,SAAS,MAAM;GAChG,OAAO,OAAO,WAAW,KAAK;EAChC;EACA,WAAW,OAAO;GAChB,SAAS,KAAK,KAAK;GACnB,OAAO,eAAe,KAAK;EAC7B;EACA,cAAc,WAAW;GACvB,MAAM,QAAQ,SAAS,WAAW,cAAc,UAAU,cAAc,SAAS;GACjF,IAAI,SAAS,GAAG,SAAS,OAAO,OAAO,CAAC;GACxC,OAAO,iBAAiB,SAAS;EACnC;EACA,aAAa,OAAO,MAAM;CAC5B;AACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DoomHubChannel, DoomHubChannelFrame, DoomHubChannelSource, DoomHubSessionScope } from "../../schemas/hubChannel.mjs";
|
|
2
|
+
//#region src/services/hubChannelHarness/index.d.ts
|
|
3
|
+
export interface DoomHubChannelHarness {
|
|
4
|
+
source: DoomHubChannelSource;
|
|
5
|
+
readonly published: readonly DoomHubChannelFrame[];
|
|
6
|
+
readonly notices: readonly string[];
|
|
7
|
+
snapshot(sessionId?: string): unknown;
|
|
8
|
+
addSession(scope: DoomHubSessionScope): void;
|
|
9
|
+
removeSession(sessionId: string): void;
|
|
10
|
+
close(): void;
|
|
11
|
+
}
|
|
12
|
+
export interface DoomHubChannelHarnessOptions {
|
|
13
|
+
sessions?: readonly DoomHubSessionScope[];
|
|
14
|
+
}
|
|
15
|
+
export declare function doomHubChannelHarness(channel: DoomHubChannel, options?: DoomHubChannelHarnessOptions): DoomHubChannelHarness;
|
|
16
|
+
//#endregion
|
|
17
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/hubChannelHarness/index.ts"],"mappings":";;iBAQiB;EACf,QAAQ;WACC,oBAAoB;WACpB;EACT,SAAS;EACT,WAAW,OAAO;EAClB,cAAc;EACd;;iBAGe;EACf,oBAAoB;;wBAKN,sBACd,SAAS,gBACT,UAAS,+BACR"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/services/hubChannelHarness/index.ts
|
|
2
|
+
const DEFAULT_SESSION = {
|
|
3
|
+
sessionId: "s1",
|
|
4
|
+
cwd: "/repo"
|
|
5
|
+
};
|
|
6
|
+
function doomHubChannelHarness(channel, options = {}) {
|
|
7
|
+
const sessions = [...options.sessions ?? [DEFAULT_SESSION]];
|
|
8
|
+
const published = [];
|
|
9
|
+
const notices = [];
|
|
10
|
+
const source = channel.start({
|
|
11
|
+
sessions: () => sessions,
|
|
12
|
+
directEvents: {
|
|
13
|
+
publish: () => void 0,
|
|
14
|
+
subscribe: () => () => void 0,
|
|
15
|
+
close: () => void 0
|
|
16
|
+
},
|
|
17
|
+
publish: (sessionId, payload) => {
|
|
18
|
+
published.push({
|
|
19
|
+
type: channel.frameType,
|
|
20
|
+
sessionId,
|
|
21
|
+
payload
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
requestSessionApi: () => Promise.resolve(Response.json({ error: "No session API in the channel harness." }, { status: 501 })),
|
|
25
|
+
onNotice: (message) => notices.push(message)
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
source,
|
|
29
|
+
published,
|
|
30
|
+
notices,
|
|
31
|
+
snapshot(sessionId) {
|
|
32
|
+
const scope = sessions.find((candidate) => candidate.sessionId === sessionId) ?? sessions[0] ?? DEFAULT_SESSION;
|
|
33
|
+
return source.payloadFor(scope);
|
|
34
|
+
},
|
|
35
|
+
addSession(scope) {
|
|
36
|
+
sessions.push(scope);
|
|
37
|
+
source.sessionAdded?.(scope);
|
|
38
|
+
},
|
|
39
|
+
removeSession(sessionId) {
|
|
40
|
+
const index = sessions.findIndex((candidate) => candidate.sessionId === sessionId);
|
|
41
|
+
if (index >= 0) sessions.splice(index, 1);
|
|
42
|
+
source.sessionRemoved?.(sessionId);
|
|
43
|
+
},
|
|
44
|
+
close: () => source.close()
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { doomHubChannelHarness };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/hubChannelHarness/index.ts"],"sourcesContent":["import type {\n DoomHubChannel,\n DoomHubChannelFrame,\n DoomHubChannelHost,\n DoomHubChannelSource,\n DoomHubSessionScope,\n} from '../../schemas/hubChannel';\n\nexport interface DoomHubChannelHarness {\n source: DoomHubChannelSource;\n readonly published: readonly DoomHubChannelFrame[];\n readonly notices: readonly string[];\n snapshot(sessionId?: string): unknown;\n addSession(scope: DoomHubSessionScope): void;\n removeSession(sessionId: string): void;\n close(): void;\n}\n\nexport interface DoomHubChannelHarnessOptions {\n sessions?: readonly DoomHubSessionScope[];\n}\n\nconst DEFAULT_SESSION: DoomHubSessionScope = { sessionId: 's1', cwd: '/repo' };\n\nexport function doomHubChannelHarness(\n channel: DoomHubChannel,\n options: DoomHubChannelHarnessOptions = {},\n): DoomHubChannelHarness {\n const sessions = [...(options.sessions ?? [DEFAULT_SESSION])];\n const published: DoomHubChannelFrame[] = [];\n const notices: string[] = [];\n const host: DoomHubChannelHost = {\n sessions: () => sessions,\n directEvents: {\n publish: () => undefined,\n subscribe: () => () => undefined,\n close: () => undefined,\n },\n publish: (sessionId, payload) => {\n published.push({ type: channel.frameType, sessionId, payload });\n },\n requestSessionApi: () =>\n Promise.resolve(Response.json({ error: 'No session API in the channel harness.' }, { status: 501 })),\n onNotice: (message) => notices.push(message),\n };\n const source = channel.start(host);\n\n return {\n source,\n published,\n notices,\n snapshot(sessionId) {\n const scope = sessions.find((candidate) => candidate.sessionId === sessionId) ?? sessions[0] ?? DEFAULT_SESSION;\n return source.payloadFor(scope);\n },\n addSession(scope) {\n sessions.push(scope);\n source.sessionAdded?.(scope);\n },\n removeSession(sessionId) {\n const index = sessions.findIndex((candidate) => candidate.sessionId === sessionId);\n if (index >= 0) sessions.splice(index, 1);\n source.sessionRemoved?.(sessionId);\n },\n close: () => source.close(),\n };\n}\n"],"mappings":";AAsBA,MAAM,kBAAuC;CAAE,WAAW;CAAM,KAAK;AAAQ;AAE7E,SAAgB,sBACd,SACA,UAAwC,CAAC,GAClB;CACvB,MAAM,WAAW,CAAC,GAAI,QAAQ,YAAY,CAAC,eAAe,CAAE;CAC5D,MAAM,YAAmC,CAAC;CAC1C,MAAM,UAAoB,CAAC;CAe3B,MAAM,SAAS,QAAQ,MAAM;EAb3B,gBAAgB;EAChB,cAAc;GACZ,eAAe,KAAA;GACf,uBAAuB,KAAA;GACvB,aAAa,KAAA;EACf;EACA,UAAU,WAAW,YAAY;GAC/B,UAAU,KAAK;IAAE,MAAM,QAAQ;IAAW;IAAW;GAAQ,CAAC;EAChE;EACA,yBACE,QAAQ,QAAQ,SAAS,KAAK,EAAE,OAAO,yCAAyC,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC;EACrG,WAAW,YAAY,QAAQ,KAAK,OAAO;CAEb,CAAC;CAEjC,OAAO;EACL;EACA;EACA;EACA,SAAS,WAAW;GAClB,MAAM,QAAQ,SAAS,MAAM,cAAc,UAAU,cAAc,SAAS,KAAK,SAAS,MAAM;GAChG,OAAO,OAAO,WAAW,KAAK;EAChC;EACA,WAAW,OAAO;GAChB,SAAS,KAAK,KAAK;GACnB,OAAO,eAAe,KAAK;EAC7B;EACA,cAAc,WAAW;GACvB,MAAM,QAAQ,SAAS,WAAW,cAAc,UAAU,cAAc,SAAS;GACjF,IAAI,SAAS,GAAG,SAAS,OAAO,OAAO,CAAC;GACxC,OAAO,iBAAiB,SAAS;EACnC;EACA,aAAa,OAAO,MAAM;CAC5B;AACF"}
|