@wenathlan/saddle 1.8.7 → 1.8.9

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 (751) hide show
  1. package/README.md +18 -18
  2. package/dist/adapters/forge.d.ts +17 -0
  3. package/dist/adapters/forge.d.ts.map +1 -0
  4. package/dist/adapters/forge.js +19 -0
  5. package/dist/adapters/forge.js.map +1 -0
  6. package/dist/adapters/forgejo.d.ts +49 -0
  7. package/dist/adapters/forgejo.d.ts.map +1 -0
  8. package/{adapters → dist/adapters}/forgejo.js +1 -1
  9. package/dist/adapters/forgejo.js.map +1 -0
  10. package/dist/adapters/github.d.ts +12 -0
  11. package/dist/adapters/github.d.ts.map +1 -0
  12. package/dist/adapters/github.js +20 -0
  13. package/dist/adapters/github.js.map +1 -0
  14. package/dist/adapters/gitlab.d.ts +17 -0
  15. package/dist/adapters/gitlab.d.ts.map +1 -0
  16. package/dist/adapters/gitlab.js +10 -0
  17. package/dist/adapters/gitlab.js.map +1 -0
  18. package/dist/adapters/huggingface.d.ts +17 -0
  19. package/dist/adapters/huggingface.d.ts.map +1 -0
  20. package/{adapters → dist/adapters}/huggingface.js +1 -1
  21. package/dist/adapters/huggingface.js.map +1 -0
  22. package/dist/adapters/socket.d.ts +11 -0
  23. package/dist/adapters/socket.d.ts.map +1 -0
  24. package/dist/adapters/socket.js +17 -0
  25. package/dist/adapters/socket.js.map +1 -0
  26. package/dist/adapters/transport.d.ts +7 -0
  27. package/dist/adapters/transport.d.ts.map +1 -0
  28. package/dist/adapters/transport.js +36 -0
  29. package/dist/adapters/transport.js.map +1 -0
  30. package/dist/ai/chunk.d.ts +2 -0
  31. package/dist/ai/chunk.d.ts.map +1 -0
  32. package/dist/ai/chunk.js +36 -0
  33. package/dist/ai/chunk.js.map +1 -0
  34. package/dist/ai/llmstxt.d.ts +6 -0
  35. package/dist/ai/llmstxt.d.ts.map +1 -0
  36. package/dist/ai/llmstxt.js +12 -0
  37. package/dist/ai/llmstxt.js.map +1 -0
  38. package/dist/ai/provenance.d.ts +22 -0
  39. package/dist/ai/provenance.d.ts.map +1 -0
  40. package/dist/ai/provenance.js +25 -0
  41. package/dist/ai/provenance.js.map +1 -0
  42. package/dist/ai/rag.d.ts +26 -0
  43. package/dist/ai/rag.d.ts.map +1 -0
  44. package/dist/ai/rag.js +22 -0
  45. package/dist/ai/rag.js.map +1 -0
  46. package/dist/ai/tokens.d.ts +15 -0
  47. package/dist/ai/tokens.d.ts.map +1 -0
  48. package/{ai → dist/ai}/tokens.js +1 -1
  49. package/dist/ai/tokens.js.map +1 -0
  50. package/dist/api/auth.d.ts +16 -0
  51. package/dist/api/auth.d.ts.map +1 -0
  52. package/dist/api/auth.js +19 -0
  53. package/dist/api/auth.js.map +1 -0
  54. package/dist/api/contracts.d.ts +28 -0
  55. package/dist/api/contracts.d.ts.map +1 -0
  56. package/{api → dist/api}/contracts.js +3 -6
  57. package/dist/api/contracts.js.map +1 -0
  58. package/dist/api/control.d.ts +10 -0
  59. package/dist/api/control.d.ts.map +1 -0
  60. package/dist/api/control.js +35 -0
  61. package/dist/api/control.js.map +1 -0
  62. package/dist/api/http.d.ts +7 -0
  63. package/dist/api/http.d.ts.map +1 -0
  64. package/{api → dist/api}/http.js +5 -5
  65. package/dist/api/http.js.map +1 -0
  66. package/dist/api/rate.d.ts +28 -0
  67. package/dist/api/rate.d.ts.map +1 -0
  68. package/dist/api/rate.js +36 -0
  69. package/dist/api/rate.js.map +1 -0
  70. package/dist/api/security.d.ts +12 -0
  71. package/dist/api/security.d.ts.map +1 -0
  72. package/dist/api/security.js +56 -0
  73. package/dist/api/security.js.map +1 -0
  74. package/dist/api/service.d.ts +5 -0
  75. package/dist/api/service.d.ts.map +1 -0
  76. package/dist/api/service.js +70 -0
  77. package/dist/api/service.js.map +1 -0
  78. package/dist/apps/registry.d.ts +33 -0
  79. package/dist/apps/registry.d.ts.map +1 -0
  80. package/dist/apps/registry.js +24 -0
  81. package/dist/apps/registry.js.map +1 -0
  82. package/dist/binary/build.d.ts +29 -0
  83. package/dist/binary/build.d.ts.map +1 -0
  84. package/dist/binary/build.js +17 -0
  85. package/dist/binary/build.js.map +1 -0
  86. package/dist/bot/adapter.d.ts +5 -0
  87. package/dist/bot/adapter.d.ts.map +1 -0
  88. package/dist/bot/adapter.js +11 -0
  89. package/dist/bot/adapter.js.map +1 -0
  90. package/dist/bot/bot.d.ts +28 -0
  91. package/dist/bot/bot.d.ts.map +1 -0
  92. package/dist/bot/bot.js +52 -0
  93. package/dist/bot/bot.js.map +1 -0
  94. package/dist/bot/commands.d.ts +8 -0
  95. package/dist/bot/commands.d.ts.map +1 -0
  96. package/dist/bot/commands.js +19 -0
  97. package/dist/bot/commands.js.map +1 -0
  98. package/dist/bot/permissions.d.ts +13 -0
  99. package/dist/bot/permissions.d.ts.map +1 -0
  100. package/dist/bot/permissions.js +16 -0
  101. package/dist/bot/permissions.js.map +1 -0
  102. package/dist/browser/actions.d.ts +33 -0
  103. package/dist/browser/actions.d.ts.map +1 -0
  104. package/dist/browser/actions.js +44 -0
  105. package/dist/browser/actions.js.map +1 -0
  106. package/dist/browser/agent.d.ts +21 -0
  107. package/dist/browser/agent.d.ts.map +1 -0
  108. package/dist/browser/agent.js +13 -0
  109. package/dist/browser/agent.js.map +1 -0
  110. package/dist/browser/context.d.ts +43 -0
  111. package/dist/browser/context.d.ts.map +1 -0
  112. package/dist/browser/context.js +54 -0
  113. package/dist/browser/context.js.map +1 -0
  114. package/dist/browser/fingerprint.d.ts +4 -0
  115. package/dist/browser/fingerprint.d.ts.map +1 -0
  116. package/{browser → dist/browser}/fingerprint.js +4 -4
  117. package/dist/browser/fingerprint.js.map +1 -0
  118. package/dist/browser/index.d.ts +11 -0
  119. package/dist/browser/index.d.ts.map +1 -0
  120. package/{browser → dist/browser}/index.js +1 -0
  121. package/dist/browser/index.js.map +1 -0
  122. package/dist/browser/playwright.d.ts +11 -0
  123. package/dist/browser/playwright.d.ts.map +1 -0
  124. package/dist/browser/playwright.js +24 -0
  125. package/dist/browser/playwright.js.map +1 -0
  126. package/dist/browser/recorder.d.ts +27 -0
  127. package/dist/browser/recorder.d.ts.map +1 -0
  128. package/dist/browser/recorder.js +22 -0
  129. package/dist/browser/recorder.js.map +1 -0
  130. package/dist/browser/session.d.ts +14 -0
  131. package/dist/browser/session.d.ts.map +1 -0
  132. package/dist/browser/session.js +21 -0
  133. package/dist/browser/session.js.map +1 -0
  134. package/dist/browser/snapshot.d.ts +57 -0
  135. package/dist/browser/snapshot.d.ts.map +1 -0
  136. package/dist/browser/snapshot.js +57 -0
  137. package/dist/browser/snapshot.js.map +1 -0
  138. package/dist/captcha/contract.d.ts +35 -0
  139. package/dist/captcha/contract.d.ts.map +1 -0
  140. package/dist/captcha/contract.js +17 -0
  141. package/dist/captcha/contract.js.map +1 -0
  142. package/dist/captcha/evidence.d.ts +10 -0
  143. package/dist/captcha/evidence.d.ts.map +1 -0
  144. package/dist/captcha/evidence.js +9 -0
  145. package/dist/captcha/evidence.js.map +1 -0
  146. package/dist/captcha/guard.d.ts +23 -0
  147. package/dist/captcha/guard.d.ts.map +1 -0
  148. package/dist/captcha/guard.js +12 -0
  149. package/dist/captcha/guard.js.map +1 -0
  150. package/dist/cli/main.d.ts +4 -0
  151. package/dist/cli/main.d.ts.map +1 -0
  152. package/dist/cli/main.js +46 -0
  153. package/dist/cli/main.js.map +1 -0
  154. package/dist/core/errors.d.ts +84 -0
  155. package/dist/core/errors.d.ts.map +1 -0
  156. package/dist/core/errors.js +54 -0
  157. package/dist/core/errors.js.map +1 -0
  158. package/dist/core/events.d.ts +9 -0
  159. package/dist/core/events.d.ts.map +1 -0
  160. package/dist/core/events.js +21 -0
  161. package/dist/core/events.js.map +1 -0
  162. package/dist/core/hash.d.ts +10 -0
  163. package/dist/core/hash.d.ts.map +1 -0
  164. package/dist/core/hash.js +82 -0
  165. package/dist/core/hash.js.map +1 -0
  166. package/dist/core/ids.d.ts +10 -0
  167. package/dist/core/ids.d.ts.map +1 -0
  168. package/dist/core/ids.js +15 -0
  169. package/dist/core/ids.js.map +1 -0
  170. package/dist/deploy/index.d.ts +6 -0
  171. package/dist/deploy/index.d.ts.map +1 -0
  172. package/dist/deploy/index.js +6 -0
  173. package/dist/deploy/index.js.map +1 -0
  174. package/dist/dispatch/resumable.d.ts +85 -0
  175. package/dist/dispatch/resumable.d.ts.map +1 -0
  176. package/dist/dispatch/resumable.js +39 -0
  177. package/dist/dispatch/resumable.js.map +1 -0
  178. package/dist/dispatch/workflow.d.ts +6 -0
  179. package/dist/dispatch/workflow.d.ts.map +1 -0
  180. package/dist/dispatch/workflow.js +37 -0
  181. package/dist/dispatch/workflow.js.map +1 -0
  182. package/dist/domain/artifacts.d.ts +12 -0
  183. package/dist/domain/artifacts.d.ts.map +1 -0
  184. package/dist/domain/artifacts.js +14 -0
  185. package/dist/domain/artifacts.js.map +1 -0
  186. package/dist/domain/jobs.d.ts +12 -0
  187. package/dist/domain/jobs.d.ts.map +1 -0
  188. package/dist/domain/jobs.js +20 -0
  189. package/dist/domain/jobs.js.map +1 -0
  190. package/dist/domain/providers.d.ts +10 -0
  191. package/dist/domain/providers.d.ts.map +1 -0
  192. package/{domain → dist/domain}/providers.js +2 -2
  193. package/dist/domain/providers.js.map +1 -0
  194. package/dist/domain/runtime.d.ts +14 -0
  195. package/dist/domain/runtime.d.ts.map +1 -0
  196. package/{domain → dist/domain}/runtime.js +3 -3
  197. package/dist/domain/runtime.js.map +1 -0
  198. package/dist/domain/sessions.d.ts +12 -0
  199. package/dist/domain/sessions.d.ts.map +1 -0
  200. package/dist/domain/sessions.js +57 -0
  201. package/dist/domain/sessions.js.map +1 -0
  202. package/dist/examples/localjob.d.ts +2 -0
  203. package/dist/examples/localjob.d.ts.map +1 -0
  204. package/{examples → dist/examples}/localjob.js +1 -1
  205. package/dist/examples/localjob.js.map +1 -0
  206. package/dist/examples/publicapi.d.ts +2 -0
  207. package/dist/examples/publicapi.d.ts.map +1 -0
  208. package/{examples → dist/examples}/publicapi.js +1 -1
  209. package/dist/examples/publicapi.js.map +1 -0
  210. package/dist/extension/build.d.ts +9 -0
  211. package/dist/extension/build.d.ts.map +1 -0
  212. package/dist/extension/build.js +61 -0
  213. package/dist/extension/build.js.map +1 -0
  214. package/dist/extension/content.d.ts +6 -0
  215. package/dist/extension/content.d.ts.map +1 -0
  216. package/dist/extension/content.js +135 -0
  217. package/dist/extension/content.js.map +1 -0
  218. package/dist/extension/index.d.ts +7 -0
  219. package/dist/extension/index.d.ts.map +1 -0
  220. package/{extension → dist/extension}/index.js +1 -0
  221. package/dist/extension/index.js.map +1 -0
  222. package/dist/extension/pagebridge.d.ts +6 -0
  223. package/dist/extension/pagebridge.d.ts.map +1 -0
  224. package/dist/extension/pagebridge.js +42 -0
  225. package/dist/extension/pagebridge.js.map +1 -0
  226. package/dist/extension/permissions.d.ts +26 -0
  227. package/dist/extension/permissions.d.ts.map +1 -0
  228. package/dist/extension/permissions.js +28 -0
  229. package/dist/extension/permissions.js.map +1 -0
  230. package/dist/extension/popup.d.ts +5 -0
  231. package/dist/extension/popup.d.ts.map +1 -0
  232. package/dist/extension/popup.js +26 -0
  233. package/dist/extension/popup.js.map +1 -0
  234. package/dist/extension/protocol.d.ts +58 -0
  235. package/dist/extension/protocol.d.ts.map +1 -0
  236. package/dist/extension/protocol.js +101 -0
  237. package/dist/extension/protocol.js.map +1 -0
  238. package/dist/extension/serviceworker.d.ts +25 -0
  239. package/dist/extension/serviceworker.d.ts.map +1 -0
  240. package/dist/extension/serviceworker.js +102 -0
  241. package/dist/extension/serviceworker.js.map +1 -0
  242. package/dist/extension/worker.d.ts +28 -0
  243. package/dist/extension/worker.d.ts.map +1 -0
  244. package/dist/extension/worker.js +22 -0
  245. package/dist/extension/worker.js.map +1 -0
  246. package/dist/format/check.d.ts +8 -0
  247. package/dist/format/check.d.ts.map +1 -0
  248. package/dist/format/check.js +38 -0
  249. package/dist/format/check.js.map +1 -0
  250. package/dist/index.d.ts +117 -0
  251. package/dist/index.d.ts.map +1 -0
  252. package/{index.js → dist/index.js} +3 -7
  253. package/dist/index.js.map +1 -0
  254. package/dist/library/public.d.ts +53 -0
  255. package/dist/library/public.d.ts.map +1 -0
  256. package/dist/library/public.js +83 -0
  257. package/dist/library/public.js.map +1 -0
  258. package/dist/mcp/browser.d.ts +9 -0
  259. package/dist/mcp/browser.d.ts.map +1 -0
  260. package/dist/mcp/browser.js +13 -0
  261. package/dist/mcp/browser.js.map +1 -0
  262. package/dist/mcp/server.d.ts +35 -0
  263. package/dist/mcp/server.d.ts.map +1 -0
  264. package/dist/mcp/server.js +40 -0
  265. package/dist/mcp/server.js.map +1 -0
  266. package/dist/mcp/transport.d.ts +7 -0
  267. package/dist/mcp/transport.d.ts.map +1 -0
  268. package/dist/mcp/transport.js +17 -0
  269. package/dist/mcp/transport.js.map +1 -0
  270. package/dist/memory/bridge.d.ts +14 -0
  271. package/dist/memory/bridge.d.ts.map +1 -0
  272. package/dist/memory/bridge.js +16 -0
  273. package/dist/memory/bridge.js.map +1 -0
  274. package/dist/memory/engine.d.ts +28 -0
  275. package/dist/memory/engine.d.ts.map +1 -0
  276. package/dist/memory/engine.js +59 -0
  277. package/dist/memory/engine.js.map +1 -0
  278. package/dist/memory/modes.d.ts +43 -0
  279. package/dist/memory/modes.d.ts.map +1 -0
  280. package/dist/memory/modes.js +66 -0
  281. package/dist/memory/modes.js.map +1 -0
  282. package/dist/memory/objects.d.ts +21 -0
  283. package/dist/memory/objects.d.ts.map +1 -0
  284. package/dist/memory/objects.js +20 -0
  285. package/dist/memory/objects.js.map +1 -0
  286. package/dist/memory/targets.d.ts +78 -0
  287. package/dist/memory/targets.d.ts.map +1 -0
  288. package/dist/memory/targets.js +29 -0
  289. package/dist/memory/targets.js.map +1 -0
  290. package/dist/memory/transforms.d.ts +19 -0
  291. package/dist/memory/transforms.d.ts.map +1 -0
  292. package/dist/memory/transforms.js +14 -0
  293. package/dist/memory/transforms.js.map +1 -0
  294. package/dist/modes/matrix.d.ts +23 -0
  295. package/dist/modes/matrix.d.ts.map +1 -0
  296. package/{modes → dist/modes}/matrix.js +8 -10
  297. package/dist/modes/matrix.js.map +1 -0
  298. package/dist/modes/modes.d.ts +33 -0
  299. package/dist/modes/modes.d.ts.map +1 -0
  300. package/{modes → dist/modes}/modes.js +3 -4
  301. package/dist/modes/modes.js.map +1 -0
  302. package/dist/modes/resolve.d.ts +41 -0
  303. package/dist/modes/resolve.d.ts.map +1 -0
  304. package/dist/modes/resolve.js +39 -0
  305. package/dist/modes/resolve.js.map +1 -0
  306. package/dist/observability/metrics.d.ts +14 -0
  307. package/dist/observability/metrics.d.ts.map +1 -0
  308. package/dist/observability/metrics.js +18 -0
  309. package/dist/observability/metrics.js.map +1 -0
  310. package/dist/packager/manifest.d.ts +49 -0
  311. package/dist/packager/manifest.d.ts.map +1 -0
  312. package/dist/packager/manifest.js +49 -0
  313. package/dist/packager/manifest.js.map +1 -0
  314. package/dist/packager/publish.d.ts +51 -0
  315. package/dist/packager/publish.d.ts.map +1 -0
  316. package/dist/packager/publish.js +18 -0
  317. package/dist/packager/publish.js.map +1 -0
  318. package/dist/packager/targetcli.d.ts +7 -0
  319. package/dist/packager/targetcli.d.ts.map +1 -0
  320. package/dist/packager/targetcli.js +22 -0
  321. package/dist/packager/targetcli.js.map +1 -0
  322. package/dist/persistence/adapter.d.ts +5 -0
  323. package/dist/persistence/adapter.d.ts.map +1 -0
  324. package/dist/persistence/adapter.js +11 -0
  325. package/dist/persistence/adapter.js.map +1 -0
  326. package/dist/persistence/drizzle.d.ts +2 -0
  327. package/dist/persistence/drizzle.d.ts.map +1 -0
  328. package/dist/persistence/drizzle.js +12 -0
  329. package/dist/persistence/drizzle.js.map +1 -0
  330. package/dist/persistence/memory.d.ts +2 -0
  331. package/dist/persistence/memory.d.ts.map +1 -0
  332. package/dist/persistence/memory.js +27 -0
  333. package/dist/persistence/memory.js.map +1 -0
  334. package/dist/persistence/migrations.d.ts +19 -0
  335. package/dist/persistence/migrations.d.ts.map +1 -0
  336. package/{persistence → dist/persistence}/migrations.js +4 -5
  337. package/dist/persistence/migrations.js.map +1 -0
  338. package/dist/persistence/prisma.d.ts +2 -0
  339. package/dist/persistence/prisma.d.ts.map +1 -0
  340. package/dist/persistence/prisma.js +25 -0
  341. package/dist/persistence/prisma.js.map +1 -0
  342. package/dist/persistence/schema.d.ts +63 -0
  343. package/dist/persistence/schema.d.ts.map +1 -0
  344. package/dist/persistence/schema.js +28 -0
  345. package/dist/persistence/schema.js.map +1 -0
  346. package/dist/persistence/sql.d.ts +3 -0
  347. package/dist/persistence/sql.d.ts.map +1 -0
  348. package/dist/persistence/sql.js +37 -0
  349. package/dist/persistence/sql.js.map +1 -0
  350. package/dist/protocol/blocks.d.ts +10 -0
  351. package/dist/protocol/blocks.d.ts.map +1 -0
  352. package/dist/protocol/blocks.js +26 -0
  353. package/dist/protocol/blocks.js.map +1 -0
  354. package/dist/protocol/json.d.ts +6 -0
  355. package/dist/protocol/json.d.ts.map +1 -0
  356. package/{protocol → dist/protocol}/json.js +1 -0
  357. package/dist/protocol/json.js.map +1 -0
  358. package/dist/protocol/ndjson.d.ts +3 -0
  359. package/dist/protocol/ndjson.d.ts.map +1 -0
  360. package/dist/protocol/ndjson.js +20 -0
  361. package/dist/protocol/ndjson.js.map +1 -0
  362. package/dist/protocol/sse.d.ts +7 -0
  363. package/dist/protocol/sse.d.ts.map +1 -0
  364. package/dist/protocol/sse.js +25 -0
  365. package/dist/protocol/sse.js.map +1 -0
  366. package/dist/proxy/pool.d.ts +9 -0
  367. package/dist/proxy/pool.d.ts.map +1 -0
  368. package/dist/proxy/pool.js +27 -0
  369. package/dist/proxy/pool.js.map +1 -0
  370. package/dist/queue/idempotency.d.ts +10 -0
  371. package/dist/queue/idempotency.d.ts.map +1 -0
  372. package/dist/queue/idempotency.js +13 -0
  373. package/dist/queue/idempotency.js.map +1 -0
  374. package/dist/queue/persistent.d.ts +13 -0
  375. package/dist/queue/persistent.d.ts.map +1 -0
  376. package/dist/queue/persistent.js +49 -0
  377. package/dist/queue/persistent.js.map +1 -0
  378. package/dist/queue/queue.d.ts +7 -0
  379. package/dist/queue/queue.d.ts.map +1 -0
  380. package/dist/queue/queue.js +55 -0
  381. package/dist/queue/queue.js.map +1 -0
  382. package/dist/queue/saga.d.ts +5 -0
  383. package/dist/queue/saga.d.ts.map +1 -0
  384. package/dist/queue/saga.js +20 -0
  385. package/dist/queue/saga.js.map +1 -0
  386. package/dist/release/assets.d.ts +118 -0
  387. package/dist/release/assets.d.ts.map +1 -0
  388. package/dist/release/assets.js +69 -0
  389. package/dist/release/assets.js.map +1 -0
  390. package/dist/runners/health.d.ts +36 -0
  391. package/dist/runners/health.d.ts.map +1 -0
  392. package/dist/runners/health.js +26 -0
  393. package/dist/runners/health.js.map +1 -0
  394. package/dist/runners/heartbeat.d.ts +23 -0
  395. package/dist/runners/heartbeat.d.ts.map +1 -0
  396. package/dist/runners/heartbeat.js +29 -0
  397. package/dist/runners/heartbeat.js.map +1 -0
  398. package/dist/runners/inprocess.d.ts +17 -0
  399. package/dist/runners/inprocess.d.ts.map +1 -0
  400. package/dist/runners/inprocess.js +20 -0
  401. package/dist/runners/inprocess.js.map +1 -0
  402. package/dist/runners/scheduler.d.ts +5 -0
  403. package/dist/runners/scheduler.d.ts.map +1 -0
  404. package/dist/runners/scheduler.js +19 -0
  405. package/dist/runners/scheduler.js.map +1 -0
  406. package/dist/runtime/abort.d.ts +8 -0
  407. package/dist/runtime/abort.d.ts.map +1 -0
  408. package/dist/runtime/abort.js +13 -0
  409. package/dist/runtime/abort.js.map +1 -0
  410. package/dist/runtime/compatibility.d.ts +37 -0
  411. package/dist/runtime/compatibility.d.ts.map +1 -0
  412. package/{runtime → dist/runtime}/compatibility.js +1 -4
  413. package/dist/runtime/compatibility.js.map +1 -0
  414. package/dist/runtime/detect.d.ts +13 -0
  415. package/dist/runtime/detect.d.ts.map +1 -0
  416. package/dist/runtime/detect.js +18 -0
  417. package/dist/runtime/detect.js.map +1 -0
  418. package/dist/runtime/engine.d.ts +20 -0
  419. package/dist/runtime/engine.d.ts.map +1 -0
  420. package/dist/runtime/engine.js +61 -0
  421. package/dist/runtime/engine.js.map +1 -0
  422. package/dist/runtime/retry.d.ts +19 -0
  423. package/dist/runtime/retry.d.ts.map +1 -0
  424. package/dist/runtime/retry.js +54 -0
  425. package/dist/runtime/retry.js.map +1 -0
  426. package/dist/runtime/worker.d.ts +10 -0
  427. package/dist/runtime/worker.d.ts.map +1 -0
  428. package/dist/runtime/worker.js +25 -0
  429. package/dist/runtime/worker.js.map +1 -0
  430. package/dist/scrape/cache.d.ts +45 -0
  431. package/dist/scrape/cache.d.ts.map +1 -0
  432. package/dist/scrape/cache.js +45 -0
  433. package/dist/scrape/cache.js.map +1 -0
  434. package/dist/scrape/crawl.d.ts +47 -0
  435. package/dist/scrape/crawl.d.ts.map +1 -0
  436. package/dist/scrape/crawl.js +114 -0
  437. package/dist/scrape/crawl.js.map +1 -0
  438. package/dist/scrape/extract.d.ts +63 -0
  439. package/dist/scrape/extract.d.ts.map +1 -0
  440. package/dist/scrape/extract.js +47 -0
  441. package/dist/scrape/extract.js.map +1 -0
  442. package/dist/scrape/normalize.d.ts +52 -0
  443. package/dist/scrape/normalize.d.ts.map +1 -0
  444. package/dist/scrape/normalize.js +102 -0
  445. package/dist/scrape/normalize.js.map +1 -0
  446. package/dist/scrape/robots.d.ts +37 -0
  447. package/dist/scrape/robots.d.ts.map +1 -0
  448. package/dist/scrape/robots.js +71 -0
  449. package/dist/scrape/robots.js.map +1 -0
  450. package/dist/scrape/schema.d.ts +5 -0
  451. package/dist/scrape/schema.d.ts.map +1 -0
  452. package/dist/scrape/schema.js +25 -0
  453. package/dist/scrape/schema.js.map +1 -0
  454. package/dist/scrape/scraper.d.ts +6 -0
  455. package/dist/scrape/scraper.d.ts.map +1 -0
  456. package/dist/scrape/scraper.js +46 -0
  457. package/dist/scrape/scraper.js.map +1 -0
  458. package/dist/scrape/semantic.d.ts +25 -0
  459. package/dist/scrape/semantic.d.ts.map +1 -0
  460. package/dist/scrape/semantic.js +27 -0
  461. package/dist/scrape/semantic.js.map +1 -0
  462. package/dist/server/node.d.ts +7 -0
  463. package/dist/server/node.d.ts.map +1 -0
  464. package/dist/server/node.js +38 -0
  465. package/dist/server/node.js.map +1 -0
  466. package/dist/sessions/file.d.ts +25 -0
  467. package/dist/sessions/file.d.ts.map +1 -0
  468. package/dist/sessions/file.js +13 -0
  469. package/dist/sessions/file.js.map +1 -0
  470. package/dist/sessions/replay.d.ts +9 -0
  471. package/dist/sessions/replay.d.ts.map +1 -0
  472. package/dist/sessions/replay.js +70 -0
  473. package/dist/sessions/replay.js.map +1 -0
  474. package/dist/sessions/store.d.ts +25 -0
  475. package/dist/sessions/store.d.ts.map +1 -0
  476. package/dist/sessions/store.js +13 -0
  477. package/dist/sessions/store.js.map +1 -0
  478. package/dist/storage/adapter.d.ts +5 -0
  479. package/dist/storage/adapter.d.ts.map +1 -0
  480. package/dist/storage/adapter.js +11 -0
  481. package/dist/storage/adapter.js.map +1 -0
  482. package/dist/storage/cache.d.ts +23 -0
  483. package/dist/storage/cache.d.ts.map +1 -0
  484. package/dist/storage/cache.js +79 -0
  485. package/dist/storage/cache.js.map +1 -0
  486. package/dist/storage/checksum.d.ts +3 -0
  487. package/dist/storage/checksum.d.ts.map +1 -0
  488. package/dist/storage/checksum.js +19 -0
  489. package/dist/storage/checksum.js.map +1 -0
  490. package/dist/storage/chunked.d.ts +21 -0
  491. package/dist/storage/chunked.d.ts.map +1 -0
  492. package/dist/storage/chunked.js +67 -0
  493. package/dist/storage/chunked.js.map +1 -0
  494. package/dist/storage/content.d.ts +24 -0
  495. package/dist/storage/content.d.ts.map +1 -0
  496. package/dist/storage/content.js +44 -0
  497. package/dist/storage/content.js.map +1 -0
  498. package/dist/storage/filehosting.d.ts +2 -0
  499. package/dist/storage/filehosting.d.ts.map +1 -0
  500. package/dist/storage/filehosting.js +24 -0
  501. package/dist/storage/filehosting.js.map +1 -0
  502. package/dist/storage/githubcontents.d.ts +2 -0
  503. package/dist/storage/githubcontents.d.ts.map +1 -0
  504. package/dist/storage/githubcontents.js +29 -0
  505. package/dist/storage/githubcontents.js.map +1 -0
  506. package/dist/storage/index.d.ts +11 -0
  507. package/dist/storage/index.d.ts.map +1 -0
  508. package/{storage → dist/storage}/index.js +1 -0
  509. package/dist/storage/index.js.map +1 -0
  510. package/dist/storage/local.d.ts +2 -0
  511. package/dist/storage/local.d.ts.map +1 -0
  512. package/dist/storage/local.js +72 -0
  513. package/dist/storage/local.js.map +1 -0
  514. package/dist/storage/memory.d.ts +6 -0
  515. package/dist/storage/memory.d.ts.map +1 -0
  516. package/dist/storage/memory.js +36 -0
  517. package/dist/storage/memory.js.map +1 -0
  518. package/dist/storage/s3compatible.d.ts +2 -0
  519. package/dist/storage/s3compatible.d.ts.map +1 -0
  520. package/dist/storage/s3compatible.js +31 -0
  521. package/dist/storage/s3compatible.js.map +1 -0
  522. package/dist/storage/sync.d.ts +47 -0
  523. package/dist/storage/sync.d.ts.map +1 -0
  524. package/dist/storage/sync.js +75 -0
  525. package/dist/storage/sync.js.map +1 -0
  526. package/dist/surfaces/adapters.d.ts +97 -0
  527. package/dist/surfaces/adapters.d.ts.map +1 -0
  528. package/dist/surfaces/adapters.js +50 -0
  529. package/dist/surfaces/adapters.js.map +1 -0
  530. package/dist/surfaces/controls.d.ts +18 -0
  531. package/dist/surfaces/controls.d.ts.map +1 -0
  532. package/dist/surfaces/controls.js +45 -0
  533. package/dist/surfaces/controls.js.map +1 -0
  534. package/dist/surfaces/manifest.d.ts +68 -0
  535. package/dist/surfaces/manifest.d.ts.map +1 -0
  536. package/dist/surfaces/manifest.js +42 -0
  537. package/dist/surfaces/manifest.js.map +1 -0
  538. package/dist/surfaces/n8n.d.ts +25 -0
  539. package/dist/surfaces/n8n.d.ts.map +1 -0
  540. package/dist/surfaces/n8n.js +31 -0
  541. package/dist/surfaces/n8n.js.map +1 -0
  542. package/dist/surfaces/operations.d.ts +32 -0
  543. package/dist/surfaces/operations.d.ts.map +1 -0
  544. package/dist/surfaces/operations.js +53 -0
  545. package/dist/surfaces/operations.js.map +1 -0
  546. package/dist/surfaces/targets.d.ts +196 -0
  547. package/dist/surfaces/targets.d.ts.map +1 -0
  548. package/dist/surfaces/targets.js +27 -0
  549. package/dist/surfaces/targets.js.map +1 -0
  550. package/dist/webhook/delivery.d.ts +18 -0
  551. package/dist/webhook/delivery.d.ts.map +1 -0
  552. package/dist/webhook/delivery.js +36 -0
  553. package/dist/webhook/delivery.js.map +1 -0
  554. package/dist/webhook/receiver.d.ts +26 -0
  555. package/dist/webhook/receiver.d.ts.map +1 -0
  556. package/dist/webhook/receiver.js +24 -0
  557. package/dist/webhook/receiver.js.map +1 -0
  558. package/dist/webhook/signature.d.ts +3 -0
  559. package/dist/webhook/signature.d.ts.map +1 -0
  560. package/{webhook → dist/webhook}/signature.js +1 -1
  561. package/dist/webhook/signature.js.map +1 -0
  562. package/dist/workflow/manifest.d.ts +21 -0
  563. package/dist/workflow/manifest.d.ts.map +1 -0
  564. package/dist/workflow/manifest.js +20 -0
  565. package/dist/workflow/manifest.js.map +1 -0
  566. package/dist/workflow/registry.d.ts +7 -0
  567. package/dist/workflow/registry.d.ts.map +1 -0
  568. package/dist/workflow/registry.js +18 -0
  569. package/dist/workflow/registry.js.map +1 -0
  570. package/dist/workflow/templates.d.ts +6 -0
  571. package/dist/workflow/templates.d.ts.map +1 -0
  572. package/dist/workflow/templates.js +18 -0
  573. package/dist/workflow/templates.js.map +1 -0
  574. package/dist/workflow/triggers.d.ts +36 -0
  575. package/dist/workflow/triggers.d.ts.map +1 -0
  576. package/dist/workflow/triggers.js +33 -0
  577. package/dist/workflow/triggers.js.map +1 -0
  578. package/docs/enginearchitecture.md +5 -4
  579. package/docs/gapmatrix.md +2 -2
  580. package/docs/libraryapi.md +4 -4
  581. package/docs/release.md +5 -5
  582. package/docs/releaseassets.md +1 -1
  583. package/docs/reorganization-1.8.8.md +31 -0
  584. package/docs/reorganization-1.8.9.md +28 -0
  585. package/docs/toolchainresearch-1.8.9.md +18 -0
  586. package/extension/manifest.json +1 -1
  587. package/package.json +61 -91
  588. package/adapters/forge.js +0 -16
  589. package/adapters/github.js +0 -19
  590. package/adapters/gitlab.js +0 -10
  591. package/adapters/socket.js +0 -14
  592. package/adapters/transport.js +0 -30
  593. package/ai/chunk.js +0 -22
  594. package/ai/llmstxt.js +0 -12
  595. package/ai/provenance.js +0 -18
  596. package/ai/rag.js +0 -14
  597. package/api/auth.js +0 -13
  598. package/api/control.js +0 -33
  599. package/api/rate.js +0 -31
  600. package/api/security.js +0 -42
  601. package/api/service.js +0 -36
  602. package/binary/build.js +0 -17
  603. package/bot/adapter.js +0 -8
  604. package/bot/bot.js +0 -39
  605. package/bot/commands.js +0 -18
  606. package/bot/permissions.js +0 -16
  607. package/browser/actions.js +0 -33
  608. package/browser/agent.js +0 -9
  609. package/browser/context.js +0 -52
  610. package/browser/playwright.js +0 -22
  611. package/browser/recorder.js +0 -21
  612. package/browser/session.js +0 -19
  613. package/browser/snapshot.js +0 -57
  614. package/captcha/contract.js +0 -15
  615. package/captcha/evidence.js +0 -9
  616. package/captcha/guard.js +0 -10
  617. package/cli/main.js +0 -36
  618. package/core/errors.js +0 -37
  619. package/core/events.js +0 -21
  620. package/core/hash.js +0 -73
  621. package/core/ids.js +0 -15
  622. package/crawl/crawler.js +0 -29
  623. package/crawl/frontier.js +0 -34
  624. package/crawl/normalize.js +0 -14
  625. package/crawl/persistent.js +0 -13
  626. package/dispatch/resumable.js +0 -31
  627. package/dispatch/workflow.js +0 -33
  628. package/domain/artifacts.js +0 -13
  629. package/domain/jobs.js +0 -20
  630. package/domain/sessions.js +0 -46
  631. package/errors/taxonomy.js +0 -18
  632. package/extension/build.js +0 -46
  633. package/extension/content.js +0 -127
  634. package/extension/pagebridge.js +0 -41
  635. package/extension/permissions.js +0 -22
  636. package/extension/popup.css +0 -13
  637. package/extension/popup.html +0 -24
  638. package/extension/popup.js +0 -25
  639. package/extension/protocol.js +0 -95
  640. package/extension/serviceworker.js +0 -109
  641. package/extension/worker.js +0 -22
  642. package/format/check.js +0 -21
  643. package/library/public.js +0 -85
  644. package/mcp/browser.js +0 -12
  645. package/mcp/server.js +0 -28
  646. package/mcp/transport.js +0 -14
  647. package/memory/bridge.js +0 -16
  648. package/memory/engine.js +0 -45
  649. package/memory/modes.js +0 -55
  650. package/memory/objects.js +0 -18
  651. package/memory/targets.js +0 -21
  652. package/memory/transforms.js +0 -15
  653. package/modes/resolve.js +0 -39
  654. package/packager/manifest.js +0 -28
  655. package/packager/publish.js +0 -15
  656. package/persistence/adapter.js +0 -8
  657. package/persistence/drizzle.js +0 -10
  658. package/persistence/memory.js +0 -26
  659. package/persistence/prisma.js +0 -23
  660. package/persistence/schema.js +0 -29
  661. package/persistence/sql.js +0 -30
  662. package/protocol/blocks.js +0 -18
  663. package/protocol/ndjson.js +0 -17
  664. package/protocol/sse.js +0 -22
  665. package/proxy/pool.js +0 -12
  666. package/queue/idempotency.js +0 -12
  667. package/queue/persistent.js +0 -44
  668. package/queue/queue.js +0 -50
  669. package/queue/saga.js +0 -13
  670. package/release/assets.js +0 -70
  671. package/retry/circuit.js +0 -15
  672. package/retry/policy.js +0 -12
  673. package/runners/health.js +0 -23
  674. package/runners/heartbeat.js +0 -26
  675. package/runners/inprocess.js +0 -19
  676. package/runners/scheduler.js +0 -16
  677. package/runtime/abort.js +0 -10
  678. package/runtime/detect.js +0 -14
  679. package/runtime/engine.js +0 -56
  680. package/runtime/worker.js +0 -18
  681. package/scrape/agent.ts +0 -122
  682. package/scrape/batch.ts +0 -79
  683. package/scrape/biome.json +0 -76
  684. package/scrape/browser.ts +0 -222
  685. package/scrape/cache.js +0 -14
  686. package/scrape/cache.ts +0 -84
  687. package/scrape/chunking.ts +0 -193
  688. package/scrape/cli.ts +0 -105
  689. package/scrape/crawler.ts +0 -115
  690. package/scrape/dev-server.ts +0 -94
  691. package/scrape/errors.ts +0 -132
  692. package/scrape/events.ts +0 -26
  693. package/scrape/extract.js +0 -14
  694. package/scrape/extract.ts +0 -165
  695. package/scrape/fetch.ts +0 -105
  696. package/scrape/formats.ts +0 -85
  697. package/scrape/headers.ts +0 -71
  698. package/scrape/index.ts +0 -92
  699. package/scrape/jsdom.d.ts +0 -6
  700. package/scrape/llms-txt.ts +0 -84
  701. package/scrape/middleware.ts +0 -90
  702. package/scrape/normalize.js +0 -86
  703. package/scrape/pool.ts +0 -95
  704. package/scrape/port.ts +0 -18
  705. package/scrape/proxy.ts +0 -103
  706. package/scrape/rate-limiter.ts +0 -95
  707. package/scrape/renderer.ts +0 -194
  708. package/scrape/retry.ts +0 -64
  709. package/scrape/robots.js +0 -32
  710. package/scrape/robots.ts +0 -137
  711. package/scrape/schema.js +0 -21
  712. package/scrape/scrape.ts +0 -123
  713. package/scrape/scraper.js +0 -40
  714. package/scrape/semantic.js +0 -22
  715. package/scrape/serialize.ts +0 -310
  716. package/scrape/server.ts +0 -137
  717. package/scrape/session.ts +0 -109
  718. package/scrape/sitemap.ts +0 -131
  719. package/scrape/tokens.ts +0 -45
  720. package/scrape/tsconfig.json +0 -28
  721. package/scrape/types.ts +0 -214
  722. package/scrape/utils.ts +0 -77
  723. package/scrape/vite.config.ts +0 -55
  724. package/scrape/vitest.config.ts +0 -17
  725. package/server/node.js +0 -34
  726. package/sessions/file.js +0 -13
  727. package/sessions/replay.js +0 -61
  728. package/sessions/store.js +0 -13
  729. package/storage/adapter.js +0 -8
  730. package/storage/cache.js +0 -54
  731. package/storage/checksum.js +0 -17
  732. package/storage/chunked.js +0 -58
  733. package/storage/content.js +0 -42
  734. package/storage/filehosting.js +0 -17
  735. package/storage/githubcontents.js +0 -18
  736. package/storage/local.js +0 -35
  737. package/storage/memory.js +0 -28
  738. package/storage/s3compatible.js +0 -23
  739. package/storage/sync.js +0 -55
  740. package/surfaces/adapters.js +0 -48
  741. package/surfaces/controls.js +0 -37
  742. package/surfaces/manifest.js +0 -25
  743. package/surfaces/n8n.js +0 -24
  744. package/surfaces/operations.js +0 -43
  745. package/surfaces/targets.js +0 -16
  746. package/webhook/delivery.js +0 -26
  747. package/webhook/receiver.js +0 -20
  748. package/workflow/manifest.js +0 -20
  749. package/workflow/registry.js +0 -16
  750. package/workflow/templates.js +0 -18
  751. package/workflow/triggers.js +0 -31
