@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":"index.mjs","names":[],"sources":["../../../../src/services/sqliteSessionHistory/index.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport path from 'node:path';\n\nimport { BACKGROUND_CONTEXT } from '@earendil-works/pi-agent-core/harness/context';\nimport { sessionName, value } from '@earendil-works/pi-agent-core/harness/session';\nimport {\n SqliteSessionRepo,\n SqliteStorage,\n createNodeSqliteFactory,\n} from '@earendil-works/pi-session-backend-sqlite-node';\n\nexport interface SavedSession {\n id: string;\n name?: string;\n firstMessage: string;\n createdAt: string;\n updatedAt: string;\n messageCount: number;\n}\n\n/** Private execution context, never included in the HTTP history summary. */\nexport interface SavedSessionExecution {\n cwd: string;\n repoRoot: string;\n workspaceId: string;\n groupingRoot: string;\n parentSessionId?: string;\n sessionProvenance?: string;\n inheritedArtifact?: unknown;\n}\n\nexport interface SavedSessionRecord {\n summary: SavedSession;\n execution: SavedSessionExecution;\n}\n\nexport function readSavedExecution(raw: unknown, owner: string): SavedSessionExecution | undefined {\n if (typeof raw !== 'string') return undefined;\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n return undefined;\n }\n if (typeof parsed !== 'object' || parsed === null) return undefined;\n const record = parsed as Record<string, unknown>;\n if (\n typeof record.cwd !== 'string' ||\n !path.isAbsolute(record.cwd) ||\n typeof record.repoRoot !== 'string' ||\n !path.isAbsolute(record.repoRoot) ||\n record.repoRoot !== owner ||\n typeof record.workspaceId !== 'string' ||\n record.workspaceId === '' ||\n typeof record.groupingRoot !== 'string' ||\n !path.isAbsolute(record.groupingRoot)\n )\n return undefined;\n if (record.parentSessionId !== undefined && typeof record.parentSessionId !== 'string') return undefined;\n if (record.sessionProvenance !== undefined && typeof record.sessionProvenance !== 'string') return undefined;\n return {\n cwd: record.cwd,\n repoRoot: record.repoRoot,\n workspaceId: record.workspaceId,\n groupingRoot: record.groupingRoot,\n ...(typeof record.parentSessionId === 'string' ? { parentSessionId: record.parentSessionId } : {}),\n ...(typeof record.sessionProvenance === 'string' ? { sessionProvenance: record.sessionProvenance } : {}),\n ...(record.inheritedArtifact === undefined ? {} : { inheritedArtifact: record.inheritedArtifact }),\n };\n}\n\n/** Lists private execution records for one admitted workspace. */\nexport async function listSavedSessionRecords(\n sessionsRoot: string,\n workspaceRoot: string,\n activeSessionIds: ReadonlySet<string>,\n workspaceId?: string,\n): Promise<SavedSessionRecord[]> {\n const factory = createNodeSqliteFactory();\n const repository = new SqliteSessionRepo({ directory: sessionsRoot, databaseFactory: factory });\n let sessions: Awaited<ReturnType<typeof repository.list>>;\n try {\n sessions = await repository.list(undefined, BACKGROUND_CONTEXT);\n } finally {\n await repository.close(BACKGROUND_CONTEXT);\n }\n const result: SavedSessionRecord[] = [];\n for (const metadata of sessions) {\n if (activeSessionIds.has(metadata.id)) continue;\n const database = await factory.openReadOnly(metadata.path);\n const storage = new SqliteStorage(database, { sessionId: metadata.id });\n try {\n const owner = await storage.getValue(value('doompi.session', 'workspaceRoot'), BACKGROUND_CONTEXT);\n if (typeof owner?.value !== 'string') continue;\n const context = await storage.getValue(value('doompi.session', 'execution'), BACKGROUND_CONTEXT);\n const execution = readSavedExecution(context?.value, owner.value);\n if (context?.value !== undefined && !execution) continue;\n if (execution) {\n if (execution.groupingRoot !== workspaceRoot || (workspaceId && execution.workspaceId !== workspaceId))\n continue;\n } else {\n // Legacy journals have only an execution root. Never infer worktree grouping\n // or a subdirectory pwd from their parent workspace.\n if (owner.value !== workspaceRoot) continue;\n }\n const [name, entries, stats, file] = await Promise.all([\n storage.getValue(sessionName, BACKGROUND_CONTEXT),\n storage.scanEntries({ type: 'message', order: 'asc', limit: 100 }, BACKGROUND_CONTEXT),\n storage.getStats(BACKGROUND_CONTEXT),\n fs.stat(metadata.path),\n ]);\n const firstUser = entries.find((entry) => entry.type === 'message' && entry.message.role === 'user');\n const content =\n firstUser?.type === 'message' && 'content' in firstUser.message ? firstUser.message.content : undefined;\n const firstMessage =\n typeof content === 'string'\n ? content\n : Array.isArray(content)\n ? content\n .filter((part) => part.type === 'text')\n .map((part) => part.text)\n .join('\\n')\n : '';\n result.push({\n summary: {\n id: metadata.id,\n ...(typeof name?.value === 'string' ? { name: name.value } : {}),\n firstMessage,\n createdAt: new Date(metadata.createdAt).toISOString(),\n updatedAt: file.mtime.toISOString(),\n messageCount: stats.messageCount,\n },\n execution: execution ?? {\n cwd: workspaceRoot,\n repoRoot: workspaceRoot,\n groupingRoot: workspaceRoot,\n workspaceId: workspaceId ?? '',\n },\n });\n } finally {\n await storage.close(BACKGROUND_CONTEXT);\n database.close();\n }\n }\n return result.sort((left, right) => right.summary.updatedAt.localeCompare(left.summary.updatedAt));\n}\n\n/** Public history summaries contain no execution paths or pinned artifacts. */\nexport async function listSavedSessions(\n sessionsRoot: string,\n workspaceRoot: string,\n activeSessionIds: ReadonlySet<string>,\n workspaceId?: string,\n): Promise<SavedSession[]> {\n return (await listSavedSessionRecords(sessionsRoot, workspaceRoot, activeSessionIds, workspaceId)).map(\n (record) => record.summary,\n );\n}\n"],"mappings":";;;;;;AAoCA,SAAgB,mBAAmB,KAAc,OAAkD;CACjG,IAAI,OAAO,QAAQ,UAAU,OAAO,KAAA;CACpC,IAAI;CACJ,IAAI;EACF,SAAS,KAAK,MAAM,GAAG;CACzB,QAAQ;EACN;CACF;CACA,IAAI,OAAO,WAAW,YAAY,WAAW,MAAM,OAAO,KAAA;CAC1D,MAAM,SAAS;CACf,IACE,OAAO,OAAO,QAAQ,YACtB,CAAC,KAAK,WAAW,OAAO,GAAG,KAC3B,OAAO,OAAO,aAAa,YAC3B,CAAC,KAAK,WAAW,OAAO,QAAQ,KAChC,OAAO,aAAa,SACpB,OAAO,OAAO,gBAAgB,YAC9B,OAAO,gBAAgB,MACvB,OAAO,OAAO,iBAAiB,YAC/B,CAAC,KAAK,WAAW,OAAO,YAAY,GAEpC,OAAO,KAAA;CACT,IAAI,OAAO,oBAAoB,KAAA,KAAa,OAAO,OAAO,oBAAoB,UAAU,OAAO,KAAA;CAC/F,IAAI,OAAO,sBAAsB,KAAA,KAAa,OAAO,OAAO,sBAAsB,UAAU,OAAO,KAAA;CACnG,OAAO;EACL,KAAK,OAAO;EACZ,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB,cAAc,OAAO;EACrB,GAAI,OAAO,OAAO,oBAAoB,WAAW,EAAE,iBAAiB,OAAO,gBAAgB,IAAI,CAAC;EAChG,GAAI,OAAO,OAAO,sBAAsB,WAAW,EAAE,mBAAmB,OAAO,kBAAkB,IAAI,CAAC;EACtG,GAAI,OAAO,sBAAsB,KAAA,IAAY,CAAC,IAAI,EAAE,mBAAmB,OAAO,kBAAkB;CAClG;AACF;;AAGA,eAAsB,wBACpB,cACA,eACA,kBACA,aAC+B;CAC/B,MAAM,UAAU,wBAAwB;CACxC,MAAM,aAAa,IAAI,kBAAkB;EAAE,WAAW;EAAc,iBAAiB;CAAQ,CAAC;CAC9F,IAAI;CACJ,IAAI;EACF,WAAW,MAAM,WAAW,KAAK,KAAA,GAAW,kBAAkB;CAChE,UAAU;EACR,MAAM,WAAW,MAAM,kBAAkB;CAC3C;CACA,MAAM,SAA+B,CAAC;CACtC,KAAK,MAAM,YAAY,UAAU;EAC/B,IAAI,iBAAiB,IAAI,SAAS,EAAE,GAAG;EACvC,MAAM,WAAW,MAAM,QAAQ,aAAa,SAAS,IAAI;EACzD,MAAM,UAAU,IAAI,cAAc,UAAU,EAAE,WAAW,SAAS,GAAG,CAAC;EACtE,IAAI;GACF,MAAM,QAAQ,MAAM,QAAQ,SAAS,MAAM,kBAAkB,eAAe,GAAG,kBAAkB;GACjG,IAAI,OAAO,OAAO,UAAU,UAAU;GACtC,MAAM,UAAU,MAAM,QAAQ,SAAS,MAAM,kBAAkB,WAAW,GAAG,kBAAkB;GAC/F,MAAM,YAAY,mBAAmB,SAAS,OAAO,MAAM,KAAK;GAChE,IAAI,SAAS,UAAU,KAAA,KAAa,CAAC,WAAW;GAChD,IAAI,WACE;QAAA,UAAU,iBAAiB,iBAAkB,eAAe,UAAU,gBAAgB,aACxF;GAAA,OAIF,IAAI,MAAM,UAAU,eAAe;GAErC,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,MAAM,QAAQ,IAAI;IACrD,QAAQ,SAAS,aAAa,kBAAkB;IAChD,QAAQ,YAAY;KAAE,MAAM;KAAW,OAAO;KAAO,OAAO;IAAI,GAAG,kBAAkB;IACrF,QAAQ,SAAS,kBAAkB;IACnC,GAAG,KAAK,SAAS,IAAI;GACvB,CAAC;GACD,MAAM,YAAY,QAAQ,MAAM,UAAU,MAAM,SAAS,aAAa,MAAM,QAAQ,SAAS,MAAM;GACnG,MAAM,UACJ,WAAW,SAAS,aAAa,aAAa,UAAU,UAAU,UAAU,QAAQ,UAAU,KAAA;GAChG,MAAM,eACJ,OAAO,YAAY,WACf,UACA,MAAM,QAAQ,OAAO,IACnB,QACG,QAAQ,SAAS,KAAK,SAAS,MAAM,CAAC,CACtC,KAAK,SAAS,KAAK,IAAI,CAAC,CACxB,KAAK,IAAI,IACZ;GACR,OAAO,KAAK;IACV,SAAS;KACP,IAAI,SAAS;KACb,GAAI,OAAO,MAAM,UAAU,WAAW,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC;KAC9D;KACA,WAAW,IAAI,KAAK,SAAS,SAAS,CAAC,CAAC,YAAY;KACpD,WAAW,KAAK,MAAM,YAAY;KAClC,cAAc,MAAM;IACtB;IACA,WAAW,aAAa;KACtB,KAAK;KACL,UAAU;KACV,cAAc;KACd,aAAa,eAAe;IAC9B;GACF,CAAC;EACH,UAAU;GACR,MAAM,QAAQ,MAAM,kBAAkB;GACtC,SAAS,MAAM;EACjB;CACF;CACA,OAAO,OAAO,MAAM,MAAM,UAAU,MAAM,QAAQ,UAAU,cAAc,KAAK,QAAQ,SAAS,CAAC;AACnG;;AAGA,eAAsB,kBACpB,cACA,eACA,kBACA,aACyB;CACzB,QAAQ,MAAM,wBAAwB,cAAc,eAAe,kBAAkB,WAAW,EAAA,CAAG,KAChG,WAAW,OAAO,OACrB;AACF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_index = require("../sqliteSessionHistory/index.cjs");
|
|
3
|
+
const require_index$1 = require("../transcriptPages/index.cjs");
|
|
4
|
+
let node_path = require("node:path");
|
|
5
|
+
node_path = require_runtime.__toESM(node_path, 1);
|
|
6
|
+
let _earendil_works_pi_agent_core_harness_session = require("@earendil-works/pi-agent-core/harness/session");
|
|
7
|
+
let node_fs_promises = require("node:fs/promises");
|
|
8
|
+
node_fs_promises = require_runtime.__toESM(node_fs_promises, 1);
|
|
9
|
+
let _earendil_works_pi_session_backend_sqlite_node = require("@earendil-works/pi-session-backend-sqlite-node");
|
|
10
|
+
//#region src/services/sqliteTranscriptReader/index.ts
|
|
11
|
+
/** A completed child is read through a separate read-only WAL connection, never a second writer. */
|
|
12
|
+
async function readSqliteTranscript(file, request, context, ownership) {
|
|
13
|
+
try {
|
|
14
|
+
if (!(await node_fs_promises.default.stat(file)).isFile()) throw new Error("Child SQLite session not found");
|
|
15
|
+
} catch {
|
|
16
|
+
throw new Error("Child SQLite session not found");
|
|
17
|
+
}
|
|
18
|
+
const factory = (0, _earendil_works_pi_session_backend_sqlite_node.createNodeSqliteFactory)();
|
|
19
|
+
const repository = new _earendil_works_pi_session_backend_sqlite_node.SqliteSessionRepo({
|
|
20
|
+
directory: node_path.default.dirname(file),
|
|
21
|
+
databasePath: file,
|
|
22
|
+
databaseFactory: factory
|
|
23
|
+
});
|
|
24
|
+
let sessions;
|
|
25
|
+
try {
|
|
26
|
+
sessions = await repository.list(void 0, context);
|
|
27
|
+
} finally {
|
|
28
|
+
await repository.close(context);
|
|
29
|
+
}
|
|
30
|
+
if (sessions.length !== 1) throw new Error("Child SQLite session not found");
|
|
31
|
+
if (ownership !== void 0 && sessions[0].id !== ownership.sessionId) throw new Error("Saved transcript does not belong to this session");
|
|
32
|
+
const database = await factory.openReadOnly(file);
|
|
33
|
+
const storage = new _earendil_works_pi_session_backend_sqlite_node.SqliteStorage(database, { sessionId: sessions[0].id });
|
|
34
|
+
try {
|
|
35
|
+
if (ownership !== void 0) {
|
|
36
|
+
if ((await storage.getValue((0, _earendil_works_pi_agent_core_harness_session.value)("doompi.session", "workspaceRoot"), context))?.value !== ownership.workspaceRoot) throw new Error("Saved transcript does not belong to this workspace");
|
|
37
|
+
const contextValue = await storage.getValue((0, _earendil_works_pi_agent_core_harness_session.value)("doompi.session", "execution"), context);
|
|
38
|
+
if (contextValue?.value !== void 0) {
|
|
39
|
+
const execution = require_index.readSavedExecution(contextValue.value, ownership.workspaceRoot);
|
|
40
|
+
if (!execution || ownership.workspaceId !== void 0 && execution.workspaceId !== ownership.workspaceId || ownership.groupingRoot !== void 0 && execution.groupingRoot !== ownership.groupingRoot) throw new Error("Saved transcript does not belong to this workspace");
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const branches = await storage.scanValues((0, _earendil_works_pi_agent_core_harness_session.branchTip)(""), context);
|
|
44
|
+
const branch = branches.find((item) => item.address.key === "main") ?? (branches.length === 1 ? branches[0] : void 0);
|
|
45
|
+
if (!branch && branches.length > 1) throw new Error("Child transcript has no unambiguous active lane");
|
|
46
|
+
const tip = branch?.value ?? null;
|
|
47
|
+
return {
|
|
48
|
+
...await require_index$1.readTranscriptPage({
|
|
49
|
+
sessionId: sessions[0].id,
|
|
50
|
+
laneName: branch?.address.key ?? "main",
|
|
51
|
+
lane: {
|
|
52
|
+
getTipId: async () => tip,
|
|
53
|
+
findEntries: (query, readContext) => tip ? storage.scanBranch({
|
|
54
|
+
...query,
|
|
55
|
+
start: query?.start ?? tip
|
|
56
|
+
}, readContext) : Promise.resolve([])
|
|
57
|
+
}
|
|
58
|
+
}, request, 0, context),
|
|
59
|
+
revision: 0,
|
|
60
|
+
drafts: []
|
|
61
|
+
};
|
|
62
|
+
} finally {
|
|
63
|
+
await storage.close(context);
|
|
64
|
+
database.close();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
exports.readSqliteTranscript = readSqliteTranscript;
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["fs","createNodeSqliteFactory","SqliteSessionRepo","path","SqliteStorage","value","readSavedExecution","branchTip","readTranscriptPage"],"sources":["../../../../src/services/sqliteTranscriptReader/index.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport path from 'node:path';\n\nimport type { Context } from '@earendil-works/chord';\nimport { branchTip, value } from '@earendil-works/pi-agent-core/harness/session';\nimport {\n SqliteSessionRepo,\n SqliteStorage,\n createNodeSqliteFactory,\n} from '@earendil-works/pi-session-backend-sqlite-node';\n\nimport type { TranscriptPageRequest, TranscriptPage } from '../../exports/sessionProtocol';\nimport { readSavedExecution } from '../sqliteSessionHistory';\nimport { readTranscriptPage } from '../transcriptPages';\n\nexport interface SqliteTranscriptOwnership {\n sessionId: string;\n workspaceRoot: string;\n workspaceId?: string;\n groupingRoot?: string;\n}\n\n/** A completed child is read through a separate read-only WAL connection, never a second writer. */\nexport async function readSqliteTranscript(\n file: string,\n request: TranscriptPageRequest,\n context: Context,\n ownership?: SqliteTranscriptOwnership,\n): Promise<TranscriptPage> {\n try {\n const stat = await fs.stat(file);\n if (!stat.isFile()) throw new Error('Child SQLite session not found');\n } catch {\n throw new Error('Child SQLite session not found');\n }\n const factory = createNodeSqliteFactory();\n const repository = new SqliteSessionRepo({\n directory: path.dirname(file),\n databasePath: file,\n databaseFactory: factory,\n });\n let sessions: Awaited<ReturnType<typeof repository.list>>;\n try {\n sessions = await repository.list(undefined, context);\n } finally {\n await repository.close(context);\n }\n if (sessions.length !== 1) throw new Error('Child SQLite session not found');\n if (ownership !== undefined && sessions[0]!.id !== ownership.sessionId)\n throw new Error('Saved transcript does not belong to this session');\n const database = await factory.openReadOnly(file);\n const storage = new SqliteStorage(database, { sessionId: sessions[0]!.id });\n try {\n if (ownership !== undefined) {\n const owner = await storage.getValue(value('doompi.session', 'workspaceRoot'), context);\n if (owner?.value !== ownership.workspaceRoot)\n throw new Error('Saved transcript does not belong to this workspace');\n const contextValue = await storage.getValue(value('doompi.session', 'execution'), context);\n if (contextValue?.value !== undefined) {\n const execution = readSavedExecution(contextValue.value, ownership.workspaceRoot);\n if (\n !execution ||\n (ownership.workspaceId !== undefined && execution.workspaceId !== ownership.workspaceId) ||\n (ownership.groupingRoot !== undefined && execution.groupingRoot !== ownership.groupingRoot)\n )\n throw new Error('Saved transcript does not belong to this workspace');\n }\n }\n const branches = await storage.scanValues(branchTip(''), context);\n const branch =\n branches.find((item) => item.address.key === 'main') ?? (branches.length === 1 ? branches[0] : undefined);\n if (!branch && branches.length > 1) throw new Error('Child transcript has no unambiguous active lane');\n const tip = branch?.value ?? null;\n const page = await readTranscriptPage(\n {\n sessionId: sessions[0]!.id,\n laneName: branch?.address.key ?? 'main',\n lane: {\n getTipId: async () => tip,\n findEntries: (query, readContext) =>\n tip ? storage.scanBranch({ ...query, start: query?.start ?? tip }, readContext) : Promise.resolve([]),\n },\n },\n request,\n 0,\n context,\n );\n return { ...page, revision: 0, drafts: [] };\n } finally {\n await storage.close(context);\n database.close();\n }\n}\n"],"mappings":";;;;;;;;;;;AAuBA,eAAsB,qBACpB,MACA,SACA,SACA,WACyB;CACzB,IAAI;EAEF,IAAI,EAAC,MADcA,iBAAAA,QAAG,KAAK,IAAI,EAAA,CACrB,OAAO,GAAG,MAAM,IAAI,MAAM,gCAAgC;CACtE,QAAQ;EACN,MAAM,IAAI,MAAM,gCAAgC;CAClD;CACA,MAAM,WAAA,GAAUC,+CAAAA,wBAAAA,CAAwB;CACxC,MAAM,aAAa,IAAIC,+CAAAA,kBAAkB;EACvC,WAAWC,UAAAA,QAAK,QAAQ,IAAI;EAC5B,cAAc;EACd,iBAAiB;CACnB,CAAC;CACD,IAAI;CACJ,IAAI;EACF,WAAW,MAAM,WAAW,KAAK,KAAA,GAAW,OAAO;CACrD,UAAU;EACR,MAAM,WAAW,MAAM,OAAO;CAChC;CACA,IAAI,SAAS,WAAW,GAAG,MAAM,IAAI,MAAM,gCAAgC;CAC3E,IAAI,cAAc,KAAA,KAAa,SAAS,EAAE,CAAE,OAAO,UAAU,WAC3D,MAAM,IAAI,MAAM,kDAAkD;CACpE,MAAM,WAAW,MAAM,QAAQ,aAAa,IAAI;CAChD,MAAM,UAAU,IAAIC,+CAAAA,cAAc,UAAU,EAAE,WAAW,SAAS,EAAE,CAAE,GAAG,CAAC;CAC1E,IAAI;EACF,IAAI,cAAc,KAAA,GAAW;GAE3B,KAAI,MADgB,QAAQ,UAAA,GAASC,8CAAAA,MAAAA,CAAM,kBAAkB,eAAe,GAAG,OAAO,EAAA,EAC3E,UAAU,UAAU,eAC7B,MAAM,IAAI,MAAM,oDAAoD;GACtE,MAAM,eAAe,MAAM,QAAQ,UAAA,GAASA,8CAAAA,MAAAA,CAAM,kBAAkB,WAAW,GAAG,OAAO;GACzF,IAAI,cAAc,UAAU,KAAA,GAAW;IACrC,MAAM,YAAYC,cAAAA,mBAAmB,aAAa,OAAO,UAAU,aAAa;IAChF,IACE,CAAC,aACA,UAAU,gBAAgB,KAAA,KAAa,UAAU,gBAAgB,UAAU,eAC3E,UAAU,iBAAiB,KAAA,KAAa,UAAU,iBAAiB,UAAU,cAE9E,MAAM,IAAI,MAAM,oDAAoD;GACxE;EACF;EACA,MAAM,WAAW,MAAM,QAAQ,YAAA,GAAWC,8CAAAA,UAAAA,CAAU,EAAE,GAAG,OAAO;EAChE,MAAM,SACJ,SAAS,MAAM,SAAS,KAAK,QAAQ,QAAQ,MAAM,MAAM,SAAS,WAAW,IAAI,SAAS,KAAK,KAAA;EACjG,IAAI,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,IAAI,MAAM,iDAAiD;EACrG,MAAM,MAAM,QAAQ,SAAS;EAe7B,OAAO;GAAE,GAAG,MAdOC,gBAAAA,mBACjB;IACE,WAAW,SAAS,EAAE,CAAE;IACxB,UAAU,QAAQ,QAAQ,OAAO;IACjC,MAAM;KACJ,UAAU,YAAY;KACtB,cAAc,OAAO,gBACnB,MAAM,QAAQ,WAAW;MAAE,GAAG;MAAO,OAAO,OAAO,SAAS;KAAI,GAAG,WAAW,IAAI,QAAQ,QAAQ,CAAC,CAAC;IACxG;GACF,GACA,SACA,GACA,OACF;GACkB,UAAU;GAAG,QAAQ,CAAC;EAAE;CAC5C,UAAU;EACR,MAAM,QAAQ,MAAM,OAAO;EAC3B,SAAS,MAAM;CACjB;AACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TranscriptPage, TranscriptPageRequest } from "../../schemas/sessionProtocol.mjs";
|
|
2
|
+
import "../../../sessionProtocol.mjs";
|
|
3
|
+
import { Context } from "@earendil-works/chord";
|
|
4
|
+
//#region src/services/sqliteTranscriptReader/index.d.ts
|
|
5
|
+
export interface SqliteTranscriptOwnership {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
workspaceRoot: string;
|
|
8
|
+
workspaceId?: string;
|
|
9
|
+
groupingRoot?: string;
|
|
10
|
+
}
|
|
11
|
+
/** A completed child is read through a separate read-only WAL connection, never a second writer. */
|
|
12
|
+
export declare function readSqliteTranscript(file: string, request: TranscriptPageRequest, context: Context, ownership?: SqliteTranscriptOwnership): Promise<TranscriptPage>;
|
|
13
|
+
//#endregion
|
|
14
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/sqliteTranscriptReader/index.ts"],"mappings":";;;;iBAeiB;EACf;EACA;EACA;EACA;;;wBAIoB,qBACpB,cACA,SAAS,uBACT,SAAS,SACT,YAAY,4BACX,QAAQ"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { readSavedExecution } from "../sqliteSessionHistory/index.mjs";
|
|
2
|
+
import { readTranscriptPage } from "../transcriptPages/index.mjs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { branchTip, value } from "@earendil-works/pi-agent-core/harness/session";
|
|
5
|
+
import fs from "node:fs/promises";
|
|
6
|
+
import { SqliteSessionRepo, SqliteStorage, createNodeSqliteFactory } from "@earendil-works/pi-session-backend-sqlite-node";
|
|
7
|
+
//#region src/services/sqliteTranscriptReader/index.ts
|
|
8
|
+
/** A completed child is read through a separate read-only WAL connection, never a second writer. */
|
|
9
|
+
async function readSqliteTranscript(file, request, context, ownership) {
|
|
10
|
+
try {
|
|
11
|
+
if (!(await fs.stat(file)).isFile()) throw new Error("Child SQLite session not found");
|
|
12
|
+
} catch {
|
|
13
|
+
throw new Error("Child SQLite session not found");
|
|
14
|
+
}
|
|
15
|
+
const factory = createNodeSqliteFactory();
|
|
16
|
+
const repository = new SqliteSessionRepo({
|
|
17
|
+
directory: path.dirname(file),
|
|
18
|
+
databasePath: file,
|
|
19
|
+
databaseFactory: factory
|
|
20
|
+
});
|
|
21
|
+
let sessions;
|
|
22
|
+
try {
|
|
23
|
+
sessions = await repository.list(void 0, context);
|
|
24
|
+
} finally {
|
|
25
|
+
await repository.close(context);
|
|
26
|
+
}
|
|
27
|
+
if (sessions.length !== 1) throw new Error("Child SQLite session not found");
|
|
28
|
+
if (ownership !== void 0 && sessions[0].id !== ownership.sessionId) throw new Error("Saved transcript does not belong to this session");
|
|
29
|
+
const database = await factory.openReadOnly(file);
|
|
30
|
+
const storage = new SqliteStorage(database, { sessionId: sessions[0].id });
|
|
31
|
+
try {
|
|
32
|
+
if (ownership !== void 0) {
|
|
33
|
+
if ((await storage.getValue(value("doompi.session", "workspaceRoot"), context))?.value !== ownership.workspaceRoot) throw new Error("Saved transcript does not belong to this workspace");
|
|
34
|
+
const contextValue = await storage.getValue(value("doompi.session", "execution"), context);
|
|
35
|
+
if (contextValue?.value !== void 0) {
|
|
36
|
+
const execution = readSavedExecution(contextValue.value, ownership.workspaceRoot);
|
|
37
|
+
if (!execution || ownership.workspaceId !== void 0 && execution.workspaceId !== ownership.workspaceId || ownership.groupingRoot !== void 0 && execution.groupingRoot !== ownership.groupingRoot) throw new Error("Saved transcript does not belong to this workspace");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const branches = await storage.scanValues(branchTip(""), context);
|
|
41
|
+
const branch = branches.find((item) => item.address.key === "main") ?? (branches.length === 1 ? branches[0] : void 0);
|
|
42
|
+
if (!branch && branches.length > 1) throw new Error("Child transcript has no unambiguous active lane");
|
|
43
|
+
const tip = branch?.value ?? null;
|
|
44
|
+
return {
|
|
45
|
+
...await readTranscriptPage({
|
|
46
|
+
sessionId: sessions[0].id,
|
|
47
|
+
laneName: branch?.address.key ?? "main",
|
|
48
|
+
lane: {
|
|
49
|
+
getTipId: async () => tip,
|
|
50
|
+
findEntries: (query, readContext) => tip ? storage.scanBranch({
|
|
51
|
+
...query,
|
|
52
|
+
start: query?.start ?? tip
|
|
53
|
+
}, readContext) : Promise.resolve([])
|
|
54
|
+
}
|
|
55
|
+
}, request, 0, context),
|
|
56
|
+
revision: 0,
|
|
57
|
+
drafts: []
|
|
58
|
+
};
|
|
59
|
+
} finally {
|
|
60
|
+
await storage.close(context);
|
|
61
|
+
database.close();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
export { readSqliteTranscript };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/sqliteTranscriptReader/index.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport path from 'node:path';\n\nimport type { Context } from '@earendil-works/chord';\nimport { branchTip, value } from '@earendil-works/pi-agent-core/harness/session';\nimport {\n SqliteSessionRepo,\n SqliteStorage,\n createNodeSqliteFactory,\n} from '@earendil-works/pi-session-backend-sqlite-node';\n\nimport type { TranscriptPageRequest, TranscriptPage } from '../../exports/sessionProtocol';\nimport { readSavedExecution } from '../sqliteSessionHistory';\nimport { readTranscriptPage } from '../transcriptPages';\n\nexport interface SqliteTranscriptOwnership {\n sessionId: string;\n workspaceRoot: string;\n workspaceId?: string;\n groupingRoot?: string;\n}\n\n/** A completed child is read through a separate read-only WAL connection, never a second writer. */\nexport async function readSqliteTranscript(\n file: string,\n request: TranscriptPageRequest,\n context: Context,\n ownership?: SqliteTranscriptOwnership,\n): Promise<TranscriptPage> {\n try {\n const stat = await fs.stat(file);\n if (!stat.isFile()) throw new Error('Child SQLite session not found');\n } catch {\n throw new Error('Child SQLite session not found');\n }\n const factory = createNodeSqliteFactory();\n const repository = new SqliteSessionRepo({\n directory: path.dirname(file),\n databasePath: file,\n databaseFactory: factory,\n });\n let sessions: Awaited<ReturnType<typeof repository.list>>;\n try {\n sessions = await repository.list(undefined, context);\n } finally {\n await repository.close(context);\n }\n if (sessions.length !== 1) throw new Error('Child SQLite session not found');\n if (ownership !== undefined && sessions[0]!.id !== ownership.sessionId)\n throw new Error('Saved transcript does not belong to this session');\n const database = await factory.openReadOnly(file);\n const storage = new SqliteStorage(database, { sessionId: sessions[0]!.id });\n try {\n if (ownership !== undefined) {\n const owner = await storage.getValue(value('doompi.session', 'workspaceRoot'), context);\n if (owner?.value !== ownership.workspaceRoot)\n throw new Error('Saved transcript does not belong to this workspace');\n const contextValue = await storage.getValue(value('doompi.session', 'execution'), context);\n if (contextValue?.value !== undefined) {\n const execution = readSavedExecution(contextValue.value, ownership.workspaceRoot);\n if (\n !execution ||\n (ownership.workspaceId !== undefined && execution.workspaceId !== ownership.workspaceId) ||\n (ownership.groupingRoot !== undefined && execution.groupingRoot !== ownership.groupingRoot)\n )\n throw new Error('Saved transcript does not belong to this workspace');\n }\n }\n const branches = await storage.scanValues(branchTip(''), context);\n const branch =\n branches.find((item) => item.address.key === 'main') ?? (branches.length === 1 ? branches[0] : undefined);\n if (!branch && branches.length > 1) throw new Error('Child transcript has no unambiguous active lane');\n const tip = branch?.value ?? null;\n const page = await readTranscriptPage(\n {\n sessionId: sessions[0]!.id,\n laneName: branch?.address.key ?? 'main',\n lane: {\n getTipId: async () => tip,\n findEntries: (query, readContext) =>\n tip ? storage.scanBranch({ ...query, start: query?.start ?? tip }, readContext) : Promise.resolve([]),\n },\n },\n request,\n 0,\n context,\n );\n return { ...page, revision: 0, drafts: [] };\n } finally {\n await storage.close(context);\n database.close();\n }\n}\n"],"mappings":";;;;;;;;AAuBA,eAAsB,qBACpB,MACA,SACA,SACA,WACyB;CACzB,IAAI;EAEF,IAAI,EAAC,MADc,GAAG,KAAK,IAAI,EAAA,CACrB,OAAO,GAAG,MAAM,IAAI,MAAM,gCAAgC;CACtE,QAAQ;EACN,MAAM,IAAI,MAAM,gCAAgC;CAClD;CACA,MAAM,UAAU,wBAAwB;CACxC,MAAM,aAAa,IAAI,kBAAkB;EACvC,WAAW,KAAK,QAAQ,IAAI;EAC5B,cAAc;EACd,iBAAiB;CACnB,CAAC;CACD,IAAI;CACJ,IAAI;EACF,WAAW,MAAM,WAAW,KAAK,KAAA,GAAW,OAAO;CACrD,UAAU;EACR,MAAM,WAAW,MAAM,OAAO;CAChC;CACA,IAAI,SAAS,WAAW,GAAG,MAAM,IAAI,MAAM,gCAAgC;CAC3E,IAAI,cAAc,KAAA,KAAa,SAAS,EAAE,CAAE,OAAO,UAAU,WAC3D,MAAM,IAAI,MAAM,kDAAkD;CACpE,MAAM,WAAW,MAAM,QAAQ,aAAa,IAAI;CAChD,MAAM,UAAU,IAAI,cAAc,UAAU,EAAE,WAAW,SAAS,EAAE,CAAE,GAAG,CAAC;CAC1E,IAAI;EACF,IAAI,cAAc,KAAA,GAAW;GAE3B,KAAI,MADgB,QAAQ,SAAS,MAAM,kBAAkB,eAAe,GAAG,OAAO,EAAA,EAC3E,UAAU,UAAU,eAC7B,MAAM,IAAI,MAAM,oDAAoD;GACtE,MAAM,eAAe,MAAM,QAAQ,SAAS,MAAM,kBAAkB,WAAW,GAAG,OAAO;GACzF,IAAI,cAAc,UAAU,KAAA,GAAW;IACrC,MAAM,YAAY,mBAAmB,aAAa,OAAO,UAAU,aAAa;IAChF,IACE,CAAC,aACA,UAAU,gBAAgB,KAAA,KAAa,UAAU,gBAAgB,UAAU,eAC3E,UAAU,iBAAiB,KAAA,KAAa,UAAU,iBAAiB,UAAU,cAE9E,MAAM,IAAI,MAAM,oDAAoD;GACxE;EACF;EACA,MAAM,WAAW,MAAM,QAAQ,WAAW,UAAU,EAAE,GAAG,OAAO;EAChE,MAAM,SACJ,SAAS,MAAM,SAAS,KAAK,QAAQ,QAAQ,MAAM,MAAM,SAAS,WAAW,IAAI,SAAS,KAAK,KAAA;EACjG,IAAI,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,IAAI,MAAM,iDAAiD;EACrG,MAAM,MAAM,QAAQ,SAAS;EAe7B,OAAO;GAAE,GAAG,MAdO,mBACjB;IACE,WAAW,SAAS,EAAE,CAAE;IACxB,UAAU,QAAQ,QAAQ,OAAO;IACjC,MAAM;KACJ,UAAU,YAAY;KACtB,cAAc,OAAO,gBACnB,MAAM,QAAQ,WAAW;MAAE,GAAG;MAAO,OAAO,OAAO,SAAS;KAAI,GAAG,WAAW,IAAI,QAAQ,QAAQ,CAAC,CAAC;IACxG;GACF,GACA,SACA,GACA,OACF;GACkB,UAAU;GAAG,QAAQ,CAAC;EAAE;CAC5C,UAAU;EACR,MAAM,QAAQ,MAAM,OAAO;EAC3B,SAAS,MAAM;CACjB;AACF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
//#region src/services/toolCost/index.ts
|
|
2
|
+
/** Mirrors the wire shape MCP advertises, so both estimates stay comparable. */
|
|
3
|
+
function schemaPayload(entry) {
|
|
4
|
+
return JSON.stringify({
|
|
5
|
+
name: entry.name,
|
|
6
|
+
...entry.description === void 0 ? {} : { description: entry.description },
|
|
7
|
+
...entry.parameters === void 0 ? {} : { parameters: entry.parameters }
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
function promptPayload(entry) {
|
|
11
|
+
return [entry.promptSnippet ?? "", ...entry.promptGuidelines ?? []].filter(Boolean).join("\n");
|
|
12
|
+
}
|
|
13
|
+
function tokensForTool(entry, countTokens) {
|
|
14
|
+
const schemaTokens = countTokens(schemaPayload(entry));
|
|
15
|
+
const prompt = promptPayload(entry);
|
|
16
|
+
const promptTokens = prompt.length === 0 ? 0 : countTokens(prompt);
|
|
17
|
+
return {
|
|
18
|
+
schemaTokens,
|
|
19
|
+
promptTokens,
|
|
20
|
+
totalTokens: schemaTokens + promptTokens
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Every tool in a source, and what the source costs in total.
|
|
25
|
+
*
|
|
26
|
+
* An inactive tool is still priced: it is in the composition, and the point of
|
|
27
|
+
* the figure is to show what the composition costs. Whether the model may call
|
|
28
|
+
* it is a separate question from whether it is being paid for.
|
|
29
|
+
*/
|
|
30
|
+
function tokensForSource(source, countTokens) {
|
|
31
|
+
const tools = /* @__PURE__ */ new Map();
|
|
32
|
+
let totalTokens = 0;
|
|
33
|
+
for (const entry of source.tools) {
|
|
34
|
+
const cost = tokensForTool(entry, countTokens);
|
|
35
|
+
tools.set(entry.name, cost);
|
|
36
|
+
totalTokens += cost.totalTokens;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
tools,
|
|
40
|
+
totalTokens
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
exports.tokensForSource = tokensForSource;
|
|
45
|
+
exports.tokensForTool = tokensForTool;
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/toolCost/index.ts"],"sourcesContent":["import type { ToolEntry, ToolSource } from '../toolInventory';\n\n/**\n * What one tool costs before anything is asked of it.\n *\n * A tool is sent to the model twice over. Its schema travels in the tool list,\n * and its prose travels in the system prompt: Pi's `BuildSystemPromptOptions`\n * takes `toolSnippets` keyed by tool name and `promptGuidelines` appended to the\n * default guidelines, separately from the tools themselves. Pricing only the\n * schema would undercount every tool that carries either, so the two are counted\n * apart and reported together.\n *\n * The tokenizer is injected rather than imported, matching how MCP schema\n * pricing already takes a `countTokens`. This module stays free of any opinion\n * about which vocabulary the caller's model actually uses.\n */\nexport interface ToolCost {\n /** The tool-list payload: name, description, and parameter schema. */\n schemaTokens: number;\n /** The system-prompt payload: snippet and guideline bullets. */\n promptTokens: number;\n totalTokens: number;\n}\n\nexport type CountTokens = (text: string) => number;\n\n/** Mirrors the wire shape MCP advertises, so both estimates stay comparable. */\nfunction schemaPayload(entry: ToolEntry): string {\n return JSON.stringify({\n name: entry.name,\n ...(entry.description === undefined ? {} : { description: entry.description }),\n ...(entry.parameters === undefined ? {} : { parameters: entry.parameters }),\n });\n}\n\nfunction promptPayload(entry: ToolEntry): string {\n return [entry.promptSnippet ?? '', ...(entry.promptGuidelines ?? [])].filter(Boolean).join('\\n');\n}\n\nexport function tokensForTool(entry: ToolEntry, countTokens: CountTokens): ToolCost {\n const schemaTokens = countTokens(schemaPayload(entry));\n const prompt = promptPayload(entry);\n const promptTokens = prompt.length === 0 ? 0 : countTokens(prompt);\n return { schemaTokens, promptTokens, totalTokens: schemaTokens + promptTokens };\n}\n\n/**\n * Every tool in a source, and what the source costs in total.\n *\n * An inactive tool is still priced: it is in the composition, and the point of\n * the figure is to show what the composition costs. Whether the model may call\n * it is a separate question from whether it is being paid for.\n */\nexport function tokensForSource(\n source: ToolSource,\n countTokens: CountTokens,\n): { tools: ReadonlyMap<string, ToolCost>; totalTokens: number } {\n const tools = new Map<string, ToolCost>();\n let totalTokens = 0;\n for (const entry of source.tools) {\n const cost = tokensForTool(entry, countTokens);\n tools.set(entry.name, cost);\n totalTokens += cost.totalTokens;\n }\n return { tools, totalTokens };\n}\n"],"mappings":";;AA2BA,SAAS,cAAc,OAA0B;CAC/C,OAAO,KAAK,UAAU;EACpB,MAAM,MAAM;EACZ,GAAI,MAAM,gBAAgB,KAAA,IAAY,CAAC,IAAI,EAAE,aAAa,MAAM,YAAY;EAC5E,GAAI,MAAM,eAAe,KAAA,IAAY,CAAC,IAAI,EAAE,YAAY,MAAM,WAAW;CAC3E,CAAC;AACH;AAEA,SAAS,cAAc,OAA0B;CAC/C,OAAO,CAAC,MAAM,iBAAiB,IAAI,GAAI,MAAM,oBAAoB,CAAC,CAAE,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI;AACjG;AAEA,SAAgB,cAAc,OAAkB,aAAoC;CAClF,MAAM,eAAe,YAAY,cAAc,KAAK,CAAC;CACrD,MAAM,SAAS,cAAc,KAAK;CAClC,MAAM,eAAe,OAAO,WAAW,IAAI,IAAI,YAAY,MAAM;CACjE,OAAO;EAAE;EAAc;EAAc,aAAa,eAAe;CAAa;AAChF;;;;;;;;AASA,SAAgB,gBACd,QACA,aAC+D;CAC/D,MAAM,wBAAQ,IAAI,IAAsB;CACxC,IAAI,cAAc;CAClB,KAAK,MAAM,SAAS,OAAO,OAAO;EAChC,MAAM,OAAO,cAAc,OAAO,WAAW;EAC7C,MAAM,IAAI,MAAM,MAAM,IAAI;EAC1B,eAAe,KAAK;CACtB;CACA,OAAO;EAAE;EAAO;CAAY;AAC9B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ToolEntry, ToolSource } from "../../../toolInventory.mjs";
|
|
2
|
+
//#region src/services/toolCost/index.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* What one tool costs before anything is asked of it.
|
|
5
|
+
*
|
|
6
|
+
* A tool is sent to the model twice over. Its schema travels in the tool list,
|
|
7
|
+
* and its prose travels in the system prompt: Pi's `BuildSystemPromptOptions`
|
|
8
|
+
* takes `toolSnippets` keyed by tool name and `promptGuidelines` appended to the
|
|
9
|
+
* default guidelines, separately from the tools themselves. Pricing only the
|
|
10
|
+
* schema would undercount every tool that carries either, so the two are counted
|
|
11
|
+
* apart and reported together.
|
|
12
|
+
*
|
|
13
|
+
* The tokenizer is injected rather than imported, matching how MCP schema
|
|
14
|
+
* pricing already takes a `countTokens`. This module stays free of any opinion
|
|
15
|
+
* about which vocabulary the caller's model actually uses.
|
|
16
|
+
*/
|
|
17
|
+
export interface ToolCost {
|
|
18
|
+
/** The tool-list payload: name, description, and parameter schema. */
|
|
19
|
+
schemaTokens: number;
|
|
20
|
+
/** The system-prompt payload: snippet and guideline bullets. */
|
|
21
|
+
promptTokens: number;
|
|
22
|
+
totalTokens: number;
|
|
23
|
+
}
|
|
24
|
+
export type CountTokens = (text: string) => number;
|
|
25
|
+
export declare function tokensForTool(entry: ToolEntry, countTokens: CountTokens): ToolCost;
|
|
26
|
+
/**
|
|
27
|
+
* Every tool in a source, and what the source costs in total.
|
|
28
|
+
*
|
|
29
|
+
* An inactive tool is still priced: it is in the composition, and the point of
|
|
30
|
+
* the figure is to show what the composition costs. Whether the model may call
|
|
31
|
+
* it is a separate question from whether it is being paid for.
|
|
32
|
+
*/
|
|
33
|
+
export declare function tokensForSource(source: ToolSource, countTokens: CountTokens): {
|
|
34
|
+
tools: ReadonlyMap<string, ToolCost>;
|
|
35
|
+
totalTokens: number;
|
|
36
|
+
};
|
|
37
|
+
//#endregion
|
|
38
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/toolCost/index.ts"],"mappings":";;;;;;;;;;;;;;;;iBAgBiB;;EAEf;;EAEA;EACA;;YAGU,eAAe;wBAeX,cAAc,OAAO,WAAW,aAAa,cAAc;;;;;;;;wBAc3D,gBACd,QAAQ,YACR,aAAa;EACV,OAAO,oBAAoB;EAAW"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/services/toolCost/index.ts
|
|
2
|
+
/** Mirrors the wire shape MCP advertises, so both estimates stay comparable. */
|
|
3
|
+
function schemaPayload(entry) {
|
|
4
|
+
return JSON.stringify({
|
|
5
|
+
name: entry.name,
|
|
6
|
+
...entry.description === void 0 ? {} : { description: entry.description },
|
|
7
|
+
...entry.parameters === void 0 ? {} : { parameters: entry.parameters }
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
function promptPayload(entry) {
|
|
11
|
+
return [entry.promptSnippet ?? "", ...entry.promptGuidelines ?? []].filter(Boolean).join("\n");
|
|
12
|
+
}
|
|
13
|
+
function tokensForTool(entry, countTokens) {
|
|
14
|
+
const schemaTokens = countTokens(schemaPayload(entry));
|
|
15
|
+
const prompt = promptPayload(entry);
|
|
16
|
+
const promptTokens = prompt.length === 0 ? 0 : countTokens(prompt);
|
|
17
|
+
return {
|
|
18
|
+
schemaTokens,
|
|
19
|
+
promptTokens,
|
|
20
|
+
totalTokens: schemaTokens + promptTokens
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Every tool in a source, and what the source costs in total.
|
|
25
|
+
*
|
|
26
|
+
* An inactive tool is still priced: it is in the composition, and the point of
|
|
27
|
+
* the figure is to show what the composition costs. Whether the model may call
|
|
28
|
+
* it is a separate question from whether it is being paid for.
|
|
29
|
+
*/
|
|
30
|
+
function tokensForSource(source, countTokens) {
|
|
31
|
+
const tools = /* @__PURE__ */ new Map();
|
|
32
|
+
let totalTokens = 0;
|
|
33
|
+
for (const entry of source.tools) {
|
|
34
|
+
const cost = tokensForTool(entry, countTokens);
|
|
35
|
+
tools.set(entry.name, cost);
|
|
36
|
+
totalTokens += cost.totalTokens;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
tools,
|
|
40
|
+
totalTokens
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { tokensForSource, tokensForTool };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/toolCost/index.ts"],"sourcesContent":["import type { ToolEntry, ToolSource } from '../toolInventory';\n\n/**\n * What one tool costs before anything is asked of it.\n *\n * A tool is sent to the model twice over. Its schema travels in the tool list,\n * and its prose travels in the system prompt: Pi's `BuildSystemPromptOptions`\n * takes `toolSnippets` keyed by tool name and `promptGuidelines` appended to the\n * default guidelines, separately from the tools themselves. Pricing only the\n * schema would undercount every tool that carries either, so the two are counted\n * apart and reported together.\n *\n * The tokenizer is injected rather than imported, matching how MCP schema\n * pricing already takes a `countTokens`. This module stays free of any opinion\n * about which vocabulary the caller's model actually uses.\n */\nexport interface ToolCost {\n /** The tool-list payload: name, description, and parameter schema. */\n schemaTokens: number;\n /** The system-prompt payload: snippet and guideline bullets. */\n promptTokens: number;\n totalTokens: number;\n}\n\nexport type CountTokens = (text: string) => number;\n\n/** Mirrors the wire shape MCP advertises, so both estimates stay comparable. */\nfunction schemaPayload(entry: ToolEntry): string {\n return JSON.stringify({\n name: entry.name,\n ...(entry.description === undefined ? {} : { description: entry.description }),\n ...(entry.parameters === undefined ? {} : { parameters: entry.parameters }),\n });\n}\n\nfunction promptPayload(entry: ToolEntry): string {\n return [entry.promptSnippet ?? '', ...(entry.promptGuidelines ?? [])].filter(Boolean).join('\\n');\n}\n\nexport function tokensForTool(entry: ToolEntry, countTokens: CountTokens): ToolCost {\n const schemaTokens = countTokens(schemaPayload(entry));\n const prompt = promptPayload(entry);\n const promptTokens = prompt.length === 0 ? 0 : countTokens(prompt);\n return { schemaTokens, promptTokens, totalTokens: schemaTokens + promptTokens };\n}\n\n/**\n * Every tool in a source, and what the source costs in total.\n *\n * An inactive tool is still priced: it is in the composition, and the point of\n * the figure is to show what the composition costs. Whether the model may call\n * it is a separate question from whether it is being paid for.\n */\nexport function tokensForSource(\n source: ToolSource,\n countTokens: CountTokens,\n): { tools: ReadonlyMap<string, ToolCost>; totalTokens: number } {\n const tools = new Map<string, ToolCost>();\n let totalTokens = 0;\n for (const entry of source.tools) {\n const cost = tokensForTool(entry, countTokens);\n tools.set(entry.name, cost);\n totalTokens += cost.totalTokens;\n }\n return { tools, totalTokens };\n}\n"],"mappings":";;AA2BA,SAAS,cAAc,OAA0B;CAC/C,OAAO,KAAK,UAAU;EACpB,MAAM,MAAM;EACZ,GAAI,MAAM,gBAAgB,KAAA,IAAY,CAAC,IAAI,EAAE,aAAa,MAAM,YAAY;EAC5E,GAAI,MAAM,eAAe,KAAA,IAAY,CAAC,IAAI,EAAE,YAAY,MAAM,WAAW;CAC3E,CAAC;AACH;AAEA,SAAS,cAAc,OAA0B;CAC/C,OAAO,CAAC,MAAM,iBAAiB,IAAI,GAAI,MAAM,oBAAoB,CAAC,CAAE,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,IAAI;AACjG;AAEA,SAAgB,cAAc,OAAkB,aAAoC;CAClF,MAAM,eAAe,YAAY,cAAc,KAAK,CAAC;CACrD,MAAM,SAAS,cAAc,KAAK;CAClC,MAAM,eAAe,OAAO,WAAW,IAAI,IAAI,YAAY,MAAM;CACjE,OAAO;EAAE;EAAc;EAAc,aAAa,eAAe;CAAa;AAChF;;;;;;;;AASA,SAAgB,gBACd,QACA,aAC+D;CAC/D,MAAM,wBAAQ,IAAI,IAAsB;CACxC,IAAI,cAAc;CAClB,KAAK,MAAM,SAAS,OAAO,OAAO;EAChC,MAAM,OAAO,cAAc,OAAO,WAAW;EAC7C,MAAM,IAAI,MAAM,MAAM,IAAI;EAC1B,eAAe,KAAK;CACtB;CACA,OAAO;EAAE;EAAO;CAAY;AAC9B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/services/toolOverrides/index.ts
|
|
2
|
+
function assertNonEmpty(value, field) {
|
|
3
|
+
if (value.trim().length === 0) throw new Error(`Doom tool override ${field} must not be empty.`);
|
|
4
|
+
}
|
|
5
|
+
/** Creates the host-owned tool replacement registry for one Doom runtime. */
|
|
6
|
+
function createDoomToolOverridesService(generation) {
|
|
7
|
+
if (!generation) throw new Error("Doom tool overrides require a runtime generation.");
|
|
8
|
+
const owners = /* @__PURE__ */ new Map();
|
|
9
|
+
return Object.freeze({
|
|
10
|
+
generation,
|
|
11
|
+
claim(claim) {
|
|
12
|
+
assertNonEmpty(claim.source, "source");
|
|
13
|
+
if (claim.tools.length === 0) throw new Error("Doom tool override tools must not be empty.");
|
|
14
|
+
for (const tool of claim.tools) assertNonEmpty(tool, "tool");
|
|
15
|
+
const tools = Object.freeze([...new Set(claim.tools)]);
|
|
16
|
+
if (tools.some((tool) => owners.has(tool))) return Object.freeze({
|
|
17
|
+
granted: false,
|
|
18
|
+
tools,
|
|
19
|
+
dispose: () => void 0
|
|
20
|
+
});
|
|
21
|
+
const stored = Object.freeze({
|
|
22
|
+
source: claim.source,
|
|
23
|
+
tools
|
|
24
|
+
});
|
|
25
|
+
for (const tool of tools) owners.set(tool, stored);
|
|
26
|
+
let disposed = false;
|
|
27
|
+
return Object.freeze({
|
|
28
|
+
granted: true,
|
|
29
|
+
tools,
|
|
30
|
+
dispose() {
|
|
31
|
+
if (disposed) return;
|
|
32
|
+
disposed = true;
|
|
33
|
+
for (const tool of tools) if (owners.get(tool) === stored) owners.delete(tool);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
owner(tool) {
|
|
38
|
+
return owners.get(tool)?.source;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.createDoomToolOverridesService = createDoomToolOverridesService;
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/toolOverrides/index.ts"],"sourcesContent":["import type {\n DoomToolOverrideClaim,\n DoomToolOverrideRegistration,\n DoomToolOverridesService,\n} from '../../schemas/toolOverrides';\n\ninterface StoredClaim {\n readonly source: string;\n readonly tools: readonly string[];\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (value.trim().length === 0) throw new Error(`Doom tool override ${field} must not be empty.`);\n}\n\n/** Creates the host-owned tool replacement registry for one Doom runtime. */\nexport function createDoomToolOverridesService(generation: string): DoomToolOverridesService {\n if (!generation) throw new Error('Doom tool overrides require a runtime generation.');\n\n const owners = new Map<string, StoredClaim>();\n return Object.freeze({\n generation,\n claim(claim: DoomToolOverrideClaim): DoomToolOverrideRegistration {\n assertNonEmpty(claim.source, 'source');\n if (claim.tools.length === 0) throw new Error('Doom tool override tools must not be empty.');\n for (const tool of claim.tools) assertNonEmpty(tool, 'tool');\n\n const tools = Object.freeze([...new Set(claim.tools)]);\n if (tools.some((tool) => owners.has(tool))) {\n return Object.freeze({ granted: false, tools, dispose: (): void => undefined });\n }\n\n const stored: StoredClaim = Object.freeze({ source: claim.source, tools });\n for (const tool of tools) owners.set(tool, stored);\n\n let disposed = false;\n return Object.freeze({\n granted: true,\n tools,\n dispose(): void {\n if (disposed) return;\n disposed = true;\n for (const tool of tools) {\n if (owners.get(tool) === stored) owners.delete(tool);\n }\n },\n });\n },\n owner(tool: string): string | undefined {\n return owners.get(tool)?.source;\n },\n });\n}\n"],"mappings":";AAWA,SAAS,eAAe,OAAe,OAAqB;CAC1D,IAAI,MAAM,KAAK,CAAC,CAAC,WAAW,GAAG,MAAM,IAAI,MAAM,sBAAsB,MAAM,oBAAoB;AACjG;;AAGA,SAAgB,+BAA+B,YAA8C;CAC3F,IAAI,CAAC,YAAY,MAAM,IAAI,MAAM,mDAAmD;CAEpF,MAAM,yBAAS,IAAI,IAAyB;CAC5C,OAAO,OAAO,OAAO;EACnB;EACA,MAAM,OAA4D;GAChE,eAAe,MAAM,QAAQ,QAAQ;GACrC,IAAI,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,6CAA6C;GAC3F,KAAK,MAAM,QAAQ,MAAM,OAAO,eAAe,MAAM,MAAM;GAE3D,MAAM,QAAQ,OAAO,OAAO,CAAC,GAAG,IAAI,IAAI,MAAM,KAAK,CAAC,CAAC;GACrD,IAAI,MAAM,MAAM,SAAS,OAAO,IAAI,IAAI,CAAC,GACvC,OAAO,OAAO,OAAO;IAAE,SAAS;IAAO;IAAO,eAAqB,KAAA;GAAU,CAAC;GAGhF,MAAM,SAAsB,OAAO,OAAO;IAAE,QAAQ,MAAM;IAAQ;GAAM,CAAC;GACzE,KAAK,MAAM,QAAQ,OAAO,OAAO,IAAI,MAAM,MAAM;GAEjD,IAAI,WAAW;GACf,OAAO,OAAO,OAAO;IACnB,SAAS;IACT;IACA,UAAgB;KACd,IAAI,UAAU;KACd,WAAW;KACX,KAAK,MAAM,QAAQ,OACjB,IAAI,OAAO,IAAI,IAAI,MAAM,QAAQ,OAAO,OAAO,IAAI;IAEvD;GACF,CAAC;EACH;EACA,MAAM,MAAkC;GACtC,OAAO,OAAO,IAAI,IAAI,CAAC,EAAE;EAC3B;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DoomToolOverridesService } from "../../schemas/toolOverrides.mjs";
|
|
2
|
+
//#region src/services/toolOverrides/index.d.ts
|
|
3
|
+
/** Creates the host-owned tool replacement registry for one Doom runtime. */
|
|
4
|
+
export declare function createDoomToolOverridesService(generation: string): DoomToolOverridesService;
|
|
5
|
+
//#endregion
|
|
6
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/toolOverrides/index.ts"],"mappings":";;;wBAgBgB,+BAA+B,qBAAqB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/services/toolOverrides/index.ts
|
|
2
|
+
function assertNonEmpty(value, field) {
|
|
3
|
+
if (value.trim().length === 0) throw new Error(`Doom tool override ${field} must not be empty.`);
|
|
4
|
+
}
|
|
5
|
+
/** Creates the host-owned tool replacement registry for one Doom runtime. */
|
|
6
|
+
function createDoomToolOverridesService(generation) {
|
|
7
|
+
if (!generation) throw new Error("Doom tool overrides require a runtime generation.");
|
|
8
|
+
const owners = /* @__PURE__ */ new Map();
|
|
9
|
+
return Object.freeze({
|
|
10
|
+
generation,
|
|
11
|
+
claim(claim) {
|
|
12
|
+
assertNonEmpty(claim.source, "source");
|
|
13
|
+
if (claim.tools.length === 0) throw new Error("Doom tool override tools must not be empty.");
|
|
14
|
+
for (const tool of claim.tools) assertNonEmpty(tool, "tool");
|
|
15
|
+
const tools = Object.freeze([...new Set(claim.tools)]);
|
|
16
|
+
if (tools.some((tool) => owners.has(tool))) return Object.freeze({
|
|
17
|
+
granted: false,
|
|
18
|
+
tools,
|
|
19
|
+
dispose: () => void 0
|
|
20
|
+
});
|
|
21
|
+
const stored = Object.freeze({
|
|
22
|
+
source: claim.source,
|
|
23
|
+
tools
|
|
24
|
+
});
|
|
25
|
+
for (const tool of tools) owners.set(tool, stored);
|
|
26
|
+
let disposed = false;
|
|
27
|
+
return Object.freeze({
|
|
28
|
+
granted: true,
|
|
29
|
+
tools,
|
|
30
|
+
dispose() {
|
|
31
|
+
if (disposed) return;
|
|
32
|
+
disposed = true;
|
|
33
|
+
for (const tool of tools) if (owners.get(tool) === stored) owners.delete(tool);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
owner(tool) {
|
|
38
|
+
return owners.get(tool)?.source;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { createDoomToolOverridesService };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/toolOverrides/index.ts"],"sourcesContent":["import type {\n DoomToolOverrideClaim,\n DoomToolOverrideRegistration,\n DoomToolOverridesService,\n} from '../../schemas/toolOverrides';\n\ninterface StoredClaim {\n readonly source: string;\n readonly tools: readonly string[];\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (value.trim().length === 0) throw new Error(`Doom tool override ${field} must not be empty.`);\n}\n\n/** Creates the host-owned tool replacement registry for one Doom runtime. */\nexport function createDoomToolOverridesService(generation: string): DoomToolOverridesService {\n if (!generation) throw new Error('Doom tool overrides require a runtime generation.');\n\n const owners = new Map<string, StoredClaim>();\n return Object.freeze({\n generation,\n claim(claim: DoomToolOverrideClaim): DoomToolOverrideRegistration {\n assertNonEmpty(claim.source, 'source');\n if (claim.tools.length === 0) throw new Error('Doom tool override tools must not be empty.');\n for (const tool of claim.tools) assertNonEmpty(tool, 'tool');\n\n const tools = Object.freeze([...new Set(claim.tools)]);\n if (tools.some((tool) => owners.has(tool))) {\n return Object.freeze({ granted: false, tools, dispose: (): void => undefined });\n }\n\n const stored: StoredClaim = Object.freeze({ source: claim.source, tools });\n for (const tool of tools) owners.set(tool, stored);\n\n let disposed = false;\n return Object.freeze({\n granted: true,\n tools,\n dispose(): void {\n if (disposed) return;\n disposed = true;\n for (const tool of tools) {\n if (owners.get(tool) === stored) owners.delete(tool);\n }\n },\n });\n },\n owner(tool: string): string | undefined {\n return owners.get(tool)?.source;\n },\n });\n}\n"],"mappings":";AAWA,SAAS,eAAe,OAAe,OAAqB;CAC1D,IAAI,MAAM,KAAK,CAAC,CAAC,WAAW,GAAG,MAAM,IAAI,MAAM,sBAAsB,MAAM,oBAAoB;AACjG;;AAGA,SAAgB,+BAA+B,YAA8C;CAC3F,IAAI,CAAC,YAAY,MAAM,IAAI,MAAM,mDAAmD;CAEpF,MAAM,yBAAS,IAAI,IAAyB;CAC5C,OAAO,OAAO,OAAO;EACnB;EACA,MAAM,OAA4D;GAChE,eAAe,MAAM,QAAQ,QAAQ;GACrC,IAAI,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,6CAA6C;GAC3F,KAAK,MAAM,QAAQ,MAAM,OAAO,eAAe,MAAM,MAAM;GAE3D,MAAM,QAAQ,OAAO,OAAO,CAAC,GAAG,IAAI,IAAI,MAAM,KAAK,CAAC,CAAC;GACrD,IAAI,MAAM,MAAM,SAAS,OAAO,IAAI,IAAI,CAAC,GACvC,OAAO,OAAO,OAAO;IAAE,SAAS;IAAO;IAAO,eAAqB,KAAA;GAAU,CAAC;GAGhF,MAAM,SAAsB,OAAO,OAAO;IAAE,QAAQ,MAAM;IAAQ;GAAM,CAAC;GACzE,KAAK,MAAM,QAAQ,OAAO,OAAO,IAAI,MAAM,MAAM;GAEjD,IAAI,WAAW;GACf,OAAO,OAAO,OAAO;IACnB,SAAS;IACT;IACA,UAAgB;KACd,IAAI,UAAU;KACd,WAAW;KACX,KAAK,MAAM,QAAQ,OACjB,IAAI,OAAO,IAAI,IAAI,MAAM,QAAQ,OAAO,OAAO,IAAI;IAEvD;GACF,CAAC;EACH;EACA,MAAM,MAAkC;GACtC,OAAO,OAAO,IAAI,IAAI,CAAC,EAAE;EAC3B;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/services/toolPrompt/index.ts
|
|
2
|
+
function formatToolPrompt(entries) {
|
|
3
|
+
const listed = entries.filter((entry) => (entry.promptSnippet ?? "").trim().length > 0);
|
|
4
|
+
const guidelines = [...new Set(entries.flatMap((entry) => entry.promptGuidelines ?? []).filter((line) => line.trim().length > 0))];
|
|
5
|
+
const sections = [];
|
|
6
|
+
if (listed.length > 0) sections.push(`Available tools:\n${listed.map((entry) => `- ${entry.name}: ${entry.promptSnippet}`).join("\n")}`);
|
|
7
|
+
if (guidelines.length > 0) sections.push(`Guidelines:\n${guidelines.map((line) => `- ${line}`).join("\n")}`);
|
|
8
|
+
return sections.join("\n\n");
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
exports.formatToolPrompt = formatToolPrompt;
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/toolPrompt/index.ts"],"sourcesContent":["/**\n * The system-prompt block describing the tools a session currently exposes.\n *\n * Pi's CLI builds this from each tool's `promptSnippet` and `promptGuidelines`.\n * The headless host does not run that builder, so a tool's guidance reached the\n * cost estimate in `toolCost` but never the model. This renders the same two\n * sections, in Pi's shape, from whatever the host has just applied.\n */\n\nexport interface ToolPromptEntry {\n readonly name: string;\n /** One line describing the tool. Pi omits a tool without one, and so does this. */\n readonly promptSnippet?: string;\n readonly promptGuidelines?: readonly string[];\n}\n\nexport function formatToolPrompt(entries: readonly ToolPromptEntry[]): string {\n const listed = entries.filter((entry) => (entry.promptSnippet ?? '').trim().length > 0);\n // Two tools may repeat one guideline, and the reader should see it once.\n const guidelines = [\n ...new Set(entries.flatMap((entry) => entry.promptGuidelines ?? []).filter((line) => line.trim().length > 0)),\n ];\n const sections: string[] = [];\n if (listed.length > 0) {\n sections.push(`Available tools:\\n${listed.map((entry) => `- ${entry.name}: ${entry.promptSnippet!}`).join('\\n')}`);\n }\n if (guidelines.length > 0) {\n sections.push(`Guidelines:\\n${guidelines.map((line) => `- ${line}`).join('\\n')}`);\n }\n return sections.join('\\n\\n');\n}\n"],"mappings":";AAgBA,SAAgB,iBAAiB,SAA6C;CAC5E,MAAM,SAAS,QAAQ,QAAQ,WAAW,MAAM,iBAAiB,GAAA,CAAI,KAAK,CAAC,CAAC,SAAS,CAAC;CAEtF,MAAM,aAAa,CACjB,GAAG,IAAI,IAAI,QAAQ,SAAS,UAAU,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAS,KAAK,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAC9G;CACA,MAAM,WAAqB,CAAC;CAC5B,IAAI,OAAO,SAAS,GAClB,SAAS,KAAK,qBAAqB,OAAO,KAAK,UAAU,KAAK,MAAM,KAAK,IAAI,MAAM,eAAgB,CAAC,CAAC,KAAK,IAAI,GAAG;CAEnH,IAAI,WAAW,SAAS,GACtB,SAAS,KAAK,gBAAgB,WAAW,KAAK,SAAS,KAAK,MAAM,CAAC,CAAC,KAAK,IAAI,GAAG;CAElF,OAAO,SAAS,KAAK,MAAM;AAC7B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/services/toolPrompt/index.ts
|
|
2
|
+
function formatToolPrompt(entries) {
|
|
3
|
+
const listed = entries.filter((entry) => (entry.promptSnippet ?? "").trim().length > 0);
|
|
4
|
+
const guidelines = [...new Set(entries.flatMap((entry) => entry.promptGuidelines ?? []).filter((line) => line.trim().length > 0))];
|
|
5
|
+
const sections = [];
|
|
6
|
+
if (listed.length > 0) sections.push(`Available tools:\n${listed.map((entry) => `- ${entry.name}: ${entry.promptSnippet}`).join("\n")}`);
|
|
7
|
+
if (guidelines.length > 0) sections.push(`Guidelines:\n${guidelines.map((line) => `- ${line}`).join("\n")}`);
|
|
8
|
+
return sections.join("\n\n");
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { formatToolPrompt };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/toolPrompt/index.ts"],"sourcesContent":["/**\n * The system-prompt block describing the tools a session currently exposes.\n *\n * Pi's CLI builds this from each tool's `promptSnippet` and `promptGuidelines`.\n * The headless host does not run that builder, so a tool's guidance reached the\n * cost estimate in `toolCost` but never the model. This renders the same two\n * sections, in Pi's shape, from whatever the host has just applied.\n */\n\nexport interface ToolPromptEntry {\n readonly name: string;\n /** One line describing the tool. Pi omits a tool without one, and so does this. */\n readonly promptSnippet?: string;\n readonly promptGuidelines?: readonly string[];\n}\n\nexport function formatToolPrompt(entries: readonly ToolPromptEntry[]): string {\n const listed = entries.filter((entry) => (entry.promptSnippet ?? '').trim().length > 0);\n // Two tools may repeat one guideline, and the reader should see it once.\n const guidelines = [\n ...new Set(entries.flatMap((entry) => entry.promptGuidelines ?? []).filter((line) => line.trim().length > 0)),\n ];\n const sections: string[] = [];\n if (listed.length > 0) {\n sections.push(`Available tools:\\n${listed.map((entry) => `- ${entry.name}: ${entry.promptSnippet!}`).join('\\n')}`);\n }\n if (guidelines.length > 0) {\n sections.push(`Guidelines:\\n${guidelines.map((line) => `- ${line}`).join('\\n')}`);\n }\n return sections.join('\\n\\n');\n}\n"],"mappings":";AAgBA,SAAgB,iBAAiB,SAA6C;CAC5E,MAAM,SAAS,QAAQ,QAAQ,WAAW,MAAM,iBAAiB,GAAA,CAAI,KAAK,CAAC,CAAC,SAAS,CAAC;CAEtF,MAAM,aAAa,CACjB,GAAG,IAAI,IAAI,QAAQ,SAAS,UAAU,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAS,KAAK,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAC9G;CACA,MAAM,WAAqB,CAAC;CAC5B,IAAI,OAAO,SAAS,GAClB,SAAS,KAAK,qBAAqB,OAAO,KAAK,UAAU,KAAK,MAAM,KAAK,IAAI,MAAM,eAAgB,CAAC,CAAC,KAAK,IAAI,GAAG;CAEnH,IAAI,WAAW,SAAS,GACtB,SAAS,KAAK,gBAAgB,WAAW,KAAK,SAAS,KAAK,MAAM,CAAC,CAAC,KAAK,IAAI,GAAG;CAElF,OAAO,SAAS,KAAK,MAAM;AAC7B"}
|