@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 @@
|
|
|
1
|
+
{"version":3,"file":"headlessSessionHost.cjs","names":["parseArgs","resolveCliModel","resolveModelScopeWithDiagnostics","headlessHarnessSkill","projectContext","buildContextDetail","DOOM_CONTEXT_ENTRY_TYPE","getAgentDir","SettingsManager","ModelRuntime","path","resolvePiExtensionEntries","resolvePiSettingsPackageEntries","preloadPiExtensions","loadProjectContextFiles","formatSkillsForSystemPrompt","formatToolPrompt","createDirectHarnessRuntime","createHistoryOwnership","value","BACKGROUND_CONTEXT","fs","createHeadlessChildSessionServiceProvider","DOOM_CHILD_SESSION_MCP_TOOL_SERVICE","createHeadlessClient","describeLoadSkillTool","DOOM_CHILD_SESSION_SERVICE","createPiExtensionHost","HeadlessHost","harnessErrorMessage","Value","randomUUID"],"sources":["../../../../../src/systems/main/adapters/headlessSessionHost.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { Context as CordisContext } from '@deepseek-ai/cordis';\nimport { formatSkillsForSystemPrompt } from '@earendil-works/pi-agent-core';\nimport type { AgentHarnessResources, AgentHarnessTool, AgentMessage, HookMap } from '@earendil-works/pi-agent-core';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/pi-agent-core/harness/context';\nimport { value } from '@earendil-works/pi-agent-core/harness/session';\nimport type { Model, Api, Usage } from '@earendil-works/pi-ai';\nimport {\n getAgentDir,\n ModelRuntime,\n loadProjectContextFiles,\n parseArgs,\n resolveCliModel,\n resolveModelScopeWithDiagnostics,\n SettingsManager,\n type Args,\n} from '@earendil-works/pi-coding-agent';\nimport { Value } from 'typebox/value';\n\nimport {\n DOOM_CHILD_SESSION_SERVICE,\n DOOM_CHILD_SESSION_MCP_TOOL_SERVICE,\n type DoomChildSessionTool,\n} from '../../../exports/childSession';\nimport type {\n DoomHeadlessEventName,\n DoomHeadlessExecutionContext,\n DoomHeadlessSelection,\n DoomHeadlessTool,\n DoomHeadlessToolCompletionRequest,\n} from '../../../exports/headless';\nimport { DOOM_LOAD_SKILL_TOOL } from '../../../exports/headless';\nimport type { DoomSessionContext } from '../../../exports/hubChannel';\nimport type { DoomMcpContextSnapshot, DoomMcpSkill, DoomMcpUiResource } from '../../../exports/mcpFacet';\nimport type { InstalledServerFacets } from '../../../exports/serverFacet';\nimport { createDirectHarnessRuntime } from '../../../server/directHarnessRuntime';\nimport { harnessErrorMessage } from '../../../server/harnessErrorMessage';\nimport { buildContextDetail } from '../../../services/contextDetail';\nimport { writeContextDetail } from '../../../services/contextDetailStore';\nimport { DOOM_CONTEXT_ENTRY_TYPE, projectContext } from '../../../services/contextProjection';\nimport { createHeadlessClient } from '../../../services/headlessClient';\nimport { createHistoryOwnership } from '../../../services/historyOwnership';\nimport {\n createPiExtensionHost,\n preloadPiExtensions,\n resolvePiExtensionEntries,\n resolvePiSettingsPackageEntries,\n type PiExtensionHost,\n} from '../../../services/piExtensionHost';\nimport { formatToolPrompt, type ToolPromptEntry } from '../../../services/toolPrompt';\nimport type { ContextPromptStage } from '../../../types/contextApi';\nimport type { DirectHarnessRuntime, DirectHarnessRuntimeOptions } from '../../../types/server/directHarnessRuntime';\nimport type { SessionFrame } from '../../../types/server/session';\nimport type {\n SessionSkillDescriptor,\n SessionToolDescriptor,\n SessionToolSurface,\n SessionUiResourceDescriptor,\n} from '../../../types/server/sessionToolSurface';\nimport { createHeadlessChildSessionServiceProvider } from '../../child/adapters/headlessChildSessionService';\nimport type { ResolvedHeadlessResource } from '../types/headlessHost';\nimport type { HeadlessSessionHost, HeadlessSessionHostOptions } from '../types/headlessSessionHost';\nimport { describeLoadSkillTool, HeadlessHost, headlessHarnessSkill } from './headlessHost';\n\ntype AnyRecord = Record<string, unknown>;\ntype HeadlessTool = DoomHeadlessTool;\ntype AfterToolPatch = NonNullable<HookMap['after_tool']['result']>;\ntype ToolContent = NonNullable<AfterToolPatch['content']>;\ntype CompactResult = NonNullable<NonNullable<HookMap['before_compaction']['result']>['compaction']>;\ntype JsonValue = null | boolean | number | string | JsonValue[] | { [key: string]: JsonValue };\n\nconst EXTERNAL_OPERATION = 'external';\n\ninterface AppliedSessionTool {\n readonly descriptor: SessionToolDescriptor;\n execute(\n toolCallId: string,\n parameters: Record<string, unknown>,\n signal?: AbortSignal,\n onUpdate?: Parameters<SessionToolSurface['invokeTool']>[0]['onUpdate'],\n execution?: DoomHeadlessExecutionContext,\n ): Promise<import('../../../exports/headless').DoomHeadlessToolResult>;\n}\n\nfunction isRecord(value: unknown): value is AnyRecord {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction stringArray(value: unknown): string[] | undefined {\n return Array.isArray(value) && value.every((entry) => typeof entry === 'string') ? value : undefined;\n}\n\n/** Restores the last accepted live selection from journal projections, falling back on launch configuration. */\nexport function restoreHeadlessSelection(\n entries: readonly AnyRecord[],\n fallback: DoomHeadlessSelection,\n): DoomHeadlessSelection {\n let projected: Partial<DoomHeadlessSelection> | undefined;\n for (let index = entries.length - 1; index >= 0 && projected === undefined; index -= 1) {\n const entry = entries[index];\n if (!isRecord(entry) || entry.type !== 'custom' || !isRecord(entry.data)) continue;\n if (projected === undefined && entry.customType === DOOM_CONTEXT_ENTRY_TYPE) {\n const selection = entry.data.selection;\n if (!isRecord(selection) || typeof selection.majorMode !== 'string') continue;\n const domains = stringArray(selection.domains);\n if (domains === undefined || (selection.profile !== undefined && typeof selection.profile !== 'string')) continue;\n projected = {\n majorMode: selection.majorMode,\n domains,\n ...(typeof selection.profile === 'string' ? { profile: selection.profile } : {}),\n };\n }\n }\n return { ...fallback, ...projected };\n}\n\nfunction isJsonValue(value: unknown): value is JsonValue {\n if (value === null || typeof value === 'string' || typeof value === 'boolean') return true;\n if (typeof value === 'number') return Number.isFinite(value);\n if (Array.isArray(value)) return value.every(isJsonValue);\n return isRecord(value) && Object.values(value).every(isJsonValue);\n}\n\nfunction isJsonObject(value: unknown): value is Record<string, unknown> {\n return isRecord(value) && Object.values(value).every(isJsonValue);\n}\n\nfunction isToolContent(value: unknown): value is ToolContent {\n return (\n Array.isArray(value) &&\n value.every((part) => {\n if (!isRecord(part)) return false;\n if (part.type === 'text') return typeof part.text === 'string';\n return part.type === 'image' && typeof part.data === 'string' && typeof part.mimeType === 'string';\n })\n );\n}\n\nfunction isUsage(value: unknown): value is Usage {\n if (!isRecord(value) || !isRecord(value.cost)) return false;\n const cost = value.cost;\n return (\n ['input', 'output', 'cacheRead', 'cacheWrite', 'totalTokens'].every(\n (key) => typeof value[key] === 'number' && Number.isFinite(value[key]),\n ) &&\n ['input', 'output', 'cacheRead', 'cacheWrite', 'total'].every(\n (key) => typeof cost[key] === 'number' && Number.isFinite(cost[key]),\n )\n );\n}\n\nfunction isAgentMessage(value: unknown): value is AgentMessage {\n if (!isRecord(value) || typeof value.timestamp !== 'number' || !Number.isFinite(value.timestamp)) return false;\n if (value.role === 'user') return typeof value.content === 'string' || Array.isArray(value.content);\n if (!Array.isArray(value.content)) return false;\n if (value.role === 'assistant') {\n return (\n typeof value.api === 'string' &&\n typeof value.provider === 'string' &&\n typeof value.model === 'string' &&\n typeof value.stopReason === 'string' &&\n isUsage(value.usage)\n );\n }\n return (\n value.role === 'toolResult' &&\n typeof value.toolCallId === 'string' &&\n typeof value.toolName === 'string' &&\n typeof value.isError === 'boolean'\n );\n}\n\nfunction isCompactResult(value: unknown): value is CompactResult {\n return (\n isRecord(value) &&\n typeof value.summary === 'string' &&\n typeof value.tokensBefore === 'number' &&\n Number.isFinite(value.tokensBefore) &&\n Array.isArray(value.retainedTail) &&\n value.retainedTail.every(isAgentMessage) &&\n (value.usage === undefined || isUsage(value.usage)) &&\n (value.details === undefined || isJsonValue(value.details))\n );\n}\n\nconst unsupported = (parsed: Args): string | undefined => {\n const flags: Array<[string, unknown]> = [\n ['--help', parsed.help],\n ['--version', parsed.version],\n ['--mode', parsed.mode],\n ['--print', parsed.print],\n ['--export', parsed.export],\n ['--no-session', parsed.noSession],\n ['--continue', parsed.continue],\n ['--resume', parsed.resume],\n ['--fork', parsed.fork],\n ['--list-models', parsed.listModels],\n ['--offline', parsed.offline],\n ['--tui-mode', parsed.tuiMode],\n ['--extensions', parsed.extensions],\n ['--no-extensions', parsed.noExtensions],\n ['--skills', parsed.skills],\n ['--no-skills', parsed.noSkills],\n ['--prompt-templates', parsed.promptTemplates],\n ['--no-prompt-templates', parsed.noPromptTemplates],\n ['--themes', parsed.themes],\n ['--no-themes', parsed.noThemes],\n ['--no-context-files', parsed.noContextFiles],\n ['--tools', parsed.tools],\n ['--exclude-tools', parsed.excludeTools],\n ['--no-tools', parsed.noTools],\n ['--no-builtin-tools', parsed.noBuiltinTools],\n ['--project-trust-override', parsed.projectTrustOverride],\n ['--verbose', parsed.verbose],\n ];\n const match = flags.find(([, value]) => value !== undefined && value !== false);\n if (match) return `Direct headless mode does not support ${match[0]}.`;\n if (parsed.messages.length > 0 || parsed.fileArgs.length > 0)\n return 'Direct headless mode does not support positional prompts or files.';\n const unknown = parsed.unknownFlags.keys().next().value;\n return typeof unknown === 'string' ? `Direct headless mode does not support --${unknown}.` : undefined;\n};\n\n/** Validate the Pi flags that remain after Doom's harness flags are removed. */\nexport function validateDirectHeadlessArgs(agentArgs: readonly string[]): Args {\n if (agentArgs.includes('--mode')) throw new Error('Direct headless mode does not support --mode.');\n const parsed = parseArgs([...agentArgs]);\n const diagnostics = parsed.diagnostics.filter((diagnostic) => diagnostic.type === 'error');\n if (diagnostics.length) throw new Error(diagnostics.map((diagnostic) => diagnostic.message).join('\\n'));\n const error = unsupported(parsed);\n if (error) throw new Error(error);\n return parsed;\n}\n\nfunction modelIdentity(model: Model<Api>): { provider: string; id: string } {\n return { provider: model.provider, id: model.id };\n}\n\nasync function resolveModel(\n parsed: Args,\n modelRuntime: ModelRuntime,\n settings: SettingsManager,\n): Promise<{ model: Model<Api>; thinkingLevel?: Args['thinking'] }> {\n const cli = resolveCliModel({\n cliProvider: parsed.provider,\n cliModel: parsed.model,\n cliThinking: parsed.thinking,\n modelRuntime,\n });\n if (cli.error) throw new Error(cli.error);\n\n let scoped: Model<Api> | undefined;\n if (parsed.models !== undefined && parsed.models.length > 0) {\n const resolved = await resolveModelScopeWithDiagnostics(parsed.models, modelRuntime);\n scoped = resolved.scopedModels[0]?.model;\n if (scoped === undefined) throw new Error(`No configured model matched --models ${parsed.models.join(', ')}.`);\n }\n\n const configured =\n cli.model ??\n scoped ??\n (settings.getDefaultProvider() && settings.getDefaultModel()\n ? modelRuntime.getModel(settings.getDefaultProvider()!, settings.getDefaultModel()!)\n : undefined) ??\n (await modelRuntime.getAvailable())[0];\n if (configured === undefined) throw new Error('Direct headless mode could not resolve a configured model.');\n return {\n model: configured,\n thinkingLevel:\n cli.thinkingLevel ??\n parsed.thinking ??\n settings.getModelThinkingLevel(configured.provider, configured.id) ??\n settings.getDefaultThinkingLevel(),\n };\n}\n\nfunction mapResources(resources: readonly ResolvedHeadlessResource[]): {\n harness: AgentHarnessResources;\n context: string[];\n advertised: NonNullable<AgentHarnessResources['skills']>;\n} {\n const skills: NonNullable<AgentHarnessResources['skills']> = [];\n const advertised: NonNullable<AgentHarnessResources['skills']> = [];\n const promptTemplates: NonNullable<AgentHarnessResources['promptTemplates']> = [];\n const context: string[] = [];\n for (const resource of resources) {\n if (resource.kind === 'skill') {\n const skill = headlessHarnessSkill(resource);\n skills.push(skill);\n // Advertised only with a path the agent can open. Without one the prompt would\n // point at a doom-headless:// URI no tool resolves, so such a skill stays\n // explicitly invocable and silent, exactly as it was before.\n // One entry per name: two domains can each carry the same shared skill.\n if (resource.path !== undefined && !advertised.some((entry) => entry.name === skill.name)) advertised.push(skill);\n } else if (resource.kind === 'prompt') {\n promptTemplates.push({ name: resource.name, content: resource.text });\n } else {\n // Deliberately unwrapped. A generic \"this is data, not instructions\" fence here\n // would also wrap doompi/profile-config, which carries the operator's persona\n // and *is* authoritative instruction, and demoting it would be worse than the\n // anonymity it fixes. A resource whose body is untrusted owns its own boundary,\n // the way doompi-goal fences a user objective in escaped <goal_objective>.\n context.push(resource.text);\n }\n }\n return { harness: { skills, promptTemplates }, context, advertised };\n}\n\nfunction toolAdapter(\n tool: HeadlessTool,\n executionContext: () => DoomHeadlessExecutionContext,\n reportedErrors: Set<string>,\n): AgentHarnessTool<object | undefined> {\n return {\n name: tool.name,\n label: tool.label ?? tool.name,\n description: tool.description,\n parameters: tool.parameters,\n ...(tool.promptSnippet === undefined ? {} : { promptSnippet: tool.promptSnippet }),\n ...(tool.promptGuidelines === undefined ? {} : { promptGuidelines: tool.promptGuidelines }),\n ...(tool.executionMode === undefined\n ? {}\n : { executionMode: tool.executionMode === 'parallel' ? 'parallel' : 'sequential' }),\n async execute(toolCallId, parameters, onUpdate, _toolContext, _invocation, context) {\n const result = await tool.execute(\n toolCallId,\n parameters,\n context.abortSignal,\n (partial) => onUpdate({ content: partial.content, details: partial.details }),\n executionContext(),\n );\n if (result.isError === true) reportedErrors.add(toolCallId);\n return { content: result.content, details: result.details };\n },\n };\n}\n\nfunction eventHook(event: string): DoomHeadlessEventName | undefined {\n const hooks: Record<string, DoomHeadlessEventName> = {\n run_start: 'agent_start',\n run_resume: 'agent_start',\n run_end: 'agent_settled',\n turn_start: 'turn_start',\n turn_end: 'turn_end',\n message_start: 'message_start',\n message_update: 'message_update',\n message_end: 'message_end',\n tool_start: 'tool_execution_start',\n tool_update: 'tool_execution_update',\n tool_end: 'tool_execution_end',\n compaction_end: 'session_compact',\n navigation_end: 'session_tree',\n };\n return hooks[event];\n}\n\nfunction emitTo(listeners: Set<(frame: SessionFrame) => void>, frame: SessionFrame): void {\n // Observers added by a listener begin with the next frame.\n const snapshot = [...listeners];\n for (const listener of snapshot) {\n try {\n listener(frame);\n } catch {\n // Compatibility listeners are observers.\n }\n }\n}\n\n/** The prompt a host has to show, and how complete it is. */\ninterface HeadlessSystemPrompt {\n readonly text: string;\n readonly stage: ContextPromptStage;\n}\n\nfunction createHeadlessCompositionPublisher(\n runtime: Pick<DirectHarnessRuntime, 'sessionId' | 'appendCustomEntry'>,\n host: HeadlessHost,\n environment: Readonly<Record<string, string | undefined>>,\n groups: (\n selection: DoomHeadlessSelection,\n ) => import('../../../services/contextProjection').ContextProjectionInput['groups'],\n readSystemPrompt: () => HeadlessSystemPrompt | undefined,\n): (selection?: DoomHeadlessSelection) => Promise<void> {\n let countTokens: ((text: string) => number) | undefined;\n let contextRevision = 0;\n let publishedContext: string | undefined;\n // Publishes overlap: a selection settling and a turn building its prompt can\n // both ask at once, and each awaits the journal before recording what it\n // published. Run them one after another so the second sees the first's\n // revision rather than spending one of its own on the same composition.\n let tail: Promise<void> = Promise.resolve();\n\n const publish = async (selection: DoomHeadlessSelection): Promise<void> => {\n countTokens ??= (await import('gpt-tokenizer')).countTokens;\n const inventory = host.getContextInventory(selection, countTokens);\n const prompt = readSystemPrompt();\n const promptCost = prompt === undefined ? undefined : { tokens: countTokens(prompt.text), stage: prompt.stage };\n const context = projectContext({\n revision: contextRevision + 1,\n majorMode: selection.majorMode,\n ...(selection.profile === undefined ? {} : { profile: selection.profile }),\n groups: groups(selection),\n domains: selection.domains,\n sources: inventory.sources,\n skills: inventory.skills,\n attribution: inventory.attribution,\n countTokens,\n ...(promptCost === undefined ? {} : { systemPrompt: promptCost }),\n });\n // The prompt joins the key by its text, not just its figure: a reworded\n // prompt of the same length is a different answer to the reader's question.\n const contextKey = JSON.stringify({ ...context, revision: 0, promptText: prompt?.text });\n if (contextKey === publishedContext) return;\n const revision = contextRevision + 1;\n const details = buildContextDetail({\n sources: inventory.sources,\n skills: inventory.skills,\n countTokens,\n ...(prompt === undefined || promptCost === undefined\n ? {}\n : { systemPrompt: { text: prompt.text, tokens: promptCost.tokens, stage: prompt.stage } }),\n });\n await runtime.appendCustomEntry(DOOM_CONTEXT_ENTRY_TYPE, { ...context, revision });\n writeContextDetail(runtime.sessionId, revision, details, environment);\n contextRevision = revision;\n publishedContext = contextKey;\n };\n\n return (selection = host.context.selection): Promise<void> => {\n // A failed publish must not strand every publish that follows it.\n tail = tail.then(\n () => publish(selection),\n () => publish(selection),\n );\n return tail;\n };\n}\n\n/** Create the gated, same-process host used by direct-headless startup tests. */\nexport async function createHeadlessSessionHost(options: HeadlessSessionHostOptions): Promise<HeadlessSessionHost> {\n const parsed = validateDirectHeadlessArgs(options.agentArgs);\n const agentDir = getAgentDir();\n const settings = SettingsManager.create(options.cwd, agentDir);\n const modelRuntime = await ModelRuntime.create({\n authPath: path.join(agentDir, 'auth.json'),\n modelsPath: path.join(agentDir, 'models.json'),\n refreshOnCreate: false,\n });\n // Pi extensions load before the model is resolved: an extension that registers a provider\n // (a local Vertex or Bedrock bridge, say) must be in the runtime before the configured default\n // is looked up, or the lookup misses and the session silently falls back to whichever model\n // happens to be first in `getAvailable()`.\n // Provider packages from Pi's settings.json `packages` load alongside the DoomPi entry, so a\n // model that works under `pi` (a Claude Code bridge, say) is also selectable here.\n const piExtensionPaths =\n options.piExtensions === false\n ? []\n : [\n ...(options.piExtensionPaths ?? resolvePiExtensionEntries(options.repoRoot)),\n ...(await resolvePiSettingsPackageEntries({\n cwd: options.cwd,\n agentDir,\n settings,\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n })),\n ];\n const piPreload = await preloadPiExtensions({\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n extensionPaths: [...new Set(piExtensionPaths)],\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n });\n const resolved = await resolveModel(parsed, modelRuntime, settings);\n if (parsed.apiKey !== undefined) await modelRuntime.setRuntimeApiKey(resolved.model.provider, parsed.apiKey);\n\n const reportedToolErrors = new Set<string>();\n let promptPreparationFailed = false;\n let headlessReady = false;\n // Guidance for the tools currently applied, refreshed by applyTools so a mode\n // switch adds and removes its tools' prompt text with the tools themselves.\n let toolGuidance: readonly ToolPromptEntry[] = [];\n const initialSystemPrompt = [parsed.systemPrompt, ...(parsed.appendSystemPrompt ?? [])].filter(Boolean).join('\\n\\n');\n /**\n * AGENTS.md and friends, in Pi's own framing.\n *\n * The server had none of this: its prompt began at the --system-prompt flag, so a\n * repository's own instructions reached a terminal session and never a cockpit one.\n * Mirrors @earendil-works/pi-coding-agent@0.86.0 dist/core/system-prompt.js:21-27\n * (the customPrompt branch, which is the shape this host matches). `buildSystemPrompt`\n * is not exported and the package exports map has no wildcard, so the four literals\n * below are copied; re-diff them against that file on upgrade.\n *\n * Not trust-gated, deliberately: TRUST_REQUIRING_PROJECT_CONFIG_RESOURCES in Pi's\n * trust-manager covers settings.json, extensions, skills, prompts, themes, SYSTEM.md\n * and APPEND_SYSTEM.md, all of which execute or replace instructions. AGENTS.md is\n * advisory prose and Pi appends it unconditionally; gating it here would be a\n * divergence from Pi rather than parity with it.\n *\n * Resolved once: cwd is fixed for the host's lifetime, and composeSystemPrompt runs\n * on every generation.\n */\n const projectContextFiles = loadProjectContextFiles({ cwd: options.cwd, agentDir });\n const projectContextBlock = (() => {\n if (projectContextFiles.length === 0) return '';\n const instructions = projectContextFiles\n .map(\n ({ path: filePath, content }) =>\n `<project_instructions path=\"${filePath}\">\\n${content}\\n</project_instructions>\\n`,\n )\n .join('\\n');\n return `<project_context>\\n\\nProject-specific instructions and guidelines:\\n\\n${instructions}\\n</project_context>`;\n })();\n const workingDirectoryLine = `Current working directory: ${options.cwd.replace(/\\\\/g, '/')}`;\n /**\n * Everything the prompt is made of before a package has had a say.\n *\n * Shared with the runtime callback below rather than copied. Assembling it is\n * pure; the hook pass that follows it there is not, which is why the context\n * panel is shown this rather than a prompt built for the panel's sake.\n */\n const composeSystemPrompt = (resources: readonly ResolvedHeadlessResource[]): string => {\n const mapped = mapResources(resources);\n // formatSkillsForSystemPrompt is the same renderer headlessHost already uses to\n // bill these skills to the context panel. Until now nothing emitted it, so the\n // panel charged for an <available_skills> block the model never received. It\n // returns '' for an empty list and leads with a blank line of its own.\n // With the load tool, its description carries the skill list; without it, the prompt lists\n // the skills the agent can open with read.\n const skills = toolGuidance.some((entry) => entry.name === DOOM_LOAD_SKILL_TOOL)\n ? ''\n : formatSkillsForSystemPrompt(mapped.advertised).trim();\n // Pi's order for the same sections: operator prompt, project context, tools,\n // skills, package context, then the working directory last.\n return [\n initialSystemPrompt,\n projectContextBlock,\n formatToolPrompt(toolGuidance),\n skills,\n ...mapped.context,\n workingDirectoryLine,\n ]\n .filter(Boolean)\n .join('\\n\\n');\n };\n /** The last prompt a turn actually built, once one has. */\n let builtSystemPrompt: string | undefined;\n /**\n * What the context panel is shown: the prompt a turn sent, or the hook-free\n * base until one has.\n *\n * The base is composed from the applied snapshot rather than a fresh read, so\n * it answers at exactly the moments the tool inventory beside it answers.\n * Re-reading refuses while a selection is mid-apply, and the panel would then\n * spend a published revision saying there is no prompt before the next one\n * said there is.\n */\n const readSystemPrompt = (): HeadlessSystemPrompt | undefined => {\n if (!headlessHost) return undefined;\n if (builtSystemPrompt !== undefined) return { text: builtSystemPrompt, stage: 'effective' };\n return { text: composeSystemPrompt(headlessHost.appliedResources), stage: 'base' };\n };\n const beforeTool: NonNullable<DirectHarnessRuntimeOptions['beforeTool']> = async (event) => {\n if (!headlessReady || !headlessHost) throw new Error('Headless capabilities are not installed.');\n const patches = await headlessHost.dispatchHook('tool_call', event);\n let args = event.args;\n let block: NonNullable<HookMap['before_tool']['result']>['block'];\n for (const patch of patches) {\n if (!isRecord(patch)) continue;\n if (patch.args !== undefined) {\n if (!isJsonObject(patch.args)) throw new Error('Invalid headless tool arguments');\n args = patch.args as typeof args;\n }\n if (patch.block === undefined) continue;\n if (\n !isRecord(patch.block) ||\n typeof patch.block.reason !== 'string' ||\n (patch.block.terminate !== undefined && typeof patch.block.terminate !== 'boolean')\n ) {\n throw new Error('Invalid headless tool denial');\n }\n block = {\n reason: patch.block.reason,\n ...(typeof patch.block.terminate === 'boolean' ? { terminate: patch.block.terminate } : {}),\n };\n break;\n }\n return {\n ...(args === event.args ? {} : { args }),\n ...(block === undefined ? {} : { block }),\n };\n };\n const afterTool: NonNullable<DirectHarnessRuntimeOptions['afterTool']> = async (event) => {\n if (!headlessReady || !headlessHost) throw new Error('Headless capabilities are not installed.');\n const reportedError = reportedToolErrors.delete(event.toolCallId);\n const original = reportedError ? { ...event, isError: true } : event;\n const patches = await headlessHost.dispatchHook('tool_result', original);\n let content = original.content;\n let details = original.details;\n let isError = original.isError;\n let usage = original.usage;\n let terminate: boolean | undefined;\n for (const patch of patches) {\n if (!isRecord(patch)) continue;\n if (isToolContent(patch.content)) content = patch.content;\n if ('details' in patch && isJsonValue(patch.details)) details = patch.details;\n if (typeof patch.isError === 'boolean') isError = patch.isError;\n if (isUsage(patch.usage)) usage = patch.usage;\n if (typeof patch.terminate === 'boolean') terminate = patch.terminate;\n }\n return {\n ...(content === event.content ? {} : { content }),\n ...(details === event.details ? {} : { details }),\n ...(isError === event.isError ? {} : { isError }),\n ...(usage === event.usage ? {} : { usage }),\n ...(terminate === undefined ? {} : { terminate }),\n };\n };\n const runtime = await createDirectHarnessRuntime({\n cwd: options.cwd,\n sessionId: options.sessionId,\n ...(options.parentSessionId === undefined ? {} : { parentSessionId: options.parentSessionId }),\n storage: 'sqlite',\n historyOwnership: createHistoryOwnership({ sourceFormat: 'sqlite' }),\n sessionName: parsed.name ?? options.sessionName,\n ...(parsed.session === undefined ? {} : { sessionPath: parsed.session }),\n sessionsRoot: parsed.sessionDir ?? path.join(agentDir, 'server', 'sessions'),\n models: modelRuntime,\n model: resolved.model,\n ...(resolved.thinkingLevel === undefined ? {} : { thinkingLevel: resolved.thinkingLevel }),\n beforeModelRequest: async ({ phase }) => {\n if (!headlessReady || !headlessHost) throw new Error('Headless capabilities are not installed.');\n // Standalone hosts have no inherited axes to refresh on each turn.\n if (phase === 'turn' && options.inheritedSelection) {\n await headlessHost.inheritSelection(await options.inheritedSelection());\n }\n },\n transformContext: async (event) => {\n if (!headlessReady || !headlessHost) throw new Error('Headless capabilities are not installed.');\n const patches = await headlessHost.dispatchHook('context', event);\n let messages = event.messages;\n let systemPrompt = event.systemPrompt;\n for (const patch of patches) {\n if (!isRecord(patch)) continue;\n if (patch.messages !== undefined) {\n if (!Array.isArray(patch.messages)) throw new Error('Invalid headless context messages');\n messages = patch.messages as typeof messages;\n }\n if (patch.systemPrompt !== undefined) {\n if (typeof patch.systemPrompt !== 'string') throw new Error('Invalid headless context system prompt');\n systemPrompt = patch.systemPrompt;\n }\n }\n // Pi extensions transform last, the same precedence the tool surface gives facets:\n // a facet name wins over a Pi name, so a Pi contribution is the outer layer.\n return { messages: await (piHost?.transformContext(messages) ?? messages), systemPrompt };\n },\n beforeTool,\n afterTool,\n beforePayload: async (event) => {\n if (!headlessReady || !headlessHost) throw new Error('Headless capabilities are not installed.');\n const patches = await headlessHost.dispatchHook('before_provider_request', event);\n let payload = event.payload;\n for (const patch of patches) {\n if (patch === undefined || patch === null) continue;\n if (!isRecord(patch) || !('payload' in patch)) throw new Error('Invalid headless provider payload patch');\n payload = patch.payload;\n }\n return { payload };\n },\n beforeCompaction: async (event) => {\n if (!headlessReady || !headlessHost) throw new Error('Headless capabilities are not installed.');\n const patches = await headlessHost.dispatchHook('session_before_compact', {\n reason: event.reason,\n preparation: event.preparation,\n ...(event.customInstructions === undefined\n ? {}\n : { instructions: event.customInstructions, customInstructions: event.customInstructions }),\n });\n try {\n for (const patch of patches) {\n if (patch === undefined || patch === null) continue;\n if (!isRecord(patch)) throw new Error('Invalid headless compaction patch');\n if (patch.cancel !== undefined && typeof patch.cancel !== 'boolean')\n throw new Error('Invalid headless compaction cancellation');\n if (patch.decline !== undefined && typeof patch.decline !== 'boolean')\n throw new Error('Invalid headless compaction decline');\n const decline = patch.cancel === true || patch.decline === true;\n if (decline && patch.compaction !== undefined) throw new Error('Conflicting headless compaction patch');\n if (decline) return { decline: true };\n if (patch.compaction !== undefined) {\n if (!isCompactResult(patch.compaction)) throw new Error('Invalid headless compaction result');\n return { compaction: patch.compaction };\n }\n }\n } catch (error) {\n options.onNotice?.(\n `Headless compaction hook rejected: ${error instanceof Error ? error.message : String(error)}`,\n );\n return { decline: true };\n }\n return piHost?.beforeCompaction(event);\n },\n systemPrompt: async () => {\n try {\n if (!headlessHost) throw new Error('Headless capabilities are not installed.');\n let prompt = composeSystemPrompt(await headlessHost.readResources());\n const patches = await headlessHost.dispatchHook('before_agent_start', { systemPrompt: prompt });\n for (const patch of patches) {\n if (patch && typeof patch === 'object' && 'systemPrompt' in patch && typeof patch.systemPrompt === 'string') {\n prompt = patch.systemPrompt;\n }\n }\n promptPreparationFailed = false;\n // The panel follows what was sent, so a prompt that changed mid-session\n // republishes rather than waiting for the next selection change. Awaited\n // here, on the same stage that already journals a selection inherited\n // for this turn, so the published composition and the prompt the model\n // receives cannot disagree. Its own guard: a journal that will not take\n // the entry is a panel that lags, never a turn that is refused.\n if (prompt !== builtSystemPrompt) {\n builtSystemPrompt = prompt;\n try {\n await publishComposition();\n } catch {\n // Reported by the next publish, which starts from the same state.\n }\n }\n return prompt;\n } catch {\n // A throwing system-prompt callback faults the upstream harness. Deny at model admission instead.\n promptPreparationFailed = true;\n return '';\n }\n },\n listCommands: () => {\n if (!headlessReady || !headlessHost) throw new Error('Headless capabilities are not installed.');\n return headlessHost.listCommands();\n },\n dispatchCommand: async (text) => {\n const match = /^\\/(\\S+)(?:\\s+([\\s\\S]*))?$/.exec(text);\n if (!match) return false;\n if (!headlessReady || !headlessHost) throw new Error('Headless capabilities are not installed.');\n const name = match[1]!;\n const args = match[2] ?? '';\n if (!headlessHost.listCommands().some((entry) => entry.name === name)) return false;\n await headlessHost.dispatchCommand(name, args);\n return true;\n },\n guardModelRequest: () => {\n if (!headlessReady || promptPreparationFailed || !headlessHost?.status.ready)\n throw new Error('Headless capability preparation is not ready.');\n },\n });\n // The runtime already holds the history lease. A storage failure while opening must\n // release it, or every retry of this session id fails on the stale lease.\n const opened = await (async () => {\n await runtime.session.setValue(value('doompi.session', 'workspaceRoot'), options.repoRoot, BACKGROUND_CONTEXT);\n await runtime.session.setValue(\n value('doompi.session', 'execution'),\n JSON.stringify({\n cwd: options.cwd,\n repoRoot: options.repoRoot,\n workspaceId: options.workspaceId,\n groupingRoot: options.groupingRoot ?? options.repoRoot,\n parentSessionId: options.parentSessionId,\n sessionProvenance: options.sessionProvenance,\n inheritedArtifact: options.inheritedArtifact,\n }),\n BACKGROUND_CONTEXT,\n );\n\n const model = await runtime.lane.getModel(BACKGROUND_CONTEXT);\n const entries = (\n await Promise.all(\n [DOOM_CONTEXT_ENTRY_TYPE].map((customType) =>\n runtime.lane.findEntries({ type: 'custom', customType, order: 'newestFirst', limit: 1 }, BACKGROUND_CONTEXT),\n ),\n )\n ).flat() as unknown as AnyRecord[];\n return { model, entries };\n })().catch(async (error: unknown) => {\n await runtime\n .dispose()\n .catch((disposeError: unknown) => options.onNotice?.(`Session runtime failed to close: ${String(disposeError)}`));\n throw error;\n });\n let currentModel = opened.model;\n // One frozen baseline, shared by every surface this session exposes.\n const sessionContext: DoomSessionContext | undefined =\n options.workspaceId === undefined\n ? undefined\n : Object.freeze({\n sessionId: runtime.sessionId,\n workspaceId: options.workspaceId,\n workspaceRoot: options.groupingRoot ?? options.repoRoot,\n checkoutRoot: options.repoRoot,\n cwd: options.cwd,\n ...(options.parentSessionId === undefined ? {} : { parentSessionId: options.parentSessionId }),\n ...(options.sessionProvenance === undefined ? {} : { provenance: options.sessionProvenance }),\n });\n const entries = opened.entries;\n const listeners = new Set<(frame: SessionFrame) => void>();\n const selectionListeners = new Set<(selection: DoomHeadlessSelection) => void>();\n let latestSelection: DoomHeadlessSelection = options.selection;\n const initialSelection = restoreHeadlessSelection(entries, options.selection);\n let headlessHost: HeadlessHost | undefined;\n let mcpServiceRoot: CordisContext | undefined;\n let mcpLifecycle = new AbortController();\n let piHost: PiExtensionHost | undefined;\n let client: ReturnType<typeof createHeadlessClient> | undefined;\n let disposed = false;\n let disposePromise: Promise<void> | undefined;\n let publishComposition: (selection?: DoomHeadlessSelection) => Promise<void> = async () => {\n throw new Error('Direct headless composition publisher is not installed.');\n };\n const readMcpContext = (signal: AbortSignal): DoomMcpContextSnapshot => {\n signal.throwIfAborted();\n const host = headlessHost;\n if (!host || disposed) throw new Error('Session context is unavailable.');\n const status = host.status;\n if (!status.ready || status.requestedRevision !== status.appliedRevision)\n throw new Error('Session context is unavailable.');\n const root = fs.realpathSync(options.repoRoot);\n const globalInstruction = path.join(fs.realpathSync(agentDir), 'AGENTS.md');\n const instructions = projectContextFiles.flatMap(({ path: filePath, content }) => {\n const relative = path.relative(options.repoRoot, filePath);\n if (relative === '' || relative.startsWith('..') || path.isAbsolute(relative)) return [];\n try {\n const canonicalPath = fs.realpathSync(filePath);\n if (canonicalPath === globalInstruction) return [];\n const canonicalRelative = path.relative(root, canonicalPath);\n if (canonicalRelative === '' || canonicalRelative.startsWith('..') || path.isAbsolute(canonicalRelative))\n return [];\n } catch {\n return [];\n }\n return [{ path: relative.replaceAll(path.sep, '/'), content }];\n });\n const selection = host.context.selection;\n const persona = host.appliedResources.find(\n ({ name, kind }) => name === 'doompi/profile-config' && kind === 'context',\n )?.text;\n signal.throwIfAborted();\n const current = host.status;\n if (\n !current.ready ||\n current.appliedRevision !== status.appliedRevision ||\n current.requestedRevision !== current.appliedRevision\n )\n throw new Error('Session context changed. Call load_context again.');\n return {\n session: { id: runtime.sessionId, revision: status.appliedRevision },\n repository: { root: options.repoRoot, cwd: options.cwd },\n selection: {\n profile: selection.profile ?? null,\n domains: [...selection.domains],\n majorMode: selection.majorMode,\n activeLayers: [...selection.activeLayers],\n minorModes: [...(selection.state?.['minor-mode'] ?? [])],\n },\n instructions,\n persona: persona ?? null,\n };\n };\n\n const childSessionProvider = createHeadlessChildSessionServiceProvider({\n parentSessionId: runtime.sessionId,\n cwd: options.cwd,\n sessionsRoot: parsed.sessionDir ?? path.join(agentDir, 'server', 'sessions'),\n models: modelRuntime,\n defaultModel: () => currentModel,\n mcpTool: () => {\n if (disposed || !headlessReady || !headlessHost?.status.ready) return undefined;\n return mcpServiceRoot?.get(DOOM_CHILD_SESSION_MCP_TOOL_SERVICE) as DoomChildSessionTool | undefined;\n },\n });\n\n const completeAuxiliaryModel = async (\n reference: string,\n request: Omit<DoomHeadlessToolCompletionRequest, 'tools'> & { tools?: DoomHeadlessToolCompletionRequest['tools'] },\n ) => {\n if (disposed || !headlessReady || promptPreparationFailed || !headlessHost?.status.ready)\n throw new Error('Headless capability preparation is not ready.');\n request.signal?.throwIfAborted();\n const separator = reference.indexOf('/');\n const model =\n separator > 0 ? modelRuntime.getModel(reference.slice(0, separator), reference.slice(separator + 1)) : undefined;\n if (!model || !modelRuntime.hasConfiguredAuth(model.provider))\n throw new Error(`Model is not configured: ${reference}`);\n if (!runtime.completeModel) throw new Error('The runtime does not support auxiliary model requests.');\n const response = await runtime.completeModel(\n model,\n {\n systemPrompt: request.systemPrompt,\n messages: [{ role: 'user', content: request.input, timestamp: Date.now() }],\n ...(request.tools ? { tools: [...request.tools] } : {}),\n },\n {\n signal: request.signal,\n maxTokens: request.maxTokens,\n cacheRetention: request.cacheRetention,\n reasoningEffort: 'none',\n maxRetries: 0,\n },\n );\n request.signal?.throwIfAborted();\n if (response.stopReason === 'error' || response.stopReason === 'aborted')\n throw new Error(response.errorMessage ?? `Model stopped: ${response.stopReason}`);\n return response;\n };\n\n const executionContext = (selection: DoomHeadlessSelection): DoomHeadlessExecutionContext => ({\n cwd: options.cwd,\n repoRoot: options.repoRoot,\n sessionId: runtime.sessionId,\n ...(sessionContext === undefined ? {} : { sessionContext }),\n environment: options.environment,\n client: client!.client,\n model: currentModel === undefined ? undefined : modelIdentity(currentModel),\n selection,\n textCompletion: {\n available(reference) {\n const separator = reference.indexOf('/');\n return (\n separator > 0 &&\n !!modelRuntime.getModel(reference.slice(0, separator), reference.slice(separator + 1)) &&\n modelRuntime.hasConfiguredAuth(reference.slice(0, separator))\n );\n },\n async complete(reference, request) {\n const response = await completeAuxiliaryModel(reference, { ...request, tools: undefined });\n return response.content\n .filter((part) => part.type === 'text')\n .map((part) => part.text)\n .join('')\n .trim();\n },\n },\n toolCompletion: {\n async complete(reference, request) {\n const response = await completeAuxiliaryModel(reference, request);\n if (response.stopReason === 'length') throw new Error('Auxiliary tool request exceeded its output limit.');\n return {\n toolCalls: response.content.filter((part) => part.type === 'toolCall'),\n usage: response.usage,\n };\n },\n },\n session: {\n async readModelSettings() {\n const model = await runtime.lane.getModel(BACKGROUND_CONTEXT);\n const thinkingLevel = await runtime.lane.getThinkingLevel(BACKGROUND_CONTEXT);\n return { ...(model ? { model: modelIdentity(model) } : {}), thinkingLevel };\n },\n async setModelSettings(settings) {\n if (settings.model) await runtime.setModel(settings.model);\n if (settings.thinkingLevel !== undefined) await runtime.setThinkingLevel(settings.thinkingLevel);\n },\n async forkSource() {\n const metadata = runtime.session.metadata as unknown as { path?: unknown };\n if (typeof metadata.path !== 'string') throw new Error('The parent session has no persisted journal.');\n const { leafId } = await runtime.readEntries();\n return {\n kind: 'v4-fork' as const,\n sessionFile: metadata.path,\n branch: runtime.laneName,\n ...(leafId === null ? {} : { entryId: leafId }),\n };\n },\n entries: async (query) =>\n (await runtime.lane.findEntries(\n { ...query, order: query?.limit === undefined ? 'oldestFirst' : 'newestFirst' },\n BACKGROUND_CONTEXT,\n )) as unknown as AnyRecord[],\n async appendCustomEntry(type, data) {\n await runtime.appendCustomEntry(type, data);\n },\n prompt: (text, delivery) =>\n delivery === 'steer'\n ? runtime.steer(text)\n : delivery === 'followUp'\n ? runtime.followUp(text)\n : runtime.prompt(text),\n async admitPrompt(text, delivery) {\n // followUp stays enqueue-only: voiceServer/index.ts:120 asks for 'followUp' while the agent\n // is idle whenever a capture is queued, and waking a turn there would be unrequested.\n if (delivery === 'followUp') return runtime.followUp(text);\n const submission = await runtime.submitPrompt(text, undefined, delivery === 'steer' ? 'steer' : undefined);\n void submission.settled.catch((error: unknown) =>\n client!.client.notify({ body: error instanceof Error ? error.message : String(error), level: 'error' }),\n );\n },\n abort: () => runtime.abort(),\n compact: (instructions) => runtime.compact(instructions),\n async activity() {\n const state = await runtime.readState();\n return {\n hasPendingMessages: Number(state.pendingMessageCount) > 0,\n isIdle: !state.isStreaming && !state.isCompacting,\n };\n },\n setName: (name) => runtime.setName(name),\n },\n shutdown: () => stop(),\n });\n\n client = createHeadlessClient({\n appendCustomEntry: async (type, data) => {\n await runtime.appendCustomEntry(type, data);\n },\n emitFrame: (frame) => emitTo(listeners, frame),\n });\n\n const unsubscribePresentation = runtime.onPresentationFrame((frame) => emitTo(listeners, frame));\n const unsubscribeEvents = runtime.onEvent(async (event, _context) => {\n if (event.type === 'config_update' && event.property === 'model') {\n currentModel = await runtime.lane.getModel(BACKGROUND_CONTEXT);\n if (headlessHost !== undefined && currentModel !== undefined && headlessHost.status.ready) {\n await headlessHost.dispatchHook('model_select', { model: currentModel });\n }\n }\n const hook = eventHook(event.type);\n if (headlessHost !== undefined && hook !== undefined && headlessHost.status.ready)\n await headlessHost.dispatchHook(hook, event as unknown as AnyRecord);\n });\n\n // The facet tools from the most recent reconciliation. Kept so a Pi-side restriction change can\n // rebuild the merged surface in memory, the same way the kernel's tools sink does, instead of\n // forcing a session reload.\n let appliedFacetTools: readonly HeadlessTool[] = [];\n let appliedSessionTools = new Map<string, AppliedSessionTool>();\n let appliedSkills = new Map<string, { descriptor: SessionSkillDescriptor; content: string }>();\n let surfaceRevision = 0;\n let toolSurfaceReady = false;\n let toolReapplyQueued = false;\n let mcpSurfaceRevision = 0;\n let mcpSurfaceReady = false;\n let appliedMcpTools = new Map<string, AppliedSessionTool>();\n let appliedMcpSkills = new Map<string, { descriptor: SessionSkillDescriptor; skill: DoomMcpSkill }>();\n let appliedMcpUiResources = new Map<\n string,\n { descriptor: SessionUiResourceDescriptor; resource: DoomMcpUiResource }\n >();\n let mcpRefreshQueued = false;\n\n const scheduleMcpRefresh = (): void => {\n if (mcpRefreshQueued || disposed || !headlessReady) return;\n mcpRefreshQueued = true;\n queueMicrotask(() => {\n mcpRefreshQueued = false;\n // A selection change in flight also recomposes MCP once it is ready again.\n if (disposed || !headlessReady || !headlessHost?.status.ready) return;\n void prepareMcpSurface().catch((error: unknown) =>\n options.onNotice?.(`MCP tool refresh failed: ${error instanceof Error ? error.message : String(error)}`),\n );\n });\n };\n\n const prepareMcpSurface = async (): Promise<void> => {\n if (!headlessHost?.status.ready) throw new Error('Headless capabilities are not installed.');\n if (mcpServiceRoot === undefined) throw new Error('MCP session services are not installed.');\n mcpSurfaceReady = false;\n mcpLifecycle.abort();\n const lifecycle = new AbortController();\n mcpLifecycle = lifecycle;\n const pluginContext = {\n execution: headlessHost.context,\n services: {\n get: <T>(name: string): T | undefined =>\n (mcpServiceRoot?.get(name) as T | undefined) ?? piHost?.getService<T>(name),\n },\n selection: {\n read: () => headlessHost!.context.selection,\n change: (change: Parameters<HeadlessHost['changeSelection']>[0]) => headlessHost!.changeSelection(change),\n },\n loadContext: () => readMcpContext(lifecycle.signal),\n signal: lifecycle.signal,\n refresh: scheduleMcpRefresh,\n };\n const nextTools = new Map<string, AppliedSessionTool>();\n const nextSkills = new Map<string, { descriptor: SessionSkillDescriptor; skill: DoomMcpSkill }>();\n const nextUiResources = new Map<string, { descriptor: SessionUiResourceDescriptor; resource: DoomMcpUiResource }>();\n for (const loaded of options.mcpPlugins ?? []) {\n const selection = headlessHost.context.selection;\n if (\n !loaded.declaration.owners.some(\n (owner) =>\n owner.majorMode === selection.majorMode &&\n (owner.layer === 'default' || selection.activeLayers.includes(owner.layer)),\n )\n )\n continue;\n const scope =\n typeof loaded.plugin.session === 'function'\n ? await loaded.plugin.session(pluginContext)\n : loaded.plugin.session;\n lifecycle.signal.throwIfAborted();\n const resources = scope.uiResources ?? [];\n for (const resource of resources) {\n const uri = new URL(resource.uri);\n if (\n uri.protocol !== 'ui:' ||\n !uri.hostname ||\n uri.username ||\n uri.password ||\n uri.search ||\n uri.hash ||\n uri.href !== resource.uri ||\n resource.mimeType !== 'text/html;profile=mcp-app'\n )\n throw new Error(`Invalid MCP UI resource '${resource.uri}'`);\n if (nextUiResources.has(resource.uri) && nextUiResources.get(resource.uri)!.resource !== resource)\n throw new Error(`Duplicate MCP UI resource '${resource.uri}'`);\n const descriptor: SessionUiResourceDescriptor = {\n uri: resource.uri,\n name: resource.name,\n mimeType: resource.mimeType,\n ...(resource.description === undefined ? {} : { description: resource.description }),\n ...(resource._meta === undefined ? {} : { _meta: resource._meta }),\n };\n nextUiResources.set(resource.uri, { descriptor, resource });\n }\n for (const tool of scope.tools ?? []) {\n if (nextTools.has(tool.name)) throw new Error(`Duplicate MCP tool '${tool.name}'`);\n const resourceUri = tool._meta?.ui?.resourceUri;\n if (resourceUri !== undefined && !resources.some((resource) => resource.uri === resourceUri))\n throw new Error(`MCP tool '${tool.name}' references a UI resource not owned by its plugin`);\n // Tool restrictions reach the agent surface through `allowsTool`; the remote surface is\n // composed here and must honour the same withdrawals.\n if (!headlessHost!.allowsTool(tool.name)) continue;\n nextTools.set(tool.name, {\n descriptor: {\n name: tool.name,\n label: tool.label ?? tool.name,\n description: tool.description,\n parameters: tool.parameters,\n ...(tool.annotations === undefined ? {} : { annotations: tool.annotations }),\n ...(tool.outputSchema === undefined ? {} : { outputSchema: tool.outputSchema }),\n ...(tool._meta === undefined ? {} : { _meta: tool._meta }),\n },\n execute: (toolCallId, parameters, signal, onUpdate, execution) =>\n tool.execute(toolCallId, parameters, signal, onUpdate, execution ?? headlessHost!.context),\n });\n }\n for (const skill of scope.skills ?? []) {\n if ([...nextSkills.values()].some((candidate) => candidate.descriptor.name === skill.name))\n throw new Error(`Duplicate MCP skill '${skill.name}'`);\n const uri = `doompi://session/${encodeURIComponent(runtime.sessionId)}/mcp/skills/${encodeURIComponent(skill.name)}`;\n nextSkills.set(uri, {\n descriptor: { name: skill.name, description: skill.description, uri },\n skill,\n });\n }\n }\n appliedMcpTools = nextTools;\n appliedMcpSkills = nextSkills;\n appliedMcpUiResources = nextUiResources;\n mcpSurfaceRevision += 1;\n mcpSurfaceReady = true;\n };\n\n const applyToolSurface = async (tools: readonly HeadlessTool[]): Promise<void> => {\n toolSurfaceReady = false;\n const facetTools = tools.map((tool) =>\n toolAdapter(\n tool.name === DOOM_LOAD_SKILL_TOOL\n ? { ...tool, description: describeLoadSkillTool(tool.description, headlessHost?.appliedResources ?? []) }\n : tool,\n () => headlessHost!.context,\n reportedToolErrors,\n ),\n );\n // Facet tools win a name collision, including when the collision is with a\n // name the facet surface declared and then gated out. The reconciled set\n // owns the name either way, so a Pi extension tool never fills a slot a\n // mode-aware facet deliberately left empty.\n const facetNames = headlessHost?.declaredToolNames ?? new Set(facetTools.map((tool) => tool.name));\n const piTools = (piHost?.tools ?? [])\n .filter((tool) => !facetNames.has(tool.name) && headlessHost?.allowsTool(tool.name) !== false)\n .map((tool): AgentHarnessTool<object | undefined> => ({\n ...tool,\n async execute(...args) {\n headlessHost!.assertActive();\n if (!toolSurfaceReady || !headlessHost!.allowsTool(tool.name))\n throw new Error(`Tool '${tool.name}' is no longer active`);\n return tool.execute(...args);\n },\n }));\n const piNames = new Set(piTools.map((tool) => tool.name));\n const nextToolGuidance = [\n ...(piHost?.toolGuidance ?? []).filter((entry) => piNames.has(entry.name)),\n ...tools.map((tool) => ({\n name: tool.name,\n ...(tool.promptSnippet === undefined ? {} : { promptSnippet: tool.promptSnippet }),\n ...(tool.promptGuidelines === undefined ? {} : { promptGuidelines: tool.promptGuidelines }),\n })),\n ];\n await runtime.replaceTools([...piTools, ...facetTools]);\n const next = new Map<string, AppliedSessionTool>();\n for (const tool of piTools) {\n next.set(tool.name, {\n descriptor: {\n name: tool.name,\n label: tool.label ?? tool.name,\n description: tool.description,\n parameters: tool.parameters,\n },\n execute: (toolCallId, parameters, signal, onUpdate) =>\n piHost!.executeTool(tool.name, toolCallId, parameters, signal, onUpdate),\n });\n }\n for (const tool of tools) {\n next.set(tool.name, {\n descriptor: {\n name: tool.name,\n label: tool.label ?? tool.name,\n description: tool.description,\n parameters: tool.parameters,\n },\n execute: (toolCallId, parameters, signal, onUpdate) =>\n tool.execute(toolCallId, parameters, signal, onUpdate, headlessHost!.context),\n });\n }\n toolGuidance = nextToolGuidance;\n appliedSessionTools = next;\n surfaceRevision += 1;\n toolSurfaceReady = true;\n };\n\n /**\n * Rebuilds the merged tool surface after a Pi extension narrowed its own tools.\n *\n * Deferred because the tool surface arbiter calls `setActiveTools` synchronously from inside\n * `register`, and coalesced because several extensions register their restrictions in the same\n * tick. The facet set is unchanged, so this never re-enters the kernel.\n */\n // Facet reconciliation and Pi restriction changes both rebuild the surface. Each run reads\n // the latest facet tools when it starts, so the surface converges on the last change\n // instead of whichever overlapping replaceTools happened to finish last.\n let toolLine: Promise<void> = Promise.resolve();\n const applyLatestTools = (): Promise<void> => {\n // A failed run was already reported to the caller that queued it; the line moves on.\n toolLine = toolLine.catch(() => undefined).then(() => applyToolSurface(appliedFacetTools));\n return toolLine;\n };\n\n const scheduleToolReapply = (): void => {\n if (toolReapplyQueued) return;\n toolReapplyQueued = true;\n queueMicrotask(() => {\n toolReapplyQueued = false;\n if (disposed) return;\n void applyLatestTools().catch((error: unknown) =>\n options.onNotice?.(\n `Pi extension tool refresh failed: ${error instanceof Error ? error.message : String(error)}`,\n ),\n );\n });\n };\n\n const prepareFacets = (root: CordisContext): void => {\n mcpServiceRoot = root;\n root.plugin((context) => {\n context.provide(DOOM_CHILD_SESSION_SERVICE, childSessionProvider.get());\n context.effect(() => () => childSessionProvider.close(), 'headless child session service lifetime');\n });\n if (headlessHost !== undefined) throw new Error('Direct headless facets were prepared more than once.');\n if (piPreload !== undefined) {\n piHost = createPiExtensionHost({\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n settings,\n runtime,\n preload: piPreload,\n getModel: () => currentModel,\n getThinkingLevel: () => resolved.thinkingLevel ?? 'off',\n client: () => client?.client,\n onActiveToolsChanged: scheduleToolReapply,\n serverServices: {\n sessionId: options.sessionId,\n get: <T>(name: string) => root.get(name) as T | undefined,\n },\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n });\n }\n headlessHost = new HeadlessHost(root, {\n candidates: options.candidates,\n selection: initialSelection,\n selectionOverrides: [\n ...new Set([\n ...(options.selectionOverrides ?? []),\n ...(['majorMode', 'domains', 'profile'] as const).filter(\n (axis) => JSON.stringify(initialSelection[axis]) !== JSON.stringify(options.selection[axis]),\n ),\n ]),\n ],\n context: executionContext,\n resolveSelection: options.resolveSelection,\n ...(options.allowedTools === undefined ? {} : { allowedTools: () => options.allowedTools }),\n applyTools: async (tools) => {\n appliedFacetTools = tools;\n await applyLatestTools();\n },\n applyResources: async (next) => {\n const mapped = mapResources(next);\n // Facet skills win a name collision, for the same reason facet tools do.\n const facetNames = new Set((mapped.harness.skills ?? []).map((skill) => skill.name));\n const piSkills = (piHost?.skills ?? []).filter((skill) => !facetNames.has(skill.name));\n const mergedSkills = [...piSkills, ...(mapped.harness.skills ?? [])];\n await runtime.replaceResources(\n piSkills.length === 0 ? mapped.harness : { ...mapped.harness, skills: mergedSkills },\n );\n appliedSkills = new Map(\n mergedSkills.map((skill) => {\n const uri = `doompi://session/${encodeURIComponent(runtime.sessionId)}/skills/${encodeURIComponent(skill.name)}`;\n return [\n uri,\n {\n descriptor: { name: skill.name, description: skill.description, uri },\n content: skill.content,\n },\n ];\n }),\n );\n surfaceRevision += 1;\n // The load tool lists the skills in its description, so it follows them.\n if (appliedFacetTools.some((tool) => tool.name === DOOM_LOAD_SKILL_TOOL)) await applyLatestTools();\n },\n onApplied: async (selection) => {\n options.publishSelectionStatus?.((source, text) => client!.client.setStatus(source, text), selection);\n latestSelection = selection;\n for (const listener of selectionListeners) listener(selection);\n },\n onError: (error) => options.onNotice?.(`Headless selection failed: ${harnessErrorMessage(error)}`),\n });\n publishComposition = createHeadlessCompositionPublisher(\n runtime,\n headlessHost,\n options.environment,\n (selection) => options.contextGroups?.(root, selection) ?? [],\n readSystemPrompt,\n );\n headlessHost.subscribeSelection(async (selection) => {\n // `onApplied` runs before HeadlessHost publishes its ready snapshot. Recompose\n // the remote surface here, after selection is coherent, rather than making a\n // transient not-ready state fail the host selection.\n if (!headlessReady || !headlessHost?.status.ready) return;\n // A throw here marks the whole host not ready. That is right for a composition that\n // failed to publish, but not for the remote MCP surface: a failure there, or a newer\n // refresh aborting this one, must not block the session's own dispatch.\n try {\n await prepareMcpSurface();\n } catch (error) {\n // A superseded refresh ends with its lifecycle signal's AbortError.\n if (!(error instanceof Error && error.name === 'AbortError'))\n options.onNotice?.(`MCP tool refresh failed: ${error instanceof Error ? error.message : String(error)}`);\n }\n await publishComposition(selection);\n });\n };\n\n const activateFacets = async (installed: InstalledServerFacets): Promise<void> => {\n if (headlessHost === undefined) throw new Error('Direct headless host was not prepared.');\n const host = headlessHost;\n // Dispose can run while activation awaits. Continuing would mark a closed session ready\n // and run its startup hooks against a disposed runtime.\n const assertLive = (): void => {\n if (disposed) throw new Error('The session was closed while it was starting.');\n };\n host.setAvailableSources(installed.installedPackages);\n // Pi extensions load before the first selection so their session lifetime tools and skills\n // are present in the very first composition. A failure here is reported, never fatal.\n if (piHost !== undefined) {\n try {\n await piHost.load();\n } catch (error) {\n options.onNotice?.(`Pi extensions failed to load: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n assertLive();\n await host.select(initialSelection);\n assertLive();\n // Nothing recomputes readiness after this point, so a session whose first selection\n // failed would stay registered but unable to run. Fail creation instead.\n if (!host.status.ready)\n throw new Error(`Session capabilities failed to start: ${host.status.error ?? 'selection is not ready'}`);\n headlessReady = true;\n await prepareMcpSurface();\n assertLive();\n // Honor persisted abort/pause intent before recovering an interrupted native drive.\n await runtime.recover();\n assertLive();\n await host.dispatchHook('session_start', {});\n await publishComposition();\n // A journal reopened while its lane still holds an in-flight operation is a\n // turn that was cut off, not a finished one. Driving it here is what the\n // runtime's resume exists for, and it runs detached because that turn can\n // outlive session startup by minutes.\n void runtime\n .resume()\n .catch((error: unknown) => options.onNotice?.(`Session resume failed: ${harnessErrorMessage(error)}`));\n };\n\n const dispose = (): Promise<void> => {\n disposePromise ??= (async () => {\n if (disposed) return;\n // Only a session that finished activation ran session_start, so only it gets the\n // matching shutdown hook. The owner disposes this host before removing facets, so a\n // ready host is still ready when the hook is dispatched.\n const wasReady = headlessReady;\n disposed = true;\n headlessReady = false;\n mcpSurfaceReady = false;\n mcpLifecycle.abort();\n const failures: unknown[] = [];\n try {\n await runtime.interrupt();\n } catch (error) {\n failures.push(error);\n }\n try {\n if (wasReady && headlessHost?.status.ready) await headlessHost.dispatchHook('session_shutdown', {});\n } catch (error) {\n failures.push(error);\n }\n // Native close seals late model/tool effects while their extension hosts still exist.\n try {\n await runtime.dispose();\n } catch (error) {\n failures.push(error);\n }\n try {\n await piHost?.shutdown();\n } catch (error) {\n failures.push(error);\n }\n try {\n await headlessHost?.close();\n } catch (error) {\n failures.push(error);\n }\n // Activity cleanup still needs its client to clear status during host close.\n client?.dispose();\n unsubscribePresentation();\n unsubscribeEvents();\n try {\n await childSessionProvider.close();\n } catch (error) {\n failures.push(error);\n }\n if (failures.length) throw new AggregateError(failures, 'Headless session shutdown failed');\n })();\n return disposePromise;\n };\n const stop = (): void => {\n void dispose().catch((error: unknown) => options.onNotice?.(harnessErrorMessage(error)));\n };\n\n const invokeSurfaceTool = async (\n invocation: Parameters<SessionToolSurface['invokeTool']>[0],\n readRevision: () => number,\n readTools: () => Map<string, AppliedSessionTool>,\n ready: () => boolean,\n lifecycleSignal?: AbortSignal,\n ): Promise<import('../../../exports/headless').DoomHeadlessToolResult> => {\n if (disposed || !headlessReady || !ready() || !headlessHost?.status.ready)\n throw new Error('Headless capability preparation is not ready.');\n if (invocation.revision !== readRevision()) throw new Error('The session tool surface has changed');\n if (!isJsonObject(invocation.arguments)) throw new Error('Tool arguments must be a JSON object');\n const applied = readTools().get(invocation.name);\n if (applied === undefined) throw new Error(`Tool '${invocation.name}' is not active`);\n if (!Value.Check(applied.descriptor.parameters, invocation.arguments))\n throw new Error(`Invalid arguments for tool '${invocation.name}'`);\n const signals = [invocation.signal, lifecycleSignal].filter(\n (signal): signal is AbortSignal => signal !== undefined,\n );\n const signal = signals.length === 0 ? undefined : AbortSignal.any(signals);\n signal?.throwIfAborted();\n return runtime.runExternalOperation(async () => {\n const toolCallId = `external-${randomUUID()}`;\n const before = await beforeTool(\n { toolCallId, toolName: invocation.name, args: invocation.arguments as Record<string, JsonValue> },\n BACKGROUND_CONTEXT,\n );\n if (before?.block !== undefined) return { content: [{ type: 'text', text: before.block.reason }], isError: true };\n const args = before?.args ?? (invocation.arguments as Record<string, JsonValue>);\n if (!Value.Check(applied.descriptor.parameters, args))\n throw new Error(`A tool hook produced invalid arguments for '${invocation.name}'`);\n await invocation.authorize?.();\n signal?.throwIfAborted();\n if (disposed || !headlessReady || !ready() || !headlessHost?.status.ready)\n throw new Error('Headless capability preparation is not ready.');\n if (invocation.revision !== readRevision() || readTools().get(invocation.name) !== applied)\n throw new Error(`Tool '${invocation.name}' is no longer active`);\n const startEvent = {\n type: 'tool_execution_start',\n runId: EXTERNAL_OPERATION,\n turnId: EXTERNAL_OPERATION,\n toolCallId,\n toolName: invocation.name,\n args,\n };\n emitTo(listeners, startEvent);\n // External calls bypass the harness event stream. Deliver the same lifecycle\n // to package hooks as native tools, not just to presentation subscribers.\n await headlessHost.dispatchHook('tool_execution_start', startEvent);\n let result;\n try {\n result = await applied.execute(\n toolCallId,\n args,\n signal,\n (partial) => {\n emitTo(listeners, {\n type: 'tool_execution_update',\n runId: EXTERNAL_OPERATION,\n turnId: EXTERNAL_OPERATION,\n toolCallId,\n toolName: invocation.name,\n partialResult: partial,\n });\n invocation.onUpdate?.(partial);\n },\n invocation.mcpSkills === undefined ? undefined : { ...headlessHost.context, mcpSkills: invocation.mcpSkills },\n );\n } catch (error) {\n result = {\n content: [{ type: 'text' as const, text: error instanceof Error ? error.message : String(error) }],\n isError: true,\n };\n }\n const patch = await afterTool(\n {\n toolCallId,\n toolName: invocation.name,\n args,\n content: result.content,\n ...(isJsonValue(result.details) ? { details: result.details } : {}),\n isError: result.isError === true,\n },\n BACKGROUND_CONTEXT,\n );\n const patched = {\n content: patch?.content ?? result.content,\n // A hook that rewrites a result must not leave the original payload available remotely.\n ...(patch?.content !== undefined || patch?.isError !== undefined || result.structuredContent === undefined\n ? {}\n : { structuredContent: result.structuredContent }),\n ...(patch?.content !== undefined ||\n patch?.isError !== undefined ||\n patch?.details !== undefined ||\n result._meta === undefined\n ? {}\n : { _meta: result._meta }),\n ...(patch?.details !== undefined\n ? { details: patch.details }\n : result.details === undefined\n ? {}\n : { details: result.details }),\n isError: patch?.isError ?? result.isError ?? false,\n };\n const endEvent = {\n type: 'tool_execution_end',\n runId: EXTERNAL_OPERATION,\n turnId: EXTERNAL_OPERATION,\n toolCallId,\n toolName: invocation.name,\n result: patched,\n isError: patched.isError,\n terminate: patch?.terminate ?? false,\n };\n emitTo(listeners, endEvent);\n await headlessHost.dispatchHook('tool_execution_end', endEvent);\n return patched;\n });\n };\n\n const toolSurface: SessionToolSurface = {\n readSurface() {\n if (disposed || !headlessReady || !toolSurfaceReady || !headlessHost?.status.ready)\n throw new Error('Headless capability preparation is not ready.');\n return {\n revision: surfaceRevision,\n tools: [...appliedSessionTools.values()].map((tool) => tool.descriptor),\n skills: [...appliedSkills.values()].map((skill) => skill.descriptor),\n };\n },\n invokeTool: (invocation) =>\n invokeSurfaceTool(\n invocation,\n () => surfaceRevision,\n () => appliedSessionTools,\n () => toolSurfaceReady,\n ),\n readSkill(revision, uri) {\n if (disposed || !headlessReady || !toolSurfaceReady || !headlessHost?.status.ready)\n throw new Error('Headless capability preparation is not ready.');\n if (revision !== surfaceRevision) throw new Error('The session skill surface has changed');\n const skill = appliedSkills.get(uri);\n if (skill === undefined) throw new Error('The session skill is not active');\n return skill.content;\n },\n };\n\n const mcpSurface: SessionToolSurface = {\n readSurface() {\n if (disposed || !headlessReady || !mcpSurfaceReady || !headlessHost?.status.ready)\n throw new Error('MCP capability preparation is not ready.');\n return {\n revision: mcpSurfaceRevision,\n tools: [...appliedMcpTools.values()].map((tool) => tool.descriptor),\n skills: [...appliedMcpSkills.values()].map((skill) => skill.descriptor),\n uiResources: [...appliedMcpUiResources.values()].map((resource) => resource.descriptor),\n };\n },\n invokeTool: (invocation) =>\n invokeSurfaceTool(\n invocation,\n () => mcpSurfaceRevision,\n () => appliedMcpTools,\n () => mcpSurfaceReady,\n mcpLifecycle.signal,\n ),\n async readUiResource(revision, uri) {\n if (disposed || !headlessReady || !mcpSurfaceReady || !headlessHost?.status.ready)\n throw new Error('MCP capability preparation is not ready.');\n if (revision !== mcpSurfaceRevision) throw new Error('The session MCP surface has changed');\n const resource = appliedMcpUiResources.get(uri)?.resource;\n if (resource === undefined) throw new Error('The session MCP UI resource is not active');\n const text = await resource.read();\n if (disposed || !headlessReady || !mcpSurfaceReady || !headlessHost?.status.ready)\n throw new Error('MCP capability preparation is not ready.');\n if (revision !== mcpSurfaceRevision || appliedMcpUiResources.get(uri)?.resource !== resource)\n throw new Error('The session MCP surface has changed');\n return text;\n },\n async readSkill(revision, uri) {\n if (disposed || !headlessReady || !mcpSurfaceReady || !headlessHost?.status.ready)\n throw new Error('MCP capability preparation is not ready.');\n if (revision !== mcpSurfaceRevision) throw new Error('The session MCP surface has changed');\n const skill = appliedMcpSkills.get(uri)?.skill;\n if (skill === undefined) throw new Error('The session MCP skill is not active');\n const text = await skill.read(headlessHost.context);\n if (disposed || !headlessReady || !mcpSurfaceReady || !headlessHost?.status.ready)\n throw new Error('MCP capability preparation is not ready.');\n if (revision !== mcpSurfaceRevision || appliedMcpSkills.get(uri)?.skill !== skill)\n throw new Error('The session MCP surface has changed');\n return text;\n },\n };\n\n return {\n runtime,\n ...(sessionContext === undefined ? {} : { sessionContext }),\n get host() {\n return headlessHost;\n },\n toolSurface,\n mcpSurface,\n prepareFacets,\n activateFacets,\n canDispatch: () => !disposed && headlessReady && !promptPreparationFailed && headlessHost?.status.ready === true,\n onPresentationFrame(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n onSelection(listener) {\n selectionListeners.add(listener);\n listener(latestSelection);\n return () => {\n selectionListeners.delete(listener);\n };\n },\n respondToExtensionUi(frame) {\n return client?.receive(frame as SessionFrame) ?? false;\n },\n dispose,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DoomHeadlessSelection } from "../../../schemas/headless.mjs";
|
|
2
|
+
import "../../../../headless.mjs";
|
|
3
|
+
import { HeadlessSessionHost, HeadlessSessionHostOptions } from "../../../../headlessSessionHost.mjs";
|
|
4
|
+
import { Args } from "@earendil-works/pi-coding-agent";
|
|
5
|
+
//#region src/systems/main/adapters/headlessSessionHost.d.ts
|
|
6
|
+
type AnyRecord = Record<string, unknown>;
|
|
7
|
+
/** Restores the last accepted live selection from journal projections, falling back on launch configuration. */
|
|
8
|
+
export declare function restoreHeadlessSelection(entries: readonly AnyRecord[], fallback: DoomHeadlessSelection): DoomHeadlessSelection;
|
|
9
|
+
/** Validate the Pi flags that remain after Doom's harness flags are removed. */
|
|
10
|
+
export declare function validateDirectHeadlessArgs(agentArgs: readonly string[]): Args;
|
|
11
|
+
/** Create the gated, same-process host used by direct-headless startup tests. */
|
|
12
|
+
export declare function createHeadlessSessionHost(options: HeadlessSessionHostOptions): Promise<HeadlessSessionHost>;
|
|
13
|
+
//#endregion
|
|
14
|
+
//# sourceMappingURL=headlessSessionHost.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headlessSessionHost.d.mts","names":[],"sources":["../../../../../src/systems/main/adapters/headlessSessionHost.ts"],"mappings":";;;;;KAmEK,YAAY;;wBA6BD,yBACd,kBAAkB,aAClB,UAAU,wBACT;;wBAgIa,2BAA2B,+BAA+B;;wBAuNpD,0BAA0B,SAAS,6BAA6B,QAAQ"}
|