@@ -0,0 +1,22 @@
1
+ /**
2
+ * target manifest CLI writes declarative target plans for CI artifact jobs.
3
+ * It never invokes a desktop, mobile, store or signing toolchain.
4
+ */
5
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
6
+ import { resolve } from "node:path";
7
+ import { targetplan } from "./manifest.js";
8
+ /** Reads the distribution manifest and writes one target plan. */
9
+ export async function writeTargetPlan(target, format = target, output = "build/targets") {
10
+ const packagejson = JSON.parse(await readFile(resolve("package.json"), "utf8"));
11
+ const manifest = { name: packagejson.name, version: packagejson.version, entry: "dist/index.js" };
12
+ const plan = targetplan(manifest, target, { format });
13
+ await mkdir(resolve(output), { recursive: true });
14
+ const filename = resolve(output, `${target}-${format}.json`);
15
+ await writeFile(filename, `${JSON.stringify(plan, null, 2)}\n`);
16
+ return filename;
17
+ }
18
+ if (process.argv[1]?.endsWith("targetcli.js") || process.argv[1]?.endsWith("targetcli.ts")) {
19
+ const [, , target = "library", format = target, output = "build/targets"] = process.argv;
20
+ writeTargetPlan(target, format, output).then((filename) => console.log(`target plan: ${filename}`)).catch((error) => { console.error(error.message); process.exitCode = 1; });
21
+ }
22
+ //# sourceMappingURL=targetcli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targetcli.js","sourceRoot":"","sources":["../../packager/targetcli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,eAAe;IAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAClG,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,OAAO,CAAC,CAAC;IAC7D,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IAC3F,MAAM,CAAC,EAAE,AAAD,EAAG,MAAM,GAAG,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACzF,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChL,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * persistence adapters keep database and remote state outside the runtime core.
3
+ */
4
+ export declare function persistenceadapter(methods: any): any;
5
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../persistence/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,KAAA,OAIzC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * persistence adapters keep database and remote state outside the runtime core.
3
+ */
4
+ export function persistenceadapter(methods) {
5
+ const required = ["savejob", "getjob", "updatejob", "listjobs", "saveevent", "listevents", "savesession", "readsession", "saveartifact", "getartifact", "savechunk", "getchunks"];
6
+ for (const name of required)
7
+ if (typeof methods?.[name] !== "function")
8
+ throw new TypeError(`persistence adapter requires ${name}`);
9
+ return methods;
10
+ }
11
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../persistence/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAO;IACxC,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAClL,KAAK,MAAM,IAAI,IAAI,QAAQ;QAAE,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,UAAU;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;IACpI,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function drizzlepersistence(repository: any): any;
2
+ //# sourceMappingURL=drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../../persistence/drizzle.ts"],"names":[],"mappings":"AAKA,wBAAgB,kBAAkB,CAAC,UAAU,KAAA,OAI5C"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * drizzle persistence accepts a small repository object generated by the caller's schema.
3
+ */
4
+ import { persistenceadapter } from "./adapter.js";
5
+ export function drizzlepersistence(repository) {
6
+ const required = ["savejob", "getjob", "updatejob", "listjobs", "saveevent", "listevents", "savesession", "readsession", "saveartifact", "getartifact", "savechunk", "getchunks"];
7
+ for (const name of required)
8
+ if (typeof repository?.[name] !== "function")
9
+ throw new TypeError(`drizzle repository requires ${name}`);
10
+ return persistenceadapter(repository);
11
+ }
12
+ //# sourceMappingURL=drizzle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../../persistence/drizzle.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,UAAU,kBAAkB,CAAC,UAAU;IAC3C,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAClL,KAAK,MAAM,IAAI,IAAI,QAAQ;QAAE,IAAI,OAAO,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,UAAU;YAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACtI,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function memorypersistence(): any;
2
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../persistence/memory.ts"],"names":[],"mappings":"AAKA,wBAAgB,iBAAiB,QAoBhC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * memory persistence is the local baseline for tests and offline operation.
3
+ */
4
+ import { persistenceadapter } from "./adapter.js";
5
+ export function memorypersistence() {
6
+ const jobs = new Map();
7
+ const events = new Map();
8
+ const sessions = new Map();
9
+ const artifacts = new Map();
10
+ const chunks = new Map();
11
+ return persistenceadapter({
12
+ async savejob(job) { jobs.set(job.id, structuredClone(job)); return jobs.get(job.id); },
13
+ async getjob(id) { return jobs.get(id) ? structuredClone(jobs.get(id)) : null; },
14
+ async updatejob(id, patch) { const current = jobs.get(id); if (!current)
15
+ return null; const next = { ...current, ...patch, updatedat: Date.now() }; jobs.set(id, next); return structuredClone(next); },
16
+ async listjobs(filter = {}) { return [...jobs.values()].filter((job) => Object.entries(filter).every(([key, value]) => job[key] === value)).map((job) => structuredClone(job)); },
17
+ async saveevent(event) { const list = events.get(event.jobid) ?? []; list.push(structuredClone(event)); events.set(event.jobid, list); return event; },
18
+ async listevents(jobid) { return (events.get(jobid) ?? []).map((event) => structuredClone(event)); },
19
+ async savesession(session) { sessions.set(session.id, structuredClone(session)); return structuredClone(session); },
20
+ async readsession(id) { return sessions.get(id) ? structuredClone(sessions.get(id)) : null; },
21
+ async saveartifact(artifact) { artifacts.set(artifact.key, structuredClone(artifact)); return structuredClone(artifact); },
22
+ async getartifact(key) { return artifacts.get(key) ? structuredClone(artifacts.get(key)) : null; },
23
+ async savechunk(chunk) { chunks.set(chunk.id, structuredClone(chunk)); return structuredClone(chunk); },
24
+ async getchunks(artifactkey) { return [...chunks.values()].filter((chunk) => chunk.artifactkey === artifactkey).sort((left, right) => left.index - right.index).map((chunk) => structuredClone(chunk)); }
25
+ });
26
+ }
27
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../persistence/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * migration plans stay neutral so Prisma, Drizzle, MySQL2, Turso, and another SQL driver can map them.
3
+ */
4
+ export declare const migrationlist: readonly {
5
+ version: number;
6
+ name: string;
7
+ tables: string[];
8
+ }[];
9
+ /** Returns pending migration statements for a dialect. */
10
+ export declare function migrationplan(options?: {}): {
11
+ version: number;
12
+ name: string;
13
+ tables: string[];
14
+ statements: string[];
15
+ dialect: any;
16
+ }[];
17
+ /** Returns the latest schema version. */
18
+ export declare function latestmigration(): number;
19
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../persistence/migrations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa;;;;GAIxB,CAAC;AAEH,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,OAAO,KAAK;;;;;;IAAkpB;AAE5rB,yCAAyC;AACzC,wBAAgB,eAAe,WAA2C"}
@@ -2,13 +2,12 @@
2
2
  * migration plans stay neutral so Prisma, Drizzle, MySQL2, Turso, and another SQL driver can map them.
