@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,126 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { PluginKeySchema } from "../domain/identity.js";
|
|
3
|
-
import { PendingTransitionRefSchema } from "../domain/state/references.js";
|
|
4
|
-
import { ScopeReferenceSchema } from "../domain/state/scope.js";
|
|
5
|
-
import { GenerationSchema } from "../domain/state/config-state.js";
|
|
6
|
-
import { InstalledPluginRecordSchema } from "../domain/state/installed-state.js";
|
|
7
|
-
import { ActivationObservationSchema } from "./ports/lifecycle-reload.js";
|
|
8
|
-
import { LifecycleTransitionRecordSchemaV1, } from "./ports/lifecycle-transition-store.js";
|
|
9
|
-
import { ProjectionExpectationSchema } from "./ports/runtime-projection.js";
|
|
10
|
-
export const RecoveryDiagnosticCodeSchema = z.enum([
|
|
11
|
-
"OWNER_LIVE",
|
|
12
|
-
"OWNER_UNKNOWN",
|
|
13
|
-
"BUDGET_EXHAUSTED",
|
|
14
|
-
"STATE_STALE",
|
|
15
|
-
"JOURNAL_MISSING",
|
|
16
|
-
"JOURNAL_CORRUPT",
|
|
17
|
-
"STATE_CORRUPT",
|
|
18
|
-
"RECOVERY_CONFLICT",
|
|
19
|
-
"PREVIOUS_UNAVAILABLE",
|
|
20
|
-
"CLEANUP_FAILED",
|
|
21
|
-
]);
|
|
22
|
-
export const RecoveryPolicySchema = z.object({
|
|
23
|
-
requiredBudgetMs: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
24
|
-
maxTransitions: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),
|
|
25
|
-
abandonedGraceMs: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
26
|
-
}).strict().readonly();
|
|
27
|
-
export const DefaultLifecycleRecoveryPolicy = Object.freeze({
|
|
28
|
-
requiredBudgetMs: 2_000,
|
|
29
|
-
maxTransitions: 128,
|
|
30
|
-
abandonedGraceMs: 86_400_000,
|
|
31
|
-
});
|
|
32
|
-
export const TransitionRecoveryResultSchema = z.discriminatedUnion("kind", [
|
|
33
|
-
z.object({ kind: z.literal("finalized"), scope: ScopeReferenceSchema, plugin: PluginKeySchema, reference: PendingTransitionRefSchema, generation: GenerationSchema }).strict().readonly(),
|
|
34
|
-
z.object({ kind: z.literal("rolled-back"), scope: ScopeReferenceSchema, plugin: PluginKeySchema, reference: PendingTransitionRefSchema, generation: GenerationSchema }).strict().readonly(),
|
|
35
|
-
z.object({ kind: z.literal("abandoned"), scope: ScopeReferenceSchema, plugin: PluginKeySchema, reference: PendingTransitionRefSchema }).strict().readonly(),
|
|
36
|
-
z.object({ kind: z.literal("cleanup-completed"), scope: ScopeReferenceSchema, plugin: PluginKeySchema, reference: PendingTransitionRefSchema }).strict().readonly(),
|
|
37
|
-
z.object({
|
|
38
|
-
kind: z.literal("deferred"),
|
|
39
|
-
scope: ScopeReferenceSchema,
|
|
40
|
-
plugin: PluginKeySchema.optional(),
|
|
41
|
-
reference: PendingTransitionRefSchema.optional(),
|
|
42
|
-
code: z.enum(["OWNER_LIVE", "OWNER_UNKNOWN", "BUDGET_EXHAUSTED", "STATE_STALE"]),
|
|
43
|
-
}).strict().readonly(),
|
|
44
|
-
z.object({
|
|
45
|
-
kind: z.literal("blocked"),
|
|
46
|
-
scope: ScopeReferenceSchema,
|
|
47
|
-
plugin: PluginKeySchema.optional(),
|
|
48
|
-
reference: PendingTransitionRefSchema.optional(),
|
|
49
|
-
code: z.enum(["JOURNAL_MISSING", "JOURNAL_CORRUPT", "STATE_CORRUPT", "RECOVERY_CONFLICT", "PREVIOUS_UNAVAILABLE", "CLEANUP_FAILED"]),
|
|
50
|
-
}).strict().readonly(),
|
|
51
|
-
]);
|
|
52
|
-
export const LifecycleRecoveryResultSchema = z.object({
|
|
53
|
-
results: z.array(TransitionRecoveryResultSchema).readonly(),
|
|
54
|
-
deferred: z.boolean(),
|
|
55
|
-
processed: z.number().int().nonnegative(),
|
|
56
|
-
}).strict().readonly();
|
|
57
|
-
export const RecoveryEvidenceKindSchema = z.enum(["candidate-pending", "previous-pending", "final", "conflict", "missing"]);
|
|
58
|
-
export const RecoveryEvidenceSchema = z.object({
|
|
59
|
-
kind: RecoveryEvidenceKindSchema,
|
|
60
|
-
scope: ScopeReferenceSchema,
|
|
61
|
-
plugin: PluginKeySchema,
|
|
62
|
-
reference: PendingTransitionRefSchema,
|
|
63
|
-
current: InstalledPluginRecordSchema.nullable(),
|
|
64
|
-
observation: ActivationObservationSchema.optional(),
|
|
65
|
-
}).strict().readonly();
|
|
66
|
-
export const RecoveryClassificationSchema = z.discriminatedUnion("kind", [
|
|
67
|
-
z.object({ kind: z.literal("finalize"), projection: ProjectionExpectationSchema }).strict().readonly(),
|
|
68
|
-
z.object({ kind: z.literal("compensate"), projection: ProjectionExpectationSchema }).strict().readonly(),
|
|
69
|
-
z.object({ kind: z.literal("conflict"), code: z.literal("RECOVERY_CONFLICT") }).strict().readonly(),
|
|
70
|
-
z.object({ kind: z.literal("blocked"), code: z.literal("PREVIOUS_UNAVAILABLE") }).strict().readonly(),
|
|
71
|
-
]);
|
|
72
|
-
function sameJson(left, right) {
|
|
73
|
-
if (Object.is(left, right))
|
|
74
|
-
return true;
|
|
75
|
-
if (left === null || right === null || typeof left !== "object" || typeof right !== "object")
|
|
76
|
-
return false;
|
|
77
|
-
if (Array.isArray(left) || Array.isArray(right))
|
|
78
|
-
return Array.isArray(left) && Array.isArray(right) && left.length === right.length && left.every((value, index) => sameJson(value, right[index]));
|
|
79
|
-
const leftRecord = left;
|
|
80
|
-
const rightRecord = right;
|
|
81
|
-
const keys = Object.keys(leftRecord);
|
|
82
|
-
return keys.length === Object.keys(rightRecord).length && keys.every((key) => Object.prototype.hasOwnProperty.call(rightRecord, key) && sameJson(leftRecord[key], rightRecord[key]));
|
|
83
|
-
}
|
|
84
|
-
export function stateWithoutPending(record) {
|
|
85
|
-
const { pendingTransition: _pending, ...value } = record;
|
|
86
|
-
return InstalledPluginRecordSchema.parse(value);
|
|
87
|
-
}
|
|
88
|
-
export function projectionMatchesObservation(observation, expectation, plugin) {
|
|
89
|
-
if (expectation.kind === "inactive") {
|
|
90
|
-
return observation.kind === "inactive" &&
|
|
91
|
-
sameJson(observation.scope, expectation.scope) &&
|
|
92
|
-
observation.plugin === plugin &&
|
|
93
|
-
observation.projectionDigest === expectation.digest;
|
|
94
|
-
}
|
|
95
|
-
return observation.kind === "active" &&
|
|
96
|
-
sameJson(observation.scope, expectation.projection.scope) &&
|
|
97
|
-
observation.plugin === plugin &&
|
|
98
|
-
observation.revision === expectation.projection.revision &&
|
|
99
|
-
observation.projectionDigest === expectation.projection.digest;
|
|
100
|
-
}
|
|
101
|
-
/** Classify only exact evidence; a reload return value is intentionally absent. */
|
|
102
|
-
export function classifyInterruptedTransition(input) {
|
|
103
|
-
const record = LifecycleTransitionRecordSchemaV1.parse(input.record);
|
|
104
|
-
const current = input.current === null ? null : InstalledPluginRecordSchema.parse(input.current);
|
|
105
|
-
if (current !== null && current.plugin !== record.plugin)
|
|
106
|
-
return { kind: "conflict", code: "RECOVERY_CONFLICT" };
|
|
107
|
-
const pending = current?.pendingTransition;
|
|
108
|
-
const currentWithoutPending = current === null ? null : stateWithoutPending(current);
|
|
109
|
-
const isCandidate = currentWithoutPending !== null && sameJson(currentWithoutPending, record.candidate);
|
|
110
|
-
const isPrevious = record.previous !== null && currentWithoutPending !== null && sameJson(currentWithoutPending, record.previous);
|
|
111
|
-
if (pending === record.reference && isCandidate) {
|
|
112
|
-
if (input.observation !== undefined && projectionMatchesObservation(input.observation, record.candidateProjection, record.plugin))
|
|
113
|
-
return { kind: "finalize", projection: record.candidateProjection };
|
|
114
|
-
return record.previous === null ? { kind: "blocked", code: "PREVIOUS_UNAVAILABLE" } : { kind: "compensate", projection: record.previousProjection };
|
|
115
|
-
}
|
|
116
|
-
if (pending === record.reference && isPrevious)
|
|
117
|
-
return { kind: "compensate", projection: record.previousProjection };
|
|
118
|
-
const finalMatches = record.final === null ? current === null : currentWithoutPending !== null && sameJson(currentWithoutPending, record.final);
|
|
119
|
-
if (pending === undefined && finalMatches)
|
|
120
|
-
return { kind: "finalize", projection: record.candidateProjection };
|
|
121
|
-
return { kind: "conflict", code: "RECOVERY_CONFLICT" };
|
|
122
|
-
}
|
|
123
|
-
export function safeRecoveryResult(input) {
|
|
124
|
-
return TransitionRecoveryResultSchema.parse(input);
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=recovery-contract.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-contract.js","sourceRoot":"","sources":["../../src/application/recovery-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import "zod";
|
|
2
|
-
import { type ScopeContext, type ScopeReference } from "../domain/state/scope.js";
|
|
3
|
-
import { type PendingTransitionRef } from "../domain/state/references.js";
|
|
4
|
-
import { type LifecycleTransitionStore } from "./ports/lifecycle-transition-store.js";
|
|
5
|
-
import type { LifecycleStateStore } from "./ports/lifecycle-state-store.js";
|
|
6
|
-
import type { LifecycleClock } from "./ports/lifecycle-clock.js";
|
|
7
|
-
import type { LifecycleStateInventoryPort } from "./ports/lifecycle-state-inventory.js";
|
|
8
|
-
import type { RecoveryArtifactsPort } from "./ports/recovery-artifacts.js";
|
|
9
|
-
import type { LifecycleTransitionReconciler } from "./lifecycle-transition-reconciler.js";
|
|
10
|
-
import { TransitionRecoveryResultSchema, type LifecycleRecoveryResult, type RecoveryPolicy } from "./recovery-contract.js";
|
|
11
|
-
import type { LifecycleReloadPort } from "./ports/lifecycle-reload.js";
|
|
12
|
-
import type { NativeUninstallCleanupService } from "./native-uninstall-cleanup.js";
|
|
13
|
-
export type LifecycleRecoveryServiceDependencies = Readonly<{
|
|
14
|
-
state: LifecycleStateStore;
|
|
15
|
-
inventory?: LifecycleStateInventoryPort;
|
|
16
|
-
transitions: (scope: ScopeReference) => LifecycleTransitionStore;
|
|
17
|
-
reconciler: LifecycleTransitionReconciler;
|
|
18
|
-
reload: LifecycleReloadPort;
|
|
19
|
-
artifacts?: RecoveryArtifactsPort;
|
|
20
|
-
uninstallCleanup?: NativeUninstallCleanupService;
|
|
21
|
-
clock?: LifecycleClock;
|
|
22
|
-
}>;
|
|
23
|
-
export type LifecycleRecoveryServiceRequest = Readonly<{
|
|
24
|
-
requiredScopes: readonly ScopeContext[];
|
|
25
|
-
/**
|
|
26
|
-
* A live reload successor owns these exact transitions. Startup recovery
|
|
27
|
-
* must not race that handoff even if predecessor journal ownership has
|
|
28
|
-
* already been released during extension disposal.
|
|
29
|
-
*/
|
|
30
|
-
reservedTransitions?: readonly PendingTransitionRef[];
|
|
31
|
-
policy?: Partial<RecoveryPolicy>;
|
|
32
|
-
}>;
|
|
33
|
-
export interface LifecycleRecoveryService {
|
|
34
|
-
recover(request: LifecycleRecoveryServiceRequest, signal: AbortSignal): Promise<LifecycleRecoveryResult>;
|
|
35
|
-
}
|
|
36
|
-
/** Startup reconciliation is deliberately local and bounded; collection is separate best-effort work. */
|
|
37
|
-
export declare function createLifecycleRecoveryService(dependencies: LifecycleRecoveryServiceDependencies): LifecycleRecoveryService;
|
|
38
|
-
export { TransitionRecoveryResultSchema };
|
|
39
|
-
export type { LifecycleRecoveryResult, ScopeContext, ScopeReference };
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import "zod";
|
|
2
|
-
import { ScopeContextSchema, toScopeReference } from "../domain/state/scope.js";
|
|
3
|
-
import { PluginKeySchema } from "../domain/identity.js";
|
|
4
|
-
import { PendingTransitionRefSchema } from "../domain/state/references.js";
|
|
5
|
-
import {} from "./ports/lifecycle-transition-store.js";
|
|
6
|
-
import { DefaultLifecycleRecoveryPolicy, LifecycleRecoveryResultSchema, RecoveryPolicySchema, TransitionRecoveryResultSchema } from "./recovery-contract.js";
|
|
7
|
-
function sortScopes(scopes) { return [...scopes].sort((left, right) => JSON.stringify(left).localeCompare(JSON.stringify(right))); }
|
|
8
|
-
function sortResult(left, right) {
|
|
9
|
-
return JSON.stringify([left.scope, left.plugin ?? "", left.reference ?? "", left.kind]).localeCompare(JSON.stringify([right.scope, right.plugin ?? "", right.reference ?? "", right.kind]));
|
|
10
|
-
}
|
|
11
|
-
/** Startup reconciliation is deliberately local and bounded; collection is separate best-effort work. */
|
|
12
|
-
export function createLifecycleRecoveryService(dependencies) {
|
|
13
|
-
if (dependencies === null || typeof dependencies !== "object")
|
|
14
|
-
throw new TypeError("recovery service dependencies are required");
|
|
15
|
-
const clock = dependencies.clock ?? {
|
|
16
|
-
nowEpochMilliseconds: () => Date.now(),
|
|
17
|
-
monotonicMilliseconds: () => globalThis.performance?.now() ?? Date.now(),
|
|
18
|
-
};
|
|
19
|
-
async function recover(request, signal) {
|
|
20
|
-
const policy = RecoveryPolicySchema.parse({ ...DefaultLifecycleRecoveryPolicy, ...(request.policy ?? {}) });
|
|
21
|
-
const started = clock.monotonicMilliseconds();
|
|
22
|
-
const deadline = started + policy.requiredBudgetMs;
|
|
23
|
-
let processed = 0;
|
|
24
|
-
let deferred = false;
|
|
25
|
-
const results = [];
|
|
26
|
-
const reservedTransitions = new Set((request.reservedTransitions ?? []).map((reference) => PendingTransitionRefSchema.parse(reference)));
|
|
27
|
-
let scopes = sortScopes(request.requiredScopes.map((scope) => ScopeContextSchema.parse(scope)));
|
|
28
|
-
if (scopes.length === 0 && dependencies.inventory !== undefined) {
|
|
29
|
-
const inventory = await dependencies.inventory.discover(signal);
|
|
30
|
-
scopes = sortScopes(inventory.scopes);
|
|
31
|
-
if (!inventory.complete)
|
|
32
|
-
deferred = true;
|
|
33
|
-
}
|
|
34
|
-
for (const scope of scopes) {
|
|
35
|
-
if (signal.aborted)
|
|
36
|
-
throw signal.reason;
|
|
37
|
-
if (clock.monotonicMilliseconds() >= deadline || processed >= policy.maxTransitions) {
|
|
38
|
-
deferred = true;
|
|
39
|
-
results.push({ kind: "deferred", scope: toScopeReference(scope), code: "BUDGET_EXHAUSTED" });
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
const scopeReference = toScopeReference(scope);
|
|
43
|
-
const loaded = await dependencies.state.read(scope, signal);
|
|
44
|
-
if (!loaded.ok) {
|
|
45
|
-
deferred = true;
|
|
46
|
-
results.push({ kind: "blocked", scope: scopeReference, code: "STATE_CORRUPT" });
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
const journal = dependencies.transitions(scopeReference);
|
|
50
|
-
const collection = journal.list === undefined ? undefined : await journal.list(scopeReference, signal).catch(() => undefined);
|
|
51
|
-
if (collection === undefined || !collection.complete) {
|
|
52
|
-
deferred = true;
|
|
53
|
-
results.push({ kind: "blocked", scope: scopeReference, code: "JOURNAL_CORRUPT" });
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
const byReference = new Map(collection.entries.map((entry) => [entry.record.reference, entry]));
|
|
57
|
-
const pending = ("installed" in loaded.snapshot ? loaded.snapshot.installed.plugins : loaded.snapshot.project.plugins)
|
|
58
|
-
.filter((record) => record.pendingTransition !== undefined)
|
|
59
|
-
.sort((left, right) => left.plugin.localeCompare(right.plugin));
|
|
60
|
-
for (const pluginRecord of pending) {
|
|
61
|
-
const reference = PendingTransitionRefSchema.parse(pluginRecord.pendingTransition);
|
|
62
|
-
if (reservedTransitions.has(reference))
|
|
63
|
-
continue;
|
|
64
|
-
if (processed >= policy.maxTransitions || clock.monotonicMilliseconds() >= deadline) {
|
|
65
|
-
deferred = true;
|
|
66
|
-
results.push({ kind: "deferred", scope: scopeReference, plugin: pluginRecord.plugin, reference, code: "BUDGET_EXHAUSTED" });
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
processed += 1;
|
|
70
|
-
const entry = byReference.get(reference);
|
|
71
|
-
if (entry === undefined) {
|
|
72
|
-
deferred = true;
|
|
73
|
-
results.push({ kind: "blocked", scope: scopeReference, plugin: pluginRecord.plugin, reference, code: "JOURNAL_MISSING" });
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
if (entry.status.kind === "quarantined") {
|
|
77
|
-
deferred = true;
|
|
78
|
-
results.push({ kind: "blocked", scope: scopeReference, plugin: pluginRecord.plugin, reference, code: "JOURNAL_CORRUPT" });
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
const owner = journal.ownerStatus === undefined ? "released" : await journal.ownerStatus(scopeReference, reference, signal).catch(() => "unknown");
|
|
82
|
-
if (owner === "live" || owner === "unknown") {
|
|
83
|
-
deferred = true;
|
|
84
|
-
results.push({ kind: "deferred", scope: scopeReference, plugin: pluginRecord.plugin, reference, code: owner === "live" ? "OWNER_LIVE" : "OWNER_UNKNOWN" });
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
let observation;
|
|
88
|
-
if (entry.record.candidateProjection.kind === "active" && pluginRecord.activation === "enabled") {
|
|
89
|
-
observation = await dependencies.reload.observe({ scope: scopeReference, plugin: pluginRecord.plugin }, signal).catch(() => undefined);
|
|
90
|
-
}
|
|
91
|
-
const reconciled = await dependencies.reconciler.recoverInterruptedTransition({
|
|
92
|
-
scope,
|
|
93
|
-
plugin: PluginKeySchema.parse(pluginRecord.plugin),
|
|
94
|
-
record: entry.record,
|
|
95
|
-
current: pluginRecord,
|
|
96
|
-
...(observation === undefined ? {} : { observation }),
|
|
97
|
-
}, signal);
|
|
98
|
-
if (reconciled.kind === "completed")
|
|
99
|
-
results.push({ kind: "finalized", scope: scopeReference, plugin: pluginRecord.plugin, reference, generation: reconciled.snapshot.generation });
|
|
100
|
-
else if (reconciled.kind === "rolled-back")
|
|
101
|
-
results.push({ kind: "rolled-back", scope: scopeReference, plugin: pluginRecord.plugin, reference, generation: reconciled.snapshot.generation });
|
|
102
|
-
else {
|
|
103
|
-
deferred = true;
|
|
104
|
-
results.push({ kind: "blocked", scope: scopeReference, plugin: pluginRecord.plugin, reference, code: "RECOVERY_CONFLICT" });
|
|
105
|
-
await journal.markRecoveryRequired?.({ scope: scopeReference, reference, ...(reconciled.committed === undefined ? {} : { generation: reconciled.committed }), at: clock.nowEpochMilliseconds() }, signal).catch(() => undefined);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// Terminal uninstall deletion is durable journal work, independent of
|
|
109
|
-
// the now-absent installed record. Failure never blocks another plugin.
|
|
110
|
-
if (dependencies.uninstallCleanup !== undefined) {
|
|
111
|
-
for (const entry of collection.entries.filter((candidate) => candidate.status.kind === "completed" && (candidate.cleanup === "pending-data-delete" || candidate.cleanup === "recovery-required")).sort((left, right) => left.record.reference.localeCompare(right.record.reference))) {
|
|
112
|
-
if (processed >= policy.maxTransitions || clock.monotonicMilliseconds() >= deadline) {
|
|
113
|
-
deferred = true;
|
|
114
|
-
results.push({ kind: "deferred", scope: scopeReference, plugin: entry.record.plugin, reference: entry.record.reference, code: "BUDGET_EXHAUSTED" });
|
|
115
|
-
continue;
|
|
116
|
-
}
|
|
117
|
-
processed += 1;
|
|
118
|
-
const cleanup = await dependencies.uninstallCleanup.recover(entry, signal);
|
|
119
|
-
if (cleanup.kind === "deleted")
|
|
120
|
-
results.push({ kind: "cleanup-completed", scope: scopeReference, plugin: entry.record.plugin, reference: entry.record.reference });
|
|
121
|
-
else if (cleanup.kind === "recovery-required") {
|
|
122
|
-
deferred = true;
|
|
123
|
-
results.push({ kind: "blocked", scope: scopeReference, plugin: entry.record.plugin, reference: entry.record.reference, code: "CLEANUP_FAILED" });
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
// Unreferenced prepared rows are inert. They are abandoned only after
|
|
128
|
-
// owner death and a durable wall-clock grace, never by lease expiry.
|
|
129
|
-
for (const entry of collection.entries.filter((candidate) => candidate.status.kind === "prepared").sort((left, right) => left.record.reference.localeCompare(right.record.reference))) {
|
|
130
|
-
if (pending.some((record) => record.pendingTransition === entry.record.reference))
|
|
131
|
-
continue;
|
|
132
|
-
if (processed >= policy.maxTransitions || clock.monotonicMilliseconds() >= deadline) {
|
|
133
|
-
deferred = true;
|
|
134
|
-
results.push({ kind: "deferred", scope: scopeReference, plugin: entry.record.plugin, reference: entry.record.reference, code: "BUDGET_EXHAUSTED" });
|
|
135
|
-
continue;
|
|
136
|
-
}
|
|
137
|
-
processed += 1;
|
|
138
|
-
const owner = journal.ownerStatus === undefined ? "released" : await journal.ownerStatus(scopeReference, entry.record.reference, signal).catch(() => "unknown");
|
|
139
|
-
if (owner === "live" || owner === "unknown") {
|
|
140
|
-
deferred = true;
|
|
141
|
-
results.push({ kind: "deferred", scope: scopeReference, plugin: entry.record.plugin, reference: entry.record.reference, code: owner === "live" ? "OWNER_LIVE" : "OWNER_UNKNOWN" });
|
|
142
|
-
continue;
|
|
143
|
-
}
|
|
144
|
-
if (entry.preparedAt + policy.abandonedGraceMs > clock.nowEpochMilliseconds())
|
|
145
|
-
continue;
|
|
146
|
-
await journal.settle({ reference: entry.record.reference, outcome: "abandoned", at: clock.nowEpochMilliseconds() }, signal).catch(() => undefined);
|
|
147
|
-
results.push({ kind: "abandoned", scope: scopeReference, plugin: entry.record.plugin, reference: entry.record.reference });
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (!deferred && dependencies.artifacts !== undefined && clock.monotonicMilliseconds() < deadline) {
|
|
151
|
-
const scan = await dependencies.artifacts.scan(signal).catch(() => ({ complete: false, candidates: [] }));
|
|
152
|
-
if (!scan.complete)
|
|
153
|
-
deferred = true;
|
|
154
|
-
else
|
|
155
|
-
for (const candidate of [...scan.candidates].sort((left, right) => left.kind.localeCompare(right.kind) || left.key.localeCompare(right.key))) {
|
|
156
|
-
if (candidate.owner !== "dead" || candidate.createdAt + policy.abandonedGraceMs > clock.nowEpochMilliseconds())
|
|
157
|
-
continue;
|
|
158
|
-
if (clock.monotonicMilliseconds() >= deadline) {
|
|
159
|
-
deferred = true;
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
await dependencies.artifacts.remove(candidate, signal).catch(() => undefined);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return LifecycleRecoveryResultSchema.parse({ results: results.sort(sortResult), deferred, processed });
|
|
166
|
-
}
|
|
167
|
-
return Object.freeze({ recover });
|
|
168
|
-
}
|
|
169
|
-
export { TransitionRecoveryResultSchema };
|
|
170
|
-
//# sourceMappingURL=recovery-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-service.js","sourceRoot":"","sources":["../../src/application/recovery-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { type ContentStoreKey } from "../domain/content-store.js";
|
|
3
|
-
import { type ScopeContext, type ScopeReference } from "../domain/state/scope.js";
|
|
4
|
-
import type { GenerationMutationCoordinator } from "./generation-mutation-coordinator.js";
|
|
5
|
-
import type { LifecycleStateStore } from "./ports/lifecycle-state-store.js";
|
|
6
|
-
import type { LifecycleStateInventoryPort } from "./ports/lifecycle-state-inventory.js";
|
|
7
|
-
import type { LifecycleTransitionStore } from "./ports/lifecycle-transition-store.js";
|
|
8
|
-
import type { LifecycleClock } from "./ports/lifecycle-clock.js";
|
|
9
|
-
import type { RevisionArtifactStore, RetainedArtifactRef } from "./ports/revision-artifact-store.js";
|
|
10
|
-
import type { RevisionLeaseStore } from "./ports/revision-lease-store.js";
|
|
11
|
-
import type { RevisionRetentionStore } from "./ports/revision-retention-store.js";
|
|
12
|
-
import "./recovery-contract.js";
|
|
13
|
-
import type { Sha256 } from "../domain/source.js";
|
|
14
|
-
export declare const DefaultRevisionCollectionPolicy: Readonly<{
|
|
15
|
-
unreferencedGraceMs: 86400000;
|
|
16
|
-
terminalJournalRetentionMs: 604800000;
|
|
17
|
-
maxArtifactsPerRun: 256;
|
|
18
|
-
}>;
|
|
19
|
-
export declare const RevisionCollectionPolicySchema: z.ZodReadonly<z.ZodObject<{
|
|
20
|
-
unreferencedGraceMs: z.ZodNumber;
|
|
21
|
-
terminalJournalRetentionMs: z.ZodNumber;
|
|
22
|
-
maxArtifactsPerRun: z.ZodNumber;
|
|
23
|
-
}, z.core.$strict>>;
|
|
24
|
-
export type RevisionCollectionPolicy = z.infer<typeof RevisionCollectionPolicySchema>;
|
|
25
|
-
export declare const RevisionCollectionResultSchema: z.ZodReadonly<z.ZodObject<{
|
|
26
|
-
kind: z.ZodEnum<{
|
|
27
|
-
collected: "collected";
|
|
28
|
-
deferred: "deferred";
|
|
29
|
-
}>;
|
|
30
|
-
removedArtifacts: z.ZodNumber;
|
|
31
|
-
prunedRevisions: z.ZodNumber;
|
|
32
|
-
code: z.ZodOptional<z.ZodLiteral<"COLLECTION_DEFERRED">>;
|
|
33
|
-
}, z.core.$strict>>;
|
|
34
|
-
export type RevisionCollectionResult = z.infer<typeof RevisionCollectionResultSchema>;
|
|
35
|
-
export type RevisionCollectionDependencies = Readonly<{
|
|
36
|
-
state: LifecycleStateStore;
|
|
37
|
-
inventory: LifecycleStateInventoryPort;
|
|
38
|
-
transitions: (scope: ScopeReference) => LifecycleTransitionStore;
|
|
39
|
-
leases: RevisionLeaseStore;
|
|
40
|
-
artifacts: RevisionArtifactStore;
|
|
41
|
-
retention: RevisionRetentionStore;
|
|
42
|
-
mutations: GenerationMutationCoordinator;
|
|
43
|
-
sha256: Sha256;
|
|
44
|
-
clock?: LifecycleClock;
|
|
45
|
-
}>;
|
|
46
|
-
/** Closed-world mark/sweep. Physical deletion is deliberately the last action. */
|
|
47
|
-
export declare function createRevisionCollectionService(dependencies: RevisionCollectionDependencies): Readonly<{
|
|
48
|
-
collect: (input: Readonly<{
|
|
49
|
-
policy?: Partial<RevisionCollectionPolicy>;
|
|
50
|
-
}>, signal: AbortSignal) => Promise<RevisionCollectionResult>;
|
|
51
|
-
}>;
|
|
52
|
-
export type { RetainedArtifactRef, ScopeContext, ScopeReference, ContentStoreKey };
|