@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
|
@@ -141,7 +141,8 @@ export interface ComposerCapture {
|
|
|
141
141
|
export interface CaptureStatusEvent {
|
|
142
142
|
sessionId: string;
|
|
143
143
|
captureId: string;
|
|
144
|
-
|
|
144
|
+
/** `untracked`: sent and accepted, but this page can no longer see how it ends. */
|
|
145
|
+
status: 'queued' | 'working' | 'completed' | 'error' | 'untracked';
|
|
145
146
|
error?: string;
|
|
146
147
|
}
|
|
147
148
|
/** One accepted composer delivery, published before its browser draft is cleared. */
|
|
@@ -451,7 +452,7 @@ export interface SettingsFieldOption {
|
|
|
451
452
|
}
|
|
452
453
|
/** One repository the host has admitted into repository-scoped settings. */
|
|
453
454
|
export interface RepositorySettingsRepository {
|
|
454
|
-
/** Opaque hub-issued identity. Package APIs resolve this through
|
|
455
|
+
/** Opaque hub-issued identity. Package APIs resolve this through PoApiContext. */
|
|
455
456
|
id: string;
|
|
456
457
|
/** Last path segment, for compact pickers and headings. */
|
|
457
458
|
name: string;
|
|
@@ -549,8 +550,14 @@ export interface DockFaceContribution {
|
|
|
549
550
|
label: string;
|
|
550
551
|
/** Lower values appear first after the host faces, then id breaks ties. */
|
|
551
552
|
order?: number;
|
|
552
|
-
/**
|
|
553
|
-
|
|
553
|
+
/**
|
|
554
|
+
* Select this face when it becomes available. A boolean selects once per
|
|
555
|
+
* session; a predicate selects each time a matching tab becomes active.
|
|
556
|
+
*/
|
|
557
|
+
autoSelect?: boolean | ((context: {
|
|
558
|
+
sessionId: string | null;
|
|
559
|
+
tabId: string | null;
|
|
560
|
+
}) => boolean);
|
|
554
561
|
/** Hide this face unless the session's named minor mode is active. */
|
|
555
562
|
requiredMinorMode?: string;
|
|
556
563
|
panel: ComponentType<WebPluginSlotProps>;
|
|
@@ -932,6 +939,11 @@ export interface WebPluginRuntime {
|
|
|
932
939
|
onHubConnected(listener: () => void): () => void;
|
|
933
940
|
/** Acquires the browser's WebMCP surface, or the page-lifetime simulator when unavailable. */
|
|
934
941
|
acquireModelContext?(): Promise<ModelContextBinding>;
|
|
942
|
+
/** Live minor-mode facts for browser capabilities whose registration follows agent access. */
|
|
943
|
+
minorModes?: {
|
|
944
|
+
active(sessionId: string | null): readonly string[];
|
|
945
|
+
subscribe(sessionId: string | null, listener: () => void): () => void;
|
|
946
|
+
};
|
|
935
947
|
/** Observes accepted composer submissions for page-lifetime plugin correlation. */
|
|
936
948
|
onComposerSubmitted?(listener: (submission: ComposerSubmission) => void): () => void;
|
|
937
949
|
/** Execution events follow accepted submission and use context.id as captureId. */
|
|
@@ -939,7 +951,7 @@ export interface WebPluginRuntime {
|
|
|
939
951
|
}
|
|
940
952
|
export interface WebPluginDefinition {
|
|
941
953
|
id: string;
|
|
942
|
-
/** Independently installed contributions, using the same ownership levels as server
|
|
954
|
+
/** Independently installed contributions, using the same ownership levels as server plugins. */
|
|
943
955
|
global?: WebPluginContributions;
|
|
944
956
|
workspace?: WebPluginContributions;
|
|
945
957
|
session?: WebPluginContributions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webPlugin.d.mts","names":[],"sources":["../../../../src/web/types/webPlugin.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA8BY,sBAAsB,mBAAmB,OAAO;;;;;;;;;;iBAU3C,gBAAgB;EAC/B;;EAEA,OAAO,iBAAiB;;;iBAGT,aAAa;EAC5B;EACA;EACA;EACA,MAAM;;;;;;;;iBAQS;;EAEf;EACA;EACA,OAAO,cAAc;;EAErB;;;;;EAKA,mBAAmB,sBAAsB;;EAEzC,UAAU;;EAEV,WAAW;;;;;;;;;;;;iBAYI;;EAEf;;EAEA,UAAU;;EAEV,YAAY;;EAEZ,QAAQ,0BAA0B,eAAe;;;;;;;;;;EAUjD,UAAU,0BAA0B,eAAe;;;;;;;iBAOpC;;EAEf;;EAEA;;;iBAIe;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;iBAIe;;EAEf;EACA;;EAEA,SAAS;;iBAGM;EACf;EACA;EACA
|
|
1
|
+
{"version":3,"file":"webPlugin.d.mts","names":[],"sources":["../../../../src/web/types/webPlugin.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_index = require("./src/services/testMode/index.cjs");
|
|
3
|
+
exports.getValidatedTestContext = require_index.getValidatedTestContext;
|
|
4
|
+
exports.initializeTestMode = require_index.initializeTestMode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getValidatedTestContext, initializeTestMode } from "./src/services/testMode/index.mjs";
|
package/dist/testing.cjs
CHANGED
|
@@ -6,6 +6,6 @@ const require_index$1 = require("./src/services/packageApiHarness/index.cjs");
|
|
|
6
6
|
const require_index$2 = require("./src/services/apiSurfaceAssert/index.cjs");
|
|
7
7
|
exports.assertContractSurface = require_index$2.assertContractSurface;
|
|
8
8
|
exports.createPiTestHost = require_testHost.createPiTestHost;
|
|
9
|
-
exports.doomHubChannelHarness = require_index.doomHubChannelHarness;
|
|
10
9
|
exports.mountPackageApi = require_index$1.mountPackageApi;
|
|
10
|
+
exports.poHubChannelHarness = require_index.poHubChannelHarness;
|
|
11
11
|
exports.standardExtensionScenarios = require_extensionScenarios.standardExtensionScenarios;
|
package/dist/testing.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PiTestContextOptions, PiTestDialogAnswers, PiTestHost, PiTestHostOptions, RecordedCommand, RecordedEntry, RecordedExec, RecordedMessage, RecordedNotification, RecordedProvider, RecordedRenderer, RecordedShortcut, RecordedStatus, RecordedUserMessage, RecordedWidget, createPiTestHost } from "./src/testing/pi/testHost.mjs";
|
|
2
2
|
import { ExtensionContractScenario, StandardExtensionContractOptions, standardExtensionScenarios } from "./src/testing/pi/extensionScenarios.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { PoHubChannelHarness, PoHubChannelHarnessOptions, poHubChannelHarness } from "./src/services/hubChannelHarness/index.mjs";
|
|
4
4
|
import { MountPackageApiOptions, MountedPackageApi, mountPackageApi } from "./src/services/packageApiHarness/index.mjs";
|
|
5
5
|
import { ApiSurfaceOptions, assertContractSurface } from "./src/services/apiSurfaceAssert/index.mjs";
|
|
6
|
-
export { type ApiSurfaceOptions, type
|
|
6
|
+
export { type ApiSurfaceOptions, type ExtensionContractScenario, type MountPackageApiOptions, type MountedPackageApi, type PiTestContextOptions, type PiTestDialogAnswers, type PiTestHost, type PiTestHostOptions, type PoHubChannelHarness, type PoHubChannelHarnessOptions, type RecordedCommand, type RecordedEntry, type RecordedExec, type RecordedMessage, type RecordedNotification, type RecordedProvider, type RecordedRenderer, type RecordedShortcut, type RecordedStatus, type RecordedUserMessage, type RecordedWidget, type StandardExtensionContractOptions, assertContractSurface, createPiTestHost, mountPackageApi, poHubChannelHarness, standardExtensionScenarios };
|
package/dist/testing.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createPiTestHost } from "./src/testing/pi/testHost.mjs";
|
|
2
2
|
import { standardExtensionScenarios } from "./src/testing/pi/extensionScenarios.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { poHubChannelHarness } from "./src/services/hubChannelHarness/index.mjs";
|
|
4
4
|
import { mountPackageApi } from "./src/services/packageApiHarness/index.mjs";
|
|
5
5
|
import { assertContractSurface } from "./src/services/apiSurfaceAssert/index.mjs";
|
|
6
|
-
export { assertContractSurface, createPiTestHost,
|
|
6
|
+
export { assertContractSurface, createPiTestHost, mountPackageApi, poHubChannelHarness, standardExtensionScenarios };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolInventory.cjs","names":[],"sources":["../src/services/toolInventory/index.ts"],"sourcesContent":["import type { McpServerSnapshot } from '../../exports/mcpStatus';\n\nexport type ToolSourceKind = 'core' | 'mcp' | 'extension';\n\nexport interface ToolEntry {\n name: string;\n description?: string;\n parameters?: unknown;\n /** One-line snippet Pi keys by tool name in the system prompt. */\n promptSnippet?: string;\n promptGuidelines?: readonly string[];\n active: boolean;\n}\n\nexport interface ToolSource {\n key: string;\n label: string;\n kind: ToolSourceKind;\n /** Server state for MCP sources, e.g. `disabled`; absent for core and extensions. */\n status?: string;\n /** The registering file for extension sources. */\n detail?: string;\n /**\n * Package name as its manifest spells it, scope included.\n *\n * `label` is shortened for reading. Attribution joins against `.po`\n * configuration, which names packages in full, so the unshortened name is\n * carried separately rather than recovered from the label.\n */\n packageName?: string;\n tools: readonly ToolEntry[];\n}\n\n/** One server row of the MCP status snapshot. */\nexport type McpServerStatus = McpServerSnapshot;\n\nexport interface ToolInfo {\n name: string;\n description?: string;\n parameters?: unknown;\n promptSnippet?: string;\n promptGuidelines?: readonly string[];\n sourceInfo: { path: string; source?: string };\n}\n\nexport interface ToolInventoryInput {\n tools: readonly ToolInfo[];\n activeTools: readonly string[];\n /** Absent when the MCP adapter is not loaded or has not published yet. */\n mcpServers?: readonly McpServerStatus[];\n resolveExtensionName?: (entryPath: string) => string;\n /** Unshortened package name for the same entry path, for attribution. */\n resolveExtensionPackageName?: (entryPath: string) => string | undefined;\n resolveExtensionToolSource?: (toolName: string) => string | undefined;\n}\n\n/** Pi tags its own tools with this source; everything else came from an extension. */\nconst BUILTIN_SOURCE = 'builtin';\n/** Pi's structural tags for an extension path, neither of which is a package name. */\nconst CLI_SOURCE = 'cli';\nconst LOCAL_SOURCE = 'local';\nconst CORE_KEY = 'core';\nconst CORE_NAME = 'pi';\nconst MCP_KEY_PREFIX = 'mcp:';\n/** Labels read name first, then kind, because the name is what the eye scans for. */\nconst KIND_SUFFIX: Record<ToolSourceKind, string> = { core: 'core', mcp: 'mcp', extension: 'extension' };\nconst CONNECTED_STATUS = 'connected';\nconst KIND_ORDER: Record<ToolSourceKind, number> = { core: 0, mcp: 1, extension: 2 };\n\n/**\n * Server state worth reporting, which takes the place of the tool count.\n *\n * A connected server is the unremarkable case, so it keeps its count rather\n * than spending the column on a word that says nothing went wrong.\n */\nfunction displayStatus(server: McpServerStatus): string | undefined {\n return server.state === CONNECTED_STATUS ? undefined : server.state.replace(/-/g, ' ');\n}\n\nfunction toEntry(tool: ToolInfo, activeTools: ReadonlySet<string>): ToolEntry {\n return {\n name: tool.name,\n ...(tool.description ? { description: tool.description } : {}),\n ...(tool.parameters === undefined ? {} : { parameters: tool.parameters }),\n ...(tool.promptSnippet ? { promptSnippet: tool.promptSnippet } : {}),\n ...(tool.promptGuidelines?.length ? { promptGuidelines: tool.promptGuidelines } : {}),\n active: activeTools.has(tool.name),\n };\n}\n\nfunction byName(left: ToolEntry, right: ToolEntry): number {\n return left.name.localeCompare(right.name);\n}\n\nfunction sourceLabel(name: string, kind: ToolSourceKind): string {\n return `${name} · ${KIND_SUFFIX[kind]}`;\n}\n\n/**\n * Indexes each server's declared tool names.\n *\n * The snapshot names its tools outright, so attribution is a lookup rather than a\n * guess at the naming scheme. A tool the snapshot does not claim falls through to\n * the extension that registered it.\n */\nfunction serverByTool(servers: readonly McpServerStatus[]): Map<string, McpServerStatus> {\n const index = new Map<string, McpServerStatus>();\n for (const server of servers) {\n for (const toolName of server.tools) index.set(toolName, server);\n }\n return index;\n}\n\n/**\n * Groups the session's tools by where they came from: Pi itself, one group per\n * MCP server, then one per extension that registered a tool.\n *\n * Every MCP tool is registered by one extension, so `sourceInfo` cannot separate\n * servers; the status snapshot supplies the tool-to-server mapping instead.\n */\nexport function buildToolSources(input: ToolInventoryInput): readonly ToolSource[] {\n const activeTools = new Set(input.activeTools);\n const servers = input.mcpServers ?? [];\n const owningServer = serverByTool(servers);\n const core: ToolEntry[] = [];\n const mcpTools = new Map<string, ToolEntry[]>();\n const extensions = new Map<string, { label: string; detail: string; packageName?: string; tools: ToolEntry[] }>();\n\n for (const tool of input.tools) {\n const entry = toEntry(tool, activeTools);\n const server = owningServer.get(tool.name);\n if (server) {\n const bucket = mcpTools.get(server.name);\n if (bucket) bucket.push(entry);\n else mcpTools.set(server.name, [entry]);\n continue;\n }\n if (tool.sourceInfo.source === BUILTIN_SOURCE) {\n core.push(entry);\n continue;\n }\n // A composed bundle has one Pi source path for every factory inside it. Doom's\n // compiler records the original entry at registration time so those extensions\n // remain separate here even though Pi can only see the outer bundle.\n const recordedPath = input.resolveExtensionToolSource?.(tool.name);\n const key = recordedPath ?? tool.sourceInfo.path;\n const group = extensions.get(key);\n if (group) group.tools.push(entry);\n else {\n const structuralSource =\n recordedPath !== undefined ||\n tool.sourceInfo.source === CLI_SOURCE ||\n tool.sourceInfo.source === LOCAL_SOURCE ||\n !tool.sourceInfo.source;\n const name = structuralSource\n ? (input.resolveExtensionName?.(key) ?? tool.sourceInfo.source ?? key)\n : (tool.sourceInfo.source ?? key);\n const scoped = input.resolveExtensionPackageName?.(key);\n extensions.set(key, {\n label: sourceLabel(name, 'extension'),\n detail: key,\n ...(scoped ? { packageName: scoped } : {}),\n tools: [entry],\n });\n }\n }\n\n const sources: ToolSource[] = [];\n if (core.length > 0) {\n sources.push({ key: CORE_KEY, label: sourceLabel(CORE_NAME, CORE_KEY), kind: CORE_KEY, tools: core.sort(byName) });\n }\n for (const server of servers) {\n const tools = mcpTools.get(server.name) ?? [];\n const status = displayStatus(server);\n // Every configured server is listed, including one with no tools: attribution\n // is exact now, so an empty list is a fact about the server rather than a\n // failure to recognise its tool names.\n sources.push({\n key: `${MCP_KEY_PREFIX}${server.name}`,\n label: sourceLabel(server.name, 'mcp'),\n kind: 'mcp',\n ...(status ? { status } : {}),\n tools: tools.sort(byName),\n });\n }\n for (const [key, group] of extensions) {\n sources.push({\n key,\n label: group.label,\n kind: 'extension',\n detail: group.detail,\n ...(group.packageName ? { packageName: group.packageName } : {}),\n tools: group.tools.sort(byName),\n });\n }\n\n return sources.sort(\n (left, right) => KIND_ORDER[left.kind] - KIND_ORDER[right.kind] || left.label.localeCompare(right.label),\n );\n}\n\nexport { type CountTokens, type ToolCost, tokensForSource, tokensForTool } from '../toolCost';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolInventory.cjs","names":[],"sources":["../src/services/toolInventory/index.ts"],"sourcesContent":["import type { McpServerSnapshot } from '../../exports/mcpStatus';\n\nexport type ToolSourceKind = 'core' | 'mcp' | 'extension';\n\nexport interface ToolEntry {\n name: string;\n description?: string;\n parameters?: unknown;\n /** One-line snippet Pi keys by tool name in the system prompt. */\n promptSnippet?: string;\n promptGuidelines?: readonly string[];\n active: boolean;\n}\n\nexport interface ToolSource {\n key: string;\n label: string;\n kind: ToolSourceKind;\n /** Server state for MCP sources, e.g. `disabled`; absent for core and extensions. */\n status?: string;\n /** The registering file for extension sources. */\n detail?: string;\n /**\n * Package name as its manifest spells it, scope included.\n *\n * `label` is shortened for reading. Attribution joins against `.po`\n * configuration, which names packages in full, so the unshortened name is\n * carried separately rather than recovered from the label.\n */\n packageName?: string;\n tools: readonly ToolEntry[];\n}\n\n/** One server row of the MCP status snapshot. */\nexport type McpServerStatus = McpServerSnapshot;\n\nexport interface ToolInfo {\n name: string;\n description?: string;\n parameters?: unknown;\n promptSnippet?: string;\n promptGuidelines?: readonly string[];\n sourceInfo: { path: string; source?: string };\n}\n\nexport interface ToolInventoryInput {\n tools: readonly ToolInfo[];\n activeTools: readonly string[];\n /** Absent when the MCP adapter is not loaded or has not published yet. */\n mcpServers?: readonly McpServerStatus[];\n resolveExtensionName?: (entryPath: string) => string;\n /** Unshortened package name for the same entry path, for attribution. */\n resolveExtensionPackageName?: (entryPath: string) => string | undefined;\n resolveExtensionToolSource?: (toolName: string) => string | undefined;\n}\n\n/** Pi tags its own tools with this source; everything else came from an extension. */\nconst BUILTIN_SOURCE = 'builtin';\n/** Pi's structural tags for an extension path, neither of which is a package name. */\nconst CLI_SOURCE = 'cli';\nconst LOCAL_SOURCE = 'local';\nconst CORE_KEY = 'core';\nconst CORE_NAME = 'pi';\nconst MCP_KEY_PREFIX = 'mcp:';\n/** Labels read name first, then kind, because the name is what the eye scans for. */\nconst KIND_SUFFIX: Record<ToolSourceKind, string> = { core: 'core', mcp: 'mcp', extension: 'extension' };\nconst CONNECTED_STATUS = 'connected';\nconst KIND_ORDER: Record<ToolSourceKind, number> = { core: 0, mcp: 1, extension: 2 };\n\n/**\n * Server state worth reporting, which takes the place of the tool count.\n *\n * A connected server is the unremarkable case, so it keeps its count rather\n * than spending the column on a word that says nothing went wrong.\n */\nfunction displayStatus(server: McpServerStatus): string | undefined {\n return server.state === CONNECTED_STATUS ? undefined : server.state.replace(/-/g, ' ');\n}\n\nfunction toEntry(tool: ToolInfo, activeTools: ReadonlySet<string>): ToolEntry {\n return {\n name: tool.name,\n ...(tool.description ? { description: tool.description } : {}),\n ...(tool.parameters === undefined ? {} : { parameters: tool.parameters }),\n ...(tool.promptSnippet ? { promptSnippet: tool.promptSnippet } : {}),\n ...(tool.promptGuidelines?.length ? { promptGuidelines: tool.promptGuidelines } : {}),\n active: activeTools.has(tool.name),\n };\n}\n\nfunction byName(left: ToolEntry, right: ToolEntry): number {\n return left.name.localeCompare(right.name);\n}\n\nfunction sourceLabel(name: string, kind: ToolSourceKind): string {\n return `${name} · ${KIND_SUFFIX[kind]}`;\n}\n\n/**\n * Indexes each server's declared tool names.\n *\n * The snapshot names its tools outright, so attribution is a lookup rather than a\n * guess at the naming scheme. A tool the snapshot does not claim falls through to\n * the extension that registered it.\n */\nfunction serverByTool(servers: readonly McpServerStatus[]): Map<string, McpServerStatus> {\n const index = new Map<string, McpServerStatus>();\n for (const server of servers) {\n for (const toolName of server.tools) index.set(toolName, server);\n }\n return index;\n}\n\n/**\n * Groups the session's tools by where they came from: Pi itself, one group per\n * MCP server, then one per extension that registered a tool.\n *\n * Every MCP tool is registered by one extension, so `sourceInfo` cannot separate\n * servers; the status snapshot supplies the tool-to-server mapping instead.\n */\nexport function buildToolSources(input: ToolInventoryInput): readonly ToolSource[] {\n const activeTools = new Set(input.activeTools);\n const servers = input.mcpServers ?? [];\n const owningServer = serverByTool(servers);\n const core: ToolEntry[] = [];\n const mcpTools = new Map<string, ToolEntry[]>();\n const extensions = new Map<string, { label: string; detail: string; packageName?: string; tools: ToolEntry[] }>();\n\n for (const tool of input.tools) {\n const entry = toEntry(tool, activeTools);\n const server = owningServer.get(tool.name);\n if (server) {\n const bucket = mcpTools.get(server.name);\n if (bucket) bucket.push(entry);\n else mcpTools.set(server.name, [entry]);\n continue;\n }\n if (tool.sourceInfo.source === BUILTIN_SOURCE) {\n core.push(entry);\n continue;\n }\n // A composed bundle has one Pi source path for every factory inside it. Po's\n // compiler records the original entry at registration time so those extensions\n // remain separate here even though Pi can only see the outer bundle.\n const recordedPath = input.resolveExtensionToolSource?.(tool.name);\n const key = recordedPath ?? tool.sourceInfo.path;\n const group = extensions.get(key);\n if (group) group.tools.push(entry);\n else {\n const structuralSource =\n recordedPath !== undefined ||\n tool.sourceInfo.source === CLI_SOURCE ||\n tool.sourceInfo.source === LOCAL_SOURCE ||\n !tool.sourceInfo.source;\n const name = structuralSource\n ? (input.resolveExtensionName?.(key) ?? tool.sourceInfo.source ?? key)\n : (tool.sourceInfo.source ?? key);\n const scoped = input.resolveExtensionPackageName?.(key);\n extensions.set(key, {\n label: sourceLabel(name, 'extension'),\n detail: key,\n ...(scoped ? { packageName: scoped } : {}),\n tools: [entry],\n });\n }\n }\n\n const sources: ToolSource[] = [];\n if (core.length > 0) {\n sources.push({ key: CORE_KEY, label: sourceLabel(CORE_NAME, CORE_KEY), kind: CORE_KEY, tools: core.sort(byName) });\n }\n for (const server of servers) {\n const tools = mcpTools.get(server.name) ?? [];\n const status = displayStatus(server);\n // Every configured server is listed, including one with no tools: attribution\n // is exact now, so an empty list is a fact about the server rather than a\n // failure to recognise its tool names.\n sources.push({\n key: `${MCP_KEY_PREFIX}${server.name}`,\n label: sourceLabel(server.name, 'mcp'),\n kind: 'mcp',\n ...(status ? { status } : {}),\n tools: tools.sort(byName),\n });\n }\n for (const [key, group] of extensions) {\n sources.push({\n key,\n label: group.label,\n kind: 'extension',\n detail: group.detail,\n ...(group.packageName ? { packageName: group.packageName } : {}),\n tools: group.tools.sort(byName),\n });\n }\n\n return sources.sort(\n (left, right) => KIND_ORDER[left.kind] - KIND_ORDER[right.kind] || left.label.localeCompare(right.label),\n );\n}\n\nexport { type CountTokens, type ToolCost, tokensForSource, tokensForTool } from '../toolCost';\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolInventory.mjs","names":[],"sources":["../src/services/toolInventory/index.ts"],"sourcesContent":["import type { McpServerSnapshot } from '../../exports/mcpStatus';\n\nexport type ToolSourceKind = 'core' | 'mcp' | 'extension';\n\nexport interface ToolEntry {\n name: string;\n description?: string;\n parameters?: unknown;\n /** One-line snippet Pi keys by tool name in the system prompt. */\n promptSnippet?: string;\n promptGuidelines?: readonly string[];\n active: boolean;\n}\n\nexport interface ToolSource {\n key: string;\n label: string;\n kind: ToolSourceKind;\n /** Server state for MCP sources, e.g. `disabled`; absent for core and extensions. */\n status?: string;\n /** The registering file for extension sources. */\n detail?: string;\n /**\n * Package name as its manifest spells it, scope included.\n *\n * `label` is shortened for reading. Attribution joins against `.po`\n * configuration, which names packages in full, so the unshortened name is\n * carried separately rather than recovered from the label.\n */\n packageName?: string;\n tools: readonly ToolEntry[];\n}\n\n/** One server row of the MCP status snapshot. */\nexport type McpServerStatus = McpServerSnapshot;\n\nexport interface ToolInfo {\n name: string;\n description?: string;\n parameters?: unknown;\n promptSnippet?: string;\n promptGuidelines?: readonly string[];\n sourceInfo: { path: string; source?: string };\n}\n\nexport interface ToolInventoryInput {\n tools: readonly ToolInfo[];\n activeTools: readonly string[];\n /** Absent when the MCP adapter is not loaded or has not published yet. */\n mcpServers?: readonly McpServerStatus[];\n resolveExtensionName?: (entryPath: string) => string;\n /** Unshortened package name for the same entry path, for attribution. */\n resolveExtensionPackageName?: (entryPath: string) => string | undefined;\n resolveExtensionToolSource?: (toolName: string) => string | undefined;\n}\n\n/** Pi tags its own tools with this source; everything else came from an extension. */\nconst BUILTIN_SOURCE = 'builtin';\n/** Pi's structural tags for an extension path, neither of which is a package name. */\nconst CLI_SOURCE = 'cli';\nconst LOCAL_SOURCE = 'local';\nconst CORE_KEY = 'core';\nconst CORE_NAME = 'pi';\nconst MCP_KEY_PREFIX = 'mcp:';\n/** Labels read name first, then kind, because the name is what the eye scans for. */\nconst KIND_SUFFIX: Record<ToolSourceKind, string> = { core: 'core', mcp: 'mcp', extension: 'extension' };\nconst CONNECTED_STATUS = 'connected';\nconst KIND_ORDER: Record<ToolSourceKind, number> = { core: 0, mcp: 1, extension: 2 };\n\n/**\n * Server state worth reporting, which takes the place of the tool count.\n *\n * A connected server is the unremarkable case, so it keeps its count rather\n * than spending the column on a word that says nothing went wrong.\n */\nfunction displayStatus(server: McpServerStatus): string | undefined {\n return server.state === CONNECTED_STATUS ? undefined : server.state.replace(/-/g, ' ');\n}\n\nfunction toEntry(tool: ToolInfo, activeTools: ReadonlySet<string>): ToolEntry {\n return {\n name: tool.name,\n ...(tool.description ? { description: tool.description } : {}),\n ...(tool.parameters === undefined ? {} : { parameters: tool.parameters }),\n ...(tool.promptSnippet ? { promptSnippet: tool.promptSnippet } : {}),\n ...(tool.promptGuidelines?.length ? { promptGuidelines: tool.promptGuidelines } : {}),\n active: activeTools.has(tool.name),\n };\n}\n\nfunction byName(left: ToolEntry, right: ToolEntry): number {\n return left.name.localeCompare(right.name);\n}\n\nfunction sourceLabel(name: string, kind: ToolSourceKind): string {\n return `${name} · ${KIND_SUFFIX[kind]}`;\n}\n\n/**\n * Indexes each server's declared tool names.\n *\n * The snapshot names its tools outright, so attribution is a lookup rather than a\n * guess at the naming scheme. A tool the snapshot does not claim falls through to\n * the extension that registered it.\n */\nfunction serverByTool(servers: readonly McpServerStatus[]): Map<string, McpServerStatus> {\n const index = new Map<string, McpServerStatus>();\n for (const server of servers) {\n for (const toolName of server.tools) index.set(toolName, server);\n }\n return index;\n}\n\n/**\n * Groups the session's tools by where they came from: Pi itself, one group per\n * MCP server, then one per extension that registered a tool.\n *\n * Every MCP tool is registered by one extension, so `sourceInfo` cannot separate\n * servers; the status snapshot supplies the tool-to-server mapping instead.\n */\nexport function buildToolSources(input: ToolInventoryInput): readonly ToolSource[] {\n const activeTools = new Set(input.activeTools);\n const servers = input.mcpServers ?? [];\n const owningServer = serverByTool(servers);\n const core: ToolEntry[] = [];\n const mcpTools = new Map<string, ToolEntry[]>();\n const extensions = new Map<string, { label: string; detail: string; packageName?: string; tools: ToolEntry[] }>();\n\n for (const tool of input.tools) {\n const entry = toEntry(tool, activeTools);\n const server = owningServer.get(tool.name);\n if (server) {\n const bucket = mcpTools.get(server.name);\n if (bucket) bucket.push(entry);\n else mcpTools.set(server.name, [entry]);\n continue;\n }\n if (tool.sourceInfo.source === BUILTIN_SOURCE) {\n core.push(entry);\n continue;\n }\n // A composed bundle has one Pi source path for every factory inside it. Doom's\n // compiler records the original entry at registration time so those extensions\n // remain separate here even though Pi can only see the outer bundle.\n const recordedPath = input.resolveExtensionToolSource?.(tool.name);\n const key = recordedPath ?? tool.sourceInfo.path;\n const group = extensions.get(key);\n if (group) group.tools.push(entry);\n else {\n const structuralSource =\n recordedPath !== undefined ||\n tool.sourceInfo.source === CLI_SOURCE ||\n tool.sourceInfo.source === LOCAL_SOURCE ||\n !tool.sourceInfo.source;\n const name = structuralSource\n ? (input.resolveExtensionName?.(key) ?? tool.sourceInfo.source ?? key)\n : (tool.sourceInfo.source ?? key);\n const scoped = input.resolveExtensionPackageName?.(key);\n extensions.set(key, {\n label: sourceLabel(name, 'extension'),\n detail: key,\n ...(scoped ? { packageName: scoped } : {}),\n tools: [entry],\n });\n }\n }\n\n const sources: ToolSource[] = [];\n if (core.length > 0) {\n sources.push({ key: CORE_KEY, label: sourceLabel(CORE_NAME, CORE_KEY), kind: CORE_KEY, tools: core.sort(byName) });\n }\n for (const server of servers) {\n const tools = mcpTools.get(server.name) ?? [];\n const status = displayStatus(server);\n // Every configured server is listed, including one with no tools: attribution\n // is exact now, so an empty list is a fact about the server rather than a\n // failure to recognise its tool names.\n sources.push({\n key: `${MCP_KEY_PREFIX}${server.name}`,\n label: sourceLabel(server.name, 'mcp'),\n kind: 'mcp',\n ...(status ? { status } : {}),\n tools: tools.sort(byName),\n });\n }\n for (const [key, group] of extensions) {\n sources.push({\n key,\n label: group.label,\n kind: 'extension',\n detail: group.detail,\n ...(group.packageName ? { packageName: group.packageName } : {}),\n tools: group.tools.sort(byName),\n });\n }\n\n return sources.sort(\n (left, right) => KIND_ORDER[left.kind] - KIND_ORDER[right.kind] || left.label.localeCompare(right.label),\n );\n}\n\nexport { type CountTokens, type ToolCost, tokensForSource, tokensForTool } from '../toolCost';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolInventory.mjs","names":[],"sources":["../src/services/toolInventory/index.ts"],"sourcesContent":["import type { McpServerSnapshot } from '../../exports/mcpStatus';\n\nexport type ToolSourceKind = 'core' | 'mcp' | 'extension';\n\nexport interface ToolEntry {\n name: string;\n description?: string;\n parameters?: unknown;\n /** One-line snippet Pi keys by tool name in the system prompt. */\n promptSnippet?: string;\n promptGuidelines?: readonly string[];\n active: boolean;\n}\n\nexport interface ToolSource {\n key: string;\n label: string;\n kind: ToolSourceKind;\n /** Server state for MCP sources, e.g. `disabled`; absent for core and extensions. */\n status?: string;\n /** The registering file for extension sources. */\n detail?: string;\n /**\n * Package name as its manifest spells it, scope included.\n *\n * `label` is shortened for reading. Attribution joins against `.po`\n * configuration, which names packages in full, so the unshortened name is\n * carried separately rather than recovered from the label.\n */\n packageName?: string;\n tools: readonly ToolEntry[];\n}\n\n/** One server row of the MCP status snapshot. */\nexport type McpServerStatus = McpServerSnapshot;\n\nexport interface ToolInfo {\n name: string;\n description?: string;\n parameters?: unknown;\n promptSnippet?: string;\n promptGuidelines?: readonly string[];\n sourceInfo: { path: string; source?: string };\n}\n\nexport interface ToolInventoryInput {\n tools: readonly ToolInfo[];\n activeTools: readonly string[];\n /** Absent when the MCP adapter is not loaded or has not published yet. */\n mcpServers?: readonly McpServerStatus[];\n resolveExtensionName?: (entryPath: string) => string;\n /** Unshortened package name for the same entry path, for attribution. */\n resolveExtensionPackageName?: (entryPath: string) => string | undefined;\n resolveExtensionToolSource?: (toolName: string) => string | undefined;\n}\n\n/** Pi tags its own tools with this source; everything else came from an extension. */\nconst BUILTIN_SOURCE = 'builtin';\n/** Pi's structural tags for an extension path, neither of which is a package name. */\nconst CLI_SOURCE = 'cli';\nconst LOCAL_SOURCE = 'local';\nconst CORE_KEY = 'core';\nconst CORE_NAME = 'pi';\nconst MCP_KEY_PREFIX = 'mcp:';\n/** Labels read name first, then kind, because the name is what the eye scans for. */\nconst KIND_SUFFIX: Record<ToolSourceKind, string> = { core: 'core', mcp: 'mcp', extension: 'extension' };\nconst CONNECTED_STATUS = 'connected';\nconst KIND_ORDER: Record<ToolSourceKind, number> = { core: 0, mcp: 1, extension: 2 };\n\n/**\n * Server state worth reporting, which takes the place of the tool count.\n *\n * A connected server is the unremarkable case, so it keeps its count rather\n * than spending the column on a word that says nothing went wrong.\n */\nfunction displayStatus(server: McpServerStatus): string | undefined {\n return server.state === CONNECTED_STATUS ? undefined : server.state.replace(/-/g, ' ');\n}\n\nfunction toEntry(tool: ToolInfo, activeTools: ReadonlySet<string>): ToolEntry {\n return {\n name: tool.name,\n ...(tool.description ? { description: tool.description } : {}),\n ...(tool.parameters === undefined ? {} : { parameters: tool.parameters }),\n ...(tool.promptSnippet ? { promptSnippet: tool.promptSnippet } : {}),\n ...(tool.promptGuidelines?.length ? { promptGuidelines: tool.promptGuidelines } : {}),\n active: activeTools.has(tool.name),\n };\n}\n\nfunction byName(left: ToolEntry, right: ToolEntry): number {\n return left.name.localeCompare(right.name);\n}\n\nfunction sourceLabel(name: string, kind: ToolSourceKind): string {\n return `${name} · ${KIND_SUFFIX[kind]}`;\n}\n\n/**\n * Indexes each server's declared tool names.\n *\n * The snapshot names its tools outright, so attribution is a lookup rather than a\n * guess at the naming scheme. A tool the snapshot does not claim falls through to\n * the extension that registered it.\n */\nfunction serverByTool(servers: readonly McpServerStatus[]): Map<string, McpServerStatus> {\n const index = new Map<string, McpServerStatus>();\n for (const server of servers) {\n for (const toolName of server.tools) index.set(toolName, server);\n }\n return index;\n}\n\n/**\n * Groups the session's tools by where they came from: Pi itself, one group per\n * MCP server, then one per extension that registered a tool.\n *\n * Every MCP tool is registered by one extension, so `sourceInfo` cannot separate\n * servers; the status snapshot supplies the tool-to-server mapping instead.\n */\nexport function buildToolSources(input: ToolInventoryInput): readonly ToolSource[] {\n const activeTools = new Set(input.activeTools);\n const servers = input.mcpServers ?? [];\n const owningServer = serverByTool(servers);\n const core: ToolEntry[] = [];\n const mcpTools = new Map<string, ToolEntry[]>();\n const extensions = new Map<string, { label: string; detail: string; packageName?: string; tools: ToolEntry[] }>();\n\n for (const tool of input.tools) {\n const entry = toEntry(tool, activeTools);\n const server = owningServer.get(tool.name);\n if (server) {\n const bucket = mcpTools.get(server.name);\n if (bucket) bucket.push(entry);\n else mcpTools.set(server.name, [entry]);\n continue;\n }\n if (tool.sourceInfo.source === BUILTIN_SOURCE) {\n core.push(entry);\n continue;\n }\n // A composed bundle has one Pi source path for every factory inside it. Po's\n // compiler records the original entry at registration time so those extensions\n // remain separate here even though Pi can only see the outer bundle.\n const recordedPath = input.resolveExtensionToolSource?.(tool.name);\n const key = recordedPath ?? tool.sourceInfo.path;\n const group = extensions.get(key);\n if (group) group.tools.push(entry);\n else {\n const structuralSource =\n recordedPath !== undefined ||\n tool.sourceInfo.source === CLI_SOURCE ||\n tool.sourceInfo.source === LOCAL_SOURCE ||\n !tool.sourceInfo.source;\n const name = structuralSource\n ? (input.resolveExtensionName?.(key) ?? tool.sourceInfo.source ?? key)\n : (tool.sourceInfo.source ?? key);\n const scoped = input.resolveExtensionPackageName?.(key);\n extensions.set(key, {\n label: sourceLabel(name, 'extension'),\n detail: key,\n ...(scoped ? { packageName: scoped } : {}),\n tools: [entry],\n });\n }\n }\n\n const sources: ToolSource[] = [];\n if (core.length > 0) {\n sources.push({ key: CORE_KEY, label: sourceLabel(CORE_NAME, CORE_KEY), kind: CORE_KEY, tools: core.sort(byName) });\n }\n for (const server of servers) {\n const tools = mcpTools.get(server.name) ?? [];\n const status = displayStatus(server);\n // Every configured server is listed, including one with no tools: attribution\n // is exact now, so an empty list is a fact about the server rather than a\n // failure to recognise its tool names.\n sources.push({\n key: `${MCP_KEY_PREFIX}${server.name}`,\n label: sourceLabel(server.name, 'mcp'),\n kind: 'mcp',\n ...(status ? { status } : {}),\n tools: tools.sort(byName),\n });\n }\n for (const [key, group] of extensions) {\n sources.push({\n key,\n label: group.label,\n kind: 'extension',\n detail: group.detail,\n ...(group.packageName ? { packageName: group.packageName } : {}),\n tools: group.tools.sort(byName),\n });\n }\n\n return sources.sort(\n (left, right) => KIND_ORDER[left.kind] - KIND_ORDER[right.kind] || left.label.localeCompare(right.label),\n );\n}\n\nexport { type CountTokens, type ToolCost, tokensForSource, tokensForTool } from '../toolCost';\n"],"mappings":"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"}
|
package/dist/toolNames.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { toClaudeToolName, toPiToolName };
|
|
1
|
+
export { toClaudeToolName, toPiToolName } from "./runtimeToolNames.mjs";
|
package/dist/toolOverrides.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_toolOverrides = require("./src/schemas/toolOverrides.cjs");
|
|
3
3
|
const require_index = require("./src/services/toolOverrides/index.cjs");
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
4
|
+
exports.PO_TOOL_OVERRIDES_SERVICE = require_toolOverrides.PO_TOOL_OVERRIDES_SERVICE;
|
|
5
|
+
exports.createPoToolOverridesService = require_index.createPoToolOverridesService;
|
|
6
|
+
exports.readPoToolOverrides = require_toolOverrides.readPoToolOverrides;
|
|
7
|
+
exports.requirePoToolOverrides = require_toolOverrides.requirePoToolOverrides;
|
package/dist/toolOverrides.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
1
|
+
import { PO_TOOL_OVERRIDES_SERVICE, PoToolOverrideClaim, PoToolOverrideRegistration, PoToolOverridesService, readPoToolOverrides, requirePoToolOverrides } from "./src/schemas/toolOverrides.mjs";
|
|
2
|
+
import { createPoToolOverridesService } from "./src/services/toolOverrides/index.mjs";
|
|
3
|
+
export { PO_TOOL_OVERRIDES_SERVICE, type PoToolOverrideClaim, type PoToolOverrideRegistration, type PoToolOverridesService, createPoToolOverridesService, readPoToolOverrides, requirePoToolOverrides };
|
package/dist/toolOverrides.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
1
|
+
import { PO_TOOL_OVERRIDES_SERVICE, readPoToolOverrides, requirePoToolOverrides } from "./src/schemas/toolOverrides.mjs";
|
|
2
|
+
import { createPoToolOverridesService } from "./src/services/toolOverrides/index.mjs";
|
|
3
|
+
export { PO_TOOL_OVERRIDES_SERVICE, createPoToolOverridesService, readPoToolOverrides, requirePoToolOverrides };
|
package/dist/toolSurface.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_toolSurface = require("./src/schemas/toolSurface.cjs");
|
|
3
3
|
const require_index = require("./src/services/toolSurface/index.cjs");
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
4
|
+
exports.PO_TOOL_SURFACE_SERVICE = require_toolSurface.PO_TOOL_SURFACE_SERVICE;
|
|
5
|
+
exports.createPoToolSurface = require_index.createPoToolSurface;
|
|
6
|
+
exports.readPoToolSurface = require_toolSurface.readPoToolSurface;
|
|
7
|
+
exports.requirePoToolSurface = require_toolSurface.requirePoToolSurface;
|
package/dist/toolSurface.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export { type
|
|
1
|
+
import { PO_TOOL_SURFACE_SERVICE, PoToolRestriction, PoToolRestrictionDefinition, PoToolRestrictionHandle, PoToolSurfaceEntry, PoToolSurfaceService, readPoToolSurface, requirePoToolSurface } from "./src/schemas/toolSurface.mjs";
|
|
2
|
+
import { CreatePoToolSurfaceOptions, createPoToolSurface } from "./src/services/toolSurface/index.mjs";
|
|
3
|
+
export { type CreatePoToolSurfaceOptions, PO_TOOL_SURFACE_SERVICE, type PoToolRestriction, type PoToolRestrictionDefinition, type PoToolRestrictionHandle, type PoToolSurfaceEntry, type PoToolSurfaceService, createPoToolSurface, readPoToolSurface, requirePoToolSurface };
|
package/dist/toolSurface.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
1
|
+
import { PO_TOOL_SURFACE_SERVICE, readPoToolSurface, requirePoToolSurface } from "./src/schemas/toolSurface.mjs";
|
|
2
|
+
import { createPoToolSurface } from "./src/services/toolSurface/index.mjs";
|
|
3
|
+
export { PO_TOOL_SURFACE_SERVICE, createPoToolSurface, readPoToolSurface, requirePoToolSurface };
|
package/dist/transition.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_runtimeTransition = require("./runtimeTransition.cjs");
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
3
|
+
exports.PO_TRANSITION_SERVICE = require_runtimeTransition.PO_TRANSITION_SERVICE;
|
|
4
|
+
exports.readPoTransitionCoordinator = require_runtimeTransition.readPoTransitionCoordinator;
|
|
5
|
+
exports.requirePoTransitionCoordinator = require_runtimeTransition.requirePoTransitionCoordinator;
|
package/dist/transition.d.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_runtimeTransition = require("./runtimeTransition.cjs");
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
3
|
+
exports.PO_TRANSITION_SERVICE = require_runtimeTransition.PO_TRANSITION_SERVICE;
|
|
4
|
+
exports.readPoTransitionCoordinator = require_runtimeTransition.readPoTransitionCoordinator;
|
|
5
|
+
exports.requirePoTransitionCoordinator = require_runtimeTransition.requirePoTransitionCoordinator;
|
package/dist/transition.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { DomainTransitionTarget, LiveTransitionTarget, MajorModeTransitionTarget, PO_TRANSITION_SERVICE, PoTransitionCoordinator, PoTransitionPlan, PoTransitionRequest, PoTransitionResult, ProfileTransitionTarget, StructuralTransitionExecution, TransitionAxis, TransitionDiagnosticCode, TransitionDisposition, TransitionExecutionStrategy, TransitionGeneration, TransitionOutcome, TransitionSelectionSnapshot, TransitionSource, TransitionSynchronization, TransitionTarget, readPoTransitionCoordinator, requirePoTransitionCoordinator } from "./runtimeTransition.mjs";
|
|
2
|
+
export { type DomainTransitionTarget, type LiveTransitionTarget, type MajorModeTransitionTarget, PO_TRANSITION_SERVICE, type PoTransitionCoordinator, type PoTransitionPlan, type PoTransitionRequest, type PoTransitionResult, type ProfileTransitionTarget, type StructuralTransitionExecution, type TransitionAxis, type TransitionDiagnosticCode, type TransitionDisposition, type TransitionExecutionStrategy, type TransitionGeneration, type TransitionOutcome, type TransitionSelectionSnapshot, type TransitionSource, type TransitionSynchronization, type TransitionTarget, readPoTransitionCoordinator, requirePoTransitionCoordinator };
|
package/dist/transition.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { DOOM_TRANSITION_SERVICE, readDoomTransitionCoordinator, requireDoomTransitionCoordinator };
|
|
1
|
+
export { PO_TRANSITION_SERVICE, readPoTransitionCoordinator, requirePoTransitionCoordinator } from "./runtimeTransition.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitionClassifier.cjs","names":[],"sources":["../src/services/transitionClassifier/index.ts"],"sourcesContent":["import type {\n
|
|
1
|
+
{"version":3,"file":"transitionClassifier.cjs","names":[],"sources":["../src/services/transitionClassifier/index.ts"],"sourcesContent":["import type {\n PoTransitionPlan,\n PoTransitionRequest,\n TransitionDiagnosticCode,\n TransitionDisposition,\n TransitionExecutionStrategy,\n TransitionSelectionSnapshot,\n TransitionSynchronization,\n} from '../../exports/transition';\n\nexport interface TransitionCompositionResolution {\n readonly fingerprint: string;\n readonly parentActivation: readonly string[];\n readonly childActivation: readonly string[];\n}\n\nexport interface TransitionClassifierContext {\n readonly current: TransitionSelectionSnapshot;\n readonly resolveLayers: (majorMode: string) => readonly string[];\n readonly extensionLayers: (layers: readonly string[]) => readonly string[];\n readonly synchronization: TransitionSynchronization;\n readonly resolveComposition?: (selection: TransitionSelectionSnapshot) => TransitionCompositionResolution | undefined;\n}\n\nfunction sameStrings(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((value, index) => value === right[index]);\n}\n\nfunction copySnapshot(snapshot: TransitionSelectionSnapshot): TransitionSelectionSnapshot {\n return {\n ...snapshot,\n domains: [...snapshot.domains],\n layers: [...snapshot.layers],\n ...(snapshot.parentActivation ? { parentActivation: [...snapshot.parentActivation] } : {}),\n ...(snapshot.childActivation ? { childActivation: [...snapshot.childActivation] } : {}),\n };\n}\n\nfunction plan(\n request: PoTransitionRequest,\n disposition: TransitionDisposition,\n previous: TransitionSelectionSnapshot,\n candidate: TransitionSelectionSnapshot,\n diagnostic: TransitionDiagnosticCode,\n strategy?: TransitionExecutionStrategy,\n): PoTransitionPlan {\n return {\n operationId: request.operationId,\n axis: request.target.axis,\n disposition,\n ...(strategy ? { strategy } : {}),\n previous,\n candidate,\n diagnostics: [diagnostic],\n reloadHandoffRequired: disposition === 'reload' || disposition === 'relaunch',\n externalRelaunchRequired: disposition === 'relaunch',\n };\n}\n\nfunction withComposition(\n candidate: TransitionSelectionSnapshot,\n context: TransitionClassifierContext,\n): TransitionSelectionSnapshot {\n const composition = context.resolveComposition?.(candidate);\n if (!composition) return candidate;\n return {\n ...candidate,\n compositionFingerprint: composition.fingerprint,\n parentActivation: [...composition.parentActivation],\n childActivation: [...composition.childActivation],\n };\n}\n\nfunction launcherNeedsRelaunch(\n extensionLayers: TransitionClassifierContext['extensionLayers'],\n previous: TransitionSelectionSnapshot,\n candidate: TransitionSelectionSnapshot,\n): boolean {\n if (previous.parentActivation && candidate.parentActivation) {\n return !sameStrings(previous.parentActivation, candidate.parentActivation);\n }\n return !sameStrings(extensionLayers(previous.layers), extensionLayers(candidate.layers));\n}\n\nfunction majorModeDisposition(\n extensionLayers: TransitionClassifierContext['extensionLayers'],\n previous: TransitionSelectionSnapshot,\n candidate: TransitionSelectionSnapshot,\n synchronization: TransitionSynchronization,\n): {\n disposition: TransitionDisposition;\n diagnostic: TransitionDiagnosticCode;\n strategy?: TransitionExecutionStrategy;\n} {\n // The entry composes from live selection on every load, so any candidate is\n // reachable: a built aggregate when one exists, the individual entries when\n // it does not. Nothing here can be sync-required.\n if (synchronization.kind === 'launcher-composed') {\n return { disposition: 'reload', diagnostic: 'transition.reload.major-mode', strategy: 'pi-reload' };\n }\n if (synchronization.kind === 'synchronized') {\n if (!synchronization.resolutionAvailable || !candidate.compositionFingerprint) {\n return {\n disposition: 'sync-required',\n diagnostic: 'transition.sync-required.resolution',\n };\n }\n if (!synchronization.availableCompositionFingerprints.includes(candidate.compositionFingerprint)) {\n return {\n disposition: 'sync-required',\n diagnostic: 'transition.sync-required.artifact',\n };\n }\n return {\n disposition: 'reload',\n diagnostic: 'transition.reload.major-mode',\n strategy: 'pi-reload',\n };\n }\n return launcherNeedsRelaunch(extensionLayers, previous, candidate)\n ? {\n disposition: 'relaunch',\n diagnostic: 'transition.relaunch.extension-closure',\n strategy: 'process-relaunch',\n }\n : { disposition: 'reload', diagnostic: 'transition.reload.major-mode', strategy: 'pi-reload' };\n}\n\nexport function classifyTransition(\n request: PoTransitionRequest,\n context: TransitionClassifierContext,\n): PoTransitionPlan {\n const previous = copySnapshot(context.current);\n\n switch (request.target.axis) {\n case 'live':\n return plan(request, 'live', previous, copySnapshot(previous), 'transition.live.capability');\n case 'domains': {\n const candidate = { ...copySnapshot(previous), domains: [...request.target.domains] };\n if (sameStrings(previous.domains, candidate.domains)) {\n return plan(request, 'live', previous, candidate, 'transition.no-change');\n }\n return plan(request, 'reload', previous, candidate, 'transition.reload.domains', 'pi-reload');\n }\n case 'profile': {\n const candidate = { ...copySnapshot(previous), profile: request.target.profile };\n if (previous.profile === candidate.profile) {\n return plan(request, 'live', previous, candidate, 'transition.no-change');\n }\n return plan(request, 'reload', previous, candidate, 'transition.reload.profile', 'pi-reload');\n }\n case 'major-mode': {\n const candidateLayers = context.resolveLayers(request.target.majorMode);\n const candidate = withComposition(\n {\n ...copySnapshot(previous),\n majorMode: request.target.majorMode,\n layers: candidateLayers,\n compositionFingerprint: undefined,\n parentActivation: undefined,\n childActivation: undefined,\n },\n context,\n );\n if (\n (previous.majorMode === candidate.majorMode && sameStrings(previous.layers, candidate.layers)) ||\n (previous.compositionFingerprint !== undefined &&\n previous.compositionFingerprint === candidate.compositionFingerprint)\n ) {\n return plan(request, 'live', previous, candidate, 'transition.no-change');\n }\n const classification = majorModeDisposition(\n context.extensionLayers,\n previous,\n candidate,\n context.synchronization,\n );\n return plan(\n request,\n classification.disposition,\n previous,\n candidate,\n classification.diagnostic,\n classification.strategy,\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PoTransitionPlan, PoTransitionRequest, TransitionSelectionSnapshot, TransitionSynchronization } from "./runtimeTransition.mjs";
|
|
2
2
|
import "./transition.mjs";
|
|
3
3
|
//#region src/services/transitionClassifier/index.d.ts
|
|
4
4
|
export interface TransitionCompositionResolution {
|
|
@@ -13,6 +13,6 @@ export interface TransitionClassifierContext {
|
|
|
13
13
|
readonly synchronization: TransitionSynchronization;
|
|
14
14
|
readonly resolveComposition?: (selection: TransitionSelectionSnapshot) => TransitionCompositionResolution | undefined;
|
|
15
15
|
}
|
|
16
|
-
export declare function classifyTransition(request:
|
|
16
|
+
export declare function classifyTransition(request: PoTransitionRequest, context: TransitionClassifierContext): PoTransitionPlan;
|
|
17
17
|
//#endregion
|
|
18
18
|
//# sourceMappingURL=transitionClassifier.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitionClassifier.d.mts","names":[],"sources":["../src/services/transitionClassifier/index.ts"],"mappings":";;;iBAUiB;WACN;WACA;WACA;;iBAGM;WACN,SAAS;WACT,gBAAgB;WAChB,kBAAkB;WAClB,iBAAiB;WACjB,sBAAsB,WAAW,gCAAgC;;wBA2G5D,mBACd,SAAS,
|
|
1
|
+
{"version":3,"file":"transitionClassifier.d.mts","names":[],"sources":["../src/services/transitionClassifier/index.ts"],"mappings":";;;iBAUiB;WACN;WACA;WACA;;iBAGM;WACN,SAAS;WACT,gBAAgB;WAChB,kBAAkB;WAClB,iBAAiB;WACjB,sBAAsB,WAAW,gCAAgC;;wBA2G5D,mBACd,SAAS,qBACT,SAAS,8BACR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitionClassifier.mjs","names":[],"sources":["../src/services/transitionClassifier/index.ts"],"sourcesContent":["import type {\n
|
|
1
|
+
{"version":3,"file":"transitionClassifier.mjs","names":[],"sources":["../src/services/transitionClassifier/index.ts"],"sourcesContent":["import type {\n PoTransitionPlan,\n PoTransitionRequest,\n TransitionDiagnosticCode,\n TransitionDisposition,\n TransitionExecutionStrategy,\n TransitionSelectionSnapshot,\n TransitionSynchronization,\n} from '../../exports/transition';\n\nexport interface TransitionCompositionResolution {\n readonly fingerprint: string;\n readonly parentActivation: readonly string[];\n readonly childActivation: readonly string[];\n}\n\nexport interface TransitionClassifierContext {\n readonly current: TransitionSelectionSnapshot;\n readonly resolveLayers: (majorMode: string) => readonly string[];\n readonly extensionLayers: (layers: readonly string[]) => readonly string[];\n readonly synchronization: TransitionSynchronization;\n readonly resolveComposition?: (selection: TransitionSelectionSnapshot) => TransitionCompositionResolution | undefined;\n}\n\nfunction sameStrings(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((value, index) => value === right[index]);\n}\n\nfunction copySnapshot(snapshot: TransitionSelectionSnapshot): TransitionSelectionSnapshot {\n return {\n ...snapshot,\n domains: [...snapshot.domains],\n layers: [...snapshot.layers],\n ...(snapshot.parentActivation ? { parentActivation: [...snapshot.parentActivation] } : {}),\n ...(snapshot.childActivation ? { childActivation: [...snapshot.childActivation] } : {}),\n };\n}\n\nfunction plan(\n request: PoTransitionRequest,\n disposition: TransitionDisposition,\n previous: TransitionSelectionSnapshot,\n candidate: TransitionSelectionSnapshot,\n diagnostic: TransitionDiagnosticCode,\n strategy?: TransitionExecutionStrategy,\n): PoTransitionPlan {\n return {\n operationId: request.operationId,\n axis: request.target.axis,\n disposition,\n ...(strategy ? { strategy } : {}),\n previous,\n candidate,\n diagnostics: [diagnostic],\n reloadHandoffRequired: disposition === 'reload' || disposition === 'relaunch',\n externalRelaunchRequired: disposition === 'relaunch',\n };\n}\n\nfunction withComposition(\n candidate: TransitionSelectionSnapshot,\n context: TransitionClassifierContext,\n): TransitionSelectionSnapshot {\n const composition = context.resolveComposition?.(candidate);\n if (!composition) return candidate;\n return {\n ...candidate,\n compositionFingerprint: composition.fingerprint,\n parentActivation: [...composition.parentActivation],\n childActivation: [...composition.childActivation],\n };\n}\n\nfunction launcherNeedsRelaunch(\n extensionLayers: TransitionClassifierContext['extensionLayers'],\n previous: TransitionSelectionSnapshot,\n candidate: TransitionSelectionSnapshot,\n): boolean {\n if (previous.parentActivation && candidate.parentActivation) {\n return !sameStrings(previous.parentActivation, candidate.parentActivation);\n }\n return !sameStrings(extensionLayers(previous.layers), extensionLayers(candidate.layers));\n}\n\nfunction majorModeDisposition(\n extensionLayers: TransitionClassifierContext['extensionLayers'],\n previous: TransitionSelectionSnapshot,\n candidate: TransitionSelectionSnapshot,\n synchronization: TransitionSynchronization,\n): {\n disposition: TransitionDisposition;\n diagnostic: TransitionDiagnosticCode;\n strategy?: TransitionExecutionStrategy;\n} {\n // The entry composes from live selection on every load, so any candidate is\n // reachable: a built aggregate when one exists, the individual entries when\n // it does not. Nothing here can be sync-required.\n if (synchronization.kind === 'launcher-composed') {\n return { disposition: 'reload', diagnostic: 'transition.reload.major-mode', strategy: 'pi-reload' };\n }\n if (synchronization.kind === 'synchronized') {\n if (!synchronization.resolutionAvailable || !candidate.compositionFingerprint) {\n return {\n disposition: 'sync-required',\n diagnostic: 'transition.sync-required.resolution',\n };\n }\n if (!synchronization.availableCompositionFingerprints.includes(candidate.compositionFingerprint)) {\n return {\n disposition: 'sync-required',\n diagnostic: 'transition.sync-required.artifact',\n };\n }\n return {\n disposition: 'reload',\n diagnostic: 'transition.reload.major-mode',\n strategy: 'pi-reload',\n };\n }\n return launcherNeedsRelaunch(extensionLayers, previous, candidate)\n ? {\n disposition: 'relaunch',\n diagnostic: 'transition.relaunch.extension-closure',\n strategy: 'process-relaunch',\n }\n : { disposition: 'reload', diagnostic: 'transition.reload.major-mode', strategy: 'pi-reload' };\n}\n\nexport function classifyTransition(\n request: PoTransitionRequest,\n context: TransitionClassifierContext,\n): PoTransitionPlan {\n const previous = copySnapshot(context.current);\n\n switch (request.target.axis) {\n case 'live':\n return plan(request, 'live', previous, copySnapshot(previous), 'transition.live.capability');\n case 'domains': {\n const candidate = { ...copySnapshot(previous), domains: [...request.target.domains] };\n if (sameStrings(previous.domains, candidate.domains)) {\n return plan(request, 'live', previous, candidate, 'transition.no-change');\n }\n return plan(request, 'reload', previous, candidate, 'transition.reload.domains', 'pi-reload');\n }\n case 'profile': {\n const candidate = { ...copySnapshot(previous), profile: request.target.profile };\n if (previous.profile === candidate.profile) {\n return plan(request, 'live', previous, candidate, 'transition.no-change');\n }\n return plan(request, 'reload', previous, candidate, 'transition.reload.profile', 'pi-reload');\n }\n case 'major-mode': {\n const candidateLayers = context.resolveLayers(request.target.majorMode);\n const candidate = withComposition(\n {\n ...copySnapshot(previous),\n majorMode: request.target.majorMode,\n layers: candidateLayers,\n compositionFingerprint: undefined,\n parentActivation: undefined,\n childActivation: undefined,\n },\n context,\n );\n if (\n (previous.majorMode === candidate.majorMode && sameStrings(previous.layers, candidate.layers)) ||\n (previous.compositionFingerprint !== undefined &&\n previous.compositionFingerprint === candidate.compositionFingerprint)\n ) {\n return plan(request, 'live', previous, candidate, 'transition.no-change');\n }\n const classification = majorModeDisposition(\n context.extensionLayers,\n previous,\n candidate,\n context.synchronization,\n );\n return plan(\n request,\n classification.disposition,\n previous,\n candidate,\n classification.diagnostic,\n classification.strategy,\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -25,8 +25,8 @@ function generationDiagnostic(expected, current) {
|
|
|
25
25
|
if (expected.hostGeneration !== current.hostGeneration) return STALE_GENERATION_DIAGNOSTIC;
|
|
26
26
|
if (expected.configGeneration !== current.configGeneration) return "transition.stale.config";
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
const hostGeneration = options.hostGeneration ?? `
|
|
28
|
+
function createPoTransitionCoordinator(options) {
|
|
29
|
+
const hostGeneration = options.hostGeneration ?? `po-transition:${crypto.randomUUID()}`;
|
|
30
30
|
const readGeneration = options.generation ?? (() => defaultGeneration(options.sessionId, hostGeneration));
|
|
31
31
|
const operationIds = /* @__PURE__ */ new Set();
|
|
32
32
|
let committedSelection;
|
|
@@ -126,6 +126,6 @@ function createDoomTransitionCoordinator(options) {
|
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
//#endregion
|
|
129
|
-
exports.
|
|
129
|
+
exports.createPoTransitionCoordinator = createPoTransitionCoordinator;
|
|
130
130
|
|
|
131
131
|
//# sourceMappingURL=transitionCoordinator.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitionCoordinator.cjs","names":["classifyTransition"],"sources":["../src/services/transitionCoordinator/index.ts"],"sourcesContent":["import type {\n DoomTransitionCoordinator,\n DoomTransitionPlan,\n DoomTransitionRequest,\n DoomTransitionResult,\n StructuralTransitionExecution,\n TransitionDiagnosticCode,\n TransitionGeneration,\n TransitionOutcome,\n} from '../../exports/transition';\nimport { classifyTransition, type TransitionClassifierContext } from '../transitionClassifier';\n\nconst LIVE_AXIS = 'live';\nconst STALE_SESSION_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.stale.session';\nconst STALE_GENERATION_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.stale.generation';\nconst ABORTED_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.rejected.aborted';\nconst EXECUTION_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.rejected.execution';\nconst NO_CHANGE_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.no-change';\n\nexport interface TransitionCoordinatorOptions {\n readonly sessionId: string;\n readonly hostGeneration?: string;\n readonly classifierContext: () => TransitionClassifierContext;\n /** Captures identities that must remain stable while a transition is queued. */\n readonly generation?: () => TransitionGeneration;\n readonly acceptGenerationChange?: (\n before: TransitionGeneration,\n after: TransitionGeneration,\n plan: DoomTransitionPlan,\n ) => boolean;\n readonly executeStructural?: (request: DoomTransitionRequest, plan: DoomTransitionPlan) => Promise<TransitionOutcome>;\n}\n\nfunction result(\n plan: DoomTransitionPlan,\n outcome: TransitionOutcome,\n diagnostic?: TransitionDiagnosticCode,\n): DoomTransitionResult {\n return {\n ...plan,\n outcome,\n diagnostics: diagnostic ? [...plan.diagnostics, diagnostic] : plan.diagnostics,\n };\n}\n\nfunction defaultGeneration(sessionId: string, hostGeneration: string): TransitionGeneration {\n return { sessionId, hostGeneration };\n}\n\nfunction generationDiagnostic(\n expected: TransitionGeneration,\n current: TransitionGeneration,\n): TransitionDiagnosticCode | undefined {\n if (expected.sessionId !== current.sessionId) return STALE_SESSION_DIAGNOSTIC;\n if (expected.hostGeneration !== current.hostGeneration) return STALE_GENERATION_DIAGNOSTIC;\n if (expected.configGeneration !== current.configGeneration) return 'transition.stale.config';\n return undefined;\n}\n\nexport function createDoomTransitionCoordinator(options: TransitionCoordinatorOptions): DoomTransitionCoordinator {\n const hostGeneration = options.hostGeneration ?? `doom-transition:${crypto.randomUUID()}`;\n const readGeneration = options.generation ?? (() => defaultGeneration(options.sessionId, hostGeneration));\n const operationIds = new Set<string>();\n let committedSelection: DoomTransitionPlan['candidate'] | undefined;\n let structuralTail: Promise<void> = Promise.resolve();\n let structuralPending = 0;\n let disposed = false;\n\n const plan = (request: DoomTransitionRequest): DoomTransitionPlan => {\n const context = options.classifierContext();\n const current = {\n ...(committedSelection ?? context.current),\n };\n return classifyTransition(request, { ...context, current });\n };\n\n const requestDiagnostic = (request: DoomTransitionRequest): TransitionDiagnosticCode | undefined => {\n if (request.sessionId !== options.sessionId) return STALE_SESSION_DIAGNOSTIC;\n if (request.hostGeneration !== hostGeneration) return STALE_GENERATION_DIAGNOSTIC;\n if (disposed || request.signal?.aborted) return ABORTED_DIAGNOSTIC;\n if (request.target.axis !== LIVE_AXIS && operationIds.has(request.operationId)) {\n return 'transition.rejected.duplicate';\n }\n return undefined;\n };\n\n const executeLive = async (\n request: DoomTransitionRequest,\n transitionPlan: DoomTransitionPlan,\n execution: StructuralTransitionExecution | undefined,\n expectedGeneration: TransitionGeneration,\n ): Promise<DoomTransitionResult> => {\n if (request.target.axis !== LIVE_AXIS) {\n return result(transitionPlan, 'rejected', EXECUTION_DIAGNOSTIC);\n }\n if (!execution) return result(transitionPlan, 'rejected', 'transition.rejected.unavailable');\n const before = generationDiagnostic(expectedGeneration, readGeneration());\n if (before) return result(transitionPlan, 'stale', before);\n try {\n {\n const outcome = await execution(request, transitionPlan);\n const currentGeneration = readGeneration();\n const after = generationDiagnostic(expectedGeneration, currentGeneration);\n if (after && !options.acceptGenerationChange?.(expectedGeneration, currentGeneration, transitionPlan)) {\n return result(transitionPlan, 'stale', after);\n }\n return result(transitionPlan, outcome);\n }\n } catch {\n return result(transitionPlan, 'rejected', EXECUTION_DIAGNOSTIC);\n }\n };\n\n const executeStructural = async (\n request: DoomTransitionRequest,\n transitionPlan: DoomTransitionPlan,\n execution: StructuralTransitionExecution | undefined,\n expectedGeneration: TransitionGeneration,\n ): Promise<DoomTransitionResult> => {\n if (disposed || request.signal?.aborted) {\n return result(transitionPlan, 'rejected', ABORTED_DIAGNOSTIC);\n }\n const stale = generationDiagnostic(expectedGeneration, readGeneration());\n if (stale) return result(transitionPlan, 'stale', stale);\n if (transitionPlan.disposition === 'sync-required') {\n return result(transitionPlan, 'rejected');\n }\n const selectedExecution = execution ?? options.executeStructural;\n if (!selectedExecution) {\n const outcome = transitionPlan.disposition === 'live' ? 'applied' : 'queued';\n if (outcome === 'applied') committedSelection = transitionPlan.candidate;\n return result(transitionPlan, outcome);\n }\n const outcome = await selectedExecution(request, transitionPlan);\n const currentGeneration = readGeneration();\n const after = generationDiagnostic(expectedGeneration, currentGeneration);\n if (after && !options.acceptGenerationChange?.(expectedGeneration, currentGeneration, transitionPlan)) {\n return result(transitionPlan, 'stale', after);\n }\n if (outcome === 'applied') committedSelection = transitionPlan.candidate;\n return result(transitionPlan, outcome);\n };\n\n return {\n sessionId: options.sessionId,\n hostGeneration,\n plan,\n async execute(request, execution) {\n const admission = requestDiagnostic(request);\n if (admission) {\n const outcome = admission.startsWith('transition.rejected.') ? 'rejected' : 'stale';\n return result(plan(request), outcome, admission);\n }\n const expectedGeneration = readGeneration();\n if (expectedGeneration.sessionId !== options.sessionId) {\n return result(plan(request), 'stale', STALE_SESSION_DIAGNOSTIC);\n }\n if (expectedGeneration.hostGeneration !== hostGeneration) {\n return result(plan(request), 'stale', STALE_GENERATION_DIAGNOSTIC);\n }\n if (request.target.axis !== LIVE_AXIS) operationIds.add(request.operationId);\n\n if (request.target.axis === LIVE_AXIS) {\n const transitionPlan = plan(request);\n if (transitionPlan.diagnostics.includes(NO_CHANGE_DIAGNOSTIC)) return result(transitionPlan, 'unchanged');\n return executeLive(request, transitionPlan, execution, expectedGeneration);\n }\n\n structuralPending += 1;\n const queued = structuralTail.then(async () => {\n const transitionPlan = plan(request);\n const stale = generationDiagnostic(expectedGeneration, readGeneration());\n if (stale) return result(transitionPlan, 'stale', stale);\n if (transitionPlan.diagnostics.includes(NO_CHANGE_DIAGNOSTIC)) return result(transitionPlan, 'unchanged');\n return executeStructural(request, transitionPlan, execution, expectedGeneration);\n });\n structuralTail = queued.then(\n () => undefined,\n () => undefined,\n );\n try {\n return await queued;\n } finally {\n structuralPending -= 1;\n }\n },\n dispose() {\n if (disposed) return;\n disposed = true;\n committedSelection = undefined;\n operationIds.clear();\n if (structuralPending === 0) structuralTail = Promise.resolve();\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transitionCoordinator.cjs","names":["classifyTransition"],"sources":["../src/services/transitionCoordinator/index.ts"],"sourcesContent":["import type {\n PoTransitionCoordinator,\n PoTransitionPlan,\n PoTransitionRequest,\n PoTransitionResult,\n StructuralTransitionExecution,\n TransitionDiagnosticCode,\n TransitionGeneration,\n TransitionOutcome,\n} from '../../exports/transition';\nimport { classifyTransition, type TransitionClassifierContext } from '../transitionClassifier';\n\nconst LIVE_AXIS = 'live';\nconst STALE_SESSION_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.stale.session';\nconst STALE_GENERATION_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.stale.generation';\nconst ABORTED_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.rejected.aborted';\nconst EXECUTION_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.rejected.execution';\nconst NO_CHANGE_DIAGNOSTIC: TransitionDiagnosticCode = 'transition.no-change';\n\nexport interface TransitionCoordinatorOptions {\n readonly sessionId: string;\n readonly hostGeneration?: string;\n readonly classifierContext: () => TransitionClassifierContext;\n /** Captures identities that must remain stable while a transition is queued. */\n readonly generation?: () => TransitionGeneration;\n readonly acceptGenerationChange?: (\n before: TransitionGeneration,\n after: TransitionGeneration,\n plan: PoTransitionPlan,\n ) => boolean;\n readonly executeStructural?: (request: PoTransitionRequest, plan: PoTransitionPlan) => Promise<TransitionOutcome>;\n}\n\nfunction result(\n plan: PoTransitionPlan,\n outcome: TransitionOutcome,\n diagnostic?: TransitionDiagnosticCode,\n): PoTransitionResult {\n return {\n ...plan,\n outcome,\n diagnostics: diagnostic ? [...plan.diagnostics, diagnostic] : plan.diagnostics,\n };\n}\n\nfunction defaultGeneration(sessionId: string, hostGeneration: string): TransitionGeneration {\n return { sessionId, hostGeneration };\n}\n\nfunction generationDiagnostic(\n expected: TransitionGeneration,\n current: TransitionGeneration,\n): TransitionDiagnosticCode | undefined {\n if (expected.sessionId !== current.sessionId) return STALE_SESSION_DIAGNOSTIC;\n if (expected.hostGeneration !== current.hostGeneration) return STALE_GENERATION_DIAGNOSTIC;\n if (expected.configGeneration !== current.configGeneration) return 'transition.stale.config';\n return undefined;\n}\n\nexport function createPoTransitionCoordinator(options: TransitionCoordinatorOptions): PoTransitionCoordinator {\n const hostGeneration = options.hostGeneration ?? `po-transition:${crypto.randomUUID()}`;\n const readGeneration = options.generation ?? (() => defaultGeneration(options.sessionId, hostGeneration));\n const operationIds = new Set<string>();\n let committedSelection: PoTransitionPlan['candidate'] | undefined;\n let structuralTail: Promise<void> = Promise.resolve();\n let structuralPending = 0;\n let disposed = false;\n\n const plan = (request: PoTransitionRequest): PoTransitionPlan => {\n const context = options.classifierContext();\n const current = {\n ...(committedSelection ?? context.current),\n };\n return classifyTransition(request, { ...context, current });\n };\n\n const requestDiagnostic = (request: PoTransitionRequest): TransitionDiagnosticCode | undefined => {\n if (request.sessionId !== options.sessionId) return STALE_SESSION_DIAGNOSTIC;\n if (request.hostGeneration !== hostGeneration) return STALE_GENERATION_DIAGNOSTIC;\n if (disposed || request.signal?.aborted) return ABORTED_DIAGNOSTIC;\n if (request.target.axis !== LIVE_AXIS && operationIds.has(request.operationId)) {\n return 'transition.rejected.duplicate';\n }\n return undefined;\n };\n\n const executeLive = async (\n request: PoTransitionRequest,\n transitionPlan: PoTransitionPlan,\n execution: StructuralTransitionExecution | undefined,\n expectedGeneration: TransitionGeneration,\n ): Promise<PoTransitionResult> => {\n if (request.target.axis !== LIVE_AXIS) {\n return result(transitionPlan, 'rejected', EXECUTION_DIAGNOSTIC);\n }\n if (!execution) return result(transitionPlan, 'rejected', 'transition.rejected.unavailable');\n const before = generationDiagnostic(expectedGeneration, readGeneration());\n if (before) return result(transitionPlan, 'stale', before);\n try {\n {\n const outcome = await execution(request, transitionPlan);\n const currentGeneration = readGeneration();\n const after = generationDiagnostic(expectedGeneration, currentGeneration);\n if (after && !options.acceptGenerationChange?.(expectedGeneration, currentGeneration, transitionPlan)) {\n return result(transitionPlan, 'stale', after);\n }\n return result(transitionPlan, outcome);\n }\n } catch {\n return result(transitionPlan, 'rejected', EXECUTION_DIAGNOSTIC);\n }\n };\n\n const executeStructural = async (\n request: PoTransitionRequest,\n transitionPlan: PoTransitionPlan,\n execution: StructuralTransitionExecution | undefined,\n expectedGeneration: TransitionGeneration,\n ): Promise<PoTransitionResult> => {\n if (disposed || request.signal?.aborted) {\n return result(transitionPlan, 'rejected', ABORTED_DIAGNOSTIC);\n }\n const stale = generationDiagnostic(expectedGeneration, readGeneration());\n if (stale) return result(transitionPlan, 'stale', stale);\n if (transitionPlan.disposition === 'sync-required') {\n return result(transitionPlan, 'rejected');\n }\n const selectedExecution = execution ?? options.executeStructural;\n if (!selectedExecution) {\n const outcome = transitionPlan.disposition === 'live' ? 'applied' : 'queued';\n if (outcome === 'applied') committedSelection = transitionPlan.candidate;\n return result(transitionPlan, outcome);\n }\n const outcome = await selectedExecution(request, transitionPlan);\n const currentGeneration = readGeneration();\n const after = generationDiagnostic(expectedGeneration, currentGeneration);\n if (after && !options.acceptGenerationChange?.(expectedGeneration, currentGeneration, transitionPlan)) {\n return result(transitionPlan, 'stale', after);\n }\n if (outcome === 'applied') committedSelection = transitionPlan.candidate;\n return result(transitionPlan, outcome);\n };\n\n return {\n sessionId: options.sessionId,\n hostGeneration,\n plan,\n async execute(request, execution) {\n const admission = requestDiagnostic(request);\n if (admission) {\n const outcome = admission.startsWith('transition.rejected.') ? 'rejected' : 'stale';\n return result(plan(request), outcome, admission);\n }\n const expectedGeneration = readGeneration();\n if (expectedGeneration.sessionId !== options.sessionId) {\n return result(plan(request), 'stale', STALE_SESSION_DIAGNOSTIC);\n }\n if (expectedGeneration.hostGeneration !== hostGeneration) {\n return result(plan(request), 'stale', STALE_GENERATION_DIAGNOSTIC);\n }\n if (request.target.axis !== LIVE_AXIS) operationIds.add(request.operationId);\n\n if (request.target.axis === LIVE_AXIS) {\n const transitionPlan = plan(request);\n if (transitionPlan.diagnostics.includes(NO_CHANGE_DIAGNOSTIC)) return result(transitionPlan, 'unchanged');\n return executeLive(request, transitionPlan, execution, expectedGeneration);\n }\n\n structuralPending += 1;\n const queued = structuralTail.then(async () => {\n const transitionPlan = plan(request);\n const stale = generationDiagnostic(expectedGeneration, readGeneration());\n if (stale) return result(transitionPlan, 'stale', stale);\n if (transitionPlan.diagnostics.includes(NO_CHANGE_DIAGNOSTIC)) return result(transitionPlan, 'unchanged');\n return executeStructural(request, transitionPlan, execution, expectedGeneration);\n });\n structuralTail = queued.then(\n () => undefined,\n () => undefined,\n );\n try {\n return await queued;\n } finally {\n structuralPending -= 1;\n }\n },\n dispose() {\n if (disposed) return;\n disposed = true;\n committedSelection = undefined;\n operationIds.clear();\n if (structuralPending === 0) structuralTail = Promise.resolve();\n },\n };\n}\n"],"mappings":";;;AAYA,MAAM,YAAY;AAClB,MAAM,2BAAqD;AAC3D,MAAM,8BAAwD;AAC9D,MAAM,qBAA+C;AACrD,MAAM,uBAAiD;AACvD,MAAM,uBAAiD;AAgBvD,SAAS,OACP,MACA,SACA,YACoB;CACpB,OAAO;EACL,GAAG;EACH;EACA,aAAa,aAAa,CAAC,GAAG,KAAK,aAAa,UAAU,IAAI,KAAK;CACrE;AACF;AAEA,SAAS,kBAAkB,WAAmB,gBAA8C;CAC1F,OAAO;EAAE;EAAW;CAAe;AACrC;AAEA,SAAS,qBACP,UACA,SACsC;CACtC,IAAI,SAAS,cAAc,QAAQ,WAAW,OAAO;CACrD,IAAI,SAAS,mBAAmB,QAAQ,gBAAgB,OAAO;CAC/D,IAAI,SAAS,qBAAqB,QAAQ,kBAAkB,OAAO;AAErE;AAEA,SAAgB,8BAA8B,SAAgE;CAC5G,MAAM,iBAAiB,QAAQ,kBAAkB,iBAAiB,OAAO,WAAW;CACpF,MAAM,iBAAiB,QAAQ,qBAAqB,kBAAkB,QAAQ,WAAW,cAAc;CACvG,MAAM,+BAAe,IAAI,IAAY;CACrC,IAAI;CACJ,IAAI,iBAAgC,QAAQ,QAAQ;CACpD,IAAI,oBAAoB;CACxB,IAAI,WAAW;CAEf,MAAM,QAAQ,YAAmD;EAC/D,MAAM,UAAU,QAAQ,kBAAkB;EAC1C,MAAM,UAAU,EACd,GAAI,sBAAsB,QAAQ,QACpC;EACA,OAAOA,6BAAAA,mBAAmB,SAAS;GAAE,GAAG;GAAS;EAAQ,CAAC;CAC5D;CAEA,MAAM,qBAAqB,YAAuE;EAChG,IAAI,QAAQ,cAAc,QAAQ,WAAW,OAAO;EACpD,IAAI,QAAQ,mBAAmB,gBAAgB,OAAO;EACtD,IAAI,YAAY,QAAQ,QAAQ,SAAS,OAAO;EAChD,IAAI,QAAQ,OAAO,SAAS,aAAa,aAAa,IAAI,QAAQ,WAAW,GAC3E,OAAO;CAGX;CAEA,MAAM,cAAc,OAClB,SACA,gBACA,WACA,uBACgC;EAChC,IAAI,QAAQ,OAAO,SAAS,WAC1B,OAAO,OAAO,gBAAgB,YAAY,oBAAoB;EAEhE,IAAI,CAAC,WAAW,OAAO,OAAO,gBAAgB,YAAY,iCAAiC;EAC3F,MAAM,SAAS,qBAAqB,oBAAoB,eAAe,CAAC;EACxE,IAAI,QAAQ,OAAO,OAAO,gBAAgB,SAAS,MAAM;EACzD,IAAI;GACF;IACE,MAAM,UAAU,MAAM,UAAU,SAAS,cAAc;IACvD,MAAM,oBAAoB,eAAe;IACzC,MAAM,QAAQ,qBAAqB,oBAAoB,iBAAiB;IACxE,IAAI,SAAS,CAAC,QAAQ,yBAAyB,oBAAoB,mBAAmB,cAAc,GAClG,OAAO,OAAO,gBAAgB,SAAS,KAAK;IAE9C,OAAO,OAAO,gBAAgB,OAAO;GACvC;EACF,QAAQ;GACN,OAAO,OAAO,gBAAgB,YAAY,oBAAoB;EAChE;CACF;CAEA,MAAM,oBAAoB,OACxB,SACA,gBACA,WACA,uBACgC;EAChC,IAAI,YAAY,QAAQ,QAAQ,SAC9B,OAAO,OAAO,gBAAgB,YAAY,kBAAkB;EAE9D,MAAM,QAAQ,qBAAqB,oBAAoB,eAAe,CAAC;EACvE,IAAI,OAAO,OAAO,OAAO,gBAAgB,SAAS,KAAK;EACvD,IAAI,eAAe,gBAAgB,iBACjC,OAAO,OAAO,gBAAgB,UAAU;EAE1C,MAAM,oBAAoB,aAAa,QAAQ;EAC/C,IAAI,CAAC,mBAAmB;GACtB,MAAM,UAAU,eAAe,gBAAgB,SAAS,YAAY;GACpE,IAAI,YAAY,WAAW,qBAAqB,eAAe;GAC/D,OAAO,OAAO,gBAAgB,OAAO;EACvC;EACA,MAAM,UAAU,MAAM,kBAAkB,SAAS,cAAc;EAC/D,MAAM,oBAAoB,eAAe;EACzC,MAAM,QAAQ,qBAAqB,oBAAoB,iBAAiB;EACxE,IAAI,SAAS,CAAC,QAAQ,yBAAyB,oBAAoB,mBAAmB,cAAc,GAClG,OAAO,OAAO,gBAAgB,SAAS,KAAK;EAE9C,IAAI,YAAY,WAAW,qBAAqB,eAAe;EAC/D,OAAO,OAAO,gBAAgB,OAAO;CACvC;CAEA,OAAO;EACL,WAAW,QAAQ;EACnB;EACA;EACA,MAAM,QAAQ,SAAS,WAAW;GAChC,MAAM,YAAY,kBAAkB,OAAO;GAC3C,IAAI,WAAW;IACb,MAAM,UAAU,UAAU,WAAW,sBAAsB,IAAI,aAAa;IAC5E,OAAO,OAAO,KAAK,OAAO,GAAG,SAAS,SAAS;GACjD;GACA,MAAM,qBAAqB,eAAe;GAC1C,IAAI,mBAAmB,cAAc,QAAQ,WAC3C,OAAO,OAAO,KAAK,OAAO,GAAG,SAAS,wBAAwB;GAEhE,IAAI,mBAAmB,mBAAmB,gBACxC,OAAO,OAAO,KAAK,OAAO,GAAG,SAAS,2BAA2B;GAEnE,IAAI,QAAQ,OAAO,SAAS,WAAW,aAAa,IAAI,QAAQ,WAAW;GAE3E,IAAI,QAAQ,OAAO,SAAS,WAAW;IACrC,MAAM,iBAAiB,KAAK,OAAO;IACnC,IAAI,eAAe,YAAY,SAAS,oBAAoB,GAAG,OAAO,OAAO,gBAAgB,WAAW;IACxG,OAAO,YAAY,SAAS,gBAAgB,WAAW,kBAAkB;GAC3E;GAEA,qBAAqB;GACrB,MAAM,SAAS,eAAe,KAAK,YAAY;IAC7C,MAAM,iBAAiB,KAAK,OAAO;IACnC,MAAM,QAAQ,qBAAqB,oBAAoB,eAAe,CAAC;IACvE,IAAI,OAAO,OAAO,OAAO,gBAAgB,SAAS,KAAK;IACvD,IAAI,eAAe,YAAY,SAAS,oBAAoB,GAAG,OAAO,OAAO,gBAAgB,WAAW;IACxG,OAAO,kBAAkB,SAAS,gBAAgB,WAAW,kBAAkB;GACjF,CAAC;GACD,iBAAiB,OAAO,WAChB,KAAA,SACA,KAAA,CACR;GACA,IAAI;IACF,OAAO,MAAM;GACf,UAAU;IACR,qBAAqB;GACvB;EACF;EACA,UAAU;GACR,IAAI,UAAU;GACd,WAAW;GACX,qBAAqB,KAAA;GACrB,aAAa,MAAM;GACnB,IAAI,sBAAsB,GAAG,iBAAiB,QAAQ,QAAQ;EAChE;CACF;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PoTransitionCoordinator, PoTransitionPlan, PoTransitionRequest, TransitionGeneration, TransitionOutcome } from "./runtimeTransition.mjs";
|
|
2
2
|
import "./transition.mjs";
|
|
3
3
|
import { TransitionClassifierContext } from "./transitionClassifier.mjs";
|
|
4
4
|
//#region src/services/transitionCoordinator/index.d.ts
|
|
@@ -8,9 +8,9 @@ export interface TransitionCoordinatorOptions {
|
|
|
8
8
|
readonly classifierContext: () => TransitionClassifierContext;
|
|
9
9
|
/** Captures identities that must remain stable while a transition is queued. */
|
|
10
10
|
readonly generation?: () => TransitionGeneration;
|
|
11
|
-
readonly acceptGenerationChange?: (before: TransitionGeneration, after: TransitionGeneration, plan:
|
|
12
|
-
readonly executeStructural?: (request:
|
|
11
|
+
readonly acceptGenerationChange?: (before: TransitionGeneration, after: TransitionGeneration, plan: PoTransitionPlan) => boolean;
|
|
12
|
+
readonly executeStructural?: (request: PoTransitionRequest, plan: PoTransitionPlan) => Promise<TransitionOutcome>;
|
|
13
13
|
}
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function createPoTransitionCoordinator(options: TransitionCoordinatorOptions): PoTransitionCoordinator;
|
|
15
15
|
//#endregion
|
|
16
16
|
//# sourceMappingURL=transitionCoordinator.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitionCoordinator.d.mts","names":[],"sources":["../src/services/transitionCoordinator/index.ts"],"mappings":";;;;iBAmBiB;WACN;WACA;WACA,yBAAyB;;WAEzB,mBAAmB;WACnB,0BACP,QAAQ,sBACR,OAAO,sBACP,MAAM;WAEC,qBAAqB,SAAS,
|
|
1
|
+
{"version":3,"file":"transitionCoordinator.d.mts","names":[],"sources":["../src/services/transitionCoordinator/index.ts"],"mappings":";;;;iBAmBiB;WACN;WACA;WACA,yBAAyB;;WAEzB,mBAAmB;WACnB,0BACP,QAAQ,sBACR,OAAO,sBACP,MAAM;WAEC,qBAAqB,SAAS,qBAAqB,MAAM,qBAAqB,QAAQ;;wBA6BjF,8BAA8B,SAAS,+BAA+B"}
|