@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
package/README.md CHANGED
@@ -6,13 +6,13 @@
6
6
  <strong>Storage-backed jobs, scraping contracts and portable runners for Node.js.</strong><br/>
7
7
  <strong>Binary computing engine, agent browser, scraper and packager.</strong><br/>
8
8
  <a href="https://github.com/wenathlan/saddle/actions/workflows/ci.yml"><img src="https://github.com/wenathlan/saddle/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
9
- <a href="https://github.com/wenathlan/saddle/releases/tag/v1.8.7"><img src="https://img.shields.io/badge/release-v1.8.7-d35d3d" alt="Release 1.8.7" /></a>
9
+ <a href="https://github.com/wenathlan/saddle/releases/tag/v1.8.9"><img src="https://img.shields.io/badge/release-v1.8.9-d35d3d" alt="Release 1.8.9" /></a>
10
10
  <a href="https://github.com/wenathlan/saddle/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-GPL--3.0-202a2f" alt="GPL 3.0 license" /></a>
11
11
  </p>
12
12
 
13
13
  > **Core idea:** storage is the durable side of the working set; the runner is replaceable; the artifact is the boundary. **Storage == Compute** means that the same bytes can be retained or processed according to an explicit usage flag.
14
14
 
15
- Saddle is a **JavaScript ESM engine** for jobs that move data between storage, a bounded working set, a caller-injected runner and durable artifacts. It is also a virtual machine published as a package: the caller can run it on GitHub Actions, Forgejo, Gitea, GitLab, Codeberg, Docker or another third-party compute surface. The engine does not require the operator's local machine, does not embed credentials and does not choose a mandatory cloud provider.
15
+ Saddle is a **TypeScript-first ESM engine** compiled to JavaScript, declarations and source maps for jobs that move data between storage, a bounded working set, a caller-injected runner and durable artifacts. It is also a virtual machine published as a package: the caller can run it on GitHub Actions, Forgejo, Gitea, GitLab, Codeberg, Docker or another third-party compute surface. The engine does not require the operator's local machine, does not embed credentials and does not choose a mandatory cloud provider.
16
16
 
17
17
  The canonical JavaScript package is `@wenathlan/saddle`. GitHub Packages npm, Maven and GHCR use the `wenathlan` owner namespace; NuGet and RubyGems retain their ecosystem package names. Older `@devthink`, `@iakadion` and `io.devthink` references in archived documents are historical records, not current package identities.
18
18
 
@@ -36,7 +36,7 @@ console.log(context.summary);
36
36
  The deterministic examples and tests do not require network access or real credentials:
37
37
 
38
38
  ```bash
39
- node examples/publicapi.js
39
+ node --import tsx examples/publicapi.ts
40
40
  npm test
41
41
  ```
42
42
 
@@ -78,7 +78,7 @@ The root entry point is transport-neutral. Node filesystem, HTTP server, persist
78
78
 
79
79
  ### Productization: one engine, many shells
80
80
 
81
- The same contracts can be surfaced as an npm library, CLI, binary, Manifest V3 browser extension, webhook server, MCP transport, workflow action, container image, Maven package, NuGet package or RubyGem. These surfaces are adapters around the engine; they are not separate sources of truth.
81
+ The same contracts can be surfaced as an npm library, application archive, computer runtime, desktop installer, Android APK/AAB, iOS IPA, CLI, binary, browser package, Manifest V3 extension, web/PWA artifact, LibreOffice OXT, VSIX, webhook server, MCP transport, workflow action, container image, Maven package, NuGet package or RubyGem. These surfaces are declarative target plans and caller-owned adapters around the engine; they are not separate sources of truth.
82
82
 
83
83
  ## Public API
84
84
 
