@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piSessionRuntime.cjs","names":["createRpcTranscript","createSessionPresentation","createAcpSessionUpdateProjection","replicatedState","BACKGROUND_CONTEXT","transcriptCursor","readTranscriptPage","RemoteServiceProvider","DoomSessionManagementService","createRemoteServiceEndpoint","SessionNotFoundError","DoomSessionService"],"sources":["../../../src/pi/piSessionRuntime.ts"],"sourcesContent":["import {\n createRemoteServiceEndpoint,\n RemoteServiceProvider,\n replicatedState,\n type Context,\n type MutableReplicatedState,\n type RemoteServiceEndpoint,\n} from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport type { RoutedServerServiceHost, RoutedSessionHandle, ServerHost } from '@earendil-works/pi-server';\nimport { SessionNotFoundError } from '@earendil-works/pi-server';\n\nimport {\n DoomSessionManagementService,\n DoomSessionService,\n type SessionService,\n type SessionMessageArgs,\n type PromptArgs,\n type SessionServiceState,\n type SessionSnapshot,\n type SessionLifecycle,\n type TranscriptItem,\n type TranscriptPage,\n type TranscriptPageRequest,\n type RewindResult,\n type SessionStateInfo,\n type SessionStats,\n type SessionCommand,\n type ModelRef,\n type ThinkingLevel,\n} from '../exports/sessionProtocol';\nimport { createAcpSessionUpdateProjection } from '../services/acpSessionUpdates';\nimport { createRpcTranscript, type RpcTranscript } from '../services/rpcTranscript';\nimport { observe, type ServerTelemetry } from '../services/serverTelemetry';\nimport { createSessionPresentation } from '../services/sessionPresentation';\nimport { readTranscriptPage, transcriptCursor } from '../services/transcriptPages';\nimport type { DirectHarnessRuntime, DirectHarnessFrame } from '../types/server/directHarnessRuntime';\n\nconst SETTLED = 'agent_settled';\nconst PROMPT_LATENCY_EVENT = 'po_server.prompt_latency';\nconst SELECTION_COMMANDS = new Set(['mode', 'domains', 'profile', 'minor']);\n\nfunction isSelectionCommand(text: string): boolean {\n const match = /^\\/(\\S+)/.exec(text);\n return match !== null && SELECTION_COMMANDS.has(match[1]!);\n}\n\ntype PromptLatency = {\n readonly startedAt: number;\n lastStageAt: number;\n readonly reported: Set<string>;\n};\n\nasync function sessionStats(runtime: DirectHarnessRuntime, sessionId: string): Promise<SessionStats> {\n const stored = await runtime.getSessionStats();\n const { contextUsage, sessionFile } = stored;\n return {\n sessionId,\n ...(sessionFile === undefined ? {} : { sessionFile }),\n totalMessages: stored.messageCount,\n tokens: {\n input: stored.usage.input,\n output: stored.usage.output,\n cacheRead: stored.usage.cacheRead,\n cacheWrite: stored.usage.cacheWrite,\n total: stored.usage.totalTokens,\n },\n cost: stored.usage.cost.total,\n ...(contextUsage === undefined ? {} : { contextUsage }),\n };\n}\n\nexport interface AgentSessionRuntimeOptions {\n runtime: DirectHarnessRuntime;\n sessionId: string;\n sessionName: string;\n cwd: string;\n telemetry?: ServerTelemetry;\n /** Subscribes to the combined harness and headless presentation projection. */\n onPresentationFrame?: (listener: (frame: DirectHarnessFrame) => void) => () => void;\n /** Delivers one answered extension UI request to the session-scoped headless host. */\n respondToExtensionUi?: (frame: DirectHarnessFrame) => boolean;\n /** Test seam for the projection. */\n transcript?: RpcTranscript;\n readThreadTranscript?: (\n threadId: string,\n request: TranscriptPageRequest,\n context: Context,\n ) => Promise<TranscriptPage>;\n}\n\nexport interface AgentSessionRuntime extends SessionService {\n readonly state: MutableReplicatedState<SessionServiceState>;\n initialize(): Promise<void>;\n dispose(): Promise<void>;\n}\n\n/** Projects one in-process harness runtime as a Chord session service. */\nexport function createAgentSessionRuntime(options: AgentSessionRuntimeOptions): AgentSessionRuntime {\n const transcript =\n options.transcript ??\n createRpcTranscript({\n id: options.sessionId,\n cwd: options.cwd,\n name: options.sessionName,\n now: Date.now,\n retainEntries: 0,\n });\n const presentation = createSessionPresentation();\n const acpUpdates = createAcpSessionUpdateProjection();\n let updateSequence = 0;\n const inFlight = new Map<string, TranscriptItem>();\n let historyGeneration = 0;\n const summary = (snapshot: SessionSnapshot): Omit<SessionSnapshot, 'transcript'> => {\n const { transcript: _history, ...value } = snapshot;\n return value;\n };\n const state = replicatedState<SessionServiceState>({\n snapshot: { ...summary(transcript.snapshot()), fastMode: false },\n progress: null,\n updates: [],\n presentation: { revision: 0, dropped: 0, events: [], projections: [] },\n });\n void options.runtime\n .readState()\n .then((runtimeState) => {\n if (!disposed)\n state.change(BACKGROUND_CONTEXT, (draft) => {\n draft.snapshot.fastMode = runtimeState.fastMode === true;\n draft.snapshot.locked = runtimeState.agentLocked === true;\n });\n })\n .catch((error) => {\n if (!disposed) present({ type: 'error', error: String(error) });\n });\n const present = (frame: Record<string, unknown>): boolean => {\n if (frame.type === 'fast_mode_changed' && typeof frame.enabled === 'boolean')\n state.change(BACKGROUND_CONTEXT, (draft) => {\n draft.snapshot.fastMode = frame.enabled as boolean;\n });\n if (frame.type === 'agent_lock_changed' && typeof frame.locked === 'boolean')\n state.change(BACKGROUND_CONTEXT, (draft) => {\n draft.snapshot.locked = frame.locked as boolean;\n });\n const entry = frame.entry as { seq?: number } | undefined;\n if (frame.type === 'entry_appended' && typeof entry?.seq === 'number')\n frame = {\n ...frame,\n transcriptCursor: transcriptCursor(options.sessionId, options.runtime.laneName, historyGeneration, entry.seq),\n };\n const next = presentation.record(frame);\n if (next)\n state.change(BACKGROUND_CONTEXT, (draft) => {\n draft.presentation = next;\n });\n return next !== undefined;\n };\n const settlers = new Set<{ resolve(): void; reject(error: Error): void }>();\n const promptFailures = new Set<(error: Error) => void>();\n let promptLatency: PromptLatency | undefined;\n let lastToolResultAt: number | undefined;\n let assistantMessageStartedAt: number | undefined;\n let disposed = false;\n const reportPromptLatency = (phase: string): void => {\n const active = promptLatency;\n if (active === undefined || active.reported.has(phase) || options.telemetry === undefined) return;\n const now = Date.now();\n active.reported.add(phase);\n observe(\n options.telemetry.recordEvent(PROMPT_LATENCY_EVENT, {\n session_id: options.sessionId,\n phase,\n duration_ms: now - active.startedAt,\n stage_duration_ms: now - active.lastStageAt,\n }),\n );\n active.lastStageAt = now;\n };\n const rejectSettlers = (error: Error): void => {\n for (const waiter of settlers) waiter.reject(error);\n settlers.clear();\n };\n\n const subscribePresentation =\n options.onPresentationFrame ??\n ((listener: (frame: DirectHarnessFrame) => void) => options.runtime.onPresentationFrame(listener));\n const unsubscribePresentation = subscribePresentation((frame) => {\n if (disposed) return;\n const message =\n typeof frame.message === 'object' && frame.message !== null ? (frame.message as { role?: unknown }) : undefined;\n if (frame.type === 'message_end' && message?.role === 'toolResult') lastToolResultAt = Date.now();\n if (frame.type === 'message_start' && message?.role === 'assistant') {\n const now = Date.now();\n assistantMessageStartedAt = now;\n if (lastToolResultAt !== undefined && options.telemetry) {\n observe(\n options.telemetry.recordEvent('po_server.tool_result_to_response', {\n session_id: options.sessionId,\n duration_ms: now - lastToolResultAt,\n }),\n );\n }\n lastToolResultAt = undefined;\n }\n if (frame.type === 'message_end' && message?.role === 'assistant') {\n if (assistantMessageStartedAt !== undefined && options.telemetry)\n observe(\n options.telemetry.recordEvent('po_server.assistant_message', {\n session_id: options.sessionId,\n duration_ms: Date.now() - assistantMessageStartedAt,\n }),\n );\n assistantMessageStartedAt = undefined;\n }\n if (frame.type === 'agent_start') reportPromptLatency('agent_started');\n else if (frame.type === 'message_start' && message?.role === 'assistant') reportPromptLatency('response_started');\n else if (frame.type === 'message_update' && message?.role === 'assistant') reportPromptLatency('first_response');\n else if (frame.type === 'message_end' && message?.role === 'assistant') reportPromptLatency('response_completed');\n const reductionStartedAt = performance.now();\n const reduction = transcript.apply(frame);\n if (frame.type === 'lifecycle_update' && frame.lifecycle !== undefined)\n state.change(BACKGROUND_CONTEXT, (draft) => {\n const lifecycle = frame.lifecycle as SessionLifecycle;\n if ((draft.snapshot.lifecycle?.revision ?? -1) <= lifecycle.revision) draft.snapshot.lifecycle = lifecycle;\n });\n const updates = acpUpdates.apply(frame, reduction);\n const reductionDurationMs = performance.now() - reductionStartedAt;\n if (reduction.aggregate && options.telemetry) {\n observe(\n options.telemetry.recordEvent('po_server.transcript.aggregate', {\n session_id: options.sessionId,\n ...reduction.aggregate,\n }),\n );\n }\n if (reduction.snapshot || updates.length > 0) {\n state.change(BACKGROUND_CONTEXT, (draft) => {\n if (reduction.snapshot)\n draft.snapshot = {\n ...summary(reduction.snapshot),\n fastMode: draft.snapshot.fastMode ?? false,\n locked: draft.snapshot.locked ?? false,\n ...(draft.snapshot.lifecycle === undefined ? {} : { lifecycle: draft.snapshot.lifecycle }),\n };\n if (updates.length > 0) {\n const events = draft.updates ?? [];\n for (const update of updates) events.push({ sequence: ++updateSequence, update });\n if (events.length > 128) events.splice(0, events.length - 128);\n draft.updates = events;\n }\n });\n }\n if (reduction.progress) {\n const progress = reduction.progress;\n if (progress.type === 'item_finished') inFlight.delete(progress.item.id);\n else inFlight.set(progress.item.id, progress.item);\n }\n if (state.value.snapshot.phase === 'idle') inFlight.clear();\n if (frame.type === 'navigation_end') historyGeneration += 1;\n const changed = present(frame);\n const publishStartedAt = performance.now();\n void (reduction.snapshot || reduction.progress || updates.length > 0 || changed);\n const publishDurationMs = performance.now() - publishStartedAt;\n if (options.telemetry && (reductionDurationMs >= 50 || publishDurationMs >= 50 || frame.type === SETTLED))\n observe(\n options.telemetry.recordEvent('po_server.presentation_frame', {\n session_id: options.sessionId,\n 'frame.type': frame.type,\n phase: 'reduce_and_publish',\n duration_ms: reductionDurationMs + publishDurationMs,\n }),\n );\n if (frame.type === SETTLED) {\n lastToolResultAt = undefined;\n assistantMessageStartedAt = undefined;\n reportPromptLatency('settled');\n promptLatency = undefined;\n const waiting = [...settlers];\n settlers.clear();\n for (const settle of waiting) settle.resolve();\n }\n });\n\n const terminate = (error: Error): void => {\n if (disposed) return;\n disposed = true;\n for (const fail of promptFailures) fail(error);\n promptFailures.clear();\n rejectSettlers(error);\n unsubscribePresentation();\n };\n observe(\n options.runtime.exited.then(\n () => terminate(new Error('The session runtime exited')),\n (error: unknown) => terminate(error instanceof Error ? error : new Error(String(error))),\n ),\n );\n const requireLive = (): void => {\n if (disposed) throw new Error('The session runtime is disposed');\n };\n const guardContext = (context: Context): void => {\n requireLive();\n context.abortSignal?.throwIfAborted();\n };\n const awaitSettled = (): { promise: Promise<void>; resolve(): void; reject(error: Error): void } => {\n let fail!: (error: Error) => void;\n let finish!: () => void;\n const promise = new Promise<void>((resolve, reject) => {\n const waiter = {\n resolve: () => {\n settlers.delete(waiter);\n resolve();\n },\n reject: (error: Error) => {\n settlers.delete(waiter);\n reject(error);\n },\n };\n fail = waiter.reject;\n finish = waiter.resolve;\n settlers.add(waiter);\n });\n observe(promise);\n return { promise, resolve: finish, reject: fail };\n };\n const messageArgs = (\n input: string | SessionMessageArgs,\n ): { message: string; images?: SessionMessageArgs['images'] } => {\n const args = typeof input === 'string' ? { text: input } : input;\n if (!args || typeof args.text !== 'string') throw new Error('Prompt message must be a string');\n if (\n args.images !== undefined &&\n (!Array.isArray(args.images) ||\n !args.images.every(\n (image) => image?.type === 'image' && typeof image.data === 'string' && typeof image.mimeType === 'string',\n ))\n )\n throw new Error('Invalid message images');\n return { message: args.text, ...(args.images === undefined ? {} : { images: args.images }) };\n };\n const hydrate = async (): Promise<void> => {\n const lifecycle = await options.runtime.readLifecycle();\n if (disposed) return;\n state.change(BACKGROUND_CONTEXT, (draft) => {\n if ((draft.snapshot.lifecycle?.revision ?? -1) <= lifecycle.revision) draft.snapshot.lifecycle = lifecycle;\n draft.presentation = presentation.resetCustomEntries();\n });\n };\n let initializing: Promise<void> | undefined;\n\n return {\n state,\n async readTranscriptPage(args, context) {\n guardContext(context);\n if (args.threadId !== undefined) {\n if (!options.readThreadTranscript) throw new Error('Child transcript reader is unavailable');\n return options.readThreadTranscript(args.threadId, args, context);\n }\n const generation = historyGeneration;\n const revision = state.value.presentation?.revision ?? 0;\n const drafts = [...inFlight.values()];\n const started = performance.now();\n let snapshot: ReturnType<DirectHarnessRuntime['readEntries']> | undefined;\n const readEntries = () => (snapshot ??= options.runtime.readEntries());\n const page = await readTranscriptPage(\n {\n sessionId: options.runtime.sessionId,\n laneName: options.runtime.laneName,\n lane: {\n getTipId: async () => (await readEntries()).leafId,\n findEntries: async (query) => {\n let entries = (await readEntries()).entries;\n if (query.type) entries = entries.filter((e) => e.type === query.type);\n if (query.customType)\n entries = entries.filter((e) => e.type === 'custom' && e.customType === query.customType);\n if (query.cursor)\n entries = entries.filter((e) =>\n query.order === 'oldestFirst' ? e.seq > query.cursor!.seq : e.seq < query.cursor!.seq,\n );\n if (query.order === 'newestFirst') entries = entries.toReversed();\n return query.limit === undefined ? entries : entries.slice(0, query.limit);\n },\n },\n },\n args,\n generation,\n context,\n );\n if (options.telemetry)\n observe(\n options.telemetry.recordEvent('po_server.transcript_page', {\n session_id: options.sessionId,\n phase: args.direction ?? 'latest',\n duration_ms: performance.now() - started,\n count: page.entries.length,\n }),\n );\n if (generation !== historyGeneration) throw new Error('STALE_TRANSCRIPT_CURSOR');\n return { ...page, revision, drafts };\n },\n initialize() {\n initializing ??= hydrate().catch((error: unknown) => {\n initializing = undefined;\n throw error;\n });\n return initializing;\n },\n async prompt(text: string | PromptArgs, context) {\n guardContext(context);\n const args = messageArgs(text);\n const waitFor = typeof text === 'string' ? 'settled' : (text.waitFor ?? 'settled');\n if (waitFor !== 'accepted' && waitFor !== 'settled') throw new Error('Invalid prompt acknowledgement mode');\n let projection: ReturnType<typeof awaitSettled> | undefined;\n let latency: PromptLatency | undefined;\n let submitted = false;\n let failed: Error | undefined;\n let rejectFailure!: (error: Error) => void;\n const failure = new Promise<void>((_resolve, reject) => {\n rejectFailure = reject;\n });\n const fail = (error: Error): void => {\n if (failed !== undefined) return;\n failed = error;\n projection?.reject(error);\n rejectFailure(error);\n if (latency !== undefined && promptLatency === latency) {\n reportPromptLatency('failed');\n promptLatency = undefined;\n }\n };\n const cancel = (): void => {\n if (failed !== undefined) return;\n fail(new Error('The session prompt was cancelled', { cause: context.abortSignal?.reason }));\n if (submitted && waitFor === 'settled') void options.runtime.abort().catch(() => undefined);\n };\n const guardPrompt = (): void => {\n if (failed !== undefined) throw failed;\n guardContext(context);\n };\n const submit = async () => {\n guardPrompt();\n submitted = true;\n // Native admission atomically chooses idle submission or busy steering.\n const submission = await options.runtime.submitPrompt(args.message, args.images, 'steer');\n observe(submission.settled);\n guardPrompt();\n return submission;\n };\n const span = <T>(name: string, callback: () => Promise<T>): Promise<T> => {\n const operation = options.telemetry\n ? options.telemetry.runInSpan(name, { session_id: options.sessionId }, callback)\n : callback();\n observe(operation);\n return operation;\n };\n const run = async (): Promise<void> => {\n guardPrompt();\n const lifecycle = await options.runtime.readLifecycle();\n guardPrompt();\n if (lifecycle.operation !== null || settlers.size > 0) {\n if (isSelectionCommand(args.message)) {\n const handled = await options.runtime.dispatchCommand(args.message);\n guardPrompt();\n if (handled) return;\n }\n }\n if (waitFor === 'accepted' && !options.telemetry) {\n await submit();\n return;\n }\n const startedAt = Date.now();\n if (promptLatency === undefined)\n latency = promptLatency = { startedAt, lastStageAt: startedAt, reported: new Set() };\n const settled = (projection = awaitSettled());\n let resolveAdmission: (() => void) | undefined;\n const admitted =\n waitFor === 'accepted'\n ? new Promise<void>((resolve) => {\n resolveAdmission = resolve;\n })\n : undefined;\n const completion = span('po_server.prompt_to_settled', async () => {\n const submission = await span('po_server.prompt_admission', submit);\n guardPrompt();\n if (submission.handledCommand) settled.resolve();\n if (latency !== undefined && promptLatency === latency) reportPromptLatency('accepted');\n resolveAdmission?.();\n await Promise.all([\n span('po_server.prompt_engine_settlement', () => submission.settled),\n span('po_server.prompt_projection_settlement', () => settled.promise),\n ]);\n }).catch((error: unknown) => {\n const cause = error instanceof Error ? error : new Error(String(error));\n fail(cause);\n throw cause;\n });\n if (admitted) await Promise.race([admitted, completion]);\n else await completion;\n };\n promptFailures.add(fail);\n context.abortSignal?.addEventListener('abort', cancel, { once: true });\n try {\n await Promise.race([run(), failure]);\n } catch (error) {\n const cause = error instanceof Error ? error : new Error(String(error));\n fail(cause);\n throw cause;\n } finally {\n promptFailures.delete(fail);\n context.abortSignal?.removeEventListener('abort', cancel);\n }\n },\n async steer(text: string | SessionMessageArgs) {\n requireLive();\n const args = messageArgs(text);\n await options.runtime.steer(args.message, args.images);\n },\n async abort() {\n requireLive();\n await options.runtime.abort((await options.runtime.readLifecycle()).operation?.id);\n },\n async abortOperation(args) {\n requireLive();\n if (!args || typeof args.operationId !== 'string' || !args.operationId)\n throw new Error('Invalid operation identity');\n await options.runtime.abort(args.operationId);\n },\n async setModel(model, context) {\n guardContext(context);\n if (!model || typeof model.provider !== 'string' || typeof model.id !== 'string')\n throw new Error('Invalid model');\n await options.runtime.setModel(model);\n },\n async setFastMode(enabled, context) {\n guardContext(context);\n if (typeof enabled !== 'boolean') throw new Error('Invalid fast mode');\n await options.runtime.setFastMode(enabled);\n state.change(context, (draft) => {\n draft.snapshot.fastMode = enabled;\n });\n },\n async setAgentLock(locked, context) {\n guardContext(context);\n if (typeof locked !== 'boolean') throw new Error('Invalid agent lock');\n await options.runtime.setAgentLock(locked);\n state.change(context, (draft) => {\n draft.snapshot.locked = locked;\n });\n },\n async setThinking(thinkingLevel, context) {\n guardContext(context);\n if (!['off', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max'].includes(thinkingLevel))\n throw new Error('Invalid thinking level');\n await options.runtime.setThinkingLevel(thinkingLevel);\n },\n async followUp(args, context) {\n guardContext(context);\n const message = messageArgs(args);\n await options.runtime.followUp(message.message, message.images);\n },\n async enqueueAutomatic(args, context) {\n guardContext(context);\n const message = messageArgs(args);\n return options.runtime.enqueueAutomatic(message.message, message.images);\n },\n async removeQueued(args, context) {\n guardContext(context);\n if (!args || typeof args.id !== 'string' || !args.id) throw new Error('Invalid queue identity');\n return options.runtime.removeQueued(args.id);\n },\n async promoteQueued(args, context) {\n guardContext(context);\n if (\n !args ||\n typeof args.id !== 'string' ||\n !args.id ||\n (args.operationId !== undefined && (typeof args.operationId !== 'string' || !args.operationId))\n )\n throw new Error('Invalid queue promotion');\n return options.runtime.promoteQueued(args.id, args.operationId);\n },\n async resumeQueue(context) {\n guardContext(context);\n await options.runtime.resumeQueue();\n },\n async clearQueue(context) {\n guardContext(context);\n return options.runtime.clearQueue();\n },\n async rewind(args, context) {\n guardContext(context);\n if (!args || typeof args.itemId !== 'string' || !args.itemId) throw new Error('Invalid rewind identity');\n const { entries } = await options.runtime.readEntries();\n const entry = entries.toReversed().find((candidate) => {\n if (candidate.type !== 'message' || typeof candidate.id !== 'string') return false;\n const message = candidate.message;\n if (!message || typeof message !== 'object' || Array.isArray(message)) return false;\n const record = message as unknown as Record<string, unknown>;\n return (\n candidate.id === args.itemId ||\n record.id === args.itemId ||\n (record.role === 'user' && typeof record.timestamp === 'number' && args.itemId === `user-${record.timestamp}`)\n );\n });\n if (!entry) throw new Error('The selected message is not in the active session tree.');\n const result = await options.runtime.navigateTree(entry.id, {\n ...(args.summarize === undefined ? {} : { summarize: args.summarize }),\n ...(args.customInstructions === undefined ? {} : { customInstructions: args.customInstructions }),\n ...(args.replaceInstructions === undefined ? {} : { replaceInstructions: args.replaceInstructions }),\n ...(args.label === undefined ? {} : { label: args.label }),\n });\n if (!result.cancelled) await hydrate();\n return result as RewindResult;\n },\n async extensionUiResponse(response, context) {\n guardContext(context);\n if (\n !response ||\n typeof response.id !== 'string' ||\n !response.id ||\n !(\n ('value' in response && typeof response.value === 'string') ||\n ('confirmed' in response && typeof response.confirmed === 'boolean') ||\n ('cancelled' in response && response.cancelled === true)\n )\n )\n throw new Error('Invalid extension UI response');\n if (!options.respondToExtensionUi?.({ ...response, type: 'extension_ui_response' }))\n throw new Error(`No pending extension UI request: ${response.id}`);\n present({ type: 'extension_ui_answered', id: response.id });\n state.change(context, () => undefined);\n },\n async getState(context) {\n guardContext(context);\n const runtimeState = await options.runtime.readState();\n return { ...runtimeState, fastMode: runtimeState.fastMode === true } as unknown as SessionStateInfo;\n },\n async getSessionStats(context) {\n guardContext(context);\n return sessionStats(options.runtime, options.sessionId);\n },\n async getCommands(context) {\n guardContext(context);\n return options.runtime.listCommands() as SessionCommand[];\n },\n async getAvailableModels(context) {\n guardContext(context);\n return (await options.runtime.availableModels()).map((model) => ({\n provider: model.provider,\n id: model.id,\n })) as ModelRef[];\n },\n async getAvailableThinkingLevels(context) {\n guardContext(context);\n return (await options.runtime.availableThinkingLevels()) as ThinkingLevel[];\n },\n async compact(args, context) {\n guardContext(context);\n await options.runtime.compact(args.customInstructions);\n return null;\n },\n async setName(name, context) {\n guardContext(context);\n if (typeof name !== 'string' || name.length > 256) throw new Error('Invalid session name');\n await options.runtime.setName(name);\n },\n async dispose() {\n terminate(new Error('The session runtime is disposed'));\n },\n };\n}\n\nexport interface AgentServerServiceOptions extends AgentSessionRuntimeOptions {\n createdAt: number;\n}\n\nexport interface DoomSessionMetadata {\n id: string;\n createdAt: number;\n storageVersion: number;\n cwd: string;\n sessionName: string;\n}\n\nfunction endpointAttachment(endpoint: RemoteServiceEndpoint): {\n invokeService: RemoteServiceEndpoint['invoke'];\n release(): void;\n} {\n return {\n invokeService: (call, publish, context) => endpoint.invoke(call, publish, context),\n release: () => endpoint.dispose(),\n };\n}\n\nfunction managementHost(): RoutedServerServiceHost {\n return {\n attachClient(presentation) {\n const provider = new RemoteServiceProvider([{ service: DoomSessionManagementService, mode: 'singleton' }]);\n provider.provide(DoomSessionManagementService, {\n attach: (sessionId, context) => presentation.attachSession(sessionId, context),\n detach: (context) => presentation.detachSession(context),\n });\n return endpointAttachment(createRemoteServiceEndpoint(provider));\n },\n };\n}\n\n/** Creates the 0.85 routed host for one supervised Po session. */\nexport function createAgentServerService(options: AgentServerServiceOptions): ServerHost<DoomSessionMetadata> {\n const metadata: DoomSessionMetadata = {\n id: options.sessionId,\n createdAt: options.createdAt,\n storageVersion: 1,\n cwd: options.cwd,\n sessionName: options.sessionName,\n };\n const runtime = createAgentSessionRuntime(options);\n let closed = false;\n\n return {\n serverServices: managementHost(),\n async resolveSession(sessionId) {\n if (sessionId !== metadata.id) throw new SessionNotFoundError(`No session ${sessionId}`);\n return metadata;\n },\n async openSession() {\n if (closed) throw new SessionNotFoundError('The session service is closed');\n await runtime.initialize();\n const provider = new RemoteServiceProvider([{ service: DoomSessionService, mode: 'singleton' }]);\n provider.provide(DoomSessionService, runtime);\n const handle: RoutedSessionHandle = {\n attachClient: () => endpointAttachment(createRemoteServiceEndpoint(provider)),\n async close() {\n if (closed) return;\n closed = true;\n provider.dispose();\n await runtime.dispose();\n },\n };\n return handle;\n },\n };\n}\n\nexport type { SessionSnapshot };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"piSessionRuntime.cjs","names":["copyJson","createSessionPresentation","replicatedState","BACKGROUND_CONTEXT","transcriptCursor","readTranscriptPage","durableTranscriptLane","normalizeSessionGroups","Type","SessionServiceStateSchema","local","opaque","withAbortSignal","forbidden","PoSessionContract"],"sources":["../../../src/pi/piSessionRuntime.ts"],"sourcesContent":["import {\n copyJson,\n forbidden,\n local,\n opaque,\n replicatedState,\n type Ctx,\n type Host,\n type MutableReplicatedState,\n type Subscribable,\n} from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT, withAbortSignal, type Context } from '@earendil-works/chord/context';\nimport { Type } from 'typebox';\n\nimport { PoSessionContract } from '../exports/sessionProtocol';\nimport {\n normalizeSessionGroups,\n type SessionService,\n type SessionMessageArgs,\n type PromptArgs,\n type SessionServiceState,\n type SessionLive,\n type SessionLiveTool,\n type SessionPhase,\n type SessionLifecycle,\n type TranscriptPage,\n type TranscriptPageRequest,\n type RewindResult,\n type SessionStateInfo,\n type SessionStats,\n type SessionCommand,\n type ModelRef,\n type ThinkingLevel,\n} from '../exports/sessionProtocol';\nimport { SessionServiceStateSchema } from '../schemas/sessionApiContracts';\nimport { observe, type ServerTelemetry } from '../services/serverTelemetry';\nimport { createSessionPresentation } from '../services/sessionPresentation';\nimport { durableTranscriptLane, readTranscriptPage, transcriptCursor } from '../services/transcriptPages';\nimport type { DirectHarnessRuntime, DirectHarnessFrame } from '../types/server/directHarnessRuntime';\n\nconst SETTLED = 'agent_settled';\nconst PROMPT_LATENCY_EVENT = 'po_server.prompt_latency';\nconst SELECTION_COMMANDS = new Set(['mode', 'domains', 'profile', 'minor']);\n\n/** How each attach frame moves `live.phase`; idle clears `live`. */\nconst LIVE_PHASES = new Map<unknown, SessionPhase>([\n ['agent_start', 'turn'],\n ['agent_settled', 'idle'],\n ['compaction_start', 'compaction'],\n ['compaction_end', 'idle'],\n ['auto_retry_start', 'retry'],\n ['auto_retry_end', 'turn'],\n]);\n/**\n * Pi streams partials near 100 Hz; `live` takes at most one write per window, so 15 a second per session.\n * ponytail: tuned on the S7 bench (8 children, 4 bash tails growing 1.6 KB/s each): 18.5 KB/s, p95 64 ms.\n * Output faster than that streams at its own rate; cap tool tails or slow tool writes if real runs exceed 20 KB/s.\n */\nconst LIVE_WRITE_INTERVAL_MS = 66;\n\nfunction isSelectionCommand(text: string): boolean {\n const match = /^\\/(\\S+)/.exec(text);\n return match !== null && SELECTION_COMMANDS.has(match[1]!);\n}\n\nfunction parts(value: unknown): Record<string, unknown>[] {\n return Array.isArray(value) ? value.filter((part) => typeof part === 'object' && part !== null) : [];\n}\n\n/** Pi's streaming assistant message, cut to the strict-JSON parts a client renders. */\nfunction liveMessage(message: Record<string, unknown>): NonNullable<SessionLive['message']> {\n const content: NonNullable<SessionLive['message']>['content'] = [];\n for (const part of parts(message.content)) {\n if (part.type === 'text' && typeof part.text === 'string') content.push({ type: 'text', text: part.text });\n if (part.type === 'thinking' && typeof part.thinking === 'string')\n content.push({\n type: 'thinking',\n thinking: part.thinking,\n ...(part.redacted === true ? { redacted: true as const } : {}),\n });\n }\n return {\n role: 'assistant',\n content,\n model: typeof message.model === 'string' ? message.model : '',\n timestamp: typeof message.timestamp === 'number' ? message.timestamp : 0,\n };\n}\n\nfunction liveResult(result: Record<string, unknown>): NonNullable<SessionLiveTool['partialResult']> {\n const content: NonNullable<SessionLiveTool['partialResult']>['content'] = [];\n for (const part of parts(result.content)) {\n if (part.type === 'text' && typeof part.text === 'string') content.push({ type: 'text', text: part.text });\n if (part.type === 'image' && typeof part.data === 'string' && typeof part.mimeType === 'string')\n content.push({ type: 'image', data: part.data, mimeType: part.mimeType });\n }\n return {\n content,\n ...(result.details === undefined ? {} : { details: copyJson(result.details, { omitUndefinedProperties: true }) }),\n };\n}\n\ntype PromptLatency = {\n readonly startedAt: number;\n lastStageAt: number;\n readonly reported: Set<string>;\n};\n\nasync function sessionStats(runtime: DirectHarnessRuntime, sessionId: string): Promise<SessionStats> {\n const stored = await runtime.getSessionStats();\n const { contextUsage } = stored;\n return {\n sessionId,\n totalMessages: stored.messageCount,\n tokens: {\n input: stored.usage.input,\n output: stored.usage.output,\n cacheRead: stored.usage.cacheRead,\n cacheWrite: stored.usage.cacheWrite,\n total: stored.usage.totalTokens,\n },\n cost: stored.usage.cost.total,\n ...(contextUsage === undefined ? {} : { contextUsage }),\n };\n}\n\nexport interface AgentSessionRuntimeOptions {\n runtime: DirectHarnessRuntime;\n sessionId: string;\n sessionName: string;\n cwd: string;\n telemetry?: ServerTelemetry;\n /** Subscribes to the combined harness and headless presentation projection. */\n onPresentationFrame?: (listener: (frame: DirectHarnessFrame) => void) => () => void;\n /** Delivers one answered extension UI request to the session-scoped headless host. */\n respondToExtensionUi?: (frame: DirectHarnessFrame) => boolean;\n readThreadTranscript?: (\n threadId: string,\n request: TranscriptPageRequest,\n context: Context,\n ) => Promise<TranscriptPage>;\n}\n\nexport interface AgentSessionRuntime extends SessionService {\n readonly state: MutableReplicatedState<SessionServiceState>;\n initialize(): Promise<void>;\n dispose(): Promise<void>;\n}\n\n/** Projects one in-process harness runtime as a Chord session service. */\nexport function createAgentSessionRuntime(options: AgentSessionRuntimeOptions): AgentSessionRuntime {\n const presentation = createSessionPresentation();\n let historyGeneration = 0;\n const state = replicatedState<SessionServiceState>({\n snapshot: { fastMode: false, locked: false },\n presentation: { revision: 0, dropped: 0, events: [], projections: [] },\n });\n void options.runtime\n .readState()\n .then((runtimeState) => {\n if (!disposed)\n state.change(BACKGROUND_CONTEXT, (draft) => {\n draft.snapshot.fastMode = runtimeState.fastMode === true;\n draft.snapshot.locked = runtimeState.agentLocked === true;\n });\n })\n .catch((error) => {\n if (!disposed) present({ type: 'error', error: String(error) });\n });\n const present = (frame: Record<string, unknown>): void => {\n if (frame.type === 'fast_mode_changed' && typeof frame.enabled === 'boolean')\n state.change(BACKGROUND_CONTEXT, (draft) => {\n draft.snapshot.fastMode = frame.enabled as boolean;\n });\n if (frame.type === 'agent_lock_changed' && typeof frame.locked === 'boolean')\n state.change(BACKGROUND_CONTEXT, (draft) => {\n draft.snapshot.locked = frame.locked as boolean;\n });\n const entry = frame.entry as { seq?: number } | undefined;\n if (frame.type === 'entry_appended' && typeof entry?.seq === 'number')\n frame = {\n ...frame,\n transcriptCursor: transcriptCursor(options.sessionId, options.runtime.laneName, historyGeneration, entry.seq),\n };\n const next = presentation.record(frame);\n if (next)\n state.change(BACKGROUND_CONTEXT, (draft) => {\n draft.presentation = next;\n });\n };\n const settlers = new Set<{ resolve(): void; reject(error: Error): void }>();\n const promptFailures = new Set<(error: Error) => void>();\n let promptLatency: PromptLatency | undefined;\n let lastToolResultAt: number | undefined;\n let assistantMessageStartedAt: number | undefined;\n let disposed = false;\n const reportPromptLatency = (phase: string): void => {\n const active = promptLatency;\n if (active === undefined || active.reported.has(phase) || options.telemetry === undefined) return;\n const now = Date.now();\n active.reported.add(phase);\n observe(\n options.telemetry.recordEvent(PROMPT_LATENCY_EVENT, {\n session_id: options.sessionId,\n phase,\n duration_ms: now - active.startedAt,\n stage_duration_ms: now - active.lastStageAt,\n }),\n );\n active.lastStageAt = now;\n };\n const rejectSettlers = (error: Error): void => {\n for (const waiter of settlers) waiter.reject(error);\n settlers.clear();\n };\n\n // Streaming partials are whole values, so only the newest of each survives a throttle window.\n let pendingMessage: SessionLive['message'];\n const pendingResults = new Map<string, NonNullable<SessionLiveTool['partialResult']>>();\n let liveCooldown: ReturnType<typeof setTimeout> | undefined;\n const flushLive = (): void => {\n if (pendingMessage === undefined && pendingResults.size === 0) return;\n const message = pendingMessage;\n const results = [...pendingResults];\n pendingMessage = undefined;\n pendingResults.clear();\n state.change(BACKGROUND_CONTEXT, (draft) => {\n const live = (draft.live ??= { phase: 'turn', tools: {} });\n if (message) live.message = message;\n for (const [toolCallId, partialResult] of results) {\n const tool = live.tools[toolCallId];\n if (tool) tool.partialResult = partialResult;\n }\n });\n };\n const coolLive = (): void => {\n liveCooldown = undefined;\n if (pendingMessage !== undefined || pendingResults.size > 0) throttleLive();\n };\n // The first partial in a window writes at once; the rest land together when it closes.\n const throttleLive = (): void => {\n if (liveCooldown !== undefined) return;\n flushLive();\n liveCooldown = setTimeout(coolLive, LIVE_WRITE_INTERVAL_MS);\n };\n\n // Runs last for each frame: a frame that is not strict JSON fails only its own live write.\n const updateLive = (frame: DirectHarnessFrame, role: unknown): void => {\n const write = (mutate: (live: SessionLive) => void): void =>\n state.change(BACKGROUND_CONTEXT, (draft) => mutate((draft.live ??= { phase: 'turn', tools: {} })));\n const phase = LIVE_PHASES.get(frame.type);\n const live = state.value.live;\n const toolCallId = typeof frame.toolCallId === 'string' ? frame.toolCallId : '';\n if (phase === 'idle') {\n if (live)\n state.change(BACKGROUND_CONTEXT, (draft) => {\n delete draft.live;\n });\n } else if (phase !== undefined) {\n write((next) => {\n next.phase = phase;\n });\n } else if (frame.type === 'message_update' && role === 'assistant') {\n pendingMessage = liveMessage(frame.message as Record<string, unknown>);\n throttleLive();\n } else if (frame.type === 'message_start' && role === 'assistant') {\n const message = liveMessage(frame.message as Record<string, unknown>);\n write((next) => {\n next.message = message;\n });\n } else if (frame.type === 'message_end' && role === 'assistant') {\n if (live?.message)\n write((next) => {\n delete next.message;\n });\n } else if (frame.type === 'tool_execution_start' && toolCallId) {\n const tool: SessionLiveTool = {\n toolCallId,\n toolName: typeof frame.toolName === 'string' ? frame.toolName : '',\n args: copyJson(frame.args ?? null, { omitUndefinedProperties: true }),\n };\n write((next) => {\n next.tools[toolCallId] = tool;\n });\n } else if (frame.type === 'tool_execution_update' && live?.tools[toolCallId]) {\n pendingResults.set(toolCallId, liveResult((frame.partialResult ?? {}) as Record<string, unknown>));\n throttleLive();\n } else if (frame.type === 'tool_execution_end' && live?.tools[toolCallId]) {\n write((next) => {\n delete next.tools[toolCallId];\n });\n }\n };\n const subscribePresentation =\n options.onPresentationFrame ??\n ((listener: (frame: DirectHarnessFrame) => void) => options.runtime.onPresentationFrame(listener));\n const unsubscribePresentation = subscribePresentation((frame) => {\n if (disposed) return;\n // Whatever streamed before this frame lands first, so clients see live writes in frame order.\n if (frame.type !== 'message_update' && frame.type !== 'tool_execution_update') flushLive();\n const message =\n typeof frame.message === 'object' && frame.message !== null ? (frame.message as { role?: unknown }) : undefined;\n if (frame.type === 'message_end' && message?.role === 'toolResult') lastToolResultAt = Date.now();\n if (frame.type === 'message_start' && message?.role === 'assistant') {\n const now = Date.now();\n assistantMessageStartedAt = now;\n if (lastToolResultAt !== undefined && options.telemetry) {\n observe(\n options.telemetry.recordEvent('po_server.tool_result_to_response', {\n session_id: options.sessionId,\n duration_ms: now - lastToolResultAt,\n }),\n );\n }\n lastToolResultAt = undefined;\n }\n if (frame.type === 'message_end' && message?.role === 'assistant') {\n if (assistantMessageStartedAt !== undefined && options.telemetry)\n observe(\n options.telemetry.recordEvent('po_server.assistant_message', {\n session_id: options.sessionId,\n duration_ms: Date.now() - assistantMessageStartedAt,\n }),\n );\n assistantMessageStartedAt = undefined;\n }\n if (frame.type === 'agent_start') reportPromptLatency('agent_started');\n else if (frame.type === 'message_start' && message?.role === 'assistant') reportPromptLatency('response_started');\n else if (frame.type === 'message_update' && message?.role === 'assistant') reportPromptLatency('first_response');\n else if (frame.type === 'message_end' && message?.role === 'assistant') reportPromptLatency('response_completed');\n const presentStartedAt = performance.now();\n if (frame.type === 'lifecycle_update' && frame.lifecycle !== undefined)\n state.change(BACKGROUND_CONTEXT, (draft) => {\n const lifecycle = frame.lifecycle as SessionLifecycle;\n if ((draft.snapshot.lifecycle?.revision ?? -1) <= lifecycle.revision) draft.snapshot.lifecycle = lifecycle;\n });\n if (frame.type === 'navigation_end') historyGeneration += 1;\n present(frame);\n const presentDurationMs = performance.now() - presentStartedAt;\n if (options.telemetry && (presentDurationMs >= 50 || frame.type === SETTLED))\n observe(\n options.telemetry.recordEvent('po_server.presentation_frame', {\n session_id: options.sessionId,\n 'frame.type': frame.type,\n phase: 'publish',\n duration_ms: presentDurationMs,\n }),\n );\n if (frame.type === SETTLED) {\n lastToolResultAt = undefined;\n assistantMessageStartedAt = undefined;\n reportPromptLatency('settled');\n promptLatency = undefined;\n const waiting = [...settlers];\n settlers.clear();\n for (const settle of waiting) settle.resolve();\n }\n updateLive(frame, message?.role);\n });\n\n const terminate = (error: Error): void => {\n if (disposed) return;\n disposed = true;\n for (const fail of promptFailures) fail(error);\n promptFailures.clear();\n rejectSettlers(error);\n unsubscribePresentation();\n clearTimeout(liveCooldown);\n };\n observe(\n options.runtime.exited.then(\n () => terminate(new Error('The session runtime exited')),\n (error: unknown) => terminate(error instanceof Error ? error : new Error(String(error))),\n ),\n );\n const requireLive = (): void => {\n if (disposed) throw new Error('The session runtime is disposed');\n };\n const guardContext = (context: Context): void => {\n requireLive();\n context.abortSignal?.throwIfAborted();\n };\n const awaitSettled = (): { promise: Promise<void>; resolve(): void; reject(error: Error): void } => {\n let fail!: (error: Error) => void;\n let finish!: () => void;\n const promise = new Promise<void>((resolve, reject) => {\n const waiter = {\n resolve: () => {\n settlers.delete(waiter);\n resolve();\n },\n reject: (error: Error) => {\n settlers.delete(waiter);\n reject(error);\n },\n };\n fail = waiter.reject;\n finish = waiter.resolve;\n settlers.add(waiter);\n });\n observe(promise);\n return { promise, resolve: finish, reject: fail };\n };\n const messageArgs = (\n input: string | SessionMessageArgs,\n ): { message: string; images?: SessionMessageArgs['images'] } => {\n const args = typeof input === 'string' ? { text: input } : input;\n if (!args || typeof args.text !== 'string') throw new Error('Prompt message must be a string');\n if (\n args.images !== undefined &&\n (!Array.isArray(args.images) ||\n !args.images.every(\n (image) => image?.type === 'image' && typeof image.data === 'string' && typeof image.mimeType === 'string',\n ))\n )\n throw new Error('Invalid message images');\n return { message: args.text, ...(args.images === undefined ? {} : { images: args.images }) };\n };\n const hydrate = async (): Promise<void> => {\n const lifecycle = await options.runtime.readLifecycle();\n if (disposed) return;\n state.change(BACKGROUND_CONTEXT, (draft) => {\n if ((draft.snapshot.lifecycle?.revision ?? -1) <= lifecycle.revision) draft.snapshot.lifecycle = lifecycle;\n draft.presentation = presentation.resetCustomEntries();\n });\n };\n let initializing: Promise<void> | undefined;\n\n return {\n state,\n async readTranscriptPage(args, context) {\n guardContext(context);\n if (args.threadId !== undefined) {\n if (!options.readThreadTranscript) throw new Error('Child transcript reader is unavailable');\n return options.readThreadTranscript(args.threadId, args, context);\n }\n const generation = historyGeneration;\n const revision = state.value.presentation?.revision ?? 0;\n const started = performance.now();\n const page = await readTranscriptPage(\n {\n sessionId: options.runtime.sessionId,\n laneName: options.runtime.laneName,\n lane: durableTranscriptLane(\n (query, limit, cursor, scanContext) => options.runtime.scanEntries(query, limit, cursor, scanContext),\n (readContext) => options.runtime.readIdentities(readContext),\n ),\n },\n args,\n generation,\n context,\n );\n if (options.telemetry)\n observe(\n options.telemetry.recordEvent('po_server.transcript_page', {\n session_id: options.sessionId,\n phase: args.direction ?? 'latest',\n duration_ms: performance.now() - started,\n count: page.entries.length,\n }),\n );\n if (generation !== historyGeneration) throw new Error('STALE_TRANSCRIPT_CURSOR');\n return { ...page, revision };\n },\n initialize() {\n initializing ??= hydrate().catch((error: unknown) => {\n initializing = undefined;\n throw error;\n });\n return initializing;\n },\n async prompt(text: string | PromptArgs, context) {\n guardContext(context);\n const args = messageArgs(text);\n const waitFor = typeof text === 'string' ? 'settled' : (text.waitFor ?? 'settled');\n if (waitFor !== 'accepted' && waitFor !== 'settled') throw new Error('Invalid prompt acknowledgement mode');\n let projection: ReturnType<typeof awaitSettled> | undefined;\n let latency: PromptLatency | undefined;\n let submitted = false;\n let failed: Error | undefined;\n let rejectFailure!: (error: Error) => void;\n const failure = new Promise<void>((_resolve, reject) => {\n rejectFailure = reject;\n });\n const fail = (error: Error): void => {\n if (failed !== undefined) return;\n failed = error;\n projection?.reject(error);\n rejectFailure(error);\n if (latency !== undefined && promptLatency === latency) {\n reportPromptLatency('failed');\n promptLatency = undefined;\n }\n };\n const cancel = (): void => {\n if (failed !== undefined) return;\n fail(new Error('The session prompt was cancelled', { cause: context.abortSignal?.reason }));\n if (submitted && waitFor === 'settled') void options.runtime.abort().catch(() => undefined);\n };\n const guardPrompt = (): void => {\n if (failed !== undefined) throw failed;\n guardContext(context);\n };\n const submit = async () => {\n guardPrompt();\n submitted = true;\n // Native admission atomically chooses idle submission or busy steering.\n const submission = await options.runtime.submitPrompt(args.message, args.images, 'steer');\n observe(submission.settled);\n guardPrompt();\n return submission;\n };\n const span = <T>(name: string, callback: () => Promise<T>): Promise<T> => {\n const operation = options.telemetry\n ? options.telemetry.runInSpan(name, { session_id: options.sessionId }, callback)\n : callback();\n observe(operation);\n return operation;\n };\n const run = async (): Promise<void> => {\n guardPrompt();\n const lifecycle = await options.runtime.readLifecycle();\n guardPrompt();\n if (lifecycle.operation !== null || settlers.size > 0) {\n if (isSelectionCommand(args.message)) {\n const handled = await options.runtime.dispatchCommand(args.message);\n guardPrompt();\n if (handled) return;\n }\n }\n if (waitFor === 'accepted' && !options.telemetry) {\n await submit();\n return;\n }\n const startedAt = Date.now();\n if (promptLatency === undefined)\n latency = promptLatency = { startedAt, lastStageAt: startedAt, reported: new Set() };\n const settled = (projection = awaitSettled());\n let resolveAdmission: (() => void) | undefined;\n const admitted =\n waitFor === 'accepted'\n ? new Promise<void>((resolve) => {\n resolveAdmission = resolve;\n })\n : undefined;\n const completion = span('po_server.prompt_to_settled', async () => {\n const submission = await span('po_server.prompt_admission', submit);\n guardPrompt();\n if (submission.handledCommand) settled.resolve();\n if (latency !== undefined && promptLatency === latency) reportPromptLatency('accepted');\n resolveAdmission?.();\n await Promise.all([\n span('po_server.prompt_engine_settlement', () => submission.settled),\n span('po_server.prompt_projection_settlement', () => settled.promise),\n ]);\n }).catch((error: unknown) => {\n const cause = error instanceof Error ? error : new Error(String(error));\n fail(cause);\n throw cause;\n });\n if (admitted) await Promise.race([admitted, completion]);\n else await completion;\n };\n promptFailures.add(fail);\n context.abortSignal?.addEventListener('abort', cancel, { once: true });\n try {\n await Promise.race([run(), failure]);\n } catch (error) {\n const cause = error instanceof Error ? error : new Error(String(error));\n fail(cause);\n throw cause;\n } finally {\n promptFailures.delete(fail);\n context.abortSignal?.removeEventListener('abort', cancel);\n }\n },\n async steer(text: string | SessionMessageArgs) {\n requireLive();\n const args = messageArgs(text);\n await options.runtime.steer(args.message, args.images);\n },\n async abort() {\n requireLive();\n await options.runtime.abort((await options.runtime.readLifecycle()).operation?.id);\n },\n async abortOperation(args) {\n requireLive();\n if (!args || typeof args.operationId !== 'string' || !args.operationId)\n throw new Error('Invalid operation identity');\n await options.runtime.abort(args.operationId);\n },\n async setModel(model, context) {\n guardContext(context);\n if (!model || typeof model.provider !== 'string' || typeof model.id !== 'string')\n throw new Error('Invalid model');\n await options.runtime.setModel(model);\n },\n async setFastMode(enabled, context) {\n guardContext(context);\n if (typeof enabled !== 'boolean') throw new Error('Invalid fast mode');\n await options.runtime.setFastMode(enabled);\n state.change(context, (draft) => {\n draft.snapshot.fastMode = enabled;\n });\n },\n async setAgentLock(locked, context) {\n guardContext(context);\n if (typeof locked !== 'boolean') throw new Error('Invalid agent lock');\n await options.runtime.setAgentLock(locked);\n state.change(context, (draft) => {\n draft.snapshot.locked = locked;\n });\n },\n async setThinking(thinkingLevel, context) {\n guardContext(context);\n if (!['off', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max'].includes(thinkingLevel))\n throw new Error('Invalid thinking level');\n await options.runtime.setThinkingLevel(thinkingLevel);\n },\n async followUp(args, context) {\n guardContext(context);\n const message = messageArgs(args);\n await options.runtime.followUp(message.message, message.images);\n },\n async enqueueAutomatic(args, context) {\n guardContext(context);\n const message = messageArgs(args);\n return options.runtime.enqueueAutomatic(message.message, message.images);\n },\n async removeQueued(args, context) {\n guardContext(context);\n if (!args || typeof args.id !== 'string' || !args.id) throw new Error('Invalid queue identity');\n return options.runtime.removeQueued(args.id);\n },\n async promoteQueued(args, context) {\n guardContext(context);\n if (\n !args ||\n typeof args.id !== 'string' ||\n !args.id ||\n (args.operationId !== undefined && (typeof args.operationId !== 'string' || !args.operationId))\n )\n throw new Error('Invalid queue promotion');\n return options.runtime.promoteQueued(args.id, args.operationId);\n },\n async resumeQueue(context) {\n guardContext(context);\n await options.runtime.resumeQueue();\n },\n async clearQueue(context) {\n guardContext(context);\n return options.runtime.clearQueue();\n },\n async rewind(args, context) {\n guardContext(context);\n if (!args || typeof args.itemId !== 'string' || !args.itemId) throw new Error('Invalid rewind identity');\n const { entries } = await options.runtime.readEntries();\n const entry = entries.toReversed().find((candidate) => {\n if (candidate.type !== 'message' || typeof candidate.id !== 'string') return false;\n const message = candidate.message;\n if (!message || typeof message !== 'object' || Array.isArray(message)) return false;\n const record = message as unknown as Record<string, unknown>;\n return (\n candidate.id === args.itemId ||\n record.id === args.itemId ||\n (record.role === 'user' && typeof record.timestamp === 'number' && args.itemId === `user-${record.timestamp}`)\n );\n });\n if (!entry) throw new Error('The selected message is not in the active session tree.');\n const result = await options.runtime.navigateTree(entry.id, {\n ...(args.summarize === undefined ? {} : { summarize: args.summarize }),\n ...(args.customInstructions === undefined ? {} : { customInstructions: args.customInstructions }),\n ...(args.replaceInstructions === undefined ? {} : { replaceInstructions: args.replaceInstructions }),\n ...(args.label === undefined ? {} : { label: args.label }),\n });\n if (!result.cancelled) await hydrate();\n return result as RewindResult;\n },\n async extensionUiResponse(response, context) {\n guardContext(context);\n if (\n !response ||\n typeof response.id !== 'string' ||\n !response.id ||\n !(\n ('value' in response && typeof response.value === 'string') ||\n ('confirmed' in response && typeof response.confirmed === 'boolean') ||\n ('cancelled' in response && response.cancelled === true)\n )\n )\n throw new Error('Invalid extension UI response');\n if (!options.respondToExtensionUi?.({ ...response, type: 'extension_ui_response' }))\n throw new Error(`No pending extension UI request: ${response.id}`);\n present({ type: 'extension_ui_answered', id: response.id });\n state.change(context, () => undefined);\n },\n async getState(context) {\n guardContext(context);\n const runtimeState = await options.runtime.readState();\n return { ...runtimeState, fastMode: runtimeState.fastMode === true } as unknown as SessionStateInfo;\n },\n async getSessionStats(context) {\n guardContext(context);\n return sessionStats(options.runtime, options.sessionId);\n },\n async getCommands(context) {\n guardContext(context);\n return options.runtime\n .listCommands()\n .map(({ name, description }): SessionCommand => ({ name, description, source: 'extension' }));\n },\n async getAvailableModels(context) {\n guardContext(context);\n return (await options.runtime.availableModels()).map((model) => ({\n provider: model.provider,\n id: model.id,\n })) as ModelRef[];\n },\n async getAvailableThinkingLevels(context) {\n guardContext(context);\n return (await options.runtime.availableThinkingLevels()) as ThinkingLevel[];\n },\n async compact(args, context) {\n guardContext(context);\n await options.runtime.compact(args.customInstructions);\n return null;\n },\n async setName(name, context) {\n guardContext(context);\n if (typeof name !== 'string' || name.length > 256) throw new Error('Invalid session name');\n await options.runtime.setName(name);\n },\n async setGroups(groups, context) {\n guardContext(context);\n await options.runtime.setGroups(normalizeSessionGroups(groups));\n },\n async dispose() {\n terminate(new Error('The session runtime is disposed'));\n },\n };\n}\n\n/** Host-local, shared by every connection: one projected runtime per live session generation. */\nconst SessionStateValue = Type.Union([Type.Null(), SessionServiceStateSchema]);\n\n/** Host-local, shared by every connection: one projected runtime per live session generation. */\nconst PoSessionCore = local('po.session-core', {\n version: 1,\n input: Type.Object({ sessionId: Type.String({ minLength: 1 }), generation: Type.Integer({ minimum: 0 }) }),\n members: {\n runtime: opaque<AgentSessionRuntime>('po.agent-session-runtime@1'),\n state: SessionStateValue,\n alive: Type.Boolean(),\n },\n});\n\nexport interface AgentSessionBinding {\n /** Distinguishes a restarted session runtime from the one it replaced. */\n readonly generation: number;\n readonly options: AgentSessionRuntimeOptions;\n /** Settles when the runtime behind this generation exits. */\n readonly exited?: Promise<unknown>;\n /** Evaluated for every call, so a later Desktop claim also blocks existing handles. */\n permitted(): boolean;\n}\n\n/** Linger keeps a quickly reattaching browser on the same projection. */\nconst SESSION_CORE_LINGER_MS = 30_000;\n\nfunction contextOf(ctx: Ctx): Context {\n return withAbortSignal(ctx.signal, BACKGROUND_CONTEXT);\n}\n\nfunction untilAborted(signal: AbortSignal): Promise<void> {\n return new Promise((resolve) => {\n if (signal.aborted) resolve();\n else signal.addEventListener('abort', () => resolve(), { once: true });\n });\n}\n\n/**\n * Serves `po.session` on `host`. `resolve` returns the session a principal may reach, or\n * undefined to refuse it.\n */\nexport function serveAgentSessions(\n host: Host,\n options: { resolve(sessionId: string, principal: unknown): AgentSessionBinding | undefined },\n): void {\n const bindings = new Map<string, AgentSessionBinding>();\n const keyOf = (sessionId: string, generation: number) => `${generation}\\0${sessionId}`;\n\n host.serve(\n PoSessionCore,\n ({ sessionId, generation }, _principal, self) => {\n const binding = bindings.get(keyOf(sessionId, generation));\n if (binding === undefined) throw forbidden(`No session ${sessionId}`);\n const state = self.state('state', SessionStateValue, null);\n const alive = self.state('alive', Type.Boolean(), true);\n const runtime = self.resource('runtime', {\n version: 1,\n open: async () => {\n const created = createAgentSessionRuntime(binding.options);\n try {\n await created.initialize();\n } catch (error) {\n await created.dispose();\n throw error;\n }\n return created;\n },\n close: (created) => created.dispose(),\n });\n self.on(\n 'mirror',\n runtime,\n (created) => created.state as unknown as Subscribable<SessionServiceState>,\n // Streaming partials grow by appends, so diff explicitly rather than resend the whole state.\n (value, ctx) => state.replace(ctx, value, { diff: true }),\n );\n const exited = binding.exited;\n if (exited !== undefined)\n self.task(async (ctx) => {\n await Promise.race([exited, untilAborted(ctx.signal)]);\n if (!ctx.signal.aborted) alive.replace(ctx, false);\n });\n return { runtime: self.expose(runtime), state, alive };\n },\n { linger: SESSION_CORE_LINGER_MS },\n );\n\n host.serve(PoSessionContract, (input, principal, self) => {\n const { sessionId } = input;\n const binding = options.resolve(sessionId, principal);\n if (binding === undefined) throw forbidden(`No session ${sessionId}`);\n bindings.set(keyOf(sessionId, binding.generation), binding);\n const core = self.get(PoSessionCore, { sessionId, generation: binding.generation });\n const live = (ctx: Ctx): [AgentSessionRuntime, Context] => {\n if (!binding.permitted()) throw forbidden('This session belongs to Desktop.');\n const runtime = core.runtime;\n if (runtime === undefined) throw new Error('The session runtime is not ready.');\n return [runtime, contextOf(ctx)];\n };\n return {\n variant: 'default',\n state: core.state,\n alive: core.alive,\n readTranscriptPage: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.readTranscriptPage(args, context);\n },\n prompt: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.prompt(args as never, context);\n },\n steer: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.steer(args as never, context);\n },\n abort: (ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.abort(context);\n },\n abortOperation: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.abortOperation(args, context);\n },\n setModel: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.setModel(args, context);\n },\n setThinking: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.setThinking(args, context);\n },\n setFastMode: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.setFastMode(args, context);\n },\n setAgentLock: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.setAgentLock(args, context);\n },\n followUp: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.followUp(args, context);\n },\n enqueueAutomatic: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.enqueueAutomatic(args, context);\n },\n removeQueued: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.removeQueued(args, context);\n },\n promoteQueued: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.promoteQueued(args, context);\n },\n resumeQueue: (ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.resumeQueue(context);\n },\n clearQueue: (ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.clearQueue(context);\n },\n rewind: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.rewind(args, context);\n },\n extensionUiResponse: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.extensionUiResponse(args, context);\n },\n getState: (ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.getState(context);\n },\n getSessionStats: (ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.getSessionStats(context);\n },\n getCommands: (ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.getCommands(context);\n },\n getAvailableModels: (ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.getAvailableModels(context);\n },\n getAvailableThinkingLevels: (ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.getAvailableThinkingLevels(context);\n },\n compact: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.compact(args, context);\n },\n setName: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.setName(args, context);\n },\n setGroups: (args, ctx) => {\n const [runtime, context] = live(ctx);\n return runtime.setGroups(args, context);\n },\n };\n });\n}\n"],"mappings":";;;;;;;;;;;AAwCA,MAAM,UAAU;AAChB,MAAM,uBAAuB;AAC7B,MAAM,qCAAqB,IAAI,IAAI;CAAC;CAAQ;CAAW;CAAW;AAAO,CAAC;;AAG1E,MAAM,8BAAc,IAAI,IAA2B;CACjD,CAAC,eAAe,MAAM;CACtB,CAAC,iBAAiB,MAAM;CACxB,CAAC,oBAAoB,YAAY;CACjC,CAAC,kBAAkB,MAAM;CACzB,CAAC,oBAAoB,OAAO;CAC5B,CAAC,kBAAkB,MAAM;AAC3B,CAAC;;;;;;AAMD,MAAM,yBAAyB;AAE/B,SAAS,mBAAmB,MAAuB;CACjD,MAAM,QAAQ,WAAW,KAAK,IAAI;CAClC,OAAO,UAAU,QAAQ,mBAAmB,IAAI,MAAM,EAAG;AAC3D;AAEA,SAAS,MAAM,OAA2C;CACxD,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,QAAQ,SAAS,OAAO,SAAS,YAAY,SAAS,IAAI,IAAI,CAAC;AACrG;;AAGA,SAAS,YAAY,SAAuE;CAC1F,MAAM,UAA0D,CAAC;CACjE,KAAK,MAAM,QAAQ,MAAM,QAAQ,OAAO,GAAG;EACzC,IAAI,KAAK,SAAS,UAAU,OAAO,KAAK,SAAS,UAAU,QAAQ,KAAK;GAAE,MAAM;GAAQ,MAAM,KAAK;EAAK,CAAC;EACzG,IAAI,KAAK,SAAS,cAAc,OAAO,KAAK,aAAa,UACvD,QAAQ,KAAK;GACX,MAAM;GACN,UAAU,KAAK;GACf,GAAI,KAAK,aAAa,OAAO,EAAE,UAAU,KAAc,IAAI,CAAC;EAC9D,CAAC;CACL;CACA,OAAO;EACL,MAAM;EACN;EACA,OAAO,OAAO,QAAQ,UAAU,WAAW,QAAQ,QAAQ;EAC3D,WAAW,OAAO,QAAQ,cAAc,WAAW,QAAQ,YAAY;CACzE;AACF;AAEA,SAAS,WAAW,QAAgF;CAClG,MAAM,UAAoE,CAAC;CAC3E,KAAK,MAAM,QAAQ,MAAM,OAAO,OAAO,GAAG;EACxC,IAAI,KAAK,SAAS,UAAU,OAAO,KAAK,SAAS,UAAU,QAAQ,KAAK;GAAE,MAAM;GAAQ,MAAM,KAAK;EAAK,CAAC;EACzG,IAAI,KAAK,SAAS,WAAW,OAAO,KAAK,SAAS,YAAY,OAAO,KAAK,aAAa,UACrF,QAAQ,KAAK;GAAE,MAAM;GAAS,MAAM,KAAK;GAAM,UAAU,KAAK;EAAS,CAAC;CAC5E;CACA,OAAO;EACL;EACA,GAAI,OAAO,YAAY,KAAA,IAAY,CAAC,IAAI,EAAE,UAAA,GAASA,uBAAAA,SAAAA,CAAS,OAAO,SAAS,EAAE,yBAAyB,KAAK,CAAC,EAAE;CACjH;AACF;AAQA,eAAe,aAAa,SAA+B,WAA0C;CACnG,MAAM,SAAS,MAAM,QAAQ,gBAAgB;CAC7C,MAAM,EAAE,iBAAiB;CACzB,OAAO;EACL;EACA,eAAe,OAAO;EACtB,QAAQ;GACN,OAAO,OAAO,MAAM;GACpB,QAAQ,OAAO,MAAM;GACrB,WAAW,OAAO,MAAM;GACxB,YAAY,OAAO,MAAM;GACzB,OAAO,OAAO,MAAM;EACtB;EACA,MAAM,OAAO,MAAM,KAAK;EACxB,GAAI,iBAAiB,KAAA,IAAY,CAAC,IAAI,EAAE,aAAa;CACvD;AACF;;AA0BA,SAAgB,0BAA0B,SAA0D;CAClG,MAAM,eAAeC,gBAAAA,0BAA0B;CAC/C,IAAI,oBAAoB;CACxB,MAAM,SAAA,GAAQC,uBAAAA,gBAAAA,CAAqC;EACjD,UAAU;GAAE,UAAU;GAAO,QAAQ;EAAM;EAC3C,cAAc;GAAE,UAAU;GAAG,SAAS;GAAG,QAAQ,CAAC;GAAG,aAAa,CAAC;EAAE;CACvE,CAAC;CACD,QAAa,QACV,UAAU,CAAC,CACX,MAAM,iBAAiB;EACtB,IAAI,CAAC,UACH,MAAM,OAAOC,8BAAAA,qBAAqB,UAAU;GAC1C,MAAM,SAAS,WAAW,aAAa,aAAa;GACpD,MAAM,SAAS,SAAS,aAAa,gBAAgB;EACvD,CAAC;CACL,CAAC,CAAC,CACD,OAAO,UAAU;EAChB,IAAI,CAAC,UAAU,QAAQ;GAAE,MAAM;GAAS,OAAO,OAAO,KAAK;EAAE,CAAC;CAChE,CAAC;CACH,MAAM,WAAW,UAAyC;EACxD,IAAI,MAAM,SAAS,uBAAuB,OAAO,MAAM,YAAY,WACjE,MAAM,OAAOA,8BAAAA,qBAAqB,UAAU;GAC1C,MAAM,SAAS,WAAW,MAAM;EAClC,CAAC;EACH,IAAI,MAAM,SAAS,wBAAwB,OAAO,MAAM,WAAW,WACjE,MAAM,OAAOA,8BAAAA,qBAAqB,UAAU;GAC1C,MAAM,SAAS,SAAS,MAAM;EAChC,CAAC;EACH,MAAM,QAAQ,MAAM;EACpB,IAAI,MAAM,SAAS,oBAAoB,OAAO,OAAO,QAAQ,UAC3D,QAAQ;GACN,GAAG;GACH,kBAAkBC,cAAAA,iBAAiB,QAAQ,WAAW,QAAQ,QAAQ,UAAU,mBAAmB,MAAM,GAAG;EAC9G;EACF,MAAM,OAAO,aAAa,OAAO,KAAK;EACtC,IAAI,MACF,MAAM,OAAOD,8BAAAA,qBAAqB,UAAU;GAC1C,MAAM,eAAe;EACvB,CAAC;CACL;CACA,MAAM,2BAAW,IAAI,IAAqD;CAC1E,MAAM,iCAAiB,IAAI,IAA4B;CACvD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI,WAAW;CACf,MAAM,uBAAuB,UAAwB;EACnD,MAAM,SAAS;EACf,IAAI,WAAW,KAAA,KAAa,OAAO,SAAS,IAAI,KAAK,KAAK,QAAQ,cAAc,KAAA,GAAW;EAC3F,MAAM,MAAM,KAAK,IAAI;EACrB,OAAO,SAAS,IAAI,KAAK;EACzB,wBAAA,QACE,QAAQ,UAAU,YAAY,sBAAsB;GAClD,YAAY,QAAQ;GACpB;GACA,aAAa,MAAM,OAAO;GAC1B,mBAAmB,MAAM,OAAO;EAClC,CAAC,CACH;EACA,OAAO,cAAc;CACvB;CACA,MAAM,kBAAkB,UAAuB;EAC7C,KAAK,MAAM,UAAU,UAAU,OAAO,OAAO,KAAK;EAClD,SAAS,MAAM;CACjB;CAGA,IAAI;CACJ,MAAM,iCAAiB,IAAI,IAA2D;CACtF,IAAI;CACJ,MAAM,kBAAwB;EAC5B,IAAI,mBAAmB,KAAA,KAAa,eAAe,SAAS,GAAG;EAC/D,MAAM,UAAU;EAChB,MAAM,UAAU,CAAC,GAAG,cAAc;EAClC,iBAAiB,KAAA;EACjB,eAAe,MAAM;EACrB,MAAM,OAAOA,8BAAAA,qBAAqB,UAAU;GAC1C,MAAM,OAAQ,MAAM,SAAS;IAAE,OAAO;IAAQ,OAAO,CAAC;GAAE;GACxD,IAAI,SAAS,KAAK,UAAU;GAC5B,KAAK,MAAM,CAAC,YAAY,kBAAkB,SAAS;IACjD,MAAM,OAAO,KAAK,MAAM;IACxB,IAAI,MAAM,KAAK,gBAAgB;GACjC;EACF,CAAC;CACH;CACA,MAAM,iBAAuB;EAC3B,eAAe,KAAA;EACf,IAAI,mBAAmB,KAAA,KAAa,eAAe,OAAO,GAAG,aAAa;CAC5E;CAEA,MAAM,qBAA2B;EAC/B,IAAI,iBAAiB,KAAA,GAAW;EAChC,UAAU;EACV,eAAe,WAAW,UAAU,sBAAsB;CAC5D;CAGA,MAAM,cAAc,OAA2B,SAAwB;EACrE,MAAM,SAAS,WACb,MAAM,OAAOA,8BAAAA,qBAAqB,UAAU,OAAQ,MAAM,SAAS;GAAE,OAAO;GAAQ,OAAO,CAAC;EAAE,CAAE,CAAC;EACnG,MAAM,QAAQ,YAAY,IAAI,MAAM,IAAI;EACxC,MAAM,OAAO,MAAM,MAAM;EACzB,MAAM,aAAa,OAAO,MAAM,eAAe,WAAW,MAAM,aAAa;EAC7E,IAAI,UAAU,QACR;OAAA,MACF,MAAM,OAAOA,8BAAAA,qBAAqB,UAAU;IAC1C,OAAO,MAAM;GACf,CAAC;EAAA,OACE,IAAI,UAAU,KAAA,GACnB,OAAO,SAAS;GACd,KAAK,QAAQ;EACf,CAAC;OACI,IAAI,MAAM,SAAS,oBAAoB,SAAS,aAAa;GAClE,iBAAiB,YAAY,MAAM,OAAkC;GACrE,aAAa;EACf,OAAO,IAAI,MAAM,SAAS,mBAAmB,SAAS,aAAa;GACjE,MAAM,UAAU,YAAY,MAAM,OAAkC;GACpE,OAAO,SAAS;IACd,KAAK,UAAU;GACjB,CAAC;EACH,OAAO,IAAI,MAAM,SAAS,iBAAiB,SAAS,aAC9C;OAAA,MAAM,SACR,OAAO,SAAS;IACd,OAAO,KAAK;GACd,CAAC;EAAA,OACE,IAAI,MAAM,SAAS,0BAA0B,YAAY;GAC9D,MAAM,OAAwB;IAC5B;IACA,UAAU,OAAO,MAAM,aAAa,WAAW,MAAM,WAAW;IAChE,OAAA,GAAMH,uBAAAA,SAAAA,CAAS,MAAM,QAAQ,MAAM,EAAE,yBAAyB,KAAK,CAAC;GACtE;GACA,OAAO,SAAS;IACd,KAAK,MAAM,cAAc;GAC3B,CAAC;EACH,OAAO,IAAI,MAAM,SAAS,2BAA2B,MAAM,MAAM,aAAa;GAC5E,eAAe,IAAI,YAAY,WAAY,MAAM,iBAAiB,CAAC,CAA6B,CAAC;GACjG,aAAa;EACf,OAAO,IAAI,MAAM,SAAS,wBAAwB,MAAM,MAAM,aAC5D,OAAO,SAAS;GACd,OAAO,KAAK,MAAM;EACpB,CAAC;CAEL;CAIA,MAAM,2BAFJ,QAAQ,yBACN,aAAkD,QAAQ,QAAQ,oBAAoB,QAAQ,GAAA,EAC3C,UAAU;EAC/D,IAAI,UAAU;EAEd,IAAI,MAAM,SAAS,oBAAoB,MAAM,SAAS,yBAAyB,UAAU;EACzF,MAAM,UACJ,OAAO,MAAM,YAAY,YAAY,MAAM,YAAY,OAAQ,MAAM,UAAiC,KAAA;EACxG,IAAI,MAAM,SAAS,iBAAiB,SAAS,SAAS,cAAc,mBAAmB,KAAK,IAAI;EAChG,IAAI,MAAM,SAAS,mBAAmB,SAAS,SAAS,aAAa;GACnE,MAAM,MAAM,KAAK,IAAI;GACrB,4BAA4B;GAC5B,IAAI,qBAAqB,KAAA,KAAa,QAAQ,WAC5C,wBAAA,QACE,QAAQ,UAAU,YAAY,qCAAqC;IACjE,YAAY,QAAQ;IACpB,aAAa,MAAM;GACrB,CAAC,CACH;GAEF,mBAAmB,KAAA;EACrB;EACA,IAAI,MAAM,SAAS,iBAAiB,SAAS,SAAS,aAAa;GACjE,IAAI,8BAA8B,KAAA,KAAa,QAAQ,WACrD,wBAAA,QACE,QAAQ,UAAU,YAAY,+BAA+B;IAC3D,YAAY,QAAQ;IACpB,aAAa,KAAK,IAAI,IAAI;GAC5B,CAAC,CACH;GACF,4BAA4B,KAAA;EAC9B;EACA,IAAI,MAAM,SAAS,eAAe,oBAAoB,eAAe;OAChE,IAAI,MAAM,SAAS,mBAAmB,SAAS,SAAS,aAAa,oBAAoB,kBAAkB;OAC3G,IAAI,MAAM,SAAS,oBAAoB,SAAS,SAAS,aAAa,oBAAoB,gBAAgB;OAC1G,IAAI,MAAM,SAAS,iBAAiB,SAAS,SAAS,aAAa,oBAAoB,oBAAoB;EAChH,MAAM,mBAAmB,YAAY,IAAI;EACzC,IAAI,MAAM,SAAS,sBAAsB,MAAM,cAAc,KAAA,GAC3D,MAAM,OAAOG,8BAAAA,qBAAqB,UAAU;GAC1C,MAAM,YAAY,MAAM;GACxB,KAAK,MAAM,SAAS,WAAW,YAAY,OAAO,UAAU,UAAU,MAAM,SAAS,YAAY;EACnG,CAAC;EACH,IAAI,MAAM,SAAS,kBAAkB,qBAAqB;EAC1D,QAAQ,KAAK;EACb,MAAM,oBAAoB,YAAY,IAAI,IAAI;EAC9C,IAAI,QAAQ,cAAc,qBAAqB,MAAM,MAAM,SAAS,UAClE,wBAAA,QACE,QAAQ,UAAU,YAAY,gCAAgC;GAC5D,YAAY,QAAQ;GACpB,cAAc,MAAM;GACpB,OAAO;GACP,aAAa;EACf,CAAC,CACH;EACF,IAAI,MAAM,SAAS,SAAS;GAC1B,mBAAmB,KAAA;GACnB,4BAA4B,KAAA;GAC5B,oBAAoB,SAAS;GAC7B,gBAAgB,KAAA;GAChB,MAAM,UAAU,CAAC,GAAG,QAAQ;GAC5B,SAAS,MAAM;GACf,KAAK,MAAM,UAAU,SAAS,OAAO,QAAQ;EAC/C;EACA,WAAW,OAAO,SAAS,IAAI;CACjC,CAAC;CAED,MAAM,aAAa,UAAuB;EACxC,IAAI,UAAU;EACd,WAAW;EACX,KAAK,MAAM,QAAQ,gBAAgB,KAAK,KAAK;EAC7C,eAAe,MAAM;EACrB,eAAe,KAAK;EACpB,wBAAwB;EACxB,aAAa,YAAY;CAC3B;CACA,wBAAA,QACE,QAAQ,QAAQ,OAAO,WACf,0BAAU,IAAI,MAAM,4BAA4B,CAAC,IACtD,UAAmB,UAAU,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC,CAAC,CACzF,CACF;CACA,MAAM,oBAA0B;EAC9B,IAAI,UAAU,MAAM,IAAI,MAAM,iCAAiC;CACjE;CACA,MAAM,gBAAgB,YAA2B;EAC/C,YAAY;EACZ,QAAQ,aAAa,eAAe;CACtC;CACA,MAAM,qBAA8F;EAClG,IAAI;EACJ,IAAI;EACJ,MAAM,UAAU,IAAI,SAAe,SAAS,WAAW;GACrD,MAAM,SAAS;IACb,eAAe;KACb,SAAS,OAAO,MAAM;KACtB,QAAQ;IACV;IACA,SAAS,UAAiB;KACxB,SAAS,OAAO,MAAM;KACtB,OAAO,KAAK;IACd;GACF;GACA,OAAO,OAAO;GACd,SAAS,OAAO;GAChB,SAAS,IAAI,MAAM;EACrB,CAAC;EACD,wBAAA,QAAQ,OAAO;EACf,OAAO;GAAE;GAAS,SAAS;GAAQ,QAAQ;EAAK;CAClD;CACA,MAAM,eACJ,UAC+D;EAC/D,MAAM,OAAO,OAAO,UAAU,WAAW,EAAE,MAAM,MAAM,IAAI;EAC3D,IAAI,CAAC,QAAQ,OAAO,KAAK,SAAS,UAAU,MAAM,IAAI,MAAM,iCAAiC;EAC7F,IACE,KAAK,WAAW,KAAA,MACf,CAAC,MAAM,QAAQ,KAAK,MAAM,KACzB,CAAC,KAAK,OAAO,OACV,UAAU,OAAO,SAAS,WAAW,OAAO,MAAM,SAAS,YAAY,OAAO,MAAM,aAAa,QACpG,IAEF,MAAM,IAAI,MAAM,wBAAwB;EAC1C,OAAO;GAAE,SAAS,KAAK;GAAM,GAAI,KAAK,WAAW,KAAA,IAAY,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO;EAAG;CAC7F;CACA,MAAM,UAAU,YAA2B;EACzC,MAAM,YAAY,MAAM,QAAQ,QAAQ,cAAc;EACtD,IAAI,UAAU;EACd,MAAM,OAAOA,8BAAAA,qBAAqB,UAAU;GAC1C,KAAK,MAAM,SAAS,WAAW,YAAY,OAAO,UAAU,UAAU,MAAM,SAAS,YAAY;GACjG,MAAM,eAAe,aAAa,mBAAmB;EACvD,CAAC;CACH;CACA,IAAI;CAEJ,OAAO;EACL;EACA,MAAM,mBAAmB,MAAM,SAAS;GACtC,aAAa,OAAO;GACpB,IAAI,KAAK,aAAa,KAAA,GAAW;IAC/B,IAAI,CAAC,QAAQ,sBAAsB,MAAM,IAAI,MAAM,wCAAwC;IAC3F,OAAO,QAAQ,qBAAqB,KAAK,UAAU,MAAM,OAAO;GAClE;GACA,MAAM,aAAa;GACnB,MAAM,WAAW,MAAM,MAAM,cAAc,YAAY;GACvD,MAAM,UAAU,YAAY,IAAI;GAChC,MAAM,OAAO,MAAME,cAAAA,mBACjB;IACE,WAAW,QAAQ,QAAQ;IAC3B,UAAU,QAAQ,QAAQ;IAC1B,MAAMC,cAAAA,uBACH,OAAO,OAAO,QAAQ,gBAAgB,QAAQ,QAAQ,YAAY,OAAO,OAAO,QAAQ,WAAW,IACnG,gBAAgB,QAAQ,QAAQ,eAAe,WAAW,CAC7D;GACF,GACA,MACA,YACA,OACF;GACA,IAAI,QAAQ,WACV,wBAAA,QACE,QAAQ,UAAU,YAAY,6BAA6B;IACzD,YAAY,QAAQ;IACpB,OAAO,KAAK,aAAa;IACzB,aAAa,YAAY,IAAI,IAAI;IACjC,OAAO,KAAK,QAAQ;GACtB,CAAC,CACH;GACF,IAAI,eAAe,mBAAmB,MAAM,IAAI,MAAM,yBAAyB;GAC/E,OAAO;IAAE,GAAG;IAAM;GAAS;EAC7B;EACA,aAAa;GACX,iBAAiB,QAAQ,CAAC,CAAC,OAAO,UAAmB;IACnD,eAAe,KAAA;IACf,MAAM;GACR,CAAC;GACD,OAAO;EACT;EACA,MAAM,OAAO,MAA2B,SAAS;GAC/C,aAAa,OAAO;GACpB,MAAM,OAAO,YAAY,IAAI;GAC7B,MAAM,UAAU,OAAO,SAAS,WAAW,YAAa,KAAK,WAAW;GACxE,IAAI,YAAY,cAAc,YAAY,WAAW,MAAM,IAAI,MAAM,qCAAqC;GAC1G,IAAI;GACJ,IAAI;GACJ,IAAI,YAAY;GAChB,IAAI;GACJ,IAAI;GACJ,MAAM,UAAU,IAAI,SAAe,UAAU,WAAW;IACtD,gBAAgB;GAClB,CAAC;GACD,MAAM,QAAQ,UAAuB;IACnC,IAAI,WAAW,KAAA,GAAW;IAC1B,SAAS;IACT,YAAY,OAAO,KAAK;IACxB,cAAc,KAAK;IACnB,IAAI,YAAY,KAAA,KAAa,kBAAkB,SAAS;KACtD,oBAAoB,QAAQ;KAC5B,gBAAgB,KAAA;IAClB;GACF;GACA,MAAM,eAAqB;IACzB,IAAI,WAAW,KAAA,GAAW;IAC1B,KAAK,IAAI,MAAM,oCAAoC,EAAE,OAAO,QAAQ,aAAa,OAAO,CAAC,CAAC;IAC1F,IAAI,aAAa,YAAY,WAAW,QAAa,QAAQ,MAAM,CAAC,CAAC,YAAY,KAAA,CAAS;GAC5F;GACA,MAAM,oBAA0B;IAC9B,IAAI,WAAW,KAAA,GAAW,MAAM;IAChC,aAAa,OAAO;GACtB;GACA,MAAM,SAAS,YAAY;IACzB,YAAY;IACZ,YAAY;IAEZ,MAAM,aAAa,MAAM,QAAQ,QAAQ,aAAa,KAAK,SAAS,KAAK,QAAQ,OAAO;IACxF,wBAAA,QAAQ,WAAW,OAAO;IAC1B,YAAY;IACZ,OAAO;GACT;GACA,MAAM,QAAW,MAAc,aAA2C;IACxE,MAAM,YAAY,QAAQ,YACtB,QAAQ,UAAU,UAAU,MAAM,EAAE,YAAY,QAAQ,UAAU,GAAG,QAAQ,IAC7E,SAAS;IACb,wBAAA,QAAQ,SAAS;IACjB,OAAO;GACT;GACA,MAAM,MAAM,YAA2B;IACrC,YAAY;IACZ,MAAM,YAAY,MAAM,QAAQ,QAAQ,cAAc;IACtD,YAAY;IACZ,IAAI,UAAU,cAAc,QAAQ,SAAS,OAAO,GAC9C;SAAA,mBAAmB,KAAK,OAAO,GAAG;MACpC,MAAM,UAAU,MAAM,QAAQ,QAAQ,gBAAgB,KAAK,OAAO;MAClE,YAAY;MACZ,IAAI,SAAS;KACf;;IAEF,IAAI,YAAY,cAAc,CAAC,QAAQ,WAAW;KAChD,MAAM,OAAO;KACb;IACF;IACA,MAAM,YAAY,KAAK,IAAI;IAC3B,IAAI,kBAAkB,KAAA,GACpB,UAAU,gBAAgB;KAAE;KAAW,aAAa;KAAW,0BAAU,IAAI,IAAI;IAAE;IACrF,MAAM,UAAW,aAAa,aAAa;IAC3C,IAAI;IACJ,MAAM,WACJ,YAAY,aACR,IAAI,SAAe,YAAY;KAC7B,mBAAmB;IACrB,CAAC,IACD,KAAA;IACN,MAAM,aAAa,KAAK,+BAA+B,YAAY;KACjE,MAAM,aAAa,MAAM,KAAK,8BAA8B,MAAM;KAClE,YAAY;KACZ,IAAI,WAAW,gBAAgB,QAAQ,QAAQ;KAC/C,IAAI,YAAY,KAAA,KAAa,kBAAkB,SAAS,oBAAoB,UAAU;KACtF,mBAAmB;KACnB,MAAM,QAAQ,IAAI,CAChB,KAAK,4CAA4C,WAAW,OAAO,GACnE,KAAK,gDAAgD,QAAQ,OAAO,CACtE,CAAC;IACH,CAAC,CAAC,CAAC,OAAO,UAAmB;KAC3B,MAAM,QAAQ,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;KACtE,KAAK,KAAK;KACV,MAAM;IACR,CAAC;IACD,IAAI,UAAU,MAAM,QAAQ,KAAK,CAAC,UAAU,UAAU,CAAC;SAClD,MAAM;GACb;GACA,eAAe,IAAI,IAAI;GACvB,QAAQ,aAAa,iBAAiB,SAAS,QAAQ,EAAE,MAAM,KAAK,CAAC;GACrE,IAAI;IACF,MAAM,QAAQ,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;GACrC,SAAS,OAAO;IACd,MAAM,QAAQ,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;IACtE,KAAK,KAAK;IACV,MAAM;GACR,UAAU;IACR,eAAe,OAAO,IAAI;IAC1B,QAAQ,aAAa,oBAAoB,SAAS,MAAM;GAC1D;EACF;EACA,MAAM,MAAM,MAAmC;GAC7C,YAAY;GACZ,MAAM,OAAO,YAAY,IAAI;GAC7B,MAAM,QAAQ,QAAQ,MAAM,KAAK,SAAS,KAAK,MAAM;EACvD;EACA,MAAM,QAAQ;GACZ,YAAY;GACZ,MAAM,QAAQ,QAAQ,OAAO,MAAM,QAAQ,QAAQ,cAAc,EAAA,CAAG,WAAW,EAAE;EACnF;EACA,MAAM,eAAe,MAAM;GACzB,YAAY;GACZ,IAAI,CAAC,QAAQ,OAAO,KAAK,gBAAgB,YAAY,CAAC,KAAK,aACzD,MAAM,IAAI,MAAM,4BAA4B;GAC9C,MAAM,QAAQ,QAAQ,MAAM,KAAK,WAAW;EAC9C;EACA,MAAM,SAAS,OAAO,SAAS;GAC7B,aAAa,OAAO;GACpB,IAAI,CAAC,SAAS,OAAO,MAAM,aAAa,YAAY,OAAO,MAAM,OAAO,UACtE,MAAM,IAAI,MAAM,eAAe;GACjC,MAAM,QAAQ,QAAQ,SAAS,KAAK;EACtC;EACA,MAAM,YAAY,SAAS,SAAS;GAClC,aAAa,OAAO;GACpB,IAAI,OAAO,YAAY,WAAW,MAAM,IAAI,MAAM,mBAAmB;GACrE,MAAM,QAAQ,QAAQ,YAAY,OAAO;GACzC,MAAM,OAAO,UAAU,UAAU;IAC/B,MAAM,SAAS,WAAW;GAC5B,CAAC;EACH;EACA,MAAM,aAAa,QAAQ,SAAS;GAClC,aAAa,OAAO;GACpB,IAAI,OAAO,WAAW,WAAW,MAAM,IAAI,MAAM,oBAAoB;GACrE,MAAM,QAAQ,QAAQ,aAAa,MAAM;GACzC,MAAM,OAAO,UAAU,UAAU;IAC/B,MAAM,SAAS,SAAS;GAC1B,CAAC;EACH;EACA,MAAM,YAAY,eAAe,SAAS;GACxC,aAAa,OAAO;GACpB,IAAI,CAAC;IAAC;IAAO;IAAW;IAAO;IAAU;IAAQ;IAAS;GAAK,CAAC,CAAC,SAAS,aAAa,GACrF,MAAM,IAAI,MAAM,wBAAwB;GAC1C,MAAM,QAAQ,QAAQ,iBAAiB,aAAa;EACtD;EACA,MAAM,SAAS,MAAM,SAAS;GAC5B,aAAa,OAAO;GACpB,MAAM,UAAU,YAAY,IAAI;GAChC,MAAM,QAAQ,QAAQ,SAAS,QAAQ,SAAS,QAAQ,MAAM;EAChE;EACA,MAAM,iBAAiB,MAAM,SAAS;GACpC,aAAa,OAAO;GACpB,MAAM,UAAU,YAAY,IAAI;GAChC,OAAO,QAAQ,QAAQ,iBAAiB,QAAQ,SAAS,QAAQ,MAAM;EACzE;EACA,MAAM,aAAa,MAAM,SAAS;GAChC,aAAa,OAAO;GACpB,IAAI,CAAC,QAAQ,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,wBAAwB;GAC9F,OAAO,QAAQ,QAAQ,aAAa,KAAK,EAAE;EAC7C;EACA,MAAM,cAAc,MAAM,SAAS;GACjC,aAAa,OAAO;GACpB,IACE,CAAC,QACD,OAAO,KAAK,OAAO,YACnB,CAAC,KAAK,MACL,KAAK,gBAAgB,KAAA,MAAc,OAAO,KAAK,gBAAgB,YAAY,CAAC,KAAK,cAElF,MAAM,IAAI,MAAM,yBAAyB;GAC3C,OAAO,QAAQ,QAAQ,cAAc,KAAK,IAAI,KAAK,WAAW;EAChE;EACA,MAAM,YAAY,SAAS;GACzB,aAAa,OAAO;GACpB,MAAM,QAAQ,QAAQ,YAAY;EACpC;EACA,MAAM,WAAW,SAAS;GACxB,aAAa,OAAO;GACpB,OAAO,QAAQ,QAAQ,WAAW;EACpC;EACA,MAAM,OAAO,MAAM,SAAS;GAC1B,aAAa,OAAO;GACpB,IAAI,CAAC,QAAQ,OAAO,KAAK,WAAW,YAAY,CAAC,KAAK,QAAQ,MAAM,IAAI,MAAM,yBAAyB;GACvG,MAAM,EAAE,YAAY,MAAM,QAAQ,QAAQ,YAAY;GACtD,MAAM,QAAQ,QAAQ,WAAW,CAAC,CAAC,MAAM,cAAc;IACrD,IAAI,UAAU,SAAS,aAAa,OAAO,UAAU,OAAO,UAAU,OAAO;IAC7E,MAAM,UAAU,UAAU;IAC1B,IAAI,CAAC,WAAW,OAAO,YAAY,YAAY,MAAM,QAAQ,OAAO,GAAG,OAAO;IAC9E,MAAM,SAAS;IACf,OACE,UAAU,OAAO,KAAK,UACtB,OAAO,OAAO,KAAK,UAClB,OAAO,SAAS,UAAU,OAAO,OAAO,cAAc,YAAY,KAAK,WAAW,QAAQ,OAAO;GAEtG,CAAC;GACD,IAAI,CAAC,OAAO,MAAM,IAAI,MAAM,yDAAyD;GACrF,MAAM,SAAS,MAAM,QAAQ,QAAQ,aAAa,MAAM,IAAI;IAC1D,GAAI,KAAK,cAAc,KAAA,IAAY,CAAC,IAAI,EAAE,WAAW,KAAK,UAAU;IACpE,GAAI,KAAK,uBAAuB,KAAA,IAAY,CAAC,IAAI,EAAE,oBAAoB,KAAK,mBAAmB;IAC/F,GAAI,KAAK,wBAAwB,KAAA,IAAY,CAAC,IAAI,EAAE,qBAAqB,KAAK,oBAAoB;IAClG,GAAI,KAAK,UAAU,KAAA,IAAY,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM;GAC1D,CAAC;GACD,IAAI,CAAC,OAAO,WAAW,MAAM,QAAQ;GACrC,OAAO;EACT;EACA,MAAM,oBAAoB,UAAU,SAAS;GAC3C,aAAa,OAAO;GACpB,IACE,CAAC,YACD,OAAO,SAAS,OAAO,YACvB,CAAC,SAAS,MACV,EACG,WAAW,YAAY,OAAO,SAAS,UAAU,YACjD,eAAe,YAAY,OAAO,SAAS,cAAc,aACzD,eAAe,YAAY,SAAS,cAAc,OAGrD,MAAM,IAAI,MAAM,+BAA+B;GACjD,IAAI,CAAC,QAAQ,uBAAuB;IAAE,GAAG;IAAU,MAAM;GAAwB,CAAC,GAChF,MAAM,IAAI,MAAM,oCAAoC,SAAS,IAAI;GACnE,QAAQ;IAAE,MAAM;IAAyB,IAAI,SAAS;GAAG,CAAC;GAC1D,MAAM,OAAO,eAAe,KAAA,CAAS;EACvC;EACA,MAAM,SAAS,SAAS;GACtB,aAAa,OAAO;GACpB,MAAM,eAAe,MAAM,QAAQ,QAAQ,UAAU;GACrD,OAAO;IAAE,GAAG;IAAc,UAAU,aAAa,aAAa;GAAK;EACrE;EACA,MAAM,gBAAgB,SAAS;GAC7B,aAAa,OAAO;GACpB,OAAO,aAAa,QAAQ,SAAS,QAAQ,SAAS;EACxD;EACA,MAAM,YAAY,SAAS;GACzB,aAAa,OAAO;GACpB,OAAO,QAAQ,QACZ,aAAa,CAAC,CACd,KAAK,EAAE,MAAM,mBAAmC;IAAE;IAAM;IAAa,QAAQ;GAAY,EAAE;EAChG;EACA,MAAM,mBAAmB,SAAS;GAChC,aAAa,OAAO;GACpB,QAAQ,MAAM,QAAQ,QAAQ,gBAAgB,EAAA,CAAG,KAAK,WAAW;IAC/D,UAAU,MAAM;IAChB,IAAI,MAAM;GACZ,EAAE;EACJ;EACA,MAAM,2BAA2B,SAAS;GACxC,aAAa,OAAO;GACpB,OAAQ,MAAM,QAAQ,QAAQ,wBAAwB;EACxD;EACA,MAAM,QAAQ,MAAM,SAAS;GAC3B,aAAa,OAAO;GACpB,MAAM,QAAQ,QAAQ,QAAQ,KAAK,kBAAkB;GACrD,OAAO;EACT;EACA,MAAM,QAAQ,MAAM,SAAS;GAC3B,aAAa,OAAO;GACpB,IAAI,OAAO,SAAS,YAAY,KAAK,SAAS,KAAK,MAAM,IAAI,MAAM,sBAAsB;GACzF,MAAM,QAAQ,QAAQ,QAAQ,IAAI;EACpC;EACA,MAAM,UAAU,QAAQ,SAAS;GAC/B,aAAa,OAAO;GACpB,MAAM,QAAQ,QAAQ,UAAUC,wBAAAA,uBAAuB,MAAM,CAAC;EAChE;EACA,MAAM,UAAU;GACd,0BAAU,IAAI,MAAM,iCAAiC,CAAC;EACxD;CACF;AACF;;AAGA,MAAM,oBAAoBC,QAAAA,KAAK,MAAM,CAACA,QAAAA,KAAK,KAAK,GAAGC,4BAAAA,yBAAyB,CAAC;;AAG7E,MAAM,iBAAA,GAAgBC,uBAAAA,MAAAA,CAAM,mBAAmB;CAC7C,SAAS;CACT,OAAOF,QAAAA,KAAK,OAAO;EAAE,WAAWA,QAAAA,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;EAAG,YAAYA,QAAAA,KAAK,QAAQ,EAAE,SAAS,EAAE,CAAC;CAAE,CAAC;CACzG,SAAS;EACP,UAAA,GAASG,uBAAAA,OAAAA,CAA4B,4BAA4B;EACjE,OAAO;EACP,OAAOH,QAAAA,KAAK,QAAQ;CACtB;AACF,CAAC;;AAaD,MAAM,yBAAyB;AAE/B,SAAS,UAAU,KAAmB;CACpC,QAAA,GAAOI,8BAAAA,gBAAAA,CAAgB,IAAI,QAAQT,8BAAAA,kBAAkB;AACvD;AAEA,SAAS,aAAa,QAAoC;CACxD,OAAO,IAAI,SAAS,YAAY;EAC9B,IAAI,OAAO,SAAS,QAAQ;OACvB,OAAO,iBAAiB,eAAe,QAAQ,GAAG,EAAE,MAAM,KAAK,CAAC;CACvE,CAAC;AACH;;;;;AAMA,SAAgB,mBACd,MACA,SACM;CACN,MAAM,2BAAW,IAAI,IAAiC;CACtD,MAAM,SAAS,WAAmB,eAAuB,GAAG,WAAW,IAAI;CAE3E,KAAK,MACH,gBACC,EAAE,WAAW,cAAc,YAAY,SAAS;EAC/C,MAAM,UAAU,SAAS,IAAI,MAAM,WAAW,UAAU,CAAC;EACzD,IAAI,YAAY,KAAA,GAAW,OAAA,GAAMU,uBAAAA,UAAAA,CAAU,cAAc,WAAW;EACpE,MAAM,QAAQ,KAAK,MAAM,SAAS,mBAAmB,IAAI;EACzD,MAAM,QAAQ,KAAK,MAAM,SAASL,QAAAA,KAAK,QAAQ,GAAG,IAAI;EACtD,MAAM,UAAU,KAAK,SAAS,WAAW;GACvC,SAAS;GACT,MAAM,YAAY;IAChB,MAAM,UAAU,0BAA0B,QAAQ,OAAO;IACzD,IAAI;KACF,MAAM,QAAQ,WAAW;IAC3B,SAAS,OAAO;KACd,MAAM,QAAQ,QAAQ;KACtB,MAAM;IACR;IACA,OAAO;GACT;GACA,QAAQ,YAAY,QAAQ,QAAQ;EACtC,CAAC;EACD,KAAK,GACH,UACA,UACC,YAAY,QAAQ,QAEpB,OAAO,QAAQ,MAAM,QAAQ,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC,CAC1D;EACA,MAAM,SAAS,QAAQ;EACvB,IAAI,WAAW,KAAA,GACb,KAAK,KAAK,OAAO,QAAQ;GACvB,MAAM,QAAQ,KAAK,CAAC,QAAQ,aAAa,IAAI,MAAM,CAAC,CAAC;GACrD,IAAI,CAAC,IAAI,OAAO,SAAS,MAAM,QAAQ,KAAK,KAAK;EACnD,CAAC;EACH,OAAO;GAAE,SAAS,KAAK,OAAO,OAAO;GAAG;GAAO;EAAM;CACvD,GACA,EAAE,QAAQ,uBAAuB,CACnC;CAEA,KAAK,MAAMM,gCAAAA,oBAAoB,OAAO,WAAW,SAAS;EACxD,MAAM,EAAE,cAAc;EACtB,MAAM,UAAU,QAAQ,QAAQ,WAAW,SAAS;EACpD,IAAI,YAAY,KAAA,GAAW,OAAA,GAAMD,uBAAAA,UAAAA,CAAU,cAAc,WAAW;EACpE,SAAS,IAAI,MAAM,WAAW,QAAQ,UAAU,GAAG,OAAO;EAC1D,MAAM,OAAO,KAAK,IAAI,eAAe;GAAE;GAAW,YAAY,QAAQ;EAAW,CAAC;EAClF,MAAM,QAAQ,QAA6C;GACzD,IAAI,CAAC,QAAQ,UAAU,GAAG,OAAA,GAAMA,uBAAAA,UAAAA,CAAU,kCAAkC;GAC5E,MAAM,UAAU,KAAK;GACrB,IAAI,YAAY,KAAA,GAAW,MAAM,IAAI,MAAM,mCAAmC;GAC9E,OAAO,CAAC,SAAS,UAAU,GAAG,CAAC;EACjC;EACA,OAAO;GACL,SAAS;GACT,OAAO,KAAK;GACZ,OAAO,KAAK;GACZ,qBAAqB,MAAM,QAAQ;IACjC,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,mBAAmB,MAAM,OAAO;GACjD;GACA,SAAS,MAAM,QAAQ;IACrB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,OAAO,MAAe,OAAO;GAC9C;GACA,QAAQ,MAAM,QAAQ;IACpB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,MAAM,MAAe,OAAO;GAC7C;GACA,QAAQ,QAAQ;IACd,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,MAAM,OAAO;GAC9B;GACA,iBAAiB,MAAM,QAAQ;IAC7B,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,eAAe,MAAM,OAAO;GAC7C;GACA,WAAW,MAAM,QAAQ;IACvB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,SAAS,MAAM,OAAO;GACvC;GACA,cAAc,MAAM,QAAQ;IAC1B,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,YAAY,MAAM,OAAO;GAC1C;GACA,cAAc,MAAM,QAAQ;IAC1B,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,YAAY,MAAM,OAAO;GAC1C;GACA,eAAe,MAAM,QAAQ;IAC3B,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,aAAa,MAAM,OAAO;GAC3C;GACA,WAAW,MAAM,QAAQ;IACvB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,SAAS,MAAM,OAAO;GACvC;GACA,mBAAmB,MAAM,QAAQ;IAC/B,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,iBAAiB,MAAM,OAAO;GAC/C;GACA,eAAe,MAAM,QAAQ;IAC3B,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,aAAa,MAAM,OAAO;GAC3C;GACA,gBAAgB,MAAM,QAAQ;IAC5B,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,cAAc,MAAM,OAAO;GAC5C;GACA,cAAc,QAAQ;IACpB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,YAAY,OAAO;GACpC;GACA,aAAa,QAAQ;IACnB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,WAAW,OAAO;GACnC;GACA,SAAS,MAAM,QAAQ;IACrB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,OAAO,MAAM,OAAO;GACrC;GACA,sBAAsB,MAAM,QAAQ;IAClC,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,oBAAoB,MAAM,OAAO;GAClD;GACA,WAAW,QAAQ;IACjB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,SAAS,OAAO;GACjC;GACA,kBAAkB,QAAQ;IACxB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,gBAAgB,OAAO;GACxC;GACA,cAAc,QAAQ;IACpB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,YAAY,OAAO;GACpC;GACA,qBAAqB,QAAQ;IAC3B,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,mBAAmB,OAAO;GAC3C;GACA,6BAA6B,QAAQ;IACnC,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,2BAA2B,OAAO;GACnD;GACA,UAAU,MAAM,QAAQ;IACtB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,QAAQ,MAAM,OAAO;GACtC;GACA,UAAU,MAAM,QAAQ;IACtB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,QAAQ,MAAM,OAAO;GACtC;GACA,YAAY,MAAM,QAAQ;IACxB,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG;IACnC,OAAO,QAAQ,UAAU,MAAM,OAAO;GACxC;EACF;CACF,CAAC;AACH"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { SessionService, SessionServiceState,
|
|
1
|
+
import { SessionService, SessionServiceState, TranscriptPage, TranscriptPageRequest } from "../schemas/sessionProtocol.mjs";
|
|
2
2
|
import { DirectHarnessFrame, DirectHarnessRuntime } from "../types/server/directHarnessRuntime.mjs";
|
|
3
3
|
import "../../sessionProtocol.mjs";
|
|
4
4
|
import { ServerTelemetry } from "../../serverTelemetry.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { ServerHost } from "@earendil-works/pi-server";
|
|
5
|
+
import { Context } from "@earendil-works/chord/context";
|
|
6
|
+
import { Host, MutableReplicatedState } from "@earendil-works/chord";
|
|
8
7
|
//#region src/pi/piSessionRuntime.d.ts
|
|
9
8
|
export interface AgentSessionRuntimeOptions {
|
|
10
9
|
runtime: DirectHarnessRuntime;
|
|
@@ -16,8 +15,6 @@ export interface AgentSessionRuntimeOptions {
|
|
|
16
15
|
onPresentationFrame?: (listener: (frame: DirectHarnessFrame) => void) => () => void;
|
|
17
16
|
/** Delivers one answered extension UI request to the session-scoped headless host. */
|
|
18
17
|
respondToExtensionUi?: (frame: DirectHarnessFrame) => boolean;
|
|
19
|
-
/** Test seam for the projection. */
|
|
20
|
-
transcript?: RpcTranscript;
|
|
21
18
|
readThreadTranscript?: (threadId: string, request: TranscriptPageRequest, context: Context) => Promise<TranscriptPage>;
|
|
22
19
|
}
|
|
23
20
|
export interface AgentSessionRuntime extends SessionService {
|
|
@@ -27,17 +24,21 @@ export interface AgentSessionRuntime extends SessionService {
|
|
|
27
24
|
}
|
|
28
25
|
/** Projects one in-process harness runtime as a Chord session service. */
|
|
29
26
|
export declare function createAgentSessionRuntime(options: AgentSessionRuntimeOptions): AgentSessionRuntime;
|
|
30
|
-
export interface
|
|
31
|
-
|
|
27
|
+
export interface AgentSessionBinding {
|
|
28
|
+
/** Distinguishes a restarted session runtime from the one it replaced. */
|
|
29
|
+
readonly generation: number;
|
|
30
|
+
readonly options: AgentSessionRuntimeOptions;
|
|
31
|
+
/** Settles when the runtime behind this generation exits. */
|
|
32
|
+
readonly exited?: Promise<unknown>;
|
|
33
|
+
/** Evaluated for every call, so a later Desktop claim also blocks existing handles. */
|
|
34
|
+
permitted(): boolean;
|
|
32
35
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
/** Creates the 0.85 routed host for one supervised Po session. */
|
|
41
|
-
export declare function createAgentServerService(options: AgentServerServiceOptions): ServerHost<DoomSessionMetadata>;
|
|
36
|
+
/**
|
|
37
|
+
* Serves `po.session` on `host`. `resolve` returns the session a principal may reach, or
|
|
38
|
+
* undefined to refuse it.
|
|
39
|
+
*/
|
|
40
|
+
export declare function serveAgentSessions(host: Host, options: {
|
|
41
|
+
resolve(sessionId: string, principal: unknown): AgentSessionBinding | undefined;
|
|
42
|
+
}): void;
|
|
42
43
|
//#endregion
|
|
43
44
|
//# sourceMappingURL=piSessionRuntime.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piSessionRuntime.d.mts","names":[],"sources":["../../../src/pi/piSessionRuntime.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"piSessionRuntime.d.mts","names":[],"sources":["../../../src/pi/piSessionRuntime.ts"],"mappings":";;;;;;;iBA8HiB;EACf,SAAS;EACT;EACA;EACA;EACA,YAAY;;EAEZ,uBAAuB,WAAW,OAAO;;EAEzC,wBAAwB,OAAO;EAC/B,wBACE,kBACA,SAAS,uBACT,SAAS,YACN,QAAQ;;iBAGE,4BAA4B;WAClC,OAAO,uBAAuB;EACvC,cAAc;EACd,WAAW;;;wBAIG,0BAA0B,SAAS,6BAA6B;iBA8lB/D;;WAEN;WACA,SAAS;;WAET,SAAS;;EAElB;;;;;;wBAqBc,mBACd,MAAM,MACN;EAAW,QAAQ,mBAAmB,qBAAqB"}
|