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
@@ -0,0 +1,621 @@
1
+ import { performance } from "node:perf_hooks";
2
+ import { randomUUID } from "node:crypto";
3
+ import { isRecord } from "@lorenz/domain";
4
+ import { hydrateState, serializeState, } from "./codec.js";
5
+ import { createState } from "./state.js";
6
+ let nextInMemoryOwnerId = 1;
7
+ export class InMemoryClaimStore {
8
+ state;
9
+ kind = "memory";
10
+ capabilities = {
11
+ crashRecovery: false,
12
+ sharedAcrossProcesses: false,
13
+ retryDurability: false,
14
+ };
15
+ ownerId;
16
+ hydratedAt;
17
+ transactionsApplied = 0;
18
+ lastOperation = null;
19
+ constructor(state, options = {}) {
20
+ this.state = state;
21
+ this.ownerId = options.ownerId ?? `memory:${process.pid}:${nextInMemoryOwnerId++}`;
22
+ this.hydratedAt = options.hydratedAt ?? new Date();
23
+ }
24
+ read(run) {
25
+ return run(this.state);
26
+ }
27
+ transaction(operation, run) {
28
+ const result = run(this.state);
29
+ this.transactionsApplied += 1;
30
+ this.lastOperation = operation;
31
+ return result;
32
+ }
33
+ heartbeatOwner() {
34
+ // Memory stores are process-local, so there is no external owner lease to refresh.
35
+ }
36
+ status() {
37
+ return {
38
+ kind: this.kind,
39
+ ownerId: this.ownerId,
40
+ capabilities: { ...this.capabilities },
41
+ hydratedAt: this.hydratedAt.toISOString(),
42
+ transactionsApplied: this.transactionsApplied,
43
+ lastOperation: this.lastOperation,
44
+ lastCheckpointAt: null,
45
+ };
46
+ }
47
+ }
48
+ export class AsyncPersistentClaimStore {
49
+ backend;
50
+ async = true;
51
+ ownerId;
52
+ kind;
53
+ capabilities;
54
+ state;
55
+ hydratedAt;
56
+ now;
57
+ monotonicNow;
58
+ ownerLeaseStaleMs;
59
+ hydrateOptions;
60
+ transactionsApplied = 0;
61
+ lastOperation = null;
62
+ lastCheckpointAt = null;
63
+ constructor(backend, options = {}) {
64
+ this.backend = backend;
65
+ this.kind = backend.kind;
66
+ this.capabilities = backend.capabilities;
67
+ if (this.capabilities.sharedAcrossProcesses && !backend.withExclusiveTransaction) {
68
+ throw new Error("shared_claim_store_backend_requires_exclusive_transaction");
69
+ }
70
+ if (this.capabilities.sharedAcrossProcesses &&
71
+ this.capabilities.crashRecovery &&
72
+ (!backend.heartbeatOwner || !backend.ownerIsActive)) {
73
+ throw new Error("shared_crash_recovery_claim_store_requires_owner_leases");
74
+ }
75
+ this.ownerId =
76
+ options.ownerId ??
77
+ `${backend.kind}:${process.pid}:${nextPersistentOwnerId++}:${randomUUID()}`;
78
+ this.hydratedAt = options.hydratedAt ?? new Date();
79
+ this.now = options.now ?? (() => new Date());
80
+ this.monotonicNow = options.monotonicNow ?? (() => performance.now());
81
+ this.ownerLeaseStaleMs = options.ownerLeaseStaleMs ?? 300_000;
82
+ this.hydrateOptions = options.hydrate;
83
+ this.state = createState();
84
+ }
85
+ static async create(backend, options = {}) {
86
+ const store = new AsyncPersistentClaimStore(backend, options);
87
+ await store.loadInitial();
88
+ return store;
89
+ }
90
+ async read(run) {
91
+ const apply = async () => {
92
+ if (this.capabilities.sharedAcrossProcesses)
93
+ await this.reload({ heartbeatOwner: false, recoverInactiveOwners: false });
94
+ return run(this.state);
95
+ };
96
+ return this.backend.withExclusiveTransaction
97
+ ? this.backend.withExclusiveTransaction(apply)
98
+ : apply();
99
+ }
100
+ async transaction(operation, run) {
101
+ let rollback = null;
102
+ const rollbackLocalState = () => {
103
+ rollback?.();
104
+ rollback = null;
105
+ };
106
+ const apply = async () => {
107
+ if (this.capabilities.sharedAcrossProcesses)
108
+ await this.reload({ heartbeatOwner: true, recoverInactiveOwners: true });
109
+ const rollbackState = cloneStateContents(this.state);
110
+ const rollbackTransactionsApplied = this.transactionsApplied;
111
+ const rollbackLastOperation = this.lastOperation;
112
+ const rollbackLastCheckpointAt = this.lastCheckpointAt;
113
+ rollback = () => {
114
+ replaceStateContents(this.state, rollbackState);
115
+ this.transactionsApplied = rollbackTransactionsApplied;
116
+ this.lastOperation = rollbackLastOperation;
117
+ this.lastCheckpointAt = rollbackLastCheckpointAt;
118
+ };
119
+ try {
120
+ const result = run(this.state);
121
+ this.transactionsApplied += 1;
122
+ this.lastOperation = operation;
123
+ await this.save(operation);
124
+ return result;
125
+ }
126
+ catch (error) {
127
+ rollbackLocalState();
128
+ throw error;
129
+ }
130
+ };
131
+ if (!this.backend.withExclusiveTransaction) {
132
+ try {
133
+ return await apply();
134
+ }
135
+ finally {
136
+ rollback = null;
137
+ }
138
+ }
139
+ try {
140
+ const result = await this.backend.withExclusiveTransaction(apply);
141
+ rollback = null;
142
+ return result;
143
+ }
144
+ catch (error) {
145
+ rollbackLocalState();
146
+ throw error;
147
+ }
148
+ }
149
+ async flush() {
150
+ const apply = async () => {
151
+ if (this.capabilities.sharedAcrossProcesses)
152
+ await this.reload({ heartbeatOwner: true, recoverInactiveOwners: true });
153
+ await this.save("flush");
154
+ };
155
+ if (this.backend.withExclusiveTransaction)
156
+ await this.backend.withExclusiveTransaction(apply);
157
+ else
158
+ await apply();
159
+ }
160
+ async heartbeatOwner() {
161
+ const apply = async () => this.writeOwnerHeartbeat();
162
+ if (this.backend.withExclusiveTransaction)
163
+ await this.backend.withExclusiveTransaction(apply);
164
+ else
165
+ await apply();
166
+ }
167
+ async close() {
168
+ await this.backend.close?.();
169
+ }
170
+ status() {
171
+ return {
172
+ kind: this.kind,
173
+ ownerId: this.ownerId,
174
+ capabilities: { ...this.capabilities },
175
+ hydratedAt: this.hydratedAt.toISOString(),
176
+ transactionsApplied: this.transactionsApplied,
177
+ lastOperation: this.lastOperation,
178
+ lastCheckpointAt: this.lastCheckpointAt,
179
+ };
180
+ }
181
+ async loadInitial() {
182
+ const apply = async () => {
183
+ await this.writeOwnerHeartbeat();
184
+ const checkpoint = await this.backend.load();
185
+ if (checkpoint)
186
+ replaceStateContents(this.state, hydrateState(checkpoint.state, this.hydrate(this.recovery(), checkpoint.ownerId)));
187
+ this.lastCheckpointAt = checkpoint?.writtenAt ?? null;
188
+ if (await this.recoverInactiveOwners())
189
+ await this.save("recover_stale_owners");
190
+ };
191
+ if (this.backend.withExclusiveTransaction)
192
+ await this.backend.withExclusiveTransaction(apply);
193
+ else
194
+ await apply();
195
+ }
196
+ async save(operation) {
197
+ const writtenAt = this.now().toISOString();
198
+ await this.backend.save({
199
+ version: 1,
200
+ ownerId: this.ownerId,
201
+ writtenAt,
202
+ operation,
203
+ state: serializeState(this.state),
204
+ });
205
+ this.lastCheckpointAt = writtenAt;
206
+ }
207
+ async reload(options) {
208
+ if (options.heartbeatOwner)
209
+ await this.writeOwnerHeartbeat();
210
+ const ownedEphemeralFields = captureOwnedRunningEphemeralFields(this.state, this.ownerId);
211
+ const checkpoint = await this.backend.load();
212
+ replaceStateContents(this.state, checkpoint
213
+ ? hydrateState(checkpoint.state, this.hydrate("preserve", checkpoint.ownerId))
214
+ : createState());
215
+ restoreOwnedRunningEphemeralFields(this.state, this.ownerId, ownedEphemeralFields);
216
+ this.lastCheckpointAt = checkpoint?.writtenAt ?? null;
217
+ if (options.recoverInactiveOwners && (await this.recoverInactiveOwners()))
218
+ await this.save("recover_stale_owners");
219
+ }
220
+ async writeOwnerHeartbeat() {
221
+ await this.backend.heartbeatOwner?.(this.ownerId, this.now());
222
+ }
223
+ async recoverInactiveOwners() {
224
+ if (!this.capabilities.sharedAcrossProcesses || !this.backend.ownerIsActive)
225
+ return false;
226
+ const now = this.now();
227
+ let recovered = false;
228
+ const activeOwners = new Map();
229
+ for (const [key, ownerId] of [...this.state.claimOwners.entries()]) {
230
+ if (ownerId === this.ownerId)
231
+ continue;
232
+ let ownerActive = activeOwners.get(ownerId);
233
+ if (ownerActive === undefined) {
234
+ ownerActive = await this.backend.ownerIsActive(ownerId, now, this.ownerLeaseStaleMs);
235
+ activeOwners.set(ownerId, ownerActive);
236
+ }
237
+ if (ownerActive)
238
+ continue;
239
+ const reservation = this.state.reserved.get(key);
240
+ if (reservation?.consumedRetry &&
241
+ !this.state.retryAttempts.has(reservation.consumedRetry.key)) {
242
+ this.state.retryAttempts.set(reservation.consumedRetry.key, reservation.consumedRetry.entry);
243
+ }
244
+ const running = this.state.running.get(key);
245
+ if (running && running.retryAttempt !== null && !this.state.retryAttempts.has(key))
246
+ this.state.retryAttempts.set(key, this.retryEntryFromRunningClaim(running, now));
247
+ this.state.running.delete(key);
248
+ this.state.reserved.delete(key);
249
+ this.state.claimed.delete(key);
250
+ this.state.claimOwners.delete(key);
251
+ recovered = true;
252
+ }
253
+ return recovered;
254
+ }
255
+ hydrate(recovery, fallbackClaimOwnerId) {
256
+ const base = typeof this.hydrateOptions === "function"
257
+ ? this.hydrateOptions()
258
+ : (this.hydrateOptions ?? { now: this.now(), monotonicNowMs: this.monotonicNow() });
259
+ return {
260
+ ...base,
261
+ fallbackClaimOwnerId,
262
+ reservationRecovery: recovery,
263
+ runningRecovery: recovery,
264
+ };
265
+ }
266
+ recovery() {
267
+ return this.capabilities.sharedAcrossProcesses ? "preserve" : "abandon";
268
+ }
269
+ retryEntryFromRunningClaim(entry, now) {
270
+ return {
271
+ issueId: entry.issue.id,
272
+ identifier: entry.identifier,
273
+ issueUrl: entry.issue.url ?? null,
274
+ attempt: entry.retryAttempt ?? 1,
275
+ monotonicDeadlineMs: this.monotonicNow(),
276
+ dueAtIso: now.toISOString(),
277
+ slotIndex: entry.slotIndex,
278
+ workerHost: entry.workerHost,
279
+ workspacePath: entry.workspacePath,
280
+ };
281
+ }
282
+ }
283
+ let nextPersistentOwnerId = 1;
284
+ export class PersistentClaimStore {
285
+ backend;
286
+ ownerId;
287
+ kind;
288
+ capabilities;
289
+ state;
290
+ hydratedAt;
291
+ now;
292
+ monotonicNow;
293
+ ownerLeaseStaleMs;
294
+ hydrateOptions;
295
+ transactionsApplied = 0;
296
+ lastOperation = null;
297
+ lastCheckpointAt = null;
298
+ constructor(backend, options = {}) {
299
+ this.backend = backend;
300
+ this.kind = backend.kind;
301
+ this.capabilities = backend.capabilities;
302
+ if (this.capabilities.sharedAcrossProcesses && !backend.withExclusiveTransaction) {
303
+ throw new Error("shared_claim_store_backend_requires_exclusive_transaction");
304
+ }
305
+ if (this.capabilities.sharedAcrossProcesses &&
306
+ this.capabilities.crashRecovery &&
307
+ (!backend.heartbeatOwner || !backend.ownerIsActive)) {
308
+ throw new Error("shared_crash_recovery_claim_store_requires_owner_leases");
309
+ }
310
+ this.ownerId =
311
+ options.ownerId ??
312
+ `${backend.kind}:${process.pid}:${nextPersistentOwnerId++}:${randomUUID()}`;
313
+ this.hydratedAt = options.hydratedAt ?? new Date();
314
+ this.now = options.now ?? (() => new Date());
315
+ this.monotonicNow = options.monotonicNow ?? (() => performance.now());
316
+ this.ownerLeaseStaleMs = options.ownerLeaseStaleMs ?? 300_000;
317
+ this.hydrateOptions = options.hydrate;
318
+ this.state = createState();
319
+ const loadInitial = () => {
320
+ this.writeOwnerHeartbeat();
321
+ const checkpoint = backend.load();
322
+ if (checkpoint)
323
+ replaceStateContents(this.state, hydrateState(checkpoint.state, this.hydrate(this.recovery(), checkpoint.ownerId)));
324
+ this.lastCheckpointAt = checkpoint?.writtenAt ?? null;
325
+ if (this.recoverInactiveOwners())
326
+ this.save("recover_stale_owners");
327
+ };
328
+ if (backend.withExclusiveTransaction)
329
+ backend.withExclusiveTransaction(loadInitial);
330
+ else
331
+ loadInitial();
332
+ }
333
+ read(run) {
334
+ const apply = () => {
335
+ if (this.capabilities.sharedAcrossProcesses)
336
+ this.reload({ heartbeatOwner: false, recoverInactiveOwners: false });
337
+ return run(this.state);
338
+ };
339
+ return this.backend.withExclusiveTransaction
340
+ ? this.backend.withExclusiveTransaction(apply)
341
+ : apply();
342
+ }
343
+ transaction(operation, run) {
344
+ let rollback = null;
345
+ const rollbackLocalState = () => {
346
+ rollback?.();
347
+ rollback = null;
348
+ };
349
+ const apply = () => {
350
+ if (this.capabilities.sharedAcrossProcesses)
351
+ this.reload({ heartbeatOwner: true, recoverInactiveOwners: true });
352
+ const rollbackState = cloneStateContents(this.state);
353
+ const rollbackTransactionsApplied = this.transactionsApplied;
354
+ const rollbackLastOperation = this.lastOperation;
355
+ const rollbackLastCheckpointAt = this.lastCheckpointAt;
356
+ rollback = () => {
357
+ replaceStateContents(this.state, rollbackState);
358
+ this.transactionsApplied = rollbackTransactionsApplied;
359
+ this.lastOperation = rollbackLastOperation;
360
+ this.lastCheckpointAt = rollbackLastCheckpointAt;
361
+ };
362
+ try {
363
+ const result = run(this.state);
364
+ this.transactionsApplied += 1;
365
+ this.lastOperation = operation;
366
+ this.save(operation);
367
+ return result;
368
+ }
369
+ catch (error) {
370
+ rollbackLocalState();
371
+ throw error;
372
+ }
373
+ };
374
+ if (!this.backend.withExclusiveTransaction) {
375
+ try {
376
+ return apply();
377
+ }
378
+ finally {
379
+ rollback = null;
380
+ }
381
+ }
382
+ try {
383
+ const result = this.backend.withExclusiveTransaction(apply);
384
+ rollback = null;
385
+ return result;
386
+ }
387
+ catch (error) {
388
+ rollbackLocalState();
389
+ throw error;
390
+ }
391
+ }
392
+ flush() {
393
+ const apply = () => {
394
+ if (this.capabilities.sharedAcrossProcesses)
395
+ this.reload({ heartbeatOwner: true, recoverInactiveOwners: true });
396
+ this.save("flush");
397
+ };
398
+ if (this.backend.withExclusiveTransaction)
399
+ this.backend.withExclusiveTransaction(apply);
400
+ else
401
+ apply();
402
+ }
403
+ heartbeatOwner() {
404
+ const apply = () => this.writeOwnerHeartbeat();
405
+ if (this.backend.withExclusiveTransaction)
406
+ this.backend.withExclusiveTransaction(apply);
407
+ else
408
+ apply();
409
+ }
410
+ close() {
411
+ this.backend.close?.();
412
+ }
413
+ status() {
414
+ return {
415
+ kind: this.kind,
416
+ ownerId: this.ownerId,
417
+ capabilities: { ...this.capabilities },
418
+ hydratedAt: this.hydratedAt.toISOString(),
419
+ transactionsApplied: this.transactionsApplied,
420
+ lastOperation: this.lastOperation,
421
+ lastCheckpointAt: this.lastCheckpointAt,
422
+ };
423
+ }
424
+ save(operation) {
425
+ const writtenAt = this.now().toISOString();
426
+ this.backend.save({
427
+ version: 1,
428
+ ownerId: this.ownerId,
429
+ writtenAt,
430
+ operation,
431
+ state: serializeState(this.state),
432
+ });
433
+ this.lastCheckpointAt = writtenAt;
434
+ }
435
+ reload(options) {
436
+ if (options.heartbeatOwner)
437
+ this.writeOwnerHeartbeat();
438
+ const ownedEphemeralFields = captureOwnedRunningEphemeralFields(this.state, this.ownerId);
439
+ const checkpoint = this.backend.load();
440
+ replaceStateContents(this.state, checkpoint
441
+ ? hydrateState(checkpoint.state, this.hydrate("preserve", checkpoint.ownerId))
442
+ : createState());
443
+ restoreOwnedRunningEphemeralFields(this.state, this.ownerId, ownedEphemeralFields);
444
+ this.lastCheckpointAt = checkpoint?.writtenAt ?? null;
445
+ if (options.recoverInactiveOwners && this.recoverInactiveOwners())
446
+ this.save("recover_stale_owners");
447
+ }
448
+ writeOwnerHeartbeat() {
449
+ this.backend.heartbeatOwner?.(this.ownerId, this.now());
450
+ }
451
+ recoverInactiveOwners() {
452
+ if (!this.capabilities.sharedAcrossProcesses || !this.backend.ownerIsActive)
453
+ return false;
454
+ const now = this.now();
455
+ let recovered = false;
456
+ const activeOwners = new Map();
457
+ for (const [key, ownerId] of [...this.state.claimOwners.entries()]) {
458
+ if (ownerId === this.ownerId)
459
+ continue;
460
+ let ownerActive = activeOwners.get(ownerId);
461
+ if (ownerActive === undefined) {
462
+ ownerActive = this.backend.ownerIsActive(ownerId, now, this.ownerLeaseStaleMs);
463
+ activeOwners.set(ownerId, ownerActive);
464
+ }
465
+ if (ownerActive)
466
+ continue;
467
+ const reservation = this.state.reserved.get(key);
468
+ if (reservation?.consumedRetry &&
469
+ !this.state.retryAttempts.has(reservation.consumedRetry.key)) {
470
+ this.state.retryAttempts.set(reservation.consumedRetry.key, reservation.consumedRetry.entry);
471
+ }
472
+ const running = this.state.running.get(key);
473
+ if (running && running.retryAttempt !== null && !this.state.retryAttempts.has(key))
474
+ this.state.retryAttempts.set(key, this.retryEntryFromRunningClaim(running, now));
475
+ this.state.running.delete(key);
476
+ this.state.reserved.delete(key);
477
+ this.state.claimed.delete(key);
478
+ this.state.claimOwners.delete(key);
479
+ recovered = true;
480
+ }
481
+ return recovered;
482
+ }
483
+ hydrate(recovery, fallbackClaimOwnerId) {
484
+ const base = typeof this.hydrateOptions === "function"
485
+ ? this.hydrateOptions()
486
+ : (this.hydrateOptions ?? { now: this.now(), monotonicNowMs: this.monotonicNow() });
487
+ return {
488
+ ...base,
489
+ fallbackClaimOwnerId,
490
+ reservationRecovery: recovery,
491
+ runningRecovery: recovery,
492
+ };
493
+ }
494
+ recovery() {
495
+ return this.capabilities.sharedAcrossProcesses ? "preserve" : "abandon";
496
+ }
497
+ retryEntryFromRunningClaim(entry, now) {
498
+ return {
499
+ issueId: entry.issue.id,
500
+ identifier: entry.identifier,
501
+ issueUrl: entry.issue.url ?? null,
502
+ attempt: entry.retryAttempt ?? 1,
503
+ monotonicDeadlineMs: this.monotonicNow(),
504
+ dueAtIso: now.toISOString(),
505
+ slotIndex: entry.slotIndex,
506
+ workerHost: entry.workerHost,
507
+ workspacePath: entry.workspacePath,
508
+ };
509
+ }
510
+ }
511
+ export function isClaimStore(value) {
512
+ if (!isRecord(value))
513
+ return false;
514
+ const candidate = value;
515
+ if (candidate.async === true)
516
+ return false;
517
+ return (typeof candidate.kind === "string" &&
518
+ typeof candidate.ownerId === "string" &&
519
+ typeof candidate.capabilities === "object" &&
520
+ typeof candidate.read === "function" &&
521
+ typeof candidate.transaction === "function" &&
522
+ typeof candidate.heartbeatOwner === "function" &&
523
+ typeof candidate.status === "function" &&
524
+ candidate.state !== undefined);
525
+ }
526
+ export function isAsyncClaimStore(value) {
527
+ if (!isRecord(value))
528
+ return false;
529
+ const candidate = value;
530
+ return (candidate.async === true &&
531
+ typeof candidate.kind === "string" &&
532
+ typeof candidate.ownerId === "string" &&
533
+ typeof candidate.capabilities === "object" &&
534
+ typeof candidate.read === "function" &&
535
+ typeof candidate.transaction === "function" &&
536
+ typeof candidate.heartbeatOwner === "function" &&
537
+ typeof candidate.status === "function" &&
538
+ candidate.state !== undefined);
539
+ }
540
+ export function isClaimStoreLike(value) {
541
+ return isAsyncClaimStore(value) || isClaimStore(value);
542
+ }
543
+ function replaceStateContents(target, source) {
544
+ target.running = source.running;
545
+ target.reserved = source.reserved;
546
+ target.claimed = source.claimed;
547
+ target.claimOwners = source.claimOwners;
548
+ target.retryAttempts = source.retryAttempts;
549
+ target.completed = source.completed;
550
+ target.usageTotals = source.usageTotals;
551
+ target.usageDeltaBases = source.usageDeltaBases;
552
+ target.rateLimits = source.rateLimits;
553
+ target.blockedDispatches = source.blockedDispatches;
554
+ }
555
+ function cloneStateContents(source) {
556
+ const state = createState();
557
+ state.running = new Map([...source.running.entries()].map(([key, entry]) => [key, cloneRunningEntry(entry)]));
558
+ state.reserved = new Map([...source.reserved.entries()].map(([key, record]) => [key, cloneReservationRecord(record)]));
559
+ state.claimed = new Set(source.claimed);
560
+ state.claimOwners = new Map(source.claimOwners);
561
+ state.retryAttempts = new Map([...source.retryAttempts.entries()].map(([key, entry]) => [key, { ...entry }]));
562
+ state.completed = new Set(source.completed);
563
+ state.usageTotals = { ...source.usageTotals };
564
+ state.usageDeltaBases = new Map([...source.usageDeltaBases.entries()].map(([key, value]) => [key, { ...value }]));
565
+ state.rateLimits = source.rateLimits;
566
+ state.blockedDispatches = source.blockedDispatches.map((entry) => ({ ...entry }));
567
+ return state;
568
+ }
569
+ function cloneRunningEntry(entry) {
570
+ return {
571
+ ...entry,
572
+ issue: cloneIssueForMemory(entry.issue),
573
+ usageTotals: { ...entry.usageTotals },
574
+ startedAt: new Date(entry.startedAt),
575
+ lastAgentTimestamp: entry.lastAgentTimestamp ? new Date(entry.lastAgentTimestamp) : null,
576
+ };
577
+ }
578
+ function cloneReservationRecord(record) {
579
+ return {
580
+ ...record,
581
+ issue: cloneIssueForMemory(record.issue),
582
+ reservedAt: new Date(record.reservedAt),
583
+ expiresAt: new Date(record.expiresAt),
584
+ consumedRetry: record.consumedRetry
585
+ ? { key: record.consumedRetry.key, entry: { ...record.consumedRetry.entry } }
586
+ : null,
587
+ };
588
+ }
589
+ function cloneIssueForMemory(issue) {
590
+ return {
591
+ ...issue,
592
+ labels: [...issue.labels],
593
+ blockers: issue.blockers.map((blocker) => ({ ...blocker })),
594
+ };
595
+ }
596
+ function captureOwnedRunningEphemeralFields(state, ownerId) {
597
+ const fields = new Map();
598
+ for (const [key, entry] of state.running.entries()) {
599
+ if (state.claimOwners.get(key) !== ownerId)
600
+ continue;
601
+ fields.set(key, {
602
+ executorPid: entry.executorPid,
603
+ lastAgentMessage: entry.lastAgentMessage,
604
+ sessionId: entry.sessionId,
605
+ });
606
+ }
607
+ return fields;
608
+ }
609
+ function restoreOwnedRunningEphemeralFields(state, ownerId, fields) {
610
+ for (const [key, field] of fields.entries()) {
611
+ if (state.claimOwners.get(key) !== ownerId)
612
+ continue;
613
+ const entry = state.running.get(key);
614
+ if (!entry)
615
+ continue;
616
+ entry.executorPid = field.executorPid;
617
+ entry.lastAgentMessage = field.lastAgentMessage;
618
+ entry.sessionId = field.sessionId;
619
+ }
620
+ }
621
+ //# sourceMappingURL=claimStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimStore.js","sourceRoot":"","sources":["../src/claimStore.ts"],"names":[],"mappings":"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"}