@nklisch/pi-enhanced 0.1.11 → 0.2.1

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.
Files changed (443) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/node_modules/@nklisch/pi-background-tasks/CHANGELOG.md +7 -0
  3. package/node_modules/@nklisch/pi-background-tasks/extensions/background-tasks.test.ts +105 -0
  4. package/node_modules/@nklisch/pi-background-tasks/extensions/background-tasks.ts +131 -44
  5. package/node_modules/@nklisch/pi-background-tasks/package.json +1 -1
  6. package/node_modules/@nklisch/pi-background-tasks/skills/background-tasks/SKILL.md +6 -7
  7. package/node_modules/@nklisch/pi-clearance/native/clearance-core.darwin-arm64.node +0 -0
  8. package/node_modules/@nklisch/pi-clearance/native/clearance-core.darwin-x64.node +0 -0
  9. package/node_modules/@nklisch/pi-clearance/native/clearance-core.linux-arm64-gnu.node +0 -0
  10. package/node_modules/@nklisch/pi-clearance/native/clearance-core.win32-x64-msvc.node +0 -0
  11. package/node_modules/@nklisch/pi-clearance/package.json +1 -1
  12. package/node_modules/@nklisch/pi-clearance/src/config/config-command-writer.ts +34 -17
  13. package/node_modules/@nklisch/pi-clearance/src/index.ts +34 -3
  14. package/node_modules/@nklisch/pi-clearance/src/packs/package-registration.ts +63 -36
  15. package/node_modules/@nklisch/pi-clearance/src/runtime/allow-request-message.ts +40 -1
  16. package/node_modules/@nklisch/pi-clearance/src/runtime/command-registry.ts +22 -2
  17. package/node_modules/@nklisch/pi-clearance/src/runtime/command-transforms.ts +50 -29
  18. package/node_modules/@nklisch/pi-clearance/src/runtime/config-commands/settings/native-ui.ts +233 -49
  19. package/node_modules/@nklisch/pi-clearance/src/runtime/policy-cache.ts +19 -5
  20. package/node_modules/@nklisch/pi-conveniences/extensions/context-window-footer.ts +48 -13
  21. package/node_modules/@nklisch/pi-conveniences/package.json +1 -1
  22. package/node_modules/@nklisch/pi-fff-compat/extensions/fff-compat-search.ts +49 -42
  23. package/node_modules/@nklisch/pi-fff-compat/extensions/finder-lifecycle.ts +92 -0
  24. package/node_modules/@nklisch/pi-fff-compat/package.json +1 -1
  25. package/node_modules/@nklisch/pi-model-modes/package.json +1 -1
  26. package/node_modules/@nklisch/pi-model-modes/src/command-message.ts +30 -0
  27. package/node_modules/@nklisch/pi-model-modes/src/commands.ts +31 -15
  28. package/node_modules/@nklisch/pi-model-modes/src/style-command.ts +25 -14
  29. package/node_modules/@nklisch/pi-plugins/README.md +3 -3
  30. package/node_modules/@nklisch/pi-plugins/dist/application/adoption-contract.d.ts +0 -6
  31. package/node_modules/@nklisch/pi-plugins/dist/application/agent-orientation.d.ts +66 -0
  32. package/node_modules/@nklisch/pi-plugins/dist/application/agent-orientation.js +223 -0
  33. package/node_modules/@nklisch/pi-plugins/dist/application/agent-orientation.js.map +1 -0
  34. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.d.ts +1 -2
  35. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.js +15 -33
  36. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-trust-continuity.js.map +1 -1
  37. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.d.ts +1 -2
  38. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.js +17 -20
  39. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-coordinator.js.map +1 -1
  40. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.d.ts +3 -3
  41. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.js +1 -1
  42. package/node_modules/@nklisch/pi-plugins/dist/application/automatic-update-eligibility.js.map +1 -1
  43. package/node_modules/@nklisch/pi-plugins/dist/application/configuration-service.d.ts +2 -2
  44. package/node_modules/@nklisch/pi-plugins/dist/application/configuration-service.js +5 -5
  45. package/node_modules/@nklisch/pi-plugins/dist/application/configuration-service.js.map +1 -1
  46. package/node_modules/@nklisch/pi-plugins/dist/application/convergence-service.d.ts +98 -0
  47. package/node_modules/@nklisch/pi-plugins/dist/application/convergence-service.js +270 -0
  48. package/node_modules/@nklisch/pi-plugins/dist/application/convergence-service.js.map +1 -0
  49. package/node_modules/@nklisch/pi-plugins/dist/application/exact-trust-grant-service.d.ts +3 -5
  50. package/node_modules/@nklisch/pi-plugins/dist/application/exact-trust-grant-service.js +18 -20
  51. package/node_modules/@nklisch/pi-plugins/dist/application/exact-trust-grant-service.js.map +1 -1
  52. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.d.ts +1 -2
  53. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.js +3 -1
  54. package/node_modules/@nklisch/pi-plugins/dist/application/hook-visibility-service.js.map +1 -1
  55. package/node_modules/@nklisch/pi-plugins/dist/application/host-observation-contract.d.ts +25 -1
  56. package/node_modules/@nklisch/pi-plugins/dist/application/host-observation-contract.js +5 -1
  57. package/node_modules/@nklisch/pi-plugins/dist/application/host-observation-contract.js.map +1 -1
  58. package/node_modules/@nklisch/pi-plugins/dist/application/host-precedence-service.d.ts +1 -2
  59. package/node_modules/@nklisch/pi-plugins/dist/application/host-precedence-service.js +3 -1
  60. package/node_modules/@nklisch/pi-plugins/dist/application/host-precedence-service.js.map +1 -1
  61. package/node_modules/@nklisch/pi-plugins/dist/application/inspection-contract.d.ts +0 -4
  62. package/node_modules/@nklisch/pi-plugins/dist/application/installed-revision-descriptor.d.ts +0 -4
  63. package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.d.ts +0 -9
  64. package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.js +1 -2
  65. package/node_modules/@nklisch/pi-plugins/dist/application/installed-trust-grant-service.js.map +1 -1
  66. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-inspection-contract.d.ts +0 -2
  67. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.d.ts +4 -7
  68. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.js +88 -122
  69. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-refresh-service.js.map +1 -1
  70. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-registration-service.d.ts +1 -2
  71. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-registration-service.js +56 -94
  72. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-registration-service.js.map +1 -1
  73. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-update-policy-service.d.ts +1 -2
  74. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-update-policy-service.js +7 -6
  75. package/node_modules/@nklisch/pi-plugins/dist/application/marketplace-update-policy-service.js.map +1 -1
  76. package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.d.ts +3 -4
  77. package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.js +8 -11
  78. package/node_modules/@nklisch/pi-plugins/dist/application/native-automatic-run-presenter.js.map +1 -1
  79. package/node_modules/@nklisch/pi-plugins/dist/application/native-candidate-inspection.js +1 -1
  80. package/node_modules/@nklisch/pi-plugins/dist/application/native-candidate-inspection.js.map +1 -1
  81. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-contract.d.ts +7 -6
  82. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-contract.js +4 -5
  83. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-contract.js.map +1 -1
  84. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-dispatcher.js +2 -1
  85. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-dispatcher.js.map +1 -1
  86. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-error.d.ts +1 -1
  87. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-error.js +2 -2
  88. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-error.js.map +1 -1
  89. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-help.d.ts +5 -3
  90. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-install.d.ts +1 -1
  91. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-lifecycle.js +4 -1
  92. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-lifecycle.js.map +1 -1
  93. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-mutation-dispatch.js +13 -21
  94. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-mutation-dispatch.js.map +1 -1
  95. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-operation.d.ts +122 -1124
  96. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.d.ts +8 -4
  97. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.js +4 -3
  98. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-parser.js.map +1 -1
  99. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-progress.d.ts +6 -4
  100. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-read-dispatch.js +1 -1
  101. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-read-dispatch.js.map +1 -1
  102. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.d.ts +30 -7
  103. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.js +4 -3
  104. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-registry.js.map +1 -1
  105. package/node_modules/@nklisch/pi-plugins/dist/application/native-control-safe-projection.d.ts +0 -6
  106. package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.d.ts +49 -49
  107. package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.js +10 -10
  108. package/node_modules/@nklisch/pi-plugins/dist/application/native-diagnostic-registry.js.map +1 -1
  109. package/node_modules/@nklisch/pi-plugins/dist/application/native-failure-presenter.d.ts +0 -5
  110. package/node_modules/@nklisch/pi-plugins/dist/application/native-failure-presenter.js +13 -11
  111. package/node_modules/@nklisch/pi-plugins/dist/application/native-failure-presenter.js.map +1 -1
  112. package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-contract.d.ts +55 -70
  113. package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-contract.js +4 -3
  114. package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-contract.js.map +1 -1
  115. package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-service.js +30 -11
  116. package/node_modules/@nklisch/pi-plugins/dist/application/native-inspection-service.js.map +1 -1
  117. package/node_modules/@nklisch/pi-plugins/dist/application/native-installed-inspection.js +46 -35
  118. package/node_modules/@nklisch/pi-plugins/dist/application/native-installed-inspection.js.map +1 -1
  119. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.d.ts +362 -1284
  120. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.js +11 -12
  121. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-contract.js.map +1 -1
  122. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-service.d.ts +1 -1
  123. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-service.js +4 -26
  124. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-service.js.map +1 -1
  125. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-session.js +1 -1
  126. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation-session.js.map +1 -1
  127. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation.d.ts +79 -235
  128. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation.js +26 -41
  129. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-operation.js.map +1 -1
  130. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-result.d.ts +1 -1
  131. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-result.js +23 -68
  132. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-result.js.map +1 -1
  133. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-target.d.ts +2 -2
  134. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-target.js +0 -18
  135. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-target.js.map +1 -1
  136. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-update.d.ts +0 -4
  137. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-update.js +0 -2
  138. package/node_modules/@nklisch/pi-plugins/dist/application/native-lifecycle-update.js.map +1 -1
  139. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.d.ts +2 -5
  140. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.js +5 -5
  141. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-contract.js.map +1 -1
  142. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-policy-service.d.ts +1 -2
  143. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-policy-service.js +4 -2
  144. package/node_modules/@nklisch/pi-plugins/dist/application/native-update-policy-service.js.map +1 -1
  145. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-contract.d.ts +30 -57
  146. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-contract.js +9 -32
  147. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-contract.js.map +1 -1
  148. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.d.ts +57 -75
  149. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.js +293 -583
  150. package/node_modules/@nklisch/pi-plugins/dist/application/plugin-lifecycle-service.js.map +1 -1
  151. package/node_modules/@nklisch/pi-plugins/dist/application/ports/artifact-gc.d.ts +21 -0
  152. package/node_modules/@nklisch/pi-plugins/dist/application/ports/artifact-gc.js +2 -0
  153. package/node_modules/@nklisch/pi-plugins/dist/application/ports/artifact-gc.js.map +1 -0
  154. package/node_modules/@nklisch/pi-plugins/dist/application/ports/automatic-update-lifecycle.d.ts +5 -6
  155. package/node_modules/@nklisch/pi-plugins/dist/application/ports/installed-plugin-loader.d.ts +0 -4
  156. package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-reload.d.ts +80 -13
  157. package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-reload.js +6 -3
  158. package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-reload.js.map +1 -1
  159. package/node_modules/@nklisch/pi-plugins/dist/application/ports/mcp-runtime.d.ts +0 -16
  160. package/node_modules/@nklisch/pi-plugins/dist/application/ports/native-control-input.d.ts +1 -1
  161. package/node_modules/@nklisch/pi-plugins/dist/application/ports/native-inspection-evidence.d.ts +4 -4
  162. package/node_modules/@nklisch/pi-plugins/dist/application/ports/pending-data-deletion.d.ts +26 -0
  163. package/node_modules/@nklisch/pi-plugins/dist/application/ports/pending-data-deletion.js +8 -0
  164. package/node_modules/@nklisch/pi-plugins/dist/application/ports/pending-data-deletion.js.map +1 -0
  165. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-contract.d.ts +12 -9
  166. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-contract.js +2 -2
  167. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-contract.js.map +1 -1
  168. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-planner.js +1 -10
  169. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-planner.js.map +1 -1
  170. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-projection.js +1 -1
  171. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-projection.js.map +1 -1
  172. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-service.d.ts +1 -2
  173. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-service.js +6 -10
  174. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-service.js.map +1 -1
  175. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-state.d.ts +2 -4
  176. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-state.js +9 -8
  177. package/node_modules/@nklisch/pi-plugins/dist/application/project-sync-state.js.map +1 -1
  178. package/node_modules/@nklisch/pi-plugins/dist/application/state-contract.d.ts +16 -32
  179. package/node_modules/@nklisch/pi-plugins/dist/application/state-transaction.d.ts +48 -0
  180. package/node_modules/@nklisch/pi-plugins/dist/application/state-transaction.js +107 -0
  181. package/node_modules/@nklisch/pi-plugins/dist/application/state-transaction.js.map +1 -0
  182. package/node_modules/@nklisch/pi-plugins/dist/application/subagent-hook-runtime.js +4 -1
  183. package/node_modules/@nklisch/pi-plugins/dist/application/subagent-hook-runtime.js.map +1 -1
  184. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.d.ts +1725 -4546
  185. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.js +3 -22
  186. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-contract.js.map +1 -1
  187. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-lifecycle.d.ts +1 -3
  188. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-lifecycle.js +1 -5
  189. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-lifecycle.js.map +1 -1
  190. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-service.js +33 -122
  191. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-service.js.map +1 -1
  192. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-session.d.ts +0 -20
  193. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-session.js +1 -23
  194. package/node_modules/@nklisch/pi-plugins/dist/application/trusted-install-session.js.map +1 -1
  195. package/node_modules/@nklisch/pi-plugins/dist/application/update-contract.d.ts +0 -7
  196. package/node_modules/@nklisch/pi-plugins/dist/application/update-contract.js +1 -1
  197. package/node_modules/@nklisch/pi-plugins/dist/application/update-contract.js.map +1 -1
  198. package/node_modules/@nklisch/pi-plugins/dist/application/update-notification-service.d.ts +1 -2
  199. package/node_modules/@nklisch/pi-plugins/dist/application/update-notification-service.js +5 -3
  200. package/node_modules/@nklisch/pi-plugins/dist/application/update-notification-service.js.map +1 -1
  201. package/node_modules/@nklisch/pi-plugins/dist/application/update-scheduler-lease-state.d.ts +1 -2
  202. package/node_modules/@nklisch/pi-plugins/dist/application/update-scheduler-lease-state.js +6 -4
  203. package/node_modules/@nklisch/pi-plugins/dist/application/update-scheduler-lease-state.js.map +1 -1
  204. package/node_modules/@nklisch/pi-plugins/dist/composition/agent-orientation-facts.d.ts +42 -0
  205. package/node_modules/@nklisch/pi-plugins/dist/composition/agent-orientation-facts.js +223 -0
  206. package/node_modules/@nklisch/pi-plugins/dist/composition/agent-orientation-facts.js.map +1 -0
  207. package/node_modules/@nklisch/pi-plugins/dist/composition/automatic-update-lifecycle-adapter.js +12 -18
  208. package/node_modules/@nklisch/pi-plugins/dist/composition/automatic-update-lifecycle-adapter.js.map +1 -1
  209. package/node_modules/@nklisch/pi-plugins/dist/composition/background-update-coordinator.d.ts +3 -0
  210. package/node_modules/@nklisch/pi-plugins/dist/composition/background-update-coordinator.js +22 -3
  211. package/node_modules/@nklisch/pi-plugins/dist/composition/background-update-coordinator.js.map +1 -1
  212. package/node_modules/@nklisch/pi-plugins/dist/composition/complete-plugin-reload.d.ts +3 -7
  213. package/node_modules/@nklisch/pi-plugins/dist/composition/complete-plugin-reload.js +64 -153
  214. package/node_modules/@nklisch/pi-plugins/dist/composition/complete-plugin-reload.js.map +1 -1
  215. package/node_modules/@nklisch/pi-plugins/dist/composition/create-marketplace-discovery-services.d.ts +2 -3
  216. package/node_modules/@nklisch/pi-plugins/dist/composition/create-marketplace-discovery-services.js.map +1 -1
  217. package/node_modules/@nklisch/pi-plugins/dist/composition/create-mcp-runtime.d.ts +3 -7
  218. package/node_modules/@nklisch/pi-plugins/dist/composition/create-mcp-runtime.js +4 -8
  219. package/node_modules/@nklisch/pi-plugins/dist/composition/create-mcp-runtime.js.map +1 -1
  220. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-inspection-service.d.ts +2 -2
  221. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-inspection-service.js +1 -1
  222. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-inspection-service.js.map +1 -1
  223. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-lifecycle-operation-service.d.ts +2 -5
  224. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-lifecycle-operation-service.js +70 -1
  225. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-lifecycle-operation-service.js.map +1 -1
  226. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.d.ts +1 -2
  227. package/node_modules/@nklisch/pi-plugins/dist/composition/create-native-update-management-service.js.map +1 -1
  228. package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.d.ts +12 -1
  229. package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.js +177 -66
  230. package/node_modules/@nklisch/pi-plugins/dist/composition/create-packaged-plugin-host.js.map +1 -1
  231. package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.d.ts +2 -4
  232. package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.js +24 -43
  233. package/node_modules/@nklisch/pi-plugins/dist/composition/create-skill-hook-runtime.js.map +1 -1
  234. package/node_modules/@nklisch/pi-plugins/dist/composition/create-trusted-installation-service.d.ts +1 -2
  235. package/node_modules/@nklisch/pi-plugins/dist/composition/create-trusted-installation-service.js.map +1 -1
  236. package/node_modules/@nklisch/pi-plugins/dist/composition/host-status-service.d.ts +1 -1
  237. package/node_modules/@nklisch/pi-plugins/dist/composition/host-status-service.js +4 -4
  238. package/node_modules/@nklisch/pi-plugins/dist/composition/host-status-service.js.map +1 -1
  239. package/node_modules/@nklisch/pi-plugins/dist/composition/native-inspection-evidence.d.ts +3 -3
  240. package/node_modules/@nklisch/pi-plugins/dist/composition/native-inspection-evidence.js +6 -6
  241. package/node_modules/@nklisch/pi-plugins/dist/composition/native-inspection-evidence.js.map +1 -1
  242. package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-host-startup.d.ts +1 -1
  243. package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-host-startup.js +4 -5
  244. package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-host-startup.js.map +1 -1
  245. package/node_modules/@nklisch/pi-plugins/dist/composition/packaged-plugin-host-contract.d.ts +5 -0
  246. package/node_modules/@nklisch/pi-plugins/dist/composition/plugin-host-paths.d.ts +1 -0
  247. package/node_modules/@nklisch/pi-plugins/dist/composition/plugin-host-paths.js +6 -0
  248. package/node_modules/@nklisch/pi-plugins/dist/composition/plugin-host-paths.js.map +1 -1
  249. package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-desired-state.d.ts +15 -0
  250. package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-desired-state.js +228 -154
  251. package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-desired-state.js.map +1 -1
  252. package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-participant-qualification.d.ts +6 -0
  253. package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-participant-qualification.js +13 -3
  254. package/node_modules/@nklisch/pi-plugins/dist/composition/runtime-participant-qualification.js.map +1 -1
  255. package/node_modules/@nklisch/pi-plugins/dist/domain/compatibility-policy.d.ts +0 -4
  256. package/node_modules/@nklisch/pi-plugins/dist/domain/compatibility.d.ts +0 -6
  257. package/node_modules/@nklisch/pi-plugins/dist/domain/error-contract.d.ts +0 -6
  258. package/node_modules/@nklisch/pi-plugins/dist/domain/error-contract.js +0 -2
  259. package/node_modules/@nklisch/pi-plugins/dist/domain/error-contract.js.map +1 -1
  260. package/node_modules/@nklisch/pi-plugins/dist/domain/errors.d.ts +0 -6
  261. package/node_modules/@nklisch/pi-plugins/dist/domain/marketplace.d.ts +0 -2
  262. package/node_modules/@nklisch/pi-plugins/dist/domain/state/config-state.d.ts +2 -6
  263. package/node_modules/@nklisch/pi-plugins/dist/domain/state/installed-state.d.ts +4 -4
  264. package/node_modules/@nklisch/pi-plugins/dist/domain/state/installed-state.js +5 -7
  265. package/node_modules/@nklisch/pi-plugins/dist/domain/state/installed-state.js.map +1 -1
  266. package/node_modules/@nklisch/pi-plugins/dist/domain/state/project-state.d.ts +2 -4
  267. package/node_modules/@nklisch/pi-plugins/dist/domain/state/references.d.ts +1 -8
  268. package/node_modules/@nklisch/pi-plugins/dist/domain/state/references.js +0 -9
  269. package/node_modules/@nklisch/pi-plugins/dist/domain/state/references.js.map +1 -1
  270. package/node_modules/@nklisch/pi-plugins/dist/domain/state/registry.d.ts +4 -8
  271. package/node_modules/@nklisch/pi-plugins/dist/domain/update-policy.d.ts +5 -13
  272. package/node_modules/@nklisch/pi-plugins/dist/domain/update-policy.js +2 -3
  273. package/node_modules/@nklisch/pi-plugins/dist/domain/update-policy.js.map +1 -1
  274. package/node_modules/@nklisch/pi-plugins/dist/index.d.ts +16 -38
  275. package/node_modules/@nklisch/pi-plugins/dist/index.js +8 -22
  276. package/node_modules/@nklisch/pi-plugins/dist/index.js.map +1 -1
  277. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/cleanup/pending-data-deletion.d.ts +8 -0
  278. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/cleanup/pending-data-deletion.js +112 -0
  279. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/cleanup/pending-data-deletion.js.map +1 -0
  280. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/artifact-gc.d.ts +17 -0
  281. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/artifact-gc.js +143 -0
  282. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/artifact-gc.js.map +1 -0
  283. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/create-node-convergence.d.ts +16 -0
  284. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/create-node-convergence.js +14 -0
  285. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/convergence/create-node-convergence.js.map +1 -0
  286. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/immutable-content-store.d.ts +0 -8
  287. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/immutable-content-store.js +1 -1
  288. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/immutable-content-store.js.map +1 -1
  289. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/staging-allocator.d.ts +0 -1
  290. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/staging-allocator.js +1 -24
  291. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/filesystem/staging-allocator.js.map +1 -1
  292. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/process/command-runner.d.ts +1 -0
  293. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/process/command-runner.js +19 -11
  294. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/process/command-runner.js.map +1 -1
  295. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/lifecycle-convergence-migration.d.ts +33 -0
  296. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/lifecycle-convergence-migration.js +416 -0
  297. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/lifecycle-convergence-migration.js.map +1 -0
  298. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-lifecycle-state-store.d.ts +10 -0
  299. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-lifecycle-state-store.js +31 -4
  300. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-lifecycle-state-store.js.map +1 -1
  301. package/node_modules/@nklisch/pi-plugins/dist/pi/agent-orientation-publisher.d.ts +17 -0
  302. package/node_modules/@nklisch/pi-plugins/dist/pi/agent-orientation-publisher.js +81 -0
  303. package/node_modules/@nklisch/pi-plugins/dist/pi/agent-orientation-publisher.js.map +1 -0
  304. package/node_modules/@nklisch/pi-plugins/dist/pi/extension.js +8 -3
  305. package/node_modules/@nklisch/pi-plugins/dist/pi/extension.js.map +1 -1
  306. package/node_modules/@nklisch/pi-plugins/dist/pi/hooks/pi-hook-decision-adapter.js +36 -7
  307. package/node_modules/@nklisch/pi-plugins/dist/pi/hooks/pi-hook-decision-adapter.js.map +1 -1
  308. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/pi-control-input.js +0 -2
  309. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/pi-control-input.js.map +1 -1
  310. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-install-component.js +9 -22
  311. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-install-component.js.map +1 -1
  312. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-install-flow.d.ts +2 -2
  313. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.d.ts +2 -2
  314. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.js +7 -7
  315. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-actions.js.map +1 -1
  316. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-component.js +14 -3
  317. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-component.js.map +1 -1
  318. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-controller.js +1 -1
  319. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-controller.js.map +1 -1
  320. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.d.ts +8 -0
  321. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.js +7 -0
  322. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-model.js.map +1 -1
  323. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-render.js +6 -1
  324. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-render.js.map +1 -1
  325. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-session.js +163 -75
  326. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-session.js.map +1 -1
  327. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-status.d.ts +1 -2
  328. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-status.js +1 -3
  329. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-manager-status.js.map +1 -1
  330. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-operation-view.js +2 -4
  331. package/node_modules/@nklisch/pi-plugins/dist/pi/manager/plugin-operation-view.js.map +1 -1
  332. package/node_modules/@nklisch/pi-plugins/dist/pi/native-control-human.js +5 -7
  333. package/node_modules/@nklisch/pi-plugins/dist/pi/native-control-human.js.map +1 -1
  334. package/node_modules/@nklisch/pi-plugins/dist/pi/pi-reload-broker.d.ts +6 -6
  335. package/node_modules/@nklisch/pi-plugins/dist/pi/pi-reload-broker.js +36 -6
  336. package/node_modules/@nklisch/pi-plugins/dist/pi/pi-reload-broker.js.map +1 -1
  337. package/node_modules/@nklisch/pi-plugins/dist/pi/plain-language.js +1 -0
  338. package/node_modules/@nklisch/pi-plugins/dist/pi/plain-language.js.map +1 -1
  339. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-command.js +1 -1
  340. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-command.js.map +1 -1
  341. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-manager-lifecycle.js +35 -8
  342. package/node_modules/@nklisch/pi-plugins/dist/pi/plugin-manager-lifecycle.js.map +1 -1
  343. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/lifecycle-participant.d.ts +0 -2
  344. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/mcp-runtime-binding-provider.d.ts +12 -0
  345. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/mcp-runtime-binding-provider.js +43 -0
  346. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/mcp-runtime-binding-provider.js.map +1 -0
  347. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.d.ts +12 -1
  348. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.js +27 -10
  349. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-package.js.map +1 -1
  350. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/pi-mcp-adapter-runtime.js +1 -1
  351. package/node_modules/@nklisch/pi-plugins/dist/runtime/subagents/pi-subagents-package.js +1 -1
  352. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/CHANGELOG.md +7 -0
  353. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/package.json +1 -1
  354. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/config/custom-agents.ts +22 -17
  355. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/debug.ts +18 -0
  356. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/child-lifecycle.ts +22 -4
  357. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/concurrency-limiter.ts +32 -8
  358. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/create-subagent-session.ts +8 -7
  359. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/lifecycle-interceptor.ts +25 -6
  360. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/run-listeners.ts +6 -2
  361. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/subagent-manager.ts +31 -16
  362. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/subagent-session.ts +70 -32
  363. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/subagent.ts +55 -50
  364. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/lifecycle/workspace-bracket.ts +6 -2
  365. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/observation/record-observer.ts +37 -34
  366. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/observation/subagent-events-observer.ts +15 -14
  367. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/tools/foreground-runner.ts +31 -26
  368. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/ui/agent-widget.ts +51 -26
  369. package/node_modules/@nklisch/pi-plugins/node_modules/@nklisch/pi-subagents/src/ui/session-navigator.ts +100 -46
  370. package/node_modules/@nklisch/pi-plugins/package.json +3 -3
  371. package/package.json +2 -2
  372. package/node_modules/@nklisch/pi-plugins/dist/application/generation-mutation-coordinator.d.ts +0 -79
  373. package/node_modules/@nklisch/pi-plugins/dist/application/generation-mutation-coordinator.js +0 -424
  374. package/node_modules/@nklisch/pi-plugins/dist/application/generation-mutation-coordinator.js.map +0 -1
  375. package/node_modules/@nklisch/pi-plugins/dist/application/keyed-mutation-scheduler.d.ts +0 -19
  376. package/node_modules/@nklisch/pi-plugins/dist/application/keyed-mutation-scheduler.js +0 -235
  377. package/node_modules/@nklisch/pi-plugins/dist/application/keyed-mutation-scheduler.js.map +0 -1
  378. package/node_modules/@nklisch/pi-plugins/dist/application/lifecycle-transition-reconciler.d.ts +0 -79
  379. package/node_modules/@nklisch/pi-plugins/dist/application/lifecycle-transition-reconciler.js +0 -236
  380. package/node_modules/@nklisch/pi-plugins/dist/application/lifecycle-transition-reconciler.js.map +0 -1
  381. package/node_modules/@nklisch/pi-plugins/dist/application/mutation-coordination.d.ts +0 -19
  382. package/node_modules/@nklisch/pi-plugins/dist/application/mutation-coordination.js +0 -12
  383. package/node_modules/@nklisch/pi-plugins/dist/application/mutation-coordination.js.map +0 -1
  384. package/node_modules/@nklisch/pi-plugins/dist/application/native-uninstall-cleanup.d.ts +0 -25
  385. package/node_modules/@nklisch/pi-plugins/dist/application/native-uninstall-cleanup.js +0 -39
  386. package/node_modules/@nklisch/pi-plugins/dist/application/native-uninstall-cleanup.js.map +0 -1
  387. package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-transition-store.d.ts +0 -5020
  388. package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-transition-store.js +0 -129
  389. package/node_modules/@nklisch/pi-plugins/dist/application/ports/lifecycle-transition-store.js.map +0 -1
  390. package/node_modules/@nklisch/pi-plugins/dist/application/ports/mutation-execution-context.d.ts +0 -9
  391. package/node_modules/@nklisch/pi-plugins/dist/application/ports/mutation-execution-context.js +0 -2
  392. package/node_modules/@nklisch/pi-plugins/dist/application/ports/mutation-execution-context.js.map +0 -1
  393. package/node_modules/@nklisch/pi-plugins/dist/application/ports/recovery-artifacts.d.ts +0 -29
  394. package/node_modules/@nklisch/pi-plugins/dist/application/ports/recovery-artifacts.js +0 -4
  395. package/node_modules/@nklisch/pi-plugins/dist/application/ports/recovery-artifacts.js.map +0 -1
  396. package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-lease-store.d.ts +0 -65
  397. package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-lease-store.js +0 -16
  398. package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-lease-store.js.map +0 -1
  399. package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-retention-store.d.ts +0 -43
  400. package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-retention-store.js +0 -12
  401. package/node_modules/@nklisch/pi-plugins/dist/application/ports/revision-retention-store.js.map +0 -1
  402. package/node_modules/@nklisch/pi-plugins/dist/application/ports/scope-lock.d.ts +0 -15
  403. package/node_modules/@nklisch/pi-plugins/dist/application/ports/scope-lock.js +0 -2
  404. package/node_modules/@nklisch/pi-plugins/dist/application/ports/scope-lock.js.map +0 -1
  405. package/node_modules/@nklisch/pi-plugins/dist/application/recovery-contract.d.ts +0 -1078
  406. package/node_modules/@nklisch/pi-plugins/dist/application/recovery-contract.js +0 -126
  407. package/node_modules/@nklisch/pi-plugins/dist/application/recovery-contract.js.map +0 -1
  408. package/node_modules/@nklisch/pi-plugins/dist/application/recovery-service.d.ts +0 -39
  409. package/node_modules/@nklisch/pi-plugins/dist/application/recovery-service.js +0 -170
  410. package/node_modules/@nklisch/pi-plugins/dist/application/recovery-service.js.map +0 -1
  411. package/node_modules/@nklisch/pi-plugins/dist/application/revision-collection-service.d.ts +0 -52
  412. package/node_modules/@nklisch/pi-plugins/dist/application/revision-collection-service.js +0 -228
  413. package/node_modules/@nklisch/pi-plugins/dist/application/revision-collection-service.js.map +0 -1
  414. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/create-node-recovery-adapters.d.ts +0 -23
  415. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/create-node-recovery-adapters.js +0 -82
  416. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/create-node-recovery-adapters.js.map +0 -1
  417. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.d.ts +0 -15
  418. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.js +0 -35
  419. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/local-recovery-filesystem.js.map +0 -1
  420. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/process-revision-leases.d.ts +0 -7
  421. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/process-revision-leases.js +0 -95
  422. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/process-revision-leases.js.map +0 -1
  423. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/recovery-artifact-scanner.d.ts +0 -3
  424. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/recovery-artifact-scanner.js +0 -83
  425. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/recovery-artifact-scanner.js.map +0 -1
  426. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/revision-artifact-store.d.ts +0 -3
  427. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/revision-artifact-store.js +0 -178
  428. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/revision-artifact-store.js.map +0 -1
  429. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-revision-retention.d.ts +0 -7
  430. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-revision-retention.js +0 -73
  431. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-revision-retention.js.map +0 -1
  432. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-transition-journal.d.ts +0 -28
  433. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-transition-journal.js +0 -445
  434. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/recovery/sqlite-transition-journal.js.map +0 -1
  435. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/keyed-mutation-scheduler.d.ts +0 -5
  436. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/keyed-mutation-scheduler.js +0 -17
  437. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/keyed-mutation-scheduler.js.map +0 -1
  438. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.d.ts +0 -15
  439. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.js +0 -292
  440. package/node_modules/@nklisch/pi-plugins/dist/infrastructure/state/sqlite-scope-lock.js.map +0 -1
  441. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/revision-lease-provider.d.ts +0 -18
  442. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/revision-lease-provider.js +0 -180
  443. package/node_modules/@nklisch/pi-plugins/dist/runtime/mcp/revision-lease-provider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"packaged-host-startup.js","sourceRoot":"","sources":["../../src/composition/packaged-host-startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA0B,MAAM,6CAA6C,CAAC;AAO9G,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CAAC,YAQxC;IACA,IAAI,OAA+C,CAAC;IACpD,IAAI,MAAiC,CAAC;IAEtC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,CAAC,MAAmB;YACvB,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC7D,sEAAsE;gBACtE,qEAAqE;gBACrE,iEAAiE;gBACjE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC;oBAC3C,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;oBACnD,OAAO;oBACP,YAAY;iBACb,CAAC,CAAC;gBACH,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7B,uEAAuE;gBACvE,mDAAmD;gBACnD,KAAK,YAAY,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC3D,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,KAAK;YACH,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE;gBACrB,MAAM,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;YACtC,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"packaged-host-startup.js","sourceRoot":"","sources":["../../src/composition/packaged-host-startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA0B,MAAM,6CAA6C,CAAC;AAO9G,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CAAC,YAQxC;IACA,IAAI,OAA+C,CAAC;IACpD,IAAI,MAAiC,CAAC;IAEtC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,CAAC,MAAmB;YACvB,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC7D,oEAAoE;gBACpE,qEAAqE;gBACrE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACrD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC;oBAC3C,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;oBACnD,OAAO;oBACP,YAAY;iBACb,CAAC,CAAC;gBACH,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7B,uEAAuE;gBACvE,mDAAmD;gBACnD,KAAK,YAAY,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC3D,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,KAAK;YACH,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE;gBACrB,MAAM,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;YACtC,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -26,6 +26,11 @@ export declare class PackagedPluginHostError extends Error {
26
26
  }
27
27
  export type PackagedPluginHostRuntimeParticipants = Readonly<{
28
28
  mcp?: McpRuntimePort;
29
+ /** Candidate failure is safe to display; native causes never cross this boundary. */
30
+ mcpUnavailable?: Readonly<{
31
+ code: string;
32
+ explanation: string;
33
+ }>;
29
34
  }>;
30
35
  export type PackagedPluginHostSourceOptions = Readonly<{
31
36
  fetch?: typeof globalThis.fetch;
@@ -4,6 +4,7 @@ export type PluginHostPathPlan = Readonly<{
4
4
  stateRoot: string;
5
5
  lockRoot: string;
6
6
  configurationRoot: string;
7
+ orientationBrief(scope: ScopeReference): string;
7
8
  stateDatabase(scope: ScopeReference): string;
8
9
  }>;
9
10
  /** Decode only the verified digest portion of a ProjectKey into a new path. */
@@ -31,6 +31,12 @@ export function createPluginHostPathPlan(agentDir) {
31
31
  stateRoot,
32
32
  lockRoot,
33
33
  configurationRoot,
34
+ orientationBrief(scopeInput) {
35
+ const scope = ScopeReferenceSchema.parse(scopeInput);
36
+ return scope.kind === "user"
37
+ ? join(hostRoot, "generated", "agent-brief.md")
38
+ : join(hostRoot, "generated", "projects", projectKeyDigest(scope.projectKey), "agent-brief.md");
39
+ },
34
40
  stateDatabase(scopeInput) {
35
41
  const scope = ScopeReferenceSchema.parse(scopeInput);
36
42
  return join(stateRoot, scope.kind === "user" ? "user.sqlite" : `project-${projectKeyDigest(scope.projectKey)}.sqlite`);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-host-paths.js","sourceRoot":"","sources":["../../src/composition/plugin-host-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAuB,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAE1G,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAUhD,SAAS,OAAO,CAAC,OAAe;IAC9B,MAAM,IAAI,uBAAuB,CAAC,2BAA2B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACzF,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,UAAmB;IAClD,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,GAAuB;QAC/B,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,iBAAiB;QACjB,aAAa,CAAC,UAAU;YACtB,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACrD,OAAO,IAAI,CACT,SAAS,EACT,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAC/F,CAAC;QACJ,CAAC;KACF,CAAC;IACF,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACpF,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"plugin-host-paths.js","sourceRoot":"","sources":["../../src/composition/plugin-host-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAuB,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAE1G,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAWhD,SAAS,OAAO,CAAC,OAAe;IAC9B,MAAM,IAAI,uBAAuB,CAAC,2BAA2B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACzF,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,UAAmB;IAClD,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,GAAuB;QAC/B,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,iBAAiB;QACjB,gBAAgB,CAAC,UAAU;YACzB,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM;gBAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACpG,CAAC;QACD,aAAa,CAAC,UAAU;YACtB,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACrD,OAAO,IAAI,CACT,SAAS,EACT,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAC/F,CAAC;QACJ,CAAC;KACF,CAAC;IACF,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACpF,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -7,14 +7,21 @@ import type { RuntimeProjectionCachePort } from "../application/runtime-projecti
7
7
  import type { InstalledPluginRecord } from "../domain/state/installed-state.js";
8
8
  import { type ScopeReference } from "../domain/state/scope.js";
9
9
  import type { Sha256 } from "../domain/source.js";
10
+ import type { ContentDigest } from "../domain/content-manifest.js";
10
11
  import type { PiProjectContextAdapters } from "../pi/pi-project-context.js";
11
12
  import type { SkillHookRuntimeSetRequest } from "../runtime/skill-hook/runtime-catalog.js";
12
13
  import type { McpLifecycleState } from "../runtime/mcp/lifecycle-participant.js";
13
14
  import type { RuntimeSelection } from "./runtime-selection-catalog.js";
15
+ /** Plugin-local runtime degradation. State remains authoritative; these fields
16
+ * describe only the revision selected for this session and the revision that
17
+ * actually supplied its runtime, if any. */
14
18
  export type HostBlockedPlugin = Readonly<{
15
19
  plugin: string;
20
+ scope?: ScopeReference;
16
21
  code: string;
17
22
  explanation: string;
23
+ selectedRevision?: ContentDigest;
24
+ runningRevision?: ContentDigest;
18
25
  }>;
19
26
  export type RuntimeDesiredStateOverride = Readonly<{
20
27
  scope: ScopeReference;
@@ -29,6 +36,8 @@ export type RuntimeDesiredState = Readonly<{
29
36
  from: McpLifecycleState;
30
37
  to: McpLifecycleState;
31
38
  }>[];
39
+ /** Degraded plugins are still exposed through `blocked` for U4 callers. */
40
+ degraded: readonly HostBlockedPlugin[];
32
41
  blocked: readonly HostBlockedPlugin[];
33
42
  }>;
34
43
  /** Rebuild exact desired runtime state from authority; caches are replaceable. */
@@ -38,8 +47,14 @@ export declare function buildRuntimeDesiredState(input: Readonly<{
38
47
  projections: RuntimeProjectionCachePort;
39
48
  project: PiProjectContextAdapters;
40
49
  mcp?: McpRuntimePort;
50
+ mcpUnavailable?: Readonly<{
51
+ code: string;
52
+ explanation: string;
53
+ }>;
41
54
  state: LifecycleStateStore;
42
55
  content?: Pick<ContentStorePort, "resolvePlugin" | "ensureDataRoot">;
43
56
  userBaseDirectory: string;
44
57
  sha256: Sha256;
58
+ /** False only when the one host-level subagent registration failed. */
59
+ subagentRegistrationAvailable?: boolean;
45
60
  }>, signal: AbortSignal, overrides?: readonly RuntimeDesiredStateOverride[]): Promise<RuntimeDesiredState>;
@@ -32,14 +32,6 @@ const unavailableMcpCapabilities = McpRuntimeCapabilitiesSchemaV1.parse({
32
32
  function selected(record) {
33
33
  return record.revisions.find((revision) => revision.revision === record.selectedRevision);
34
34
  }
35
- /** The committed candidate with the in-flight marker removed for runtime construction. */
36
- function stripPendingTransition(record) {
37
- // Authority records were schema-validated when read; only the marker is
38
- // removed, so re-parsing is redundant (and would fail records whose
39
- // revision evidence is genuinely unavailable).
40
- const { pendingTransition: _pendingTransition, ...rest } = record;
41
- return rest;
42
- }
43
35
  /** Rebuild exact desired runtime state from authority; caches are replaceable. */
44
36
  export async function buildRuntimeDesiredState(input, signal, overrides = []) {
45
37
  signal.throwIfAborted();
@@ -81,175 +73,257 @@ export async function buildRuntimeDesiredState(input, signal, overrides = []) {
81
73
  if (typeof input.userBaseDirectory !== "string" || input.userBaseDirectory.length === 0) {
82
74
  throw new TypeError("runtime desired state requires a user configuration base directory");
83
75
  }
84
- const blocked = [];
76
+ const degraded = [];
85
77
  const selections = [];
86
78
  let trustedProjectRoot;
87
79
  const skillHookActive = [];
88
80
  const mcpTransitions = [];
89
- const runtimeCapabilities = input.mcp === undefined
90
- ? unavailableMcpCapabilities
91
- : McpRuntimeCapabilitiesSchemaV1.parse(await input.mcp.capabilities(signal));
81
+ let runtimeCapabilities = unavailableMcpCapabilities;
82
+ let mcpCapabilitiesFailed = false;
83
+ if (input.mcp !== undefined) {
84
+ try {
85
+ runtimeCapabilities = McpRuntimeCapabilitiesSchemaV1.parse(await input.mcp.capabilities(signal));
86
+ }
87
+ catch (error) {
88
+ if (signal.aborted)
89
+ throw signal.reason;
90
+ // A broken optional MCP adapter must degrade only plugins that declare
91
+ // MCP. Skill- and hook-only plugins remain loadable in the same session.
92
+ mcpCapabilitiesFailed = true;
93
+ }
94
+ }
95
+ const subagentRegistrationAvailable = input.subagentRegistrationAvailable !== false;
96
+ class RuntimeLoadFailure extends Error {
97
+ failureCode;
98
+ constructor(failureCode, message) {
99
+ super(message);
100
+ this.name = "RuntimeLoadFailure";
101
+ this.failureCode = failureCode;
102
+ }
103
+ }
104
+ function failureCode(error) {
105
+ if (error instanceof RuntimeLoadFailure)
106
+ return error.failureCode;
107
+ if (typeof error === "object" && error !== null && "code" in error && typeof error.code === "string")
108
+ return error.code;
109
+ return "RUNTIME_RECONSTRUCTION_FAILED";
110
+ }
111
+ function sameJson(left, right) {
112
+ return JSON.stringify(left) === JSON.stringify(right);
113
+ }
114
+ function hasSubagentHooks(plugin) {
115
+ return plugin.components.hooks.some((hook) => hook.event.value === "SubagentStart" || hook.event.value === "SubagentStop");
116
+ }
117
+ function mcpRuntimeUnavailable() {
118
+ const reason = input.mcpUnavailable === undefined
119
+ ? "no qualified published MCP runtime is composed"
120
+ : `${input.mcpUnavailable.explanation} (${input.mcpUnavailable.code})`;
121
+ return new RuntimeLoadFailure("MCP_RUNTIME_UNAVAILABLE", `MCP runtime is unavailable: ${reason}`);
122
+ }
92
123
  for (const entry of effectiveRecords) {
93
124
  signal.throwIfAborted();
94
- // A pending transition is a committed candidate awaiting activation — a
95
- // deliberately staged update or an interrupted operation. Build the
96
- // runtime from the committed record without the marker so reconstruction
97
- // can activate it; the post-reconstruction recovery sweep settles the
98
- // journal with observations available, finalizing what runs and rolling
99
- // back what does not. Excluding pending records here stranded every
100
- // staged update: no observation, conservative rollback on every start.
101
- const record = entry.record.pendingTransition === undefined
102
- ? entry.record
103
- : stripPendingTransition(entry.record);
125
+ const record = entry.record;
104
126
  if (record.activation !== "enabled")
105
127
  continue;
106
- const revision = selected(record);
107
- if (revision === undefined) {
108
- blocked.push({ plugin: record.plugin, code: "REVISION_UNAVAILABLE", explanation: "selected installed revision is unavailable" });
109
- continue;
110
- }
111
- try {
112
- const loaded = await input.installed.load({ scope: entry.scope, revision }, signal);
113
- // Re-assess with the install-time marketplace policy (stored on the
114
- // descriptor) so an unchanged runtime reproduces the install-time
115
- // report and projection digest exactly, while live capability probing
116
- // still fails closed when the runtime drifts. Assessing without the
117
- // policy diverges from the install-time digest and strands installs in
118
- // recovery-required; using the stored report verbatim would freeze
119
- // install-time capability availability into activation.
120
- const compatibility = await input.compatibility.assess({
121
- plugin: loaded.plugin,
122
- ...(loaded.installationPolicy === undefined ? {} : { marketplacePolicy: loaded.installationPolicy }),
123
- }, signal);
124
- if (!compatibility.activatable) {
125
- blocked.push({ plugin: entry.record.plugin, code: "CAPABILITY_UNAVAILABLE", explanation: "current runtime capabilities do not support the complete plugin" });
126
- continue;
127
- }
128
- const scopeReference = toScopeReference(entry.scope);
129
- const expectation = createActiveProjectionExpectation(createPluginRuntimeProjection({
130
- scope: scopeReference,
131
- plugin: loaded.plugin,
132
- compatibility,
133
- revision,
134
- sha256: input.sha256,
135
- }), input.sha256);
136
- await input.projections.prepare(expectation, signal);
137
- const cached = await input.projections.read(expectation, signal);
138
- if (cached.kind !== "ready")
139
- throw new Error("runtime projection cache could not be rebuilt");
140
- const skillHook = Object.freeze({ prepared: cached.value, revision });
141
- const candidate = createTrustCandidate({
142
- scope: scopeReference,
143
- marketplaceSource: loaded.marketplaceSource,
144
- plugin: loaded.plugin,
145
- compatibility,
146
- content: loaded.content,
147
- materializationBinding: loaded.binding,
148
- }, input.sha256);
149
- const pathContext = entry.scope.kind === "project"
150
- ? Object.freeze({
151
- scope: entry.scope,
152
- trustedProjectRoot: trustedProjectRoot ??= await input.project.authority.acquire(signal),
153
- })
154
- : Object.freeze({ scope: entry.scope, trustedBaseDirectory: input.userBaseDirectory });
155
- const records = trustRecords !== undefined && "trust" in trustRecords ? trustRecords.trust.records : [];
156
- const roots = input.content === undefined ? undefined : await Promise.all([
157
- input.content.resolvePlugin(revision, signal, scopeReference),
158
- input.content.ensureDataRoot({ scope: scopeReference, plugin: entry.record.plugin, dataRef: revision.dataRef }, signal),
159
- ]);
160
- const contributionDigest = digestSkillHookContribution({
161
- scope: scopeReference,
162
- plugin: entry.record.plugin,
163
- revision: revision.revision,
164
- projectionDigest: expectation.projection.digest,
165
- skills: expectation.projection.components.skills,
166
- hooks: expectation.projection.components.hooks,
167
- }, input.sha256);
168
- const hooks = roots === undefined ? [] : expectation.projection.components.hooks.map((component, hookOrdinal) => ({
169
- binding: {
128
+ const selectedRevision = selected(record);
129
+ const previous = record.previousRevision === undefined
130
+ ? undefined
131
+ : record.revisions.find((revision) => revision.revision === record.previousRevision);
132
+ const candidates = [
133
+ ...(selectedRevision === undefined ? [] : [{ revision: selectedRevision, fallback: false }]),
134
+ ...(previous === undefined || previous.revision === selectedRevision?.revision ? [] : [{ revision: previous, fallback: true }]),
135
+ ];
136
+ let firstFailure = selectedRevision === undefined
137
+ ? Object.freeze({ code: "REVISION_UNAVAILABLE", explanation: "selected installed revision is unavailable" })
138
+ : undefined;
139
+ let runningRevision;
140
+ let loadedSelection;
141
+ let loadedSkillHook;
142
+ let loadedMcpTransition;
143
+ const declaresMcp = record.revisions.find((revision) => revision.revision === record.selectedRevision)
144
+ ?.evidence.components.some((component) => component.kind === "mcp-server") === true;
145
+ for (const candidateRevision of candidates) {
146
+ try {
147
+ const revision = candidateRevision.revision;
148
+ if (declaresMcp && input.mcp === undefined)
149
+ throw mcpRuntimeUnavailable();
150
+ if (mcpCapabilitiesFailed && revision.evidence.components.some((component) => component.kind === "mcp-server")) {
151
+ throw new RuntimeLoadFailure("MCP_RUNTIME_UNAVAILABLE", "MCP runtime capabilities could not be reconstructed");
152
+ }
153
+ const loaded = await input.installed.load({ scope: entry.scope, revision }, signal);
154
+ // Re-assess with the install-time marketplace policy (stored on the
155
+ // descriptor) so an unchanged runtime reproduces the install-time
156
+ // report and projection digest exactly, while live capability probing
157
+ // still fails closed when the runtime drifts. Assessing without the
158
+ // policy diverges from the install-time digest and marks plugins
159
+ // degraded; using the stored report verbatim would freeze
160
+ // install-time capability availability into activation.
161
+ const compatibility = await input.compatibility.assess({
162
+ plugin: loaded.plugin,
163
+ ...(loaded.installationPolicy === undefined ? {} : { marketplacePolicy: loaded.installationPolicy }),
164
+ }, signal);
165
+ if (!compatibility.activatable) {
166
+ throw new RuntimeLoadFailure("CAPABILITY_UNAVAILABLE", "current runtime capabilities do not support the complete plugin");
167
+ }
168
+ if (!subagentRegistrationAvailable && hasSubagentHooks(loaded.plugin)) {
169
+ throw new RuntimeLoadFailure("SUBAGENT_REGISTRATION_FAILED", "subagent hooks could not be registered for this session");
170
+ }
171
+ const scopeReference = toScopeReference(entry.scope);
172
+ const expectation = createActiveProjectionExpectation(createPluginRuntimeProjection({
173
+ scope: scopeReference,
174
+ plugin: loaded.plugin,
175
+ compatibility,
176
+ revision,
177
+ sha256: input.sha256,
178
+ }), input.sha256);
179
+ await input.projections.prepare(expectation, signal);
180
+ const cached = await input.projections.read(expectation, signal);
181
+ if (cached.kind !== "ready")
182
+ throw new RuntimeLoadFailure(cached.kind === "failed" ? cached.code : "RUNTIME_PROJECTION_CANCELLED", "runtime projection cache could not be rebuilt");
183
+ const skillHook = Object.freeze({ prepared: cached.value, revision });
184
+ const candidate = createTrustCandidate({
185
+ scope: scopeReference,
186
+ marketplaceSource: loaded.marketplaceSource,
187
+ plugin: loaded.plugin,
188
+ compatibility,
189
+ content: loaded.content,
190
+ materializationBinding: loaded.binding,
191
+ }, input.sha256);
192
+ const pathContext = entry.scope.kind === "project"
193
+ ? Object.freeze({
194
+ scope: entry.scope,
195
+ trustedProjectRoot: trustedProjectRoot ??= await input.project.authority.acquire(signal),
196
+ })
197
+ : Object.freeze({ scope: entry.scope, trustedBaseDirectory: input.userBaseDirectory });
198
+ const trust = trustRecords !== undefined && "trust" in trustRecords ? trustRecords.trust.records : [];
199
+ const roots = input.content === undefined ? undefined : await Promise.all([
200
+ input.content.resolvePlugin(revision, signal, scopeReference),
201
+ input.content.ensureDataRoot({ scope: scopeReference, plugin: entry.record.plugin, dataRef: revision.dataRef }, signal),
202
+ ]);
203
+ const contributionDigest = digestSkillHookContribution({
170
204
  scope: scopeReference,
171
205
  plugin: entry.record.plugin,
172
206
  revision: revision.revision,
173
207
  projectionDigest: expectation.projection.digest,
174
- contributionDigest,
175
- componentId: component.id,
176
- sourceOrder: { snapshotOrdinal: selections.length, hookOrdinal },
177
- },
178
- pluginRoot: roots[0].root,
179
- pluginDataRoot: roots[1].root,
180
- currentProject,
181
- candidate,
182
- trustRecords: records,
183
- configurationRef: revision.configurationRef,
184
- descriptors: loaded.plugin.configuration,
185
- pathContext,
186
- }));
187
- const mcpProjection = createPluginMcpProjection({
188
- projection: expectation.projection,
189
- compatibility,
190
- runtimeCapabilities,
191
- sha256: input.sha256,
192
- });
193
- const from = {
194
- kind: "inactive",
195
- expectation: createInactiveProjectionExpectation({ scope: scopeReference, plugin: entry.record.plugin, sha256: input.sha256 }),
196
- };
197
- const to = mcpProjection.kind === "none"
198
- ? { kind: "none", expectation, projection: mcpProjection }
199
- : { kind: "source", expectation, projection: mcpProjection, capabilities: runtimeCapabilities };
200
- mcpTransitions.push({ from, to });
201
- const mcp = mcpProjection.kind === "none" ? [] : Object.entries(mcpProjection.registration.source.servers).map(([serverKey, server]) => {
202
- const component = expectation.projection.components.mcpServers.find((candidate) => candidate.id === server.componentId);
203
- if (component === undefined)
204
- throw new Error("MCP projection component is unavailable");
205
- const binding = {
206
- schemaVersion: 1,
207
- source: mcpProjection.registration.source.identity,
208
- serverKey: serverKey,
209
- componentId: server.componentId,
210
- transport: server.transport,
211
- };
212
- return {
213
- binding,
214
- selection: {
215
- expectation,
216
- revision,
217
- component,
218
- currentProject,
219
- candidate,
220
- trustRecords: records,
221
- descriptors: loaded.plugin.configuration,
222
- pathContext,
208
+ skills: expectation.projection.components.skills,
209
+ hooks: expectation.projection.components.hooks,
210
+ }, input.sha256);
211
+ const hooks = roots === undefined ? [] : expectation.projection.components.hooks.map((component, hookOrdinal) => ({
212
+ binding: {
213
+ scope: scopeReference,
214
+ plugin: entry.record.plugin,
215
+ revision: revision.revision,
216
+ projectionDigest: expectation.projection.digest,
217
+ contributionDigest,
218
+ componentId: component.id,
219
+ sourceOrder: { snapshotOrdinal: selections.length, hookOrdinal },
223
220
  },
221
+ pluginRoot: roots[0].root,
222
+ pluginDataRoot: roots[1].root,
223
+ currentProject,
224
+ candidate,
225
+ trustRecords: trust,
226
+ configurationRef: revision.configurationRef,
227
+ descriptors: loaded.plugin.configuration,
228
+ pathContext,
229
+ }));
230
+ const mcpProjection = createPluginMcpProjection({
231
+ projection: expectation.projection,
232
+ compatibility,
233
+ runtimeCapabilities,
234
+ sha256: input.sha256,
235
+ });
236
+ if (mcpProjection.kind === "source" && input.mcp !== undefined) {
237
+ const validation = await input.mcp.validateSource(mcpProjection.registration, signal);
238
+ if (!validation.ok || !sameJson(validation.value, mcpProjection.registration)) {
239
+ throw new RuntimeLoadFailure("MCP_REGISTRATION_FAILED", "MCP source registration was rejected by the runtime");
240
+ }
241
+ }
242
+ const from = {
243
+ kind: "inactive",
244
+ expectation: createInactiveProjectionExpectation({ scope: scopeReference, plugin: entry.record.plugin, sha256: input.sha256 }),
224
245
  };
246
+ const to = mcpProjection.kind === "none"
247
+ ? { kind: "none", expectation, projection: mcpProjection }
248
+ : { kind: "source", expectation, projection: mcpProjection, capabilities: runtimeCapabilities };
249
+ const mcp = mcpProjection.kind === "none" ? [] : Object.entries(mcpProjection.registration.source.servers).map(([serverKey, server]) => {
250
+ const component = expectation.projection.components.mcpServers.find((candidate) => candidate.id === server.componentId);
251
+ if (component === undefined)
252
+ throw new RuntimeLoadFailure("MCP_PROJECTION_FAILED", "MCP projection component is unavailable");
253
+ return {
254
+ binding: {
255
+ schemaVersion: 1,
256
+ source: mcpProjection.registration.source.identity,
257
+ serverKey: serverKey,
258
+ componentId: server.componentId,
259
+ transport: server.transport,
260
+ },
261
+ selection: {
262
+ expectation,
263
+ revision,
264
+ component,
265
+ currentProject,
266
+ candidate,
267
+ trustRecords: trust,
268
+ descriptors: loaded.plugin.configuration,
269
+ pathContext,
270
+ },
271
+ };
272
+ });
273
+ loadedSkillHook = skillHook;
274
+ loadedMcpTransition = { from, to };
275
+ loadedSelection = Object.freeze({
276
+ scope: scopeReference,
277
+ plugin: entry.record.plugin,
278
+ revision,
279
+ compatibility,
280
+ skillHook,
281
+ hooks: Object.freeze(hooks),
282
+ mcp: Object.freeze(mcp),
283
+ });
284
+ runningRevision = candidateRevision.fallback ? revision.revision : undefined;
285
+ break;
286
+ }
287
+ catch (error) {
288
+ if (signal.aborted)
289
+ throw signal.reason;
290
+ const code = failureCode(error);
291
+ firstFailure ??= Object.freeze({ code, explanation: error instanceof RuntimeLoadFailure ? error.message : "installed plugin runtime evidence could not be reconstructed" });
292
+ }
293
+ }
294
+ if (loadedSelection === undefined || loadedSkillHook === undefined || loadedMcpTransition === undefined) {
295
+ const failure = firstFailure ?? Object.freeze({ code: "REVISION_UNAVAILABLE", explanation: "selected installed revision is unavailable" });
296
+ degraded.push({
297
+ plugin: record.plugin,
298
+ scope: toScopeReference(entry.scope),
299
+ code: failure.code,
300
+ explanation: failure.explanation,
301
+ selectedRevision: record.selectedRevision,
225
302
  });
226
- const selection = Object.freeze({
227
- scope: scopeReference,
228
- plugin: entry.record.plugin,
229
- revision,
230
- compatibility,
231
- skillHook,
232
- hooks: Object.freeze(hooks),
233
- mcp: Object.freeze(mcp),
234
- });
235
- selections.push(selection);
236
- skillHookActive.push(skillHook);
303
+ continue;
237
304
  }
238
- catch (error) {
239
- if (signal.aborted)
240
- throw signal.reason;
241
- const code = typeof error === "object" && error !== null && "code" in error && typeof error.code === "string"
242
- ? error.code
243
- : "RUNTIME_RECONSTRUCTION_FAILED";
244
- blocked.push({ plugin: entry.record.plugin, code, explanation: "installed plugin runtime evidence could not be reconstructed" });
305
+ selections.push(loadedSelection);
306
+ skillHookActive.push(loadedSkillHook);
307
+ mcpTransitions.push(loadedMcpTransition);
308
+ if (runningRevision !== undefined) {
309
+ degraded.push({
310
+ plugin: record.plugin,
311
+ scope: toScopeReference(entry.scope),
312
+ code: firstFailure?.code ?? "SELECTED_REVISION_UNAVAILABLE",
313
+ explanation: firstFailure?.explanation ?? "selected revision was unavailable; running the previous revision for this session",
314
+ selectedRevision: record.selectedRevision,
315
+ runningRevision,
316
+ });
245
317
  }
246
318
  }
319
+ const frozenDegraded = Object.freeze(degraded);
247
320
  return Object.freeze({
248
321
  currentProject,
249
322
  selections: Object.freeze(selections),
250
323
  skillHook: Object.freeze({ active: Object.freeze(skillHookActive), currentProject }),
251
324
  mcp: Object.freeze(mcpTransitions),
252
- blocked: Object.freeze(blocked),
325
+ degraded: frozenDegraded,
326
+ blocked: frozenDegraded,
253
327
  });
254
328
  }
255
329
  //# sourceMappingURL=runtime-desired-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-desired-state.js","sourceRoot":"","sources":["../../src/composition/runtime-desired-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-desired-state.js","sourceRoot":"","sources":["../../src/composition/runtime-desired-state.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ export declare const PACKAGED_HOST_PI_RANGE = ">=0.80.0 <1.0.0-0";
16
16
  export type RuntimeQualificationStatus = Readonly<{
17
17
  status: "available" | "unavailable";
18
18
  explanation: string;
19
+ /** Stable runtime-candidate code when an optional participant is absent. */
20
+ code?: string;
19
21
  }>;
20
22
  export type RuntimeParticipantQualification = Readonly<{
21
23
  nodeVersion: string;
@@ -41,6 +43,10 @@ export declare function qualifyRuntimeParticipants(input: Readonly<{
41
43
  nodeVersion: string;
42
44
  piVersion: string;
43
45
  mcp?: McpRuntimePort;
46
+ mcpUnavailable?: Readonly<{
47
+ code: string;
48
+ explanation: string;
49
+ }>;
44
50
  subagents?: SubagentLifecyclePort;
45
51
  signal: AbortSignal;
46
52
  }>): Promise<RuntimeParticipantQualification>;