@@ -102,14 +102,14 @@ The complete export map is documented in [`docs/libraryapi.md`](docs/libraryapi.
102
102
 
103
103
  ## Browser extension
104
104
 
105
- The extension is a pure JavaScript Manifest V3 reference surface in [`extension/`](extension/). It contains a popup, service worker, isolated content bridge, read-only page-world `pagefacts` boundary, snapshot diffs and persisted window/tab/frame context for explicit resume.
105
+ The extension is a TypeScript-first Manifest V3 reference surface in [`extension/`](extension/). Its source is compiled into a stable JavaScript unpacked artifact and contains a popup, service worker, isolated content bridge, read-only page-world `pagefacts` boundary, snapshot diffs and persisted window/tab/frame context for explicit resume.
106
106
 
107
107
  ```bash
108
- # load the unpacked extension from chrome://extensions
109
- ls extension/manifest.json extension/worker.js extension/content.js extension/popup.html
110
-
111
- # build an isolated artifact using the version supplied by the caller or release tag
108
+ # build an isolated JavaScript artifact using the version supplied by the caller or release tag
112
109
  npm run extension:build -- --output build/extension
110
+
111
+ # load build/extension from chrome://extensions
112
+ ls build/extension/manifest.json build/extension/worker.js build/extension/content.js build/extension/popup.html
113
113
  ```
114
114
 
115
115
  The base permission set is `activeTab`, `scripting` and `storage`. It does not request broad host permissions, cookies, `webRequest`, debugger access or arbitrary page code execution. Optional host escalation remains caller-owned. Releases attach `saddle-extension-<version>.zip`; cross-browser profiles remain adapter work.
@@ -127,7 +127,7 @@ The base permission set is `activeTab`, `scripting` and `storage`. It does not r
127
127
  | Failure | retry, circuit breaker, idempotency and resume are configurable |
128
128
  | Releases | version comes from the `vX.Y.Z` tag and must match `package.json` |
129
129
 
130
- Version 1.8.7 also removes the obsolete nested `scrape` package manifests and lockfile that generated a separate stale dependency graph. The dependency-free JavaScript scrape contracts remain in `scrape/`. The root lockfile is regenerated and CI runs `npm audit --audit-level=high` plus dependency review for pull requests. See [`docs/securityaudit-1.8.7.md`](docs/securityaudit-1.8.7.md) for the baseline and remediation record.
130
+ Version 1.8.9 makes the active source TypeScript-first, compiles it into ignored `dist/`, and keeps public JavaScript package paths stable. It also adds declarative target plans for mobile, desktop, browser, binary and document-extension formats. The dynamic debug collector is intentionally an unchecked browser boundary because it monkey-patches browser APIs; the rest of the web surface remains strictly typechecked. See [`docs/reorganization-1.8.9.md`](docs/reorganization-1.8.9.md), [`docs/toolchainresearch-1.8.9.md`](docs/toolchainresearch-1.8.9.md) and [`docs/securityaudit-1.8.7.md`](docs/securityaudit-1.8.7.md).
131
131
 
132
132
  ## Package surfaces and release automation
133
133
 
@@ -153,7 +153,7 @@ npm run web:check
153
153
  VITE_BASE_PATH=/saddle npm run web:build:pages
154
154
  ```
155
155
 
156
- Small public configuration and visual assets live under `web/public/`. The development collector is `web/public/debugcollector.js` and uses `/debuglogs`; it is not part of the production build. The obsolete `web/public/__manus__` directory is intentionally absent.
156
+ Small public configuration and visual assets live under `web/public/`. The development collector is TypeScript source at `web/lib/debugcollector.ts`, injected only in development, and uses `/debuglogs`; it is not part of the production build. The obsolete `web/public/__manus__` directory is intentionally absent.
157
157
 
158
158
  ## Development and release gates
159
159
 
@@ -173,25 +173,25 @@ The engine test suite is deterministic and does not require real credentials or
173
173
  ## Repository map
174
174
 
175
175
  ```text
176
- core/ errors, events, identifiers and hashing
176
+ core/ engine errors, scrape error taxonomy, events, identifiers and hashing
177
177
  domain/ jobs, artifacts, sessions and providers
178
178
  memory/ working-set bridge, modes, objects and transforms
179
179
  storage/ local, chunked, remote and file-hosting adapters
180
- scrape/ dependency-free robots, cache, extraction, schema and normalization contracts
181
- crawl/ URL normalization, crawler and persistent frontier
180
+ scrape/ robots, cache, extraction, schema, normalization and grouped crawl contracts
182
181
  queue/ queue, idempotency, saga and recovery
183
182
  browser/ fingerprint, session, agent and Playwright adapter contracts
184
183
  extension/ Manifest V3 reference surface and packager
185
184
  protocol/ JSON, NDJSON, SSE and block serializers
186
185
  workflow/ manifests, templates and registry contracts
187
- packager/ package and publication plans
188
186
  release/ checksums, SBOM and provenance metadata
189
- web/ root-based static marketing site
187
+ runtime/ engine orchestration, capability detection, worker and grouped retry context
188
+ packager/ dist, binary, container and multi-target artifact plans
189
+ web/ root-based static marketing site with TypeScript React source
190
190
  tests/ deterministic engine and extension coverage
191
191
  docs/ architecture, API, security, release and registry notes
192
192
  ```
193
193
 
194
- The engine remains pure JavaScript ESM with JSDoc comments in English. The web surface is TypeScript/React, while the published library has no TypeScript build requirement and no hardcoded host, port or credential.
194
+ The engine is TypeScript-first ESM with English JSDoc comments and a generated JavaScript `dist/` publication surface. The web surface is TypeScript/React, and no source or generated artifact hardcodes a host, port or credential.
195
195
 
196
196
  ## Historical documentation
197
197
 
@@ -199,7 +199,7 @@ Earlier README snapshots remain in `docs/plans/README.md`, `docs/talks9/README.m
199
199
 
200
200
  ## Current scope
201
201
 
202
- Version 1.8.7 extends the 1.8.6 engine with dependency remediation, explicit security gates, base-aware Pages assets, removal of the obsolete public debug directory and consolidated documentation. Browser binaries, provider credentials, n8n host registration, persistent databases, captcha solvers and production deployment remain caller-selected adapters. Future work should extend contracts without coupling the core to one forge, registry, browser or storage vendor.
202
+ Version 1.8.9 extends the 1.8.8 engine with TypeScript-first source conversion, dist-only compilation, target-plan manifests and web source consolidation. Browser binaries, provider credentials, n8n host registration, persistent databases, captcha solvers and production deployment remain caller-selected adapters. Future work should extend contracts without coupling the core to one forge, registry, browser or storage vendor.
203
203
 
204
204
  ## License
205
205
 
@@ -0,0 +1,17 @@
1
+ export declare function forgeadapter(options?: {}): {
2
+ kind: any;
3
+ health(path?: string): Promise<{
4
+ ok: any;
5
+ status: any;
6
+ }>;
7
+ dispatch(spec: any): Promise<{
8
+ accepted: any;
9
+ status: any;
10
+ body: any;
11
+ }>;
12
+ upload(spec: any): Promise<{
13
+ accepted: any;
14
+ status: any;
15
+ }>;
16
+ };
17
+ //# sourceMappingURL=forge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge.d.ts","sourceRoot":"","sources":["../../adapters/forge.ts"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,CAAC,OAAO,KAAK;;;;;;;;;;;;;;;EAUxC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * forge adapter defines the common dispatch and artifact surface for compatible forges.
3
+ */
4
+ import { transport } from "./transport.js";
5
+ export function forgeadapter(options = {}) {
6
+ if (!options.baseurl || typeof options.token !== "function")
7
+ throw new TypeError("forge adapter requires baseurl and token function");
8
+ const client = transport({ fetcher: options.fetcher, attempts: options.attempts, timeout: options.timeout });
9
+ async function call(path, init = {}) { const token = await options.token(); return client.request(new URL(path, options.baseurl), { ...init, headers: { authorization: `Bearer ${token}`, accept: "application/json", ...(init.headers ?? {}) } }); }
10
+ return {
11
+ kind: options.kind ?? "forge",
12
+ async health(path = "/") { const response = await call(path); return { ok: response.ok, status: response.status }; },
13
+ async dispatch(spec) { if (!spec?.path || !spec.ref)
14
+ throw new TypeError("forge dispatch requires path and ref"); const response = await call(spec.path, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ ref: spec.ref, inputs: spec.inputs ?? {} }) }); return { accepted: response.ok, status: response.status, body: response.json ? await response.json() : undefined }; },
15
+ async upload(spec) { if (!spec?.path || !spec.data)
16
+ throw new TypeError("forge upload requires path and data"); const response = await call(spec.path, { method: "PUT", headers: { "content-type": spec.contenttype ?? "application/octet-stream" }, body: spec.data }); return { accepted: response.ok, status: response.status }; }
17
+ };
18
+ }
19
+ //# sourceMappingURL=forge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge.js","sourceRoot":"","sources":["../../adapters/forge.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,YAAY,CAAC,OAAO,GAAG,EAAE;IACvC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU;QAAE,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IACtI,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7G,KAAK,UAAU,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,IAAI,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrP,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO;QAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,IAAI,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpH,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC,CAAC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACxZ,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC,CAAC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,0BAA0B,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KACtU,CAAC;AACJ,CAAC"}
@@ -0,0 +1,49 @@
1
+ export declare function forgejoadapter(options?: {}): {
2
+ kind: any;
3
+ health(path?: string): Promise<{
4
+ ok: any;
5
+ status: any;
6
+ }>;
7
+ dispatch(spec: any): Promise<{
8
+ accepted: any;
9
+ status: any;
10
+ body: any;
11
+ }>;
12
+ upload(spec: any): Promise<{
13
+ accepted: any;
14
+ status: any;
15
+ }>;
16
+ };
17
+ export declare function giteaadapter(options?: {}): {
18
+ kind: any;
19
+ health(path?: string): Promise<{
20
+ ok: any;
21
+ status: any;
22
+ }>;
23
+ dispatch(spec: any): Promise<{
24
+ accepted: any;
25
+ status: any;
26
+ body: any;
27
+ }>;
28
+ upload(spec: any): Promise<{
29
+ accepted: any;
30
+ status: any;
31
+ }>;
32
+ };
33
+ export declare function codebergadapter(options?: {}): {
34
+ kind: any;
35
+ health(path?: string): Promise<{
36
+ ok: any;
37
+ status: any;
38
+ }>;
39
+ dispatch(spec: any): Promise<{
40
+ accepted: any;
41
+ status: any;
42
+ body: any;
43
+ }>;
44
+ upload(spec: any): Promise<{
45
+ accepted: any;
46
+ status: any;
47
+ }>;
48
+ };
49
+ //# sourceMappingURL=forgejo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo.d.ts","sourceRoot":"","sources":["../../adapters/forgejo.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,OAAO,KAAK;;;;;;;;;;;;;;;EAA2D;AACtG,wBAAgB,YAAY,CAAC,OAAO,KAAK;;;;;;;;;;;;;;;EAAyD;AAClG,wBAAgB,eAAe,CAAC,OAAO,KAAK;;;;;;;;;;;;;;;EAA4D"}
@@ -2,7 +2,7 @@
2
2
  * forgejo and gitea can reuse the open forge contract with a caller supplied base url.