3
3
  */
4
4
  export const migrationlist = Object.freeze([
5
- { version: 1, name: "baseoperational", tables: ["jobs", "events", "sessions", "artifacts", "chunks"] },
6
- { version: 2, name: "persistentqueue", tables: ["queueitems"] },
7
- { version: 3, name: "webhookdeliveries", tables: ["webhookdeliveries"] }
5
+ { version: 1, name: "baseoperational", tables: ["jobs", "events", "sessions", "artifacts", "chunks"] },
6
+ { version: 2, name: "persistentqueue", tables: ["queueitems"] },
7
+ { version: 3, name: "webhookdeliveries", tables: ["webhookdeliveries"] }
8
8
  ]);
9
-
10
9
  /** Returns pending migration statements for a dialect. */
11
10
  export function migrationplan(options = {}) { const current = options.current ?? 0; const dialect = options.dialect ?? "mysql"; return migrationlist.filter((migration) => migration.version > current).map((migration) => ({ ...migration, statements: migration.version === 2 ? [`create table if not exists queueitems (id text primary key, status text not null, attempts integer not null, payload json not null, result json, error json, createdat bigint not null, updatedat bigint not null)`] : migration.version === 3 ? [`create table if not exists webhookdeliveries (id text primary key, event text not null, receivedat bigint not null, processedat bigint, payload json not null)`] : [], dialect })); }
