@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
|
@@ -7,12 +7,12 @@ const require_index$1 = require("./src/services/toolOverrides/index.cjs");
|
|
|
7
7
|
const require_index$2 = require("./src/services/toolSurface/index.cjs");
|
|
8
8
|
let _deepseek_ai_cordis = require("@deepseek-ai/cordis");
|
|
9
9
|
//#region src/pi/cordisHost.ts
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const HOST_PROTOCOL = "
|
|
10
|
+
const PO_CORDIS_HOST_ABI_VERSION = 1;
|
|
11
|
+
const PO_CORDIS_HOST_QUERY_CHANNEL = "po:cordis:host:v1:query";
|
|
12
|
+
const PO_CORDIS_RUNTIME_SERVICE = "po/runtime";
|
|
13
|
+
const PO_CORDIS_SESSION_SERVICE = "po/session";
|
|
14
|
+
const PO_CORDIS_SERVER_SERVICES = "po/server-session-services";
|
|
15
|
+
const HOST_PROTOCOL = "po.cordis.host";
|
|
16
16
|
const DEFAULT_HOST_SOURCE = "@agimon-ai/po/cordis-host";
|
|
17
17
|
/**
|
|
18
18
|
* Admitted environments of sessions sharing this process, by session id.
|
|
@@ -21,14 +21,14 @@ const DEFAULT_HOST_SOURCE = "@agimon-ai/po/cordis-host";
|
|
|
21
21
|
* the server's, not any session's. Held on a global symbol because extension
|
|
22
22
|
* packages can load their own copy of this module.
|
|
23
23
|
*/
|
|
24
|
-
const SESSION_ENVIRONMENTS = globalThis[Symbol.for("
|
|
24
|
+
const SESSION_ENVIRONMENTS = globalThis[Symbol.for("po.cordis.session-environments.v1")] ??= /* @__PURE__ */ new Map();
|
|
25
25
|
/**
|
|
26
26
|
* Binds a session id to its admitted environment until the returned release runs.
|
|
27
27
|
*
|
|
28
28
|
* The newest registration wins: a reopened session can start before its previous host has
|
|
29
29
|
* finished closing, and that late release must not unbind the new one.
|
|
30
30
|
*/
|
|
31
|
-
function
|
|
31
|
+
function registerPoSessionEnvironment(sessionId, environment) {
|
|
32
32
|
const registration = { environment };
|
|
33
33
|
SESSION_ENVIRONMENTS.set(sessionId, registration);
|
|
34
34
|
return () => {
|
|
@@ -36,12 +36,12 @@ function registerDoomSessionEnvironment(sessionId, environment) {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
/** The session's admitted environment, or `process.env` for a session that owns its process. */
|
|
39
|
-
function
|
|
39
|
+
function readPoSessionEnvironment(sessionId) {
|
|
40
40
|
return (sessionId === void 0 ? void 0 : SESSION_ENVIRONMENTS.get(sessionId)?.environment) ?? process.env;
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
const session = context.get(
|
|
44
|
-
if (!session) throw new Error("
|
|
42
|
+
function requirePoCordisSession(context) {
|
|
43
|
+
const session = context.get(PO_CORDIS_SESSION_SERVICE);
|
|
44
|
+
if (!session) throw new Error("Po Cordis session service is unavailable.");
|
|
45
45
|
return session;
|
|
46
46
|
}
|
|
47
47
|
function isRecord(value) {
|
|
@@ -53,12 +53,12 @@ function asHostQuery(value) {
|
|
|
53
53
|
return value;
|
|
54
54
|
}
|
|
55
55
|
function asHostResponder(value) {
|
|
56
|
-
if (!isRecord(value)) throw new Error("The
|
|
57
|
-
if (value.protocol !== HOST_PROTOCOL) throw new Error("The
|
|
58
|
-
if (value.abiVersion !== 1) throw new Error(`The
|
|
59
|
-
if (typeof value.hostId !== "string" || value.hostId.length === 0) throw new Error("The
|
|
60
|
-
if (!_deepseek_ai_cordis.Context.is(value.root)) throw new Error("The
|
|
61
|
-
if (!isRecord(value.runtime) || value.runtime.abiVersion !== 1 || value.runtime.hostId !== value.hostId || typeof value.acquire !== "function" || typeof value.shutdown !== "function" || !isRecord(value.ready) || typeof value.ready.then !== "function") throw new Error("The
|
|
56
|
+
if (!isRecord(value)) throw new Error("The Po Cordis host returned an invalid discovery response.");
|
|
57
|
+
if (value.protocol !== HOST_PROTOCOL) throw new Error("The Po Cordis host returned an invalid protocol identifier.");
|
|
58
|
+
if (value.abiVersion !== 1) throw new Error(`The Po Cordis host ABI is incompatible: expected ${String(1)}, received ${String(value.abiVersion)}.`);
|
|
59
|
+
if (typeof value.hostId !== "string" || value.hostId.length === 0) throw new Error("The Po Cordis host returned an invalid host identifier.");
|
|
60
|
+
if (!_deepseek_ai_cordis.Context.is(value.root)) throw new Error("The Po Cordis host returned a value that is not a Cordis Context.");
|
|
61
|
+
if (!isRecord(value.runtime) || value.runtime.abiVersion !== 1 || value.runtime.hostId !== value.hostId || typeof value.acquire !== "function" || typeof value.shutdown !== "function" || !isRecord(value.ready) || typeof value.ready.then !== "function") throw new Error("The Po Cordis host returned incomplete runtime metadata.");
|
|
62
62
|
return value;
|
|
63
63
|
}
|
|
64
64
|
function discoverHosts(pi, source) {
|
|
@@ -73,22 +73,22 @@ function discoverHosts(pi, source) {
|
|
|
73
73
|
responses.push(asHostResponder(response));
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
|
-
pi.events.emit(
|
|
76
|
+
pi.events.emit(PO_CORDIS_HOST_QUERY_CHANNEL, request);
|
|
77
77
|
return responses;
|
|
78
78
|
}
|
|
79
79
|
function exactlyOneHost(responses, source) {
|
|
80
80
|
if (responses.length <= 1) return responses[0];
|
|
81
81
|
const hostIds = responses.map(({ hostId }) => hostId).join(", ");
|
|
82
|
-
throw new Error(`Multiple
|
|
82
|
+
throw new Error(`Multiple Po Cordis hosts answered ${source}: ${hostIds}.`);
|
|
83
83
|
}
|
|
84
84
|
function runtimeProvider(ctx, service) {
|
|
85
|
-
ctx.provide(
|
|
86
|
-
ctx.provide(require_toolOverrides.
|
|
85
|
+
ctx.provide(PO_CORDIS_RUNTIME_SERVICE, service);
|
|
86
|
+
ctx.provide(require_toolOverrides.PO_TOOL_OVERRIDES_SERVICE, require_index$1.createPoToolOverridesService(service.generation));
|
|
87
87
|
}
|
|
88
88
|
function sessionProvider(ctx, service, pi) {
|
|
89
|
-
ctx.provide(
|
|
90
|
-
ctx.provide(require_contextContributions.
|
|
91
|
-
ctx.provide(require_toolSurface.
|
|
89
|
+
ctx.provide(PO_CORDIS_SESSION_SERVICE, service);
|
|
90
|
+
ctx.provide(require_contextContributions.PO_CONTEXT_CONTRIBUTIONS_SERVICE, require_index.createPoContextContributionsService(service.generation));
|
|
91
|
+
ctx.provide(require_toolSurface.PO_TOOL_SURFACE_SERVICE, require_index$2.createPoToolSurface({
|
|
92
92
|
generation: service.generation,
|
|
93
93
|
allTools: () => pi.getAllTools().map((tool) => tool.name),
|
|
94
94
|
activeTools: () => pi.getActiveTools(),
|
|
@@ -102,15 +102,15 @@ function sessionProvider(ctx, service, pi) {
|
|
|
102
102
|
* loaded factories different ExtensionAPI wrapper objects, while their event
|
|
103
103
|
* buses still address the same runner.
|
|
104
104
|
*/
|
|
105
|
-
async function
|
|
105
|
+
async function installPoCordisHost(pi, options) {
|
|
106
106
|
const source = options.source ?? DEFAULT_HOST_SOURCE;
|
|
107
107
|
const existing = exactlyOneHost(discoverHosts(pi, source), source);
|
|
108
|
-
if (existing) throw new Error(`A
|
|
108
|
+
if (existing) throw new Error(`A Po Cordis host is already installed: ${existing.hostId}.`);
|
|
109
109
|
const root = new _deepseek_ai_cordis.Context();
|
|
110
110
|
const runtime = Object.freeze({
|
|
111
111
|
abiVersion: 1,
|
|
112
|
-
hostId: `
|
|
113
|
-
generation: `
|
|
112
|
+
hostId: `po-cordis:${crypto.randomUUID()}`,
|
|
113
|
+
generation: `po-runtime:${crypto.randomUUID()}`,
|
|
114
114
|
mode: options.mode
|
|
115
115
|
});
|
|
116
116
|
const ready = root.plugin(runtimeProvider, runtime).await().then(() => void 0);
|
|
@@ -144,7 +144,7 @@ async function installDoomCordisHost(pi, options) {
|
|
|
144
144
|
runtime,
|
|
145
145
|
ready,
|
|
146
146
|
acquire() {
|
|
147
|
-
if (shutdownPromise) throw new Error(`The
|
|
147
|
+
if (shutdownPromise) throw new Error(`The Po Cordis host is shutting down: ${runtime.hostId}.`);
|
|
148
148
|
leaseCount += 1;
|
|
149
149
|
let released = false;
|
|
150
150
|
return {
|
|
@@ -161,7 +161,7 @@ async function installDoomCordisHost(pi, options) {
|
|
|
161
161
|
shutdown: () => controller.shutdown()
|
|
162
162
|
};
|
|
163
163
|
try {
|
|
164
|
-
disposeQuerySubscription = pi.events.on(
|
|
164
|
+
disposeQuerySubscription = pi.events.on(PO_CORDIS_HOST_QUERY_CHANNEL, (value) => {
|
|
165
165
|
const query = asHostQuery(value);
|
|
166
166
|
if (query) query.accept(responder);
|
|
167
167
|
});
|
|
@@ -175,7 +175,7 @@ async function installDoomCordisHost(pi, options) {
|
|
|
175
175
|
generation: `${runtime.generation}:${String(sessionGeneration)}`,
|
|
176
176
|
reason: event.reason,
|
|
177
177
|
context,
|
|
178
|
-
environment:
|
|
178
|
+
environment: readPoSessionEnvironment(context.sessionManager.getSessionId())
|
|
179
179
|
});
|
|
180
180
|
sessionFiber = root.plugin((ctx, value) => {
|
|
181
181
|
sessionProvider(ctx, value, pi);
|
|
@@ -194,30 +194,30 @@ async function installDoomCordisHost(pi, options) {
|
|
|
194
194
|
}
|
|
195
195
|
return controller;
|
|
196
196
|
}
|
|
197
|
-
async function
|
|
197
|
+
async function connectPoCordisHost(pi, source, options) {
|
|
198
198
|
const responder = exactlyOneHost(discoverHosts(pi, source), source);
|
|
199
199
|
if (!responder) {
|
|
200
200
|
if (options?.optional) return void 0;
|
|
201
|
-
throw new Error("The composed
|
|
201
|
+
throw new Error("The composed Po Cordis host is unavailable. Ensure cordisHost is the first extension.");
|
|
202
202
|
}
|
|
203
203
|
await responder.ready;
|
|
204
204
|
return responder.acquire();
|
|
205
205
|
}
|
|
206
206
|
/** Ends the host discovered on this runner. Repeated finalization is a no-op. */
|
|
207
|
-
async function
|
|
207
|
+
async function finalizePoCordisHost(pi, source) {
|
|
208
208
|
await exactlyOneHost(discoverHosts(pi, source), source)?.shutdown();
|
|
209
209
|
}
|
|
210
210
|
//#endregion
|
|
211
|
-
exports.
|
|
212
|
-
exports.
|
|
213
|
-
exports.
|
|
214
|
-
exports.
|
|
215
|
-
exports.
|
|
216
|
-
exports.
|
|
217
|
-
exports.
|
|
218
|
-
exports.
|
|
219
|
-
exports.
|
|
220
|
-
exports.
|
|
221
|
-
exports.
|
|
211
|
+
exports.PO_CORDIS_HOST_ABI_VERSION = PO_CORDIS_HOST_ABI_VERSION;
|
|
212
|
+
exports.PO_CORDIS_HOST_QUERY_CHANNEL = PO_CORDIS_HOST_QUERY_CHANNEL;
|
|
213
|
+
exports.PO_CORDIS_RUNTIME_SERVICE = PO_CORDIS_RUNTIME_SERVICE;
|
|
214
|
+
exports.PO_CORDIS_SERVER_SERVICES = PO_CORDIS_SERVER_SERVICES;
|
|
215
|
+
exports.PO_CORDIS_SESSION_SERVICE = PO_CORDIS_SESSION_SERVICE;
|
|
216
|
+
exports.connectPoCordisHost = connectPoCordisHost;
|
|
217
|
+
exports.finalizePoCordisHost = finalizePoCordisHost;
|
|
218
|
+
exports.installPoCordisHost = installPoCordisHost;
|
|
219
|
+
exports.readPoSessionEnvironment = readPoSessionEnvironment;
|
|
220
|
+
exports.registerPoSessionEnvironment = registerPoSessionEnvironment;
|
|
221
|
+
exports.requirePoCordisSession = requirePoCordisSession;
|
|
222
222
|
|
|
223
223
|
//# sourceMappingURL=runtimeCordisHost.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeCordisHost.cjs","names":["Context","DOOM_TOOL_OVERRIDES_SERVICE","createDoomToolOverridesService","DOOM_CONTEXT_CONTRIBUTIONS_SERVICE","createDoomContextContributionsService","DOOM_TOOL_SURFACE_SERVICE","createDoomToolSurface"],"sources":["../src/pi/cordisHost.ts"],"sourcesContent":["import { Context, type Fiber } from '@deepseek-ai/cordis';\nimport type { ExtensionAPI, ExtensionContext, SessionStartEvent } from '@earendil-works/pi-coding-agent';\n\nimport { DOOM_CONTEXT_CONTRIBUTIONS_SERVICE } from '../schemas/contextContributions';\nimport { DOOM_TOOL_OVERRIDES_SERVICE } from '../schemas/toolOverrides';\nimport { DOOM_TOOL_SURFACE_SERVICE } from '../schemas/toolSurface';\nimport { createDoomContextContributionsService } from '../services/contextContributions';\nimport { createDoomToolOverridesService } from '../services/toolOverrides';\nimport { createDoomToolSurface } from '../services/toolSurface';\n\nexport const DOOM_CORDIS_HOST_ABI_VERSION = 1 as const;\nexport const DOOM_CORDIS_HOST_QUERY_CHANNEL = 'doom:cordis:host:v1:query';\nexport const DOOM_CORDIS_RUNTIME_SERVICE = 'doom/runtime';\nexport const DOOM_CORDIS_SESSION_SERVICE = 'doom/session';\nexport const DOOM_CORDIS_SERVER_SERVICES = 'doom/server-session-services';\n\n/** Read-only access to services already owned by this session's server facets. */\nexport interface DoomCordisServerServices {\n readonly sessionId: string;\n get<T>(name: string): T | undefined;\n}\nconst HOST_PROTOCOL = 'doom.cordis.host';\nconst DEFAULT_HOST_SOURCE = '@agimon-ai/po/cordis-host';\n\nexport type DoomCordisHostMode = 'composed' | 'standalone';\n\nexport interface DoomCordisRuntimeService {\n readonly abiVersion: typeof DOOM_CORDIS_HOST_ABI_VERSION;\n readonly hostId: string;\n readonly generation: string;\n readonly mode: DoomCordisHostMode;\n}\n\nexport interface DoomCordisSessionService {\n readonly sessionId: string;\n readonly generation: string;\n readonly reason: SessionStartEvent['reason'];\n readonly context: ExtensionContext;\n /** This session's admitted environment: its own in a server, the process's in a terminal. */\n readonly environment: Readonly<Record<string, string | undefined>>;\n}\n\ntype SessionEnvironment = Readonly<Record<string, string | undefined>>;\n\n/**\n * Admitted environments of sessions sharing this process, by session id.\n *\n * A server runs many sessions' Pi extensions in one process, so `process.env` is\n * the server's, not any session's. Held on a global symbol because extension\n * packages can load their own copy of this module.\n */\nconst SESSION_ENVIRONMENTS: Map<string, { readonly environment: SessionEnvironment }> = ((\n globalThis as Record<symbol, unknown>\n)[Symbol.for('doom.cordis.session-environments.v1')] ??= new Map()) as Map<\n string,\n { readonly environment: SessionEnvironment }\n>;\n\n/**\n * Binds a session id to its admitted environment until the returned release runs.\n *\n * The newest registration wins: a reopened session can start before its previous host has\n * finished closing, and that late release must not unbind the new one.\n */\nexport function registerDoomSessionEnvironment(sessionId: string, environment: SessionEnvironment): () => void {\n const registration = { environment };\n SESSION_ENVIRONMENTS.set(sessionId, registration);\n return () => {\n if (SESSION_ENVIRONMENTS.get(sessionId) === registration) SESSION_ENVIRONMENTS.delete(sessionId);\n };\n}\n\n/** The session's admitted environment, or `process.env` for a session that owns its process. */\nexport function readDoomSessionEnvironment(sessionId: string | undefined): SessionEnvironment {\n return (sessionId === undefined ? undefined : SESSION_ENVIRONMENTS.get(sessionId)?.environment) ?? process.env;\n}\n\nexport function requireDoomCordisSession(context: Context): DoomCordisSessionService {\n const session = context.get(DOOM_CORDIS_SESSION_SERVICE) as DoomCordisSessionService | undefined;\n if (!session) throw new Error('Doom Cordis session service is unavailable.');\n return session;\n}\n\nexport interface DoomCordisHostConnection {\n readonly root: Context;\n readonly runtime: DoomCordisRuntimeService;\n /** Releases this consumer's lease. It never disposes a composed host. */\n dispose(): Promise<void>;\n}\n\nexport interface DoomCordisHostController {\n readonly root: Context;\n readonly runtime: DoomCordisRuntimeService;\n /** Recursively disposes the session and application plugin tree. */\n shutdown(): Promise<void>;\n}\n\nexport interface InstallDoomCordisHostOptions {\n readonly mode: DoomCordisHostMode;\n readonly source?: string;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'doom/runtime': DoomCordisRuntimeService;\n 'doom/session': DoomCordisSessionService;\n }\n}\n\ninterface HostQuery {\n readonly protocol: typeof HOST_PROTOCOL;\n readonly abiVersion: typeof DOOM_CORDIS_HOST_ABI_VERSION;\n readonly kind: 'query';\n readonly requestId: string;\n readonly source: string;\n readonly accept: (response: unknown) => void;\n}\n\ninterface HostResponder {\n readonly protocol: typeof HOST_PROTOCOL;\n readonly abiVersion: typeof DOOM_CORDIS_HOST_ABI_VERSION;\n readonly hostId: string;\n readonly root: Context;\n readonly runtime: DoomCordisRuntimeService;\n readonly ready: Promise<void>;\n acquire(): DoomCordisHostConnection;\n shutdown(): Promise<void>;\n}\n\nfunction isRecord(value: unknown): value is Record<PropertyKey, unknown> {\n return typeof value === 'object' && value !== null;\n}\n\nfunction asHostQuery(value: unknown): HostQuery | undefined {\n if (!isRecord(value)) return undefined;\n if (\n value.protocol !== HOST_PROTOCOL ||\n value.abiVersion !== DOOM_CORDIS_HOST_ABI_VERSION ||\n value.kind !== 'query' ||\n typeof value.requestId !== 'string' ||\n value.requestId.length === 0 ||\n typeof value.source !== 'string' ||\n value.source.length === 0 ||\n typeof value.accept !== 'function'\n ) {\n return undefined;\n }\n return value as unknown as HostQuery;\n}\n\nfunction asHostResponder(value: unknown): HostResponder {\n if (!isRecord(value)) throw new Error('The Doom Cordis host returned an invalid discovery response.');\n if (value.protocol !== HOST_PROTOCOL) {\n throw new Error('The Doom Cordis host returned an invalid protocol identifier.');\n }\n if (value.abiVersion !== DOOM_CORDIS_HOST_ABI_VERSION) {\n throw new Error(\n `The Doom Cordis host ABI is incompatible: expected ${String(DOOM_CORDIS_HOST_ABI_VERSION)}, received ${String(value.abiVersion)}.`,\n );\n }\n if (typeof value.hostId !== 'string' || value.hostId.length === 0) {\n throw new Error('The Doom Cordis host returned an invalid host identifier.');\n }\n if (!Context.is(value.root)) {\n throw new Error('The Doom Cordis host returned a value that is not a Cordis Context.');\n }\n if (\n !isRecord(value.runtime) ||\n value.runtime.abiVersion !== DOOM_CORDIS_HOST_ABI_VERSION ||\n value.runtime.hostId !== value.hostId ||\n typeof value.acquire !== 'function' ||\n typeof value.shutdown !== 'function' ||\n !isRecord(value.ready) ||\n typeof value.ready.then !== 'function'\n ) {\n throw new Error('The Doom Cordis host returned incomplete runtime metadata.');\n }\n return value as unknown as HostResponder;\n}\n\nfunction discoverHosts(pi: Pick<ExtensionAPI, 'events'>, source: string): HostResponder[] {\n const responses: HostResponder[] = [];\n const request: HostQuery = {\n protocol: HOST_PROTOCOL,\n abiVersion: DOOM_CORDIS_HOST_ABI_VERSION,\n kind: 'query',\n requestId: `${source}:${crypto.randomUUID()}`,\n source,\n accept(response) {\n responses.push(asHostResponder(response));\n },\n };\n pi.events.emit(DOOM_CORDIS_HOST_QUERY_CHANNEL, request);\n return responses;\n}\n\nfunction exactlyOneHost(responses: readonly HostResponder[], source: string): HostResponder | undefined {\n if (responses.length <= 1) return responses[0];\n const hostIds = responses.map(({ hostId }) => hostId).join(', ');\n throw new Error(`Multiple Doom Cordis hosts answered ${source}: ${hostIds}.`);\n}\n\nfunction runtimeProvider(ctx: Context, service: DoomCordisRuntimeService): void {\n ctx.provide(DOOM_CORDIS_RUNTIME_SERVICE, service);\n ctx.provide(DOOM_TOOL_OVERRIDES_SERVICE, createDoomToolOverridesService(service.generation));\n}\n\nfunction sessionProvider(ctx: Context, service: DoomCordisSessionService, pi: ExtensionAPI): void {\n ctx.provide(DOOM_CORDIS_SESSION_SERVICE, service);\n ctx.provide(DOOM_CONTEXT_CONTRIBUTIONS_SERVICE, createDoomContextContributionsService(service.generation));\n ctx.provide(\n DOOM_TOOL_SURFACE_SERVICE,\n createDoomToolSurface({\n generation: service.generation,\n allTools: () => pi.getAllTools().map((tool) => tool.name),\n activeTools: () => pi.getActiveTools(),\n setActiveTools: (names) => pi.setActiveTools(names),\n }),\n );\n}\n\n/**\n * Installs the sole Cordis application root for one Pi extension runner.\n *\n * The versioned EventBus query is intentional: Pi may hand independently\n * loaded factories different ExtensionAPI wrapper objects, while their event\n * buses still address the same runner.\n */\nexport async function installDoomCordisHost(\n pi: ExtensionAPI,\n options: InstallDoomCordisHostOptions,\n): Promise<DoomCordisHostController> {\n const source = options.source ?? DEFAULT_HOST_SOURCE;\n const existing = exactlyOneHost(discoverHosts(pi, source), source);\n if (existing) throw new Error(`A Doom Cordis host is already installed: ${existing.hostId}.`);\n\n // This is the one intentional Context constructor for Po extension code.\n const root = new Context();\n const runtime: DoomCordisRuntimeService = Object.freeze({\n abiVersion: DOOM_CORDIS_HOST_ABI_VERSION,\n hostId: `doom-cordis:${crypto.randomUUID()}`,\n generation: `doom-runtime:${crypto.randomUUID()}`,\n mode: options.mode,\n });\n const runtimeFiber = root.plugin(runtimeProvider, runtime);\n const ready = runtimeFiber.await().then(() => undefined);\n let sessionFiber: Fiber | undefined;\n let sessionGeneration = 0;\n let sessionQueue = Promise.resolve();\n let leaseCount = 0;\n let shutdownPromise: Promise<void> | undefined;\n let responder: HostResponder;\n let disposeQuerySubscription = (): void => undefined;\n\n const controller: DoomCordisHostController = {\n root,\n runtime,\n shutdown() {\n shutdownPromise ??= (async () => {\n disposeQuerySubscription();\n await ready.catch(() => undefined);\n await sessionQueue.catch(() => undefined);\n await sessionFiber?.dispose();\n sessionFiber = undefined;\n await root.fiber.dispose();\n })();\n return shutdownPromise;\n },\n };\n\n responder = {\n protocol: HOST_PROTOCOL,\n abiVersion: DOOM_CORDIS_HOST_ABI_VERSION,\n hostId: runtime.hostId,\n root,\n runtime,\n ready,\n acquire() {\n if (shutdownPromise) throw new Error(`The Doom Cordis host is shutting down: ${runtime.hostId}.`);\n leaseCount += 1;\n let released = false;\n return {\n root,\n runtime,\n async dispose() {\n if (released) return;\n released = true;\n leaseCount -= 1;\n if (options.mode === 'standalone' && leaseCount === 0) await controller.shutdown();\n },\n };\n },\n shutdown: () => controller.shutdown(),\n };\n try {\n disposeQuerySubscription = pi.events.on(DOOM_CORDIS_HOST_QUERY_CHANNEL, (value) => {\n const query = asHostQuery(value);\n if (query) query.accept(responder);\n });\n pi.on('session_start', (event, context) => {\n sessionQueue = sessionQueue\n .catch(() => undefined)\n .then(async () => {\n // Pi owns its listener table and can retain this callback across a\n // replacement. A start delivered after finalization belongs to the\n // stale graph and must not revive or fail the next one.\n if (shutdownPromise) return;\n await sessionFiber?.dispose();\n sessionGeneration += 1;\n const service: DoomCordisSessionService = Object.freeze({\n sessionId: context.sessionManager.getSessionId(),\n generation: `${runtime.generation}:${String(sessionGeneration)}`,\n reason: event.reason,\n context,\n environment: readDoomSessionEnvironment(context.sessionManager.getSessionId()),\n });\n sessionFiber = root.plugin((ctx: Context, value: DoomCordisSessionService) => {\n sessionProvider(ctx, value, pi);\n }, service);\n await sessionFiber.await();\n });\n return sessionQueue;\n });\n if (options.mode === 'standalone') {\n pi.on('session_shutdown', () => {\n disposeQuerySubscription();\n });\n }\n await ready;\n } catch (error) {\n await controller.shutdown();\n throw error;\n }\n return controller;\n}\n\n/** Resolves the composed host installed by the canonical runtime. */\nexport function connectDoomCordisHost(\n pi: Pick<ExtensionAPI, 'events'>,\n source: string,\n): Promise<DoomCordisHostConnection>;\nexport function connectDoomCordisHost(\n pi: Pick<ExtensionAPI, 'events'>,\n source: string,\n options: { readonly optional: true },\n): Promise<DoomCordisHostConnection | undefined>;\nexport async function connectDoomCordisHost(\n pi: Pick<ExtensionAPI, 'events'>,\n source: string,\n options?: { readonly optional: true },\n): Promise<DoomCordisHostConnection | undefined> {\n const responder = exactlyOneHost(discoverHosts(pi, source), source);\n if (!responder) {\n // Vanilla Pi plugins do not install a Doom host. Optional discovery permits only\n // that absence, never an invalid or ambiguous responder.\n if (options?.optional) return undefined;\n throw new Error('The composed Doom Cordis host is unavailable. Ensure cordisHost is the first extension.');\n }\n await responder.ready;\n return responder.acquire();\n}\n\n/** Ends the host discovered on this runner. Repeated finalization is a no-op. */\nexport async function finalizeDoomCordisHost(pi: Pick<ExtensionAPI, 'events'>, source: string): Promise<void> {\n const responder = exactlyOneHost(discoverHosts(pi, source), source);\n await responder?.shutdown();\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtimeCordisHost.cjs","names":["Context","PO_TOOL_OVERRIDES_SERVICE","createPoToolOverridesService","PO_CONTEXT_CONTRIBUTIONS_SERVICE","createPoContextContributionsService","PO_TOOL_SURFACE_SERVICE","createPoToolSurface"],"sources":["../src/pi/cordisHost.ts"],"sourcesContent":["import { Context, type Fiber } from '@deepseek-ai/cordis';\nimport type { ExtensionAPI, ExtensionContext, SessionStartEvent } from '@earendil-works/pi-coding-agent';\n\nimport { PO_CONTEXT_CONTRIBUTIONS_SERVICE } from '../schemas/contextContributions';\nimport { PO_TOOL_OVERRIDES_SERVICE } from '../schemas/toolOverrides';\nimport { PO_TOOL_SURFACE_SERVICE } from '../schemas/toolSurface';\nimport { createPoContextContributionsService } from '../services/contextContributions';\nimport { createPoToolOverridesService } from '../services/toolOverrides';\nimport { createPoToolSurface } from '../services/toolSurface';\n\nexport const PO_CORDIS_HOST_ABI_VERSION = 1 as const;\nexport const PO_CORDIS_HOST_QUERY_CHANNEL = 'po:cordis:host:v1:query';\nexport const PO_CORDIS_RUNTIME_SERVICE = 'po/runtime';\nexport const PO_CORDIS_SESSION_SERVICE = 'po/session';\nexport const PO_CORDIS_SERVER_SERVICES = 'po/server-session-services';\n\n/** Read-only access to services already owned by this session's server packages. */\nexport interface PoCordisServerServices {\n readonly sessionId: string;\n get<T>(name: string): T | undefined;\n}\nconst HOST_PROTOCOL = 'po.cordis.host';\nconst DEFAULT_HOST_SOURCE = '@agimon-ai/po/cordis-host';\n\nexport type PoCordisHostMode = 'composed' | 'standalone';\n\nexport interface PoCordisRuntimeService {\n readonly abiVersion: typeof PO_CORDIS_HOST_ABI_VERSION;\n readonly hostId: string;\n readonly generation: string;\n readonly mode: PoCordisHostMode;\n}\n\nexport interface PoCordisSessionService {\n readonly sessionId: string;\n readonly generation: string;\n readonly reason: SessionStartEvent['reason'];\n readonly context: ExtensionContext;\n /** This session's admitted environment: its own in a server, the process's in a terminal. */\n readonly environment: Readonly<Record<string, string | undefined>>;\n}\n\ntype SessionEnvironment = Readonly<Record<string, string | undefined>>;\n\n/**\n * Admitted environments of sessions sharing this process, by session id.\n *\n * A server runs many sessions' Pi extensions in one process, so `process.env` is\n * the server's, not any session's. Held on a global symbol because extension\n * packages can load their own copy of this module.\n */\nconst SESSION_ENVIRONMENTS: Map<string, { readonly environment: SessionEnvironment }> = ((\n globalThis as Record<symbol, unknown>\n)[Symbol.for('po.cordis.session-environments.v1')] ??= new Map()) as Map<\n string,\n { readonly environment: SessionEnvironment }\n>;\n\n/**\n * Binds a session id to its admitted environment until the returned release runs.\n *\n * The newest registration wins: a reopened session can start before its previous host has\n * finished closing, and that late release must not unbind the new one.\n */\nexport function registerPoSessionEnvironment(sessionId: string, environment: SessionEnvironment): () => void {\n const registration = { environment };\n SESSION_ENVIRONMENTS.set(sessionId, registration);\n return () => {\n if (SESSION_ENVIRONMENTS.get(sessionId) === registration) SESSION_ENVIRONMENTS.delete(sessionId);\n };\n}\n\n/** The session's admitted environment, or `process.env` for a session that owns its process. */\nexport function readPoSessionEnvironment(sessionId: string | undefined): SessionEnvironment {\n return (sessionId === undefined ? undefined : SESSION_ENVIRONMENTS.get(sessionId)?.environment) ?? process.env;\n}\n\nexport function requirePoCordisSession(context: Context): PoCordisSessionService {\n const session = context.get(PO_CORDIS_SESSION_SERVICE) as PoCordisSessionService | undefined;\n if (!session) throw new Error('Po Cordis session service is unavailable.');\n return session;\n}\n\nexport interface PoCordisHostConnection {\n readonly root: Context;\n readonly runtime: PoCordisRuntimeService;\n /** Releases this consumer's lease. It never disposes a composed host. */\n dispose(): Promise<void>;\n}\n\nexport interface PoCordisHostController {\n readonly root: Context;\n readonly runtime: PoCordisRuntimeService;\n /** Recursively disposes the session and application plugin tree. */\n shutdown(): Promise<void>;\n}\n\nexport interface InstallPoCordisHostOptions {\n readonly mode: PoCordisHostMode;\n readonly source?: string;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'po/runtime': PoCordisRuntimeService;\n 'po/session': PoCordisSessionService;\n }\n}\n\ninterface HostQuery {\n readonly protocol: typeof HOST_PROTOCOL;\n readonly abiVersion: typeof PO_CORDIS_HOST_ABI_VERSION;\n readonly kind: 'query';\n readonly requestId: string;\n readonly source: string;\n readonly accept: (response: unknown) => void;\n}\n\ninterface HostResponder {\n readonly protocol: typeof HOST_PROTOCOL;\n readonly abiVersion: typeof PO_CORDIS_HOST_ABI_VERSION;\n readonly hostId: string;\n readonly root: Context;\n readonly runtime: PoCordisRuntimeService;\n readonly ready: Promise<void>;\n acquire(): PoCordisHostConnection;\n shutdown(): Promise<void>;\n}\n\nfunction isRecord(value: unknown): value is Record<PropertyKey, unknown> {\n return typeof value === 'object' && value !== null;\n}\n\nfunction asHostQuery(value: unknown): HostQuery | undefined {\n if (!isRecord(value)) return undefined;\n if (\n value.protocol !== HOST_PROTOCOL ||\n value.abiVersion !== PO_CORDIS_HOST_ABI_VERSION ||\n value.kind !== 'query' ||\n typeof value.requestId !== 'string' ||\n value.requestId.length === 0 ||\n typeof value.source !== 'string' ||\n value.source.length === 0 ||\n typeof value.accept !== 'function'\n ) {\n return undefined;\n }\n return value as unknown as HostQuery;\n}\n\nfunction asHostResponder(value: unknown): HostResponder {\n if (!isRecord(value)) throw new Error('The Po Cordis host returned an invalid discovery response.');\n if (value.protocol !== HOST_PROTOCOL) {\n throw new Error('The Po Cordis host returned an invalid protocol identifier.');\n }\n if (value.abiVersion !== PO_CORDIS_HOST_ABI_VERSION) {\n throw new Error(\n `The Po Cordis host ABI is incompatible: expected ${String(PO_CORDIS_HOST_ABI_VERSION)}, received ${String(value.abiVersion)}.`,\n );\n }\n if (typeof value.hostId !== 'string' || value.hostId.length === 0) {\n throw new Error('The Po Cordis host returned an invalid host identifier.');\n }\n if (!Context.is(value.root)) {\n throw new Error('The Po Cordis host returned a value that is not a Cordis Context.');\n }\n if (\n !isRecord(value.runtime) ||\n value.runtime.abiVersion !== PO_CORDIS_HOST_ABI_VERSION ||\n value.runtime.hostId !== value.hostId ||\n typeof value.acquire !== 'function' ||\n typeof value.shutdown !== 'function' ||\n !isRecord(value.ready) ||\n typeof value.ready.then !== 'function'\n ) {\n throw new Error('The Po Cordis host returned incomplete runtime metadata.');\n }\n return value as unknown as HostResponder;\n}\n\nfunction discoverHosts(pi: Pick<ExtensionAPI, 'events'>, source: string): HostResponder[] {\n const responses: HostResponder[] = [];\n const request: HostQuery = {\n protocol: HOST_PROTOCOL,\n abiVersion: PO_CORDIS_HOST_ABI_VERSION,\n kind: 'query',\n requestId: `${source}:${crypto.randomUUID()}`,\n source,\n accept(response) {\n responses.push(asHostResponder(response));\n },\n };\n pi.events.emit(PO_CORDIS_HOST_QUERY_CHANNEL, request);\n return responses;\n}\n\nfunction exactlyOneHost(responses: readonly HostResponder[], source: string): HostResponder | undefined {\n if (responses.length <= 1) return responses[0];\n const hostIds = responses.map(({ hostId }) => hostId).join(', ');\n throw new Error(`Multiple Po Cordis hosts answered ${source}: ${hostIds}.`);\n}\n\nfunction runtimeProvider(ctx: Context, service: PoCordisRuntimeService): void {\n ctx.provide(PO_CORDIS_RUNTIME_SERVICE, service);\n ctx.provide(PO_TOOL_OVERRIDES_SERVICE, createPoToolOverridesService(service.generation));\n}\n\nfunction sessionProvider(ctx: Context, service: PoCordisSessionService, pi: ExtensionAPI): void {\n ctx.provide(PO_CORDIS_SESSION_SERVICE, service);\n ctx.provide(PO_CONTEXT_CONTRIBUTIONS_SERVICE, createPoContextContributionsService(service.generation));\n ctx.provide(\n PO_TOOL_SURFACE_SERVICE,\n createPoToolSurface({\n generation: service.generation,\n allTools: () => pi.getAllTools().map((tool) => tool.name),\n activeTools: () => pi.getActiveTools(),\n setActiveTools: (names) => pi.setActiveTools(names),\n }),\n );\n}\n\n/**\n * Installs the sole Cordis application root for one Pi extension runner.\n *\n * The versioned EventBus query is intentional: Pi may hand independently\n * loaded factories different ExtensionAPI wrapper objects, while their event\n * buses still address the same runner.\n */\nexport async function installPoCordisHost(\n pi: ExtensionAPI,\n options: InstallPoCordisHostOptions,\n): Promise<PoCordisHostController> {\n const source = options.source ?? DEFAULT_HOST_SOURCE;\n const existing = exactlyOneHost(discoverHosts(pi, source), source);\n if (existing) throw new Error(`A Po Cordis host is already installed: ${existing.hostId}.`);\n\n // This is the one intentional Context constructor for Po extension code.\n const root = new Context();\n const runtime: PoCordisRuntimeService = Object.freeze({\n abiVersion: PO_CORDIS_HOST_ABI_VERSION,\n hostId: `po-cordis:${crypto.randomUUID()}`,\n generation: `po-runtime:${crypto.randomUUID()}`,\n mode: options.mode,\n });\n const runtimeFiber = root.plugin(runtimeProvider, runtime);\n const ready = runtimeFiber.await().then(() => undefined);\n let sessionFiber: Fiber | undefined;\n let sessionGeneration = 0;\n let sessionQueue = Promise.resolve();\n let leaseCount = 0;\n let shutdownPromise: Promise<void> | undefined;\n let responder: HostResponder;\n let disposeQuerySubscription = (): void => undefined;\n\n const controller: PoCordisHostController = {\n root,\n runtime,\n shutdown() {\n shutdownPromise ??= (async () => {\n disposeQuerySubscription();\n await ready.catch(() => undefined);\n await sessionQueue.catch(() => undefined);\n await sessionFiber?.dispose();\n sessionFiber = undefined;\n await root.fiber.dispose();\n })();\n return shutdownPromise;\n },\n };\n\n responder = {\n protocol: HOST_PROTOCOL,\n abiVersion: PO_CORDIS_HOST_ABI_VERSION,\n hostId: runtime.hostId,\n root,\n runtime,\n ready,\n acquire() {\n if (shutdownPromise) throw new Error(`The Po Cordis host is shutting down: ${runtime.hostId}.`);\n leaseCount += 1;\n let released = false;\n return {\n root,\n runtime,\n async dispose() {\n if (released) return;\n released = true;\n leaseCount -= 1;\n if (options.mode === 'standalone' && leaseCount === 0) await controller.shutdown();\n },\n };\n },\n shutdown: () => controller.shutdown(),\n };\n try {\n disposeQuerySubscription = pi.events.on(PO_CORDIS_HOST_QUERY_CHANNEL, (value) => {\n const query = asHostQuery(value);\n if (query) query.accept(responder);\n });\n pi.on('session_start', (event, context) => {\n sessionQueue = sessionQueue\n .catch(() => undefined)\n .then(async () => {\n // Pi owns its listener table and can retain this callback across a\n // replacement. A start delivered after finalization belongs to the\n // stale graph and must not revive or fail the next one.\n if (shutdownPromise) return;\n await sessionFiber?.dispose();\n sessionGeneration += 1;\n const service: PoCordisSessionService = Object.freeze({\n sessionId: context.sessionManager.getSessionId(),\n generation: `${runtime.generation}:${String(sessionGeneration)}`,\n reason: event.reason,\n context,\n environment: readPoSessionEnvironment(context.sessionManager.getSessionId()),\n });\n sessionFiber = root.plugin((ctx: Context, value: PoCordisSessionService) => {\n sessionProvider(ctx, value, pi);\n }, service);\n await sessionFiber.await();\n });\n return sessionQueue;\n });\n if (options.mode === 'standalone') {\n pi.on('session_shutdown', () => {\n disposeQuerySubscription();\n });\n }\n await ready;\n } catch (error) {\n await controller.shutdown();\n throw error;\n }\n return controller;\n}\n\n/** Resolves the composed host installed by the canonical runtime. */\nexport function connectPoCordisHost(pi: Pick<ExtensionAPI, 'events'>, source: string): Promise<PoCordisHostConnection>;\nexport function connectPoCordisHost(\n pi: Pick<ExtensionAPI, 'events'>,\n source: string,\n options: { readonly optional: true },\n): Promise<PoCordisHostConnection | undefined>;\nexport async function connectPoCordisHost(\n pi: Pick<ExtensionAPI, 'events'>,\n source: string,\n options?: { readonly optional: true },\n): Promise<PoCordisHostConnection | undefined> {\n const responder = exactlyOneHost(discoverHosts(pi, source), source);\n if (!responder) {\n // Vanilla Pi plugins do not install a Po host. Optional discovery permits only\n // that absence, never an invalid or ambiguous responder.\n if (options?.optional) return undefined;\n throw new Error('The composed Po Cordis host is unavailable. Ensure cordisHost is the first extension.');\n }\n await responder.ready;\n return responder.acquire();\n}\n\n/** Ends the host discovered on this runner. Repeated finalization is a no-op. */\nexport async function finalizePoCordisHost(pi: Pick<ExtensionAPI, 'events'>, source: string): Promise<void> {\n const responder = exactlyOneHost(discoverHosts(pi, source), source);\n await responder?.shutdown();\n}\n"],"mappings":"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"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { ExtensionAPI, ExtensionContext, SessionStartEvent } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
import { Context } from "@deepseek-ai/cordis";
|
|
3
3
|
//#region src/pi/cordisHost.d.ts
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
/** Read-only access to services already owned by this session's server
|
|
10
|
-
export interface
|
|
4
|
+
export declare const PO_CORDIS_HOST_ABI_VERSION: 1;
|
|
5
|
+
export declare const PO_CORDIS_HOST_QUERY_CHANNEL = "po:cordis:host:v1:query";
|
|
6
|
+
export declare const PO_CORDIS_RUNTIME_SERVICE = "po/runtime";
|
|
7
|
+
export declare const PO_CORDIS_SESSION_SERVICE = "po/session";
|
|
8
|
+
export declare const PO_CORDIS_SERVER_SERVICES = "po/server-session-services";
|
|
9
|
+
/** Read-only access to services already owned by this session's server packages. */
|
|
10
|
+
export interface PoCordisServerServices {
|
|
11
11
|
readonly sessionId: string;
|
|
12
12
|
get<T>(name: string): T | undefined;
|
|
13
13
|
}
|
|
14
|
-
export type
|
|
15
|
-
export interface
|
|
16
|
-
readonly abiVersion: typeof
|
|
14
|
+
export type PoCordisHostMode = 'composed' | 'standalone';
|
|
15
|
+
export interface PoCordisRuntimeService {
|
|
16
|
+
readonly abiVersion: typeof PO_CORDIS_HOST_ABI_VERSION;
|
|
17
17
|
readonly hostId: string;
|
|
18
18
|
readonly generation: string;
|
|
19
|
-
readonly mode:
|
|
19
|
+
readonly mode: PoCordisHostMode;
|
|
20
20
|
}
|
|
21
|
-
export interface
|
|
21
|
+
export interface PoCordisSessionService {
|
|
22
22
|
readonly sessionId: string;
|
|
23
23
|
readonly generation: string;
|
|
24
24
|
readonly reason: SessionStartEvent['reason'];
|
|
@@ -33,30 +33,30 @@ type SessionEnvironment = Readonly<Record<string, string | undefined>>;
|
|
|
33
33
|
* The newest registration wins: a reopened session can start before its previous host has
|
|
34
34
|
* finished closing, and that late release must not unbind the new one.
|
|
35
35
|
*/
|
|
36
|
-
export declare function
|
|
36
|
+
export declare function registerPoSessionEnvironment(sessionId: string, environment: SessionEnvironment): () => void;
|
|
37
37
|
/** The session's admitted environment, or `process.env` for a session that owns its process. */
|
|
38
|
-
export declare function
|
|
39
|
-
export declare function
|
|
40
|
-
export interface
|
|
38
|
+
export declare function readPoSessionEnvironment(sessionId: string | undefined): SessionEnvironment;
|
|
39
|
+
export declare function requirePoCordisSession(context: Context): PoCordisSessionService;
|
|
40
|
+
export interface PoCordisHostConnection {
|
|
41
41
|
readonly root: Context;
|
|
42
|
-
readonly runtime:
|
|
42
|
+
readonly runtime: PoCordisRuntimeService;
|
|
43
43
|
/** Releases this consumer's lease. It never disposes a composed host. */
|
|
44
44
|
dispose(): Promise<void>;
|
|
45
45
|
}
|
|
46
|
-
export interface
|
|
46
|
+
export interface PoCordisHostController {
|
|
47
47
|
readonly root: Context;
|
|
48
|
-
readonly runtime:
|
|
48
|
+
readonly runtime: PoCordisRuntimeService;
|
|
49
49
|
/** Recursively disposes the session and application plugin tree. */
|
|
50
50
|
shutdown(): Promise<void>;
|
|
51
51
|
}
|
|
52
|
-
export interface
|
|
53
|
-
readonly mode:
|
|
52
|
+
export interface InstallPoCordisHostOptions {
|
|
53
|
+
readonly mode: PoCordisHostMode;
|
|
54
54
|
readonly source?: string;
|
|
55
55
|
}
|
|
56
56
|
declare module '@deepseek-ai/cordis' {
|
|
57
57
|
interface Context {
|
|
58
|
-
'
|
|
59
|
-
'
|
|
58
|
+
'po/runtime': PoCordisRuntimeService;
|
|
59
|
+
'po/session': PoCordisSessionService;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
@@ -66,13 +66,14 @@ declare module '@deepseek-ai/cordis' {
|
|
|
66
66
|
* loaded factories different ExtensionAPI wrapper objects, while their event
|
|
67
67
|
* buses still address the same runner.
|
|
68
68
|
*/
|
|
69
|
-
export declare function
|
|
69
|
+
export declare function installPoCordisHost(pi: ExtensionAPI, options: InstallPoCordisHostOptions): Promise<PoCordisHostController>;
|
|
70
70
|
/** Resolves the composed host installed by the canonical runtime. */
|
|
71
|
-
export declare function
|
|
72
|
-
export declare function
|
|
71
|
+
export declare function connectPoCordisHost(pi: Pick<ExtensionAPI, 'events'>, source: string): Promise<PoCordisHostConnection>;
|
|
72
|
+
export declare function connectPoCordisHost(pi: Pick<ExtensionAPI, 'events'>, source: string, options: {
|
|
73
73
|
readonly optional: true;
|
|
74
|
-
}): Promise<
|
|
74
|
+
}): Promise<PoCordisHostConnection | undefined>;
|
|
75
75
|
/** Ends the host discovered on this runner. Repeated finalization is a no-op. */
|
|
76
|
-
export declare function
|
|
76
|
+
export declare function finalizePoCordisHost(pi: Pick<ExtensionAPI, 'events'>, source: string): Promise<void>;
|
|
77
77
|
//#endregion
|
|
78
|
+
export {};
|
|
78
79
|
//# sourceMappingURL=runtimeCordisHost.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeCordisHost.d.mts","names":[],"sources":["../src/pi/cordisHost.ts"],"mappings":";;;qBAUa;qBACA;qBACA;qBACA;qBACA;;iBAGI;WACN;EACT,IAAI,GAAG,eAAe;;YAKZ;iBAEK;WACN,mBAAmB;WACnB;WACA;WACA,MAAM;;iBAGA;WACN;WACA;WACA,QAAQ;WACR,SAAS;;WAET,aAAa,SAAS;;KAG5B,qBAAqB,SAAS;;;;;;;wBAsBnB
|
|
1
|
+
{"version":3,"file":"runtimeCordisHost.d.mts","names":[],"sources":["../src/pi/cordisHost.ts"],"mappings":";;;qBAUa;qBACA;qBACA;qBACA;qBACA;;iBAGI;WACN;EACT,IAAI,GAAG,eAAe;;YAKZ;iBAEK;WACN,mBAAmB;WACnB;WACA;WACA,MAAM;;iBAGA;WACN;WACA;WACA,QAAQ;WACR,SAAS;;WAET,aAAa,SAAS;;KAG5B,qBAAqB,SAAS;;;;;;;wBAsBnB,6BAA6B,mBAAmB,aAAa;;wBAS7D,yBAAyB,gCAAgC;wBAIzD,uBAAuB,SAAS,UAAU;iBAMzC;WACN,MAAM;WACN,SAAS;;EAElB,WAAW;;iBAGI;WACN,MAAM;WACN,SAAS;;EAElB,YAAY;;iBAGG;WACN,MAAM;WACN;;;YAIC;IACR,cAAc;IACd,cAAc;;;;;;;;;;wBA2HI,oBACpB,IAAI,cACJ,SAAS,6BACR,QAAQ;;wBA0GK,oBAAoB,IAAI,KAAK,yBAAyB,iBAAiB,QAAQ;wBAC/E,oBACd,IAAI,KAAK,yBACT,gBACA;WAAoB;IACnB,QAAQ;;wBAkBW,qBAAqB,IAAI,KAAK,yBAAyB,iBAAiB"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { PO_CONTEXT_CONTRIBUTIONS_SERVICE } from "./src/schemas/contextContributions.mjs";
|
|
2
|
+
import { createPoContextContributionsService } from "./src/services/contextContributions/index.mjs";
|
|
3
|
+
import { PO_TOOL_OVERRIDES_SERVICE } from "./src/schemas/toolOverrides.mjs";
|
|
4
|
+
import { PO_TOOL_SURFACE_SERVICE } from "./src/schemas/toolSurface.mjs";
|
|
5
|
+
import { createPoToolOverridesService } from "./src/services/toolOverrides/index.mjs";
|
|
6
|
+
import { createPoToolSurface } from "./src/services/toolSurface/index.mjs";
|
|
7
7
|
import { Context } from "@deepseek-ai/cordis";
|
|
8
8
|
//#region src/pi/cordisHost.ts
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const HOST_PROTOCOL = "
|
|
9
|
+
const PO_CORDIS_HOST_ABI_VERSION = 1;
|
|
10
|
+
const PO_CORDIS_HOST_QUERY_CHANNEL = "po:cordis:host:v1:query";
|
|
11
|
+
const PO_CORDIS_RUNTIME_SERVICE = "po/runtime";
|
|
12
|
+
const PO_CORDIS_SESSION_SERVICE = "po/session";
|
|
13
|
+
const PO_CORDIS_SERVER_SERVICES = "po/server-session-services";
|
|
14
|
+
const HOST_PROTOCOL = "po.cordis.host";
|
|
15
15
|
const DEFAULT_HOST_SOURCE = "@agimon-ai/po/cordis-host";
|
|
16
16
|
/**
|
|
17
17
|
* Admitted environments of sessions sharing this process, by session id.
|
|
@@ -20,14 +20,14 @@ const DEFAULT_HOST_SOURCE = "@agimon-ai/po/cordis-host";
|
|
|
20
20
|
* the server's, not any session's. Held on a global symbol because extension
|
|
21
21
|
* packages can load their own copy of this module.
|
|
22
22
|
*/
|
|
23
|
-
const SESSION_ENVIRONMENTS = globalThis[Symbol.for("
|
|
23
|
+
const SESSION_ENVIRONMENTS = globalThis[Symbol.for("po.cordis.session-environments.v1")] ??= /* @__PURE__ */ new Map();
|
|
24
24
|
/**
|
|
25
25
|
* Binds a session id to its admitted environment until the returned release runs.
|
|
26
26
|
*
|
|
27
27
|
* The newest registration wins: a reopened session can start before its previous host has
|
|
28
28
|
* finished closing, and that late release must not unbind the new one.
|
|
29
29
|
*/
|
|
30
|
-
function
|
|
30
|
+
function registerPoSessionEnvironment(sessionId, environment) {
|
|
31
31
|
const registration = { environment };
|
|
32
32
|
SESSION_ENVIRONMENTS.set(sessionId, registration);
|
|
33
33
|
return () => {
|
|
@@ -35,12 +35,12 @@ function registerDoomSessionEnvironment(sessionId, environment) {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
/** The session's admitted environment, or `process.env` for a session that owns its process. */
|
|
38
|
-
function
|
|
38
|
+
function readPoSessionEnvironment(sessionId) {
|
|
39
39
|
return (sessionId === void 0 ? void 0 : SESSION_ENVIRONMENTS.get(sessionId)?.environment) ?? process.env;
|
|
40
40
|
}
|
|
41
|
-
function
|
|
42
|
-
const session = context.get(
|
|
43
|
-
if (!session) throw new Error("
|
|
41
|
+
function requirePoCordisSession(context) {
|
|
42
|
+
const session = context.get(PO_CORDIS_SESSION_SERVICE);
|
|
43
|
+
if (!session) throw new Error("Po Cordis session service is unavailable.");
|
|
44
44
|
return session;
|
|
45
45
|
}
|
|
46
46
|
function isRecord(value) {
|
|
@@ -52,12 +52,12 @@ function asHostQuery(value) {
|
|
|
52
52
|
return value;
|
|
53
53
|
}
|
|
54
54
|
function asHostResponder(value) {
|
|
55
|
-
if (!isRecord(value)) throw new Error("The
|
|
56
|
-
if (value.protocol !== HOST_PROTOCOL) throw new Error("The
|
|
57
|
-
if (value.abiVersion !== 1) throw new Error(`The
|
|
58
|
-
if (typeof value.hostId !== "string" || value.hostId.length === 0) throw new Error("The
|
|
59
|
-
if (!Context.is(value.root)) throw new Error("The
|
|
60
|
-
if (!isRecord(value.runtime) || value.runtime.abiVersion !== 1 || value.runtime.hostId !== value.hostId || typeof value.acquire !== "function" || typeof value.shutdown !== "function" || !isRecord(value.ready) || typeof value.ready.then !== "function") throw new Error("The
|
|
55
|
+
if (!isRecord(value)) throw new Error("The Po Cordis host returned an invalid discovery response.");
|
|
56
|
+
if (value.protocol !== HOST_PROTOCOL) throw new Error("The Po Cordis host returned an invalid protocol identifier.");
|
|
57
|
+
if (value.abiVersion !== 1) throw new Error(`The Po Cordis host ABI is incompatible: expected ${String(1)}, received ${String(value.abiVersion)}.`);
|
|
58
|
+
if (typeof value.hostId !== "string" || value.hostId.length === 0) throw new Error("The Po Cordis host returned an invalid host identifier.");
|
|
59
|
+
if (!Context.is(value.root)) throw new Error("The Po Cordis host returned a value that is not a Cordis Context.");
|
|
60
|
+
if (!isRecord(value.runtime) || value.runtime.abiVersion !== 1 || value.runtime.hostId !== value.hostId || typeof value.acquire !== "function" || typeof value.shutdown !== "function" || !isRecord(value.ready) || typeof value.ready.then !== "function") throw new Error("The Po Cordis host returned incomplete runtime metadata.");
|
|
61
61
|
return value;
|
|
62
62
|
}
|
|
63
63
|
function discoverHosts(pi, source) {
|
|
@@ -72,22 +72,22 @@ function discoverHosts(pi, source) {
|
|
|
72
72
|
responses.push(asHostResponder(response));
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
|
-
pi.events.emit(
|
|
75
|
+
pi.events.emit(PO_CORDIS_HOST_QUERY_CHANNEL, request);
|
|
76
76
|
return responses;
|
|
77
77
|
}
|
|
78
78
|
function exactlyOneHost(responses, source) {
|
|
79
79
|
if (responses.length <= 1) return responses[0];
|
|
80
80
|
const hostIds = responses.map(({ hostId }) => hostId).join(", ");
|
|
81
|
-
throw new Error(`Multiple
|
|
81
|
+
throw new Error(`Multiple Po Cordis hosts answered ${source}: ${hostIds}.`);
|
|
82
82
|
}
|
|
83
83
|
function runtimeProvider(ctx, service) {
|
|
84
|
-
ctx.provide(
|
|
85
|
-
ctx.provide(
|
|
84
|
+
ctx.provide(PO_CORDIS_RUNTIME_SERVICE, service);
|
|
85
|
+
ctx.provide(PO_TOOL_OVERRIDES_SERVICE, createPoToolOverridesService(service.generation));
|
|
86
86
|
}
|
|
87
87
|
function sessionProvider(ctx, service, pi) {
|
|
88
|
-
ctx.provide(
|
|
89
|
-
ctx.provide(
|
|
90
|
-
ctx.provide(
|
|
88
|
+
ctx.provide(PO_CORDIS_SESSION_SERVICE, service);
|
|
89
|
+
ctx.provide(PO_CONTEXT_CONTRIBUTIONS_SERVICE, createPoContextContributionsService(service.generation));
|
|
90
|
+
ctx.provide(PO_TOOL_SURFACE_SERVICE, createPoToolSurface({
|
|
91
91
|
generation: service.generation,
|
|
92
92
|
allTools: () => pi.getAllTools().map((tool) => tool.name),
|
|
93
93
|
activeTools: () => pi.getActiveTools(),
|
|
@@ -101,15 +101,15 @@ function sessionProvider(ctx, service, pi) {
|
|
|
101
101
|
* loaded factories different ExtensionAPI wrapper objects, while their event
|
|
102
102
|
* buses still address the same runner.
|
|
103
103
|
*/
|
|
104
|
-
async function
|
|
104
|
+
async function installPoCordisHost(pi, options) {
|
|
105
105
|
const source = options.source ?? DEFAULT_HOST_SOURCE;
|
|
106
106
|
const existing = exactlyOneHost(discoverHosts(pi, source), source);
|
|
107
|
-
if (existing) throw new Error(`A
|
|
107
|
+
if (existing) throw new Error(`A Po Cordis host is already installed: ${existing.hostId}.`);
|
|
108
108
|
const root = new Context();
|
|
109
109
|
const runtime = Object.freeze({
|
|
110
110
|
abiVersion: 1,
|
|
111
|
-
hostId: `
|
|
112
|
-
generation: `
|
|
111
|
+
hostId: `po-cordis:${crypto.randomUUID()}`,
|
|
112
|
+
generation: `po-runtime:${crypto.randomUUID()}`,
|
|
113
113
|
mode: options.mode
|
|
114
114
|
});
|
|
115
115
|
const ready = root.plugin(runtimeProvider, runtime).await().then(() => void 0);
|
|
@@ -143,7 +143,7 @@ async function installDoomCordisHost(pi, options) {
|
|
|
143
143
|
runtime,
|
|
144
144
|
ready,
|
|
145
145
|
acquire() {
|
|
146
|
-
if (shutdownPromise) throw new Error(`The
|
|
146
|
+
if (shutdownPromise) throw new Error(`The Po Cordis host is shutting down: ${runtime.hostId}.`);
|
|
147
147
|
leaseCount += 1;
|
|
148
148
|
let released = false;
|
|
149
149
|
return {
|
|
@@ -160,7 +160,7 @@ async function installDoomCordisHost(pi, options) {
|
|
|
160
160
|
shutdown: () => controller.shutdown()
|
|
161
161
|
};
|
|
162
162
|
try {
|
|
163
|
-
disposeQuerySubscription = pi.events.on(
|
|
163
|
+
disposeQuerySubscription = pi.events.on(PO_CORDIS_HOST_QUERY_CHANNEL, (value) => {
|
|
164
164
|
const query = asHostQuery(value);
|
|
165
165
|
if (query) query.accept(responder);
|
|
166
166
|
});
|
|
@@ -174,7 +174,7 @@ async function installDoomCordisHost(pi, options) {
|
|
|
174
174
|
generation: `${runtime.generation}:${String(sessionGeneration)}`,
|
|
175
175
|
reason: event.reason,
|
|
176
176
|
context,
|
|
177
|
-
environment:
|
|
177
|
+
environment: readPoSessionEnvironment(context.sessionManager.getSessionId())
|
|
178
178
|
});
|
|
179
179
|
sessionFiber = root.plugin((ctx, value) => {
|
|
180
180
|
sessionProvider(ctx, value, pi);
|
|
@@ -193,20 +193,20 @@ async function installDoomCordisHost(pi, options) {
|
|
|
193
193
|
}
|
|
194
194
|
return controller;
|
|
195
195
|
}
|
|
196
|
-
async function
|
|
196
|
+
async function connectPoCordisHost(pi, source, options) {
|
|
197
197
|
const responder = exactlyOneHost(discoverHosts(pi, source), source);
|
|
198
198
|
if (!responder) {
|
|
199
199
|
if (options?.optional) return void 0;
|
|
200
|
-
throw new Error("The composed
|
|
200
|
+
throw new Error("The composed Po Cordis host is unavailable. Ensure cordisHost is the first extension.");
|
|
201
201
|
}
|
|
202
202
|
await responder.ready;
|
|
203
203
|
return responder.acquire();
|
|
204
204
|
}
|
|
205
205
|
/** Ends the host discovered on this runner. Repeated finalization is a no-op. */
|
|
206
|
-
async function
|
|
206
|
+
async function finalizePoCordisHost(pi, source) {
|
|
207
207
|
await exactlyOneHost(discoverHosts(pi, source), source)?.shutdown();
|
|
208
208
|
}
|
|
209
209
|
//#endregion
|
|
210
|
-
export {
|
|
210
|
+
export { PO_CORDIS_HOST_ABI_VERSION, PO_CORDIS_HOST_QUERY_CHANNEL, PO_CORDIS_RUNTIME_SERVICE, PO_CORDIS_SERVER_SERVICES, PO_CORDIS_SESSION_SERVICE, connectPoCordisHost, finalizePoCordisHost, installPoCordisHost, readPoSessionEnvironment, registerPoSessionEnvironment, requirePoCordisSession };
|
|
211
211
|
|
|
212
212
|
//# sourceMappingURL=runtimeCordisHost.mjs.map
|