3
3
  */
4
4
  import { forgeadapter } from "./forge.js";
5
-
6
5
  export function forgejoadapter(options = {}) { return forgeadapter({ ...options, kind: "forgejo" }); }
7
6
  export function giteaadapter(options = {}) { return forgeadapter({ ...options, kind: "gitea" }); }
8
7
  export function codebergadapter(options = {}) { return forgeadapter({ ...options, kind: "codeberg" }); }
8
+ //# sourceMappingURL=forgejo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgejo.js","sourceRoot":"","sources":["../../adapters/forgejo.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,UAAU,cAAc,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AACtG,MAAM,UAAU,YAAY,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAClG,MAAM,UAAU,eAAe,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare function githubadapter(options?: {}): {
2
+ health(): Promise<{
3
+ ok: any;
4
+ status: any;
5
+ }>;
6
+ dispatch(owner: any, repository: any, workflow: any, input?: {}): Promise<{
7
+ accepted: boolean;
8
+ status: any;
9
+ }>;
10
+ run(owner: any, repository: any, runid: any): Promise<any>;
11
+ };
12
+ //# sourceMappingURL=github.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../adapters/github.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,OAAO,KAAK;;;;;;;;;;EAazC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * github adapter uses caller supplied credentials and base url configuration.
3
+ */
4
+ import { transport } from "./transport.js";
5
+ export function githubadapter(options = {}) {
6
+ if (!options.baseurl || typeof options.token !== "function")
7
+ throw new TypeError("github adapter requires baseurl and token function");
8
+ const client = transport({ fetcher: options.fetcher, attempts: options.attempts, timeout: options.timeout });
9
+ async function call(path, init = {}) {
10
+ const token = await options.token();
11
+ const headers = { accept: "application/vnd.github+json", authorization: `Bearer ${token}`, "x-github-api-version": options.apiversion ?? "2022-11-28", ...(init.headers ?? {}) };
12
+ return client.request(new URL(path, options.baseurl), { ...init, headers });
13
+ }
14
+ return {
15
+ async health() { const response = await call("/rate_limit"); return { ok: response.ok, status: response.status }; },
16
+ async dispatch(owner, repository, workflow, input = {}) { const response = await call(`/repos/${owner}/${repository}/actions/workflows/${workflow}/dispatches`, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ ref: input.ref ?? "main", inputs: input.inputs ?? {} }) }); return { accepted: response.status === 204, status: response.status }; },
17
+ async run(owner, repository, runid) { const response = await call(`/repos/${owner}/${repository}/actions/runs/${runid}`); return response.json(); }
18
+ };
19
+ }
20
+ //# sourceMappingURL=github.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../adapters/github.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,EAAE;IACxC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU;QAAE,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IACvI,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7G,KAAK,UAAU,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,6BAA6B,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,sBAAsB,EAAE,OAAO,CAAC,UAAU,IAAI,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACjL,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO;QACL,KAAK,CAAC,MAAM,KAAK,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnH,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,IAAI,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,KAAK,IAAI,UAAU,sBAAsB,QAAQ,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9X,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,KAAK,IAAI,UAAU,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KACpJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare function gitlabadapter(options?: {}): {
2
+ kind: any;
3
+ health(path?: string): Promise<{
4
+ ok: any;
5
+ status: any;
6
+ }>;
7
+ upload(spec: any): Promise<{
8
+ accepted: any;
9
+ status: any;
10
+ }>;
11
+ dispatch(spec: any): Promise<{
12
+ accepted: any;
13
+ status: any;
14
+ body: any;
15
+ }>;
16
+ };
17
+ //# sourceMappingURL=gitlab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../adapters/gitlab.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,OAAO,KAAK;;;;;;;;;;;;;;;EAIzC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * gitlab adapter keeps project addressing and token ownership outside the package.
3
+ */
4
+ import { forgeadapter } from "./forge.js";
5
+ export function gitlabadapter(options = {}) {
6
+ const project = encodeURIComponent(options.project ?? "");
7
+ const base = forgeadapter({ ...options, kind: "gitlab" });
8
+ return { ...base, async dispatch(spec) { return base.dispatch({ ...spec, path: spec.path ?? `/api/v4/projects/${project}/pipeline` }); } };
9
+ }
10
+ //# sourceMappingURL=gitlab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../adapters/gitlab.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,EAAE;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,oBAAoB,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7I,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare function huggingfaceadapter(options?: {}): {
2
+ kind: any;
3
+ health(path?: string): Promise<{
4
+ ok: any;
5
+ status: any;
6
+ }>;
7
+ dispatch(spec: any): Promise<{
8
+ accepted: any;
9
+ status: any;
10
+ body: any;
11
+ }>;
12
+ upload(spec: any): Promise<{
13
+ accepted: any;
14
+ status: any;
15
+ }>;
16
+ };
17
+ //# sourceMappingURL=huggingface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huggingface.d.ts","sourceRoot":"","sources":["../../adapters/huggingface.ts"],"names":[],"mappings":"AAKA,wBAAgB,kBAAkB,CAAC,OAAO,KAAK;;;;;;;;;;;;;;;EAA+D"}
@@ -2,5 +2,5 @@
2
2
  * hugging face storage remains an explicit adapter with caller supplied repository path.
