@agimon-ai/po-core 0.0.0-alpha.2 → 0.0.0-alpha.21
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 +149 -21
- package/NOTICE +41 -0
- package/dist/agentModel.cjs +1 -1
- package/dist/agentModel.d.mts +2 -2
- package/dist/agentModel.mjs +1 -2
- package/dist/apiContracts.cjs +623 -802
- package/dist/apiContracts.cjs.map +1 -1
- package/dist/apiContracts.d.mts +277 -615
- package/dist/apiContracts.d.mts.map +1 -1
- package/dist/apiContracts.mjs +617 -794
- package/dist/apiContracts.mjs.map +1 -1
- package/dist/askUser.cjs +2 -2
- package/dist/askUser.d.mts +2 -2
- package/dist/askUser.mjs +1 -2
- package/dist/authorTools.mjs +1 -2
- package/dist/backgroundWork.cjs +3 -3
- package/dist/backgroundWork.d.mts +2 -2
- package/dist/backgroundWork.mjs +1 -2
- package/dist/bundleAssetPolicy.mjs +1 -2
- package/dist/chatgptAuth.cjs +3 -2
- package/dist/chatgptAuth.d.mts +3 -2
- package/dist/chatgptAuth.mjs +2 -1
- package/dist/childProcess.cjs +1 -1
- package/dist/childProcess.d.mts +2 -2
- package/dist/childProcess.mjs +1 -2
- package/dist/childSession.cjs +11 -6
- package/dist/childSession.d.mts +3 -3
- package/dist/childSession.mjs +3 -3
- package/dist/cockpitContainer.mjs +1 -2
- package/dist/config.cjs +1 -1
- package/dist/config.d.mts +3 -3
- package/dist/config.mjs +1 -2
- package/dist/contextApi.cjs +1 -0
- package/dist/contextApi.d.mts +2 -2
- package/dist/contextApi.mjs +2 -2
- package/dist/contextContributions.cjs +4 -4
- package/dist/contextContributions.d.mts +3 -3
- package/dist/contextContributions.mjs +3 -3
- package/dist/contextDetailStore.cjs +7 -5
- package/dist/contextDetailStore.cjs.map +1 -1
- package/dist/contextDetailStore.d.mts +2 -1
- package/dist/contextDetailStore.d.mts.map +1 -1
- package/dist/contextDetailStore.mjs +6 -4
- package/dist/contextDetailStore.mjs.map +1 -1
- package/dist/contextProjection.cjs +7 -2
- package/dist/contextProjection.cjs.map +1 -1
- package/dist/contextProjection.d.mts +4 -1
- package/dist/contextProjection.d.mts.map +1 -1
- package/dist/contextProjection.mjs +5 -2
- package/dist/contextProjection.mjs.map +1 -1
- package/dist/cordisHost.cjs +11 -11
- package/dist/cordisHost.d.mts +2 -2
- package/dist/cordisHost.mjs +1 -2
- package/dist/delegation.cjs +8 -8
- package/dist/delegation.d.mts +2 -2
- package/dist/delegation.mjs +1 -2
- package/dist/executionBudget.cjs +4 -3
- package/dist/executionBudget.cjs.map +1 -1
- package/dist/executionBudget.d.mts +2 -2
- package/dist/executionBudget.d.mts.map +1 -1
- package/dist/executionBudget.mjs +4 -3
- package/dist/executionBudget.mjs.map +1 -1
- package/dist/extensionFile.cjs +5 -0
- package/dist/extensionFile.d.mts +4 -2
- package/dist/extensionFile.mjs +4 -2
- package/dist/footer.d.mts +2 -2
- package/dist/footer.mjs +1 -2
- package/dist/headless.cjs +14 -14
- package/dist/headless.d.mts +2 -2
- package/dist/headless.mjs +1 -2
- package/dist/headlessHub.cjs +308 -109
- package/dist/headlessHub.cjs.map +1 -1
- package/dist/headlessHub.d.mts +71 -36
- package/dist/headlessHub.d.mts.map +1 -1
- package/dist/headlessHub.mjs +309 -110
- package/dist/headlessHub.mjs.map +1 -1
- package/dist/headlessProtocol.cjs +327 -0
- package/dist/headlessProtocol.cjs.map +1 -0
- package/dist/headlessProtocol.d.mts +30 -0
- package/dist/headlessProtocol.d.mts.map +1 -0
- package/dist/headlessProtocol.mjs +326 -0
- package/dist/headlessProtocol.mjs.map +1 -0
- package/dist/headlessServer.cjs +166 -151
- package/dist/headlessServer.cjs.map +1 -1
- package/dist/headlessServer.d.mts +13 -5
- package/dist/headlessServer.d.mts.map +1 -1
- package/dist/headlessServer.mjs +166 -151
- package/dist/headlessServer.mjs.map +1 -1
- package/dist/headlessSessionHost.d.mts +58 -21
- package/dist/headlessSessionHost.d.mts.map +1 -1
- package/dist/help.cjs +20 -20
- package/dist/help.d.mts +2 -2
- package/dist/help.mjs +2 -2
- package/dist/history.cjs +16 -20
- package/dist/history.d.mts +9 -7
- package/dist/history.mjs +6 -7
- package/dist/historyOwnership.cjs.map +1 -1
- package/dist/historyOwnership.d.mts +1 -1
- package/dist/historyOwnership.mjs.map +1 -1
- package/dist/hubChannel.cjs +9 -0
- package/dist/hubChannel.d.mts +3 -2
- package/dist/hubChannel.mjs +3 -2
- package/dist/index.cjs +26 -28
- package/dist/index.d.mts +6 -6
- package/dist/index.mjs +6 -6
- package/dist/interop/chord.mjs +1 -0
- package/dist/interop/chordContext.mjs +1 -0
- package/dist/json.cjs +11 -5
- package/dist/json.d.mts +4 -2
- package/dist/json.mjs +4 -2
- package/dist/kernel.cjs +1 -1
- package/dist/kernel.d.mts +3 -3
- package/dist/kernel.mjs +1 -2
- package/dist/leader.d.mts +2 -2
- package/dist/leader.mjs +1 -2
- package/dist/logSinkTelemetry.mjs +1 -2
- package/dist/machineApi.cjs +80 -74
- package/dist/machineApi.cjs.map +1 -1
- package/dist/machineApi.d.mts +5 -2
- package/dist/machineApi.d.mts.map +1 -1
- package/dist/machineApi.mjs +78 -71
- package/dist/machineApi.mjs.map +1 -1
- package/dist/main.cjs +2 -1
- package/dist/main.d.mts +2 -1
- package/dist/main.mjs +2 -1
- package/dist/mcpFacet.d.mts +3 -3
- package/dist/mcpProjection.cjs +13 -13
- package/dist/mcpProjection.d.mts +2 -2
- package/dist/mcpProjection.mjs +1 -2
- package/dist/mcpSchemaCost.cjs +4 -4
- package/dist/mcpSchemaCost.cjs.map +1 -1
- package/dist/mcpSchemaCost.d.mts +2 -2
- package/dist/mcpSchemaCost.mjs +4 -4
- package/dist/mcpSchemaCost.mjs.map +1 -1
- package/dist/mcpSession.cjs +7 -7
- package/dist/mcpSession.d.mts +2 -2
- package/dist/mcpSession.mjs +1 -2
- package/dist/mcpStatus.cjs +2 -2
- package/dist/mcpStatus.d.mts +2 -2
- package/dist/mcpStatus.mjs +1 -2
- package/dist/mcpToolResolver.cjs +3 -3
- package/dist/mcpToolResolver.d.mts +2 -2
- package/dist/mcpToolResolver.mjs +1 -2
- package/dist/mcpWidget.d.mts +2 -2
- package/dist/moduleResolution.cjs +43 -8
- package/dist/moduleResolution.cjs.map +1 -1
- package/dist/moduleResolution.d.mts +10 -1
- package/dist/moduleResolution.d.mts.map +1 -1
- package/dist/moduleResolution.mjs +40 -7
- package/dist/moduleResolution.mjs.map +1 -1
- package/dist/narration.cjs +3 -3
- package/dist/narration.d.mts +2 -2
- package/dist/narration.mjs +1 -2
- package/dist/native.cjs +9 -0
- package/dist/native.d.mts +4 -3
- package/dist/native.mjs +3 -2
- package/dist/nodePlatform.cjs +77 -0
- package/dist/nodePlatform.cjs.map +1 -0
- package/dist/nodePlatform.d.mts +17 -0
- package/dist/nodePlatform.d.mts.map +1 -0
- package/dist/nodePlatform.mjs +72 -0
- package/dist/nodePlatform.mjs.map +1 -0
- package/dist/notification.cjs +15 -15
- package/dist/notification.d.mts +2 -2
- package/dist/notification.mjs +1 -2
- package/dist/packageApi.cjs +11 -11
- package/dist/packageApi.d.mts +2 -2
- package/dist/packageApi.mjs +2 -2
- package/dist/packageApiServer.cjs +45 -27
- package/dist/packageApiServer.cjs.map +1 -1
- package/dist/packageApiServer.d.mts +36 -26
- package/dist/packageApiServer.d.mts.map +1 -1
- package/dist/packageApiServer.mjs +44 -26
- package/dist/packageApiServer.mjs.map +1 -1
- package/dist/piSettings.cjs +41 -20
- package/dist/piSettings.d.mts +4 -2
- package/dist/piSettings.mjs +4 -2
- package/dist/platform.cjs +62 -0
- package/dist/platform.d.mts +10 -0
- package/dist/platform.mjs +10 -0
- package/dist/pluginProtocol.cjs +7 -8
- package/dist/pluginProtocol.d.mts +2 -2
- package/dist/pluginProtocol.mjs +1 -2
- package/dist/poPackage.cjs +12 -0
- package/dist/poPackage.d.mts +3 -0
- package/dist/poPackage.mjs +3 -0
- package/dist/profileIdentity.cjs +1 -1
- package/dist/profileIdentity.d.mts +2 -2
- package/dist/profileIdentity.mjs +1 -2
- package/dist/protocol.cjs +3 -3
- package/dist/protocol.d.mts +2 -2
- package/dist/protocol.mjs +1 -2
- package/dist/readiness.cjs +6 -6
- package/dist/readiness.d.mts +2 -2
- package/dist/readiness.mjs +1 -2
- package/dist/remoteApi.cjs.map +1 -1
- package/dist/remoteApi.d.mts +2 -2
- package/dist/remoteApi.mjs.map +1 -1
- package/dist/remoteRuntime.cjs +42 -65
- package/dist/remoteRuntime.cjs.map +1 -1
- package/dist/remoteRuntime.d.mts +3 -2
- package/dist/remoteRuntime.d.mts.map +1 -1
- package/dist/remoteRuntime.mjs +41 -62
- package/dist/remoteRuntime.mjs.map +1 -1
- package/dist/runtimeConfig.cjs +4 -4
- package/dist/runtimeConfig.cjs.map +1 -1
- package/dist/runtimeConfig.d.mts +10 -9
- package/dist/runtimeConfig.d.mts.map +1 -1
- package/dist/runtimeConfig.mjs +4 -4
- package/dist/runtimeConfig.mjs.map +1 -1
- package/dist/runtimeContextApi.cjs +10 -3
- package/dist/runtimeContextApi.cjs.map +1 -1
- package/dist/runtimeContextApi.d.mts +3 -3
- package/dist/runtimeContextApi.d.mts.map +1 -1
- package/dist/runtimeContextApi.mjs +10 -3
- package/dist/runtimeContextApi.mjs.map +1 -1
- package/dist/runtimeCordisHost.cjs +46 -46
- package/dist/runtimeCordisHost.cjs.map +1 -1
- package/dist/runtimeCordisHost.d.mts +29 -28
- package/dist/runtimeCordisHost.d.mts.map +1 -1
- package/dist/runtimeCordisHost.mjs +42 -42
- package/dist/runtimeCordisHost.mjs.map +1 -1
- package/dist/runtimeIdentity.cjs +6 -9
- package/dist/runtimeIdentity.cjs.map +1 -1
- package/dist/runtimeIdentity.d.mts +5 -1
- package/dist/runtimeIdentity.d.mts.map +1 -1
- package/dist/runtimeIdentity.mjs +5 -8
- package/dist/runtimeIdentity.mjs.map +1 -1
- package/dist/runtimeJson.cjs +10 -45
- package/dist/runtimeJson.d.mts +3 -22
- package/dist/runtimeJson.mjs +3 -39
- package/dist/runtimeLogSinkTelemetry.cjs +19 -19
- package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
- package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
- package/dist/runtimeLogSinkTelemetry.mjs +19 -19
- package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
- package/dist/runtimePackages.cjs +7 -2
- package/dist/runtimePackages.cjs.map +1 -1
- package/dist/runtimePackages.d.mts +4 -1
- package/dist/runtimePackages.d.mts.map +1 -1
- package/dist/runtimePackages.mjs +7 -2
- package/dist/runtimePackages.mjs.map +1 -1
- package/dist/runtimePiSettings.cjs +40 -263
- package/dist/runtimePiSettings.d.mts +3 -72
- package/dist/runtimePiSettings.mjs +3 -241
- package/dist/runtimeProtocol.cjs +19 -19
- package/dist/runtimeProtocol.cjs.map +1 -1
- package/dist/runtimeProtocol.d.mts +7 -7
- package/dist/runtimeProtocol.d.mts.map +1 -1
- package/dist/runtimeProtocol.mjs +17 -17
- package/dist/runtimeProtocol.mjs.map +1 -1
- package/dist/runtimeTransition.cjs +9 -9
- package/dist/runtimeTransition.cjs.map +1 -1
- package/dist/runtimeTransition.d.mts +10 -10
- package/dist/runtimeTransition.d.mts.map +1 -1
- package/dist/runtimeTransition.mjs +7 -7
- package/dist/runtimeTransition.mjs.map +1 -1
- package/dist/sandboxHarness.mjs +1 -2
- package/dist/server.cjs +3 -7
- package/dist/server.d.mts +6 -6
- package/dist/server.mjs +3 -4
- package/dist/serverPlugin.cjs +39 -0
- package/dist/serverPlugin.d.mts +12 -0
- package/dist/serverPlugin.mjs +11 -0
- package/dist/serverTelemetry.cjs +1 -1
- package/dist/serverTelemetry.cjs.map +1 -1
- package/dist/serverTelemetry.d.mts +2 -2
- package/dist/serverTelemetry.mjs +2 -2
- package/dist/serverTelemetry.mjs.map +1 -1
- package/dist/sessionFilesApi.cjs +41 -37
- package/dist/sessionFilesApi.cjs.map +1 -1
- package/dist/sessionFilesApi.d.mts +6 -3
- package/dist/sessionFilesApi.d.mts.map +1 -1
- package/dist/sessionFilesApi.mjs +41 -36
- package/dist/sessionFilesApi.mjs.map +1 -1
- package/dist/sessionProtocol.cjs +31 -6
- package/dist/sessionProtocol.d.mts +8 -3
- package/dist/sessionProtocol.mjs +8 -2
- package/dist/skills.cjs +5 -5
- package/dist/skills.d.mts +2 -2
- package/dist/skills.mjs +1 -2
- package/dist/sqliteSessionStorage.cjs +28 -50
- package/dist/sqliteSessionStorage.cjs.map +1 -1
- package/dist/sqliteSessionStorage.d.mts +13 -20
- package/dist/sqliteSessionStorage.d.mts.map +1 -1
- package/dist/sqliteSessionStorage.mjs +25 -48
- package/dist/sqliteSessionStorage.mjs.map +1 -1
- package/dist/src/constants/agentSettled.cjs +7 -0
- package/dist/src/constants/agentSettled.cjs.map +1 -0
- package/dist/src/constants/agentSettled.mjs +7 -0
- package/dist/src/constants/agentSettled.mjs.map +1 -0
- package/dist/src/constants/contextApi.cjs +3 -1
- package/dist/src/constants/contextApi.cjs.map +1 -1
- package/dist/src/constants/contextApi.d.mts +2 -1
- package/dist/src/constants/contextApi.d.mts.map +1 -1
- package/dist/src/constants/contextApi.mjs +3 -2
- package/dist/src/constants/contextApi.mjs.map +1 -1
- package/dist/src/constants/voiceTools.cjs +6 -6
- package/dist/src/constants/voiceTools.cjs.map +1 -1
- package/dist/src/constants/voiceTools.d.mts +3 -3
- package/dist/src/constants/voiceTools.mjs +4 -4
- package/dist/src/constants/voiceTools.mjs.map +1 -1
- package/dist/src/extensions/extensionFile.cjs +22 -5
- package/dist/src/extensions/extensionFile.cjs.map +1 -1
- package/dist/src/extensions/extensionFile.d.mts +17 -4
- package/dist/src/extensions/extensionFile.d.mts.map +1 -1
- package/dist/src/extensions/extensionFile.mjs +22 -6
- package/dist/src/extensions/extensionFile.mjs.map +1 -1
- package/dist/src/extensions/serverPlugin.cjs +231 -92
- package/dist/src/extensions/serverPlugin.cjs.map +1 -1
- package/dist/src/extensions/serverPlugin.d.mts +2 -2
- package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
- package/dist/src/extensions/serverPlugin.mjs +232 -93
- package/dist/src/extensions/serverPlugin.mjs.map +1 -1
- package/dist/src/pi/piSessionRuntime.cjs +349 -142
- package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
- package/dist/src/pi/piSessionRuntime.d.mts +18 -17
- package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
- package/dist/src/pi/piSessionRuntime.mjs +342 -135
- package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
- package/dist/src/schemas/agentModel.cjs +2 -2
- package/dist/src/schemas/agentModel.cjs.map +1 -1
- package/dist/src/schemas/agentModel.d.mts +1 -1
- package/dist/src/schemas/agentModel.mjs +2 -2
- package/dist/src/schemas/agentModel.mjs.map +1 -1
- package/dist/src/schemas/apiContracts.d.mts +2 -2
- package/dist/src/schemas/apiContracts.d.mts.map +1 -1
- package/dist/src/schemas/askUser.cjs +4 -4
- package/dist/src/schemas/askUser.cjs.map +1 -1
- package/dist/src/schemas/askUser.d.mts +4 -4
- package/dist/src/schemas/askUser.d.mts.map +1 -1
- package/dist/src/schemas/askUser.mjs +3 -3
- package/dist/src/schemas/askUser.mjs.map +1 -1
- package/dist/src/schemas/backgroundWork.cjs +10 -10
- package/dist/src/schemas/backgroundWork.cjs.map +1 -1
- package/dist/src/schemas/backgroundWork.d.mts +9 -9
- package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
- package/dist/src/schemas/backgroundWork.mjs +8 -8
- package/dist/src/schemas/backgroundWork.mjs.map +1 -1
- package/dist/src/schemas/childProcess.cjs +5 -5
- package/dist/src/schemas/childProcess.cjs.map +1 -1
- package/dist/src/schemas/childProcess.d.mts +2 -2
- package/dist/src/schemas/childProcess.mjs +5 -5
- package/dist/src/schemas/childProcess.mjs.map +1 -1
- package/dist/src/schemas/contextContributions.cjs +10 -10
- package/dist/src/schemas/contextContributions.cjs.map +1 -1
- package/dist/src/schemas/contextContributions.d.mts +16 -16
- package/dist/src/schemas/contextContributions.d.mts.map +1 -1
- package/dist/src/schemas/contextContributions.mjs +8 -8
- package/dist/src/schemas/contextContributions.mjs.map +1 -1
- package/dist/src/schemas/delegation.cjs +17 -17
- package/dist/src/schemas/delegation.cjs.map +1 -1
- package/dist/src/schemas/delegation.d.mts +16 -16
- package/dist/src/schemas/delegation.d.mts.map +1 -1
- package/dist/src/schemas/delegation.mjs +10 -10
- package/dist/src/schemas/delegation.mjs.map +1 -1
- package/dist/src/schemas/extensionFile.d.mts +23 -19
- package/dist/src/schemas/extensionFile.d.mts.map +1 -1
- package/dist/src/schemas/footer.cjs.map +1 -1
- package/dist/src/schemas/footer.d.mts +5 -5
- package/dist/src/schemas/footer.d.mts.map +1 -1
- package/dist/src/schemas/footer.mjs.map +1 -1
- package/dist/src/schemas/headless.cjs +37 -37
- package/dist/src/schemas/headless.cjs.map +1 -1
- package/dist/src/schemas/headless.d.mts +100 -101
- package/dist/src/schemas/headless.d.mts.map +1 -1
- package/dist/src/schemas/headless.mjs +24 -24
- package/dist/src/schemas/headless.mjs.map +1 -1
- package/dist/src/schemas/help.cjs +60 -60
- package/dist/src/schemas/help.cjs.map +1 -1
- package/dist/src/schemas/help.d.mts +43 -43
- package/dist/src/schemas/help.d.mts.map +1 -1
- package/dist/src/schemas/help.mjs +41 -41
- package/dist/src/schemas/help.mjs.map +1 -1
- package/dist/src/schemas/home.cjs +127 -0
- package/dist/src/schemas/home.cjs.map +1 -0
- package/dist/src/schemas/home.d.mts +63 -0
- package/dist/src/schemas/home.d.mts.map +1 -0
- package/dist/src/schemas/home.mjs +121 -0
- package/dist/src/schemas/home.mjs.map +1 -0
- package/dist/src/schemas/httpApiContracts.cjs +441 -0
- package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
- package/dist/src/schemas/httpApiContracts.d.mts +78 -0
- package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
- package/dist/src/schemas/httpApiContracts.mjs +434 -0
- package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
- package/dist/src/schemas/hubChannel.cjs +3 -0
- package/dist/src/schemas/hubChannel.cjs.map +1 -1
- package/dist/src/schemas/hubChannel.d.mts +84 -60
- package/dist/src/schemas/hubChannel.d.mts.map +1 -1
- package/dist/src/schemas/hubChannel.mjs +3 -1
- package/dist/src/schemas/hubChannel.mjs.map +1 -1
- package/dist/src/schemas/leader.cjs.map +1 -1
- package/dist/src/schemas/leader.d.mts +3 -3
- package/dist/src/schemas/leader.d.mts.map +1 -1
- package/dist/src/schemas/leader.mjs.map +1 -1
- package/dist/src/schemas/mcpBundle.d.mts +3 -3
- package/dist/src/schemas/mcpFacet.cjs.map +1 -1
- package/dist/src/schemas/mcpFacet.d.mts +22 -22
- package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
- package/dist/src/schemas/mcpFacet.mjs.map +1 -1
- package/dist/src/schemas/mcpProjection.cjs +41 -41
- package/dist/src/schemas/mcpProjection.cjs.map +1 -1
- package/dist/src/schemas/mcpProjection.d.mts +31 -30
- package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
- package/dist/src/schemas/mcpProjection.mjs +29 -29
- package/dist/src/schemas/mcpProjection.mjs.map +1 -1
- package/dist/src/schemas/mcpSession.cjs +23 -23
- package/dist/src/schemas/mcpSession.cjs.map +1 -1
- package/dist/src/schemas/mcpSession.d.mts +12 -12
- package/dist/src/schemas/mcpSession.d.mts.map +1 -1
- package/dist/src/schemas/mcpSession.mjs +18 -18
- package/dist/src/schemas/mcpSession.mjs.map +1 -1
- package/dist/src/schemas/mcpStatus.cjs +5 -5
- package/dist/src/schemas/mcpStatus.cjs.map +1 -1
- package/dist/src/schemas/mcpStatus.d.mts +4 -4
- package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
- package/dist/src/schemas/mcpStatus.mjs +4 -4
- package/dist/src/schemas/mcpStatus.mjs.map +1 -1
- package/dist/src/schemas/mcpToolResolver.cjs +9 -9
- package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
- package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
- package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
- package/dist/src/schemas/mcpToolResolver.mjs +7 -7
- package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
- package/dist/src/schemas/narration.cjs +9 -9
- package/dist/src/schemas/narration.cjs.map +1 -1
- package/dist/src/schemas/narration.d.mts +5 -5
- package/dist/src/schemas/narration.d.mts.map +1 -1
- package/dist/src/schemas/narration.mjs +7 -7
- package/dist/src/schemas/narration.mjs.map +1 -1
- package/dist/src/schemas/notification.cjs +45 -45
- package/dist/src/schemas/notification.cjs.map +1 -1
- package/dist/src/schemas/notification.d.mts +22 -22
- package/dist/src/schemas/notification.d.mts.map +1 -1
- package/dist/src/schemas/notification.mjs +31 -31
- package/dist/src/schemas/notification.mjs.map +1 -1
- package/dist/src/schemas/packageApi.cjs +28 -28
- package/dist/src/schemas/packageApi.cjs.map +1 -1
- package/dist/src/schemas/packageApi.d.mts +91 -65
- package/dist/src/schemas/packageApi.d.mts.map +1 -1
- package/dist/src/schemas/packageApi.mjs +18 -18
- package/dist/src/schemas/packageApi.mjs.map +1 -1
- package/dist/src/schemas/platform.cjs +34 -0
- package/dist/src/schemas/platform.cjs.map +1 -0
- package/dist/src/schemas/platform.d.mts +75 -0
- package/dist/src/schemas/platform.d.mts.map +1 -0
- package/dist/src/schemas/platform.mjs +27 -0
- package/dist/src/schemas/platform.mjs.map +1 -0
- package/dist/src/schemas/pluginContributions.cjs.map +1 -1
- package/dist/src/schemas/pluginContributions.d.mts +12 -12
- package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
- package/dist/src/schemas/pluginContributions.mjs.map +1 -1
- package/dist/src/schemas/pluginProtocol.cjs +24 -27
- package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
- package/dist/src/schemas/pluginProtocol.d.mts +21 -21
- package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
- package/dist/src/schemas/pluginProtocol.mjs +18 -20
- package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
- package/dist/src/schemas/profileIdentity.cjs +2 -2
- package/dist/src/schemas/profileIdentity.cjs.map +1 -1
- package/dist/src/schemas/profileIdentity.d.mts +1 -1
- package/dist/src/schemas/profileIdentity.mjs +2 -2
- package/dist/src/schemas/profileIdentity.mjs.map +1 -1
- package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
- package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
- package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
- package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
- package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
- package/dist/src/schemas/protocolContracts.cjs +168 -0
- package/dist/src/schemas/protocolContracts.cjs.map +1 -0
- package/dist/src/schemas/protocolContracts.d.mts +69 -0
- package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
- package/dist/src/schemas/protocolContracts.mjs +164 -0
- package/dist/src/schemas/protocolContracts.mjs.map +1 -0
- package/dist/src/schemas/protocolHubContract.cjs +51 -0
- package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
- package/dist/src/schemas/protocolHubContract.d.mts +218 -0
- package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolHubContract.mjs +49 -0
- package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
- package/dist/src/schemas/protocolSessionContract.cjs +22 -0
- package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
- package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
- package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolSessionContract.mjs +22 -0
- package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
- package/dist/src/schemas/protocolThreadContract.cjs +21 -0
- package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
- package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
- package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolThreadContract.mjs +20 -0
- package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
- package/dist/src/schemas/readiness.cjs +36 -36
- package/dist/src/schemas/readiness.cjs.map +1 -1
- package/dist/src/schemas/readiness.d.mts +37 -37
- package/dist/src/schemas/readiness.d.mts.map +1 -1
- package/dist/src/schemas/readiness.mjs +31 -31
- package/dist/src/schemas/readiness.mjs.map +1 -1
- package/dist/src/schemas/serverBundle.d.mts +5 -5
- package/dist/src/schemas/serverPlugin.cjs +103 -0
- package/dist/src/schemas/serverPlugin.cjs.map +1 -0
- package/dist/src/schemas/serverPlugin.d.mts +176 -0
- package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
- package/dist/src/schemas/serverPlugin.mjs +95 -0
- package/dist/src/schemas/serverPlugin.mjs.map +1 -0
- package/dist/src/schemas/serverScope.cjs +37 -0
- package/dist/src/schemas/serverScope.cjs.map +1 -0
- package/dist/src/schemas/serverScope.d.mts +77 -0
- package/dist/src/schemas/serverScope.d.mts.map +1 -0
- package/dist/src/schemas/serverScope.mjs +33 -0
- package/dist/src/schemas/serverScope.mjs.map +1 -0
- package/dist/src/schemas/sessionApiContracts.cjs +320 -0
- package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
- package/dist/src/schemas/sessionApiContracts.mjs +318 -0
- package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
- package/dist/src/schemas/sessionProtocol.cjs +20 -13
- package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
- package/dist/src/schemas/sessionProtocol.d.mts +37 -54
- package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
- package/dist/src/schemas/sessionProtocol.mjs +17 -8
- package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
- package/dist/src/schemas/skills.cjs +16 -16
- package/dist/src/schemas/skills.cjs.map +1 -1
- package/dist/src/schemas/skills.d.mts +7 -7
- package/dist/src/schemas/skills.d.mts.map +1 -1
- package/dist/src/schemas/skills.mjs +12 -12
- package/dist/src/schemas/skills.mjs.map +1 -1
- package/dist/src/schemas/toolOverrides.cjs +9 -9
- package/dist/src/schemas/toolOverrides.cjs.map +1 -1
- package/dist/src/schemas/toolOverrides.d.mts +8 -8
- package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
- package/dist/src/schemas/toolOverrides.mjs +7 -7
- package/dist/src/schemas/toolOverrides.mjs.map +1 -1
- package/dist/src/schemas/toolSurface.cjs +9 -9
- package/dist/src/schemas/toolSurface.cjs.map +1 -1
- package/dist/src/schemas/toolSurface.d.mts +13 -13
- package/dist/src/schemas/toolSurface.d.mts.map +1 -1
- package/dist/src/schemas/toolSurface.mjs +7 -7
- package/dist/src/schemas/toolSurface.mjs.map +1 -1
- package/dist/src/schemas/uiHub.cjs +9 -9
- package/dist/src/schemas/uiHub.cjs.map +1 -1
- package/dist/src/schemas/uiHub.d.mts +12 -12
- package/dist/src/schemas/uiHub.d.mts.map +1 -1
- package/dist/src/schemas/uiHub.mjs +7 -7
- package/dist/src/schemas/uiHub.mjs.map +1 -1
- package/dist/src/server/directHarnessRuntime.cjs +691 -775
- package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
- package/dist/src/server/directHarnessRuntime.d.mts +5 -1
- package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
- package/dist/src/server/directHarnessRuntime.mjs +671 -754
- package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
- package/dist/src/server/largeFrameLink.cjs +47 -0
- package/dist/src/server/largeFrameLink.cjs.map +1 -0
- package/dist/src/server/largeFrameLink.mjs +47 -0
- package/dist/src/server/largeFrameLink.mjs.map +1 -0
- package/dist/src/server/liveImport.cjs +1 -1
- package/dist/src/server/liveImport.cjs.map +1 -1
- package/dist/src/server/liveImport.d.mts +1 -1
- package/dist/src/server/liveImport.mjs +1 -1
- package/dist/src/server/liveImport.mjs.map +1 -1
- package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
- package/dist/src/server/mcpBundleLoader.d.mts +6 -6
- package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
- package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
- package/dist/src/server/serverPackages.cjs +60 -0
- package/dist/src/server/serverPackages.cjs.map +1 -0
- package/dist/src/server/serverPackages.d.mts +44 -0
- package/dist/src/server/serverPackages.d.mts.map +1 -0
- package/dist/src/server/serverPackages.mjs +59 -0
- package/dist/src/server/serverPackages.mjs.map +1 -0
- package/dist/src/server/serverScope.cjs +510 -0
- package/dist/src/server/serverScope.cjs.map +1 -0
- package/dist/src/server/serverScope.d.mts +123 -0
- package/dist/src/server/serverScope.d.mts.map +1 -0
- package/dist/src/server/serverScope.mjs +510 -0
- package/dist/src/server/serverScope.mjs.map +1 -0
- package/dist/src/server/sessionMcpHandler.cjs +3 -3
- package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
- package/dist/src/server/sessionMcpHandler.mjs +4 -4
- package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
- package/dist/src/server/sessionMcpRoutes.cjs +2 -1
- package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
- package/dist/src/server/sessionMcpRoutes.mjs +2 -1
- package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
- package/dist/src/server/threadJournals.cjs +38 -107
- package/dist/src/server/threadJournals.cjs.map +1 -1
- package/dist/src/server/threadJournals.mjs +38 -104
- package/dist/src/server/threadJournals.mjs.map +1 -1
- package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
- package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
- package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
- package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
- package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
- package/dist/src/services/chatgptAuth/index.cjs +1 -220
- package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
- package/dist/src/services/chatgptAuth/index.d.mts +0 -18
- package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
- package/dist/src/services/chatgptAuth/index.mjs +1 -217
- package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
- package/dist/src/services/chatgptImages/index.cjs +1 -1
- package/dist/src/services/chatgptImages/index.cjs.map +1 -1
- package/dist/src/services/chatgptImages/index.mjs +1 -1
- package/dist/src/services/chatgptImages/index.mjs.map +1 -1
- package/dist/src/services/chatgptLogin/index.cjs +230 -0
- package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
- package/dist/src/services/chatgptLogin/index.d.mts +21 -0
- package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
- package/dist/src/services/chatgptLogin/index.mjs +227 -0
- package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
- package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
- package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
- package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
- package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
- package/dist/src/services/contextContributions/index.cjs +8 -8
- package/dist/src/services/contextContributions/index.cjs.map +1 -1
- package/dist/src/services/contextContributions/index.d.mts +3 -3
- package/dist/src/services/contextContributions/index.d.mts.map +1 -1
- package/dist/src/services/contextContributions/index.mjs +8 -8
- package/dist/src/services/contextContributions/index.mjs.map +1 -1
- package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
- package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
- package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
- package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
- package/dist/src/services/devProxyStore/index.cjs +7 -101
- package/dist/src/services/devProxyStore/index.cjs.map +1 -1
- package/dist/src/services/devProxyStore/index.mjs +7 -101
- package/dist/src/services/devProxyStore/index.mjs.map +1 -1
- package/dist/src/services/devProxyStore/sync.cjs +66 -0
- package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
- package/dist/src/services/devProxyStore/sync.mjs +63 -0
- package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
- package/dist/src/services/durableNavigation/docs.cjs +15 -0
- package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
- package/dist/src/services/durableNavigation/docs.mjs +16 -0
- package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
- package/dist/src/services/durableNavigation/index.cjs +3 -18
- package/dist/src/services/durableNavigation/index.cjs.map +1 -1
- package/dist/src/services/durableNavigation/index.mjs +2 -17
- package/dist/src/services/durableNavigation/index.mjs.map +1 -1
- package/dist/src/services/durableQueue/docs.cjs +12 -0
- package/dist/src/services/durableQueue/docs.cjs.map +1 -0
- package/dist/src/services/durableQueue/docs.mjs +13 -0
- package/dist/src/services/durableQueue/docs.mjs.map +1 -0
- package/dist/src/services/durableQueue/index.cjs +151 -0
- package/dist/src/services/durableQueue/index.cjs.map +1 -0
- package/dist/src/services/durableQueue/index.mjs +149 -0
- package/dist/src/services/durableQueue/index.mjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
- package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
- package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
- package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
- package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
- package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
- package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
- package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
- package/dist/src/services/durableSession/docs.cjs +65 -0
- package/dist/src/services/durableSession/docs.cjs.map +1 -0
- package/dist/src/services/durableSession/docs.d.mts +17 -0
- package/dist/src/services/durableSession/docs.d.mts.map +1 -0
- package/dist/src/services/durableSession/docs.mjs +60 -0
- package/dist/src/services/durableSession/docs.mjs.map +1 -0
- package/dist/src/services/durableSession/index.cjs +21 -0
- package/dist/src/services/durableSession/index.cjs.map +1 -0
- package/dist/src/services/durableSession/index.d.mts +13 -0
- package/dist/src/services/durableSession/index.d.mts.map +1 -0
- package/dist/src/services/durableSession/index.mjs +20 -0
- package/dist/src/services/durableSession/index.mjs.map +1 -0
- package/dist/src/services/durableSubagents/docs.cjs +15 -0
- package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
- package/dist/src/services/durableSubagents/docs.mjs +16 -0
- package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
- package/dist/src/services/durableSubagents/extension.cjs +11 -0
- package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
- package/dist/src/services/durableSubagents/extension.mjs +12 -0
- package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
- package/dist/src/services/durableSubagents/index.cjs +95 -0
- package/dist/src/services/durableSubagents/index.cjs.map +1 -0
- package/dist/src/services/durableSubagents/index.mjs +90 -0
- package/dist/src/services/durableSubagents/index.mjs.map +1 -0
- package/dist/src/services/durableSubagents/tasks.cjs +25 -0
- package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
- package/dist/src/services/durableSubagents/tasks.mjs +26 -0
- package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
- package/dist/src/services/headlessClient/index.cjs +20 -13
- package/dist/src/services/headlessClient/index.cjs.map +1 -1
- package/dist/src/services/headlessClient/index.mjs +21 -14
- package/dist/src/services/headlessClient/index.mjs.map +1 -1
- package/dist/src/services/historyOwnership/type.d.mts +15 -0
- package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
- package/dist/src/services/hubChannelHarness/index.cjs +2 -2
- package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
- package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
- package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
- package/dist/src/services/hubChannelHarness/index.mjs +2 -2
- package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
- package/dist/src/services/json/core.cjs +30 -0
- package/dist/src/services/json/core.cjs.map +1 -0
- package/dist/src/services/json/core.d.mts +21 -0
- package/dist/src/services/json/core.d.mts.map +1 -0
- package/dist/src/services/json/core.mjs +26 -0
- package/dist/src/services/json/core.mjs.map +1 -0
- package/dist/src/services/json/sync.cjs +48 -0
- package/dist/src/services/json/sync.cjs.map +1 -0
- package/dist/src/services/json/sync.d.mts +22 -0
- package/dist/src/services/json/sync.d.mts.map +1 -0
- package/dist/src/services/json/sync.mjs +43 -0
- package/dist/src/services/json/sync.mjs.map +1 -0
- package/dist/src/services/kernel/index.cjs +2 -2
- package/dist/src/services/kernel/index.cjs.map +1 -1
- package/dist/src/services/kernel/index.d.mts +3 -3
- package/dist/src/services/kernel/index.d.mts.map +1 -1
- package/dist/src/services/kernel/index.mjs +2 -2
- package/dist/src/services/kernel/index.mjs.map +1 -1
- package/dist/src/services/nativeChildTools/index.cjs +16 -0
- package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
- package/dist/src/services/nativeChildTools/index.mjs +16 -0
- package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
- package/dist/src/services/nodeHost/index.cjs +30 -0
- package/dist/src/services/nodeHost/index.cjs.map +1 -0
- package/dist/src/services/nodeHost/index.d.mts +16 -0
- package/dist/src/services/nodeHost/index.d.mts.map +1 -0
- package/dist/src/services/nodeHost/index.mjs +27 -0
- package/dist/src/services/nodeHost/index.mjs.map +1 -0
- package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
- package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
- package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
- package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
- package/dist/src/services/openSessionRegistry/index.cjs +6 -128
- package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
- package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
- package/dist/src/services/openSessionRegistry/index.mjs +6 -128
- package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
- package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
- package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
- package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
- package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
- package/dist/src/services/packageApiHarness/index.cjs +1 -1
- package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
- package/dist/src/services/packageApiHarness/index.d.mts +6 -6
- package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
- package/dist/src/services/packageApiHarness/index.mjs +2 -2
- package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
- package/dist/src/services/piArgs/index.cjs +53 -0
- package/dist/src/services/piArgs/index.cjs.map +1 -0
- package/dist/src/services/piArgs/index.d.mts +6 -0
- package/dist/src/services/piArgs/index.d.mts.map +1 -0
- package/dist/src/services/piArgs/index.mjs +53 -0
- package/dist/src/services/piArgs/index.mjs.map +1 -0
- package/dist/src/services/piExtensionHost/index.cjs +47 -39
- package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
- package/dist/src/services/piExtensionHost/index.d.mts +83 -0
- package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
- package/dist/src/services/piExtensionHost/index.mjs +47 -38
- package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
- package/dist/src/services/piHelpTools/index.cjs +5 -5
- package/dist/src/services/piHelpTools/index.cjs.map +1 -1
- package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
- package/dist/src/services/piHelpTools/index.mjs +7 -7
- package/dist/src/services/piHelpTools/index.mjs.map +1 -1
- package/dist/src/services/piMessages/index.cjs +106 -0
- package/dist/src/services/piMessages/index.cjs.map +1 -0
- package/dist/src/services/piMessages/index.mjs +105 -0
- package/dist/src/services/piMessages/index.mjs.map +1 -0
- package/dist/src/services/piSessionEntries/index.cjs +4 -4
- package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
- package/dist/src/services/piSessionEntries/index.mjs +3 -3
- package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
- package/dist/src/services/piSettings/core.cjs +308 -0
- package/dist/src/services/piSettings/core.cjs.map +1 -0
- package/dist/src/services/piSettings/core.d.mts +102 -0
- package/dist/src/services/piSettings/core.d.mts.map +1 -0
- package/dist/src/services/piSettings/core.mjs +276 -0
- package/dist/src/services/piSettings/core.mjs.map +1 -0
- package/dist/src/services/piSettings/sync.cjs +119 -0
- package/dist/src/services/piSettings/sync.cjs.map +1 -0
- package/dist/src/services/piSettings/sync.d.mts +44 -0
- package/dist/src/services/piSettings/sync.d.mts.map +1 -0
- package/dist/src/services/piSettings/sync.mjs +110 -0
- package/dist/src/services/piSettings/sync.mjs.map +1 -0
- package/dist/src/services/piSummary/index.cjs +7 -0
- package/dist/src/services/piSummary/index.cjs.map +1 -0
- package/dist/src/services/piSummary/index.mjs +7 -0
- package/dist/src/services/piSummary/index.mjs.map +1 -0
- package/dist/src/services/platformFiles/index.cjs +44 -0
- package/dist/src/services/platformFiles/index.cjs.map +1 -0
- package/dist/src/services/platformFiles/index.d.mts +16 -0
- package/dist/src/services/platformFiles/index.d.mts.map +1 -0
- package/dist/src/services/platformFiles/index.mjs +39 -0
- package/dist/src/services/platformFiles/index.mjs.map +1 -0
- package/dist/src/services/pluginLifecycle/index.cjs +19 -13
- package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
- package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
- package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
- package/dist/src/services/pluginLifecycle/index.mjs +19 -14
- package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
- package/dist/src/services/poPackage/core.cjs +73 -0
- package/dist/src/services/poPackage/core.cjs.map +1 -0
- package/dist/src/services/poPackage/core.d.mts +32 -0
- package/dist/src/services/poPackage/core.d.mts.map +1 -0
- package/dist/src/services/poPackage/core.mjs +66 -0
- package/dist/src/services/poPackage/core.mjs.map +1 -0
- package/dist/src/services/poPackage/sync.cjs +55 -0
- package/dist/src/services/poPackage/sync.cjs.map +1 -0
- package/dist/src/services/poPackage/sync.d.mts +21 -0
- package/dist/src/services/poPackage/sync.d.mts.map +1 -0
- package/dist/src/services/poPackage/sync.mjs +50 -0
- package/dist/src/services/poPackage/sync.mjs.map +1 -0
- package/dist/src/services/providerAuth/index.cjs +11 -7
- package/dist/src/services/providerAuth/index.cjs.map +1 -1
- package/dist/src/services/providerAuth/index.mjs +11 -7
- package/dist/src/services/providerAuth/index.mjs.map +1 -1
- package/dist/src/services/publicFileShares/index.cjs +1 -1
- package/dist/src/services/publicFileShares/index.cjs.map +1 -1
- package/dist/src/services/publicFileShares/index.d.mts +2 -2
- package/dist/src/services/publicFileShares/index.mjs +2 -2
- package/dist/src/services/publicFileShares/index.mjs.map +1 -1
- package/dist/src/services/remoteAccess/index.d.mts +1 -0
- package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
- package/dist/src/services/remoteAccessStore/index.cjs +8 -190
- package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
- package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
- package/dist/src/services/remoteAccessStore/index.mjs +7 -187
- package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
- package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
- package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
- package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
- package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
- package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
- package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
- package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
- package/dist/src/services/serialRunner/index.cjs +25 -0
- package/dist/src/services/serialRunner/index.cjs.map +1 -0
- package/dist/src/services/serialRunner/index.d.mts +10 -0
- package/dist/src/services/serialRunner/index.d.mts.map +1 -0
- package/dist/src/services/serialRunner/index.mjs +25 -0
- package/dist/src/services/serialRunner/index.mjs.map +1 -0
- package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
- package/dist/src/services/serverHost/index.cjs.map +1 -0
- package/dist/src/services/serverHost/index.d.mts +31 -0
- package/dist/src/services/serverHost/index.d.mts.map +1 -0
- package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
- package/dist/src/services/serverHost/index.mjs.map +1 -0
- package/dist/src/services/sessionAttachments/index.cjs +4 -3
- package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
- package/dist/src/services/sessionAttachments/index.d.mts +1 -6
- package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
- package/dist/src/services/sessionAttachments/index.mjs +3 -2
- package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
- package/dist/src/services/sessionAttachments/type.d.mts +9 -0
- package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
- package/dist/src/services/sessionFiles/index.cjs +96 -0
- package/dist/src/services/sessionFiles/index.cjs.map +1 -0
- package/dist/src/services/sessionFiles/index.d.mts +33 -0
- package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
- package/dist/src/services/sessionFiles/index.mjs +89 -0
- package/dist/src/services/sessionFiles/index.mjs.map +1 -0
- package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
- package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
- package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
- package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
- package/dist/src/services/sessionGitStatus/index.cjs +31 -33
- package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
- package/dist/src/services/sessionGitStatus/index.mjs +31 -33
- package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
- package/dist/src/services/sessionPresentation/index.cjs +3 -27
- package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
- package/dist/src/services/sessionPresentation/index.mjs +3 -27
- package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
- package/dist/src/services/skillPrompt/index.cjs +11 -0
- package/dist/src/services/skillPrompt/index.cjs.map +1 -0
- package/dist/src/services/skillPrompt/index.mjs +11 -0
- package/dist/src/services/skillPrompt/index.mjs.map +1 -0
- package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
- package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
- package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
- package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
- package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
- package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
- package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
- package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
- package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
- package/dist/src/services/testMode/index.cjs +162 -0
- package/dist/src/services/testMode/index.cjs.map +1 -0
- package/dist/src/services/testMode/index.d.mts +17 -0
- package/dist/src/services/testMode/index.d.mts.map +1 -0
- package/dist/src/services/testMode/index.mjs +155 -0
- package/dist/src/services/testMode/index.mjs.map +1 -0
- package/dist/src/services/toolOverrides/index.cjs +6 -6
- package/dist/src/services/toolOverrides/index.cjs.map +1 -1
- package/dist/src/services/toolOverrides/index.d.mts +3 -3
- package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
- package/dist/src/services/toolOverrides/index.mjs +6 -6
- package/dist/src/services/toolOverrides/index.mjs.map +1 -1
- package/dist/src/services/toolPrompt/index.d.mts +17 -0
- package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
- package/dist/src/services/toolSurface/index.cjs +3 -3
- package/dist/src/services/toolSurface/index.cjs.map +1 -1
- package/dist/src/services/toolSurface/index.d.mts +3 -3
- package/dist/src/services/toolSurface/index.d.mts.map +1 -1
- package/dist/src/services/toolSurface/index.mjs +4 -4
- package/dist/src/services/toolSurface/index.mjs.map +1 -1
- package/dist/src/services/traceContext/index.cjs.map +1 -1
- package/dist/src/services/traceContext/index.mjs.map +1 -1
- package/dist/src/services/transcriptPages/index.cjs +159 -33
- package/dist/src/services/transcriptPages/index.cjs.map +1 -1
- package/dist/src/services/transcriptPages/index.mjs +158 -34
- package/dist/src/services/transcriptPages/index.mjs.map +1 -1
- package/dist/src/services/voiceToolsContract/index.cjs +7 -7
- package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
- package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
- package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
- package/dist/src/services/voiceToolsContract/index.mjs +7 -7
- package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
- package/dist/src/services/workspaceRegistry/index.cjs +9 -179
- package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
- package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
- package/dist/src/services/workspaceRegistry/index.mjs +7 -176
- package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
- package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
- package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
- package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
- package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
- package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
- package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
- package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
- package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
- package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
- package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
- package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
- package/dist/src/systems/child/services/childSession/index.cjs +94 -20
- package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
- package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
- package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
- package/dist/src/systems/child/services/childSession/index.mjs +94 -20
- package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
- package/dist/src/systems/child/types/childSession.cjs +33 -13
- package/dist/src/systems/child/types/childSession.cjs.map +1 -1
- package/dist/src/systems/child/types/childSession.d.mts +143 -80
- package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
- package/dist/src/systems/child/types/childSession.mjs +24 -9
- package/dist/src/systems/child/types/childSession.mjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
- package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
- package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
- package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
- package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
- package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
- package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
- package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
- package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
- package/dist/src/testing/pi/testHost.cjs +2 -2
- package/dist/src/testing/pi/testHost.cjs.map +1 -1
- package/dist/src/testing/pi/testHost.d.mts +3 -2
- package/dist/src/testing/pi/testHost.mjs +3 -3
- package/dist/src/testing/pi/testHost.mjs.map +1 -1
- package/dist/src/types/config.d.mts +1 -1
- package/dist/src/types/config.d.mts.map +1 -1
- package/dist/src/types/kernel.d.mts +3 -3
- package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
- package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
- package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
- package/dist/src/web/services/apiClient/index.d.mts +1 -0
- package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
- package/dist/src/web/services/apiPaths/index.d.mts +1 -1
- package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
- package/dist/src/web/services/mcpWidget.cjs.map +1 -1
- package/dist/src/web/services/mcpWidget.d.mts +2 -2
- package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
- package/dist/src/web/services/mcpWidget.mjs.map +1 -1
- package/dist/src/web/services/testing/templateRail.cjs +3 -0
- package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
- package/dist/src/web/services/testing/templateRail.mjs +3 -0
- package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
- package/dist/src/web/types/mcpWidget.d.mts +1 -1
- package/dist/src/web/types/nativeTemplate.d.mts +1 -1
- package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
- package/dist/src/web/types/template.d.mts +8 -0
- package/dist/src/web/types/template.d.mts.map +1 -1
- package/dist/src/web/types/webPlugin.d.mts +17 -5
- package/dist/src/web/types/webPlugin.d.mts.map +1 -1
- package/dist/testMode.cjs +4 -0
- package/dist/testMode.d.mts +2 -0
- package/dist/testMode.mjs +1 -0
- package/dist/testing.cjs +1 -1
- package/dist/testing.d.mts +2 -2
- package/dist/testing.mjs +2 -2
- package/dist/toolInventory.cjs.map +1 -1
- package/dist/toolInventory.mjs.map +1 -1
- package/dist/toolNames.mjs +1 -2
- package/dist/toolOverrides.cjs +4 -4
- package/dist/toolOverrides.d.mts +3 -3
- package/dist/toolOverrides.mjs +3 -3
- package/dist/toolSurface.cjs +4 -4
- package/dist/toolSurface.d.mts +3 -3
- package/dist/toolSurface.mjs +3 -3
- package/dist/transition.cjs +3 -3
- package/dist/transition.d.cjs +3 -3
- package/dist/transition.d.mts +2 -2
- package/dist/transition.mjs +1 -2
- package/dist/transitionClassifier.cjs.map +1 -1
- package/dist/transitionClassifier.d.mts +2 -2
- package/dist/transitionClassifier.d.mts.map +1 -1
- package/dist/transitionClassifier.mjs.map +1 -1
- package/dist/transitionCoordinator.cjs +3 -3
- package/dist/transitionCoordinator.cjs.map +1 -1
- package/dist/transitionCoordinator.d.mts +4 -4
- package/dist/transitionCoordinator.d.mts.map +1 -1
- package/dist/transitionCoordinator.mjs +3 -3
- package/dist/transitionCoordinator.mjs.map +1 -1
- package/dist/typesContextApi.d.mts +2 -1
- package/dist/typesContextApi.d.mts.map +1 -1
- package/dist/uiHub.cjs +3 -3
- package/dist/uiHub.d.mts +2 -2
- package/dist/uiHub.mjs +1 -2
- package/dist/voiceTools.cjs +5 -5
- package/dist/voiceTools.d.mts +3 -3
- package/dist/voiceTools.mjs +3 -3
- package/dist/web.cjs +8 -0
- package/dist/web.d.mts +3 -2
- package/dist/web.mjs +2 -1
- package/dist/webCompositions.cjs.map +1 -1
- package/dist/webCompositions.d.mts +7 -7
- package/dist/webCompositions.d.mts.map +1 -1
- package/dist/webCompositions.mjs.map +1 -1
- package/licenses/Codex-Apache-2.0.txt +201 -0
- package/package.json +58 -53
- package/dist/doomPackage.cjs +0 -61
- package/dist/doomPackage.cjs.map +0 -1
- package/dist/doomPackage.d.mts +0 -17
- package/dist/doomPackage.d.mts.map +0 -1
- package/dist/doomPackage.mjs +0 -54
- package/dist/doomPackage.mjs.map +0 -1
- package/dist/jsonlSessionRepo.cjs +0 -44
- package/dist/jsonlSessionRepo.cjs.map +0 -1
- package/dist/jsonlSessionRepo.d.mts +0 -7
- package/dist/jsonlSessionRepo.d.mts.map +0 -1
- package/dist/jsonlSessionRepo.mjs +0 -42
- package/dist/jsonlSessionRepo.mjs.map +0 -1
- package/dist/runtimeJson.cjs.map +0 -1
- package/dist/runtimeJson.d.mts.map +0 -1
- package/dist/runtimeJson.mjs.map +0 -1
- package/dist/runtimePiSettings.cjs.map +0 -1
- package/dist/runtimePiSettings.d.mts.map +0 -1
- package/dist/runtimePiSettings.mjs.map +0 -1
- package/dist/serverFacet.cjs +0 -34
- package/dist/serverFacet.d.mts +0 -10
- package/dist/serverFacet.mjs +0 -9
- package/dist/src/pi/piWebSocketListener.cjs +0 -115
- package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
- package/dist/src/pi/piWebSocketListener.mjs +0 -115
- package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
- package/dist/src/schemas/serverFacet.cjs +0 -111
- package/dist/src/schemas/serverFacet.cjs.map +0 -1
- package/dist/src/schemas/serverFacet.d.mts +0 -152
- package/dist/src/schemas/serverFacet.d.mts.map +0 -1
- package/dist/src/schemas/serverFacet.mjs +0 -101
- package/dist/src/schemas/serverFacet.mjs.map +0 -1
- package/dist/src/schemas/sessionUpdates.d.mts +0 -34
- package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
- package/dist/src/server/headlessProtocol.cjs +0 -382
- package/dist/src/server/headlessProtocol.cjs.map +0 -1
- package/dist/src/server/headlessProtocol.mjs +0 -382
- package/dist/src/server/headlessProtocol.mjs.map +0 -1
- package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
- package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
- package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
- package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
- package/dist/src/server/serverFacetLoader.cjs +0 -214
- package/dist/src/server/serverFacetLoader.cjs.map +0 -1
- package/dist/src/server/serverFacetLoader.d.mts +0 -72
- package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
- package/dist/src/server/serverFacetLoader.mjs +0 -212
- package/dist/src/server/serverFacetLoader.mjs.map +0 -1
- package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
- package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
- package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
- package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
- package/dist/src/services/historyImport/index.cjs +0 -8
- package/dist/src/services/historyImport/index.cjs.map +0 -1
- package/dist/src/services/historyImport/index.d.mts +0 -68
- package/dist/src/services/historyImport/index.d.mts.map +0 -1
- package/dist/src/services/historyImport/index.mjs +0 -8
- package/dist/src/services/historyImport/index.mjs.map +0 -1
- package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
- package/dist/src/services/requestReceipts/index.cjs.map +0 -1
- package/dist/src/services/requestReceipts/index.d.mts +0 -11
- package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
- package/dist/src/services/requestReceipts/index.mjs.map +0 -1
- package/dist/src/services/rpcTranscript/index.cjs +0 -633
- package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
- package/dist/src/services/rpcTranscript/index.d.mts +0 -50
- package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
- package/dist/src/services/rpcTranscript/index.mjs +0 -632
- package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
- package/dist/src/services/serverFacet/index.cjs.map +0 -1
- package/dist/src/services/serverFacet/index.d.mts +0 -31
- package/dist/src/services/serverFacet/index.d.mts.map +0 -1
- package/dist/src/services/serverFacet/index.mjs.map +0 -1
- package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
- package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
- package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
- package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
- package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
- package/dist/terminalPiChildSessionService.cjs +0 -324
- package/dist/terminalPiChildSessionService.cjs.map +0 -1
- package/dist/terminalPiChildSessionService.d.mts +0 -46
- package/dist/terminalPiChildSessionService.d.mts.map +0 -1
- package/dist/terminalPiChildSessionService.mjs +0 -318
- package/dist/terminalPiChildSessionService.mjs.map +0 -1
- package/dist/v3Export.cjs +0 -10
- package/dist/v3Export.cjs.map +0 -1
- package/dist/v3Export.d.mts +0 -35
- package/dist/v3Export.d.mts.map +0 -1
- package/dist/v3Export.mjs +0 -9
- package/dist/v3Export.mjs.map +0 -1
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* The factory is the host boundary: it must construct the direct harness, apply
|
|
6
6
|
* history ownership, and return only after child extensions are composed.
|
|
7
7
|
*/
|
|
8
|
-
function
|
|
8
|
+
function createPoChildSessionService(factory, dependencies) {
|
|
9
9
|
const handles = /* @__PURE__ */ new Map();
|
|
10
|
+
const outcomes = /* @__PURE__ */ new Map();
|
|
10
11
|
const transcriptReaders = /* @__PURE__ */ new Map();
|
|
11
12
|
const claimedRunIds = /* @__PURE__ */ new Set();
|
|
12
13
|
const starting = /* @__PURE__ */ new Set();
|
|
@@ -20,24 +21,29 @@ function createDoomChildSessionService(factory, dependencies) {
|
|
|
20
21
|
const recordCleanupFailure = (error) => {
|
|
21
22
|
cleanupFailures.push(error);
|
|
22
23
|
};
|
|
23
|
-
|
|
24
|
+
const store = dependencies.store;
|
|
25
|
+
const service = {
|
|
24
26
|
start(request, signal) {
|
|
25
|
-
if (closed) return Promise.reject(/* @__PURE__ */ new Error("The
|
|
27
|
+
if (closed) return Promise.reject(/* @__PURE__ */ new Error("The Po child-session service is closed."));
|
|
26
28
|
if (claimedRunIds.has(request.runId)) return Promise.reject(/* @__PURE__ */ new Error(`Child run '${request.runId}' already exists.`));
|
|
27
29
|
claimedRunIds.add(request.runId);
|
|
28
30
|
const pending = (async () => {
|
|
29
31
|
try {
|
|
30
32
|
signal?.throwIfAborted();
|
|
31
|
-
const
|
|
33
|
+
const owned = await createHandle(async (ownedRequest, ownedSignal) => {
|
|
32
34
|
const runtime = await factory(ownedRequest, ownedSignal);
|
|
33
35
|
if (runtime.readTranscriptPage) transcriptReaders.set(request.runId, (pageRequest, pageSignal) => runtime.readTranscriptPage(pageRequest, pageSignal));
|
|
34
36
|
return runtime;
|
|
35
|
-
}, dependencies, request, signal, () =>
|
|
37
|
+
}, dependencies, request, signal, (outcome) => {
|
|
38
|
+
if (outcome) outcomes.set(request.runId, outcome);
|
|
39
|
+
release(request.runId);
|
|
40
|
+
}, recordCleanupFailure);
|
|
41
|
+
const handle = owned.handle;
|
|
36
42
|
if (closed || signal?.aborted) {
|
|
37
43
|
await handle.dispose();
|
|
38
44
|
throw signal?.reason ?? /* @__PURE__ */ new Error("Child session startup was cancelled.");
|
|
39
45
|
}
|
|
40
|
-
if (!isTerminal(handle.state())) handles.set(request.runId,
|
|
46
|
+
if (!isTerminal(handle.state())) handles.set(request.runId, owned);
|
|
41
47
|
return handle;
|
|
42
48
|
} catch (error) {
|
|
43
49
|
transcriptReaders.delete(request.runId);
|
|
@@ -49,9 +55,9 @@ function createDoomChildSessionService(factory, dependencies) {
|
|
|
49
55
|
pending.then(() => starting.delete(pending), () => starting.delete(pending));
|
|
50
56
|
return pending;
|
|
51
57
|
},
|
|
52
|
-
get: (runId) => handles.get(runId),
|
|
58
|
+
get: (runId) => handles.get(runId)?.handle,
|
|
53
59
|
async readTranscriptPage(runId, request, signal) {
|
|
54
|
-
if (closed) throw new Error("The
|
|
60
|
+
if (closed) throw new Error("The Po child-session service is closed.");
|
|
55
61
|
signal?.throwIfAborted();
|
|
56
62
|
const reader = transcriptReaders.get(runId);
|
|
57
63
|
if (!reader) throw new Error(`Child run '${runId}' has no readable transcript.`);
|
|
@@ -59,26 +65,50 @@ function createDoomChildSessionService(factory, dependencies) {
|
|
|
59
65
|
signal?.throwIfAborted();
|
|
60
66
|
return page;
|
|
61
67
|
},
|
|
68
|
+
...store ? {
|
|
69
|
+
stored: () => store.stored(),
|
|
70
|
+
async restore(runId, live) {
|
|
71
|
+
const active = handles.get(runId);
|
|
72
|
+
if (active) return active.handle;
|
|
73
|
+
const run = (await store.stored()).find((stored) => stored.request.runId === runId);
|
|
74
|
+
if (!run) throw new Error(`No stored child run matches '${runId}'.`);
|
|
75
|
+
return service.start({
|
|
76
|
+
...run.request,
|
|
77
|
+
source: { kind: "fresh" },
|
|
78
|
+
environment: {},
|
|
79
|
+
...live?.intercom ? { intercom: live.intercom } : {}
|
|
80
|
+
});
|
|
81
|
+
},
|
|
82
|
+
async markReported(runId) {
|
|
83
|
+
await store.markReported(runId, outcomes.get(runId));
|
|
84
|
+
outcomes.delete(runId);
|
|
85
|
+
}
|
|
86
|
+
} : {},
|
|
62
87
|
close() {
|
|
63
88
|
closePromise ??= (async () => {
|
|
64
89
|
if (closed) return;
|
|
65
90
|
closed = true;
|
|
66
91
|
await Promise.allSettled(starting);
|
|
67
92
|
const active = [...handles.values()];
|
|
68
|
-
await Promise.allSettled(active.map((
|
|
93
|
+
await Promise.allSettled(active.map((owned) => owned.detach()));
|
|
69
94
|
const failures = [...cleanupFailures];
|
|
70
95
|
handles.clear();
|
|
71
96
|
transcriptReaders.clear();
|
|
72
97
|
claimedRunIds.clear();
|
|
73
|
-
|
|
98
|
+
outcomes.clear();
|
|
99
|
+
if (failures.length) throw new AggregateError(failures, "Po child-session shutdown failed.");
|
|
74
100
|
})();
|
|
75
101
|
return closePromise;
|
|
76
102
|
}
|
|
77
103
|
};
|
|
104
|
+
return service;
|
|
78
105
|
}
|
|
79
106
|
function isTerminal(state) {
|
|
80
107
|
return state === "completed" || state === "failed" || state === "stopped";
|
|
81
108
|
}
|
|
109
|
+
function isAbortError(error) {
|
|
110
|
+
return error instanceof Error && error.name === "AbortError";
|
|
111
|
+
}
|
|
82
112
|
function errorMessage(error) {
|
|
83
113
|
return error instanceof Error ? error.message : typeof error === "string" ? error : "Unknown cleanup failure";
|
|
84
114
|
}
|
|
@@ -96,9 +126,11 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
|
|
|
96
126
|
let cleanupPromise;
|
|
97
127
|
let abortCleanup;
|
|
98
128
|
const listeners = /* @__PURE__ */ new Set();
|
|
99
|
-
const sessionFile = runtime.sessionFile;
|
|
100
129
|
const usageRows = /* @__PURE__ */ new Set();
|
|
130
|
+
const toolCalls = /* @__PURE__ */ new Set();
|
|
101
131
|
let cost;
|
|
132
|
+
let tokens;
|
|
133
|
+
let config = {};
|
|
102
134
|
let usageCleanup;
|
|
103
135
|
const emit = (next, message) => {
|
|
104
136
|
state = next;
|
|
@@ -107,8 +139,10 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
|
|
|
107
139
|
state: next,
|
|
108
140
|
timestamp: dependencies.now(),
|
|
109
141
|
...message ? { message } : {},
|
|
110
|
-
...
|
|
111
|
-
...
|
|
142
|
+
...cost === void 0 ? {} : { cost },
|
|
143
|
+
...tokens === void 0 ? {} : { tokens },
|
|
144
|
+
...toolCalls.size === 0 ? {} : { toolCount: toolCalls.size },
|
|
145
|
+
...config
|
|
112
146
|
};
|
|
113
147
|
lastEvent = event;
|
|
114
148
|
for (const listener of Array.from(listeners)) try {
|
|
@@ -119,7 +153,21 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
|
|
|
119
153
|
if (usageRows.has(usage.rowId) || !Number.isFinite(usage.cost)) return;
|
|
120
154
|
usageRows.add(usage.rowId);
|
|
121
155
|
cost = (cost ?? 0) + usage.cost;
|
|
122
|
-
|
|
156
|
+
if (usage.tokens !== void 0 && Number.isFinite(usage.tokens)) tokens = (tokens ?? 0) + usage.tokens;
|
|
157
|
+
if (!isTerminal(state)) emit("running");
|
|
158
|
+
};
|
|
159
|
+
const onConfig = (next) => {
|
|
160
|
+
config = {
|
|
161
|
+
...config,
|
|
162
|
+
...next.model ? { model: next.model } : {},
|
|
163
|
+
...next.thinking ? { thinking: next.thinking } : {}
|
|
164
|
+
};
|
|
165
|
+
if (!isTerminal(state)) emit("running");
|
|
166
|
+
};
|
|
167
|
+
const onToolStart = (toolCallId) => {
|
|
168
|
+
if (toolCalls.has(toolCallId)) return;
|
|
169
|
+
toolCalls.add(toolCallId);
|
|
170
|
+
if (!isTerminal(state)) emit("running");
|
|
123
171
|
};
|
|
124
172
|
const cleanup = () => {
|
|
125
173
|
cleanupPromise ??= (async () => {
|
|
@@ -149,7 +197,7 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
|
|
|
149
197
|
emit("failed", `Child session cleanup failed: ${detail}`);
|
|
150
198
|
}
|
|
151
199
|
disposed = true;
|
|
152
|
-
onTerminal();
|
|
200
|
+
onTerminal({ state });
|
|
153
201
|
listeners.clear();
|
|
154
202
|
if (cleanupFailure !== void 0) throw cleanupFailure;
|
|
155
203
|
})();
|
|
@@ -157,7 +205,6 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
|
|
|
157
205
|
};
|
|
158
206
|
const handle = {
|
|
159
207
|
runId: request.runId,
|
|
160
|
-
...sessionFile ? { sessionFile } : {},
|
|
161
208
|
state: () => state,
|
|
162
209
|
subscribe(listener) {
|
|
163
210
|
if (disposed || isTerminal(state)) {
|
|
@@ -201,6 +248,20 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
|
|
|
201
248
|
},
|
|
202
249
|
dispose: () => finish("stopped", "Child session disposed.")
|
|
203
250
|
};
|
|
251
|
+
const detach = () => {
|
|
252
|
+
finishPromise ??= (async () => {
|
|
253
|
+
disposed = true;
|
|
254
|
+
listeners.clear();
|
|
255
|
+
try {
|
|
256
|
+
await cleanup();
|
|
257
|
+
} catch (error) {
|
|
258
|
+
onCleanupFailure(error);
|
|
259
|
+
} finally {
|
|
260
|
+
onTerminal();
|
|
261
|
+
}
|
|
262
|
+
})();
|
|
263
|
+
return finishPromise.catch(() => void 0);
|
|
264
|
+
};
|
|
204
265
|
if (signal) {
|
|
205
266
|
const onAbort = () => {
|
|
206
267
|
handle.stop("Child session startup was cancelled.").catch(() => void 0);
|
|
@@ -208,12 +269,25 @@ async function createHandle(factory, dependencies, request, signal, onTerminal,
|
|
|
208
269
|
signal.addEventListener("abort", onAbort, { once: true });
|
|
209
270
|
abortCleanup = () => signal.removeEventListener("abort", onAbort);
|
|
210
271
|
}
|
|
211
|
-
|
|
272
|
+
const unsubscribe = [
|
|
273
|
+
runtime.onUsage?.(onUsage),
|
|
274
|
+
runtime.onConfig?.(onConfig),
|
|
275
|
+
runtime.onToolStart?.(onToolStart)
|
|
276
|
+
];
|
|
277
|
+
usageCleanup = () => {
|
|
278
|
+
for (const stop of unsubscribe) stop?.();
|
|
279
|
+
};
|
|
212
280
|
emit("running");
|
|
213
|
-
Promise.resolve().then(() => runtime.prompt(request.
|
|
214
|
-
|
|
281
|
+
Promise.resolve().then(() => runtime.prompt(request.sender ? {
|
|
282
|
+
text: request.task,
|
|
283
|
+
sender: request.sender
|
|
284
|
+
} : request.task)).then((message) => stopPromise ? void 0 : finish("completed", typeof message === "string" ? message : void 0).catch(() => void 0), (error) => stopPromise ? void 0 : finish(isAbortError(error) ? "stopped" : "failed", error instanceof Error ? error.message : String(error)).catch(() => void 0));
|
|
285
|
+
return {
|
|
286
|
+
handle,
|
|
287
|
+
detach
|
|
288
|
+
};
|
|
215
289
|
}
|
|
216
290
|
//#endregion
|
|
217
|
-
export {
|
|
291
|
+
export { createPoChildSessionService };
|
|
218
292
|
|
|
219
293
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../src/systems/child/services/childSession/index.ts"],"sourcesContent":["import type { TranscriptPage, TranscriptPageRequest } from '../../../../schemas/sessionProtocol';\nimport type {\n DoomChildSessionEvent,\n DoomChildSessionHandle,\n DoomChildSessionRequest,\n DoomChildSessionRuntimeFactory,\n DoomChildSessionService,\n DoomChildSessionState,\n DoomChildSessionUsage,\n} from '../../types/childSession';\n\nexport interface DoomChildSessionServiceDependencies {\n readonly now: () => number;\n}\n\n/**\n * Owns lifecycle for runtimes created by a direct host adapter.\n *\n * The factory is the host boundary: it must construct the direct harness, apply\n * history ownership, and return only after child extensions are composed.\n */\nexport function createDoomChildSessionService(\n factory: DoomChildSessionRuntimeFactory,\n dependencies: DoomChildSessionServiceDependencies,\n): DoomChildSessionService {\n const handles = new Map<string, DoomChildSessionHandle>();\n const transcriptReaders = new Map<\n string,\n (request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal) => Promise<TranscriptPage>\n >();\n const claimedRunIds = new Set<string>();\n const starting = new Set<Promise<DoomChildSessionHandle>>();\n const cleanupFailures: unknown[] = [];\n let closed = false;\n let closePromise: Promise<void> | undefined;\n\n const release = (runId: string): void => {\n handles.delete(runId);\n if (!transcriptReaders.has(runId)) claimedRunIds.delete(runId);\n };\n const recordCleanupFailure = (error: unknown): void => {\n cleanupFailures.push(error);\n };\n\n const service: DoomChildSessionService = {\n start(request, signal) {\n if (closed) return Promise.reject(new Error('The Doom child-session service is closed.'));\n if (claimedRunIds.has(request.runId))\n return Promise.reject(new Error(`Child run '${request.runId}' already exists.`));\n claimedRunIds.add(request.runId);\n\n const pending = (async (): Promise<DoomChildSessionHandle> => {\n try {\n signal?.throwIfAborted();\n const handle = await createHandle(\n async (ownedRequest, ownedSignal) => {\n const runtime = await factory(ownedRequest, ownedSignal);\n if (runtime.readTranscriptPage)\n transcriptReaders.set(request.runId, (pageRequest, pageSignal) =>\n runtime.readTranscriptPage!(pageRequest, pageSignal),\n );\n return runtime;\n },\n dependencies,\n request,\n signal,\n () => release(request.runId),\n recordCleanupFailure,\n );\n if (closed || signal?.aborted) {\n await handle.dispose();\n throw signal?.reason ?? new Error('Child session startup was cancelled.');\n }\n if (!isTerminal(handle.state())) handles.set(request.runId, handle);\n return handle;\n } catch (error) {\n transcriptReaders.delete(request.runId);\n release(request.runId);\n throw error;\n }\n })();\n starting.add(pending);\n void pending.then(\n () => starting.delete(pending),\n () => starting.delete(pending),\n );\n return pending;\n },\n get: (runId) => handles.get(runId),\n async readTranscriptPage(runId, request, signal) {\n if (closed) throw new Error('The Doom child-session service is closed.');\n signal?.throwIfAborted();\n const reader = transcriptReaders.get(runId);\n if (!reader) throw new Error(`Child run '${runId}' has no readable transcript.`);\n const page = await reader(request, signal);\n signal?.throwIfAborted();\n return page;\n },\n close() {\n closePromise ??= (async () => {\n if (closed) return;\n closed = true;\n await Promise.allSettled(starting);\n const active = [...handles.values()];\n await Promise.allSettled(active.map((handle) => handle.dispose()));\n const failures = [...cleanupFailures];\n handles.clear();\n transcriptReaders.clear();\n claimedRunIds.clear();\n if (failures.length) throw new AggregateError(failures, 'Doom child-session shutdown failed.');\n })();\n return closePromise;\n },\n };\n return service;\n}\n\nfunction isTerminal(state: DoomChildSessionState): boolean {\n return state === 'completed' || state === 'failed' || state === 'stopped';\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : typeof error === 'string' ? error : 'Unknown cleanup failure';\n}\n\nasync function createHandle(\n factory: DoomChildSessionRuntimeFactory,\n dependencies: DoomChildSessionServiceDependencies,\n request: DoomChildSessionRequest,\n signal: AbortSignal | undefined,\n onTerminal: () => void,\n onCleanupFailure: (error: unknown) => void,\n): Promise<DoomChildSessionHandle> {\n const runtime = await factory(request, signal);\n if (signal?.aborted) {\n await runtime.dispose();\n throw signal.reason ?? new Error('Child session startup was cancelled.');\n }\n\n let state: DoomChildSessionState = 'starting';\n let disposed = false;\n let lastEvent: DoomChildSessionEvent | undefined;\n let finishPromise: Promise<void> | undefined;\n let stopPromise: Promise<void> | undefined;\n let cleanupPromise: Promise<void> | undefined;\n let abortCleanup: (() => void) | undefined;\n const listeners = new Set<(event: DoomChildSessionEvent) => void>();\n const sessionFile = runtime.sessionFile;\n const usageRows = new Set<string>();\n let cost: number | undefined;\n let usageCleanup: (() => void) | undefined;\n\n const emit = (next: DoomChildSessionState, message?: string): void => {\n state = next;\n const event: DoomChildSessionEvent = {\n runId: request.runId,\n state: next,\n timestamp: dependencies.now(),\n ...(message ? { message } : {}),\n ...(sessionFile ? { sessionFile } : {}),\n ...(cost === undefined ? {} : { cost }),\n };\n lastEvent = event;\n for (const listener of Array.from(listeners)) {\n try {\n listener(event);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n };\n\n const onUsage = (usage: DoomChildSessionUsage): void => {\n if (usageRows.has(usage.rowId) || !Number.isFinite(usage.cost)) return;\n usageRows.add(usage.rowId);\n cost = (cost ?? 0) + usage.cost;\n emit('running');\n };\n\n const cleanup = (): Promise<void> => {\n cleanupPromise ??= (async () => {\n try {\n await runtime.dispose();\n } finally {\n usageCleanup?.();\n usageCleanup = undefined;\n abortCleanup?.();\n abortCleanup = undefined;\n }\n })();\n return cleanupPromise;\n };\n\n const finish = (\n next: Extract<DoomChildSessionState, 'completed' | 'failed' | 'stopped'>,\n message?: string,\n ): Promise<void> => {\n finishPromise ??= (async () => {\n let cleanupFailure: unknown;\n try {\n await cleanup();\n } catch (error) {\n cleanupFailure = error;\n onCleanupFailure(error);\n }\n if (cleanupFailure === undefined) {\n emit(next, message);\n } else {\n const detail = errorMessage(cleanupFailure);\n emit('failed', `Child session cleanup failed: ${detail}`);\n }\n disposed = true;\n onTerminal();\n listeners.clear();\n if (cleanupFailure !== undefined) throw cleanupFailure;\n })();\n return finishPromise;\n };\n\n const handle: DoomChildSessionHandle = {\n runId: request.runId,\n ...(sessionFile ? { sessionFile } : {}),\n state: () => state,\n subscribe(listener) {\n if (disposed || isTerminal(state)) {\n if (lastEvent) {\n try {\n listener(lastEvent);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n return () => false;\n }\n listeners.add(listener);\n if (lastEvent) {\n try {\n listener(lastEvent);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n return () => listeners.delete(listener);\n },\n async steer(message, steerSignal) {\n if (disposed || finishPromise) throw new Error(`Child run '${request.runId}' is no longer active.`);\n steerSignal?.throwIfAborted();\n await runtime.steer(message);\n steerSignal?.throwIfAborted();\n },\n stop(reason) {\n stopPromise ??= (async () => {\n if (finishPromise) return finishPromise;\n let abortFailure: unknown;\n try {\n await runtime.abort();\n } catch (error) {\n abortFailure = error;\n }\n let finishFailure: unknown;\n try {\n await finish('stopped', reason ?? 'Child session stopped.');\n } catch (error) {\n finishFailure = error;\n }\n if (abortFailure !== undefined && finishFailure !== undefined)\n throw new AggregateError([abortFailure, finishFailure], 'Stopping the child session failed.');\n if (abortFailure !== undefined) throw abortFailure;\n if (finishFailure !== undefined) throw finishFailure;\n })();\n return stopPromise;\n },\n dispose: () => finish('stopped', 'Child session disposed.'),\n };\n\n if (signal) {\n const onAbort = (): void => {\n void handle.stop('Child session startup was cancelled.').catch(() => undefined);\n };\n signal.addEventListener('abort', onAbort, { once: true });\n abortCleanup = () => signal.removeEventListener('abort', onAbort);\n }\n usageCleanup = runtime.onUsage?.(onUsage);\n emit('running');\n void Promise.resolve()\n .then(() => runtime.prompt(request.task))\n .then(\n (message) => finish('completed', typeof message === 'string' ? message : undefined).catch(() => undefined),\n (error: unknown) =>\n finish('failed', error instanceof Error ? error.message : String(error)).catch(() => undefined),\n );\n return handle;\n}\n\nexport type { DoomChildSessionRuntime } from '../../types/childSession';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../src/systems/child/services/childSession/index.ts"],"sourcesContent":["import type { TranscriptPage, TranscriptPageRequest } from '../../../../schemas/sessionProtocol';\nimport type {\n PoChildSessionEvent,\n PoChildSessionHandle,\n PoChildSessionRequest,\n PoChildSessionRuntimeFactory,\n PoChildSessionService,\n PoChildSessionState,\n PoChildSessionUsage,\n PoChildSessionConfig,\n PoStoredChildRun,\n} from '../../types/childSession';\n\n/** How a run ended, kept with its stored record once it is reported. */\nexport interface PoChildRunOutcome {\n readonly state: Extract<PoChildSessionState, 'completed' | 'failed' | 'stopped'>;\n}\n\nexport interface PoChildSessionServiceDependencies {\n readonly now: () => number;\n /** The host's stored runs, for re-attaching them after a restart. */\n readonly store?: {\n stored(): Promise<readonly PoStoredChildRun[]>;\n markReported(runId: string, outcome?: PoChildRunOutcome): Promise<void>;\n };\n}\n\n/** A handle and the shutdown path that leaves its run unfinished, so it resumes after a restart. */\ninterface OwnedChildHandle {\n readonly handle: PoChildSessionHandle;\n detach(): Promise<void>;\n}\n\n/**\n * Owns lifecycle for runtimes created by a direct host adapter.\n *\n * The factory is the host boundary: it must construct the direct harness, apply\n * history ownership, and return only after child extensions are composed.\n */\nexport function createPoChildSessionService(\n factory: PoChildSessionRuntimeFactory,\n dependencies: PoChildSessionServiceDependencies,\n): PoChildSessionService {\n const handles = new Map<string, OwnedChildHandle>();\n const outcomes = new Map<string, PoChildRunOutcome>();\n const transcriptReaders = new Map<\n string,\n (request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal) => Promise<TranscriptPage>\n >();\n const claimedRunIds = new Set<string>();\n const starting = new Set<Promise<PoChildSessionHandle>>();\n const cleanupFailures: unknown[] = [];\n let closed = false;\n let closePromise: Promise<void> | undefined;\n\n const release = (runId: string): void => {\n handles.delete(runId);\n if (!transcriptReaders.has(runId)) claimedRunIds.delete(runId);\n };\n const recordCleanupFailure = (error: unknown): void => {\n cleanupFailures.push(error);\n };\n const store = dependencies.store;\n\n const service: PoChildSessionService = {\n start(request, signal) {\n if (closed) return Promise.reject(new Error('The Po child-session service is closed.'));\n if (claimedRunIds.has(request.runId))\n return Promise.reject(new Error(`Child run '${request.runId}' already exists.`));\n claimedRunIds.add(request.runId);\n\n const pending = (async (): Promise<PoChildSessionHandle> => {\n try {\n signal?.throwIfAborted();\n const owned = await createHandle(\n async (ownedRequest, ownedSignal) => {\n const runtime = await factory(ownedRequest, ownedSignal);\n if (runtime.readTranscriptPage)\n transcriptReaders.set(request.runId, (pageRequest, pageSignal) =>\n runtime.readTranscriptPage!(pageRequest, pageSignal),\n );\n return runtime;\n },\n dependencies,\n request,\n signal,\n (outcome) => {\n if (outcome) outcomes.set(request.runId, outcome);\n release(request.runId);\n },\n recordCleanupFailure,\n );\n const handle = owned.handle;\n if (closed || signal?.aborted) {\n await handle.dispose();\n throw signal?.reason ?? new Error('Child session startup was cancelled.');\n }\n if (!isTerminal(handle.state())) handles.set(request.runId, owned);\n return handle;\n } catch (error) {\n transcriptReaders.delete(request.runId);\n release(request.runId);\n throw error;\n }\n })();\n starting.add(pending);\n void pending.then(\n () => starting.delete(pending),\n () => starting.delete(pending),\n );\n return pending;\n },\n get: (runId) => handles.get(runId)?.handle,\n async readTranscriptPage(runId, request, signal) {\n if (closed) throw new Error('The Po child-session service is closed.');\n signal?.throwIfAborted();\n const reader = transcriptReaders.get(runId);\n if (!reader) throw new Error(`Child run '${runId}' has no readable transcript.`);\n const page = await reader(request, signal);\n signal?.throwIfAborted();\n return page;\n },\n ...(store\n ? {\n stored: () => store.stored(),\n async restore(runId, live) {\n const active = handles.get(runId);\n if (active) return active.handle;\n const run = (await store.stored()).find((stored) => stored.request.runId === runId);\n if (!run) throw new Error(`No stored child run matches '${runId}'.`);\n // The host recognises a stored run ID and re-attaches its conversation instead of creating one.\n return service.start({\n ...run.request,\n source: { kind: 'fresh' },\n environment: {},\n ...(live?.intercom ? { intercom: live.intercom } : {}),\n });\n },\n async markReported(runId: string) {\n await store.markReported(runId, outcomes.get(runId));\n outcomes.delete(runId);\n },\n }\n : {}),\n close() {\n closePromise ??= (async () => {\n if (closed) return;\n closed = true;\n await Promise.allSettled(starting);\n // Shutdown is not an outcome: a running child detaches without reporting and resumes after a restart.\n const active = [...handles.values()];\n await Promise.allSettled(active.map((owned) => owned.detach()));\n const failures = [...cleanupFailures];\n handles.clear();\n transcriptReaders.clear();\n claimedRunIds.clear();\n outcomes.clear();\n if (failures.length) throw new AggregateError(failures, 'Po child-session shutdown failed.');\n })();\n return closePromise;\n },\n };\n return service;\n}\n\nfunction isTerminal(state: PoChildSessionState): boolean {\n return state === 'completed' || state === 'failed' || state === 'stopped';\n}\n\nfunction isAbortError(error: unknown): boolean {\n return error instanceof Error && error.name === 'AbortError';\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : typeof error === 'string' ? error : 'Unknown cleanup failure';\n}\n\nasync function createHandle(\n factory: PoChildSessionRuntimeFactory,\n dependencies: PoChildSessionServiceDependencies,\n request: PoChildSessionRequest,\n signal: AbortSignal | undefined,\n onTerminal: (outcome?: PoChildRunOutcome) => void,\n onCleanupFailure: (error: unknown) => void,\n): Promise<OwnedChildHandle> {\n const runtime = await factory(request, signal);\n if (signal?.aborted) {\n await runtime.dispose();\n throw signal.reason ?? new Error('Child session startup was cancelled.');\n }\n\n let state: PoChildSessionState = 'starting';\n let disposed = false;\n let lastEvent: PoChildSessionEvent | undefined;\n let finishPromise: Promise<void> | undefined;\n let stopPromise: Promise<void> | undefined;\n let cleanupPromise: Promise<void> | undefined;\n let abortCleanup: (() => void) | undefined;\n const listeners = new Set<(event: PoChildSessionEvent) => void>();\n const usageRows = new Set<string>();\n const toolCalls = new Set<string>();\n let cost: number | undefined;\n let tokens: number | undefined;\n let config: { model?: string; thinking?: string } = {};\n let usageCleanup: (() => void) | undefined;\n\n const emit = (next: PoChildSessionState, message?: string): void => {\n state = next;\n const event: PoChildSessionEvent = {\n runId: request.runId,\n state: next,\n timestamp: dependencies.now(),\n ...(message ? { message } : {}),\n ...(cost === undefined ? {} : { cost }),\n ...(tokens === undefined ? {} : { tokens }),\n ...(toolCalls.size === 0 ? {} : { toolCount: toolCalls.size }),\n ...config,\n };\n lastEvent = event;\n for (const listener of Array.from(listeners)) {\n try {\n listener(event);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n };\n\n const onUsage = (usage: PoChildSessionUsage): void => {\n if (usageRows.has(usage.rowId) || !Number.isFinite(usage.cost)) return;\n usageRows.add(usage.rowId);\n cost = (cost ?? 0) + usage.cost;\n if (usage.tokens !== undefined && Number.isFinite(usage.tokens)) tokens = (tokens ?? 0) + usage.tokens;\n if (!isTerminal(state)) emit('running');\n };\n const onConfig = (next: PoChildSessionConfig): void => {\n config = {\n ...config,\n ...(next.model ? { model: next.model } : {}),\n ...(next.thinking ? { thinking: next.thinking } : {}),\n };\n if (!isTerminal(state)) emit('running');\n };\n const onToolStart = (toolCallId: string): void => {\n if (toolCalls.has(toolCallId)) return;\n toolCalls.add(toolCallId);\n if (!isTerminal(state)) emit('running');\n };\n\n const cleanup = (): Promise<void> => {\n cleanupPromise ??= (async () => {\n try {\n await runtime.dispose();\n } finally {\n usageCleanup?.();\n usageCleanup = undefined;\n abortCleanup?.();\n abortCleanup = undefined;\n }\n })();\n return cleanupPromise;\n };\n\n const finish = (\n next: Extract<PoChildSessionState, 'completed' | 'failed' | 'stopped'>,\n message?: string,\n ): Promise<void> => {\n finishPromise ??= (async () => {\n let cleanupFailure: unknown;\n try {\n await cleanup();\n } catch (error) {\n cleanupFailure = error;\n onCleanupFailure(error);\n }\n if (cleanupFailure === undefined) {\n emit(next, message);\n } else {\n const detail = errorMessage(cleanupFailure);\n emit('failed', `Child session cleanup failed: ${detail}`);\n }\n disposed = true;\n onTerminal({ state: state as PoChildRunOutcome['state'] });\n listeners.clear();\n if (cleanupFailure !== undefined) throw cleanupFailure;\n })();\n return finishPromise;\n };\n\n const handle: PoChildSessionHandle = {\n runId: request.runId,\n state: () => state,\n subscribe(listener) {\n if (disposed || isTerminal(state)) {\n if (lastEvent) {\n try {\n listener(lastEvent);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n return () => false;\n }\n listeners.add(listener);\n if (lastEvent) {\n try {\n listener(lastEvent);\n } catch {\n // Observers must not fault child ownership.\n }\n }\n return () => listeners.delete(listener);\n },\n async steer(message, steerSignal) {\n if (disposed || finishPromise) throw new Error(`Child run '${request.runId}' is no longer active.`);\n steerSignal?.throwIfAborted();\n await runtime.steer(message);\n steerSignal?.throwIfAborted();\n },\n stop(reason) {\n stopPromise ??= (async () => {\n if (finishPromise) return finishPromise;\n let abortFailure: unknown;\n try {\n await runtime.abort();\n } catch (error) {\n abortFailure = error;\n }\n let finishFailure: unknown;\n try {\n await finish('stopped', reason ?? 'Child session stopped.');\n } catch (error) {\n finishFailure = error;\n }\n if (abortFailure !== undefined && finishFailure !== undefined)\n throw new AggregateError([abortFailure, finishFailure], 'Stopping the child session failed.');\n if (abortFailure !== undefined) throw abortFailure;\n if (finishFailure !== undefined) throw finishFailure;\n })();\n return stopPromise;\n },\n dispose: () => finish('stopped', 'Child session disposed.'),\n };\n // Releases the runtime without a terminal event; a later prompt settlement finds the run finished and stays silent.\n const detach = (): Promise<void> => {\n finishPromise ??= (async () => {\n disposed = true;\n listeners.clear();\n try {\n await cleanup();\n } catch (error) {\n onCleanupFailure(error);\n } finally {\n onTerminal();\n }\n })();\n return finishPromise.catch(() => undefined);\n };\n\n if (signal) {\n const onAbort = (): void => {\n void handle.stop('Child session startup was cancelled.').catch(() => undefined);\n };\n signal.addEventListener('abort', onAbort, { once: true });\n abortCleanup = () => signal.removeEventListener('abort', onAbort);\n }\n const unsubscribe = [runtime.onUsage?.(onUsage), runtime.onConfig?.(onConfig), runtime.onToolStart?.(onToolStart)];\n usageCleanup = () => {\n for (const stop of unsubscribe) stop?.();\n };\n emit('running');\n // A stop settles the prompt as aborted; the stop then reports the run as stopped, not as its prompt ended.\n void Promise.resolve()\n .then(() => runtime.prompt(request.sender ? { text: request.task, sender: request.sender } : request.task))\n .then(\n (message) =>\n stopPromise\n ? undefined\n : finish('completed', typeof message === 'string' ? message : undefined).catch(() => undefined),\n (error: unknown) =>\n stopPromise\n ? undefined\n : // A restored run whose input was aborted before the restart ends as stopped, not failed.\n finish(\n isAbortError(error) ? 'stopped' : 'failed',\n error instanceof Error ? error.message : String(error),\n ).catch(() => undefined),\n );\n return { handle, detach };\n}\n\nexport type { PoChildSessionRuntime } from '../../types/childSession';\n"],"mappings":"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"}
|
|
@@ -1,21 +1,41 @@
|
|
|
1
1
|
//#region src/systems/child/types/childSession.ts
|
|
2
|
-
const
|
|
3
|
-
|
|
2
|
+
const PO_CHILD_SESSION_HOOKS_SERVICE = "po/child-session-hooks";
|
|
3
|
+
/**
|
|
4
|
+
* Additional child hooks from any package. `po/child-session-hooks` admits one provider, so
|
|
5
|
+
* observers register here instead; they run after that provider and see its patched result.
|
|
6
|
+
*/
|
|
7
|
+
const PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE = "po/child-session-hook-registry";
|
|
8
|
+
/** Optional display names for in-process child runs, keyed by run id. Absent without a team layer. */
|
|
9
|
+
const PO_CHILD_SESSION_LABELS_SERVICE = "po/child-session-labels";
|
|
10
|
+
const PO_CHILD_SESSION_SERVICE = "po/child-session";
|
|
4
11
|
/** Optional session-owned MCP dispatcher. Children borrow it without owning its connections. */
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
12
|
+
const PO_CHILD_SESSION_MCP_TOOL_SERVICE = "po/child-session-mcp-tool";
|
|
13
|
+
/** Custom message type of an attributed child input; its details carry `{ sender }`. */
|
|
14
|
+
const PO_CHILD_INPUT_CUSTOM_TYPE = "po-input";
|
|
15
|
+
function readPoChildSessionHookRegistry(context) {
|
|
16
|
+
return context.get(PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE);
|
|
8
17
|
}
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
function readPoChildSessionLabels(context) {
|
|
19
|
+
return context.get(PO_CHILD_SESSION_LABELS_SERVICE);
|
|
20
|
+
}
|
|
21
|
+
function readPoChildSessionService(context) {
|
|
22
|
+
return context.get(PO_CHILD_SESSION_SERVICE);
|
|
23
|
+
}
|
|
24
|
+
function requirePoChildSessionService(context) {
|
|
25
|
+
const service = readPoChildSessionService(context);
|
|
26
|
+
if (!service) throw new Error("The Po child-session service is unavailable.");
|
|
12
27
|
return service;
|
|
13
28
|
}
|
|
14
29
|
//#endregion
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
30
|
+
exports.PO_CHILD_INPUT_CUSTOM_TYPE = PO_CHILD_INPUT_CUSTOM_TYPE;
|
|
31
|
+
exports.PO_CHILD_SESSION_HOOKS_SERVICE = PO_CHILD_SESSION_HOOKS_SERVICE;
|
|
32
|
+
exports.PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE = PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE;
|
|
33
|
+
exports.PO_CHILD_SESSION_LABELS_SERVICE = PO_CHILD_SESSION_LABELS_SERVICE;
|
|
34
|
+
exports.PO_CHILD_SESSION_MCP_TOOL_SERVICE = PO_CHILD_SESSION_MCP_TOOL_SERVICE;
|
|
35
|
+
exports.PO_CHILD_SESSION_SERVICE = PO_CHILD_SESSION_SERVICE;
|
|
36
|
+
exports.readPoChildSessionHookRegistry = readPoChildSessionHookRegistry;
|
|
37
|
+
exports.readPoChildSessionLabels = readPoChildSessionLabels;
|
|
38
|
+
exports.readPoChildSessionService = readPoChildSessionService;
|
|
39
|
+
exports.requirePoChildSessionService = requirePoChildSessionService;
|
|
20
40
|
|
|
21
41
|
//# sourceMappingURL=childSession.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childSession.cjs","names":[],"sources":["../../../../../src/systems/child/types/childSession.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { JsonValue } from '@earendil-works/chord';\n\nimport type { TranscriptPage, TranscriptPageRequest } from '../../../schemas/sessionProtocol';\nimport type { DirectHarnessRuntimeOptions } from '../../../types/server/directHarnessRuntime';\n\nexport const DOOM_CHILD_SESSION_HOOKS_SERVICE = 'doom/child-session-hooks';\n\nexport interface DoomChildSessionHookScope {\n readonly request: DoomChildSessionRequest;\n sessionId(): string | undefined;\n readonly signal: AbortSignal;\n sendMessage(text: string, delivery: 'steer' | 'followUp'): Promise<void>;\n appendCustomEntry(type: string, data: JsonValue): Promise<void>;\n}\n\nexport interface DoomChildSessionHookBinding {\n readonly beforeTool: NonNullable<DirectHarnessRuntimeOptions['beforeTool']>;\n readonly afterTool: NonNullable<DirectHarnessRuntimeOptions['afterTool']>;\n dispose(): Promise<void>;\n}\n\nexport interface DoomChildSessionHooks {\n bind(scope: DoomChildSessionHookScope): DoomChildSessionHookBinding;\n}\n\nexport const DOOM_CHILD_SESSION_SERVICE = 'doom/child-session';\n/** Optional session-owned MCP dispatcher. Children borrow it without owning its connections. */\nexport const DOOM_CHILD_SESSION_MCP_TOOL_SERVICE = 'doom/child-session-mcp-tool';\n\nexport type DoomChildSessionState = 'starting' | 'running' | 'completed' | 'failed' | 'stopped';\n\nexport interface DoomChildSessionFreshSource {\n readonly kind: 'fresh';\n}\n\n/** Continue one previously-owned native child journal. Providers must validate the v4 header before opening it. */\nexport interface DoomChildSessionV4RestoreSource {\n readonly kind: 'v4-restore';\n readonly sessionFile: string;\n}\n\n/** Fork one branch of a headless v4 journal into a separate child journal. */\nexport interface DoomChildSessionV4ForkSource {\n readonly kind: 'v4-fork';\n readonly sessionFile: string;\n readonly branch: string;\n readonly entryId?: string;\n}\n\n/**\n * Immutable terminal Pi branch captured by the thin Pi adapter.\n *\n * The serialized v3 snapshot is data, not a writable parent path. The child host\n * converts it into a separate v4 journal and never opens the active Pi history.\n */\nexport interface DoomChildSessionTerminalPiForkSource {\n readonly kind: 'terminal-pi-fork';\n readonly sourceSessionId: string;\n readonly sourceLeafId: string;\n readonly snapshotJsonl: string;\n}\n\nexport type DoomChildSessionSource =\n | DoomChildSessionFreshSource\n | DoomChildSessionV4RestoreSource\n | DoomChildSessionV4ForkSource\n | DoomChildSessionTerminalPiForkSource;\n\nexport interface DoomChildSessionScope {\n readonly rootSessionId: string;\n readonly scopeKey: string;\n}\n\n/** Capability data is intentionally host-neutral; the owning runtime validates its fields. */\nexport interface DoomChildSessionCapabilityCeiling {\n readonly allowedTools?: readonly string[];\n readonly requiredTools?: readonly string[];\n readonly allowMcpTools?: boolean;\n readonly allowedExternalProfiles?: readonly string[];\n readonly denyExtensions?: boolean;\n}\n\nexport interface DoomChildSessionRequest {\n readonly runId: string;\n readonly parentSessionId: string;\n readonly scope: DoomChildSessionScope;\n readonly source: DoomChildSessionSource;\n readonly agent: string;\n readonly task: string;\n readonly cwd: string;\n readonly model?: string;\n readonly thinking?: string;\n readonly systemPrompt?: string;\n readonly systemPromptMode?: 'append' | 'replace';\n readonly extensions?: readonly string[];\n readonly subagentOnlyExtensions?: readonly string[];\n readonly tools?: readonly string[];\n readonly excludeTools?: readonly string[];\n readonly skills?: readonly string[];\n readonly mcpDirectTools?: readonly string[];\n readonly capabilityCeiling?: DoomChildSessionCapabilityCeiling;\n readonly intercom?: DoomChildSessionIntercom;\n readonly environment: Readonly<Record<string, string | undefined>>;\n}\n\nexport interface DoomChildSessionUsage {\n readonly rowId: string;\n readonly cost: number;\n}\n\nexport interface DoomChildSessionEvent {\n readonly runId: string;\n readonly state: DoomChildSessionState;\n readonly timestamp: number;\n readonly message?: string;\n readonly sessionFile?: string;\n readonly cost?: number;\n}\n\nexport interface DoomChildSessionToolResult {\n readonly content: readonly (\n | { readonly type: 'text'; readonly text: string }\n | { readonly type: 'image'; readonly data: string; readonly mimeType: string }\n )[];\n readonly details?: unknown;\n readonly isError?: boolean;\n}\n\nexport interface DoomChildSessionTool {\n readonly name: string;\n readonly description: string;\n readonly parameters: unknown;\n execute(\n operationId: string,\n params: unknown,\n signal?: AbortSignal,\n onUpdate?: (result: DoomChildSessionToolResult) => void,\n ): Promise<DoomChildSessionToolResult>;\n}\n\n/** Borrowed active parent declarations. Children never own the catalog's connections. */\nexport interface DoomChildSessionMcpCatalog {\n snapshot(): readonly DoomChildSessionTool[];\n resolveSelectors(selectors: readonly string[]): readonly string[];\n subscribe(listener: () => void): () => void;\n}\n\n/** The private dispatcher remains available to compatibility consumers. */\nexport interface DoomChildSessionMcpTool extends DoomChildSessionTool {\n readonly catalog?: DoomChildSessionMcpCatalog;\n}\n\n/** Direct in-process Team intercom supplied by an owning extension. */\nexport interface DoomChildSessionIntercom {\n bindRuntime(runtime: DoomChildSessionRuntime): DoomChildSessionTool;\n dispose?(): void;\n /**\n * Called after each child turn settles. Resolves true when intercom activity may have started\n * another turn (the caller waits for idle and asks again), false when the run may finish.\n */\n hold?(): Promise<boolean>;\n}\n\n/** Host runtime owned by the direct headless or terminal adapter. */\nexport interface DoomChildSessionRuntime {\n readonly sessionId: string;\n readonly sessionFile?: string;\n prompt(task: string): Promise<string | void>;\n steer(message: string): Promise<void>;\n followUp?(message: string): Promise<void>;\n abort(): Promise<void>;\n onUsage?(listener: (usage: DoomChildSessionUsage) => void): () => void;\n /** Reads only this runtime's owned journal. The callback may remain valid after runtime disposal. */\n readTranscriptPage?(request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal): Promise<TranscriptPage>;\n dispose(): Promise<void>;\n}\n\nexport type DoomChildSessionRuntimeFactory = (\n request: DoomChildSessionRequest,\n signal?: AbortSignal,\n) => Promise<DoomChildSessionRuntime>;\n\nexport interface DoomChildSessionHandle {\n readonly runId: string;\n readonly sessionFile?: string;\n state(): DoomChildSessionState;\n subscribe(listener: (event: DoomChildSessionEvent) => void): () => void;\n steer(message: string, signal?: AbortSignal): Promise<void>;\n stop(reason?: string): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface DoomChildSessionService {\n start(request: DoomChildSessionRequest, signal?: AbortSignal): Promise<DoomChildSessionHandle>;\n get(runId: string): DoomChildSessionHandle | undefined;\n /** Resolves an owned run ID inside this session service. Callers never provide journal paths. */\n readTranscriptPage?(\n runId: string,\n request: Omit<TranscriptPageRequest, 'threadId'>,\n signal?: AbortSignal,\n ): Promise<TranscriptPage>;\n close(): Promise<void>;\n}\n\n/** Lazy provider lets Pi and headless composition bind the host-owned service later. */\nexport interface DoomChildSessionServiceProvider {\n get(): DoomChildSessionService | undefined;\n}\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'doom/child-session': DoomChildSessionService;\n 'doom/child-session-hooks': DoomChildSessionHooks;\n 'doom/child-session-mcp-tool': DoomChildSessionMcpTool;\n }\n}\n\nexport function readDoomChildSessionService(context: Context): DoomChildSessionService | undefined {\n return context.get(DOOM_CHILD_SESSION_SERVICE) as DoomChildSessionService | undefined;\n}\n\nexport function requireDoomChildSessionService(context: Context): DoomChildSessionService {\n const service = readDoomChildSessionService(context);\n if (!service) throw new Error('The Doom child-session service is unavailable.');\n return service;\n}\n"],"mappings":";AAMA,MAAa,mCAAmC;AAoBhD,MAAa,6BAA6B;;AAE1C,MAAa,sCAAsC;AA6LnD,SAAgB,4BAA4B,SAAuD;CACjG,OAAO,QAAQ,IAAI,0BAA0B;AAC/C;AAEA,SAAgB,+BAA+B,SAA2C;CACxF,MAAM,UAAU,4BAA4B,OAAO;CACnD,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,gDAAgD;CAC9E,OAAO;AACT"}
|
|
1
|
+
{"version":3,"file":"childSession.cjs","names":[],"sources":["../../../../../src/systems/child/types/childSession.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { JsonValue, ReplicatedState } from '@earendil-works/chord';\n\nimport type { SessionServiceState, TranscriptPage, TranscriptPageRequest } from '../../../schemas/sessionProtocol';\nimport type { DirectHarnessRuntimeOptions } from '../../../types/server/directHarnessRuntime';\n\n/** One child run's transcript for a thread view: live state while it runs, pages for the session's lifetime. */\nexport interface PoChildThread {\n readonly state?: ReplicatedState<SessionServiceState>;\n readTranscriptPage(request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal): Promise<TranscriptPage>;\n}\n\nexport const PO_CHILD_SESSION_HOOKS_SERVICE = 'po/child-session-hooks';\n\nexport interface PoChildSessionHookScope {\n readonly request: PoChildSessionRequest;\n sessionId(): string | undefined;\n readonly signal: AbortSignal;\n sendMessage(text: string, delivery: 'steer' | 'followUp'): Promise<void>;\n appendCustomEntry(type: string, data: JsonValue): Promise<void>;\n}\n\nexport interface PoChildSessionHookBinding {\n readonly beforeTool: NonNullable<DirectHarnessRuntimeOptions['beforeTool']>;\n readonly afterTool: NonNullable<DirectHarnessRuntimeOptions['afterTool']>;\n dispose(): Promise<void>;\n}\n\nexport interface PoChildSessionHooks {\n bind(scope: PoChildSessionHookScope): PoChildSessionHookBinding;\n}\n\n/**\n * Additional child hooks from any package. `po/child-session-hooks` admits one provider, so\n * observers register here instead; they run after that provider and see its patched result.\n */\nexport const PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE = 'po/child-session-hook-registry';\n\nexport interface PoChildSessionHookRegistry {\n register(hooks: PoChildSessionHooks): { dispose(): void };\n list(): readonly PoChildSessionHooks[];\n}\n\n/** Optional display names for in-process child runs, keyed by run id. Absent without a team layer. */\nexport const PO_CHILD_SESSION_LABELS_SERVICE = 'po/child-session-labels';\n\nexport interface PoChildSessionLabels {\n labelFor(runId: string): string | undefined;\n}\n\nexport const PO_CHILD_SESSION_SERVICE = 'po/child-session';\n/** Optional session-owned MCP dispatcher. Children borrow it without owning its connections. */\nexport const PO_CHILD_SESSION_MCP_TOOL_SERVICE = 'po/child-session-mcp-tool';\n\nexport type PoChildSessionState = 'starting' | 'running' | 'completed' | 'failed' | 'stopped';\n\nexport interface PoChildSessionFreshSource {\n readonly kind: 'fresh';\n}\n\n/** Start from the parent's own history through `entryId`, or through its newest entry when omitted. */\nexport interface PoChildSessionForkSource {\n readonly kind: 'fork';\n readonly entryId?: string;\n}\n\nexport type PoChildSessionSource = PoChildSessionFreshSource | PoChildSessionForkSource;\n\nexport interface PoChildSessionScope {\n readonly rootSessionId: string;\n readonly scopeKey: string;\n}\n\n/** Capability data is intentionally host-neutral; the owning runtime validates its fields. */\nexport interface PoChildSessionCapabilityCeiling {\n readonly allowedTools?: readonly string[];\n readonly requiredTools?: readonly string[];\n readonly allowMcpTools?: boolean;\n readonly allowedExternalProfiles?: readonly string[];\n readonly denyExtensions?: boolean;\n}\n\n/**\n * Who sent one input to a child. Stamped by the host that admitted it, never\n * read back from message text, so a transcript can say who spoke.\n */\nexport interface PoChildSessionSender {\n readonly kind: 'human' | 'agent' | 'system';\n readonly id?: string;\n readonly name: string;\n}\n\n/** A bare string is an input whose sender was not recorded. */\nexport type PoChildSessionInput = string | { readonly text: string; readonly sender: PoChildSessionSender };\n\n/** Custom message type of an attributed child input; its details carry `{ sender }`. */\nexport const PO_CHILD_INPUT_CUSTOM_TYPE = 'po-input';\nexport interface PoChildSessionRequest {\n readonly runId: string;\n readonly parentSessionId: string;\n readonly scope: PoChildSessionScope;\n readonly source: PoChildSessionSource;\n readonly agent: string;\n readonly task: string;\n /** Who gave the task. Absent when the launcher did not record it. */\n readonly sender?: PoChildSessionSender;\n readonly cwd: string;\n readonly model?: string;\n readonly thinking?: string;\n readonly systemPrompt?: string;\n readonly systemPromptMode?: 'append' | 'replace';\n readonly extensions?: readonly string[];\n readonly subagentOnlyExtensions?: readonly string[];\n readonly tools?: readonly string[];\n readonly excludeTools?: readonly string[];\n readonly skills?: readonly string[];\n readonly mcpDirectTools?: readonly string[];\n readonly capabilityCeiling?: PoChildSessionCapabilityCeiling;\n readonly intercom?: PoChildSessionIntercom;\n readonly environment: Readonly<Record<string, string | undefined>>;\n /** Data the launcher keeps beside the run, such as its own identity for it; returned by `stored()`. */\n readonly meta?: { readonly [key: string]: JsonValue };\n}\n\n/** A run this session stored and has not reported: its request without the live parts. */\nexport interface PoStoredChildRun {\n readonly request: Omit<PoChildSessionRequest, 'intercom' | 'environment' | 'source'>;\n /** Its task input already has its answer or ended, so restoring it finishes at once. */\n readonly settled: boolean;\n}\n\n/** A run whose completion reached its launcher, as stored; absent fields were not recorded. */\nexport interface PoReportedChildRun {\n readonly agent?: string;\n readonly task?: string;\n readonly state?: 'completed' | 'failed' | 'stopped';\n}\n\nexport interface PoChildSessionUsage {\n readonly rowId: string;\n readonly cost: number;\n readonly tokens?: number;\n}\n\n/** Model and thinking effort as the runtime holds them, never as requested. */\nexport interface PoChildSessionConfig {\n /** `provider/model`. */\n readonly model?: string;\n readonly thinking?: string;\n}\n\nexport interface PoChildSessionEvent {\n readonly runId: string;\n readonly state: PoChildSessionState;\n readonly timestamp: number;\n readonly message?: string;\n readonly cost?: number;\n /** Observed by the runtime; absent until it reports them. */\n readonly model?: string;\n readonly thinking?: string;\n readonly tokens?: number;\n readonly toolCount?: number;\n}\n\nexport interface PoChildSessionToolResult {\n readonly content: readonly (\n | { readonly type: 'text'; readonly text: string }\n | { readonly type: 'image'; readonly data: string; readonly mimeType: string }\n )[];\n readonly details?: unknown;\n readonly isError?: boolean;\n}\n\nexport interface PoChildSessionTool {\n readonly name: string;\n readonly description: string;\n readonly parameters: unknown;\n execute(\n operationId: string,\n params: unknown,\n signal?: AbortSignal,\n onUpdate?: (result: PoChildSessionToolResult) => void,\n ): Promise<PoChildSessionToolResult>;\n}\n\n/** Borrowed active parent declarations. Children never own the catalog's connections. */\nexport interface PoChildSessionMcpCatalog {\n snapshot(): readonly PoChildSessionTool[];\n resolveSelectors(selectors: readonly string[]): readonly string[];\n subscribe(listener: () => void): () => void;\n}\n\n/** The private dispatcher remains available to compatibility consumers. */\nexport interface PoChildSessionMcpTool extends PoChildSessionTool {\n readonly catalog?: PoChildSessionMcpCatalog;\n}\n\n/** Direct in-process Team intercom supplied by an owning extension. */\nexport interface PoChildSessionIntercom {\n bindRuntime(runtime: PoChildSessionRuntime): PoChildSessionTool;\n dispose?(): void;\n /**\n * Called after each child turn settles. Resolves true when intercom activity may have started\n * another turn (the caller waits for idle and asks again), false when the run may finish.\n */\n hold?(): Promise<boolean>;\n}\n\n/** Host runtime owned by the direct headless adapter. */\nexport interface PoChildSessionRuntime {\n readonly sessionId: string;\n prompt(task: PoChildSessionInput): Promise<string | void>;\n steer(message: PoChildSessionInput): Promise<void>;\n followUp?(message: PoChildSessionInput): Promise<void>;\n abort(): Promise<void>;\n onUsage?(listener: (usage: PoChildSessionUsage) => void): () => void;\n /** Reports the current configuration once, then each change. */\n onConfig?(listener: (config: PoChildSessionConfig) => void): () => void;\n /** One call per tool execution started. */\n onToolStart?(listener: (toolCallId: string) => void): () => void;\n /** Reads only this runtime's own conversation. The callback may remain valid after runtime disposal. */\n readTranscriptPage?(request: Omit<TranscriptPageRequest, 'threadId'>, signal?: AbortSignal): Promise<TranscriptPage>;\n dispose(): Promise<void>;\n}\n\nexport type PoChildSessionRuntimeFactory = (\n request: PoChildSessionRequest,\n signal?: AbortSignal,\n) => Promise<PoChildSessionRuntime>;\n\nexport interface PoChildSessionHandle {\n readonly runId: string;\n state(): PoChildSessionState;\n subscribe(listener: (event: PoChildSessionEvent) => void): () => void;\n steer(message: PoChildSessionInput, signal?: AbortSignal): Promise<void>;\n stop(reason?: string): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface PoChildSessionService {\n start(request: PoChildSessionRequest, signal?: AbortSignal): Promise<PoChildSessionHandle>;\n get(runId: string): PoChildSessionHandle | undefined;\n /** Resolves an owned run ID inside this session service. Callers never provide journal paths. */\n readTranscriptPage?(\n runId: string,\n request: Omit<TranscriptPageRequest, 'threadId'>,\n signal?: AbortSignal,\n ): Promise<TranscriptPage>;\n /** Runs this session started and has not reported; each child resumes with the session once restored. */\n stored?(): Promise<readonly PoStoredChildRun[]>;\n /** Re-attaches a stored run, giving it the launcher's live intercom. */\n restore?(runId: string, live?: { readonly intercom?: PoChildSessionIntercom }): Promise<PoChildSessionHandle>;\n /** Records that a run's completion reached its launcher, so a restart never reports it again. */\n markReported?(runId: string): Promise<void>;\n /** A reported run's stored outcome, so its status outlives memory and restarts; undefined when unreported. */\n reported?(runId: string): Promise<PoReportedChildRun | undefined>;\n close(): Promise<void>;\n}\n\n/** Lazy provider lets Pi and headless composition bind the host-owned service later. */\nexport interface PoChildSessionServiceProvider {\n get(): PoChildSessionService | undefined;\n}\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'po/child-session': PoChildSessionService;\n 'po/child-session-hooks': PoChildSessionHooks;\n 'po/child-session-hook-registry': PoChildSessionHookRegistry;\n 'po/child-session-labels': PoChildSessionLabels;\n 'po/child-session-mcp-tool': PoChildSessionMcpTool;\n }\n}\n\nexport function readPoChildSessionHookRegistry(context: Context): PoChildSessionHookRegistry | undefined {\n return context.get(PO_CHILD_SESSION_HOOK_REGISTRY_SERVICE) as PoChildSessionHookRegistry | undefined;\n}\n\nexport function readPoChildSessionLabels(context: Context): PoChildSessionLabels | undefined {\n return context.get(PO_CHILD_SESSION_LABELS_SERVICE) as PoChildSessionLabels | undefined;\n}\n\nexport function readPoChildSessionService(context: Context): PoChildSessionService | undefined {\n return context.get(PO_CHILD_SESSION_SERVICE) as PoChildSessionService | undefined;\n}\n\nexport function requirePoChildSessionService(context: Context): PoChildSessionService {\n const service = readPoChildSessionService(context);\n if (!service) throw new Error('The Po child-session service is unavailable.');\n return service;\n}\n"],"mappings":";AAYA,MAAa,iCAAiC;;;;;AAwB9C,MAAa,yCAAyC;;AAQtD,MAAa,kCAAkC;AAM/C,MAAa,2BAA2B;;AAExC,MAAa,oCAAoC;;AA4CjD,MAAa,6BAA6B;AAiL1C,SAAgB,+BAA+B,SAA0D;CACvG,OAAO,QAAQ,IAAI,sCAAsC;AAC3D;AAEA,SAAgB,yBAAyB,SAAoD;CAC3F,OAAO,QAAQ,IAAI,+BAA+B;AACpD;AAEA,SAAgB,0BAA0B,SAAqD;CAC7F,OAAO,QAAQ,IAAI,wBAAwB;AAC7C;AAEA,SAAgB,6BAA6B,SAAyC;CACpF,MAAM,UAAU,0BAA0B,OAAO;CACjD,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,8CAA8C;CAC5E,OAAO;AACT"}
|