lorenz 0.1.4 → 0.1.6

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 (249) hide show
  1. package/README.md +83 -20
  2. package/RELEASE-MANIFEST.json +6 -1
  3. package/node_modules/@lorenz/agent-sdk/dist/index.d.ts +1 -0
  4. package/node_modules/@lorenz/agent-sdk/dist/index.d.ts.map +1 -1
  5. package/node_modules/@lorenz/agent-sdk/dist/index.js +1 -0
  6. package/node_modules/@lorenz/agent-sdk/dist/index.js.map +1 -1
  7. package/node_modules/@lorenz/agent-sdk/dist/module.d.ts +38 -0
  8. package/node_modules/@lorenz/agent-sdk/dist/module.d.ts.map +1 -0
  9. package/node_modules/@lorenz/agent-sdk/dist/module.js +41 -0
  10. package/node_modules/@lorenz/agent-sdk/dist/module.js.map +1 -0
  11. package/node_modules/@lorenz/cli/dist/agentExecutorLoader.d.ts +30 -0
  12. package/node_modules/@lorenz/cli/dist/agentExecutorLoader.d.ts.map +1 -0
  13. package/node_modules/@lorenz/cli/dist/agentExecutorLoader.js +63 -0
  14. package/node_modules/@lorenz/cli/dist/agentExecutorLoader.js.map +1 -0
  15. package/node_modules/@lorenz/cli/dist/daemon.d.ts +42 -19
  16. package/node_modules/@lorenz/cli/dist/daemon.d.ts.map +1 -1
  17. package/node_modules/@lorenz/cli/dist/daemon.js +72 -23
  18. package/node_modules/@lorenz/cli/dist/daemon.js.map +1 -1
  19. package/node_modules/@lorenz/cli/dist/daemonLock.d.ts +59 -0
  20. package/node_modules/@lorenz/cli/dist/daemonLock.d.ts.map +1 -0
  21. package/node_modules/@lorenz/cli/dist/daemonLock.js +304 -0
  22. package/node_modules/@lorenz/cli/dist/daemonLock.js.map +1 -0
  23. package/node_modules/@lorenz/cli/dist/daemonStatus.d.ts +16 -0
  24. package/node_modules/@lorenz/cli/dist/daemonStatus.d.ts.map +1 -0
  25. package/node_modules/@lorenz/cli/dist/daemonStatus.js +21 -0
  26. package/node_modules/@lorenz/cli/dist/daemonStatus.js.map +1 -0
  27. package/node_modules/@lorenz/cli/dist/doctor.d.ts +6 -0
  28. package/node_modules/@lorenz/cli/dist/doctor.d.ts.map +1 -1
  29. package/node_modules/@lorenz/cli/dist/doctor.js +39 -2
  30. package/node_modules/@lorenz/cli/dist/doctor.js.map +1 -1
  31. package/node_modules/@lorenz/cli/dist/extensionLoader.d.ts +126 -0
  32. package/node_modules/@lorenz/cli/dist/extensionLoader.d.ts.map +1 -0
  33. package/node_modules/@lorenz/cli/dist/extensionLoader.js +187 -0
  34. package/node_modules/@lorenz/cli/dist/extensionLoader.js.map +1 -0
  35. package/node_modules/@lorenz/cli/dist/flags-manifest.d.ts +42 -0
  36. package/node_modules/@lorenz/cli/dist/flags-manifest.d.ts.map +1 -0
  37. package/node_modules/@lorenz/cli/dist/flags-manifest.js +67 -0
  38. package/node_modules/@lorenz/cli/dist/flags-manifest.js.map +1 -0
  39. package/node_modules/@lorenz/cli/dist/index.d.ts +6 -0
  40. package/node_modules/@lorenz/cli/dist/index.d.ts.map +1 -1
  41. package/node_modules/@lorenz/cli/dist/index.js +4 -0
  42. package/node_modules/@lorenz/cli/dist/index.js.map +1 -1
  43. package/node_modules/@lorenz/cli/dist/leadershipStore.d.ts +42 -0
  44. package/node_modules/@lorenz/cli/dist/leadershipStore.d.ts.map +1 -0
  45. package/node_modules/@lorenz/cli/dist/leadershipStore.js +2 -0
  46. package/node_modules/@lorenz/cli/dist/leadershipStore.js.map +1 -0
  47. package/node_modules/@lorenz/cli/dist/main.d.ts +11 -7
  48. package/node_modules/@lorenz/cli/dist/main.d.ts.map +1 -1
  49. package/node_modules/@lorenz/cli/dist/main.js +58 -8
  50. package/node_modules/@lorenz/cli/dist/main.js.map +1 -1
  51. package/node_modules/@lorenz/cli/dist/toolLoader.d.ts +28 -0
  52. package/node_modules/@lorenz/cli/dist/toolLoader.d.ts.map +1 -0
  53. package/node_modules/@lorenz/cli/dist/toolLoader.js +62 -0
  54. package/node_modules/@lorenz/cli/dist/toolLoader.js.map +1 -0
  55. package/node_modules/@lorenz/cli/dist/trackerLoader.d.ts +24 -0
  56. package/node_modules/@lorenz/cli/dist/trackerLoader.d.ts.map +1 -0
  57. package/node_modules/@lorenz/cli/dist/trackerLoader.js +34 -0
  58. package/node_modules/@lorenz/cli/dist/trackerLoader.js.map +1 -0
  59. package/node_modules/@lorenz/cli/dist/workerDriverLoader.d.ts +15 -55
  60. package/node_modules/@lorenz/cli/dist/workerDriverLoader.d.ts.map +1 -1
  61. package/node_modules/@lorenz/cli/dist/workerDriverLoader.js +26 -203
  62. package/node_modules/@lorenz/cli/dist/workerDriverLoader.js.map +1 -1
  63. package/node_modules/@lorenz/cli/package.json +1 -0
  64. package/node_modules/@lorenz/config/dist/index.d.ts +1 -1
  65. package/node_modules/@lorenz/config/dist/index.d.ts.map +1 -1
  66. package/node_modules/@lorenz/config/dist/index.js +1 -1
  67. package/node_modules/@lorenz/config/dist/index.js.map +1 -1
  68. package/node_modules/@lorenz/config/dist/parse.d.ts +17 -0
  69. package/node_modules/@lorenz/config/dist/parse.d.ts.map +1 -1
  70. package/node_modules/@lorenz/config/dist/parse.js +107 -11
  71. package/node_modules/@lorenz/config/dist/parse.js.map +1 -1
  72. package/node_modules/@lorenz/config/dist/schemas.d.ts +0 -2
  73. package/node_modules/@lorenz/config/dist/schemas.d.ts.map +1 -1
  74. package/node_modules/@lorenz/config/dist/schemas.js +5 -1
  75. package/node_modules/@lorenz/config/dist/schemas.js.map +1 -1
  76. package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.d.ts +55 -21
  77. package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.d.ts.map +1 -1
  78. package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.js +187 -82
  79. package/node_modules/@lorenz/dispatch-coordinator/dist/coordinator.js.map +1 -1
  80. package/node_modules/@lorenz/dispatch-coordinator/dist/gate.d.ts +6 -4
  81. package/node_modules/@lorenz/dispatch-coordinator/dist/gate.d.ts.map +1 -1
  82. package/node_modules/@lorenz/dispatch-coordinator/dist/gate.js +9 -6
  83. package/node_modules/@lorenz/dispatch-coordinator/dist/gate.js.map +1 -1
  84. package/node_modules/@lorenz/dispatch-coordinator/dist/index.d.ts +1 -1
  85. package/node_modules/@lorenz/dispatch-coordinator/dist/index.d.ts.map +1 -1
  86. package/node_modules/@lorenz/dispatch-coordinator/dist/index.js +5 -6
  87. package/node_modules/@lorenz/dispatch-coordinator/dist/index.js.map +1 -1
  88. package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.d.ts +7 -5
  89. package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.d.ts.map +1 -1
  90. package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.js +12 -10
  91. package/node_modules/@lorenz/dispatch-coordinator/dist/mcpEndpointManager.js.map +1 -1
  92. package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.d.ts +11 -10
  93. package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.d.ts.map +1 -1
  94. package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.js +15 -22
  95. package/node_modules/@lorenz/dispatch-coordinator/dist/nullEndpointManager.js.map +1 -1
  96. package/node_modules/@lorenz/dispatch-coordinator/dist/types.d.ts +16 -15
  97. package/node_modules/@lorenz/dispatch-coordinator/dist/types.d.ts.map +1 -1
  98. package/node_modules/@lorenz/dispatch-coordinator/dist/types.js +6 -7
  99. package/node_modules/@lorenz/dispatch-coordinator/dist/types.js.map +1 -1
  100. package/node_modules/@lorenz/domain/dist/index.d.ts +75 -9
  101. package/node_modules/@lorenz/domain/dist/index.d.ts.map +1 -1
  102. package/node_modules/@lorenz/domain/dist/index.js +40 -0
  103. package/node_modules/@lorenz/domain/dist/index.js.map +1 -1
  104. package/node_modules/@lorenz/flags/dist/coerce.d.ts +12 -0
  105. package/node_modules/@lorenz/flags/dist/coerce.d.ts.map +1 -0
  106. package/node_modules/@lorenz/flags/dist/coerce.js +44 -0
  107. package/node_modules/@lorenz/flags/dist/coerce.js.map +1 -0
  108. package/node_modules/@lorenz/flags/dist/default.d.ts +6 -0
  109. package/node_modules/@lorenz/flags/dist/default.d.ts.map +1 -0
  110. package/node_modules/@lorenz/flags/dist/default.js +22 -0
  111. package/node_modules/@lorenz/flags/dist/default.js.map +1 -0
  112. package/node_modules/@lorenz/flags/dist/deprecations.d.ts +20 -0
  113. package/node_modules/@lorenz/flags/dist/deprecations.d.ts.map +1 -0
  114. package/node_modules/@lorenz/flags/dist/deprecations.js +42 -0
  115. package/node_modules/@lorenz/flags/dist/deprecations.js.map +1 -0
  116. package/node_modules/@lorenz/flags/dist/env.d.ts +17 -0
  117. package/node_modules/@lorenz/flags/dist/env.d.ts.map +1 -0
  118. package/node_modules/@lorenz/flags/dist/env.js +90 -0
  119. package/node_modules/@lorenz/flags/dist/env.js.map +1 -0
  120. package/node_modules/@lorenz/flags/dist/errors.d.ts +22 -0
  121. package/node_modules/@lorenz/flags/dist/errors.d.ts.map +1 -0
  122. package/node_modules/@lorenz/flags/dist/errors.js +61 -0
  123. package/node_modules/@lorenz/flags/dist/errors.js.map +1 -0
  124. package/node_modules/@lorenz/flags/dist/index.d.ts +8 -0
  125. package/node_modules/@lorenz/flags/dist/index.d.ts.map +1 -0
  126. package/node_modules/@lorenz/flags/dist/index.js +11 -0
  127. package/node_modules/@lorenz/flags/dist/index.js.map +1 -0
  128. package/node_modules/@lorenz/flags/dist/keys.d.ts +6 -0
  129. package/node_modules/@lorenz/flags/dist/keys.d.ts.map +1 -0
  130. package/node_modules/@lorenz/flags/dist/keys.js +15 -0
  131. package/node_modules/@lorenz/flags/dist/keys.js.map +1 -0
  132. package/node_modules/@lorenz/flags/dist/layers.d.ts +14 -0
  133. package/node_modules/@lorenz/flags/dist/layers.d.ts.map +1 -0
  134. package/node_modules/@lorenz/flags/dist/layers.js +107 -0
  135. package/node_modules/@lorenz/flags/dist/layers.js.map +1 -0
  136. package/node_modules/@lorenz/flags/dist/manifest.d.ts +71 -0
  137. package/node_modules/@lorenz/flags/dist/manifest.d.ts.map +1 -0
  138. package/node_modules/@lorenz/flags/dist/manifest.js +137 -0
  139. package/node_modules/@lorenz/flags/dist/manifest.js.map +1 -0
  140. package/node_modules/@lorenz/flags/dist/resolve.d.ts +8 -0
  141. package/node_modules/@lorenz/flags/dist/resolve.d.ts.map +1 -0
  142. package/node_modules/@lorenz/flags/dist/resolve.js +178 -0
  143. package/node_modules/@lorenz/flags/dist/resolve.js.map +1 -0
  144. package/node_modules/@lorenz/flags/dist/testing.d.ts +19 -0
  145. package/node_modules/@lorenz/flags/dist/testing.d.ts.map +1 -0
  146. package/node_modules/@lorenz/flags/dist/testing.js +68 -0
  147. package/node_modules/@lorenz/flags/dist/testing.js.map +1 -0
  148. package/node_modules/@lorenz/flags/dist/types.d.ts +93 -0
  149. package/node_modules/@lorenz/flags/dist/types.d.ts.map +1 -0
  150. package/node_modules/@lorenz/flags/dist/types.js +2 -0
  151. package/node_modules/@lorenz/flags/dist/types.js.map +1 -0
  152. package/node_modules/@lorenz/flags/package.json +16 -0
  153. package/node_modules/@lorenz/mcp/dist/agentEndpoint.d.ts +16 -3
  154. package/node_modules/@lorenz/mcp/dist/agentEndpoint.d.ts.map +1 -1
  155. package/node_modules/@lorenz/mcp/dist/agentEndpoint.js +105 -17
  156. package/node_modules/@lorenz/mcp/dist/agentEndpoint.js.map +1 -1
  157. package/node_modules/@lorenz/mcp/dist/auth.d.ts +88 -0
  158. package/node_modules/@lorenz/mcp/dist/auth.d.ts.map +1 -1
  159. package/node_modules/@lorenz/mcp/dist/auth.js +53 -0
  160. package/node_modules/@lorenz/mcp/dist/auth.js.map +1 -1
  161. package/node_modules/@lorenz/mcp/dist/index.d.ts +3 -2
  162. package/node_modules/@lorenz/mcp/dist/index.d.ts.map +1 -1
  163. package/node_modules/@lorenz/mcp/dist/index.js +1 -1
  164. package/node_modules/@lorenz/mcp/dist/index.js.map +1 -1
  165. package/node_modules/@lorenz/mcp/dist/server.d.ts +22 -0
  166. package/node_modules/@lorenz/mcp/dist/server.d.ts.map +1 -1
  167. package/node_modules/@lorenz/mcp/dist/server.js +85 -12
  168. package/node_modules/@lorenz/mcp/dist/server.js.map +1 -1
  169. package/node_modules/@lorenz/orchestrator/dist/claimStore.d.ts +157 -0
  170. package/node_modules/@lorenz/orchestrator/dist/claimStore.d.ts.map +1 -0
  171. package/node_modules/@lorenz/orchestrator/dist/claimStore.js +621 -0
  172. package/node_modules/@lorenz/orchestrator/dist/claimStore.js.map +1 -0
  173. package/node_modules/@lorenz/orchestrator/dist/codec.d.ts +38 -0
  174. package/node_modules/@lorenz/orchestrator/dist/codec.d.ts.map +1 -0
  175. package/node_modules/@lorenz/orchestrator/dist/codec.js +176 -0
  176. package/node_modules/@lorenz/orchestrator/dist/codec.js.map +1 -0
  177. package/node_modules/@lorenz/orchestrator/dist/index.d.ts +55 -51
  178. package/node_modules/@lorenz/orchestrator/dist/index.d.ts.map +1 -1
  179. package/node_modules/@lorenz/orchestrator/dist/index.js +285 -45
  180. package/node_modules/@lorenz/orchestrator/dist/index.js.map +1 -1
  181. package/node_modules/@lorenz/orchestrator/dist/sqlite.d.ts +34 -0
  182. package/node_modules/@lorenz/orchestrator/dist/sqlite.d.ts.map +1 -0
  183. package/node_modules/@lorenz/orchestrator/dist/sqlite.js +142 -0
  184. package/node_modules/@lorenz/orchestrator/dist/sqlite.js.map +1 -0
  185. package/node_modules/@lorenz/orchestrator/dist/state.d.ts +47 -0
  186. package/node_modules/@lorenz/orchestrator/dist/state.d.ts.map +1 -0
  187. package/node_modules/@lorenz/orchestrator/dist/state.js +15 -0
  188. package/node_modules/@lorenz/orchestrator/dist/state.js.map +1 -0
  189. package/node_modules/@lorenz/orchestrator/dist/turso.d.ts +28 -0
  190. package/node_modules/@lorenz/orchestrator/dist/turso.d.ts.map +1 -0
  191. package/node_modules/@lorenz/orchestrator/dist/turso.js +125 -0
  192. package/node_modules/@lorenz/orchestrator/dist/turso.js.map +1 -0
  193. package/node_modules/@lorenz/orchestrator/package.json +6 -2
  194. package/node_modules/@lorenz/presenter/dist/index.d.ts +14 -0
  195. package/node_modules/@lorenz/presenter/dist/index.d.ts.map +1 -1
  196. package/node_modules/@lorenz/presenter/dist/index.js +18 -0
  197. package/node_modules/@lorenz/presenter/dist/index.js.map +1 -1
  198. package/node_modules/@lorenz/projections/dist/index.d.ts.map +1 -1
  199. package/node_modules/@lorenz/projections/dist/index.js +1 -0
  200. package/node_modules/@lorenz/projections/dist/index.js.map +1 -1
  201. package/node_modules/@lorenz/runtime/dist/index.d.ts +27 -8
  202. package/node_modules/@lorenz/runtime/dist/index.d.ts.map +1 -1
  203. package/node_modules/@lorenz/runtime/dist/index.js +422 -98
  204. package/node_modules/@lorenz/runtime/dist/index.js.map +1 -1
  205. package/node_modules/@lorenz/runtime-events/dist/index.d.ts +14 -0
  206. package/node_modules/@lorenz/runtime-events/dist/index.d.ts.map +1 -1
  207. package/node_modules/@lorenz/server/dist/index.js +1 -1
  208. package/node_modules/@lorenz/server/dist/index.js.map +1 -1
  209. package/node_modules/@lorenz/ssh/dist/index.d.ts +2 -0
  210. package/node_modules/@lorenz/ssh/dist/index.d.ts.map +1 -1
  211. package/node_modules/@lorenz/ssh/dist/index.js +2 -1
  212. package/node_modules/@lorenz/ssh/dist/index.js.map +1 -1
  213. package/node_modules/@lorenz/tool-sdk/dist/index.d.ts +1 -0
  214. package/node_modules/@lorenz/tool-sdk/dist/index.d.ts.map +1 -1
  215. package/node_modules/@lorenz/tool-sdk/dist/index.js +1 -0
  216. package/node_modules/@lorenz/tool-sdk/dist/index.js.map +1 -1
  217. package/node_modules/@lorenz/tool-sdk/dist/module.d.ts +38 -0
  218. package/node_modules/@lorenz/tool-sdk/dist/module.d.ts.map +1 -0
  219. package/node_modules/@lorenz/tool-sdk/dist/module.js +42 -0
  220. package/node_modules/@lorenz/tool-sdk/dist/module.js.map +1 -0
  221. package/node_modules/@lorenz/tracker-sdk/dist/index.d.ts +1 -0
  222. package/node_modules/@lorenz/tracker-sdk/dist/index.d.ts.map +1 -1
  223. package/node_modules/@lorenz/tracker-sdk/dist/index.js +1 -0
  224. package/node_modules/@lorenz/tracker-sdk/dist/index.js.map +1 -1
  225. package/node_modules/@lorenz/tracker-sdk/dist/module.d.ts +37 -0
  226. package/node_modules/@lorenz/tracker-sdk/dist/module.d.ts.map +1 -0
  227. package/node_modules/@lorenz/tracker-sdk/dist/module.js +38 -0
  228. package/node_modules/@lorenz/tracker-sdk/dist/module.js.map +1 -0
  229. package/node_modules/@lorenz/worker-host-pool/dist/index.d.ts +34 -6
  230. package/node_modules/@lorenz/worker-host-pool/dist/index.d.ts.map +1 -1
  231. package/node_modules/@lorenz/worker-host-pool/dist/index.js +110 -143
  232. package/node_modules/@lorenz/worker-host-pool/dist/index.js.map +1 -1
  233. package/node_modules/@lorenz/worker-sdk/dist/index.d.ts +1 -0
  234. package/node_modules/@lorenz/worker-sdk/dist/index.d.ts.map +1 -1
  235. package/node_modules/@lorenz/worker-sdk/dist/index.js +1 -0
  236. package/node_modules/@lorenz/worker-sdk/dist/index.js.map +1 -1
  237. package/node_modules/@lorenz/worker-sdk/dist/local.d.ts +74 -0
  238. package/node_modules/@lorenz/worker-sdk/dist/local.d.ts.map +1 -0
  239. package/node_modules/@lorenz/worker-sdk/dist/local.js +112 -0
  240. package/node_modules/@lorenz/worker-sdk/dist/local.js.map +1 -0
  241. package/node_modules/@lorenz/worker-sdk/dist/module.d.ts +8 -16
  242. package/node_modules/@lorenz/worker-sdk/dist/module.d.ts.map +1 -1
  243. package/node_modules/@lorenz/worker-sdk/dist/module.js +15 -35
  244. package/node_modules/@lorenz/worker-sdk/dist/module.js.map +1 -1
  245. package/node_modules/@lorenz/workflow/dist/index.d.ts +11 -0
  246. package/node_modules/@lorenz/workflow/dist/index.d.ts.map +1 -1
  247. package/node_modules/@lorenz/workflow/dist/index.js +3 -0
  248. package/node_modules/@lorenz/workflow/dist/index.js.map +1 -1
  249. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAoBzB,KAAK,iBAAiB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;CACxE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CACrC;AAeD,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,mBAAmB,CAAC,IAAI,SAAkB,GAAG,OAAO,CAWnE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAiBjE;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,sBAAsB,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,GAAE,sBAA2B,GACrC,oBAAoB,CAMtB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnE;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC,CA0CvB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ/D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAqBzB,KAAK,iBAAiB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;CACxE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CACrC;AAeD,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,mBAAmB,CAAC,IAAI,SAAkB,GAAG,OAAO,CAqBnE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAiBjE;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,sBAAsB,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,GAAE,sBAA2B,GACrC,oBAAoB,CAWtB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnE;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAgDvB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ/D"}
