lorenz 0.1.5 → 0.1.7

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 (301) 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 +74 -28
  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 +38 -1
  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/jira-tracker/dist/index.d.ts +1 -0
  154. package/node_modules/@lorenz/jira-tracker/dist/index.d.ts.map +1 -1
  155. package/node_modules/@lorenz/jira-tracker/dist/index.js +1 -0
  156. package/node_modules/@lorenz/jira-tracker/dist/index.js.map +1 -1
  157. package/node_modules/@lorenz/jira-tracker/dist/provider.d.ts.map +1 -1
  158. package/node_modules/@lorenz/jira-tracker/dist/provider.js +3 -36
  159. package/node_modules/@lorenz/jira-tracker/dist/provider.js.map +1 -1
  160. package/node_modules/@lorenz/jira-tracker/dist/register.d.ts +5 -3
  161. package/node_modules/@lorenz/jira-tracker/dist/register.d.ts.map +1 -1
  162. package/node_modules/@lorenz/jira-tracker/dist/register.js +9 -3
  163. package/node_modules/@lorenz/jira-tracker/dist/register.js.map +1 -1
  164. package/node_modules/@lorenz/jira-tracker/dist/tools.d.ts +18 -0
  165. package/node_modules/@lorenz/jira-tracker/dist/tools.d.ts.map +1 -0
  166. package/node_modules/@lorenz/{tracker-sdk/dist/toolPack.js → jira-tracker/dist/tools.js} +76 -78
  167. package/node_modules/@lorenz/jira-tracker/dist/tools.js.map +1 -0
  168. package/node_modules/@lorenz/jira-tracker/package.json +1 -0
  169. package/node_modules/@lorenz/linear-tracker/dist/provider.d.ts.map +1 -1
  170. package/node_modules/@lorenz/linear-tracker/dist/provider.js +0 -2
  171. package/node_modules/@lorenz/linear-tracker/dist/provider.js.map +1 -1
  172. package/node_modules/@lorenz/local-tracker/dist/provider.d.ts.map +1 -1
  173. package/node_modules/@lorenz/local-tracker/dist/provider.js +0 -2
  174. package/node_modules/@lorenz/local-tracker/dist/provider.js.map +1 -1
  175. package/node_modules/@lorenz/mcp/dist/agentEndpoint.d.ts +16 -3
  176. package/node_modules/@lorenz/mcp/dist/agentEndpoint.d.ts.map +1 -1
  177. package/node_modules/@lorenz/mcp/dist/agentEndpoint.js +105 -17
  178. package/node_modules/@lorenz/mcp/dist/agentEndpoint.js.map +1 -1
  179. package/node_modules/@lorenz/mcp/dist/auth.d.ts +88 -0
  180. package/node_modules/@lorenz/mcp/dist/auth.d.ts.map +1 -1
  181. package/node_modules/@lorenz/mcp/dist/auth.js +53 -0
  182. package/node_modules/@lorenz/mcp/dist/auth.js.map +1 -1
  183. package/node_modules/@lorenz/mcp/dist/index.d.ts +3 -2
  184. package/node_modules/@lorenz/mcp/dist/index.d.ts.map +1 -1
  185. package/node_modules/@lorenz/mcp/dist/index.js +1 -1
  186. package/node_modules/@lorenz/mcp/dist/index.js.map +1 -1
  187. package/node_modules/@lorenz/mcp/dist/server.d.ts +22 -0
  188. package/node_modules/@lorenz/mcp/dist/server.d.ts.map +1 -1
  189. package/node_modules/@lorenz/mcp/dist/server.js +85 -12
  190. package/node_modules/@lorenz/mcp/dist/server.js.map +1 -1
  191. package/node_modules/@lorenz/mcp/dist/tools.d.ts.map +1 -1
  192. package/node_modules/@lorenz/mcp/dist/tools.js +5 -8
  193. package/node_modules/@lorenz/mcp/dist/tools.js.map +1 -1
  194. package/node_modules/@lorenz/orchestrator/dist/claimStore.d.ts +157 -0
  195. package/node_modules/@lorenz/orchestrator/dist/claimStore.d.ts.map +1 -0
  196. package/node_modules/@lorenz/orchestrator/dist/claimStore.js +621 -0
  197. package/node_modules/@lorenz/orchestrator/dist/claimStore.js.map +1 -0
  198. package/node_modules/@lorenz/orchestrator/dist/codec.d.ts +38 -0
  199. package/node_modules/@lorenz/orchestrator/dist/codec.d.ts.map +1 -0
  200. package/node_modules/@lorenz/orchestrator/dist/codec.js +176 -0
  201. package/node_modules/@lorenz/orchestrator/dist/codec.js.map +1 -0
  202. package/node_modules/@lorenz/orchestrator/dist/index.d.ts +55 -51
  203. package/node_modules/@lorenz/orchestrator/dist/index.d.ts.map +1 -1
  204. package/node_modules/@lorenz/orchestrator/dist/index.js +285 -45
  205. package/node_modules/@lorenz/orchestrator/dist/index.js.map +1 -1
  206. package/node_modules/@lorenz/orchestrator/dist/sqlite.d.ts +34 -0
  207. package/node_modules/@lorenz/orchestrator/dist/sqlite.d.ts.map +1 -0
  208. package/node_modules/@lorenz/orchestrator/dist/sqlite.js +142 -0
  209. package/node_modules/@lorenz/orchestrator/dist/sqlite.js.map +1 -0
  210. package/node_modules/@lorenz/orchestrator/dist/state.d.ts +47 -0
  211. package/node_modules/@lorenz/orchestrator/dist/state.d.ts.map +1 -0
  212. package/node_modules/@lorenz/orchestrator/dist/state.js +15 -0
  213. package/node_modules/@lorenz/orchestrator/dist/state.js.map +1 -0
  214. package/node_modules/@lorenz/orchestrator/dist/turso.d.ts +28 -0
  215. package/node_modules/@lorenz/orchestrator/dist/turso.d.ts.map +1 -0
  216. package/node_modules/@lorenz/orchestrator/dist/turso.js +125 -0
  217. package/node_modules/@lorenz/orchestrator/dist/turso.js.map +1 -0
  218. package/node_modules/@lorenz/orchestrator/package.json +6 -2
  219. package/node_modules/@lorenz/presenter/dist/index.d.ts +14 -0
  220. package/node_modules/@lorenz/presenter/dist/index.d.ts.map +1 -1
  221. package/node_modules/@lorenz/presenter/dist/index.js +18 -0
  222. package/node_modules/@lorenz/presenter/dist/index.js.map +1 -1
  223. package/node_modules/@lorenz/projections/dist/index.d.ts.map +1 -1
  224. package/node_modules/@lorenz/projections/dist/index.js +1 -0
  225. package/node_modules/@lorenz/projections/dist/index.js.map +1 -1
  226. package/node_modules/@lorenz/runtime/dist/index.d.ts +27 -8
  227. package/node_modules/@lorenz/runtime/dist/index.d.ts.map +1 -1
  228. package/node_modules/@lorenz/runtime/dist/index.js +422 -98
  229. package/node_modules/@lorenz/runtime/dist/index.js.map +1 -1
  230. package/node_modules/@lorenz/runtime-events/dist/index.d.ts +14 -0
  231. package/node_modules/@lorenz/runtime-events/dist/index.d.ts.map +1 -1
  232. package/node_modules/@lorenz/slack-tracker/dist/client.d.ts +0 -7
  233. package/node_modules/@lorenz/slack-tracker/dist/client.d.ts.map +1 -1
  234. package/node_modules/@lorenz/slack-tracker/dist/client.js +4 -5
  235. package/node_modules/@lorenz/slack-tracker/dist/client.js.map +1 -1
  236. package/node_modules/@lorenz/slack-tracker/dist/index.d.ts +0 -1
  237. package/node_modules/@lorenz/slack-tracker/dist/index.d.ts.map +1 -1
  238. package/node_modules/@lorenz/slack-tracker/dist/index.js +0 -1
  239. package/node_modules/@lorenz/slack-tracker/dist/index.js.map +1 -1
  240. package/node_modules/@lorenz/slack-tracker/dist/provider.d.ts.map +1 -1
  241. package/node_modules/@lorenz/slack-tracker/dist/provider.js +0 -2
  242. package/node_modules/@lorenz/slack-tracker/dist/provider.js.map +1 -1
  243. package/node_modules/@lorenz/ssh/dist/index.d.ts +2 -0
  244. package/node_modules/@lorenz/ssh/dist/index.d.ts.map +1 -1
  245. package/node_modules/@lorenz/ssh/dist/index.js +2 -1
  246. package/node_modules/@lorenz/ssh/dist/index.js.map +1 -1
  247. package/node_modules/@lorenz/tool-sdk/dist/index.d.ts +1 -0
  248. package/node_modules/@lorenz/tool-sdk/dist/index.d.ts.map +1 -1
  249. package/node_modules/@lorenz/tool-sdk/dist/index.js +1 -0
  250. package/node_modules/@lorenz/tool-sdk/dist/index.js.map +1 -1
  251. package/node_modules/@lorenz/tool-sdk/dist/module.d.ts +38 -0
  252. package/node_modules/@lorenz/tool-sdk/dist/module.d.ts.map +1 -0
  253. package/node_modules/@lorenz/tool-sdk/dist/module.js +42 -0
  254. package/node_modules/@lorenz/tool-sdk/dist/module.js.map +1 -0
  255. package/node_modules/@lorenz/tracker-sdk/dist/index.d.ts +2 -2
  256. package/node_modules/@lorenz/tracker-sdk/dist/index.d.ts.map +1 -1
  257. package/node_modules/@lorenz/tracker-sdk/dist/index.js +1 -1
  258. package/node_modules/@lorenz/tracker-sdk/dist/index.js.map +1 -1
  259. package/node_modules/@lorenz/tracker-sdk/dist/module.d.ts +37 -0
  260. package/node_modules/@lorenz/tracker-sdk/dist/module.d.ts.map +1 -0
  261. package/node_modules/@lorenz/tracker-sdk/dist/module.js +38 -0
  262. package/node_modules/@lorenz/tracker-sdk/dist/module.js.map +1 -0
  263. package/node_modules/@lorenz/tracker-sdk/dist/provider.d.ts +11 -55
  264. package/node_modules/@lorenz/tracker-sdk/dist/provider.d.ts.map +1 -1
  265. package/node_modules/@lorenz/tracker-sdk/package.json +1 -2
  266. package/node_modules/@lorenz/worker-host-pool/dist/index.d.ts +34 -6
  267. package/node_modules/@lorenz/worker-host-pool/dist/index.d.ts.map +1 -1
  268. package/node_modules/@lorenz/worker-host-pool/dist/index.js +110 -143
  269. package/node_modules/@lorenz/worker-host-pool/dist/index.js.map +1 -1
  270. package/node_modules/@lorenz/worker-sdk/dist/index.d.ts +1 -0
  271. package/node_modules/@lorenz/worker-sdk/dist/index.d.ts.map +1 -1
  272. package/node_modules/@lorenz/worker-sdk/dist/index.js +1 -0
  273. package/node_modules/@lorenz/worker-sdk/dist/index.js.map +1 -1
  274. package/node_modules/@lorenz/worker-sdk/dist/local.d.ts +74 -0
  275. package/node_modules/@lorenz/worker-sdk/dist/local.d.ts.map +1 -0
  276. package/node_modules/@lorenz/worker-sdk/dist/local.js +112 -0
  277. package/node_modules/@lorenz/worker-sdk/dist/local.js.map +1 -0
  278. package/node_modules/@lorenz/worker-sdk/dist/module.d.ts +8 -16
  279. package/node_modules/@lorenz/worker-sdk/dist/module.d.ts.map +1 -1
  280. package/node_modules/@lorenz/worker-sdk/dist/module.js +15 -35
  281. package/node_modules/@lorenz/worker-sdk/dist/module.js.map +1 -1
  282. package/node_modules/@lorenz/workflow/dist/index.d.ts +11 -0
  283. package/node_modules/@lorenz/workflow/dist/index.d.ts.map +1 -1
  284. package/node_modules/@lorenz/workflow/dist/index.js +3 -0
  285. package/node_modules/@lorenz/workflow/dist/index.js.map +1 -1
  286. package/package.json +4 -1
  287. package/node_modules/@lorenz/linear-tracker/dist/toolOps.d.ts +0 -8
  288. package/node_modules/@lorenz/linear-tracker/dist/toolOps.d.ts.map +0 -1
  289. package/node_modules/@lorenz/linear-tracker/dist/toolOps.js +0 -251
  290. package/node_modules/@lorenz/linear-tracker/dist/toolOps.js.map +0 -1
  291. package/node_modules/@lorenz/local-tracker/dist/toolOps.d.ts +0 -9
  292. package/node_modules/@lorenz/local-tracker/dist/toolOps.d.ts.map +0 -1
  293. package/node_modules/@lorenz/local-tracker/dist/toolOps.js +0 -86
  294. package/node_modules/@lorenz/local-tracker/dist/toolOps.js.map +0 -1
  295. package/node_modules/@lorenz/slack-tracker/dist/toolOps.d.ts +0 -13
  296. package/node_modules/@lorenz/slack-tracker/dist/toolOps.d.ts.map +0 -1
  297. package/node_modules/@lorenz/slack-tracker/dist/toolOps.js +0 -76
  298. package/node_modules/@lorenz/slack-tracker/dist/toolOps.js.map +0 -1
  299. package/node_modules/@lorenz/tracker-sdk/dist/toolPack.d.ts +0 -10
  300. package/node_modules/@lorenz/tracker-sdk/dist/toolPack.d.ts.map +0 -1
  301. package/node_modules/@lorenz/tracker-sdk/dist/toolPack.js.map +0 -1
@@ -16,14 +16,20 @@ export interface DoctorCommandOptions {
16
16
  workflowPath: string | null;
17
17
  dashboard: boolean;
18
18
  logsRoot: string | null;
19
+ flagTokens?: string[];
20
+ featureTokens?: string[];
19
21
  }
20
22
  export interface DoctorCommanderOptions {
21
23
  dashboard?: boolean;
22
24
  logsRoot?: string;
25
+ flag?: string[];
26
+ feature?: string[];
23
27
  }
24
28
  export interface DoctorInheritedOptions {
25
29
  dashboard?: boolean | undefined;
26
30
  logsRoot?: string | undefined;
31
+ flag?: string[] | undefined;
32
+ feature?: string[] | undefined;
27
33
  }
28
34
  interface DoctorRunContext {
29
35
  cwd?: string | undefined;
@@ -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);
@@ -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"}