@nklisch/pi-enhanced 0.1.11 → 0.2.0
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/CHANGELOG.md +8 -0
- package/node_modules/@nklisch/pi-clearance/native/clearance-core.darwin-arm64.node +0 -0
- package/node_modules/@nklisch/pi-clearance/native/clearance-core.darwin-x64.node +0 -0
- package/node_modules/@nklisch/pi-clearance/native/clearance-core.linux-arm64-gnu.node +0 -0
- package/node_modules/@nklisch/pi-clearance/native/clearance-core.win32-x64-msvc.node +0 -0
- package/node_modules/@nklisch/pi-plugins/README.md +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/adoption-contract.d.ts +0 -6
- package/node_modules/@nklisch/pi-plugins/dist/application/agent-orientation.d.ts +66 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/agent-orientation.js +223 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/agent-orientation.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.js +15 -33
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.js +17 -20
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.d.ts +3 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/configuration-service.d.ts +2 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/configuration-service.js +5 -5
- package/node_modules/@nklisch/pi-plugins/dist/application/configuration-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/convergence-service.d.ts +98 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/convergence-service.js +270 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/convergence-service.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/exact-trust-grant-service.d.ts +3 -5
- package/node_modules/@nklisch/pi-plugins/dist/application/exact-trust-grant-service.js +18 -20
- package/node_modules/@nklisch/pi-plugins/dist/application/exact-trust-grant-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.js +3 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/host-observation-contract.d.ts +25 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/host-observation-contract.js +5 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/host-observation-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/host-precedence-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/host-precedence-service.js +3 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/host-precedence-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/inspection-contract.d.ts +0 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/installed-revision-descriptor.d.ts +0 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.d.ts +0 -9
- package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.js +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-inspection-contract.d.ts +0 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.d.ts +4 -7
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.js +88 -122
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-registration-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-registration-service.js +56 -94
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-registration-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-update-policy-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-update-policy-service.js +7 -6
- package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-update-policy-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.d.ts +3 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.js +8 -11
- package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-candidate-inspection.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-candidate-inspection.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-contract.d.ts +7 -6
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-contract.js +4 -5
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-dispatcher.js +2 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-dispatcher.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-error.d.ts +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-error.js +2 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-error.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-help.d.ts +5 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-install.d.ts +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-lifecycle.js +4 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-lifecycle.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-mutation-dispatch.js +13 -21
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-mutation-dispatch.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-operation.d.ts +122 -1124
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.d.ts +8 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.js +4 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-progress.d.ts +6 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-read-dispatch.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-read-dispatch.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.d.ts +30 -7
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.js +4 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-control-safe-projection.d.ts +0 -6
- package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.d.ts +49 -49
- package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.js +10 -10
- package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-failure-presenter.d.ts +0 -5
- package/node_modules/@nklisch/pi-plugins/dist/application/native-failure-presenter.js +13 -11
- package/node_modules/@nklisch/pi-plugins/dist/application/native-failure-presenter.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-contract.d.ts +55 -70
- package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-contract.js +4 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-service.js +30 -11
- package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-installed-inspection.js +46 -35
- package/node_modules/@nklisch/pi-plugins/dist/application/native-installed-inspection.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.d.ts +362 -1284
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.js +11 -12
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-service.d.ts +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-service.js +4 -26
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-session.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-session.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation.d.ts +79 -235
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation.js +26 -41
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-result.d.ts +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-result.js +23 -68
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-result.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-target.d.ts +2 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-target.js +0 -18
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-target.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-update.d.ts +0 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-update.js +0 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-update.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.d.ts +2 -5
- package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.js +5 -5
- package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-update-policy-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/native-update-policy-service.js +4 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/native-update-policy-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-contract.d.ts +30 -57
- package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-contract.js +9 -32
- package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.d.ts +57 -75
- package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.js +293 -583
- package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/artifact-gc.d.ts +21 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/artifact-gc.js +2 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/artifact-gc.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/automatic-update-lifecycle.d.ts +5 -6
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/installed-plugin-loader.d.ts +0 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-reload.d.ts +80 -13
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-reload.js +6 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-reload.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/mcp-runtime.d.ts +0 -16
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/native-control-input.d.ts +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/native-inspection-evidence.d.ts +4 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/pending-data-deletion.d.ts +26 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/pending-data-deletion.js +8 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/pending-data-deletion.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-contract.d.ts +12 -9
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-contract.js +2 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-planner.js +1 -10
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-planner.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-projection.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-projection.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-service.js +6 -10
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-state.d.ts +2 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-state.js +9 -8
- package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-state.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/state-contract.d.ts +16 -32
- package/node_modules/@nklisch/pi-plugins/dist/application/state-transaction.d.ts +48 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/state-transaction.js +107 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/state-transaction.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.d.ts +1725 -4546
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.js +3 -22
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-lifecycle.d.ts +1 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-lifecycle.js +1 -5
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-lifecycle.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-service.js +33 -122
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-session.d.ts +0 -20
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-session.js +1 -23
- package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-session.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/update-contract.d.ts +0 -7
- package/node_modules/@nklisch/pi-plugins/dist/application/update-contract.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/update-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/update-notification-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/update-notification-service.js +5 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/update-notification-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/update-scheduler-lease-state.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/update-scheduler-lease-state.js +6 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/update-scheduler-lease-state.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/agent-orientation-facts.d.ts +42 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/agent-orientation-facts.js +223 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/agent-orientation-facts.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/automatic-update-lifecycle-adapter.js +12 -18
- package/node_modules/@nklisch/pi-plugins/dist/composition/automatic-update-lifecycle-adapter.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/background-update-coordinator.d.ts +3 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/background-update-coordinator.js +10 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/background-update-coordinator.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/complete-plugin-reload.d.ts +3 -7
- package/node_modules/@nklisch/pi-plugins/dist/composition/complete-plugin-reload.js +64 -153
- package/node_modules/@nklisch/pi-plugins/dist/composition/complete-plugin-reload.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-marketplace-discovery-services.d.ts +2 -3
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-marketplace-discovery-services.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-mcp-runtime.d.ts +3 -7
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-mcp-runtime.js +4 -8
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-mcp-runtime.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-inspection-service.d.ts +2 -2
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-inspection-service.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-inspection-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-lifecycle-operation-service.d.ts +2 -5
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-lifecycle-operation-service.js +70 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-lifecycle-operation-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.d.ts +12 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.js +177 -66
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.d.ts +2 -4
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.js +24 -43
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-trusted-installation-service.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/composition/create-trusted-installation-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/host-status-service.d.ts +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/host-status-service.js +4 -4
- package/node_modules/@nklisch/pi-plugins/dist/composition/host-status-service.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/native-inspection-evidence.d.ts +3 -3
- package/node_modules/@nklisch/pi-plugins/dist/composition/native-inspection-evidence.js +6 -6
- package/node_modules/@nklisch/pi-plugins/dist/composition/native-inspection-evidence.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-host-startup.d.ts +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-host-startup.js +4 -5
- package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-host-startup.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-plugin-host-contract.d.ts +5 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/plugin-host-paths.d.ts +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/plugin-host-paths.js +6 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/plugin-host-paths.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-desired-state.d.ts +15 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-desired-state.js +228 -154
- package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-desired-state.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-participant-qualification.d.ts +6 -0
- package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-participant-qualification.js +13 -3
- package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-participant-qualification.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/domain/compatibility-policy.d.ts +0 -4
- package/node_modules/@nklisch/pi-plugins/dist/domain/compatibility.d.ts +0 -6
- package/node_modules/@nklisch/pi-plugins/dist/domain/error-contract.d.ts +0 -6
- package/node_modules/@nklisch/pi-plugins/dist/domain/error-contract.js +0 -2
- package/node_modules/@nklisch/pi-plugins/dist/domain/error-contract.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/domain/errors.d.ts +0 -6
- package/node_modules/@nklisch/pi-plugins/dist/domain/marketplace.d.ts +0 -2
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/config-state.d.ts +2 -6
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/installed-state.d.ts +4 -4
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/installed-state.js +5 -7
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/installed-state.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/project-state.d.ts +2 -4
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/references.d.ts +1 -8
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/references.js +0 -9
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/references.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/domain/state/registry.d.ts +4 -8
- package/node_modules/@nklisch/pi-plugins/dist/domain/update-policy.d.ts +5 -13
- package/node_modules/@nklisch/pi-plugins/dist/domain/update-policy.js +2 -3
- package/node_modules/@nklisch/pi-plugins/dist/domain/update-policy.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/index.d.ts +16 -38
- package/node_modules/@nklisch/pi-plugins/dist/index.js +8 -22
- package/node_modules/@nklisch/pi-plugins/dist/index.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/cleanup/pending-data-deletion.d.ts +8 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/cleanup/pending-data-deletion.js +112 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/cleanup/pending-data-deletion.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/artifact-gc.d.ts +17 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/artifact-gc.js +143 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/artifact-gc.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/create-node-convergence.d.ts +16 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/create-node-convergence.js +14 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/create-node-convergence.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/immutable-content-store.d.ts +0 -8
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/immutable-content-store.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/immutable-content-store.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/staging-allocator.d.ts +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/staging-allocator.js +1 -24
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/staging-allocator.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/lifecycle-convergence-migration.d.ts +33 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/lifecycle-convergence-migration.js +416 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/lifecycle-convergence-migration.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-lifecycle-state-store.d.ts +10 -0
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-lifecycle-state-store.js +31 -4
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-lifecycle-state-store.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/agent-orientation-publisher.d.ts +17 -0
- package/node_modules/@nklisch/pi-plugins/dist/pi/agent-orientation-publisher.js +81 -0
- package/node_modules/@nklisch/pi-plugins/dist/pi/agent-orientation-publisher.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/pi/extension.js +8 -3
- package/node_modules/@nklisch/pi-plugins/dist/pi/extension.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/pi-control-input.js +0 -2
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/pi-control-input.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-install-component.js +9 -22
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-install-component.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-install-flow.d.ts +2 -2
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.d.ts +2 -2
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.js +7 -7
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-controller.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-controller.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.d.ts +8 -0
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.js +7 -0
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-render.js +6 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-render.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-session.js +11 -22
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-session.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-status.d.ts +1 -2
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-status.js +1 -3
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-status.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-operation-view.js +2 -4
- package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-operation-view.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/native-control-human.js +5 -7
- package/node_modules/@nklisch/pi-plugins/dist/pi/native-control-human.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/pi-reload-broker.d.ts +6 -6
- package/node_modules/@nklisch/pi-plugins/dist/pi/pi-reload-broker.js +36 -6
- package/node_modules/@nklisch/pi-plugins/dist/pi/pi-reload-broker.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/plain-language.js +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/pi/plain-language.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-command.js +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-command.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/lifecycle-participant.d.ts +0 -2
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/mcp-runtime-binding-provider.d.ts +12 -0
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/mcp-runtime-binding-provider.js +43 -0
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/mcp-runtime-binding-provider.js.map +1 -0
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.d.ts +12 -1
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.js +27 -10
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.js.map +1 -1
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-runtime.js +1 -1
- package/node_modules/@nklisch/pi-plugins/package.json +2 -2
- package/package.json +3 -3
- package/node_modules/@nklisch/pi-plugins/dist/application/generation-mutation-coordinator.d.ts +0 -79
- package/node_modules/@nklisch/pi-plugins/dist/application/generation-mutation-coordinator.js +0 -424
- package/node_modules/@nklisch/pi-plugins/dist/application/generation-mutation-coordinator.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/keyed-mutation-scheduler.d.ts +0 -19
- package/node_modules/@nklisch/pi-plugins/dist/application/keyed-mutation-scheduler.js +0 -235
- package/node_modules/@nklisch/pi-plugins/dist/application/keyed-mutation-scheduler.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/lifecycle-transition-reconciler.d.ts +0 -79
- package/node_modules/@nklisch/pi-plugins/dist/application/lifecycle-transition-reconciler.js +0 -236
- package/node_modules/@nklisch/pi-plugins/dist/application/lifecycle-transition-reconciler.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/mutation-coordination.d.ts +0 -19
- package/node_modules/@nklisch/pi-plugins/dist/application/mutation-coordination.js +0 -12
- package/node_modules/@nklisch/pi-plugins/dist/application/mutation-coordination.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/native-uninstall-cleanup.d.ts +0 -25
- package/node_modules/@nklisch/pi-plugins/dist/application/native-uninstall-cleanup.js +0 -39
- package/node_modules/@nklisch/pi-plugins/dist/application/native-uninstall-cleanup.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-transition-store.d.ts +0 -5020
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-transition-store.js +0 -129
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-transition-store.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/mutation-execution-context.d.ts +0 -9
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/mutation-execution-context.js +0 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/mutation-execution-context.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/recovery-artifacts.d.ts +0 -29
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/recovery-artifacts.js +0 -4
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/recovery-artifacts.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-lease-store.d.ts +0 -65
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-lease-store.js +0 -16
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-lease-store.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-retention-store.d.ts +0 -43
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-retention-store.js +0 -12
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-retention-store.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/scope-lock.d.ts +0 -15
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/scope-lock.js +0 -2
- package/node_modules/@nklisch/pi-plugins/dist/application/ports/scope-lock.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/recovery-contract.d.ts +0 -1078
- package/node_modules/@nklisch/pi-plugins/dist/application/recovery-contract.js +0 -126
- package/node_modules/@nklisch/pi-plugins/dist/application/recovery-contract.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/recovery-service.d.ts +0 -39
- package/node_modules/@nklisch/pi-plugins/dist/application/recovery-service.js +0 -170
- package/node_modules/@nklisch/pi-plugins/dist/application/recovery-service.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/application/revision-collection-service.d.ts +0 -52
- package/node_modules/@nklisch/pi-plugins/dist/application/revision-collection-service.js +0 -228
- package/node_modules/@nklisch/pi-plugins/dist/application/revision-collection-service.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/create-node-recovery-adapters.d.ts +0 -23
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/create-node-recovery-adapters.js +0 -82
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/create-node-recovery-adapters.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.d.ts +0 -15
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.js +0 -35
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/process-revision-leases.d.ts +0 -7
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/process-revision-leases.js +0 -95
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/process-revision-leases.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/recovery-artifact-scanner.d.ts +0 -3
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/recovery-artifact-scanner.js +0 -83
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/recovery-artifact-scanner.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/revision-artifact-store.d.ts +0 -3
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/revision-artifact-store.js +0 -178
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/revision-artifact-store.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-revision-retention.d.ts +0 -7
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-revision-retention.js +0 -73
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-revision-retention.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-transition-journal.d.ts +0 -28
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-transition-journal.js +0 -445
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-transition-journal.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/keyed-mutation-scheduler.d.ts +0 -5
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/keyed-mutation-scheduler.js +0 -17
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/keyed-mutation-scheduler.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.d.ts +0 -15
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.js +0 -292
- package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.js.map +0 -1
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/revision-lease-provider.d.ts +0 -18
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/revision-lease-provider.js +0 -180
- package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/revision-lease-provider.js.map +0 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
|
+
import { readFile } from "node:fs/promises";
|
|
3
4
|
import { join } from "node:path";
|
|
4
5
|
import { createHookFailureLog } from "../runtime/hooks/hook-failure-log.js";
|
|
5
6
|
import { VERSION as PI_VERSION, getAgentDir } from "@earendil-works/pi-coding-agent";
|
|
6
7
|
import { createCompatibilityService } from "../application/compatibility-service.js";
|
|
7
|
-
import { createGenerationMutationCoordinator } from "../application/generation-mutation-coordinator.js";
|
|
8
|
-
import { createLifecycleTransitionReconciler } from "../application/lifecycle-transition-reconciler.js";
|
|
9
8
|
import { createMarketplaceInspectionService } from "../application/marketplace-inspection-service.js";
|
|
10
9
|
import { createMarketplacePluginProbe } from "../application/marketplace-plugin-probe.js";
|
|
11
10
|
import { createPluginLifecycleComposition } from "../application/plugin-lifecycle-service.js";
|
|
@@ -15,15 +14,14 @@ import { verifyPluginConfigurationDocument } from "../domain/configured-values.j
|
|
|
15
14
|
import { createTrustCandidate } from "../domain/trust-policy.js";
|
|
16
15
|
import { toScopeReference } from "../domain/state/scope.js";
|
|
17
16
|
import { createRuntimeProjectionCache } from "../infrastructure/filesystem/runtime-projection-cache.js";
|
|
18
|
-
import { createKeyedMutationScheduler } from "../infrastructure/state/keyed-mutation-scheduler.js";
|
|
19
|
-
import { createSqliteScopeLockManager } from "../infrastructure/state/sqlite-scope-lock.js";
|
|
20
17
|
import { createNodeLifecycleStateAdapters } from "../infrastructure/state/sqlite-lifecycle-state-store.js";
|
|
21
18
|
import { createSqlitePluginConfigurationStore } from "../infrastructure/configuration/sqlite-plugin-configuration-store.js";
|
|
22
19
|
import { createNodeConfigurationPathPort } from "../infrastructure/configuration/node-configuration-path.js";
|
|
23
20
|
import { createNodeHostIdentifiers } from "../infrastructure/node/node-identifiers.js";
|
|
24
21
|
import { createNodeLifecycleClock } from "../infrastructure/node/node-lifecycle-clock.js";
|
|
25
22
|
import { createNodeContentInfrastructure } from "../infrastructure/filesystem/create-content-store.js";
|
|
26
|
-
import {
|
|
23
|
+
import { createNodeConvergenceService } from "../infrastructure/convergence/create-node-convergence.js";
|
|
24
|
+
import { createPendingDeleteMarkerStore } from "../infrastructure/cleanup/pending-data-deletion.js";
|
|
27
25
|
import { createPlatformSecretStore } from "../infrastructure/secrets/create-platform-secret-store.js";
|
|
28
26
|
import { createNodeMcpLaunchEnvironment } from "../infrastructure/environment/node-mcp-launch-environment.js";
|
|
29
27
|
import { createNodeHookExecutableResolver } from "../infrastructure/process/hook-executable-resolver.js";
|
|
@@ -41,7 +39,6 @@ import { createCandidateContentLeasePort } from "./candidate-content-lease.js";
|
|
|
41
39
|
import { createNativeInspectionComposition } from "./create-native-inspection-service.js";
|
|
42
40
|
import { createComposedTrustedInstallationService } from "./create-trusted-installation-service.js";
|
|
43
41
|
import { createComposedNativeLifecycleOperationService } from "./create-native-lifecycle-operation-service.js";
|
|
44
|
-
import { createNativeUninstallCleanupService } from "../application/native-uninstall-cleanup.js";
|
|
45
42
|
import { createNodeProjectIntentFilePort } from "../infrastructure/project/node-project-intent-file.js";
|
|
46
43
|
import { deriveInspectionDetailId, deriveInspectionEvidenceSnapshotId } from "../application/native-inspection-identifiers.js";
|
|
47
44
|
import { createHostConfigurationServices } from "./create-host-configuration.js";
|
|
@@ -49,6 +46,9 @@ import { createNodePiRuntimeCapabilityProbe } from "./node-pi-runtime-capability
|
|
|
49
46
|
import { createPublishedSubagentLifecyclePort } from "./create-subagent-lifecycle.js";
|
|
50
47
|
import { buildRuntimeDesiredState } from "./runtime-desired-state.js";
|
|
51
48
|
import { createRuntimeSelectionCatalog } from "./runtime-selection-catalog.js";
|
|
49
|
+
import { createAgentOrientationFactsCollector } from "./agent-orientation-facts.js";
|
|
50
|
+
import { createAgentOrientationPublisher } from "../pi/agent-orientation-publisher.js";
|
|
51
|
+
import { assembleAgentOrientation, AgentOrientationUnavailableError } from "../application/agent-orientation.js";
|
|
52
52
|
import { createComposedSkillHookRuntime } from "./create-skill-hook-runtime.js";
|
|
53
53
|
import { createComposedMcpRuntime } from "./create-mcp-runtime.js";
|
|
54
54
|
import { createCompletePluginReloadPort } from "./complete-plugin-reload.js";
|
|
@@ -73,6 +73,15 @@ import { createHookContextVisibilityProvider, createHookVisibilityService } from
|
|
|
73
73
|
import { createNativeControlCurrentProjectPort } from "./create-native-control-current-project.js";
|
|
74
74
|
import { createNodeControlTimeoutPort } from "../infrastructure/node/node-control-timeout.js";
|
|
75
75
|
const sha256 = (bytes) => new Uint8Array(createHash("sha256").update(bytes).digest());
|
|
76
|
+
async function readPiPluginsPackageVersion() {
|
|
77
|
+
try {
|
|
78
|
+
const manifest = JSON.parse(await readFile(new URL("../../package.json", import.meta.url), "utf8"));
|
|
79
|
+
return typeof manifest.version === "string" && manifest.version.length > 0 ? manifest.version : "unknown";
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return "unknown";
|
|
83
|
+
}
|
|
84
|
+
}
|
|
76
85
|
/** Render a compact `A <- B <- C` description of thrown values and their cause chains. */
|
|
77
86
|
function describeErrorChain(errors) {
|
|
78
87
|
const parts = [];
|
|
@@ -89,13 +98,18 @@ function describeErrorChain(errors) {
|
|
|
89
98
|
visit(error);
|
|
90
99
|
return parts.join(" <- ");
|
|
91
100
|
}
|
|
92
|
-
function startupResult(input) {
|
|
101
|
+
export function startupResult(input) {
|
|
102
|
+
const blocked = [...input.blocked, ...(input.reconcileReport?.degraded ?? [])];
|
|
103
|
+
const uniqueBlocked = [...new Map(blocked.map((entry) => [
|
|
104
|
+
JSON.stringify([entry.scope, entry.plugin, entry.selectedRevision, entry.runningRevision, entry.code]),
|
|
105
|
+
entry,
|
|
106
|
+
])).values()];
|
|
93
107
|
const secrets = input.secrets === "available"
|
|
94
108
|
? { status: "available", explanation: "encrypted operating-system secret custody is available" }
|
|
95
109
|
: { status: "unavailable", explanation: "encrypted operating-system secret custody is unavailable" };
|
|
96
110
|
return Object.freeze({
|
|
97
|
-
status:
|
|
98
|
-
blocked: Object.freeze(
|
|
111
|
+
status: uniqueBlocked.length === 0 ? "ready" : "degraded",
|
|
112
|
+
blocked: Object.freeze(uniqueBlocked.map((entry) => Object.freeze({ ...entry }))),
|
|
99
113
|
capabilities: Object.freeze({
|
|
100
114
|
mcp: Object.freeze({ status: input.mcp.status, explanation: input.mcp.explanation }),
|
|
101
115
|
subagents: Object.freeze({ status: input.subagents.status, explanation: input.subagents.explanation }),
|
|
@@ -144,6 +158,18 @@ export function createPackagedPluginHost(options) {
|
|
|
144
158
|
let activeResources;
|
|
145
159
|
let stopBackground;
|
|
146
160
|
let wakeBackground;
|
|
161
|
+
let refreshOrientation;
|
|
162
|
+
let publishUnavailableOrientation;
|
|
163
|
+
let orientationPackageVersion = "unknown";
|
|
164
|
+
let orientationBriefPaths = [paths.orientationBrief({ kind: "user" })];
|
|
165
|
+
let orientationPublisher;
|
|
166
|
+
try {
|
|
167
|
+
orientationPublisher = createAgentOrientationPublisher({ pi: options.pi });
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// Orientation is advisory. A host without the optional delivery method
|
|
171
|
+
// still starts and retains every lifecycle capability.
|
|
172
|
+
}
|
|
147
173
|
async function start(_event, context) {
|
|
148
174
|
if (terminal)
|
|
149
175
|
throw new PackagedPluginHostError(PackagedPluginHostErrorCode.terminal, "packaged plugin host is terminal");
|
|
@@ -162,6 +188,7 @@ export function createPackagedPluginHost(options) {
|
|
|
162
188
|
try {
|
|
163
189
|
const binding = createPiSessionBinding(context);
|
|
164
190
|
activeBinding = binding;
|
|
191
|
+
orientationPackageVersion = await readPiPluginsPackageVersion();
|
|
165
192
|
const startupSignal = new AbortController().signal;
|
|
166
193
|
// The packaged host has one lifecycle package selection. Test fakes
|
|
167
194
|
// exercise the package-neutral port below its composition boundary.
|
|
@@ -171,6 +198,7 @@ export function createPackagedPluginHost(options) {
|
|
|
171
198
|
nodeVersion: process.versions.node,
|
|
172
199
|
piVersion: PI_VERSION,
|
|
173
200
|
...(options.runtime?.mcp === undefined ? {} : { mcp: options.runtime.mcp }),
|
|
201
|
+
...(options.runtime?.mcpUnavailable === undefined ? {} : { mcpUnavailable: options.runtime.mcpUnavailable }),
|
|
174
202
|
...(subagentLifecycle === undefined ? {} : { subagents: subagentLifecycle }),
|
|
175
203
|
signal: startupSignal,
|
|
176
204
|
});
|
|
@@ -181,6 +209,10 @@ export function createPackagedPluginHost(options) {
|
|
|
181
209
|
delegates.bindSession(binding);
|
|
182
210
|
own(async () => delegates.clear());
|
|
183
211
|
const project = await createPiProjectContextAdapters({ binding, sha256, git: createNodeCommandRunner() });
|
|
212
|
+
orientationBriefPaths = Object.freeze([
|
|
213
|
+
paths.orientationBrief({ kind: "user" }),
|
|
214
|
+
paths.orientationBrief(toScopeReference(project.scope)),
|
|
215
|
+
]);
|
|
184
216
|
const state = await createNodeLifecycleStateAdapters({ paths, currentProject: project.scope, sha256 });
|
|
185
217
|
own(() => state.close());
|
|
186
218
|
// Host precedence is read through the state store at call time so a
|
|
@@ -189,9 +221,8 @@ export function createPackagedPluginHost(options) {
|
|
|
189
221
|
const hookVisibility = createHookContextVisibilityProvider(state.state);
|
|
190
222
|
const configurations = await createSqlitePluginConfigurationStore({ root: paths.configurationRoot });
|
|
191
223
|
own(async () => configurations[Symbol.asyncDispose]());
|
|
192
|
-
const recoveryAdapters = await createNodeRecoveryAdapters({ hostRoot: paths.hostRoot });
|
|
193
|
-
own(() => recoveryAdapters.close());
|
|
194
224
|
const content = await createNodeContentInfrastructure({ hostRoot: paths.hostRoot });
|
|
225
|
+
const manifestContentReader = createManifestContentReader(sha256);
|
|
195
226
|
const secrets = await createPlatformSecretStore();
|
|
196
227
|
own(() => secrets.close());
|
|
197
228
|
const identifiers = createNodeHostIdentifiers();
|
|
@@ -237,8 +268,6 @@ export function createPackagedPluginHost(options) {
|
|
|
237
268
|
project,
|
|
238
269
|
configuration: configuration.execution,
|
|
239
270
|
hookVisibility,
|
|
240
|
-
leases: recoveryAdapters.leases,
|
|
241
|
-
clock,
|
|
242
271
|
sha256,
|
|
243
272
|
failureLog: createHookFailureLog({ file: join(paths.hostRoot, "logs", "hooks.jsonl") }),
|
|
244
273
|
...(qualification.subagents.lifecycle === undefined ? {} : { subagents: qualification.subagents.lifecycle }),
|
|
@@ -251,9 +280,6 @@ export function createPackagedPluginHost(options) {
|
|
|
251
280
|
project,
|
|
252
281
|
configuration: configuration.execution,
|
|
253
282
|
environment: createNodeMcpLaunchEnvironment(),
|
|
254
|
-
leases: recoveryAdapters.leases,
|
|
255
|
-
clock,
|
|
256
|
-
sessionId: binding.current().sessionId,
|
|
257
283
|
sha256,
|
|
258
284
|
});
|
|
259
285
|
own(() => mcp.close());
|
|
@@ -274,10 +300,14 @@ export function createPackagedPluginHost(options) {
|
|
|
274
300
|
projections,
|
|
275
301
|
project,
|
|
276
302
|
...(qualification.mcp.runtime === undefined ? {} : { mcp: qualification.mcp.runtime }),
|
|
303
|
+
...(qualification.mcp.status === "unavailable" && qualification.mcp.code !== undefined
|
|
304
|
+
? { mcpUnavailable: { code: qualification.mcp.code, explanation: qualification.mcp.explanation } }
|
|
305
|
+
: {}),
|
|
277
306
|
state: state.state,
|
|
278
307
|
content: content.content,
|
|
279
308
|
userBaseDirectory: binding.current().cwd,
|
|
280
309
|
sha256,
|
|
310
|
+
subagentRegistrationAvailable: skillHook.subagentRegistrationAvailable,
|
|
281
311
|
}, signal, overrides);
|
|
282
312
|
return latestDesired;
|
|
283
313
|
},
|
|
@@ -298,26 +328,20 @@ export function createPackagedPluginHost(options) {
|
|
|
298
328
|
selections,
|
|
299
329
|
skillHook,
|
|
300
330
|
mcp,
|
|
301
|
-
transitions: recoveryAdapters.transitions,
|
|
302
331
|
markDraining: claim.markDraining,
|
|
303
332
|
sha256,
|
|
304
333
|
});
|
|
305
|
-
const
|
|
306
|
-
lockRoot: paths.lockRoot,
|
|
307
|
-
retryDelayMs: { minimum: 5, maximum: 100 },
|
|
308
|
-
});
|
|
309
|
-
const mutations = createGenerationMutationCoordinator({ scheduler: createKeyedMutationScheduler(), locks, state: state.state });
|
|
334
|
+
const mutations = state.state;
|
|
310
335
|
const hostPrecedenceConfig = createHostPrecedenceService({ state: state.state, mutations, sha256 });
|
|
311
336
|
const hookVisibilityConfig = createHookVisibilityService({ state: state.state, mutations, sha256 });
|
|
312
|
-
const reconciler = createLifecycleTransitionReconciler({ mutations, state: state.state, reload, transitions: recoveryAdapters.transitionStore, sha256 });
|
|
313
337
|
const sourceOptions = {
|
|
314
338
|
...(options.source ?? {}),
|
|
315
339
|
networkPolicy: options.source?.networkPolicy ?? networkEgressPolicyOptionsFromEnvironment(process.env),
|
|
316
340
|
};
|
|
317
341
|
const materializers = createNodeSourceMaterializers(sourceOptions);
|
|
342
|
+
const pendingDeletes = createPendingDeleteMarkerStore({ root: join(paths.hostRoot, "cleanup", "v1", "pending-deletes") });
|
|
318
343
|
const lifecycleComposition = createPluginLifecycleComposition({
|
|
319
344
|
state: state.state,
|
|
320
|
-
mutations,
|
|
321
345
|
content: content.content,
|
|
322
346
|
materializer: materializers.plugins,
|
|
323
347
|
inspector: inspection,
|
|
@@ -325,28 +349,27 @@ export function createPackagedPluginHost(options) {
|
|
|
325
349
|
installed: content.installed,
|
|
326
350
|
projections,
|
|
327
351
|
reload,
|
|
328
|
-
transitions: recoveryAdapters.transitionStore,
|
|
329
|
-
operationIds: identifiers.operationIds,
|
|
330
352
|
projectTrust: project.trust,
|
|
331
353
|
projectRoots: project.authority,
|
|
332
354
|
configurations,
|
|
333
355
|
secrets: secrets.store,
|
|
334
356
|
paths: configurationPaths,
|
|
357
|
+
pendingDeletes,
|
|
358
|
+
dataRemoval: content.dataRemoval,
|
|
335
359
|
sha256,
|
|
336
360
|
});
|
|
337
361
|
const lifecycle = lifecycleComposition.application;
|
|
338
|
-
const
|
|
339
|
-
const recovery = recoveryAdapters.createRecoveryService({
|
|
362
|
+
const convergence = createNodeConvergenceService({
|
|
340
363
|
state: state.state,
|
|
341
364
|
inventory: state.inventory,
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
365
|
+
hostRoot: paths.hostRoot,
|
|
366
|
+
dataRemoval: content.dataRemoval,
|
|
367
|
+
sha256,
|
|
345
368
|
clock,
|
|
369
|
+
projectionReferences: () => latestDesired === undefined ? undefined : new Set(latestDesired.selections.flatMap((selection) => selection.skillHook.prepared.expectation.kind === "active" ? [selection.skillHook.prepared.expectation.projectionRef.slice(selection.skillHook.prepared.expectation.projectionRef.lastIndexOf(":") + 1)] : [])),
|
|
346
370
|
});
|
|
347
|
-
const collection = recoveryAdapters.createCollectionService({ state: state.state, inventory: state.inventory, mutations, clock });
|
|
348
371
|
const marketplaceInspection = createMarketplaceInspectionService({
|
|
349
|
-
content:
|
|
372
|
+
content: manifestContentReader,
|
|
350
373
|
readers: { claude: readClaudeMarketplace, codex: readCodexMarketplace, merge: mergeMarketplaces },
|
|
351
374
|
sha256,
|
|
352
375
|
hostPrecedence,
|
|
@@ -379,9 +402,16 @@ export function createPackagedPluginHost(options) {
|
|
|
379
402
|
});
|
|
380
403
|
const marketplace = marketplaceComposition.application;
|
|
381
404
|
const runtimeStartupBlocked = [];
|
|
405
|
+
let runtimeStartupReport;
|
|
406
|
+
const recordStartupReport = (report) => {
|
|
407
|
+
// MCP apply failures are part of the successor report, not the
|
|
408
|
+
// desired-state snapshot. Keep that report in startup visibility so
|
|
409
|
+
// a plugin cannot look healthy merely because skills reconstructed.
|
|
410
|
+
runtimeStartupReport = report;
|
|
411
|
+
};
|
|
382
412
|
if (successor === undefined) {
|
|
383
413
|
try {
|
|
384
|
-
await reload.reconcileCurrent(startupSignal);
|
|
414
|
+
recordStartupReport(await reload.reconcileCurrent(startupSignal));
|
|
385
415
|
}
|
|
386
416
|
catch (error) {
|
|
387
417
|
if (startupSignal.aborted)
|
|
@@ -395,7 +425,7 @@ export function createPackagedPluginHost(options) {
|
|
|
395
425
|
}
|
|
396
426
|
else {
|
|
397
427
|
try {
|
|
398
|
-
await reload.acceptSuccessor(successor, startupSignal);
|
|
428
|
+
recordStartupReport(await reload.acceptSuccessor(successor, startupSignal));
|
|
399
429
|
reloadSuccessor = Object.freeze({ ticket: successor, reload });
|
|
400
430
|
}
|
|
401
431
|
catch (error) {
|
|
@@ -403,32 +433,16 @@ export function createPackagedPluginHost(options) {
|
|
|
403
433
|
runtimeStartupBlocked.push({
|
|
404
434
|
plugin: "host-runtime",
|
|
405
435
|
code: "RUNTIME_RECONSTRUCTION_FAILED",
|
|
406
|
-
explanation: "reload successor reconstruction failed;
|
|
436
|
+
explanation: "reload successor reconstruction failed; convergence will retry on the next start",
|
|
407
437
|
});
|
|
408
438
|
}
|
|
409
439
|
}
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
// completed. Before this ordering, the sweep ran with an empty
|
|
414
|
-
// observation map and compensated (rolled back) every interrupted
|
|
415
|
-
// transition on every start. If reconstruction failed, observations
|
|
416
|
-
// are absent and recovery keeps the conservative compensate path.
|
|
417
|
-
const recoveryResult = await recovery.recover({
|
|
418
|
-
requiredScopes: [{ kind: "user" }, project.scope],
|
|
419
|
-
...(successor === undefined ? {} : { reservedTransitions: [successor.transition] }),
|
|
420
|
-
}, startupSignal);
|
|
421
|
-
const unresolvedRecovery = successor === undefined
|
|
422
|
-
? recoveryResult.results
|
|
423
|
-
.filter((result) => result.kind === "blocked" || result.kind === "deferred")
|
|
424
|
-
.map((result) => ({
|
|
425
|
-
plugin: result.plugin ?? "host-recovery",
|
|
426
|
-
code: `RECOVERY_${result.code}`,
|
|
427
|
-
explanation: "startup recovery did not settle authoritative pending state",
|
|
428
|
-
}))
|
|
429
|
-
: [];
|
|
440
|
+
const convergenceResult = await convergence.sweep({ scopes: [{ kind: "user" }, project.scope], signal: startupSignal });
|
|
441
|
+
const unresolvedConvergence = convergenceResult.results.filter((result) => result.kind !== "completed").map((result) => ({ plugin: result.plugin ?? "convergence", code: `CONVERGENCE_${result.code}`, explanation: "startup convergence retained work for a later pass" }));
|
|
442
|
+
const runtimeBlocked = [...(latestDesired?.degraded ?? []), ...(runtimeStartupReport?.degraded ?? []), ...runtimeStartupBlocked];
|
|
430
443
|
const startup = startupResult({
|
|
431
|
-
blocked: [...(latestDesired?.
|
|
444
|
+
blocked: [...(latestDesired?.degraded ?? []), ...unresolvedConvergence, ...runtimeStartupBlocked],
|
|
445
|
+
...(runtimeStartupReport === undefined ? {} : { reconcileReport: runtimeStartupReport }),
|
|
432
446
|
mcp: qualification.mcp,
|
|
433
447
|
subagents: qualification.subagents,
|
|
434
448
|
piReload: qualification.hostApi,
|
|
@@ -436,10 +450,52 @@ export function createPackagedPluginHost(options) {
|
|
|
436
450
|
});
|
|
437
451
|
const hostStatus = createHostStatusService({
|
|
438
452
|
startup,
|
|
439
|
-
|
|
440
|
-
runtime:
|
|
453
|
+
convergence: unresolvedConvergence.length === 0 ? "settled" : "degraded",
|
|
454
|
+
runtime: runtimeBlocked.length === 0 ? "reconciled" : "degraded",
|
|
441
455
|
schedulerStatus: marketplaceComposition.updates.schedulerStatus,
|
|
442
456
|
});
|
|
457
|
+
const orientationFacts = createAgentOrientationFactsCollector({
|
|
458
|
+
paths,
|
|
459
|
+
packageVersion: orientationPackageVersion,
|
|
460
|
+
state: state.state,
|
|
461
|
+
project,
|
|
462
|
+
installed: content.installed,
|
|
463
|
+
content: content.content,
|
|
464
|
+
contentReader: manifestContentReader,
|
|
465
|
+
selections,
|
|
466
|
+
startup,
|
|
467
|
+
latestDesired: () => latestDesired,
|
|
468
|
+
sha256,
|
|
469
|
+
});
|
|
470
|
+
refreshOrientation = async () => {
|
|
471
|
+
if (orientationPublisher === undefined)
|
|
472
|
+
return;
|
|
473
|
+
const signal = new AbortController().signal;
|
|
474
|
+
const collected = await orientationFacts.collect(signal);
|
|
475
|
+
const orientation = assembleAgentOrientation(collected.input);
|
|
476
|
+
// Recheck after pure assembly and immediately before the adapter
|
|
477
|
+
// write. No lock is introduced; a later mutation is picked up by
|
|
478
|
+
// the next admitted-operation refresh.
|
|
479
|
+
if (!await orientationFacts.isCurrent(collected, signal))
|
|
480
|
+
return;
|
|
481
|
+
await orientationPublisher.publish(orientation, collected.input.briefPath, context);
|
|
482
|
+
};
|
|
483
|
+
publishUnavailableOrientation = async (error, unavailableContext) => {
|
|
484
|
+
if (orientationPublisher === undefined)
|
|
485
|
+
return;
|
|
486
|
+
const code = error instanceof AgentOrientationUnavailableError
|
|
487
|
+
? error.code
|
|
488
|
+
: "ORIENTATION_STATE_UNAVAILABLE";
|
|
489
|
+
for (const briefPath of orientationBriefPaths) {
|
|
490
|
+
await orientationPublisher.publishUnavailable({
|
|
491
|
+
briefPath,
|
|
492
|
+
code,
|
|
493
|
+
packageVersion: orientationPackageVersion,
|
|
494
|
+
sha256,
|
|
495
|
+
context: unavailableContext,
|
|
496
|
+
});
|
|
497
|
+
}
|
|
498
|
+
};
|
|
443
499
|
const candidateContent = createCandidateContentLeasePort({ content: content.content, materializer: materializers.plugins });
|
|
444
500
|
const nativeInspection = createNativeInspectionComposition({
|
|
445
501
|
state: state.state,
|
|
@@ -450,7 +506,7 @@ export function createPackagedPluginHost(options) {
|
|
|
450
506
|
skillHook: skillHook.participant,
|
|
451
507
|
mcp: mcp.participant,
|
|
452
508
|
capabilities: capabilitySnapshot,
|
|
453
|
-
|
|
509
|
+
convergence: convergenceResult,
|
|
454
510
|
startup,
|
|
455
511
|
status: hostStatus,
|
|
456
512
|
configurations,
|
|
@@ -563,7 +619,6 @@ export function createPackagedPluginHost(options) {
|
|
|
563
619
|
projectWriteIds: identifiers.projectIntentWriteIds,
|
|
564
620
|
registrations: marketplaceComposition.application.registration,
|
|
565
621
|
lifecycle: lifecycleComposition,
|
|
566
|
-
uninstallCleanup,
|
|
567
622
|
clock,
|
|
568
623
|
sessionIds: identifiers.operationIds,
|
|
569
624
|
hostEpoch,
|
|
@@ -608,6 +663,7 @@ export function createPackagedPluginHost(options) {
|
|
|
608
663
|
cancel: requireOperationContext(operations.application.cancel),
|
|
609
664
|
});
|
|
610
665
|
const background = createBackgroundUpdateCoordinator({
|
|
666
|
+
convergence: { sweep: async (signal) => { await convergence.sweep({ scopes: [{ kind: "user" }, project.scope], signal }); } },
|
|
611
667
|
scheduler: marketplaceComposition.updates.scheduler,
|
|
612
668
|
schedulerStatus: marketplaceComposition.updates.schedulerStatus,
|
|
613
669
|
notifications: updates.notifications,
|
|
@@ -723,7 +779,7 @@ export function createPackagedPluginHost(options) {
|
|
|
723
779
|
});
|
|
724
780
|
started = value;
|
|
725
781
|
// Background maintenance is detached: session_start returns from local
|
|
726
|
-
//
|
|
782
|
+
// convergence even if a remote adapter or publisher hangs.
|
|
727
783
|
void background.start();
|
|
728
784
|
return value;
|
|
729
785
|
}
|
|
@@ -771,6 +827,9 @@ export function createPackagedPluginHost(options) {
|
|
|
771
827
|
finally {
|
|
772
828
|
activeBinding = undefined;
|
|
773
829
|
activeResources = undefined;
|
|
830
|
+
orientationBriefPaths = [paths.orientationBrief({ kind: "user" })];
|
|
831
|
+
refreshOrientation = undefined;
|
|
832
|
+
publishUnavailableOrientation = undefined;
|
|
774
833
|
if (reloadSuccessor !== undefined) {
|
|
775
834
|
try {
|
|
776
835
|
reloadSuccessor.reload.failSuccessor(reloadSuccessor.ticket);
|
|
@@ -832,6 +891,11 @@ export function createPackagedPluginHost(options) {
|
|
|
832
891
|
return await operationContexts.run(frame, () => use(current.application));
|
|
833
892
|
}
|
|
834
893
|
finally {
|
|
894
|
+
// A committed foreground mutation is the completion boundary for the
|
|
895
|
+
// derived brief. The refresh is advisory, but awaiting it ensures a
|
|
896
|
+
// successful operation does not return before its orientation write is
|
|
897
|
+
// attempted. State-generation checks make read-only operations cheap.
|
|
898
|
+
await refreshOrientation?.().catch(() => undefined);
|
|
835
899
|
// Lifecycle/local operations may settle installed state and notices.
|
|
836
900
|
// Wake the one owner without coupling the foreground result to it.
|
|
837
901
|
wakeBackground?.();
|
|
@@ -847,7 +911,39 @@ export function createPackagedPluginHost(options) {
|
|
|
847
911
|
};
|
|
848
912
|
const target = Object.freeze({
|
|
849
913
|
async sessionStart(event, context) {
|
|
850
|
-
|
|
914
|
+
try {
|
|
915
|
+
await start(event, context);
|
|
916
|
+
}
|
|
917
|
+
catch (error) {
|
|
918
|
+
// Startup failure must not strand an old brief. Replace it with an
|
|
919
|
+
// honest marker, then preserve the host's existing startup error.
|
|
920
|
+
try {
|
|
921
|
+
if (orientationPublisher !== undefined) {
|
|
922
|
+
for (const briefPath of orientationBriefPaths) {
|
|
923
|
+
await orientationPublisher.publishUnavailable({
|
|
924
|
+
briefPath,
|
|
925
|
+
code: error instanceof AgentOrientationUnavailableError ? error.code : "ORIENTATION_STATE_UNAVAILABLE",
|
|
926
|
+
packageVersion: orientationPackageVersion,
|
|
927
|
+
sha256,
|
|
928
|
+
context,
|
|
929
|
+
});
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
catch {
|
|
934
|
+
// Orientation cannot turn a host startup failure into a second error.
|
|
935
|
+
}
|
|
936
|
+
throw error;
|
|
937
|
+
}
|
|
938
|
+
try {
|
|
939
|
+
await refreshOrientation?.();
|
|
940
|
+
}
|
|
941
|
+
catch (error) {
|
|
942
|
+
try {
|
|
943
|
+
await publishUnavailableOrientation?.(error, context);
|
|
944
|
+
}
|
|
945
|
+
catch { /* informational surface only */ }
|
|
946
|
+
}
|
|
851
947
|
sessionStartDispatch ??= delegates.dispatchSessionStart(event, context);
|
|
852
948
|
await sessionStartDispatch;
|
|
853
949
|
},
|
|
@@ -859,11 +955,26 @@ export function createPackagedPluginHost(options) {
|
|
|
859
955
|
const resources = activeResources;
|
|
860
956
|
const result = await resources.discover({ reason: _event.reason, projectTrusted: activeBinding?.isProjectTrusted() === true }, new AbortController().signal);
|
|
861
957
|
if (result.kind === "ready" && reloadSuccessor !== undefined) {
|
|
862
|
-
reloadSuccessor
|
|
863
|
-
|
|
958
|
+
const successor = reloadSuccessor;
|
|
959
|
+
try {
|
|
960
|
+
successor.reload.publishSuccessor(successor.ticket);
|
|
961
|
+
}
|
|
962
|
+
catch (error) {
|
|
963
|
+
try {
|
|
964
|
+
successor.reload.failSuccessor(successor.ticket, error);
|
|
965
|
+
}
|
|
966
|
+
catch { /* broker may already be settled */ }
|
|
967
|
+
}
|
|
968
|
+
finally {
|
|
969
|
+
reloadSuccessor = undefined;
|
|
970
|
+
}
|
|
864
971
|
}
|
|
865
972
|
else if (result.kind !== "ready" && reloadSuccessor !== undefined) {
|
|
866
|
-
|
|
973
|
+
const successor = reloadSuccessor;
|
|
974
|
+
try {
|
|
975
|
+
successor.reload.failSuccessor(successor.ticket, new Error("Pi reload resource publication failed"));
|
|
976
|
+
}
|
|
977
|
+
catch { /* broker may already be settled */ }
|
|
867
978
|
reloadSuccessor = undefined;
|
|
868
979
|
}
|
|
869
980
|
return result.kind === "ready" ? { skillPaths: [...(result.skillPaths ?? [])] } : undefined;
|