@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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/services/nodeHost/index.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Host details that only a Node process has. Portable modules reach them through
|
|
4
|
+
* this seam; the edge build swaps in `index.edge.ts`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const nodeHost: {
|
|
7
|
+
homeDirectory: () => string;
|
|
8
|
+
temporaryDirectory: () => string;
|
|
9
|
+
processId: () => number;
|
|
10
|
+
/** POSIX permission bits; the edge has no owner to protect against, so it skips this. */
|
|
11
|
+
setMode: (filePath: string, mode: number) => Promise<void>;
|
|
12
|
+
/** POSIX permission bits of an existing file, or `undefined` when it is missing. */
|
|
13
|
+
fileMode: (filePath: string) => Promise<number | undefined>;
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/nodeHost/index.ts"],"mappings":";;;;;qBAOa;EACX;EACA;EACA;;EAEA,UAAO,kBAAmB,iBAAiB;;EAE3C,WAAQ,qBAA4B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import os from "node:os";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
//#region src/services/nodeHost/index.ts
|
|
4
|
+
/**
|
|
5
|
+
* Host details that only a Node process has. Portable modules reach them through
|
|
6
|
+
* this seam; the edge build swaps in `index.edge.ts`.
|
|
7
|
+
*/
|
|
8
|
+
const nodeHost = {
|
|
9
|
+
homeDirectory: () => os.homedir(),
|
|
10
|
+
temporaryDirectory: () => os.tmpdir(),
|
|
11
|
+
processId: () => process.pid,
|
|
12
|
+
/** POSIX permission bits; the edge has no owner to protect against, so it skips this. */
|
|
13
|
+
setMode: (filePath, mode) => fs.chmod(filePath, mode),
|
|
14
|
+
/** POSIX permission bits of an existing file, or `undefined` when it is missing. */
|
|
15
|
+
fileMode: async (filePath) => {
|
|
16
|
+
try {
|
|
17
|
+
return (await fs.stat(filePath)).mode & 4095;
|
|
18
|
+
} catch (error) {
|
|
19
|
+
if (error.code === "ENOENT") return void 0;
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { nodeHost };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/nodeHost/index.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport os from 'node:os';\n\n/**\n * Host details that only a Node process has. Portable modules reach them through\n * this seam; the edge build swaps in `index.edge.ts`.\n */\nexport const nodeHost = {\n homeDirectory: (): string => os.homedir(),\n temporaryDirectory: (): string => os.tmpdir(),\n processId: (): number => process.pid,\n /** POSIX permission bits; the edge has no owner to protect against, so it skips this. */\n setMode: (filePath: string, mode: number): Promise<void> => fs.chmod(filePath, mode),\n /** POSIX permission bits of an existing file, or `undefined` when it is missing. */\n fileMode: async (filePath: string): Promise<number | undefined> => {\n try {\n return (await fs.stat(filePath)).mode & 0o7777;\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === 'ENOENT') return undefined;\n throw error;\n }\n },\n};\n"],"mappings":";;;;;;;AAOA,MAAa,WAAW;CACtB,qBAA6B,GAAG,QAAQ;CACxC,0BAAkC,GAAG,OAAO;CAC5C,iBAAyB,QAAQ;;CAEjC,UAAU,UAAkB,SAAgC,GAAG,MAAM,UAAU,IAAI;;CAEnF,UAAU,OAAO,aAAkD;EACjE,IAAI;GACF,QAAQ,MAAM,GAAG,KAAK,QAAQ,EAAA,CAAG,OAAO;EAC1C,SAAS,OAAO;GACd,IAAK,MAAgC,SAAS,UAAU,OAAO,KAAA;GAC/D,MAAM;EACR;CACF;AACF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_sync = require("../piSettings/sync.cjs");
|
|
3
|
+
require("../../../runtimePiSettings.cjs");
|
|
4
|
+
const require_index = require("../chatgptLogin/index.cjs");
|
|
5
|
+
const require_headless = require("../../schemas/headless.cjs");
|
|
6
|
+
const require_index$1 = require("../piExtensionHost/index.cjs");
|
|
7
|
+
let node_fs = require("node:fs");
|
|
8
|
+
node_fs = require_runtime.__toESM(node_fs, 1);
|
|
9
|
+
let node_path = require("node:path");
|
|
10
|
+
node_path = require_runtime.__toESM(node_path, 1);
|
|
11
|
+
let _earendil_works_pi_coding_agent = require("@earendil-works/pi-coding-agent");
|
|
12
|
+
//#region src/services/nodeModelDependencies/index.ts
|
|
13
|
+
async function resolveModel(parsed, modelRuntime, settings) {
|
|
14
|
+
const cli = (0, _earendil_works_pi_coding_agent.resolveCliModel)({
|
|
15
|
+
cliProvider: parsed.provider,
|
|
16
|
+
cliModel: parsed.model,
|
|
17
|
+
cliThinking: parsed.thinking,
|
|
18
|
+
modelRuntime
|
|
19
|
+
});
|
|
20
|
+
if (cli.error) throw new Error(cli.error);
|
|
21
|
+
let scoped;
|
|
22
|
+
if (parsed.models !== void 0 && parsed.models.length > 0) {
|
|
23
|
+
scoped = (await (0, _earendil_works_pi_coding_agent.resolveModelScopeWithDiagnostics)(parsed.models, modelRuntime)).scopedModels[0]?.model;
|
|
24
|
+
if (scoped === void 0) throw new require_headless.PoSessionSetupError(`No configured model matched --models ${parsed.models.join(", ")}.`);
|
|
25
|
+
}
|
|
26
|
+
const configured = cli.model ?? scoped ?? (settings.getDefaultProvider() && settings.getDefaultModel() ? modelRuntime.getModel(settings.getDefaultProvider(), settings.getDefaultModel()) : void 0) ?? (await modelRuntime.getAvailable())[0];
|
|
27
|
+
if (configured === void 0) {
|
|
28
|
+
const agentDir = (0, _earendil_works_pi_coding_agent.getAgentDir)();
|
|
29
|
+
const runtimeError = modelRuntime.getError();
|
|
30
|
+
throw new require_headless.PoSessionSetupError(`No model is configured, so the session cannot start. Add a provider and its credentials in ${agentDir} (auth.json, or models.json for a custom provider), then set defaultProvider and defaultModel in ${node_path.default.join(agentDir, "settings.json")}.` + (runtimeError ? `\n\n${runtimeError}` : ""));
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
model: configured,
|
|
34
|
+
thinkingLevel: cli.thinkingLevel ?? parsed.thinking ?? settings.getModelThinkingLevel(configured.provider, configured.id) ?? settings.getDefaultThinkingLevel()
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** Models, settings and Pi extensions from `~/.pi/agent` and the worktree, as the Node server loads them. */
|
|
38
|
+
async function createNodeModelDependencies(options) {
|
|
39
|
+
const agentDir = (0, _earendil_works_pi_coding_agent.getAgentDir)();
|
|
40
|
+
const settings = _earendil_works_pi_coding_agent.SettingsManager.create(options.cwd, agentDir);
|
|
41
|
+
const modelDir = require_sync.modelConfigDirectory(agentDir);
|
|
42
|
+
const settingsDir = require_sync.modelSettingsDirectory(agentDir);
|
|
43
|
+
const modelSettings = settingsDir === agentDir ? settings : _earendil_works_pi_coding_agent.SettingsManager.create(options.cwd, settingsDir);
|
|
44
|
+
const modelRuntime = await _earendil_works_pi_coding_agent.ModelRuntime.create({
|
|
45
|
+
authPath: node_path.default.join(modelDir, "auth.json"),
|
|
46
|
+
modelsPath: node_path.default.join(modelDir, "models.json"),
|
|
47
|
+
refreshOnCreate: false
|
|
48
|
+
});
|
|
49
|
+
require_index.registerChatgptAuthProvider(modelRuntime);
|
|
50
|
+
const piExtensionPaths = options.piExtensions === false ? [] : [
|
|
51
|
+
...options.piExtensionFactories !== void 0 ? [] : options.piExtensionPaths ?? [],
|
|
52
|
+
...await require_index$1.resolvePiSettingsPackageEntries({
|
|
53
|
+
cwd: options.cwd,
|
|
54
|
+
agentDir,
|
|
55
|
+
settings,
|
|
56
|
+
...options.onNotice === void 0 ? {} : { onNotice: options.onNotice }
|
|
57
|
+
}),
|
|
58
|
+
...modelDir !== agentDir && node_fs.default.existsSync(node_path.default.join(modelDir, "extensions")) ? [node_path.default.join(modelDir, "extensions")] : []
|
|
59
|
+
];
|
|
60
|
+
const piPreload = await require_index$1.preloadPiExtensions({
|
|
61
|
+
cwd: options.cwd,
|
|
62
|
+
agentDir,
|
|
63
|
+
models: modelRuntime,
|
|
64
|
+
extensionPaths: [...new Set(piExtensionPaths)],
|
|
65
|
+
...options.piExtensions === false || options.piExtensionFactories === void 0 ? {} : { extensionFactories: await options.piExtensionFactories() },
|
|
66
|
+
...options.onNotice === void 0 ? {} : { onNotice: options.onNotice }
|
|
67
|
+
});
|
|
68
|
+
return {
|
|
69
|
+
agentDir,
|
|
70
|
+
modelRuntime,
|
|
71
|
+
projectContextFiles: (0, _earendil_works_pi_coding_agent.loadProjectContextFiles)({
|
|
72
|
+
cwd: options.cwd,
|
|
73
|
+
agentDir
|
|
74
|
+
}),
|
|
75
|
+
resolveModel: (parsed) => resolveModel(parsed, modelRuntime, modelSettings),
|
|
76
|
+
...piPreload === void 0 ? {} : { piExtensions: (input) => require_index$1.createPiExtensionHost({
|
|
77
|
+
...input,
|
|
78
|
+
cwd: options.cwd,
|
|
79
|
+
agentDir,
|
|
80
|
+
models: modelRuntime,
|
|
81
|
+
settings,
|
|
82
|
+
preload: piPreload
|
|
83
|
+
}) }
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
exports.createNodeModelDependencies = createNodeModelDependencies;
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["resolveCliModel","resolveModelScopeWithDiagnostics","PoSessionSetupError","getAgentDir","path","SettingsManager","modelConfigDirectory","modelSettingsDirectory","ModelRuntime","resolvePiSettingsPackageEntries","fs","preloadPiExtensions","loadProjectContextFiles","createPiExtensionHost"],"sources":["../../../../src/services/nodeModelDependencies/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { Api, Model } from '@earendil-works/pi-ai';\nimport {\n getAgentDir,\n loadProjectContextFiles,\n ModelRuntime,\n resolveCliModel,\n resolveModelScopeWithDiagnostics,\n SettingsManager,\n type Args,\n} from '@earendil-works/pi-coding-agent';\n\nimport { PoSessionSetupError } from '../../exports/headless';\nimport type {\n HeadlessModelDependencies,\n HeadlessSessionHostOptions,\n} from '../../systems/main/types/headlessSessionHost';\nimport { registerChatgptAuthProvider } from '../chatgptLogin';\nimport { createPiExtensionHost, preloadPiExtensions, resolvePiSettingsPackageEntries } from '../piExtensionHost';\nimport { modelConfigDirectory, modelSettingsDirectory } from '../piSettings';\n\nasync function resolveModel(\n parsed: Args,\n modelRuntime: ModelRuntime,\n settings: SettingsManager,\n): Promise<{ model: Model<Api>; thinkingLevel?: Args['thinking'] }> {\n const cli = resolveCliModel({\n cliProvider: parsed.provider,\n cliModel: parsed.model,\n cliThinking: parsed.thinking,\n modelRuntime,\n });\n if (cli.error) throw new Error(cli.error);\n\n let scoped: Model<Api> | undefined;\n if (parsed.models !== undefined && parsed.models.length > 0) {\n const resolved = await resolveModelScopeWithDiagnostics(parsed.models, modelRuntime);\n scoped = resolved.scopedModels[0]?.model;\n if (scoped === undefined)\n throw new PoSessionSetupError(`No configured model matched --models ${parsed.models.join(', ')}.`);\n }\n\n const configured =\n cli.model ??\n scoped ??\n (settings.getDefaultProvider() && settings.getDefaultModel()\n ? modelRuntime.getModel(settings.getDefaultProvider()!, settings.getDefaultModel()!)\n : undefined) ??\n (await modelRuntime.getAvailable())[0];\n if (configured === undefined) {\n const agentDir = getAgentDir();\n // A failed availability refresh also leaves the list empty; name it instead of blaming setup.\n const runtimeError = modelRuntime.getError();\n throw new PoSessionSetupError(\n `No model is configured, so the session cannot start. Add a provider and its credentials in ${agentDir} ` +\n `(auth.json, or models.json for a custom provider), then set defaultProvider and defaultModel in ` +\n `${path.join(agentDir, 'settings.json')}.` +\n (runtimeError ? `\\n\\n${runtimeError}` : ''),\n );\n }\n return {\n model: configured,\n thinkingLevel:\n cli.thinkingLevel ??\n parsed.thinking ??\n settings.getModelThinkingLevel(configured.provider, configured.id) ??\n settings.getDefaultThinkingLevel(),\n };\n}\n\n/** Models, settings and Pi extensions from `~/.pi/agent` and the worktree, as the Node server loads them. */\nexport async function createNodeModelDependencies(\n options: HeadlessSessionHostOptions,\n): Promise<HeadlessModelDependencies> {\n const agentDir = getAgentDir();\n const settings = SettingsManager.create(options.cwd, agentDir);\n // Credentials and model defaults fall back independently to plain Pi's ~/.pi/agent.\n const modelDir = modelConfigDirectory(agentDir);\n const settingsDir = modelSettingsDirectory(agentDir);\n const modelSettings = settingsDir === agentDir ? settings : SettingsManager.create(options.cwd, settingsDir);\n const modelRuntime = await ModelRuntime.create({\n authPath: path.join(modelDir, 'auth.json'),\n modelsPath: path.join(modelDir, 'models.json'),\n refreshOnCreate: false,\n });\n registerChatgptAuthProvider(modelRuntime);\n // Pi extensions load before the model is resolved: an extension that registers a provider\n // (a local Vertex or Bedrock bridge, say) must be in the runtime before the configured default\n // is looked up, or the lookup misses and the session silently falls back to whichever model\n // happens to be first in `getAvailable()`.\n // Provider packages from Pi's settings.json `packages` load alongside the Po entry, so a\n // model that works under `pi` (a Claude Code bridge, say) is also selectable here.\n const piExtensionPaths =\n options.piExtensions === false\n ? []\n : [\n ...(options.piExtensionFactories !== undefined ? [] : (options.piExtensionPaths ?? [])),\n ...(await resolvePiSettingsPackageEntries({\n cwd: options.cwd,\n agentDir,\n settings,\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n })),\n // Falling back to Pi's model config brings Pi's own extensions with it, as po loads\n // them: a provider such as a local Vertex bridge lives there, not in auth.json.\n ...(modelDir !== agentDir && fs.existsSync(path.join(modelDir, 'extensions'))\n ? [path.join(modelDir, 'extensions')]\n : []),\n ];\n const piPreload = await preloadPiExtensions({\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n extensionPaths: [...new Set(piExtensionPaths)],\n ...(options.piExtensions === false || options.piExtensionFactories === undefined\n ? {}\n : { extensionFactories: await options.piExtensionFactories() }),\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n });\n const projectContextFiles = loadProjectContextFiles({\n cwd: options.cwd,\n agentDir,\n });\n return {\n agentDir,\n modelRuntime,\n projectContextFiles,\n resolveModel: (parsed) => resolveModel(parsed, modelRuntime, modelSettings),\n ...(piPreload === undefined\n ? {}\n : {\n piExtensions: (input) =>\n createPiExtensionHost({\n ...input,\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n settings,\n preload: piPreload,\n }),\n }),\n };\n}\n"],"mappings":";;;;;;;;;;;;AAuBA,eAAe,aACb,QACA,cACA,UACkE;CAClE,MAAM,OAAA,GAAMA,gCAAAA,gBAAAA,CAAgB;EAC1B,aAAa,OAAO;EACpB,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB;CACF,CAAC;CACD,IAAI,IAAI,OAAO,MAAM,IAAI,MAAM,IAAI,KAAK;CAExC,IAAI;CACJ,IAAI,OAAO,WAAW,KAAA,KAAa,OAAO,OAAO,SAAS,GAAG;EAE3D,UAAS,OAAA,GADcC,gCAAAA,iCAAAA,CAAiC,OAAO,QAAQ,YAAY,EAAA,CACjE,aAAa,EAAE,EAAE;EACnC,IAAI,WAAW,KAAA,GACb,MAAM,IAAIC,iBAAAA,oBAAoB,wCAAwC,OAAO,OAAO,KAAK,IAAI,EAAE,EAAE;CACrG;CAEA,MAAM,aACJ,IAAI,SACJ,WACC,SAAS,mBAAmB,KAAK,SAAS,gBAAgB,IACvD,aAAa,SAAS,SAAS,mBAAmB,GAAI,SAAS,gBAAgB,CAAE,IACjF,KAAA,OACH,MAAM,aAAa,aAAa,EAAA,CAAG;CACtC,IAAI,eAAe,KAAA,GAAW;EAC5B,MAAM,YAAA,GAAWC,gCAAAA,YAAAA,CAAY;EAE7B,MAAM,eAAe,aAAa,SAAS;EAC3C,MAAM,IAAID,iBAAAA,oBACR,8FAA8F,SAAS,mGAElGE,UAAAA,QAAK,KAAK,UAAU,eAAe,EAAE,MACvC,eAAe,OAAO,iBAAiB,GAC5C;CACF;CACA,OAAO;EACL,OAAO;EACP,eACE,IAAI,iBACJ,OAAO,YACP,SAAS,sBAAsB,WAAW,UAAU,WAAW,EAAE,KACjE,SAAS,wBAAwB;CACrC;AACF;;AAGA,eAAsB,4BACpB,SACoC;CACpC,MAAM,YAAA,GAAWD,gCAAAA,YAAAA,CAAY;CAC7B,MAAM,WAAWE,gCAAAA,gBAAgB,OAAO,QAAQ,KAAK,QAAQ;CAE7D,MAAM,WAAWC,aAAAA,qBAAqB,QAAQ;CAC9C,MAAM,cAAcC,aAAAA,uBAAuB,QAAQ;CACnD,MAAM,gBAAgB,gBAAgB,WAAW,WAAWF,gCAAAA,gBAAgB,OAAO,QAAQ,KAAK,WAAW;CAC3G,MAAM,eAAe,MAAMG,gCAAAA,aAAa,OAAO;EAC7C,UAAUJ,UAAAA,QAAK,KAAK,UAAU,WAAW;EACzC,YAAYA,UAAAA,QAAK,KAAK,UAAU,aAAa;EAC7C,iBAAiB;CACnB,CAAC;CACD,cAAA,4BAA4B,YAAY;CAOxC,MAAM,mBACJ,QAAQ,iBAAiB,QACrB,CAAC,IACD;EACE,GAAI,QAAQ,yBAAyB,KAAA,IAAY,CAAC,IAAK,QAAQ,oBAAoB,CAAC;EACpF,GAAI,MAAMK,gBAAAA,gCAAgC;GACxC,KAAK,QAAQ;GACb;GACA;GACA,GAAI,QAAQ,aAAa,KAAA,IAAY,CAAC,IAAI,EAAE,UAAU,QAAQ,SAAS;EACzE,CAAC;EAGD,GAAI,aAAa,YAAYC,QAAAA,QAAG,WAAWN,UAAAA,QAAK,KAAK,UAAU,YAAY,CAAC,IACxE,CAACA,UAAAA,QAAK,KAAK,UAAU,YAAY,CAAC,IAClC,CAAC;CACP;CACN,MAAM,YAAY,MAAMO,gBAAAA,oBAAoB;EAC1C,KAAK,QAAQ;EACb;EACA,QAAQ;EACR,gBAAgB,CAAC,GAAG,IAAI,IAAI,gBAAgB,CAAC;EAC7C,GAAI,QAAQ,iBAAiB,SAAS,QAAQ,yBAAyB,KAAA,IACnE,CAAC,IACD,EAAE,oBAAoB,MAAM,QAAQ,qBAAqB,EAAE;EAC/D,GAAI,QAAQ,aAAa,KAAA,IAAY,CAAC,IAAI,EAAE,UAAU,QAAQ,SAAS;CACzE,CAAC;CAKD,OAAO;EACL;EACA;EACA,sBAAA,GAP0BC,gCAAAA,wBAAAA,CAAwB;GAClD,KAAK,QAAQ;GACb;EACF,CAIoB;EAClB,eAAe,WAAW,aAAa,QAAQ,cAAc,aAAa;EAC1E,GAAI,cAAc,KAAA,IACd,CAAC,IACD,EACE,eAAe,UACbC,gBAAAA,sBAAsB;GACpB,GAAG;GACH,KAAK,QAAQ;GACb;GACA,QAAQ;GACR;GACA,SAAS;EACX,CAAC,EACL;CACN;AACF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { modelConfigDirectory, modelSettingsDirectory } from "../piSettings/sync.mjs";
|
|
2
|
+
import "../../../runtimePiSettings.mjs";
|
|
3
|
+
import { registerChatgptAuthProvider } from "../chatgptLogin/index.mjs";
|
|
4
|
+
import { PoSessionSetupError } from "../../schemas/headless.mjs";
|
|
5
|
+
import { createPiExtensionHost, preloadPiExtensions, resolvePiSettingsPackageEntries } from "../piExtensionHost/index.mjs";
|
|
6
|
+
import fs from "node:fs";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { ModelRuntime, SettingsManager, getAgentDir, loadProjectContextFiles, resolveCliModel, resolveModelScopeWithDiagnostics } from "@earendil-works/pi-coding-agent";
|
|
9
|
+
//#region src/services/nodeModelDependencies/index.ts
|
|
10
|
+
async function resolveModel(parsed, modelRuntime, settings) {
|
|
11
|
+
const cli = resolveCliModel({
|
|
12
|
+
cliProvider: parsed.provider,
|
|
13
|
+
cliModel: parsed.model,
|
|
14
|
+
cliThinking: parsed.thinking,
|
|
15
|
+
modelRuntime
|
|
16
|
+
});
|
|
17
|
+
if (cli.error) throw new Error(cli.error);
|
|
18
|
+
let scoped;
|
|
19
|
+
if (parsed.models !== void 0 && parsed.models.length > 0) {
|
|
20
|
+
scoped = (await resolveModelScopeWithDiagnostics(parsed.models, modelRuntime)).scopedModels[0]?.model;
|
|
21
|
+
if (scoped === void 0) throw new PoSessionSetupError(`No configured model matched --models ${parsed.models.join(", ")}.`);
|
|
22
|
+
}
|
|
23
|
+
const configured = cli.model ?? scoped ?? (settings.getDefaultProvider() && settings.getDefaultModel() ? modelRuntime.getModel(settings.getDefaultProvider(), settings.getDefaultModel()) : void 0) ?? (await modelRuntime.getAvailable())[0];
|
|
24
|
+
if (configured === void 0) {
|
|
25
|
+
const agentDir = getAgentDir();
|
|
26
|
+
const runtimeError = modelRuntime.getError();
|
|
27
|
+
throw new PoSessionSetupError(`No model is configured, so the session cannot start. Add a provider and its credentials in ${agentDir} (auth.json, or models.json for a custom provider), then set defaultProvider and defaultModel in ${path.join(agentDir, "settings.json")}.` + (runtimeError ? `\n\n${runtimeError}` : ""));
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
model: configured,
|
|
31
|
+
thinkingLevel: cli.thinkingLevel ?? parsed.thinking ?? settings.getModelThinkingLevel(configured.provider, configured.id) ?? settings.getDefaultThinkingLevel()
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/** Models, settings and Pi extensions from `~/.pi/agent` and the worktree, as the Node server loads them. */
|
|
35
|
+
async function createNodeModelDependencies(options) {
|
|
36
|
+
const agentDir = getAgentDir();
|
|
37
|
+
const settings = SettingsManager.create(options.cwd, agentDir);
|
|
38
|
+
const modelDir = modelConfigDirectory(agentDir);
|
|
39
|
+
const settingsDir = modelSettingsDirectory(agentDir);
|
|
40
|
+
const modelSettings = settingsDir === agentDir ? settings : SettingsManager.create(options.cwd, settingsDir);
|
|
41
|
+
const modelRuntime = await ModelRuntime.create({
|
|
42
|
+
authPath: path.join(modelDir, "auth.json"),
|
|
43
|
+
modelsPath: path.join(modelDir, "models.json"),
|
|
44
|
+
refreshOnCreate: false
|
|
45
|
+
});
|
|
46
|
+
registerChatgptAuthProvider(modelRuntime);
|
|
47
|
+
const piExtensionPaths = options.piExtensions === false ? [] : [
|
|
48
|
+
...options.piExtensionFactories !== void 0 ? [] : options.piExtensionPaths ?? [],
|
|
49
|
+
...await resolvePiSettingsPackageEntries({
|
|
50
|
+
cwd: options.cwd,
|
|
51
|
+
agentDir,
|
|
52
|
+
settings,
|
|
53
|
+
...options.onNotice === void 0 ? {} : { onNotice: options.onNotice }
|
|
54
|
+
}),
|
|
55
|
+
...modelDir !== agentDir && fs.existsSync(path.join(modelDir, "extensions")) ? [path.join(modelDir, "extensions")] : []
|
|
56
|
+
];
|
|
57
|
+
const piPreload = await preloadPiExtensions({
|
|
58
|
+
cwd: options.cwd,
|
|
59
|
+
agentDir,
|
|
60
|
+
models: modelRuntime,
|
|
61
|
+
extensionPaths: [...new Set(piExtensionPaths)],
|
|
62
|
+
...options.piExtensions === false || options.piExtensionFactories === void 0 ? {} : { extensionFactories: await options.piExtensionFactories() },
|
|
63
|
+
...options.onNotice === void 0 ? {} : { onNotice: options.onNotice }
|
|
64
|
+
});
|
|
65
|
+
return {
|
|
66
|
+
agentDir,
|
|
67
|
+
modelRuntime,
|
|
68
|
+
projectContextFiles: loadProjectContextFiles({
|
|
69
|
+
cwd: options.cwd,
|
|
70
|
+
agentDir
|
|
71
|
+
}),
|
|
72
|
+
resolveModel: (parsed) => resolveModel(parsed, modelRuntime, modelSettings),
|
|
73
|
+
...piPreload === void 0 ? {} : { piExtensions: (input) => createPiExtensionHost({
|
|
74
|
+
...input,
|
|
75
|
+
cwd: options.cwd,
|
|
76
|
+
agentDir,
|
|
77
|
+
models: modelRuntime,
|
|
78
|
+
settings,
|
|
79
|
+
preload: piPreload
|
|
80
|
+
}) }
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
export { createNodeModelDependencies };
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/nodeModelDependencies/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { Api, Model } from '@earendil-works/pi-ai';\nimport {\n getAgentDir,\n loadProjectContextFiles,\n ModelRuntime,\n resolveCliModel,\n resolveModelScopeWithDiagnostics,\n SettingsManager,\n type Args,\n} from '@earendil-works/pi-coding-agent';\n\nimport { PoSessionSetupError } from '../../exports/headless';\nimport type {\n HeadlessModelDependencies,\n HeadlessSessionHostOptions,\n} from '../../systems/main/types/headlessSessionHost';\nimport { registerChatgptAuthProvider } from '../chatgptLogin';\nimport { createPiExtensionHost, preloadPiExtensions, resolvePiSettingsPackageEntries } from '../piExtensionHost';\nimport { modelConfigDirectory, modelSettingsDirectory } from '../piSettings';\n\nasync function resolveModel(\n parsed: Args,\n modelRuntime: ModelRuntime,\n settings: SettingsManager,\n): Promise<{ model: Model<Api>; thinkingLevel?: Args['thinking'] }> {\n const cli = resolveCliModel({\n cliProvider: parsed.provider,\n cliModel: parsed.model,\n cliThinking: parsed.thinking,\n modelRuntime,\n });\n if (cli.error) throw new Error(cli.error);\n\n let scoped: Model<Api> | undefined;\n if (parsed.models !== undefined && parsed.models.length > 0) {\n const resolved = await resolveModelScopeWithDiagnostics(parsed.models, modelRuntime);\n scoped = resolved.scopedModels[0]?.model;\n if (scoped === undefined)\n throw new PoSessionSetupError(`No configured model matched --models ${parsed.models.join(', ')}.`);\n }\n\n const configured =\n cli.model ??\n scoped ??\n (settings.getDefaultProvider() && settings.getDefaultModel()\n ? modelRuntime.getModel(settings.getDefaultProvider()!, settings.getDefaultModel()!)\n : undefined) ??\n (await modelRuntime.getAvailable())[0];\n if (configured === undefined) {\n const agentDir = getAgentDir();\n // A failed availability refresh also leaves the list empty; name it instead of blaming setup.\n const runtimeError = modelRuntime.getError();\n throw new PoSessionSetupError(\n `No model is configured, so the session cannot start. Add a provider and its credentials in ${agentDir} ` +\n `(auth.json, or models.json for a custom provider), then set defaultProvider and defaultModel in ` +\n `${path.join(agentDir, 'settings.json')}.` +\n (runtimeError ? `\\n\\n${runtimeError}` : ''),\n );\n }\n return {\n model: configured,\n thinkingLevel:\n cli.thinkingLevel ??\n parsed.thinking ??\n settings.getModelThinkingLevel(configured.provider, configured.id) ??\n settings.getDefaultThinkingLevel(),\n };\n}\n\n/** Models, settings and Pi extensions from `~/.pi/agent` and the worktree, as the Node server loads them. */\nexport async function createNodeModelDependencies(\n options: HeadlessSessionHostOptions,\n): Promise<HeadlessModelDependencies> {\n const agentDir = getAgentDir();\n const settings = SettingsManager.create(options.cwd, agentDir);\n // Credentials and model defaults fall back independently to plain Pi's ~/.pi/agent.\n const modelDir = modelConfigDirectory(agentDir);\n const settingsDir = modelSettingsDirectory(agentDir);\n const modelSettings = settingsDir === agentDir ? settings : SettingsManager.create(options.cwd, settingsDir);\n const modelRuntime = await ModelRuntime.create({\n authPath: path.join(modelDir, 'auth.json'),\n modelsPath: path.join(modelDir, 'models.json'),\n refreshOnCreate: false,\n });\n registerChatgptAuthProvider(modelRuntime);\n // Pi extensions load before the model is resolved: an extension that registers a provider\n // (a local Vertex or Bedrock bridge, say) must be in the runtime before the configured default\n // is looked up, or the lookup misses and the session silently falls back to whichever model\n // happens to be first in `getAvailable()`.\n // Provider packages from Pi's settings.json `packages` load alongside the Po entry, so a\n // model that works under `pi` (a Claude Code bridge, say) is also selectable here.\n const piExtensionPaths =\n options.piExtensions === false\n ? []\n : [\n ...(options.piExtensionFactories !== undefined ? [] : (options.piExtensionPaths ?? [])),\n ...(await resolvePiSettingsPackageEntries({\n cwd: options.cwd,\n agentDir,\n settings,\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n })),\n // Falling back to Pi's model config brings Pi's own extensions with it, as po loads\n // them: a provider such as a local Vertex bridge lives there, not in auth.json.\n ...(modelDir !== agentDir && fs.existsSync(path.join(modelDir, 'extensions'))\n ? [path.join(modelDir, 'extensions')]\n : []),\n ];\n const piPreload = await preloadPiExtensions({\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n extensionPaths: [...new Set(piExtensionPaths)],\n ...(options.piExtensions === false || options.piExtensionFactories === undefined\n ? {}\n : { extensionFactories: await options.piExtensionFactories() }),\n ...(options.onNotice === undefined ? {} : { onNotice: options.onNotice }),\n });\n const projectContextFiles = loadProjectContextFiles({\n cwd: options.cwd,\n agentDir,\n });\n return {\n agentDir,\n modelRuntime,\n projectContextFiles,\n resolveModel: (parsed) => resolveModel(parsed, modelRuntime, modelSettings),\n ...(piPreload === undefined\n ? {}\n : {\n piExtensions: (input) =>\n createPiExtensionHost({\n ...input,\n cwd: options.cwd,\n agentDir,\n models: modelRuntime,\n settings,\n preload: piPreload,\n }),\n }),\n };\n}\n"],"mappings":";;;;;;;;;AAuBA,eAAe,aACb,QACA,cACA,UACkE;CAClE,MAAM,MAAM,gBAAgB;EAC1B,aAAa,OAAO;EACpB,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB;CACF,CAAC;CACD,IAAI,IAAI,OAAO,MAAM,IAAI,MAAM,IAAI,KAAK;CAExC,IAAI;CACJ,IAAI,OAAO,WAAW,KAAA,KAAa,OAAO,OAAO,SAAS,GAAG;EAE3D,UAAS,MADc,iCAAiC,OAAO,QAAQ,YAAY,EAAA,CACjE,aAAa,EAAE,EAAE;EACnC,IAAI,WAAW,KAAA,GACb,MAAM,IAAI,oBAAoB,wCAAwC,OAAO,OAAO,KAAK,IAAI,EAAE,EAAE;CACrG;CAEA,MAAM,aACJ,IAAI,SACJ,WACC,SAAS,mBAAmB,KAAK,SAAS,gBAAgB,IACvD,aAAa,SAAS,SAAS,mBAAmB,GAAI,SAAS,gBAAgB,CAAE,IACjF,KAAA,OACH,MAAM,aAAa,aAAa,EAAA,CAAG;CACtC,IAAI,eAAe,KAAA,GAAW;EAC5B,MAAM,WAAW,YAAY;EAE7B,MAAM,eAAe,aAAa,SAAS;EAC3C,MAAM,IAAI,oBACR,8FAA8F,SAAS,mGAElG,KAAK,KAAK,UAAU,eAAe,EAAE,MACvC,eAAe,OAAO,iBAAiB,GAC5C;CACF;CACA,OAAO;EACL,OAAO;EACP,eACE,IAAI,iBACJ,OAAO,YACP,SAAS,sBAAsB,WAAW,UAAU,WAAW,EAAE,KACjE,SAAS,wBAAwB;CACrC;AACF;;AAGA,eAAsB,4BACpB,SACoC;CACpC,MAAM,WAAW,YAAY;CAC7B,MAAM,WAAW,gBAAgB,OAAO,QAAQ,KAAK,QAAQ;CAE7D,MAAM,WAAW,qBAAqB,QAAQ;CAC9C,MAAM,cAAc,uBAAuB,QAAQ;CACnD,MAAM,gBAAgB,gBAAgB,WAAW,WAAW,gBAAgB,OAAO,QAAQ,KAAK,WAAW;CAC3G,MAAM,eAAe,MAAM,aAAa,OAAO;EAC7C,UAAU,KAAK,KAAK,UAAU,WAAW;EACzC,YAAY,KAAK,KAAK,UAAU,aAAa;EAC7C,iBAAiB;CACnB,CAAC;CACD,4BAA4B,YAAY;CAOxC,MAAM,mBACJ,QAAQ,iBAAiB,QACrB,CAAC,IACD;EACE,GAAI,QAAQ,yBAAyB,KAAA,IAAY,CAAC,IAAK,QAAQ,oBAAoB,CAAC;EACpF,GAAI,MAAM,gCAAgC;GACxC,KAAK,QAAQ;GACb;GACA;GACA,GAAI,QAAQ,aAAa,KAAA,IAAY,CAAC,IAAI,EAAE,UAAU,QAAQ,SAAS;EACzE,CAAC;EAGD,GAAI,aAAa,YAAY,GAAG,WAAW,KAAK,KAAK,UAAU,YAAY,CAAC,IACxE,CAAC,KAAK,KAAK,UAAU,YAAY,CAAC,IAClC,CAAC;CACP;CACN,MAAM,YAAY,MAAM,oBAAoB;EAC1C,KAAK,QAAQ;EACb;EACA,QAAQ;EACR,gBAAgB,CAAC,GAAG,IAAI,IAAI,gBAAgB,CAAC;EAC7C,GAAI,QAAQ,iBAAiB,SAAS,QAAQ,yBAAyB,KAAA,IACnE,CAAC,IACD,EAAE,oBAAoB,MAAM,QAAQ,qBAAqB,EAAE;EAC/D,GAAI,QAAQ,aAAa,KAAA,IAAY,CAAC,IAAI,EAAE,UAAU,QAAQ,SAAS;CACzE,CAAC;CAKD,OAAO;EACL;EACA;EACA,qBAP0B,wBAAwB;GAClD,KAAK,QAAQ;GACb;EACF,CAIoB;EAClB,eAAe,WAAW,aAAa,QAAQ,cAAc,aAAa;EAC1E,GAAI,cAAc,KAAA,IACd,CAAC,IACD,EACE,eAAe,UACb,sBAAsB;GACpB,GAAG;GACH,KAAK,QAAQ;GACb;GACA,QAAQ;GACR;GACA,SAAS;EACX,CAAC,EACL;CACN;AACF"}
|
|
@@ -1,134 +1,12 @@
|
|
|
1
1
|
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
require("../platformFiles/index.cjs");
|
|
3
|
+
const require_index$1 = require("../serialRunner/index.cjs");
|
|
4
|
+
const require_sync = require("./sync.cjs");
|
|
4
5
|
let node_path = require("node:path");
|
|
5
6
|
node_path = require_runtime.__toESM(node_path, 1);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const DIRECTORY_MODE = 448;
|
|
9
|
-
const FILE_MODE = 384;
|
|
10
|
-
/** The id becomes a journal filename, so it is constrained exactly as SQLite storage constrains it. */
|
|
11
|
-
const SESSION_ID_PATTERN = /^[A-Za-z0-9_-]+$/u;
|
|
12
|
-
function isRecord(value) {
|
|
13
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14
|
-
}
|
|
15
|
-
function optionalText(value) {
|
|
16
|
-
return typeof value === "string" && value !== "" ? value : void 0;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Reads one entry, or nothing.
|
|
20
|
-
*
|
|
21
|
-
* The file is editable by hand and its session id is joined into a journal
|
|
22
|
-
* path, so it is a trust boundary rather than trusted state this process wrote.
|
|
23
|
-
* A bad entry is dropped instead of narrowing the whole file to nothing. A legacy
|
|
24
|
-
* `artifact` (the worktree's pinned sync generation) is ignored: sessions compose live.
|
|
25
|
-
*/
|
|
26
|
-
function parseRecord(value) {
|
|
27
|
-
if (!isRecord(value)) return void 0;
|
|
28
|
-
const { sessionId, workspaceId, cwd, name, createdAt } = value;
|
|
29
|
-
if (typeof sessionId !== "string" || !SESSION_ID_PATTERN.test(sessionId)) return void 0;
|
|
30
|
-
if (typeof workspaceId !== "string" || workspaceId === "") return void 0;
|
|
31
|
-
if (typeof cwd !== "string" || !node_path.default.isAbsolute(cwd)) return void 0;
|
|
32
|
-
if (typeof name !== "string" || typeof createdAt !== "string") return void 0;
|
|
33
|
-
const parentSessionId = optionalText(value.parentSessionId);
|
|
34
|
-
const sessionProvenance = optionalText(value.sessionProvenance);
|
|
35
|
-
const repoRoot = optionalText(value.repoRoot);
|
|
36
|
-
const groupingRoot = optionalText(value.groupingRoot);
|
|
37
|
-
if (value.repoRoot !== void 0 && (!repoRoot || !node_path.default.isAbsolute(repoRoot))) return void 0;
|
|
38
|
-
if (value.groupingRoot !== void 0 && (!groupingRoot || !node_path.default.isAbsolute(groupingRoot))) return void 0;
|
|
39
|
-
return {
|
|
40
|
-
sessionId,
|
|
41
|
-
workspaceId,
|
|
42
|
-
cwd,
|
|
43
|
-
...repoRoot === void 0 ? {} : { repoRoot },
|
|
44
|
-
...groupingRoot === void 0 ? {} : { groupingRoot },
|
|
45
|
-
name,
|
|
46
|
-
createdAt,
|
|
47
|
-
...parentSessionId === void 0 ? {} : { parentSessionId },
|
|
48
|
-
...sessionProvenance === void 0 ? {} : { sessionProvenance }
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* The sessions the cockpit had open, so a server restart can offer them back.
|
|
53
|
-
*
|
|
54
|
-
* Journals already survive a restart; what does not is the knowledge of which
|
|
55
|
-
* of them were open rather than merely finished. Without that, a restart either
|
|
56
|
-
* loses every session or revives every thread ever recorded.
|
|
57
|
-
*/
|
|
58
|
-
function createOpenSessionRegistry(options) {
|
|
59
|
-
const notice = options.onNotice ?? (() => {});
|
|
60
|
-
const filePath = node_path.default.join(options.directory, REGISTRY_FILE);
|
|
61
|
-
const load = () => {
|
|
62
|
-
let raw;
|
|
63
|
-
try {
|
|
64
|
-
raw = node_fs.default.readFileSync(filePath, "utf8");
|
|
65
|
-
} catch {
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
let parsed;
|
|
69
|
-
try {
|
|
70
|
-
parsed = JSON.parse(raw);
|
|
71
|
-
} catch {
|
|
72
|
-
notice(`open sessions at ${filePath} are not valid JSON; none will be restored`);
|
|
73
|
-
return [];
|
|
74
|
-
}
|
|
75
|
-
if (!Array.isArray(parsed)) {
|
|
76
|
-
notice(`open sessions at ${filePath} are not a list; none will be restored`);
|
|
77
|
-
return [];
|
|
78
|
-
}
|
|
79
|
-
const records = [];
|
|
80
|
-
for (const entry of parsed) {
|
|
81
|
-
const record = parseRecord(entry);
|
|
82
|
-
if (record === void 0) notice(`open sessions at ${filePath} contain an unusable entry; skipping it`);
|
|
83
|
-
else records.push(record);
|
|
84
|
-
}
|
|
85
|
-
return records;
|
|
86
|
-
};
|
|
87
|
-
let current = load();
|
|
88
|
-
const persist = (next) => {
|
|
89
|
-
const temporary = `${filePath}.${String(process.pid)}.tmp`;
|
|
90
|
-
try {
|
|
91
|
-
node_fs.default.mkdirSync(options.directory, {
|
|
92
|
-
recursive: true,
|
|
93
|
-
mode: DIRECTORY_MODE
|
|
94
|
-
});
|
|
95
|
-
const descriptor = node_fs.default.openSync(temporary, "w", FILE_MODE);
|
|
96
|
-
try {
|
|
97
|
-
node_fs.default.writeFileSync(descriptor, `${JSON.stringify(next, void 0, 2)}\n`);
|
|
98
|
-
node_fs.default.fsyncSync(descriptor);
|
|
99
|
-
} finally {
|
|
100
|
-
node_fs.default.closeSync(descriptor);
|
|
101
|
-
}
|
|
102
|
-
node_fs.default.renameSync(temporary, filePath);
|
|
103
|
-
current = next;
|
|
104
|
-
return true;
|
|
105
|
-
} catch (error) {
|
|
106
|
-
notice(`${filePath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);
|
|
107
|
-
try {
|
|
108
|
-
node_fs.default.rmSync(temporary, { force: true });
|
|
109
|
-
} catch {}
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
return {
|
|
114
|
-
list: () => current,
|
|
115
|
-
add(record) {
|
|
116
|
-
if (!SESSION_ID_PATTERN.test(record.sessionId)) throw new Error(`Invalid session id '${record.sessionId}'.`);
|
|
117
|
-
for (const directory of [
|
|
118
|
-
record.cwd,
|
|
119
|
-
record.repoRoot,
|
|
120
|
-
record.groupingRoot
|
|
121
|
-
]) if (directory !== void 0 && !node_path.default.isAbsolute(directory)) throw new Error("Session directories must be absolute.");
|
|
122
|
-
return persist([...current.filter((held) => held.sessionId !== record.sessionId), record]);
|
|
123
|
-
},
|
|
124
|
-
remove(sessionId) {
|
|
125
|
-
const next = current.filter((held) => held.sessionId !== sessionId);
|
|
126
|
-
if (next.length === current.length) return;
|
|
127
|
-
persist(next);
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
}
|
|
7
|
+
require("@earendil-works/pi-durable/env");
|
|
8
|
+
require_index$1.createSerialRunner();
|
|
131
9
|
//#endregion
|
|
132
|
-
exports.createOpenSessionRegistry = createOpenSessionRegistry;
|
|
10
|
+
exports.createOpenSessionRegistry = require_sync.createOpenSessionRegistry;
|
|
133
11
|
|
|
134
12
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["createSerialRunner"],"sources":["../../../../src/services/openSessionRegistry/index.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { Context } from '@earendil-works/chord';\nimport { getOrThrow, type FileSystem } from '@earendil-works/pi-durable/env';\n\nimport { nodeHost } from '../nodeHost';\nimport { writeFileAtomic } from '../platformFiles';\nimport { createSerialRunner } from '../serialRunner';\nimport {\n assertOpenSessionRecord,\n DIRECTORY_MODE,\n FILE_MODE,\n parseOpenSessionRecords,\n REGISTRY_FILE,\n serializeOpenSessionRecords,\n type OpenSessionRecord,\n type OpenSessionRegistryOptions,\n} from './openSessionRecords';\n\nexport type { OpenSessionRecord, OpenSessionRegistry, OpenSessionRegistryOptions } from './openSessionRecords';\nexport { createOpenSessionRegistry } from './sync';\n\n/** One queue per registry file, so concurrent writes in this process never interleave. */\nconst registryWrites = createSerialRunner();\n\nexport interface OpenSessionRegistryAsync {\n list(): readonly OpenSessionRecord[];\n /** True only after the record is durably published. */\n add(record: OpenSessionRecord): Promise<boolean>;\n remove(sessionId: string): Promise<void>;\n}\n\n/**\n * The sessions the cockpit had open, so a server restart can offer them back.\n *\n * Journals already survive a restart; what does not is the knowledge of which\n * of them were open rather than merely finished. Without that, a restart either\n * loses every session or revives every thread ever recorded. Writes serialise per\n * registry file and publish through a uniquely named temporary file and a rename.\n */\nexport async function createOpenSessionRegistryAsync(\n fs: FileSystem,\n options: OpenSessionRegistryOptions,\n context: Context,\n): Promise<OpenSessionRegistryAsync> {\n const notice = options.onNotice ?? ((): void => {});\n const filePath = path.join(options.directory, REGISTRY_FILE);\n const serial = registryWrites.forKey(filePath);\n\n // No file, or one this process cannot read, is the normal first run, so it is not worth a notice.\n const raw = await fs.readTextFile(filePath, context);\n let current = raw.ok ? parseOpenSessionRecords(raw.value, filePath, notice) : [];\n\n const persist = async (next: OpenSessionRecord[]): Promise<boolean> => {\n try {\n if (!getOrThrow(await fs.exists(options.directory, context))) {\n getOrThrow(await fs.createDir(options.directory, { recursive: true }, context));\n await nodeHost.setMode(options.directory, DIRECTORY_MODE);\n }\n await writeFileAtomic(fs, filePath, serializeOpenSessionRecords(next), context);\n await nodeHost.setMode(filePath, FILE_MODE);\n current = next;\n return true;\n } catch (error) {\n notice(`${filePath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);\n return false;\n }\n };\n\n return {\n list: () => current,\n add: async (record) => {\n assertOpenSessionRecord(record);\n return await serial(() => persist([...current.filter((held) => held.sessionId !== record.sessionId), record]));\n },\n remove: (sessionId) =>\n serial(async () => {\n const next = current.filter((held) => held.sessionId !== sessionId);\n if (next.length !== current.length) await persist(next);\n }),\n };\n}\n"],"mappings":";;;;;;;AAuBuBA,gBAAAA,mBAAmB"}
|
|
@@ -1,36 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
cwd: string;
|
|
7
|
-
/** Child checkout root, distinct from the parent grouping root for worktrees. */
|
|
8
|
-
repoRoot?: string;
|
|
9
|
-
/** Parent workspace path used only to restore the workspace identity. */
|
|
10
|
-
groupingRoot?: string;
|
|
11
|
-
name: string;
|
|
12
|
-
createdAt: string;
|
|
13
|
-
parentSessionId?: string;
|
|
14
|
-
sessionProvenance?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface OpenSessionRegistry {
|
|
17
|
-
list(): readonly OpenSessionRecord[];
|
|
18
|
-
/** True only after the record is durably published. */
|
|
19
|
-
add(record: OpenSessionRecord): boolean;
|
|
20
|
-
remove(sessionId: string): void;
|
|
21
|
-
}
|
|
22
|
-
export interface OpenSessionRegistryOptions {
|
|
23
|
-
/** Directory holding the `sessions` journal folder, so the registry sits beside what it points at. */
|
|
24
|
-
directory: string;
|
|
25
|
-
onNotice?: (message: string) => void;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* The sessions the cockpit had open, so a server restart can offer them back.
|
|
29
|
-
*
|
|
30
|
-
* Journals already survive a restart; what does not is the knowledge of which
|
|
31
|
-
* of them were open rather than merely finished. Without that, a restart either
|
|
32
|
-
* loses every session or revives every thread ever recorded.
|
|
33
|
-
*/
|
|
34
|
-
export declare function createOpenSessionRegistry(options: OpenSessionRegistryOptions): OpenSessionRegistry;
|
|
35
|
-
//#endregion
|
|
36
|
-
//# sourceMappingURL=index.d.mts.map
|
|
1
|
+
import { OpenSessionRecord, OpenSessionRegistry, OpenSessionRegistryOptions } from "./openSessionRecords.mjs";
|
|
2
|
+
import { createOpenSessionRegistry } from "./sync.mjs";
|
|
3
|
+
import { FileSystem } from "@earendil-works/pi-durable/env";
|
|
4
|
+
import { Context } from "@earendil-works/chord";
|
|
5
|
+
export { type OpenSessionRecord, type OpenSessionRegistry, type OpenSessionRegistryOptions, createOpenSessionRegistry };
|
|
@@ -1,131 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
//#region src/services/openSessionRegistry/index.ts
|
|
4
|
-
const REGISTRY_FILE = "open-sessions.json";
|
|
5
|
-
const DIRECTORY_MODE = 448;
|
|
6
|
-
const FILE_MODE = 384;
|
|
7
|
-
/** The id becomes a journal filename, so it is constrained exactly as SQLite storage constrains it. */
|
|
8
|
-
const SESSION_ID_PATTERN = /^[A-Za-z0-9_-]+$/u;
|
|
9
|
-
function isRecord(value) {
|
|
10
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
11
|
-
}
|
|
12
|
-
function optionalText(value) {
|
|
13
|
-
return typeof value === "string" && value !== "" ? value : void 0;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Reads one entry, or nothing.
|
|
17
|
-
*
|
|
18
|
-
* The file is editable by hand and its session id is joined into a journal
|
|
19
|
-
* path, so it is a trust boundary rather than trusted state this process wrote.
|
|
20
|
-
* A bad entry is dropped instead of narrowing the whole file to nothing. A legacy
|
|
21
|
-
* `artifact` (the worktree's pinned sync generation) is ignored: sessions compose live.
|
|
22
|
-
*/
|
|
23
|
-
function parseRecord(value) {
|
|
24
|
-
if (!isRecord(value)) return void 0;
|
|
25
|
-
const { sessionId, workspaceId, cwd, name, createdAt } = value;
|
|
26
|
-
if (typeof sessionId !== "string" || !SESSION_ID_PATTERN.test(sessionId)) return void 0;
|
|
27
|
-
if (typeof workspaceId !== "string" || workspaceId === "") return void 0;
|
|
28
|
-
if (typeof cwd !== "string" || !path.isAbsolute(cwd)) return void 0;
|
|
29
|
-
if (typeof name !== "string" || typeof createdAt !== "string") return void 0;
|
|
30
|
-
const parentSessionId = optionalText(value.parentSessionId);
|
|
31
|
-
const sessionProvenance = optionalText(value.sessionProvenance);
|
|
32
|
-
const repoRoot = optionalText(value.repoRoot);
|
|
33
|
-
const groupingRoot = optionalText(value.groupingRoot);
|
|
34
|
-
if (value.repoRoot !== void 0 && (!repoRoot || !path.isAbsolute(repoRoot))) return void 0;
|
|
35
|
-
if (value.groupingRoot !== void 0 && (!groupingRoot || !path.isAbsolute(groupingRoot))) return void 0;
|
|
36
|
-
return {
|
|
37
|
-
sessionId,
|
|
38
|
-
workspaceId,
|
|
39
|
-
cwd,
|
|
40
|
-
...repoRoot === void 0 ? {} : { repoRoot },
|
|
41
|
-
...groupingRoot === void 0 ? {} : { groupingRoot },
|
|
42
|
-
name,
|
|
43
|
-
createdAt,
|
|
44
|
-
...parentSessionId === void 0 ? {} : { parentSessionId },
|
|
45
|
-
...sessionProvenance === void 0 ? {} : { sessionProvenance }
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* The sessions the cockpit had open, so a server restart can offer them back.
|
|
50
|
-
*
|
|
51
|
-
* Journals already survive a restart; what does not is the knowledge of which
|
|
52
|
-
* of them were open rather than merely finished. Without that, a restart either
|
|
53
|
-
* loses every session or revives every thread ever recorded.
|
|
54
|
-
*/
|
|
55
|
-
function createOpenSessionRegistry(options) {
|
|
56
|
-
const notice = options.onNotice ?? (() => {});
|
|
57
|
-
const filePath = path.join(options.directory, REGISTRY_FILE);
|
|
58
|
-
const load = () => {
|
|
59
|
-
let raw;
|
|
60
|
-
try {
|
|
61
|
-
raw = fs.readFileSync(filePath, "utf8");
|
|
62
|
-
} catch {
|
|
63
|
-
return [];
|
|
64
|
-
}
|
|
65
|
-
let parsed;
|
|
66
|
-
try {
|
|
67
|
-
parsed = JSON.parse(raw);
|
|
68
|
-
} catch {
|
|
69
|
-
notice(`open sessions at ${filePath} are not valid JSON; none will be restored`);
|
|
70
|
-
return [];
|
|
71
|
-
}
|
|
72
|
-
if (!Array.isArray(parsed)) {
|
|
73
|
-
notice(`open sessions at ${filePath} are not a list; none will be restored`);
|
|
74
|
-
return [];
|
|
75
|
-
}
|
|
76
|
-
const records = [];
|
|
77
|
-
for (const entry of parsed) {
|
|
78
|
-
const record = parseRecord(entry);
|
|
79
|
-
if (record === void 0) notice(`open sessions at ${filePath} contain an unusable entry; skipping it`);
|
|
80
|
-
else records.push(record);
|
|
81
|
-
}
|
|
82
|
-
return records;
|
|
83
|
-
};
|
|
84
|
-
let current = load();
|
|
85
|
-
const persist = (next) => {
|
|
86
|
-
const temporary = `${filePath}.${String(process.pid)}.tmp`;
|
|
87
|
-
try {
|
|
88
|
-
fs.mkdirSync(options.directory, {
|
|
89
|
-
recursive: true,
|
|
90
|
-
mode: DIRECTORY_MODE
|
|
91
|
-
});
|
|
92
|
-
const descriptor = fs.openSync(temporary, "w", FILE_MODE);
|
|
93
|
-
try {
|
|
94
|
-
fs.writeFileSync(descriptor, `${JSON.stringify(next, void 0, 2)}\n`);
|
|
95
|
-
fs.fsyncSync(descriptor);
|
|
96
|
-
} finally {
|
|
97
|
-
fs.closeSync(descriptor);
|
|
98
|
-
}
|
|
99
|
-
fs.renameSync(temporary, filePath);
|
|
100
|
-
current = next;
|
|
101
|
-
return true;
|
|
102
|
-
} catch (error) {
|
|
103
|
-
notice(`${filePath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);
|
|
104
|
-
try {
|
|
105
|
-
fs.rmSync(temporary, { force: true });
|
|
106
|
-
} catch {}
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
return {
|
|
111
|
-
list: () => current,
|
|
112
|
-
add(record) {
|
|
113
|
-
if (!SESSION_ID_PATTERN.test(record.sessionId)) throw new Error(`Invalid session id '${record.sessionId}'.`);
|
|
114
|
-
for (const directory of [
|
|
115
|
-
record.cwd,
|
|
116
|
-
record.repoRoot,
|
|
117
|
-
record.groupingRoot
|
|
118
|
-
]) if (directory !== void 0 && !path.isAbsolute(directory)) throw new Error("Session directories must be absolute.");
|
|
119
|
-
return persist([...current.filter((held) => held.sessionId !== record.sessionId), record]);
|
|
120
|
-
},
|
|
121
|
-
remove(sessionId) {
|
|
122
|
-
const next = current.filter((held) => held.sessionId !== sessionId);
|
|
123
|
-
if (next.length === current.length) return;
|
|
124
|
-
persist(next);
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
}
|
|
1
|
+
import "../platformFiles/index.mjs";
|
|
2
|
+
import { createSerialRunner } from "../serialRunner/index.mjs";
|
|
128
3
|
//#endregion
|
|
129
|
-
export { createOpenSessionRegistry };
|
|
4
|
+
export { createOpenSessionRegistry } from "./sync.mjs";
|
|
5
|
+
import "node:path";
|
|
6
|
+
import "@earendil-works/pi-durable/env";
|
|
7
|
+
createSerialRunner();
|
|
130
8
|
|
|
131
9
|
//# sourceMappingURL=index.mjs.map
|