12
-
13
11
  /** Returns the latest schema version. */
14
12
  export function latestmigration() { return migrationlist.at(-1).version; }
13
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../persistence/migrations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE;IACtG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE;IAC/D,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,EAAE;CACzE,CAAC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,EAAE,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oNAAoN,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,gKAAgK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5rB,yCAAyC;AACzC,MAAM,UAAU,eAAe,KAAK,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function prismapersistence(client: any, options?: {}): any;
2
+ //# sourceMappingURL=prisma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../persistence/prisma.ts"],"names":[],"mappings":"AAKA,wBAAgB,iBAAiB,CAAC,MAAM,KAAA,EAAE,OAAO,KAAK,OAiBrD"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * prisma persistence maps model delegates through an explicit model configuration.
3
+ */
4
+ import { persistenceadapter } from "./adapter.js";
5
+ export function prismapersistence(client, options = {}) {
6
+ const models = { jobs: options.jobs ?? client?.job, events: options.events ?? client?.event, sessions: options.sessions ?? client?.session, artifacts: options.artifacts ?? client?.artifact, chunks: options.chunks ?? client?.chunk };
7
+ for (const [name, model] of Object.entries(models))
8
+ if (!model)
9
+ throw new TypeError(`prisma model is missing: ${name}`);
10
+ return persistenceadapter({
11
+ async savejob(job) { return models.jobs.upsert({ where: { id: job.id }, create: job, update: job }); },
12
+ async getjob(id) { return models.jobs.findUnique({ where: { id } }); },
13
+ async updatejob(id, patch) { return models.jobs.update({ where: { id }, data: { ...patch, updatedat: Date.now() } }); },
14
+ async listjobs(filter = {}) { return models.jobs.findMany({ where: filter, orderBy: { createdat: "desc" } }); },
15
+ async saveevent(event) { return models.events.create({ data: event }); },
16
+ async listevents(jobid) { return models.events.findMany({ where: { jobid }, orderBy: { at: "asc" } }); },
17
+ async savesession(session) { return models.sessions.upsert({ where: { id: session.id }, create: session, update: session }); },
18
+ async readsession(id) { return models.sessions.findUnique({ where: { id } }); },
19
+ async saveartifact(artifact) { return models.artifacts.upsert({ where: { key: artifact.key }, create: artifact, update: artifact }); },
20
+ async getartifact(key) { return models.artifacts.findUnique({ where: { key } }); },
21
+ async savechunk(chunk) { return models.chunks.upsert({ where: { id: chunk.id }, create: chunk, update: chunk }); },
22
+ async getchunks(artifactkey) { return models.chunks.findMany({ where: { artifactkey }, orderBy: { index: "asc" } }); }
23
+ });
24
+ }
25
+ //# sourceMappingURL=prisma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma.js","sourceRoot":"","sources":["../../persistence/prisma.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * the schema descriptor is neutral so prisma drizzle mysql2 or another driver can map it.
3
+ */
4
+ export declare const schemadefinition: Readonly<{
5
+ jobs: {
6
+ id: string;
7
+ name: string;
8
+ status: string;
9
+ priority: string;
10
+ input: string;
11
+ outputkey: string;
12
+ createdat: string;
13
+ updatedat: string;
14
+ };
15
+ events: {
16
+ id: string;
17
+ jobid: string;
18
+ type: string;
19
+ at: string;
20
+ data: string;
21
+ };
22
+ sessions: {
23
+ id: string;
24
+ version: string;
25
+ agentname: string;
26
+ originurl: string;
27
+ seed: string;
28
+ status: string;
29
+ startedat: string;
30
+ finishedat: string;
31
+ events: string;
32
+ };
33
+ artifacts: {
34
+ key: string;
35
+ sizebytes: string;
36
+ sha256: string;
37
+ contenttype: string;
38
+ createdat: string;
39
+ metadata: string;
40
+ };
41
+ chunks: {
42
+ id: string;
43
+ artifactkey: string;
44
+ index: string;
45
+ offset: string;
46
+ sizebytes: string;
47
+ sha256: string;
48
+ storagekey: string;
49
+ };
50
+ queueitems: {
51
+ id: string;
52
+ status: string;
53
+ attempts: string;
54
+ payload: string;
55
+ result: string;
56
+ error: string;
57
+ createdat: string;
58
+ updatedat: string;
59
+ };
60
+ }>;
61
+ export declare function schemasql(options?: {}): string[];
62
+ export declare function prismaschema(): string;
63
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../persistence/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB;;QACnB,EAAE;QAAsB,IAAI;QAAU,MAAM;QAAU,QAAQ;QAAa,KAAK;QAAU,SAAS;QAAU,SAAS;QAAa,SAAS;;;QAC1I,EAAE;QAAsB,KAAK;QAAU,IAAI;QAAU,EAAE;QAAa,IAAI;;;QACtE,EAAE;QAAsB,OAAO;QAAa,SAAS;QAAU,SAAS;QAAU,IAAI;QAAU,MAAM;QAAU,SAAS;QAAa,UAAU;QAAa,MAAM;;;QAClK,GAAG;QAAsB,SAAS;QAAY,MAAM;QAAU,WAAW;QAAU,SAAS;QAAa,QAAQ;;;QACpH,EAAE;QAAsB,WAAW;QAAU,KAAK;QAAa,MAAM;QAAY,SAAS;QAAa,MAAM;QAAU,UAAU;;;QAC5H,EAAE;QAAsB,MAAM;QAAU,QAAQ;QAAa,OAAO;QAAU,MAAM;QAAU,KAAK;QAAU,SAAS;QAAY,SAAS;;EAC1J,CAAC;AAEH,wBAAgB,SAAS,CAAC,OAAO,KAAK,YAYrC;AAED,wBAAgB,YAAY,WAE3B"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * the schema descriptor is neutral so prisma drizzle mysql2 or another driver can map it.
3
+ */
4
+ export const schemadefinition = Object.freeze({
5
+ jobs: { id: "text primary key", name: "text", status: "text", priority: "integer", input: "json", outputkey: "text", createdat: "integer", updatedat: "integer" },
6
+ events: { id: "text primary key", jobid: "text", type: "text", at: "integer", data: "json" },
7
+ sessions: { id: "text primary key", version: "integer", agentname: "text", originurl: "text", seed: "text", status: "text", startedat: "integer", finishedat: "integer", events: "json" },
8
+ artifacts: { key: "text primary key", sizebytes: "bigint", sha256: "text", contenttype: "text", createdat: "integer", metadata: "json" },
9
+ chunks: { id: "text primary key", artifactkey: "text", index: "integer", offset: "bigint", sizebytes: "integer", sha256: "text", storagekey: "text" },
10
+ queueitems: { id: "text primary key", status: "text", attempts: "integer", payload: "json", result: "json", error: "json", createdat: "bigint", updatedat: "bigint" }
11
+ });
12
+ export function schemasql(options = {}) {
13
+ const dialect = options.dialect ?? "mysql";
14
+ const json = dialect === "postgres" ? "jsonb" : "json";
15
+ const bigint = dialect === "sqlite" ? "integer" : "bigint";
16
+ return [
17
+ `create table if not exists jobs (id text primary key, name text not null, status text not null, priority integer not null, input ${json}, outputkey text, createdat ${bigint} not null, updatedat ${bigint} not null)`,
18
+ `create table if not exists events (id text primary key, jobid text not null, type text not null, at ${bigint} not null, data ${json} not null)`,
19
+ `create table if not exists sessions (id text primary key, version integer not null, agentname text not null, originurl text not null, seed text not null, status text not null, startedat ${bigint} not null, finishedat ${bigint}, events ${json} not null)`,
20
+ `create table if not exists artifacts (key text primary key, sizebytes ${bigint} not null, sha256 text not null, contenttype text not null, createdat ${bigint} not null, metadata ${json} not null)`,
21
+ `create table if not exists chunks (id text primary key, artifactkey text not null, chunkindex integer not null, byteoffset ${bigint} not null, sizebytes integer not null, sha256 text not null, storagekey text not null)`,
22
+ `create table if not exists queueitems (id text primary key, status text not null, attempts integer not null, payload ${json} not null, result ${json}, error ${json}, createdat ${bigint} not null, updatedat ${bigint} not null)`
23
+ ];
24
+ }
25
+ export function prismaschema() {
26
+ return `model job { id String @id name String status String priority Int input Json? outputkey String? createdat BigInt updatedat BigInt }\nmodel event { id String @id jobid String type String at BigInt data Json }\nmodel session { id String @id version Int agentname String originurl String seed String status String startedat BigInt finishedat BigInt? events Json }\nmodel artifact { key String @id sizebytes BigInt sha256 String contenttype String createdat BigInt metadata Json }\nmodel chunk { id String @id artifactkey String chunkindex Int byteoffset BigInt sizebytes Int sha256 String storagekey String }`;
27
+ }
28
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../persistence/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;IACjK,MAAM,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5F,QAAQ,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;IACzL,SAAS,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE;IACxI,MAAM,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IACpJ,UAAU,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;CACvK,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS,CAAC,OAAO,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3D,OAAO;QACL,oIAAoI,IAAI,+BAA+B,MAAM,wBAAwB,MAAM,YAAY;QACvN,uGAAuG,MAAM,mBAAmB,IAAI,YAAY;QAChJ,6LAA6L,MAAM,yBAAyB,MAAM,YAAY,IAAI,YAAY;QAC9P,yEAAyE,MAAM,yEAAyE,MAAM,uBAAuB,IAAI,YAAY;QACrM,8HAA8H,MAAM,wFAAwF;QAC3N,wHAAwH,IAAI,qBAAqB,IAAI,WAAW,IAAI,eAAe,MAAM,wBAAwB,MAAM,YAAY;KACrO,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,8lBAA8lB,CAAC;AACxmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function sqlpersistence(options?: {}): any;
2
+ export declare function mysql2persistence(pool: any, options?: {}): any;
3
+ //# sourceMappingURL=sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../persistence/sql.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,OAAO,KAAK,OAmB1C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,KAAA,EAAE,OAAO,KAAK,OAA+M"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * sql persistence keeps query execution injected for mysql2 drizzle or another sql client.
3
+ */
4
+ import { persistenceadapter } from "./adapter.js";
5
+ export function sqlpersistence(options = {}) {
6
+ if (typeof options.query !== "function")
7
+ throw new TypeError("sql persistence requires query");
8
+ const table = options.table ?? { jobs: "jobs", events: "events", sessions: "sessions", artifacts: "artifacts", chunks: "chunks" };
9
+ async function one(statement, values = []) { const result = await options.query(statement, values); return result?.rows?.[0] ?? result?.[0]?.[0] ?? result?.[0] ?? null; }
10
+ async function many(statement, values = []) { const result = await options.query(statement, values); return result?.rows ?? result?.[0] ?? result ?? []; }
11
+ return persistenceadapter({
12
+ async savejob(job) { await options.query(`insert into ${table.jobs} (id,name,status,priority,input,outputkey,createdat,updatedat) values (?,?,?,?,?,?,?,?)`, [job.id, job.name, job.status, job.priority, JSON.stringify(job.input ?? null), job.outputkey ?? null, job.createdat, job.updatedat ?? job.createdat]); return job; },
13
+ async getjob(id) { const row = await one(`select * from ${table.jobs} where id = ?`, [id]); return row ? normalizejob(row) : null; },
14
+ async updatejob(id, patch) { const current = await this.getjob(id); if (!current)
15
+ return null; const next = { ...current, ...patch, updatedat: Date.now() }; await options.query(`update ${table.jobs} set status = ?, priority = ?, input = ?, outputkey = ?, updatedat = ? where id = ?`, [next.status, next.priority, JSON.stringify(next.input ?? null), next.outputkey ?? null, next.updatedat, id]); return next; },
16
+ async listjobs(filter = {}) { const rows = await many(`select * from ${table.jobs} order by createdat desc`, []); return rows.map(normalizejob).filter((job) => Object.entries(filter).every(([key, value]) => job[key] === value)); },
17
+ async saveevent(event) { await options.query(`insert into ${table.events} (id,jobid,type,at,data) values (?,?,?,?,?)`, [event.id, event.jobid, event.type, event.at, JSON.stringify(event.data ?? {})]); return event; },
18
+ async listevents(jobid) { return (await many(`select * from ${table.events} where jobid = ? order by at asc`, [jobid])).map((row) => ({ ...row, data: parsejson(row.data) })); },
19
+ async savesession(session) { await options.query(`insert into ${table.sessions} (id,version,agentname,originurl,seed,status,startedat,finishedat,events) values (?,?,?,?,?,?,?,?,?)`, [session.id, session.version, session.agentname, session.originurl, session.seed, session.status, session.startedat, session.finishedat ?? null, JSON.stringify(session.events ?? [])]); return session; },
20
+ async readsession(id) { const row = await one(`select * from ${table.sessions} where id = ?`, [id]); return row ? { ...row, events: parsejson(row.events) } : null; },
21
+ async saveartifact(artifact) { await options.query(`insert into ${table.artifacts} (key,sizebytes,sha256,contenttype,createdat,metadata) values (?,?,?,?,?,?)`, [artifact.key, artifact.sizebytes, artifact.sha256, artifact.contenttype, artifact.createdat, JSON.stringify(artifact.metadata ?? {})]); return artifact; },
22
+ async getartifact(key) { const row = await one(`select * from ${table.artifacts} where key = ?`, [key]); return row ? { ...row, metadata: parsejson(row.metadata) } : null; },
23
+ async savechunk(chunk) { await options.query(`insert into ${table.chunks} (id,artifactkey,chunkindex,byteoffset,sizebytes,sha256,storagekey) values (?,?,?,?,?,?,?)`, [chunk.id, chunk.artifactkey, chunk.index, chunk.offset, chunk.sizebytes, chunk.sha256, chunk.storagekey]); return chunk; },
24
+ async getchunks(artifactkey) { return (await many(`select * from ${table.chunks} where artifactkey = ? order by chunkindex asc`, [artifactkey])).map((row) => ({ ...row, index: row.index ?? row.chunkindex, offset: row.offset ?? row.byteoffset })); }
25
+ });
26
+ }
27
+ export function mysql2persistence(pool, options = {}) { if (typeof pool?.execute !== "function")
28
+ throw new TypeError("mysql2 pool requires execute"); return sqlpersistence({ ...options, query: async (statement, values) => pool.execute(statement, values) }); }
29
+ function normalizejob(row) { return { ...row, input: parsejson(row.input) }; }
30
+ function parsejson(value) { if (value == null || typeof value === "object")
31
+ return value; try {
32
+ return JSON.parse(value);
33
+ }
34
+ catch {
35
+ return value;
36
+ } }
37
+ //# sourceMappingURL=sql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../persistence/sql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * block streaming yields bounded chunks and lets the consumer control backpressure.
3
+ */
4
+ export declare function blockstream(input: any, options?: {}): AsyncGenerator<{
5
+ index: number;
6
+ offset: number;
7
+ data: Uint8Array<ArrayBuffer>;
8
+ final: boolean;
9
+ }, void, unknown>;
10
+ //# sourceMappingURL=blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../protocol/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAuB,WAAW,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK;;;;;kBAYrD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * block streaming yields bounded chunks and lets the consumer control backpressure.
3
+ */
4
+ export async function* blockstream(input, options = {}) {
5
+ const blockbytes = options.blockbytes;
6
+ if (!Number.isInteger(blockbytes) || blockbytes < 1)
7
+ throw new TypeError("blockbytes must be a positive integer");
8
+ let index = 0;
9
+ let offset = 0;
10
+ let pending = new Uint8Array(0);
11
+ for await (const part of input instanceof Uint8Array ? [input] : input) {
12
+ const data = part instanceof Uint8Array ? part : new TextEncoder().encode(String(part));
13
+ pending = concat(pending, data);
14
+ while (pending.byteLength > blockbytes) {
15
+ const block = pending.slice(0, blockbytes);
16
+ pending = pending.slice(blockbytes);
17
+ yield { index, offset, data: block, final: false };
18
+ index += 1;
19
+ offset += block.byteLength;
20
+ }
21
+ }
22
+ if (pending.byteLength)
23
+ yield { index, offset, data: pending, final: true };
24
+ }
25
+ function concat(left, right) { const output = new Uint8Array(left.byteLength + right.byteLength); output.set(left); output.set(right, left.byteLength); return output; }
26
+ //# sourceMappingURL=blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../protocol/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAClH,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC;YAAC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;QAAC,CAAC;IAC1N,CAAC;IACD,IAAI,OAAO,CAAC,UAAU;QAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * json helpers keep serialization rules explicit at the protocol boundary.
3
+ */
4
+ export declare function jsonencode(value: any): string;
5
+ export declare function jsondecode(value: any): any;
6
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../protocol/json.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,KAAA,UAAmC;AACnE,wBAAgB,UAAU,CAAC,KAAK,KAAA,OAA+B"}
@@ -3,3 +3,4 @@
3
3
  */