@@ -12,13 +12,16 @@ import { acpAgentOptions, isClaudeCompatibleBridgeCommand, resolveBridgeCommand,
12
12
  import { defaultToolRegistry } from "@lorenz/tool-sdk";
13
13
  import { defaultTrackerRegistry } from "@lorenz/tracker-sdk";
14
14
  import { registerBuiltinBackends, runtimeDefaultSettingsOptions } from "./daemon.js";
15
+ import { accumulateOption, resolveAppFlags } from "./flags-manifest.js";
15
16
  export function createDoctorCommand(name = "lorenz doctor") {
16
17
  return new Command(name)
17
18
  .description("Validate a Lorenz workflow and local runtime prerequisites.")
18
19
  .allowExcessArguments(false)
19
20
  .argument("[workflowPath]", "Workflow markdown file.")
20
21
  .option("--no-dashboard", "Skip dashboard static asset checks.")
21
- .option("--logs-root <path>", "Root directory for Lorenz logs.", parseRequiredValue("--logs-root", "path"));
22
+ .option("--logs-root <path>", "Root directory for Lorenz logs.", parseRequiredValue("--logs-root", "path"))
23
+ .option("--flag <key=value>", "Override an internal feature flag (repeatable).", accumulateOption)
24
+ .option("--feature <name|name=bool>", "Enable or disable an internal feature preset (repeatable).", accumulateOption);
22
25
  }
23
26
  export function parseDoctorArgs(args) {
24
27
  const command = configureCommandForParse(createDoctorCommand());
@@ -40,6 +43,11 @@ export function doctorOptionsFromCommanderOptions(parsed, workflowPath, inherite
40
43
  workflowPath: workflowPath ?? null,
41
44
  dashboard: parsed.dashboard === false || inherited.dashboard === false ? false : true,
42
45
  logsRoot: parsed.logsRoot ?? inherited.logsRoot ?? null,
46
+ // Flag/feature tokens compose across the root and subcommand (unlike the scalar options above):
47
+ // inherited root tokens come first, then local ones, so both apply and a local token wins per
48
+ // key via the resolver's last-wins-within-a-layer rule.
49
+ flagTokens: [...(inherited.flag ?? []), ...(parsed.flag ?? [])],
50
+ featureTokens: [...(inherited.feature ?? []), ...(parsed.feature ?? [])],
43
51
  };
44
52
  }
45
53
  export async function runDoctorMain(args) {
@@ -63,6 +71,11 @@ export async function runDoctorCommand(options, context = {}) {
63
71
  return doctorReport(resolvedWorkflowPath, checks);
64
72
  let workflow;
65
73
  try {
74
+ // Doctor is a STATIC validator: it does not dynamic-import out-of-tree
75
+ // extensions (the daemon does that at startup). An out-of-tree `tracker.kind`
76
+ // module specifier surfaces through `dispatch_config` as an unsupported kind,
77
+ // listing the registered kinds - the same fail-loud surface as any unknown
78
+ // kind - without running arbitrary extension code in the doctor process.
66
79
  workflow = await loadWorkflow(resolvedWorkflowPath, env, {
67
80
  ...runtimeDefaultSettingsOptions(),
68
81
  cwd,
@@ -87,6 +100,7 @@ export async function runDoctorCommand(options, context = {}) {
87
100
  }
88
101
  applyDoctorOverrides(workflow.settings, options);
89
102
  checks.push(...checkConfigDeprecations(workflow.config));
103
+ checks.push(checkFlags(workflow.config, options, env));
90
104
  checks.push(checkDispatchConfig(workflow.settings));
91
105
  checks.push(await checkDashboardAssets(workflow.settings, options.dashboard));
92
106
  checks.push(await checkLogPath(workflow.settings.logging.logFile));
@@ -152,6 +166,29 @@ function checkConfigDeprecations(rawConfig) {
152
166
  details: { key: dep.configPath, replacement: dep.replacement },
153
167
  }));
154
168
  }
169
+ function checkFlags(config, options, env) {
170
+ try {
171
+ const flags = resolveAppFlags({ flagTokens: options.flagTokens, featureTokens: options.featureTokens }, config, env, { warn: () => { } });
172
+ const details = {};
173
+ for (const [key, value] of Object.entries(flags.values)) {
174
+ details[key] =
175
+ `${JSON.stringify(value)} (${flags.source(key)})`;
176
+ }
177
+ return {
178
+ id: "flags",
179
+ status: "ok",
180
+ message: "Internal feature flags resolve with the active layers.",
181
+ details,
182
+ };
183
+ }
184
+ catch (error) {
185
+ return {
186
+ id: "flags",
187
+ status: "error",
188
+ message: `Internal feature flags failed to resolve: ${errorMessage(error)}`,
189
+ };
190
+ }
191
+ }
155
192
  function checkDispatchConfig(settings) {
156
193
  try {
157
194
  validateDispatchConfig(settings, defaultTrackerRegistry, defaultAgentExecutorRegistry, defaultToolRegistry);
@@ -591,7 +628,7 @@ function defaultDashboardStaticDir() {
591
628
  return path.dirname(require.resolve("@lorenz/dashboard/dist/index.html"));
592
629
  }
593
630
  catch {
594
- return path.resolve(import.meta.dirname, "../../lorenz-dashboard/dist");
631
+ return path.resolve(import.meta.dirname, "../../web/dist");
595
632
  }
596
633
  }
597
634
  function applyDoctorOverrides(settings, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Axis-generic out-of-tree extension loading. Each of lorenz's extension axes -
3
+ * trackers, tools, agent-executors, worker-drivers - registers its BUILT-INS
4
+ * through a static `registerBuiltinBackends()` trust boundary. This is the other
5
+ * half: an operator names a MODULE SPECIFIER (an npm package name, `@scope/name`,
6
+ * `./relative` or `/absolute` path, with an optional `#exportName` suffix) in
7
+ * config, and the daemon dynamic-imports that module at startup (and on a reload
8
+ * that changes the specifier) and registers it into the axis registry under the
9
+ * EXACT configured string, so the existing registry resolution needs no changes
10
+ * and third parties ship extensions without forking the repo. Built-ins never
11
+ * flow through here.
12
+ *
13
+ * Trust: a dynamic import runs arbitrary code in the daemon process - the same
14
+ * trust boundary as workspace hooks. Loads happen ONLY at startup/reload, never
15
+ * on an acquire/hot path, and the `<axis>_loaded` audit event records exactly
16
+ * which code went live from where.
17
+ *
18
+ * Module pinning: Node's ESM cache loads a given specifier's code once per
19
+ * daemon lifetime. Changing extension CODE requires a daemon restart; changing
20
+ * the CONFIG to a different specifier hot-loads the new module. A reload that
21
+ * re-encounters an already-loaded specifier emits the `<axis>_module_pinned`
22
+ * event so the pin is observable, and cache-busting query strings are rejected
23
+ * (unbounded module-graph growth, half-initialized module hazards).
24
+ */
25
+ /** The minimal registry surface the loader needs, shared by all four axes. */
26
+ export interface ExtensionRegistry<TFactory> {
27
+ /** The factory registered for a kind, or undefined when none is. */
28
+ get(kind: string | undefined): TFactory | undefined;
29
+ /** Register a factory; the loader always registers under the configured string. */
30
+ register(factory: TFactory): void;
31
+ /** Registered kinds, used for the did-you-mean hint on a bare-specifier miss. */
32
+ kinds(): string[];
33
+ }
34
+ /** The per-axis configuration that turns the generic core into a concrete loader. */
35
+ export interface ExtensionAxis<TFactory, TModule> {
36
+ /**
37
+ * Error-code prefix for this axis (e.g. `"worker_pool_driver"`). All thrown
38
+ * errors and the resolution diagnostics are namespaced under it.
39
+ */
40
+ readonly errorPrefix: string;
41
+ /** Audit event names emitted on a fresh load vs a re-encountered pin. */
42
+ readonly eventNames: {
43
+ loaded: string;
44
+ pinned: string;
45
+ };
46
+ /**
47
+ * The authoring-sugar helper name an out-of-tree module exports through (e.g.
48
+ * `"defineWorkerDriver"`), named in the no-default-export error so the author
49
+ * knows the expected shape.
50
+ */
51
+ readonly defineHelperName: string;
52
+ /**
53
+ * The noun for this axis's units (e.g. `"worker drivers"`), used in the
54
+ * empty-registry resolution hint (`no <noun> registered`) and the
55
+ * cache-busting-query advice (`restart the daemon to pick up <noun> code
56
+ * changes`).
57
+ */
58
+ readonly unitNoun: string;
59
+ /**
60
+ * Shape-asserts the unwrapped candidate is a valid module for this axis and
61
+ * runs the sdkVersion handshake, throwing loud on a mismatch. `source` names
62
+ * where the value came from so every error is actionable.
63
+ */
64
+ assertModule(value: unknown, source: string): asserts value is TModule;
65
+ /**
66
+ * Whether the unwrapped value structurally looks like a module of this axis,
67
+ * used by {@link selectExport} to disambiguate the transpiled-CJS double-default
68
+ * shape and the CJS-hoisted-exports shape (e.g. by testing for a `create`
69
+ * function).
70
+ */
71
+ looksLikeModule(value: unknown): boolean;
72
+ /**
73
+ * The registry factory to register under the configured specifier string. The
74
+ * factory's kind IS the specifier (the registry resolves the configured value
75
+ * verbatim), delegating to the loaded module.
76
+ */
77
+ toFactory(specifier: string, module: TModule): TFactory;
78
+ /** The audit fields describing a loaded module (its self-declared kind/version). */
79
+ describeModule(module: TModule): {
80
+ kind: string;
81
+ sdkVersion: number;
82
+ };
83
+ }
84
+ /** A parsed configured extension value that is not a registered kind. */
85
+ export interface ExtensionRef {
86
+ /** The module specifier with any `#exportName` suffix removed. */
87
+ specifier: string;
88
+ /** The named export selected by a `#name` suffix; undefined means default. */
89
+ exportName?: string | undefined;
90
+ }
91
+ /** Options for {@link ExtensionLoader.ensureLoaded}. */
92
+ export interface EnsureExtensionLoadedOptions {
93
+ /** Anchor for `./relative` specifiers; the daemon passes a workflow-derived dir. */
94
+ baseDir?: string | undefined;
95
+ /** Structured-event sink for the loaded/pinned audit events. */
96
+ logEvent?: ((event: Record<string, unknown>) => void) | undefined;
97
+ }
98
+ /** The public surface of an axis loader instance. */
99
+ export interface ExtensionLoader<TFactory> {
100
+ /**
101
+ * Parses a configured value into its module-specifier form. Resolution rule
102
+ * (the single authority for the one-field-two-grammars overload): an EXACT
103
+ * registered kind always wins - {@link ExtensionLoader.ensureLoaded} checks
104
+ * the registry BEFORE calling this, so a published npm package can never
105
+ * shadow a built-in. A `#name` suffix selects a named export; everything else
106
+ * is the specifier itself.
107
+ */
108
+ parseRef(value: string): ExtensionRef;
109
+ /**
110
+ * Idempotently makes the configured extension resolvable in `registry`. A
111
+ * registry hit (a built-in kind, an extension, or a specifier a previous call
112
+ * already loaded) is a no-op - except that a re-encountered loader-registered
113
+ * specifier emits the `<axis>_module_pinned` event so the code-is-pinned
114
+ * semantic is observable on reload. A miss parses the value as a module
115
+ * reference, dynamic-imports it, and registers a factory whose kind IS the
116
+ * configured string, emitting the `<axis>_loaded` event.
117
+ */
118
+ ensureLoaded(value: string, registry: ExtensionRegistry<TFactory>, options?: EnsureExtensionLoadedOptions): Promise<void>;
119
+ }
120
+ /**
121
+ * Builds an axis loader from {@link ExtensionAxis}. The returned instance is the
122
+ * single entrypoint per axis (lorenz has one registration mode, so one
123
+ * `ensureLoaded` suffices - no setup/metadata/discovery fan-out).
124
+ */
125
+ export declare function createExtensionLoader<TFactory, TModule>(axis: ExtensionAxis<TFactory, TModule>): ExtensionLoader<TFactory>;
126
+ //# sourceMappingURL=extensionLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionLoader.d.ts","sourceRoot":"","sources":["../src/extensionLoader.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB,CAAC,QAAQ;IACzC,oEAAoE;IACpE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClC,iFAAiF;IACjF,KAAK,IAAI,MAAM,EAAE,CAAC;CACnB;AAED,qFAAqF;AACrF,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,OAAO;IAC9C;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;IACvE;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACzC;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxD,oFAAoF;IACpF,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,4BAA4B;IAC3C,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACnE;AAED,qDAAqD;AACrD,MAAM,WAAW,eAAe,CAAC,QAAQ;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC;;;;;;;;OAQG;IACH,YAAY,CACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACrC,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAkBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EACrD,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,GACrC,eAAe,CAAC,QAAQ,CAAC,CAmL3B"}
@@ -0,0 +1,187 @@
1
+ import path from "node:path";
2
+ import { pathToFileURL } from "node:url";
3
+ import { errorMessage, isRecord } from "@lorenz/domain";
4
+ /** Whether a specifier is a filesystem path (vs a bare npm package name). */
5
+ function isPathSpecifier(specifier) {
6
+ return (specifier.startsWith("./") ||
7
+ specifier.startsWith("../") ||
8
+ path.isAbsolute(specifier) ||
9
+ specifier.startsWith("file:"));
10
+ }
11
+ /**
12
+ * Builds an axis loader from {@link ExtensionAxis}. The returned instance is the
13
+ * single entrypoint per axis (lorenz has one registration mode, so one
14
+ * `ensureLoaded` suffices - no setup/metadata/discovery fan-out).
15
+ */
16
+ export function createExtensionLoader(axis) {
17
+ /**
18
+ * Specifiers THIS loader registered, per registry. Distinguishes a reload that
19
+ * re-encounters an already-loaded specifier (emit the module-pinned event)
20
+ * from an ordinary built-in/extension hit (silent no-op).
21
+ */
22
+ const loadedSpecifiers = new WeakMap();
23
+ function parseRef(value) {
24
+ const hashIndex = value.lastIndexOf("#");
25
+ const specifier = hashIndex === -1 ? value : value.slice(0, hashIndex);
26
+ const exportName = hashIndex === -1 ? undefined : value.slice(hashIndex + 1);
27
+ if (specifier === "") {
28
+ throw new Error(`${axis.errorPrefix}_invalid_specifier: ${value} has an empty module specifier`);
29
+ }
30
+ if (exportName === "") {
31
+ throw new Error(`${axis.errorPrefix}_invalid_specifier: ${value} has an empty #exportName suffix`);
32
+ }
33
+ if (specifier.includes("?")) {
34
+ throw new Error(`${axis.errorPrefix}_invalid_specifier: ${specifier} - cache-busting query strings are not ` +
35
+ `supported (module code is pinned for the daemon lifetime; restart the daemon to pick ` +
36
+ `up ${axis.unitNoun} code changes)`);
37
+ }
38
+ return { specifier, exportName };
39
+ }
40
+ /**
41
+ * Unwraps the module from the imported namespace: the selected named export
42
+ * (falling back through a transpiled-CJS `default` object), or the default
43
+ * export including the `default.default` shape some transpilers emit.
44
+ */
45
+ function selectExport(namespace, exportName) {
46
+ if (exportName !== undefined) {
47
+ const named = namespace[exportName];
48
+ if (named !== undefined)
49
+ return named;
50
+ const viaDefault = namespace["default"];
51
+ if (isRecord(viaDefault)) {
52
+ return viaDefault[exportName];
53
+ }
54
+ return undefined;
55
+ }
56
+ let candidate = namespace["default"];
57
+ if (candidate === undefined) {
58
+ // A CJS module's exports are hoisted onto the namespace itself; accept the
59
+ // namespace only when it already looks like a module, so an ESM module
60
+ // that simply lacks a default export gets the no-default error.
61
+ return axis.looksLikeModule(namespace) ? namespace : undefined;
62
+ }
63
+ // Transpiled-CJS double default: `module.exports = { default: <module> }`
64
+ // imported as `{ default: { default: <module> } }`. A real module looks
65
+ // like a module, so only unwrap when the outer layer does not.
66
+ if (isRecord(candidate) && "default" in candidate && !axis.looksLikeModule(candidate)) {
67
+ candidate = candidate["default"];
68
+ }
69
+ return candidate;
70
+ }
71
+ /** Builds the actionable error for a failed module import. */
72
+ function moduleResolutionError(specifier, resolvedFrom, cause, knownKinds) {
73
+ const message = errorMessage(cause);
74
+ if (isPathSpecifier(specifier)) {
75
+ return new Error(`${axis.errorPrefix}_unavailable: ${specifier} (failed to import ${resolvedFrom}: ${message})`);
76
+ }
77
+ const kinds = knownKinds.length > 0
78
+ ? ` (known kinds: ${[...knownKinds].sort().join(", ")})`
79
+ : ` (no ${axis.unitNoun} registered)`;
80
+ const close = closestKind(specifier, knownKinds);
81
+ const hint = close === undefined ? "" : ` - did you mean "${close}"?`;
82
+ return new Error(`${axis.errorPrefix}_unavailable: ${specifier} is not a registered kind and could not be ` +
83
+ `resolved as a module${kinds}${hint} [${message}]`);
84
+ }
85
+ /**
86
+ * Dynamic-imports a module and validates it. Relative and absolute paths
87
+ * resolve against `baseDir` via `pathToFileURL`; bare names resolve through
88
+ * the daemon's module graph. The imported namespace is unwrapped and passed
89
+ * through {@link ExtensionAxis.assertModule}, so a malformed module or an SDK
90
+ * version mismatch fails loud here - before any consumer exists.
91
+ */
92
+ async function loadModule(specifier, options) {
93
+ const { baseDir, exportName, knownKinds } = options;
94
+ const resolvedFrom = isPathSpecifier(specifier) && !specifier.startsWith("file:")
95
+ ? pathToFileURL(path.resolve(baseDir, specifier)).href
96
+ : specifier;
97
+ let namespace;
98
+ try {
99
+ namespace = (await import(resolvedFrom));
100
+ }
101
+ catch (error) {
102
+ throw moduleResolutionError(specifier, resolvedFrom, error, knownKinds ?? []);
103
+ }
104
+ const source = exportName === undefined ? specifier : `${specifier}#${exportName}`;
105
+ const candidate = selectExport(namespace, exportName);
106
+ if (candidate === undefined) {
107
+ const available = Object.keys(namespace)
108
+ .filter((key) => key !== "__esModule")
109
+ .sort();
110
+ throw new Error(exportName === undefined
111
+ ? `${axis.errorPrefix}_module_invalid: ${source} has no default export` +
112
+ (available.length > 0 ? ` (named exports: ${available.join(", ")})` : "") +
113
+ `; export ${axis.defineHelperName}(...) as the default export or select a named export with #name`
114
+ : `${axis.errorPrefix}_module_invalid: ${source} has no export named "${exportName}"` +
115
+ (available.length > 0 ? ` (available: ${available.join(", ")})` : ""));
116
+ }
117
+ axis.assertModule(candidate, source);
118
+ return { module: candidate, resolvedFrom };
119
+ }
120
+ async function ensureLoaded(value, registry, options = {}) {
121
+ const logEvent = options.logEvent ?? (() => { });
122
+ if (registry.get(value) !== undefined) {
123
+ if (loadedSpecifiers.get(registry)?.has(value)) {
124
+ logEvent({ event: axis.eventNames.pinned, specifier: value });
125
+ }
126
+ return;
127
+ }
128
+ const ref = parseRef(value);
129
+ const { module, resolvedFrom } = await loadModule(ref.specifier, {
130
+ baseDir: options.baseDir ?? process.cwd(),
131
+ exportName: ref.exportName,
132
+ knownKinds: registry.kinds(),
133
+ });
134
+ // Register under the EXACT configured string: the consumer resolves the
135
+ // configured value verbatim, so the factory's kind must be the specifier,
136
+ // not the module's self-declared kind (which is logged for the audit trail).
137
+ registry.register(axis.toFactory(value, module));
138
+ let loaded = loadedSpecifiers.get(registry);
139
+ if (loaded === undefined) {
140
+ loaded = new Set();
141
+ loadedSpecifiers.set(registry, loaded);
142
+ }
143
+ loaded.add(value);
144
+ const described = axis.describeModule(module);
145
+ logEvent({
146
+ event: axis.eventNames.loaded,
147
+ specifier: value,
148
+ kind: described.kind,
149
+ sdkVersion: described.sdkVersion,
150
+ resolvedFrom,
151
+ });
152
+ }
153
+ return { parseRef, ensureLoaded };
154
+ }
155
+ /**
156
+ * The registered kind within a small edit distance of a mistyped bare specifier,
157
+ * or undefined when nothing is close. Mitigates the typo detection a closed
158
+ * config enum used to provide.
159
+ */
160
+ function closestKind(specifier, kinds) {
161
+ let best;
162
+ for (const kind of kinds) {
163
+ const distance = editDistance(specifier.toLowerCase(), kind.toLowerCase());
164
+ if (distance <= 2 && (best === undefined || distance < best.distance)) {
165
+ best = { kind, distance };
166
+ }
167
+ }
168
+ return best?.kind;
169
+ }
170
+ /** Levenshtein distance (small inputs only: extension kinds and specifiers). */
171
+ function editDistance(a, b) {
172
+ if (a === b)
173
+ return 0;
174
+ const rows = a.length + 1;
175
+ const cols = b.length + 1;
176
+ let prev = Array.from({ length: cols }, (_, j) => j);
177
+ for (let i = 1; i < rows; i += 1) {
178
+ const current = [i, ...new Array(cols - 1).fill(0)];
179
+ for (let j = 1; j < cols; j += 1) {
180
+ const substitution = (prev[j - 1] ?? 0) + (a[i - 1] === b[j - 1] ? 0 : 1);
181
+ current[j] = Math.min((prev[j] ?? 0) + 1, (current[j - 1] ?? 0) + 1, substitution);
182
+ }
183
+ prev = current;
184
+ }
185
+ return prev[cols - 1] ?? Math.max(a.length, b.length);
186
+ }
187
+ //# sourceMappingURL=extensionLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionLoader.js","sourceRoot":"","sources":["../src/extensionLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { type FlagsSnapshot } from "@lorenz/flags";
2
+ declare const flags: {
3
+ readonly "diagnostics.log_flag_resolution": import("@lorenz/flags").FlagDef<import("zod").ZodType<boolean, string | boolean, import("zod/v4/core").$ZodTypeInternals<boolean, string | boolean>>>;
4
+ readonly "diagnostics.detail": {
5
+ kind: "enum";
6
+ schema: import("zod").ZodEnum<{
7
+ summary: "summary";
8
+ full: "full";
9
+ }>;
10
+ default: "summary" | "full";
11
+ description: string;
12
+ deprecation: import("@lorenz/flags").FlagDeprecation | undefined;
13
+ values: readonly ["summary", "full"];
14
+ envName: string | undefined;
15
+ };
16
+ readonly "diagnostics.sample_limit": import("@lorenz/flags").FlagDef<import("zod").ZodType<number, string | number, import("zod/v4/core").$ZodTypeInternals<number, string | number>>>;
17
+ };
18
+ declare const features: {
19
+ readonly verbose_diagnostics: import("@lorenz/flags").FeatureDef<{
20
+ readonly "diagnostics.log_flag_resolution": true;
21
+ readonly "diagnostics.detail": "full";
22
+ }>;
23
+ };
24
+ type AppFlags = typeof flags;
25
+ type AppFeatures = typeof features;
26
+ export type AppFlagsSnapshot = FlagsSnapshot<AppFlags, AppFeatures>;
27
+ /** Typed ambient accessor for the installed snapshot. Reads after `setDefaultFlags` at startup. */
28
+ export declare function getFlags(): AppFlagsSnapshot;
29
+ export interface FlagCliInputs {
30
+ readonly flagTokens?: readonly string[] | undefined;
31
+ readonly featureTokens?: readonly string[] | undefined;
32
+ }
33
+ /** Commander accumulator for repeatable options: collects raw tokens, does no validation. */
34
+ export declare function accumulateOption(value: string, previous?: string[]): string[];
35
+ /** Resolve the app's flags from the three layers. Does NOT install the snapshot; the caller does. */
36
+ export declare function resolveAppFlags(inputs: FlagCliInputs, fileConfig: Record<string, unknown>, env: NodeJS.ProcessEnv, options?: {
37
+ warn?: ((message: string) => void) | undefined;
38
+ }): AppFlagsSnapshot;
39
+ /** Render the resolved flag set with provenance for the startup dump and `lorenz doctor`. */
40
+ export declare function renderFlagDiagnostics(snapshot: AppFlagsSnapshot): string;
41
+ export {};
42
+ //# sourceMappingURL=flags-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flags-manifest.d.ts","sourceRoot":"","sources":["../src/flags-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAMvB,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;CAiBT,CAAC;AAEH,QAAA,MAAM,QAAQ;;;;;CAMZ,CAAC;AAOH,KAAK,QAAQ,GAAG,OAAO,KAAK,CAAC;AAC7B,KAAK,WAAW,GAAG,OAAO,QAAQ,CAAC;AACnC,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAMpE,mGAAmG;AACnG,wBAAgB,QAAQ,IAAI,gBAAgB,CAE3C;AAED,MAAM,WAAW,aAAa;IAG5B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACxD;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAEjF;AAED,qGAAqG;AACrG,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAAO,GAC/D,gBAAgB,CAUlB;AAED,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAqBxE"}