3
3
  */
4
4
  import { forgeadapter } from "./forge.js";
5
-
6
5
  export function huggingfaceadapter(options = {}) { return forgeadapter({ ...options, kind: "huggingface" }); }
6
+ //# sourceMappingURL=huggingface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huggingface.js","sourceRoot":"","sources":["../../adapters/huggingface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,UAAU,kBAAkB,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * socket adapter keeps realtime optional and accepts a caller supplied websocket constructor.
3
+ */
4
+ export declare function socketadapter(options?: {}): {
5
+ connect(url: any, protocols: any): {
6
+ socket: any;
7
+ send(value: any): void;
8
+ close(code: any, reason: any): void;
9
+ };
10
+ };
11
+ //# sourceMappingURL=socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../adapters/socket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,KAAK;;;;;;EAUzC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * socket adapter keeps realtime optional and accepts a caller supplied websocket constructor.
3
+ */
4
+ export function socketadapter(options = {}) {
5
+ const websocket = options.websocket ?? globalThis.WebSocket;
6
+ if (!websocket)
7
+ throw new Error("websocket implementation is required");
8
+ return {
9
+ connect(url, protocols) {
10
+ if (!url)
11
+ throw new TypeError("socket url is required");
12
+ const socket = new websocket(url, protocols);
13
+ return { socket, send(value) { socket.send(typeof value === "string" ? value : JSON.stringify(value)); }, close(code, reason) { socket.close(code, reason); } };
14
+ }
15
+ };
16
+ }
17
+ //# sourceMappingURL=socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../adapters/socket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,EAAE;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC;IAC5D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACxE,OAAO;QACL,OAAO,CAAC,GAAG,EAAE,SAAS;YACpB,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC7C,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClK,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * transport centralizes timeout retry and jitter without choosing a host or vendor.
3
+ */
4
+ export declare function transport(options?: {}): {
5
+ request: (url: any, init?: {}) => Promise<any>;
6
+ };
7
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../adapters/transport.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,KAAK;;EAuBrC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * transport centralizes timeout retry and jitter without choosing a host or vendor.
3
+ */
4
+ export function transport(options = {}) {
5
+ const fetcher = options.fetcher ?? fetch;
6
+ const attempts = options.attempts ?? 3;
7
+ const timeout = options.timeout ?? 30000;
8
+ const retrycodes = new Set(options.retrycodes ?? [408, 409, 429, 500, 502, 503, 504]);
9
+ async function request(url, init = {}) {
10
+ let last;
11
+ for (let attempt = 0; attempt < attempts; attempt += 1) {
12
+ const controller = new AbortController();
13
+ const timer = setTimeout(() => controller.abort(), timeout);
14
+ try {
15
+ const response = await fetcher(url, { ...init, signal: init.signal ?? controller.signal });
16
+ if (response.ok || !retrycodes.has(response.status) || attempt === attempts - 1)
17
+ return response;
18
+ last = new Error(`request failed with ${response.status}`);
19
+ }
20
+ catch (error) {
21
+ last = error;
22
+ if (attempt === attempts - 1)
23
+ throw error;
24
+ }
25
+ finally {
26
+ clearTimeout(timer);
27
+ }
28
+ await delay(backoff(options, attempt));
29
+ }
30
+ throw last ?? new Error("request failed");
31
+ }
32
+ return { request };
33
+ }
34
+ function backoff(options, attempt) { const base = options.backoff ?? 250; const jitter = options.jitter ?? 0; return base * 2 ** attempt + Math.floor(Math.random() * jitter); }
35
+ function delay(milliseconds) { return new Promise((resolve) => setTimeout(resolve, milliseconds)); }
36
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../adapters/transport.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAO,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACtF,KAAK,UAAU,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE;QACnC,IAAI,IAAI,CAAC;QACT,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3F,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,QAAQ,GAAG,CAAC;oBAAE,OAAO,QAAQ,CAAC;gBACjG,IAAI,GAAG,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,GAAG,KAAK,CAAC;gBACb,IAAI,OAAO,KAAK,QAAQ,GAAG,CAAC;oBAAE,MAAM,KAAK,CAAC;YAC5C,CAAC;oBAAS,CAAC;gBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAClC,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAChL,SAAS,KAAK,CAAC,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function chunkmarkdown(markdown: any, options?: {}): any[];
2
+ //# sourceMappingURL=chunk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../ai/chunk.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAK,SAgBnD"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * markdown chunking preserves heading paths and uses paragraph boundaries before hard cuts.
3
+ */
4
+ import { estimatetokens } from "./tokens.js";
5
+ export function chunkmarkdown(markdown, options = {}) {
6
+ const maxtokens = options.maxtokens ?? 512;
7
+ const overlap = options.overlaptokens ?? 50;
8
+ const lines = String(markdown ?? "").split(/\r?\n/);
9
+ const chunks = [];
10
+ let headingpath = [];
11
+ let buffer = [];
12
+ function flush() { if (!buffer.length)
13
+ return; const content = buffer.join("\n").trim(); if (content)
14
+ chunks.push({ content, headingpath: [...headingpath], tokencount: estimatetokens(content, options.model) }); buffer = []; }
15
+ for (const line of lines) {
16
+ const heading = line.match(/^(#{1,6})\s+(.+)$/);
17
+ if (heading) {
18
+ flush();
19
+ const level = heading[1].length;
20
+ headingpath = headingpath.slice(0, level - 1);
21
+ headingpath[level - 1] = heading[2].trim();
22
+ buffer.push(line);
23
+ continue;
24
+ }
25
+ buffer.push(line);
26
+ if (estimatetokens(buffer.join("\n"), options.model) > maxtokens) {
27
+ const last = buffer.pop();
28
+ flush();
29
+ const overlaptext = buffer.slice(-overlap).join("\n");
30
+ buffer = overlaptext ? [overlaptext, last] : [last];
31
+ }
32
+ }
33
+ flush();
34
+ return chunks.map((chunk, index) => ({ ...chunk, id: `chunk${index}` }));
35
+ }
36
+ //# sourceMappingURL=chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk.js","sourceRoot":"","sources":["../../ai/chunk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,UAAU,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,EAAE;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,SAAS,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IACjO,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAClL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,EAAE,CAAC;YAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;IACvN,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * llms text generation creates compact absolute links for agent consumption.
3
+ */
4
+ export declare function llmstxt(options?: {}): string;
5
+ export declare function llmsfull(options?: {}): any;
6
+ //# sourceMappingURL=llmstxt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llmstxt.d.ts","sourceRoot":"","sources":["../../ai/llmstxt.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,KAAK,UAMnC;AAED,wBAAgB,QAAQ,CAAC,OAAO,KAAK,OAAgN"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * llms text generation creates compact absolute links for agent consumption.
3
+ */
4
+ export function llmstxt(options = {}) {
5
+ const title = options.title ?? "saddle";
6
+ const description = options.description ?? "binary computing engine and browser automation library";
7
+ const pages = (options.pages ?? []).filter((page) => page?.url && /^https:\/\//.test(page.url)).slice(0, options.limit ?? 100);
8
+ const lines = [`# ${title}`, `> ${description}`, "", "## pages", "", ...pages.map((page) => `- [${page.title ?? page.url}](${page.url}): ${(page.description ?? "").slice(0, 100)}`)];
9
+ return `${lines.join("\n")}\n`;
10
+ }
11
+ export function llmsfull(options = {}) { return (options.pages ?? []).filter((page) => page?.url && /^https:\/\//.test(page.url)).map((page) => `# ${page.title ?? page.url}\n\nsource: ${page.url}\n\n${page.content ?? ""}`).join("\n\n---\n\n"); }
12
+ //# sourceMappingURL=llmstxt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llmstxt.js","sourceRoot":"","sources":["../../ai/llmstxt.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,OAAO,GAAG,EAAE;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,wDAAwD,CAAC;IACpG,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IAC/H,MAAM,KAAK,GAAG,CAAC,KAAK,KAAK,EAAE,EAAE,KAAK,WAAW,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtL,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,eAAe,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * context provenance links retrieved chunks to source, query and transformation metadata.
3
+ */
4
+ /** Creates a serializable retrieval record for an agent context result. */
5
+ export declare function provenance(input?: {}): {
6
+ version: number;
7
+ source: any;
8
+ sourceurl: any;
9
+ documentid: any;
10
+ query: any;
11
+ retrievedat: number;
12
+ chunks: any;
13
+ metadata: any;
14
+ };
15
+ /** Merges provenance records while deduplicating chunk identifiers. */
16
+ export declare function mergeprovenance(records?: any[]): {
17
+ version: number;
18
+ sources: any[];
19
+ chunks: any[];
20
+ mergedat: number;
21
+ };
22
+ //# sourceMappingURL=provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../ai/provenance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,KAAK;IAE1B,OAAO;IAAK,MAAM;IAAmC,SAAS;IAAmB,UAAU;IAAoB,KAAK;IAAe,WAAW;IAA2C,MAAM;IAA6T,QAAQ;EAC9gB;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,OAAO,QAAK;;;;;EAM3C"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * context provenance links retrieved chunks to source, query and transformation metadata.
3
+ */
4
+ /** Creates a serializable retrieval record for an agent context result. */
5
+ export function provenance(input = {}) {
6
+ if (!input.source && !input.sourceurl)
7
+ throw new TypeError("provenance requires a source");
8
+ return { version: 1, source: input.source ?? input.sourceurl, sourceurl: input.sourceurl, documentid: input.documentid, query: input.query, retrievedat: Number(input.retrievedat ?? Date.now()), chunks: Array.isArray(input.chunks) ? input.chunks.map((chunk, index) => ({ id: String(chunk.id ?? index), contenthash: chunk.contenthash, score: chunk.score === undefined ? undefined : Number(chunk.score), headingpath: chunk.headingpath, tokencount: chunk.tokencount, citation: chunk.citation ?? input.sourceurl })) : [], metadata: { ...(input.metadata ?? {}) } };
9
+ }
10
+ /** Merges provenance records while deduplicating chunk identifiers. */
11
+ export function mergeprovenance(records = []) {
12
+ const valid = records.filter(Boolean);
13
+ const chunks = [];
14
+ const seen = new Set();
15
+ for (const record of valid)
16
+ for (const chunk of record.chunks ?? []) {
17
+ const key = `${record.documentid ?? record.source}:${chunk.id}`;
18
+ if (seen.has(key))
19
+ continue;
20
+ seen.add(key);
21
+ chunks.push({ ...chunk, source: record.source, documentid: record.documentid });
22
+ }
23
+ return { version: 1, sources: [...new Set(valid.map((record) => record.source))], chunks, mergedat: Date.now() };
24
+ }
25
+ //# sourceMappingURL=provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../ai/provenance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CAAC,KAAK,GAAG,EAAE;IACnC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;IAC3F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;AACjjB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe,CAAC,OAAO,GAAG,EAAE;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,MAAM,IAAI,KAAK;QAAE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAAC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAAC,CAAC;IACtQ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACnH,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * rag manifests connect chunks to embedding stores without forcing a vendor client.
3
+ */
4
+ export declare function ragmanifest(input?: {}): Promise<{
5
+ documentid: string;
6
+ source: any;
7
+ chunks: any[];
8
+ embeddingmodel: any;
9
+ embeddingdimensions: any;
10
+ createdat: number;
11
+ }>;
12
+ export declare function vectorrecord(chunk: any, vector: any, options?: {}): {
13
+ id: string;
14
+ vector: any;
15
+ metadata: {
16
+ headingpath: any;
17
+ contenthash: any;
18
+ sourceurl: any;
19
+ tokencount: any;
20
+ contenttype: any;
21
+ language: any;
22
+ embeddingmodel: any;
23
+ embeddingdimensions: any;
24
+ };
25
+ };
26
+ //# sourceMappingURL=rag.d.ts.map