4
4
  export function jsonencode(value) { return JSON.stringify(value); }
5
5
  export function jsondecode(value) { return JSON.parse(value); }
6
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../protocol/json.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnE,MAAM,UAAU,UAAU,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function ndjsonencode(values: any): AsyncGenerator<string, void, unknown>;
2
+ export declare function ndjsondecode(input: any): AsyncGenerator<any, void, unknown>;
3
+ //# sourceMappingURL=ndjson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ndjson.d.ts","sourceRoot":"","sources":["../../protocol/ndjson.ts"],"names":[],"mappings":"AAKA,wBAAuB,YAAY,CAAC,MAAM,KAAA,yCAAuE;AAEjH,wBAAuB,YAAY,CAAC,KAAK,KAAA,sCASxC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ndjson supports append only records and incremental parsing.
3
+ */
4
+ import { jsondecode, jsonencode } from "./json.js";
5
+ export async function* ndjsonencode(values) { for await (const value of values)
6
+ yield `${jsonencode(value)}\n`; }
7
+ export async function* ndjsondecode(input) {
8
+ let buffer = "";
9
+ for await (const chunk of input) {
10
+ buffer += typeof chunk === "string" ? chunk : new TextDecoder().decode(chunk);
11
+ const lines = buffer.split(/\r?\n/);
12
+ buffer = lines.pop() ?? "";
13
+ for (const line of lines)
14
+ if (line.trim())
15
+ yield jsondecode(line);
16
+ }
17
+ if (buffer.trim())
18
+ yield jsondecode(buffer);
19
+ }
20
+ //# sourceMappingURL=ndjson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ndjson.js","sourceRoot":"","sources":["../../protocol/ndjson.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM;IAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAEjH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,KAAK;IACvC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function sseencode(event: any): string;
2
+ export declare function ssedecode(chunk: any): {
3
+ id: any;
4
+ event: any;
5
+ data: any;
6
+ };
7
+ //# sourceMappingURL=sse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../protocol/sse.ts"],"names":[],"mappings":"AAKA,wBAAgB,SAAS,CAAC,KAAK,KAAA,UAM9B;AAED,wBAAgB,SAAS,CAAC,KAAK,KAAA;IAOpB,EAAE;IAAa,KAAK;IAAgB,IAAI;EAClD"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * sse helpers encode typed events without requiring a web framework.
3
+ */
4
+ import { jsondecode, jsonencode } from "./json.js";
5
+ export function sseencode(event) {
6
+ const lines = [];
7
+ if (event.id !== undefined)
8
+ lines.push(`id: ${event.id}`);
9
+ if (event.event)
10
+ lines.push(`event: ${event.event}`);
11
+ for (const line of jsonencode(event.data ?? {}).split("\n"))
12
+ lines.push(`data: ${line}`);
13
+ return `${lines.join("\n")}\n\n`;
14
+ }
15
+ export function ssedecode(chunk) {
16
+ const fields = {};
17
+ for (const line of String(chunk).split(/\r?\n/)) {
18
+ const index = line.indexOf(":");
19
+ if (index < 0)
20
+ continue;
21
+ fields[line.slice(0, index)] = line.slice(index + 1).trimStart();
22
+ }
23
+ return { id: fields.id, event: fields.event, data: fields.data ? jsondecode(fields.data) : undefined };
24
+ }
25
+ //# sourceMappingURL=sse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../protocol/sse.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,UAAU,SAAS,CAAC,KAAK;IAC7B,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAK;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS;QACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACzG,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * proxy pool chooses healthy least used entries and never rotates blindly.
3
+ */
4
+ export declare function proxypool(options?: {}): {
5
+ choose: () => any;
6
+ report: (id: any, result?: {}) => any;
7
+ list(): any;
8
+ };
9
+ //# sourceMappingURL=pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../proxy/pool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,KAAK;;;;EAQrC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * proxy pool chooses healthy least used entries and never rotates blindly.
3
+ */
4
+ export function proxypool(options = {}) {
5
+ const entries = (options.proxies ?? []).map((proxy) => ({ ...proxy, failures: 0, uses: 0, status: "active", lastused: 0 }));
6
+ const threshold = options.failurethreshold ?? 3;
7
+ const recovery = options.recoverytime ?? 300000;
8
+ function revive() { const now = Date.now(); for (const entry of entries)
9
+ if (entry.status === "graveyard" && now - entry.failedat >= recovery) {
10
+ entry.status = "active";
11
+ entry.failures = 0;
12
+ } }
13
+ function choose() { revive(); const available = entries.filter((entry) => entry.status === "active"); if (!available.length)
14
+ throw new Error("proxy pool has no healthy entries"); const selected = [...available].sort((left, right) => left.uses - right.uses || left.lastused - right.lastused)[0]; selected.uses += 1; selected.lastused = Date.now(); return { ...selected }; }
15
+ function report(id, result = {}) { const entry = entries.find((value) => value.id === id); if (!entry)
16
+ return null; if (result.ok) {
17
+ entry.failures = 0;
18
+ entry.status = "active";
19
+ }
20
+ else {
21
+ entry.failures += 1;
22
+ entry.status = entry.failures >= threshold ? "graveyard" : "active";
23
+ entry.failedat = Date.now();
24
+ } return { ...entry }; }
25
+ return { choose, report, list() { revive(); return entries.map((entry) => ({ ...entry })); } };
26
+ }
27
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../proxy/pool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAO,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5H,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC;IAChD,SAAS,MAAM,KAAK,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,MAAM,KAAK,IAAI,OAAO;QAAE,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;YAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC;IACjM,SAAS,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpX,SAAS,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;IAAC,CAAC;SAAM,CAAC;QAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAAC,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1U,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * idempotency keys prevent duplicate delivery from at least once transports.
3
+ */
4
+ export declare function idempotency(): {
5
+ has(key: any): boolean;
6
+ get(key: any): any;
7
+ set(key: any, value: any): any;
8
+ delete(key: any): void;
9
+ };
10
+ //# sourceMappingURL=idempotency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../queue/idempotency.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW;;;;;EAQ1B"}