@massa-ai/core 1.2.1

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 (1219) hide show
  1. package/dist/controllers/context-controller.d.ts +52 -0
  2. package/dist/controllers/context-controller.d.ts.map +1 -0
  3. package/dist/controllers/context-controller.js +377 -0
  4. package/dist/controllers/context-controller.js.map +1 -0
  5. package/dist/controllers/executor-controller.d.ts +42 -0
  6. package/dist/controllers/executor-controller.d.ts.map +1 -0
  7. package/dist/controllers/executor-controller.js +229 -0
  8. package/dist/controllers/executor-controller.js.map +1 -0
  9. package/dist/controllers/graph-controller.d.ts +106 -0
  10. package/dist/controllers/graph-controller.d.ts.map +1 -0
  11. package/dist/controllers/graph-controller.js +142 -0
  12. package/dist/controllers/graph-controller.js.map +1 -0
  13. package/dist/controllers/index.d.ts +17 -0
  14. package/dist/controllers/index.d.ts.map +1 -0
  15. package/dist/controllers/index.js +12 -0
  16. package/dist/controllers/index.js.map +1 -0
  17. package/dist/controllers/memory-controller.d.ts +78 -0
  18. package/dist/controllers/memory-controller.d.ts.map +1 -0
  19. package/dist/controllers/memory-controller.js +232 -0
  20. package/dist/controllers/memory-controller.js.map +1 -0
  21. package/dist/controllers/search-controller.d.ts +113 -0
  22. package/dist/controllers/search-controller.d.ts.map +1 -0
  23. package/dist/controllers/search-controller.js +314 -0
  24. package/dist/controllers/search-controller.js.map +1 -0
  25. package/dist/data/audit/operation-log-contract.d.ts +68 -0
  26. package/dist/data/audit/operation-log-contract.d.ts.map +1 -0
  27. package/dist/data/audit/operation-log-contract.js +16 -0
  28. package/dist/data/audit/operation-log-contract.js.map +1 -0
  29. package/dist/data/audit/operation-log-factory.d.ts +4 -0
  30. package/dist/data/audit/operation-log-factory.d.ts.map +1 -0
  31. package/dist/data/audit/operation-log-factory.js +8 -0
  32. package/dist/data/audit/operation-log-factory.js.map +1 -0
  33. package/dist/data/audit/operation-log-pg.d.ts +34 -0
  34. package/dist/data/audit/operation-log-pg.d.ts.map +1 -0
  35. package/dist/data/audit/operation-log-pg.js +125 -0
  36. package/dist/data/audit/operation-log-pg.js.map +1 -0
  37. package/dist/data/db-connection.d.ts +10 -0
  38. package/dist/data/db-connection.d.ts.map +1 -0
  39. package/dist/data/db-connection.js +33 -0
  40. package/dist/data/db-connection.js.map +1 -0
  41. package/dist/data/graph-generation/graph-generation-contract.d.ts +94 -0
  42. package/dist/data/graph-generation/graph-generation-contract.d.ts.map +1 -0
  43. package/dist/data/graph-generation/graph-generation-contract.js +2 -0
  44. package/dist/data/graph-generation/graph-generation-contract.js.map +1 -0
  45. package/dist/data/graph-generation/graph-generation-repository-factory.d.ts +3 -0
  46. package/dist/data/graph-generation/graph-generation-repository-factory.d.ts.map +1 -0
  47. package/dist/data/graph-generation/graph-generation-repository-factory.js +7 -0
  48. package/dist/data/graph-generation/graph-generation-repository-factory.js.map +1 -0
  49. package/dist/data/graph-generation/graph-generation-repository-pg.d.ts +12 -0
  50. package/dist/data/graph-generation/graph-generation-repository-pg.d.ts.map +1 -0
  51. package/dist/data/graph-generation/graph-generation-repository-pg.js +335 -0
  52. package/dist/data/graph-generation/graph-generation-repository-pg.js.map +1 -0
  53. package/dist/data/graph-generation/index.d.ts +4 -0
  54. package/dist/data/graph-generation/index.d.ts.map +1 -0
  55. package/dist/data/graph-generation/index.js +3 -0
  56. package/dist/data/graph-generation/index.js.map +1 -0
  57. package/dist/data/handoff/handoff-contract.d.ts +32 -0
  58. package/dist/data/handoff/handoff-contract.d.ts.map +1 -0
  59. package/dist/data/handoff/handoff-contract.js +12 -0
  60. package/dist/data/handoff/handoff-contract.js.map +1 -0
  61. package/dist/data/handoff/handoff-repository-pg.d.ts +22 -0
  62. package/dist/data/handoff/handoff-repository-pg.d.ts.map +1 -0
  63. package/dist/data/handoff/handoff-repository-pg.js +177 -0
  64. package/dist/data/handoff/handoff-repository-pg.js.map +1 -0
  65. package/dist/data/handoff/handoff-repository.d.ts +7 -0
  66. package/dist/data/handoff/handoff-repository.d.ts.map +1 -0
  67. package/dist/data/handoff/handoff-repository.js +9 -0
  68. package/dist/data/handoff/handoff-repository.js.map +1 -0
  69. package/dist/data/keyword/keyword-search-factory.d.ts +9 -0
  70. package/dist/data/keyword/keyword-search-factory.d.ts.map +1 -0
  71. package/dist/data/keyword/keyword-search-factory.js +23 -0
  72. package/dist/data/keyword/keyword-search-factory.js.map +1 -0
  73. package/dist/data/keyword/keyword-search-pg.d.ts +52 -0
  74. package/dist/data/keyword/keyword-search-pg.d.ts.map +1 -0
  75. package/dist/data/keyword/keyword-search-pg.js +423 -0
  76. package/dist/data/keyword/keyword-search-pg.js.map +1 -0
  77. package/dist/data/managed-runs/managed-run-contract.d.ts +193 -0
  78. package/dist/data/managed-runs/managed-run-contract.d.ts.map +1 -0
  79. package/dist/data/managed-runs/managed-run-contract.js +41 -0
  80. package/dist/data/managed-runs/managed-run-contract.js.map +1 -0
  81. package/dist/data/managed-runs/managed-run-repository-pg.d.ts +48 -0
  82. package/dist/data/managed-runs/managed-run-repository-pg.d.ts.map +1 -0
  83. package/dist/data/managed-runs/managed-run-repository-pg.js +316 -0
  84. package/dist/data/managed-runs/managed-run-repository-pg.js.map +1 -0
  85. package/dist/data/memory/index.d.ts +6 -0
  86. package/dist/data/memory/index.d.ts.map +1 -0
  87. package/dist/data/memory/index.js +5 -0
  88. package/dist/data/memory/index.js.map +1 -0
  89. package/dist/data/memory/memory-repository-contract.d.ts +54 -0
  90. package/dist/data/memory/memory-repository-contract.d.ts.map +1 -0
  91. package/dist/data/memory/memory-repository-contract.js +2 -0
  92. package/dist/data/memory/memory-repository-contract.js.map +1 -0
  93. package/dist/data/memory/memory-repository-factory.d.ts +4 -0
  94. package/dist/data/memory/memory-repository-factory.d.ts.map +1 -0
  95. package/dist/data/memory/memory-repository-factory.js +8 -0
  96. package/dist/data/memory/memory-repository-factory.js.map +1 -0
  97. package/dist/data/memory/memory-repository-pg.d.ts +111 -0
  98. package/dist/data/memory/memory-repository-pg.d.ts.map +1 -0
  99. package/dist/data/memory/memory-repository-pg.js +448 -0
  100. package/dist/data/memory/memory-repository-pg.js.map +1 -0
  101. package/dist/data/memory/memory-repository.d.ts +3 -0
  102. package/dist/data/memory/memory-repository.d.ts.map +1 -0
  103. package/dist/data/memory/memory-repository.js +2 -0
  104. package/dist/data/memory/memory-repository.js.map +1 -0
  105. package/dist/data/memory/observation-contract.d.ts +47 -0
  106. package/dist/data/memory/observation-contract.d.ts.map +1 -0
  107. package/dist/data/memory/observation-contract.js +13 -0
  108. package/dist/data/memory/observation-contract.js.map +1 -0
  109. package/dist/data/memory/observation-repository-pg.d.ts +64 -0
  110. package/dist/data/memory/observation-repository-pg.d.ts.map +1 -0
  111. package/dist/data/memory/observation-repository-pg.js +244 -0
  112. package/dist/data/memory/observation-repository-pg.js.map +1 -0
  113. package/dist/data/memory/observation-repository.d.ts +6 -0
  114. package/dist/data/memory/observation-repository.d.ts.map +1 -0
  115. package/dist/data/memory/observation-repository.js +8 -0
  116. package/dist/data/memory/observation-repository.js.map +1 -0
  117. package/dist/data/proposal/proposal-contract.d.ts +47 -0
  118. package/dist/data/proposal/proposal-contract.d.ts.map +1 -0
  119. package/dist/data/proposal/proposal-contract.js +32 -0
  120. package/dist/data/proposal/proposal-contract.js.map +1 -0
  121. package/dist/data/proposal/proposal-repository-pg.d.ts +20 -0
  122. package/dist/data/proposal/proposal-repository-pg.d.ts.map +1 -0
  123. package/dist/data/proposal/proposal-repository-pg.js +199 -0
  124. package/dist/data/proposal/proposal-repository-pg.js.map +1 -0
  125. package/dist/data/proposal/proposal-repository.d.ts +7 -0
  126. package/dist/data/proposal/proposal-repository.d.ts.map +1 -0
  127. package/dist/data/proposal/proposal-repository.js +9 -0
  128. package/dist/data/proposal/proposal-repository.js.map +1 -0
  129. package/dist/data/symbol/symbol-repo-generation.d.ts +61 -0
  130. package/dist/data/symbol/symbol-repo-generation.d.ts.map +1 -0
  131. package/dist/data/symbol/symbol-repo-generation.js +380 -0
  132. package/dist/data/symbol/symbol-repo-generation.js.map +1 -0
  133. package/dist/data/symbol/symbol-repo-graph.d.ts +65 -0
  134. package/dist/data/symbol/symbol-repo-graph.d.ts.map +1 -0
  135. package/dist/data/symbol/symbol-repo-graph.js +457 -0
  136. package/dist/data/symbol/symbol-repo-graph.js.map +1 -0
  137. package/dist/data/symbol/symbol-repo-identity.d.ts +21 -0
  138. package/dist/data/symbol/symbol-repo-identity.d.ts.map +1 -0
  139. package/dist/data/symbol/symbol-repo-identity.js +96 -0
  140. package/dist/data/symbol/symbol-repo-identity.js.map +1 -0
  141. package/dist/data/symbol/symbol-repo-mappers.d.ts +87 -0
  142. package/dist/data/symbol/symbol-repo-mappers.d.ts.map +1 -0
  143. package/dist/data/symbol/symbol-repo-mappers.js +91 -0
  144. package/dist/data/symbol/symbol-repo-mappers.js.map +1 -0
  145. package/dist/data/symbol/symbol-repo-queries.d.ts +54 -0
  146. package/dist/data/symbol/symbol-repo-queries.d.ts.map +1 -0
  147. package/dist/data/symbol/symbol-repo-queries.js +331 -0
  148. package/dist/data/symbol/symbol-repo-queries.js.map +1 -0
  149. package/dist/data/symbol/symbol-repo-types.d.ts +243 -0
  150. package/dist/data/symbol/symbol-repo-types.d.ts.map +1 -0
  151. package/dist/data/symbol/symbol-repo-types.js +8 -0
  152. package/dist/data/symbol/symbol-repo-types.js.map +1 -0
  153. package/dist/data/symbol/symbol-repo-workspace.d.ts +20 -0
  154. package/dist/data/symbol/symbol-repo-workspace.d.ts.map +1 -0
  155. package/dist/data/symbol/symbol-repo-workspace.js +148 -0
  156. package/dist/data/symbol/symbol-repo-workspace.js.map +1 -0
  157. package/dist/data/symbol/symbol-repository-factory.d.ts +10 -0
  158. package/dist/data/symbol/symbol-repository-factory.d.ts.map +1 -0
  159. package/dist/data/symbol/symbol-repository-factory.js +16 -0
  160. package/dist/data/symbol/symbol-repository-factory.js.map +1 -0
  161. package/dist/data/symbol/symbol-repository-pg.d.ts +84 -0
  162. package/dist/data/symbol/symbol-repository-pg.d.ts.map +1 -0
  163. package/dist/data/symbol/symbol-repository-pg.js +81 -0
  164. package/dist/data/symbol/symbol-repository-pg.js.map +1 -0
  165. package/dist/data/vector/base-vector-store.d.ts +137 -0
  166. package/dist/data/vector/base-vector-store.d.ts.map +1 -0
  167. package/dist/data/vector/base-vector-store.js +166 -0
  168. package/dist/data/vector/base-vector-store.js.map +1 -0
  169. package/dist/data/vector/hybrid-search.d.ts +64 -0
  170. package/dist/data/vector/hybrid-search.d.ts.map +1 -0
  171. package/dist/data/vector/hybrid-search.js +238 -0
  172. package/dist/data/vector/hybrid-search.js.map +1 -0
  173. package/dist/data/vector/index.d.ts +9 -0
  174. package/dist/data/vector/index.d.ts.map +1 -0
  175. package/dist/data/vector/index.js +7 -0
  176. package/dist/data/vector/index.js.map +1 -0
  177. package/dist/data/vector/postgres-vector-store.d.ts +118 -0
  178. package/dist/data/vector/postgres-vector-store.d.ts.map +1 -0
  179. package/dist/data/vector/postgres-vector-store.js +703 -0
  180. package/dist/data/vector/postgres-vector-store.js.map +1 -0
  181. package/dist/data/vector/vector-store-factory.d.ts +9 -0
  182. package/dist/data/vector/vector-store-factory.d.ts.map +1 -0
  183. package/dist/data/vector/vector-store-factory.js +46 -0
  184. package/dist/data/vector/vector-store-factory.js.map +1 -0
  185. package/dist/generated/prisma/client.d.ts +1 -0
  186. package/dist/generated/prisma/client.js +5 -0
  187. package/dist/generated/prisma/default.d.ts +1 -0
  188. package/dist/generated/prisma/default.js +5 -0
  189. package/dist/generated/prisma/edge.d.ts +1 -0
  190. package/dist/generated/prisma/edge.js +601 -0
  191. package/dist/generated/prisma/index-browser.js +627 -0
  192. package/dist/generated/prisma/index.d.ts +52672 -0
  193. package/dist/generated/prisma/index.js +601 -0
  194. package/dist/generated/prisma/package.json +144 -0
  195. package/dist/generated/prisma/query_compiler_fast_bg.js +2 -0
  196. package/dist/generated/prisma/query_compiler_fast_bg.wasm +0 -0
  197. package/dist/generated/prisma/query_compiler_fast_bg.wasm-base64.js +2 -0
  198. package/dist/generated/prisma/runtime/client.d.ts +3386 -0
  199. package/dist/generated/prisma/runtime/client.js +86 -0
  200. package/dist/generated/prisma/runtime/index-browser.d.ts +90 -0
  201. package/dist/generated/prisma/runtime/index-browser.js +6 -0
  202. package/dist/generated/prisma/runtime/wasm-compiler-edge.js +76 -0
  203. package/dist/generated/prisma/schema.prisma +746 -0
  204. package/dist/generated/prisma/wasm-edge-light-loader.mjs +5 -0
  205. package/dist/generated/prisma/wasm-worker-loader.mjs +5 -0
  206. package/dist/index.d.ts +47 -0
  207. package/dist/index.d.ts.map +1 -0
  208. package/dist/index.js +45 -0
  209. package/dist/index.js.map +1 -0
  210. package/dist/models/CacheEntry.d.ts +66 -0
  211. package/dist/models/CacheEntry.d.ts.map +1 -0
  212. package/dist/models/CacheEntry.js +148 -0
  213. package/dist/models/CacheEntry.js.map +1 -0
  214. package/dist/models/CompressedContent.d.ts +59 -0
  215. package/dist/models/CompressedContent.d.ts.map +1 -0
  216. package/dist/models/CompressedContent.js +169 -0
  217. package/dist/models/CompressedContent.js.map +1 -0
  218. package/dist/models/Memory.d.ts +9 -0
  219. package/dist/models/Memory.d.ts.map +1 -0
  220. package/dist/models/Memory.js +10 -0
  221. package/dist/models/Memory.js.map +1 -0
  222. package/dist/models/index.d.ts +6 -0
  223. package/dist/models/index.d.ts.map +1 -0
  224. package/dist/models/index.js +6 -0
  225. package/dist/models/index.js.map +1 -0
  226. package/dist/scripts/beir-benchmark.d.ts +3 -0
  227. package/dist/scripts/beir-benchmark.d.ts.map +1 -0
  228. package/dist/scripts/beir-benchmark.js +275 -0
  229. package/dist/scripts/beir-benchmark.js.map +1 -0
  230. package/dist/scripts/create-sicad-beir-fixture.d.ts +3 -0
  231. package/dist/scripts/create-sicad-beir-fixture.d.ts.map +1 -0
  232. package/dist/scripts/create-sicad-beir-fixture.js +200 -0
  233. package/dist/scripts/create-sicad-beir-fixture.js.map +1 -0
  234. package/dist/scripts/symbol-benchmark.d.ts +24 -0
  235. package/dist/scripts/symbol-benchmark.d.ts.map +1 -0
  236. package/dist/scripts/symbol-benchmark.js +319 -0
  237. package/dist/scripts/symbol-benchmark.js.map +1 -0
  238. package/dist/services/bootstrap/bootstrap-service.d.ts +157 -0
  239. package/dist/services/bootstrap/bootstrap-service.d.ts.map +1 -0
  240. package/dist/services/bootstrap/bootstrap-service.js +588 -0
  241. package/dist/services/bootstrap/bootstrap-service.js.map +1 -0
  242. package/dist/services/cache/embedding-cache-contract.d.ts +18 -0
  243. package/dist/services/cache/embedding-cache-contract.d.ts.map +1 -0
  244. package/dist/services/cache/embedding-cache-contract.js +2 -0
  245. package/dist/services/cache/embedding-cache-contract.js.map +1 -0
  246. package/dist/services/cache/embedding-cache-factory.d.ts +4 -0
  247. package/dist/services/cache/embedding-cache-factory.d.ts.map +1 -0
  248. package/dist/services/cache/embedding-cache-factory.js +8 -0
  249. package/dist/services/cache/embedding-cache-factory.js.map +1 -0
  250. package/dist/services/cache/embedding-cache-pg.d.ts +78 -0
  251. package/dist/services/cache/embedding-cache-pg.d.ts.map +1 -0
  252. package/dist/services/cache/embedding-cache-pg.js +220 -0
  253. package/dist/services/cache/embedding-cache-pg.js.map +1 -0
  254. package/dist/services/cache/index.d.ts +5 -0
  255. package/dist/services/cache/index.d.ts.map +1 -0
  256. package/dist/services/cache/index.js +5 -0
  257. package/dist/services/cache/index.js.map +1 -0
  258. package/dist/services/cache/l1-memory-cache.d.ts +71 -0
  259. package/dist/services/cache/l1-memory-cache.d.ts.map +1 -0
  260. package/dist/services/cache/l1-memory-cache.js +191 -0
  261. package/dist/services/cache/l1-memory-cache.js.map +1 -0
  262. package/dist/services/checkpoint/auto-checkpointer.d.ts +69 -0
  263. package/dist/services/checkpoint/auto-checkpointer.d.ts.map +1 -0
  264. package/dist/services/checkpoint/auto-checkpointer.js +143 -0
  265. package/dist/services/checkpoint/auto-checkpointer.js.map +1 -0
  266. package/dist/services/checkpoint/checkpoint-manager.d.ts +9 -0
  267. package/dist/services/checkpoint/checkpoint-manager.d.ts.map +1 -0
  268. package/dist/services/checkpoint/checkpoint-manager.js +25 -0
  269. package/dist/services/checkpoint/checkpoint-manager.js.map +1 -0
  270. package/dist/services/checkpoint/checkpoint-store-pg.d.ts +107 -0
  271. package/dist/services/checkpoint/checkpoint-store-pg.d.ts.map +1 -0
  272. package/dist/services/checkpoint/checkpoint-store-pg.js +476 -0
  273. package/dist/services/checkpoint/checkpoint-store-pg.js.map +1 -0
  274. package/dist/services/checkpoint/checkpoint-store.d.ts +100 -0
  275. package/dist/services/checkpoint/checkpoint-store.d.ts.map +1 -0
  276. package/dist/services/checkpoint/checkpoint-store.js +24 -0
  277. package/dist/services/checkpoint/checkpoint-store.js.map +1 -0
  278. package/dist/services/checkpoint/index.d.ts +9 -0
  279. package/dist/services/checkpoint/index.d.ts.map +1 -0
  280. package/dist/services/checkpoint/index.js +8 -0
  281. package/dist/services/checkpoint/index.js.map +1 -0
  282. package/dist/services/compression/code-compressor.d.ts +76 -0
  283. package/dist/services/compression/code-compressor.d.ts.map +1 -0
  284. package/dist/services/compression/code-compressor.js +395 -0
  285. package/dist/services/compression/code-compressor.js.map +1 -0
  286. package/dist/services/compression/index.d.ts +5 -0
  287. package/dist/services/compression/index.d.ts.map +1 -0
  288. package/dist/services/compression/index.js +5 -0
  289. package/dist/services/compression/index.js.map +1 -0
  290. package/dist/services/context/session-file-cache.d.ts +87 -0
  291. package/dist/services/context/session-file-cache.d.ts.map +1 -0
  292. package/dist/services/context/session-file-cache.js +213 -0
  293. package/dist/services/context/session-file-cache.js.map +1 -0
  294. package/dist/services/embeddings/cached-provider.d.ts +98 -0
  295. package/dist/services/embeddings/cached-provider.d.ts.map +1 -0
  296. package/dist/services/embeddings/cached-provider.js +162 -0
  297. package/dist/services/embeddings/cached-provider.js.map +1 -0
  298. package/dist/services/embeddings/config.d.ts +89 -0
  299. package/dist/services/embeddings/config.d.ts.map +1 -0
  300. package/dist/services/embeddings/config.js +341 -0
  301. package/dist/services/embeddings/config.js.map +1 -0
  302. package/dist/services/embeddings/embedding-service.d.ts +71 -0
  303. package/dist/services/embeddings/embedding-service.d.ts.map +1 -0
  304. package/dist/services/embeddings/embedding-service.js +147 -0
  305. package/dist/services/embeddings/embedding-service.js.map +1 -0
  306. package/dist/services/embeddings/index.d.ts +105 -0
  307. package/dist/services/embeddings/index.d.ts.map +1 -0
  308. package/dist/services/embeddings/index.js +174 -0
  309. package/dist/services/embeddings/index.js.map +1 -0
  310. package/dist/services/embeddings/provider.d.ts +164 -0
  311. package/dist/services/embeddings/provider.d.ts.map +1 -0
  312. package/dist/services/embeddings/provider.js +547 -0
  313. package/dist/services/embeddings/provider.js.map +1 -0
  314. package/dist/services/embeddings/providers/local-transformers.d.ts +80 -0
  315. package/dist/services/embeddings/providers/local-transformers.d.ts.map +1 -0
  316. package/dist/services/embeddings/providers/local-transformers.js +222 -0
  317. package/dist/services/embeddings/providers/local-transformers.js.map +1 -0
  318. package/dist/services/embeddings/rate-limiter.d.ts +55 -0
  319. package/dist/services/embeddings/rate-limiter.d.ts.map +1 -0
  320. package/dist/services/embeddings/rate-limiter.js +138 -0
  321. package/dist/services/embeddings/rate-limiter.js.map +1 -0
  322. package/dist/services/etl/graph-generation-coordinator.d.ts +26 -0
  323. package/dist/services/etl/graph-generation-coordinator.d.ts.map +1 -0
  324. package/dist/services/etl/graph-generation-coordinator.js +63 -0
  325. package/dist/services/etl/graph-generation-coordinator.js.map +1 -0
  326. package/dist/services/etl/index.d.ts +11 -0
  327. package/dist/services/etl/index.d.ts.map +1 -0
  328. package/dist/services/etl/index.js +9 -0
  329. package/dist/services/etl/index.js.map +1 -0
  330. package/dist/services/etl/pipeline.d.ts +70 -0
  331. package/dist/services/etl/pipeline.d.ts.map +1 -0
  332. package/dist/services/etl/pipeline.js +553 -0
  333. package/dist/services/etl/pipeline.js.map +1 -0
  334. package/dist/services/etl/stage-context.d.ts +153 -0
  335. package/dist/services/etl/stage-context.d.ts.map +1 -0
  336. package/dist/services/etl/stage-context.js +11 -0
  337. package/dist/services/etl/stage-context.js.map +1 -0
  338. package/dist/services/etl/stages/discover.d.ts +40 -0
  339. package/dist/services/etl/stages/discover.d.ts.map +1 -0
  340. package/dist/services/etl/stages/discover.js +213 -0
  341. package/dist/services/etl/stages/discover.js.map +1 -0
  342. package/dist/services/etl/stages/load.d.ts +39 -0
  343. package/dist/services/etl/stages/load.d.ts.map +1 -0
  344. package/dist/services/etl/stages/load.js +361 -0
  345. package/dist/services/etl/stages/load.js.map +1 -0
  346. package/dist/services/etl/stages/parse.d.ts +58 -0
  347. package/dist/services/etl/stages/parse.d.ts.map +1 -0
  348. package/dist/services/etl/stages/parse.js +536 -0
  349. package/dist/services/etl/stages/parse.js.map +1 -0
  350. package/dist/services/etl/stages/resolve.d.ts +66 -0
  351. package/dist/services/etl/stages/resolve.d.ts.map +1 -0
  352. package/dist/services/etl/stages/resolve.js +503 -0
  353. package/dist/services/etl/stages/resolve.js.map +1 -0
  354. package/dist/services/events/event-bus.d.ts +166 -0
  355. package/dist/services/events/event-bus.d.ts.map +1 -0
  356. package/dist/services/events/event-bus.js +32 -0
  357. package/dist/services/events/event-bus.js.map +1 -0
  358. package/dist/services/events/index.d.ts +6 -0
  359. package/dist/services/events/index.d.ts.map +1 -0
  360. package/dist/services/events/index.js +5 -0
  361. package/dist/services/events/index.js.map +1 -0
  362. package/dist/services/executor/executor.d.ts +103 -0
  363. package/dist/services/executor/executor.d.ts.map +1 -0
  364. package/dist/services/executor/executor.js +518 -0
  365. package/dist/services/executor/executor.js.map +1 -0
  366. package/dist/services/executor/index.d.ts +20 -0
  367. package/dist/services/executor/index.d.ts.map +1 -0
  368. package/dist/services/executor/index.js +16 -0
  369. package/dist/services/executor/index.js.map +1 -0
  370. package/dist/services/executor/intent-search.d.ts +52 -0
  371. package/dist/services/executor/intent-search.d.ts.map +1 -0
  372. package/dist/services/executor/intent-search.js +195 -0
  373. package/dist/services/executor/intent-search.js.map +1 -0
  374. package/dist/services/executor/run-pool.d.ts +53 -0
  375. package/dist/services/executor/run-pool.d.ts.map +1 -0
  376. package/dist/services/executor/run-pool.js +71 -0
  377. package/dist/services/executor/run-pool.js.map +1 -0
  378. package/dist/services/executor/runtime.d.ts +82 -0
  379. package/dist/services/executor/runtime.d.ts.map +1 -0
  380. package/dist/services/executor/runtime.js +254 -0
  381. package/dist/services/executor/runtime.js.map +1 -0
  382. package/dist/services/executor/sandbox.d.ts +67 -0
  383. package/dist/services/executor/sandbox.d.ts.map +1 -0
  384. package/dist/services/executor/sandbox.js +186 -0
  385. package/dist/services/executor/sandbox.js.map +1 -0
  386. package/dist/services/graph/graph-queries.d.ts +110 -0
  387. package/dist/services/graph/graph-queries.d.ts.map +1 -0
  388. package/dist/services/graph/graph-queries.js +336 -0
  389. package/dist/services/graph/graph-queries.js.map +1 -0
  390. package/dist/services/graph/graph-store-factory.d.ts +12 -0
  391. package/dist/services/graph/graph-store-factory.d.ts.map +1 -0
  392. package/dist/services/graph/graph-store-factory.js +30 -0
  393. package/dist/services/graph/graph-store-factory.js.map +1 -0
  394. package/dist/services/graph/graph-store-pg.d.ts +127 -0
  395. package/dist/services/graph/graph-store-pg.d.ts.map +1 -0
  396. package/dist/services/graph/graph-store-pg.js +422 -0
  397. package/dist/services/graph/graph-store-pg.js.map +1 -0
  398. package/dist/services/graph/index.d.ts +7 -0
  399. package/dist/services/graph/index.d.ts.map +1 -0
  400. package/dist/services/graph/index.js +6 -0
  401. package/dist/services/graph/index.js.map +1 -0
  402. package/dist/services/graph/memory-graph.service.d.ts +97 -0
  403. package/dist/services/graph/memory-graph.service.d.ts.map +1 -0
  404. package/dist/services/graph/memory-graph.service.js +171 -0
  405. package/dist/services/graph/memory-graph.service.js.map +1 -0
  406. package/dist/services/graph/relation-extractor.d.ts +61 -0
  407. package/dist/services/graph/relation-extractor.d.ts.map +1 -0
  408. package/dist/services/graph/relation-extractor.js +306 -0
  409. package/dist/services/graph/relation-extractor.js.map +1 -0
  410. package/dist/services/graph/types.d.ts +127 -0
  411. package/dist/services/graph/types.d.ts.map +1 -0
  412. package/dist/services/graph/types.js +8 -0
  413. package/dist/services/graph/types.js.map +1 -0
  414. package/dist/services/handoff/handoff-auto-injector.d.ts +32 -0
  415. package/dist/services/handoff/handoff-auto-injector.d.ts.map +1 -0
  416. package/dist/services/handoff/handoff-auto-injector.js +72 -0
  417. package/dist/services/handoff/handoff-auto-injector.js.map +1 -0
  418. package/dist/services/handoff/handoff-service.d.ts +83 -0
  419. package/dist/services/handoff/handoff-service.d.ts.map +1 -0
  420. package/dist/services/handoff/handoff-service.js +238 -0
  421. package/dist/services/handoff/handoff-service.js.map +1 -0
  422. package/dist/services/health/local-health-checker.d.ts +49 -0
  423. package/dist/services/health/local-health-checker.d.ts.map +1 -0
  424. package/dist/services/health/local-health-checker.js +82 -0
  425. package/dist/services/health/local-health-checker.js.map +1 -0
  426. package/dist/services/hooks/attribution-resolver.d.ts +113 -0
  427. package/dist/services/hooks/attribution-resolver.d.ts.map +1 -0
  428. package/dist/services/hooks/attribution-resolver.js +227 -0
  429. package/dist/services/hooks/attribution-resolver.js.map +1 -0
  430. package/dist/services/hooks/co-retrieval-hook.d.ts +63 -0
  431. package/dist/services/hooks/co-retrieval-hook.d.ts.map +1 -0
  432. package/dist/services/hooks/co-retrieval-hook.js +145 -0
  433. package/dist/services/hooks/co-retrieval-hook.js.map +1 -0
  434. package/dist/services/hooks/compaction-snapshot-service.d.ts +81 -0
  435. package/dist/services/hooks/compaction-snapshot-service.d.ts.map +1 -0
  436. package/dist/services/hooks/compaction-snapshot-service.js +308 -0
  437. package/dist/services/hooks/compaction-snapshot-service.js.map +1 -0
  438. package/dist/services/hooks/hook-service.d.ts +100 -0
  439. package/dist/services/hooks/hook-service.d.ts.map +1 -0
  440. package/dist/services/hooks/hook-service.js +272 -0
  441. package/dist/services/hooks/hook-service.js.map +1 -0
  442. package/dist/services/hooks/observation-extractor.d.ts +30 -0
  443. package/dist/services/hooks/observation-extractor.d.ts.map +1 -0
  444. package/dist/services/hooks/observation-extractor.js +364 -0
  445. package/dist/services/hooks/observation-extractor.js.map +1 -0
  446. package/dist/services/hooks/search-session-hook.d.ts +34 -0
  447. package/dist/services/hooks/search-session-hook.d.ts.map +1 -0
  448. package/dist/services/hooks/search-session-hook.js +121 -0
  449. package/dist/services/hooks/search-session-hook.js.map +1 -0
  450. package/dist/services/hooks/session-pin-store.d.ts +32 -0
  451. package/dist/services/hooks/session-pin-store.d.ts.map +1 -0
  452. package/dist/services/hooks/session-pin-store.js +57 -0
  453. package/dist/services/hooks/session-pin-store.js.map +1 -0
  454. package/dist/services/hooks/writer-queue.d.ts +35 -0
  455. package/dist/services/hooks/writer-queue.d.ts.map +1 -0
  456. package/dist/services/hooks/writer-queue.js +58 -0
  457. package/dist/services/hooks/writer-queue.js.map +1 -0
  458. package/dist/services/index.d.ts +108 -0
  459. package/dist/services/index.d.ts.map +1 -0
  460. package/dist/services/index.js +100 -0
  461. package/dist/services/index.js.map +1 -0
  462. package/dist/services/jobs/auto-improve-apply.d.ts +32 -0
  463. package/dist/services/jobs/auto-improve-apply.d.ts.map +1 -0
  464. package/dist/services/jobs/auto-improve-apply.js +135 -0
  465. package/dist/services/jobs/auto-improve-apply.js.map +1 -0
  466. package/dist/services/jobs/auto-improve-config.d.ts +25 -0
  467. package/dist/services/jobs/auto-improve-config.d.ts.map +1 -0
  468. package/dist/services/jobs/auto-improve-config.js +40 -0
  469. package/dist/services/jobs/auto-improve-config.js.map +1 -0
  470. package/dist/services/jobs/auto-improve-job.d.ts +89 -0
  471. package/dist/services/jobs/auto-improve-job.d.ts.map +1 -0
  472. package/dist/services/jobs/auto-improve-job.js +93 -0
  473. package/dist/services/jobs/auto-improve-job.js.map +1 -0
  474. package/dist/services/jobs/auto-improve-llm.d.ts +25 -0
  475. package/dist/services/jobs/auto-improve-llm.d.ts.map +1 -0
  476. package/dist/services/jobs/auto-improve-llm.js +88 -0
  477. package/dist/services/jobs/auto-improve-llm.js.map +1 -0
  478. package/dist/services/jobs/auto-improve-ops.d.ts +11 -0
  479. package/dist/services/jobs/auto-improve-ops.d.ts.map +1 -0
  480. package/dist/services/jobs/auto-improve-ops.js +170 -0
  481. package/dist/services/jobs/auto-improve-ops.js.map +1 -0
  482. package/dist/services/jobs/auto-improve-patterns.d.ts +18 -0
  483. package/dist/services/jobs/auto-improve-patterns.d.ts.map +1 -0
  484. package/dist/services/jobs/auto-improve-patterns.js +160 -0
  485. package/dist/services/jobs/auto-improve-patterns.js.map +1 -0
  486. package/dist/services/jobs/index-job-store-contract.d.ts +22 -0
  487. package/dist/services/jobs/index-job-store-contract.d.ts.map +1 -0
  488. package/dist/services/jobs/index-job-store-contract.js +11 -0
  489. package/dist/services/jobs/index-job-store-contract.js.map +1 -0
  490. package/dist/services/jobs/index-job-store-pg.d.ts +77 -0
  491. package/dist/services/jobs/index-job-store-pg.d.ts.map +1 -0
  492. package/dist/services/jobs/index-job-store-pg.js +403 -0
  493. package/dist/services/jobs/index-job-store-pg.js.map +1 -0
  494. package/dist/services/jobs/index-job-store.d.ts +5 -0
  495. package/dist/services/jobs/index-job-store.d.ts.map +1 -0
  496. package/dist/services/jobs/index-job-store.js +7 -0
  497. package/dist/services/jobs/index-job-store.js.map +1 -0
  498. package/dist/services/jobs/index-job-tracker.d.ts +140 -0
  499. package/dist/services/jobs/index-job-tracker.d.ts.map +1 -0
  500. package/dist/services/jobs/index-job-tracker.js +344 -0
  501. package/dist/services/jobs/index-job-tracker.js.map +1 -0
  502. package/dist/services/jobs/index.d.ts +6 -0
  503. package/dist/services/jobs/index.d.ts.map +1 -0
  504. package/dist/services/jobs/index.js +6 -0
  505. package/dist/services/jobs/index.js.map +1 -0
  506. package/dist/services/jobs/memory-consolidation-job.d.ts +70 -0
  507. package/dist/services/jobs/memory-consolidation-job.d.ts.map +1 -0
  508. package/dist/services/jobs/memory-consolidation-job.js +312 -0
  509. package/dist/services/jobs/memory-consolidation-job.js.map +1 -0
  510. package/dist/services/jobs/observation-consolidation-job.d.ts +63 -0
  511. package/dist/services/jobs/observation-consolidation-job.d.ts.map +1 -0
  512. package/dist/services/jobs/observation-consolidation-job.js +253 -0
  513. package/dist/services/jobs/observation-consolidation-job.js.map +1 -0
  514. package/dist/services/memory/consolidator.d.ts +92 -0
  515. package/dist/services/memory/consolidator.d.ts.map +1 -0
  516. package/dist/services/memory/consolidator.js +182 -0
  517. package/dist/services/memory/consolidator.js.map +1 -0
  518. package/dist/services/memory/decay.d.ts +56 -0
  519. package/dist/services/memory/decay.d.ts.map +1 -0
  520. package/dist/services/memory/decay.js +73 -0
  521. package/dist/services/memory/decay.js.map +1 -0
  522. package/dist/services/memory/index.d.ts +12 -0
  523. package/dist/services/memory/index.d.ts.map +1 -0
  524. package/dist/services/memory/index.js +9 -0
  525. package/dist/services/memory/index.js.map +1 -0
  526. package/dist/services/memory/llm-client.d.ts +111 -0
  527. package/dist/services/memory/llm-client.d.ts.map +1 -0
  528. package/dist/services/memory/llm-client.js +450 -0
  529. package/dist/services/memory/llm-client.js.map +1 -0
  530. package/dist/services/memory/memory-clustering.d.ts +65 -0
  531. package/dist/services/memory/memory-clustering.d.ts.map +1 -0
  532. package/dist/services/memory/memory-clustering.js +298 -0
  533. package/dist/services/memory/memory-clustering.js.map +1 -0
  534. package/dist/services/memory/memory-service.d.ts +72 -0
  535. package/dist/services/memory/memory-service.d.ts.map +1 -0
  536. package/dist/services/memory/memory-service.js +178 -0
  537. package/dist/services/memory/memory-service.js.map +1 -0
  538. package/dist/services/memory/redundancy-filter.d.ts +26 -0
  539. package/dist/services/memory/redundancy-filter.d.ts.map +1 -0
  540. package/dist/services/memory/redundancy-filter.js +93 -0
  541. package/dist/services/memory/redundancy-filter.js.map +1 -0
  542. package/dist/services/memory/salience-judge.d.ts +51 -0
  543. package/dist/services/memory/salience-judge.d.ts.map +1 -0
  544. package/dist/services/memory/salience-judge.js +115 -0
  545. package/dist/services/memory/salience-judge.js.map +1 -0
  546. package/dist/services/metrics/token-metrics.d.ts +114 -0
  547. package/dist/services/metrics/token-metrics.d.ts.map +1 -0
  548. package/dist/services/metrics/token-metrics.js +272 -0
  549. package/dist/services/metrics/token-metrics.js.map +1 -0
  550. package/dist/services/monitoring/metrics.d.ts +154 -0
  551. package/dist/services/monitoring/metrics.d.ts.map +1 -0
  552. package/dist/services/monitoring/metrics.js +382 -0
  553. package/dist/services/monitoring/metrics.js.map +1 -0
  554. package/dist/services/pricing/models-dev-client.d.ts +141 -0
  555. package/dist/services/pricing/models-dev-client.d.ts.map +1 -0
  556. package/dist/services/pricing/models-dev-client.js +523 -0
  557. package/dist/services/pricing/models-dev-client.js.map +1 -0
  558. package/dist/services/project-identity/alias-resolver.d.ts +76 -0
  559. package/dist/services/project-identity/alias-resolver.d.ts.map +1 -0
  560. package/dist/services/project-identity/alias-resolver.js +129 -0
  561. package/dist/services/project-identity/alias-resolver.js.map +1 -0
  562. package/dist/services/project-identity/apply.d.ts +89 -0
  563. package/dist/services/project-identity/apply.d.ts.map +1 -0
  564. package/dist/services/project-identity/apply.js +619 -0
  565. package/dist/services/project-identity/apply.js.map +1 -0
  566. package/dist/services/project-identity/contracts.d.ts +103 -0
  567. package/dist/services/project-identity/contracts.d.ts.map +1 -0
  568. package/dist/services/project-identity/contracts.js +63 -0
  569. package/dist/services/project-identity/contracts.js.map +1 -0
  570. package/dist/services/project-identity/discovery.d.ts +39 -0
  571. package/dist/services/project-identity/discovery.d.ts.map +1 -0
  572. package/dist/services/project-identity/discovery.js +139 -0
  573. package/dist/services/project-identity/discovery.js.map +1 -0
  574. package/dist/services/project-identity/errors.d.ts +11 -0
  575. package/dist/services/project-identity/errors.d.ts.map +1 -0
  576. package/dist/services/project-identity/errors.js +40 -0
  577. package/dist/services/project-identity/errors.js.map +1 -0
  578. package/dist/services/project-identity/hash.d.ts +16 -0
  579. package/dist/services/project-identity/hash.d.ts.map +1 -0
  580. package/dist/services/project-identity/hash.js +91 -0
  581. package/dist/services/project-identity/hash.js.map +1 -0
  582. package/dist/services/project-identity/identity-guard-installer.d.ts +60 -0
  583. package/dist/services/project-identity/identity-guard-installer.d.ts.map +1 -0
  584. package/dist/services/project-identity/identity-guard-installer.js +116 -0
  585. package/dist/services/project-identity/identity-guard-installer.js.map +1 -0
  586. package/dist/services/project-identity/index.d.ts +25 -0
  587. package/dist/services/project-identity/index.d.ts.map +1 -0
  588. package/dist/services/project-identity/index.js +14 -0
  589. package/dist/services/project-identity/index.js.map +1 -0
  590. package/dist/services/project-identity/invalidator-registry.d.ts +52 -0
  591. package/dist/services/project-identity/invalidator-registry.d.ts.map +1 -0
  592. package/dist/services/project-identity/invalidator-registry.js +73 -0
  593. package/dist/services/project-identity/invalidator-registry.js.map +1 -0
  594. package/dist/services/project-identity/pg-array-codec.d.ts +24 -0
  595. package/dist/services/project-identity/pg-array-codec.d.ts.map +1 -0
  596. package/dist/services/project-identity/pg-array-codec.js +85 -0
  597. package/dist/services/project-identity/pg-array-codec.js.map +1 -0
  598. package/dist/services/project-identity/planner.d.ts +39 -0
  599. package/dist/services/project-identity/planner.d.ts.map +1 -0
  600. package/dist/services/project-identity/planner.js +206 -0
  601. package/dist/services/project-identity/planner.js.map +1 -0
  602. package/dist/services/project-identity/production-wiring.d.ts +60 -0
  603. package/dist/services/project-identity/production-wiring.d.ts.map +1 -0
  604. package/dist/services/project-identity/production-wiring.js +106 -0
  605. package/dist/services/project-identity/production-wiring.js.map +1 -0
  606. package/dist/services/project-identity/registry.d.ts +24 -0
  607. package/dist/services/project-identity/registry.d.ts.map +1 -0
  608. package/dist/services/project-identity/registry.js +72 -0
  609. package/dist/services/project-identity/registry.js.map +1 -0
  610. package/dist/services/project-identity/service.d.ts +28 -0
  611. package/dist/services/project-identity/service.d.ts.map +1 -0
  612. package/dist/services/project-identity/service.js +79 -0
  613. package/dist/services/project-identity/service.js.map +1 -0
  614. package/dist/services/query/prisma-client.d.ts +10 -0
  615. package/dist/services/query/prisma-client.d.ts.map +1 -0
  616. package/dist/services/query/prisma-client.js +37 -0
  617. package/dist/services/query/prisma-client.js.map +1 -0
  618. package/dist/services/scheduler/index.d.ts +13 -0
  619. package/dist/services/scheduler/index.d.ts.map +1 -0
  620. package/dist/services/scheduler/index.js +9 -0
  621. package/dist/services/scheduler/index.js.map +1 -0
  622. package/dist/services/scheduler/scheduler-cron.d.ts +39 -0
  623. package/dist/services/scheduler/scheduler-cron.d.ts.map +1 -0
  624. package/dist/services/scheduler/scheduler-cron.js +159 -0
  625. package/dist/services/scheduler/scheduler-cron.js.map +1 -0
  626. package/dist/services/scheduler/scheduler-defaults.d.ts +55 -0
  627. package/dist/services/scheduler/scheduler-defaults.d.ts.map +1 -0
  628. package/dist/services/scheduler/scheduler-defaults.js +188 -0
  629. package/dist/services/scheduler/scheduler-defaults.js.map +1 -0
  630. package/dist/services/scheduler/scheduler-store-factory.d.ts +13 -0
  631. package/dist/services/scheduler/scheduler-store-factory.d.ts.map +1 -0
  632. package/dist/services/scheduler/scheduler-store-factory.js +23 -0
  633. package/dist/services/scheduler/scheduler-store-factory.js.map +1 -0
  634. package/dist/services/scheduler/scheduler-store-pg.d.ts +44 -0
  635. package/dist/services/scheduler/scheduler-store-pg.d.ts.map +1 -0
  636. package/dist/services/scheduler/scheduler-store-pg.js +252 -0
  637. package/dist/services/scheduler/scheduler-store-pg.js.map +1 -0
  638. package/dist/services/scheduler/scheduler-store.d.ts +10 -0
  639. package/dist/services/scheduler/scheduler-store.d.ts.map +1 -0
  640. package/dist/services/scheduler/scheduler-store.js +2 -0
  641. package/dist/services/scheduler/scheduler-store.js.map +1 -0
  642. package/dist/services/scheduler/scheduler-types.d.ts +75 -0
  643. package/dist/services/scheduler/scheduler-types.d.ts.map +1 -0
  644. package/dist/services/scheduler/scheduler-types.js +10 -0
  645. package/dist/services/scheduler/scheduler-types.js.map +1 -0
  646. package/dist/services/scheduler/scheduler.d.ts +149 -0
  647. package/dist/services/scheduler/scheduler.d.ts.map +1 -0
  648. package/dist/services/scheduler/scheduler.js +453 -0
  649. package/dist/services/scheduler/scheduler.js.map +1 -0
  650. package/dist/services/search/analytics-factory.d.ts +9 -0
  651. package/dist/services/search/analytics-factory.d.ts.map +1 -0
  652. package/dist/services/search/analytics-factory.js +24 -0
  653. package/dist/services/search/analytics-factory.js.map +1 -0
  654. package/dist/services/search/cache-factory.d.ts +9 -0
  655. package/dist/services/search/cache-factory.d.ts.map +1 -0
  656. package/dist/services/search/cache-factory.js +22 -0
  657. package/dist/services/search/cache-factory.js.map +1 -0
  658. package/dist/services/search/capture-policy-interfaces.d.ts +59 -0
  659. package/dist/services/search/capture-policy-interfaces.d.ts.map +1 -0
  660. package/dist/services/search/capture-policy-interfaces.js +15 -0
  661. package/dist/services/search/capture-policy-interfaces.js.map +1 -0
  662. package/dist/services/search/capture-policy.d.ts +54 -0
  663. package/dist/services/search/capture-policy.d.ts.map +1 -0
  664. package/dist/services/search/capture-policy.js +185 -0
  665. package/dist/services/search/capture-policy.js.map +1 -0
  666. package/dist/services/search/chunker/chunker-code.d.ts +24 -0
  667. package/dist/services/search/chunker/chunker-code.d.ts.map +1 -0
  668. package/dist/services/search/chunker/chunker-code.js +182 -0
  669. package/dist/services/search/chunker/chunker-code.js.map +1 -0
  670. package/dist/services/search/chunker/chunker-json-yaml.d.ts +9 -0
  671. package/dist/services/search/chunker/chunker-json-yaml.d.ts.map +1 -0
  672. package/dist/services/search/chunker/chunker-json-yaml.js +124 -0
  673. package/dist/services/search/chunker/chunker-json-yaml.js.map +1 -0
  674. package/dist/services/search/chunker/chunker-markdown.d.ts +9 -0
  675. package/dist/services/search/chunker/chunker-markdown.d.ts.map +1 -0
  676. package/dist/services/search/chunker/chunker-markdown.js +70 -0
  677. package/dist/services/search/chunker/chunker-markdown.js.map +1 -0
  678. package/dist/services/search/chunker/chunker-post.d.ts +12 -0
  679. package/dist/services/search/chunker/chunker-post.d.ts.map +1 -0
  680. package/dist/services/search/chunker/chunker-post.js +139 -0
  681. package/dist/services/search/chunker/chunker-post.js.map +1 -0
  682. package/dist/services/search/chunker/chunker-types.d.ts +43 -0
  683. package/dist/services/search/chunker/chunker-types.d.ts.map +1 -0
  684. package/dist/services/search/chunker/chunker-types.js +15 -0
  685. package/dist/services/search/chunker/chunker-types.js.map +1 -0
  686. package/dist/services/search/contextual-search-rlm.d.ts +243 -0
  687. package/dist/services/search/contextual-search-rlm.d.ts.map +1 -0
  688. package/dist/services/search/contextual-search-rlm.js +260 -0
  689. package/dist/services/search/contextual-search-rlm.js.map +1 -0
  690. package/dist/services/search/file-filter-cache.d.ts +55 -0
  691. package/dist/services/search/file-filter-cache.d.ts.map +1 -0
  692. package/dist/services/search/file-filter-cache.js +159 -0
  693. package/dist/services/search/file-filter-cache.js.map +1 -0
  694. package/dist/services/search/filter-validation.d.ts +61 -0
  695. package/dist/services/search/filter-validation.d.ts.map +1 -0
  696. package/dist/services/search/filter-validation.js +111 -0
  697. package/dist/services/search/filter-validation.js.map +1 -0
  698. package/dist/services/search/ignore-patterns.d.ts +39 -0
  699. package/dist/services/search/ignore-patterns.d.ts.map +1 -0
  700. package/dist/services/search/ignore-patterns.js +125 -0
  701. package/dist/services/search/ignore-patterns.js.map +1 -0
  702. package/dist/services/search/index-manager.d.ts +81 -0
  703. package/dist/services/search/index-manager.d.ts.map +1 -0
  704. package/dist/services/search/index-manager.js +315 -0
  705. package/dist/services/search/index-manager.js.map +1 -0
  706. package/dist/services/search/lexical-search.d.ts +83 -0
  707. package/dist/services/search/lexical-search.d.ts.map +1 -0
  708. package/dist/services/search/lexical-search.js +297 -0
  709. package/dist/services/search/lexical-search.js.map +1 -0
  710. package/dist/services/search/query-understanding.d.ts +115 -0
  711. package/dist/services/search/query-understanding.d.ts.map +1 -0
  712. package/dist/services/search/query-understanding.js +281 -0
  713. package/dist/services/search/query-understanding.js.map +1 -0
  714. package/dist/services/search/reranker.d.ts +59 -0
  715. package/dist/services/search/reranker.d.ts.map +1 -0
  716. package/dist/services/search/reranker.js +156 -0
  717. package/dist/services/search/reranker.js.map +1 -0
  718. package/dist/services/search/rlm-admin.d.ts +22 -0
  719. package/dist/services/search/rlm-admin.d.ts.map +1 -0
  720. package/dist/services/search/rlm-admin.js +92 -0
  721. package/dist/services/search/rlm-admin.js.map +1 -0
  722. package/dist/services/search/rlm-fusion.d.ts +23 -0
  723. package/dist/services/search/rlm-fusion.d.ts.map +1 -0
  724. package/dist/services/search/rlm-fusion.js +180 -0
  725. package/dist/services/search/rlm-fusion.js.map +1 -0
  726. package/dist/services/search/rlm-indexing.d.ts +71 -0
  727. package/dist/services/search/rlm-indexing.d.ts.map +1 -0
  728. package/dist/services/search/rlm-indexing.js +431 -0
  729. package/dist/services/search/rlm-indexing.js.map +1 -0
  730. package/dist/services/search/rlm-search.d.ts +28 -0
  731. package/dist/services/search/rlm-search.d.ts.map +1 -0
  732. package/dist/services/search/rlm-search.js +489 -0
  733. package/dist/services/search/rlm-search.js.map +1 -0
  734. package/dist/services/search/rlm-synapse.d.ts +44 -0
  735. package/dist/services/search/rlm-synapse.d.ts.map +1 -0
  736. package/dist/services/search/rlm-synapse.js +227 -0
  737. package/dist/services/search/rlm-synapse.js.map +1 -0
  738. package/dist/services/search/search-analytics-pg.d.ts +62 -0
  739. package/dist/services/search/search-analytics-pg.d.ts.map +1 -0
  740. package/dist/services/search/search-analytics-pg.js +242 -0
  741. package/dist/services/search/search-analytics-pg.js.map +1 -0
  742. package/dist/services/search/search-analytics.d.ts +3 -0
  743. package/dist/services/search/search-analytics.d.ts.map +1 -0
  744. package/dist/services/search/search-analytics.js +3 -0
  745. package/dist/services/search/search-analytics.js.map +1 -0
  746. package/dist/services/search/search-cache-pg.d.ts +49 -0
  747. package/dist/services/search/search-cache-pg.d.ts.map +1 -0
  748. package/dist/services/search/search-cache-pg.js +315 -0
  749. package/dist/services/search/search-cache-pg.js.map +1 -0
  750. package/dist/services/search/search-diagnostics.d.ts +39 -0
  751. package/dist/services/search/search-diagnostics.d.ts.map +1 -0
  752. package/dist/services/search/search-diagnostics.js +81 -0
  753. package/dist/services/search/search-diagnostics.js.map +1 -0
  754. package/dist/services/search/search-warmup.d.ts +29 -0
  755. package/dist/services/search/search-warmup.d.ts.map +1 -0
  756. package/dist/services/search/search-warmup.js +96 -0
  757. package/dist/services/search/search-warmup.js.map +1 -0
  758. package/dist/services/search/smart-chunker.d.ts +16 -0
  759. package/dist/services/search/smart-chunker.d.ts.map +1 -0
  760. package/dist/services/search/smart-chunker.js +67 -0
  761. package/dist/services/search/smart-chunker.js.map +1 -0
  762. package/dist/services/structural/diagnostics.d.ts +6 -0
  763. package/dist/services/structural/diagnostics.d.ts.map +1 -0
  764. package/dist/services/structural/diagnostics.js +22 -0
  765. package/dist/services/structural/diagnostics.js.map +1 -0
  766. package/dist/services/structural/fqn-codec.d.ts +105 -0
  767. package/dist/services/structural/fqn-codec.d.ts.map +1 -0
  768. package/dist/services/structural/fqn-codec.js +272 -0
  769. package/dist/services/structural/fqn-codec.js.map +1 -0
  770. package/dist/services/structural/grammar-integrity.d.ts +37 -0
  771. package/dist/services/structural/grammar-integrity.d.ts.map +1 -0
  772. package/dist/services/structural/grammar-integrity.js +196 -0
  773. package/dist/services/structural/grammar-integrity.js.map +1 -0
  774. package/dist/services/structural/grammar-loaders.d.ts +69 -0
  775. package/dist/services/structural/grammar-loaders.d.ts.map +1 -0
  776. package/dist/services/structural/grammar-loaders.js +229 -0
  777. package/dist/services/structural/grammar-loaders.js.map +1 -0
  778. package/dist/services/structural/language-manifest.d.ts +59 -0
  779. package/dist/services/structural/language-manifest.d.ts.map +1 -0
  780. package/dist/services/structural/language-manifest.js +413 -0
  781. package/dist/services/structural/language-manifest.js.map +1 -0
  782. package/dist/services/structural/native-lock-identities.d.ts +77 -0
  783. package/dist/services/structural/native-lock-identities.d.ts.map +1 -0
  784. package/dist/services/structural/native-lock-identities.js +192 -0
  785. package/dist/services/structural/native-lock-identities.js.map +1 -0
  786. package/dist/services/structural/native-node-helpers.d.ts +16 -0
  787. package/dist/services/structural/native-node-helpers.d.ts.map +1 -0
  788. package/dist/services/structural/native-node-helpers.js +145 -0
  789. package/dist/services/structural/native-node-helpers.js.map +1 -0
  790. package/dist/services/structural/parser-pool.d.ts +34 -0
  791. package/dist/services/structural/parser-pool.d.ts.map +1 -0
  792. package/dist/services/structural/parser-pool.js +148 -0
  793. package/dist/services/structural/parser-pool.js.map +1 -0
  794. package/dist/services/structural/parser-readiness.d.ts +30 -0
  795. package/dist/services/structural/parser-readiness.d.ts.map +1 -0
  796. package/dist/services/structural/parser-readiness.js +190 -0
  797. package/dist/services/structural/parser-readiness.js.map +1 -0
  798. package/dist/services/structural/query-pack-captures.d.ts +32 -0
  799. package/dist/services/structural/query-pack-captures.d.ts.map +1 -0
  800. package/dist/services/structural/query-pack-captures.js +173 -0
  801. package/dist/services/structural/query-pack-captures.js.map +1 -0
  802. package/dist/services/structural/query-pack-edges.d.ts +11 -0
  803. package/dist/services/structural/query-pack-edges.d.ts.map +1 -0
  804. package/dist/services/structural/query-pack-edges.js +521 -0
  805. package/dist/services/structural/query-pack-edges.js.map +1 -0
  806. package/dist/services/structural/query-pack-registry.d.ts +24 -0
  807. package/dist/services/structural/query-pack-registry.d.ts.map +1 -0
  808. package/dist/services/structural/query-pack-registry.js +42 -0
  809. package/dist/services/structural/query-pack-registry.js.map +1 -0
  810. package/dist/services/structural/query-pack.d.ts +10 -0
  811. package/dist/services/structural/query-pack.d.ts.map +1 -0
  812. package/dist/services/structural/query-pack.js +32 -0
  813. package/dist/services/structural/query-pack.js.map +1 -0
  814. package/dist/services/structural/query-packs/data-document.d.ts +7 -0
  815. package/dist/services/structural/query-packs/data-document.d.ts.map +1 -0
  816. package/dist/services/structural/query-packs/data-document.js +23 -0
  817. package/dist/services/structural/query-packs/data-document.js.map +1 -0
  818. package/dist/services/structural/query-packs/functional.d.ts +8 -0
  819. package/dist/services/structural/query-packs/functional.d.ts.map +1 -0
  820. package/dist/services/structural/query-packs/functional.js +58 -0
  821. package/dist/services/structural/query-packs/functional.js.map +1 -0
  822. package/dist/services/structural/query-packs/managed.d.ts +9 -0
  823. package/dist/services/structural/query-packs/managed.d.ts.map +1 -0
  824. package/dist/services/structural/query-packs/managed.js +114 -0
  825. package/dist/services/structural/query-packs/managed.js.map +1 -0
  826. package/dist/services/structural/query-packs/scripting.d.ts +7 -0
  827. package/dist/services/structural/query-packs/scripting.d.ts.map +1 -0
  828. package/dist/services/structural/query-packs/scripting.js +53 -0
  829. package/dist/services/structural/query-packs/scripting.js.map +1 -0
  830. package/dist/services/structural/query-packs/systems.d.ts +8 -0
  831. package/dist/services/structural/query-packs/systems.d.ts.map +1 -0
  832. package/dist/services/structural/query-packs/systems.js +74 -0
  833. package/dist/services/structural/query-packs/systems.js.map +1 -0
  834. package/dist/services/structural/query-packs/typescript.d.ts +4 -0
  835. package/dist/services/structural/query-packs/typescript.d.ts.map +1 -0
  836. package/dist/services/structural/query-packs/typescript.js +51 -0
  837. package/dist/services/structural/query-packs/typescript.js.map +1 -0
  838. package/dist/services/structural/resolver.d.ts +86 -0
  839. package/dist/services/structural/resolver.d.ts.map +1 -0
  840. package/dist/services/structural/resolver.js +189 -0
  841. package/dist/services/structural/resolver.js.map +1 -0
  842. package/dist/services/structural/resolvers/data-document.d.ts +4 -0
  843. package/dist/services/structural/resolvers/data-document.d.ts.map +1 -0
  844. package/dist/services/structural/resolvers/data-document.js +7 -0
  845. package/dist/services/structural/resolvers/data-document.js.map +1 -0
  846. package/dist/services/structural/resolvers/functional.d.ts +3 -0
  847. package/dist/services/structural/resolvers/functional.d.ts.map +1 -0
  848. package/dist/services/structural/resolvers/functional.js +30 -0
  849. package/dist/services/structural/resolvers/functional.js.map +1 -0
  850. package/dist/services/structural/resolvers/managed.d.ts +3 -0
  851. package/dist/services/structural/resolvers/managed.d.ts.map +1 -0
  852. package/dist/services/structural/resolvers/managed.js +44 -0
  853. package/dist/services/structural/resolvers/managed.js.map +1 -0
  854. package/dist/services/structural/resolvers/scripting.d.ts +4 -0
  855. package/dist/services/structural/resolvers/scripting.d.ts.map +1 -0
  856. package/dist/services/structural/resolvers/scripting.js +10 -0
  857. package/dist/services/structural/resolvers/scripting.js.map +1 -0
  858. package/dist/services/structural/resolvers/systems.d.ts +3 -0
  859. package/dist/services/structural/resolvers/systems.d.ts.map +1 -0
  860. package/dist/services/structural/resolvers/systems.js +33 -0
  861. package/dist/services/structural/resolvers/systems.js.map +1 -0
  862. package/dist/services/structural/resolvers/typescript.d.ts +6 -0
  863. package/dist/services/structural/resolvers/typescript.d.ts.map +1 -0
  864. package/dist/services/structural/resolvers/typescript.js +370 -0
  865. package/dist/services/structural/resolvers/typescript.js.map +1 -0
  866. package/dist/services/structural/schema-version.d.ts +42 -0
  867. package/dist/services/structural/schema-version.d.ts.map +1 -0
  868. package/dist/services/structural/schema-version.js +80 -0
  869. package/dist/services/structural/schema-version.js.map +1 -0
  870. package/dist/services/structural/source-span.d.ts +26 -0
  871. package/dist/services/structural/source-span.d.ts.map +1 -0
  872. package/dist/services/structural/source-span.js +117 -0
  873. package/dist/services/structural/source-span.js.map +1 -0
  874. package/dist/services/structural/structural-runtime.d.ts +55 -0
  875. package/dist/services/structural/structural-runtime.d.ts.map +1 -0
  876. package/dist/services/structural/structural-runtime.js +377 -0
  877. package/dist/services/structural/structural-runtime.js.map +1 -0
  878. package/dist/services/structural/symbol-signature.d.ts +25 -0
  879. package/dist/services/structural/symbol-signature.d.ts.map +1 -0
  880. package/dist/services/structural/symbol-signature.js +319 -0
  881. package/dist/services/structural/symbol-signature.js.map +1 -0
  882. package/dist/services/structural/types.d.ts +138 -0
  883. package/dist/services/structural/types.d.ts.map +1 -0
  884. package/dist/services/structural/types.js +27 -0
  885. package/dist/services/structural/types.js.map +1 -0
  886. package/dist/services/symbol/active-generation.d.ts +42 -0
  887. package/dist/services/symbol/active-generation.d.ts.map +1 -0
  888. package/dist/services/symbol/active-generation.js +56 -0
  889. package/dist/services/symbol/active-generation.js.map +1 -0
  890. package/dist/services/symbol/architecture.d.ts +238 -0
  891. package/dist/services/symbol/architecture.d.ts.map +1 -0
  892. package/dist/services/symbol/architecture.js +464 -0
  893. package/dist/services/symbol/architecture.js.map +1 -0
  894. package/dist/services/symbol/centrality.d.ts +24 -0
  895. package/dist/services/symbol/centrality.d.ts.map +1 -0
  896. package/dist/services/symbol/centrality.js +70 -0
  897. package/dist/services/symbol/centrality.js.map +1 -0
  898. package/dist/services/symbol/communities.d.ts +86 -0
  899. package/dist/services/symbol/communities.d.ts.map +1 -0
  900. package/dist/services/symbol/communities.js +551 -0
  901. package/dist/services/symbol/communities.js.map +1 -0
  902. package/dist/services/symbol/cycle-detection.d.ts +61 -0
  903. package/dist/services/symbol/cycle-detection.d.ts.map +1 -0
  904. package/dist/services/symbol/cycle-detection.js +182 -0
  905. package/dist/services/symbol/cycle-detection.js.map +1 -0
  906. package/dist/services/symbol/definition-lookup.d.ts +31 -0
  907. package/dist/services/symbol/definition-lookup.d.ts.map +1 -0
  908. package/dist/services/symbol/definition-lookup.js +53 -0
  909. package/dist/services/symbol/definition-lookup.js.map +1 -0
  910. package/dist/services/symbol/git-ref-validation.d.ts +26 -0
  911. package/dist/services/symbol/git-ref-validation.d.ts.map +1 -0
  912. package/dist/services/symbol/git-ref-validation.js +34 -0
  913. package/dist/services/symbol/git-ref-validation.js.map +1 -0
  914. package/dist/services/symbol/impact-analysis.d.ts +205 -0
  915. package/dist/services/symbol/impact-analysis.d.ts.map +1 -0
  916. package/dist/services/symbol/impact-analysis.js +617 -0
  917. package/dist/services/symbol/impact-analysis.js.map +1 -0
  918. package/dist/services/symbol/index.d.ts +20 -0
  919. package/dist/services/symbol/index.d.ts.map +1 -0
  920. package/dist/services/symbol/index.js +13 -0
  921. package/dist/services/symbol/index.js.map +1 -0
  922. package/dist/services/symbol/symbol-graph.service.d.ts +272 -0
  923. package/dist/services/symbol/symbol-graph.service.d.ts.map +1 -0
  924. package/dist/services/symbol/symbol-graph.service.js +580 -0
  925. package/dist/services/symbol/symbol-graph.service.js.map +1 -0
  926. package/dist/services/symbol/trace-path.d.ts +164 -0
  927. package/dist/services/symbol/trace-path.d.ts.map +1 -0
  928. package/dist/services/symbol/trace-path.js +448 -0
  929. package/dist/services/symbol/trace-path.js.map +1 -0
  930. package/dist/services/synapse/buffer/index.d.ts +2 -0
  931. package/dist/services/synapse/buffer/index.d.ts.map +1 -0
  932. package/dist/services/synapse/buffer/index.js +2 -0
  933. package/dist/services/synapse/buffer/index.js.map +1 -0
  934. package/dist/services/synapse/buffer/working-memory-buffer.d.ts +124 -0
  935. package/dist/services/synapse/buffer/working-memory-buffer.d.ts.map +1 -0
  936. package/dist/services/synapse/buffer/working-memory-buffer.js +251 -0
  937. package/dist/services/synapse/buffer/working-memory-buffer.js.map +1 -0
  938. package/dist/services/synapse/index.d.ts +27 -0
  939. package/dist/services/synapse/index.d.ts.map +1 -0
  940. package/dist/services/synapse/index.js +35 -0
  941. package/dist/services/synapse/index.js.map +1 -0
  942. package/dist/services/synapse/inhibition/chain-inhibition.d.ts +36 -0
  943. package/dist/services/synapse/inhibition/chain-inhibition.d.ts.map +1 -0
  944. package/dist/services/synapse/inhibition/chain-inhibition.js +133 -0
  945. package/dist/services/synapse/inhibition/chain-inhibition.js.map +1 -0
  946. package/dist/services/synapse/inhibition/confidence-gate.d.ts +49 -0
  947. package/dist/services/synapse/inhibition/confidence-gate.d.ts.map +1 -0
  948. package/dist/services/synapse/inhibition/confidence-gate.js +131 -0
  949. package/dist/services/synapse/inhibition/confidence-gate.js.map +1 -0
  950. package/dist/services/synapse/inhibition/diversity-penalty.d.ts +28 -0
  951. package/dist/services/synapse/inhibition/diversity-penalty.d.ts.map +1 -0
  952. package/dist/services/synapse/inhibition/diversity-penalty.js +75 -0
  953. package/dist/services/synapse/inhibition/diversity-penalty.js.map +1 -0
  954. package/dist/services/synapse/inhibition/index.d.ts +5 -0
  955. package/dist/services/synapse/inhibition/index.d.ts.map +1 -0
  956. package/dist/services/synapse/inhibition/index.js +5 -0
  957. package/dist/services/synapse/inhibition/index.js.map +1 -0
  958. package/dist/services/synapse/inhibition/temporal-inhibition.d.ts +21 -0
  959. package/dist/services/synapse/inhibition/temporal-inhibition.d.ts.map +1 -0
  960. package/dist/services/synapse/inhibition/temporal-inhibition.js +70 -0
  961. package/dist/services/synapse/inhibition/temporal-inhibition.js.map +1 -0
  962. package/dist/services/synapse/inhibition/type-inference.d.ts +14 -0
  963. package/dist/services/synapse/inhibition/type-inference.d.ts.map +1 -0
  964. package/dist/services/synapse/inhibition/type-inference.js +36 -0
  965. package/dist/services/synapse/inhibition/type-inference.js.map +1 -0
  966. package/dist/services/synapse/metacognition/index.d.ts +2 -0
  967. package/dist/services/synapse/metacognition/index.d.ts.map +1 -0
  968. package/dist/services/synapse/metacognition/index.js +2 -0
  969. package/dist/services/synapse/metacognition/index.js.map +1 -0
  970. package/dist/services/synapse/metacognition/score-spectrum.d.ts +29 -0
  971. package/dist/services/synapse/metacognition/score-spectrum.d.ts.map +1 -0
  972. package/dist/services/synapse/metacognition/score-spectrum.js +70 -0
  973. package/dist/services/synapse/metacognition/score-spectrum.js.map +1 -0
  974. package/dist/services/synapse/plasticity/compress.d.ts +64 -0
  975. package/dist/services/synapse/plasticity/compress.d.ts.map +1 -0
  976. package/dist/services/synapse/plasticity/compress.js +82 -0
  977. package/dist/services/synapse/plasticity/compress.js.map +1 -0
  978. package/dist/services/synapse/plasticity/embedding-evolution.d.ts +42 -0
  979. package/dist/services/synapse/plasticity/embedding-evolution.d.ts.map +1 -0
  980. package/dist/services/synapse/plasticity/embedding-evolution.js +81 -0
  981. package/dist/services/synapse/plasticity/embedding-evolution.js.map +1 -0
  982. package/dist/services/synapse/plasticity/index.d.ts +4 -0
  983. package/dist/services/synapse/plasticity/index.d.ts.map +1 -0
  984. package/dist/services/synapse/plasticity/index.js +4 -0
  985. package/dist/services/synapse/plasticity/index.js.map +1 -0
  986. package/dist/services/synapse/plasticity/strengthen.d.ts +45 -0
  987. package/dist/services/synapse/plasticity/strengthen.d.ts.map +1 -0
  988. package/dist/services/synapse/plasticity/strengthen.js +69 -0
  989. package/dist/services/synapse/plasticity/strengthen.js.map +1 -0
  990. package/dist/services/synapse/prefetch/index.d.ts +2 -0
  991. package/dist/services/synapse/prefetch/index.d.ts.map +1 -0
  992. package/dist/services/synapse/prefetch/index.js +2 -0
  993. package/dist/services/synapse/prefetch/index.js.map +1 -0
  994. package/dist/services/synapse/prefetch/prefetch.d.ts +75 -0
  995. package/dist/services/synapse/prefetch/prefetch.d.ts.map +1 -0
  996. package/dist/services/synapse/prefetch/prefetch.js +111 -0
  997. package/dist/services/synapse/prefetch/prefetch.js.map +1 -0
  998. package/dist/services/synapse/scoring/agent-affinity.d.ts +16 -0
  999. package/dist/services/synapse/scoring/agent-affinity.d.ts.map +1 -0
  1000. package/dist/services/synapse/scoring/agent-affinity.js +40 -0
  1001. package/dist/services/synapse/scoring/agent-affinity.js.map +1 -0
  1002. package/dist/services/synapse/scoring/attention-score.d.ts +80 -0
  1003. package/dist/services/synapse/scoring/attention-score.d.ts.map +1 -0
  1004. package/dist/services/synapse/scoring/attention-score.js +177 -0
  1005. package/dist/services/synapse/scoring/attention-score.js.map +1 -0
  1006. package/dist/services/synapse/scoring/index.d.ts +4 -0
  1007. package/dist/services/synapse/scoring/index.d.ts.map +1 -0
  1008. package/dist/services/synapse/scoring/index.js +4 -0
  1009. package/dist/services/synapse/scoring/index.js.map +1 -0
  1010. package/dist/services/synapse/scoring/task-alignment.d.ts +20 -0
  1011. package/dist/services/synapse/scoring/task-alignment.d.ts.map +1 -0
  1012. package/dist/services/synapse/scoring/task-alignment.js +65 -0
  1013. package/dist/services/synapse/scoring/task-alignment.js.map +1 -0
  1014. package/dist/services/synapse/session/index.d.ts +2 -0
  1015. package/dist/services/synapse/session/index.d.ts.map +1 -0
  1016. package/dist/services/synapse/session/index.js +2 -0
  1017. package/dist/services/synapse/session/index.js.map +1 -0
  1018. package/dist/services/synapse/session/session-registry.d.ts +85 -0
  1019. package/dist/services/synapse/session/session-registry.d.ts.map +1 -0
  1020. package/dist/services/synapse/session/session-registry.js +241 -0
  1021. package/dist/services/synapse/session/session-registry.js.map +1 -0
  1022. package/dist/services/synapse/session/session-store-pg.d.ts +88 -0
  1023. package/dist/services/synapse/session/session-store-pg.d.ts.map +1 -0
  1024. package/dist/services/synapse/session/session-store-pg.js +334 -0
  1025. package/dist/services/synapse/session/session-store-pg.js.map +1 -0
  1026. package/dist/services/synapse/session/session-store.d.ts +23 -0
  1027. package/dist/services/synapse/session/session-store.d.ts.map +1 -0
  1028. package/dist/services/synapse/session/session-store.js +15 -0
  1029. package/dist/services/synapse/session/session-store.js.map +1 -0
  1030. package/dist/services/synapse/synapse-manager.d.ts +41 -0
  1031. package/dist/services/synapse/synapse-manager.d.ts.map +1 -0
  1032. package/dist/services/synapse/synapse-manager.js +167 -0
  1033. package/dist/services/synapse/synapse-manager.js.map +1 -0
  1034. package/dist/services/synapse/task-envelope.d.ts +99 -0
  1035. package/dist/services/synapse/task-envelope.d.ts.map +1 -0
  1036. package/dist/services/synapse/task-envelope.js +192 -0
  1037. package/dist/services/synapse/task-envelope.js.map +1 -0
  1038. package/dist/services/synapse/types.d.ts +79 -0
  1039. package/dist/services/synapse/types.d.ts.map +1 -0
  1040. package/dist/services/synapse/types.js +8 -0
  1041. package/dist/services/synapse/types.js.map +1 -0
  1042. package/dist/services/web/fetcher.d.ts +99 -0
  1043. package/dist/services/web/fetcher.d.ts.map +1 -0
  1044. package/dist/services/web/fetcher.js +267 -0
  1045. package/dist/services/web/fetcher.js.map +1 -0
  1046. package/dist/services/web/html-to-md.d.ts +38 -0
  1047. package/dist/services/web/html-to-md.d.ts.map +1 -0
  1048. package/dist/services/web/html-to-md.js +98 -0
  1049. package/dist/services/web/html-to-md.js.map +1 -0
  1050. package/dist/services/web/index.d.ts +15 -0
  1051. package/dist/services/web/index.d.ts.map +1 -0
  1052. package/dist/services/web/index.js +15 -0
  1053. package/dist/services/web/index.js.map +1 -0
  1054. package/dist/services/web/ssrf.d.ts +142 -0
  1055. package/dist/services/web/ssrf.d.ts.map +1 -0
  1056. package/dist/services/web/ssrf.js +334 -0
  1057. package/dist/services/web/ssrf.js.map +1 -0
  1058. package/dist/services/web/web-controller.d.ts +70 -0
  1059. package/dist/services/web/web-controller.d.ts.map +1 -0
  1060. package/dist/services/web/web-controller.js +140 -0
  1061. package/dist/services/web/web-controller.js.map +1 -0
  1062. package/dist/services/workspace/index.d.ts +6 -0
  1063. package/dist/services/workspace/index.d.ts.map +1 -0
  1064. package/dist/services/workspace/index.js +5 -0
  1065. package/dist/services/workspace/index.js.map +1 -0
  1066. package/dist/services/workspace/workspace-manager.d.ts +57 -0
  1067. package/dist/services/workspace/workspace-manager.d.ts.map +1 -0
  1068. package/dist/services/workspace/workspace-manager.js +144 -0
  1069. package/dist/services/workspace/workspace-manager.js.map +1 -0
  1070. package/dist/tools/batch_execute.d.ts +64 -0
  1071. package/dist/tools/batch_execute.d.ts.map +1 -0
  1072. package/dist/tools/batch_execute.js +55 -0
  1073. package/dist/tools/batch_execute.js.map +1 -0
  1074. package/dist/tools/compact_snapshot.d.ts +56 -0
  1075. package/dist/tools/compact_snapshot.d.ts.map +1 -0
  1076. package/dist/tools/compact_snapshot.js +139 -0
  1077. package/dist/tools/compact_snapshot.js.map +1 -0
  1078. package/dist/tools/compress_context.d.ts +41 -0
  1079. package/dist/tools/compress_context.d.ts.map +1 -0
  1080. package/dist/tools/compress_context.js +103 -0
  1081. package/dist/tools/compress_context.js.map +1 -0
  1082. package/dist/tools/create_checkpoint.d.ts +120 -0
  1083. package/dist/tools/create_checkpoint.d.ts.map +1 -0
  1084. package/dist/tools/create_checkpoint.js +184 -0
  1085. package/dist/tools/create_checkpoint.js.map +1 -0
  1086. package/dist/tools/delete_memory.d.ts +39 -0
  1087. package/dist/tools/delete_memory.d.ts.map +1 -0
  1088. package/dist/tools/delete_memory.js +51 -0
  1089. package/dist/tools/delete_memory.js.map +1 -0
  1090. package/dist/tools/enum-validation.d.ts +37 -0
  1091. package/dist/tools/enum-validation.d.ts.map +1 -0
  1092. package/dist/tools/enum-validation.js +46 -0
  1093. package/dist/tools/enum-validation.js.map +1 -0
  1094. package/dist/tools/execute.d.ts +57 -0
  1095. package/dist/tools/execute.d.ts.map +1 -0
  1096. package/dist/tools/execute.js +64 -0
  1097. package/dist/tools/execute.js.map +1 -0
  1098. package/dist/tools/execute_file.d.ts +52 -0
  1099. package/dist/tools/execute_file.d.ts.map +1 -0
  1100. package/dist/tools/execute_file.js +61 -0
  1101. package/dist/tools/execute_file.js.map +1 -0
  1102. package/dist/tools/fetch_and_index.d.ts +71 -0
  1103. package/dist/tools/fetch_and_index.d.ts.map +1 -0
  1104. package/dist/tools/fetch_and_index.js +74 -0
  1105. package/dist/tools/fetch_and_index.js.map +1 -0
  1106. package/dist/tools/get_analytics.d.ts +38 -0
  1107. package/dist/tools/get_analytics.d.ts.map +1 -0
  1108. package/dist/tools/get_analytics.js +114 -0
  1109. package/dist/tools/get_analytics.js.map +1 -0
  1110. package/dist/tools/get_architecture.d.ts +59 -0
  1111. package/dist/tools/get_architecture.d.ts.map +1 -0
  1112. package/dist/tools/get_architecture.js +104 -0
  1113. package/dist/tools/get_architecture.js.map +1 -0
  1114. package/dist/tools/get_index_status.d.ts +23 -0
  1115. package/dist/tools/get_index_status.d.ts.map +1 -0
  1116. package/dist/tools/get_index_status.js +61 -0
  1117. package/dist/tools/get_index_status.js.map +1 -0
  1118. package/dist/tools/get_optimized_context.d.ts +78 -0
  1119. package/dist/tools/get_optimized_context.d.ts.map +1 -0
  1120. package/dist/tools/get_optimized_context.js +110 -0
  1121. package/dist/tools/get_optimized_context.js.map +1 -0
  1122. package/dist/tools/get_references.d.ts +53 -0
  1123. package/dist/tools/get_references.d.ts.map +1 -0
  1124. package/dist/tools/get_references.js +114 -0
  1125. package/dist/tools/get_references.js.map +1 -0
  1126. package/dist/tools/go_to_definition.d.ts +31 -0
  1127. package/dist/tools/go_to_definition.d.ts.map +1 -0
  1128. package/dist/tools/go_to_definition.js +75 -0
  1129. package/dist/tools/go_to_definition.js.map +1 -0
  1130. package/dist/tools/impact_analysis.d.ts +89 -0
  1131. package/dist/tools/impact_analysis.d.ts.map +1 -0
  1132. package/dist/tools/impact_analysis.js +186 -0
  1133. package/dist/tools/impact_analysis.js.map +1 -0
  1134. package/dist/tools/index.d.ts +34 -0
  1135. package/dist/tools/index.d.ts.map +1 -0
  1136. package/dist/tools/index.js +38 -0
  1137. package/dist/tools/index.js.map +1 -0
  1138. package/dist/tools/index_project.d.ts +77 -0
  1139. package/dist/tools/index_project.d.ts.map +1 -0
  1140. package/dist/tools/index_project.js +259 -0
  1141. package/dist/tools/index_project.js.map +1 -0
  1142. package/dist/tools/list_checkpoints.d.ts +59 -0
  1143. package/dist/tools/list_checkpoints.d.ts.map +1 -0
  1144. package/dist/tools/list_checkpoints.js +110 -0
  1145. package/dist/tools/list_checkpoints.js.map +1 -0
  1146. package/dist/tools/list_projects.d.ts +24 -0
  1147. package/dist/tools/list_projects.d.ts.map +1 -0
  1148. package/dist/tools/list_projects.js +58 -0
  1149. package/dist/tools/list_projects.js.map +1 -0
  1150. package/dist/tools/read_file.d.ts +150 -0
  1151. package/dist/tools/read_file.d.ts.map +1 -0
  1152. package/dist/tools/read_file.js +580 -0
  1153. package/dist/tools/read_file.js.map +1 -0
  1154. package/dist/tools/restore_checkpoint.d.ts +45 -0
  1155. package/dist/tools/restore_checkpoint.d.ts.map +1 -0
  1156. package/dist/tools/restore_checkpoint.js +113 -0
  1157. package/dist/tools/restore_checkpoint.js.map +1 -0
  1158. package/dist/tools/search_code.d.ts +35 -0
  1159. package/dist/tools/search_code.d.ts.map +1 -0
  1160. package/dist/tools/search_code.js +61 -0
  1161. package/dist/tools/search_code.js.map +1 -0
  1162. package/dist/tools/search_definitions.d.ts +54 -0
  1163. package/dist/tools/search_definitions.d.ts.map +1 -0
  1164. package/dist/tools/search_definitions.js +123 -0
  1165. package/dist/tools/search_definitions.js.map +1 -0
  1166. package/dist/tools/search_memories.d.ts +82 -0
  1167. package/dist/tools/search_memories.d.ts.map +1 -0
  1168. package/dist/tools/search_memories.js +115 -0
  1169. package/dist/tools/search_memories.js.map +1 -0
  1170. package/dist/tools/search_project.d.ts +90 -0
  1171. package/dist/tools/search_project.d.ts.map +1 -0
  1172. package/dist/tools/search_project.js +115 -0
  1173. package/dist/tools/search_project.js.map +1 -0
  1174. package/dist/tools/serialize-interfaces.d.ts +103 -0
  1175. package/dist/tools/serialize-interfaces.d.ts.map +1 -0
  1176. package/dist/tools/serialize-interfaces.js +15 -0
  1177. package/dist/tools/serialize-interfaces.js.map +1 -0
  1178. package/dist/tools/serialize.d.ts +101 -0
  1179. package/dist/tools/serialize.d.ts.map +1 -0
  1180. package/dist/tools/serialize.js +388 -0
  1181. package/dist/tools/serialize.js.map +1 -0
  1182. package/dist/tools/store_memory.d.ts +78 -0
  1183. package/dist/tools/store_memory.d.ts.map +1 -0
  1184. package/dist/tools/store_memory.js +87 -0
  1185. package/dist/tools/store_memory.js.map +1 -0
  1186. package/dist/tools/trace_path.d.ts +98 -0
  1187. package/dist/tools/trace_path.d.ts.map +1 -0
  1188. package/dist/tools/trace_path.js +181 -0
  1189. package/dist/tools/trace_path.js.map +1 -0
  1190. package/dist/tools/update_memory.d.ts +61 -0
  1191. package/dist/tools/update_memory.d.ts.map +1 -0
  1192. package/dist/tools/update_memory.js +74 -0
  1193. package/dist/tools/update_memory.js.map +1 -0
  1194. package/package.json +103 -0
  1195. package/prisma/migrations/20260309210441_init/migration.sql +127 -0
  1196. package/prisma/migrations/20260413122356_add_workspaces_symbol_graph/migration.sql +224 -0
  1197. package/prisma/migrations/20260413200000_add_vector_4096_bq/migration.sql +33 -0
  1198. package/prisma/migrations/20260419193214_hnsw_ef_construction_128/migration.sql +38 -0
  1199. package/prisma/migrations/20260419214959_add_vector_1536/migration.sql +28 -0
  1200. package/prisma/migrations/20260705060000_add_memories_pinned_softdelete/migration.sql +10 -0
  1201. package/prisma/migrations/20260706105826_drop_symbol_refs_target_fqn_not_null/migration.sql +2 -0
  1202. package/prisma/migrations/20260707100000_add_index_jobs_pg/migration.sql +28 -0
  1203. package/prisma/migrations/20260709120000_add_scheduled_jobs_pg/migration.sql +22 -0
  1204. package/prisma/migrations/20260710120000_add_synapse_sessions_pg/migration.sql +36 -0
  1205. package/prisma/migrations/20260710123800_add_observations_pg/migration.sql +35 -0
  1206. package/prisma/migrations/20260710140000_add_symbol_refs_meta_and_kind_index/migration.sql +8 -0
  1207. package/prisma/migrations/20260710160000_add_task_checkpoints_pg/migration.sql +30 -0
  1208. package/prisma/migrations/20260713090000_add_handoffs_proposals_pg/migration.sql +42 -0
  1209. package/prisma/migrations/20260714170000_add_graph_generations/migration.sql +286 -0
  1210. package/prisma/migrations/20260714220000_add_index_job_graph_generation/migration.sql +5 -0
  1211. package/prisma/migrations/20260714233000_add_index_job_parser_diagnostics/migration.sql +6 -0
  1212. package/prisma/migrations/20260718000000_add_operation_log/migration.sql +25 -0
  1213. package/prisma/migrations/20260719120000_add_project_identity/migration.sql +268 -0
  1214. package/prisma/migrations/20260720120000_add_observation_attribution/migration.sql +5 -0
  1215. package/prisma/migrations/20260720210000_repair_hook_attribution/migration.sql +256 -0
  1216. package/prisma/migrations/20260722120000_add_managed_runs/migration.sql +66 -0
  1217. package/prisma/migrations/20260722130000_add_scheduler_last_success/migration.sql +24 -0
  1218. package/prisma/migrations/migration_lock.toml +3 -0
  1219. package/prisma/schema.prisma +745 -0
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Web ingestion service — SSRF-guarded fetch + HTML→md + index.
3
+ *
4
+ * Public surface:
5
+ * - classifyIp / assertUrlSafe / fetchWithSsrfGuard / SsrfBlockedError (ssrf)
6
+ * - htmlToMarkdown / jsonToKeyPathChunks (html-to-md)
7
+ * - fetchAndConvertOne / composeFetchCacheKey / MAX_FETCH_BYTES /
8
+ * DEFAULT_FETCH_TTL_MS + types (fetcher)
9
+ * - WebController (orchestration)
10
+ */
11
+ export { classifyIp, assertUrlSafe, fetchWithSsrfGuard, SsrfBlockedError, setDnsResolver, MAX_REDIRECTS, } from "./ssrf.js";
12
+ export { htmlToMarkdown, jsonToKeyPathChunks, } from "./html-to-md.js";
13
+ export { fetchAndConvertOne, composeFetchCacheKey, MAX_FETCH_BYTES, DEFAULT_FETCH_TTL_MS, } from "./fetcher.js";
14
+ export { WebController, } from "./web-controller.js";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/web/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,aAAa,GAKd,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,cAAc,EACd,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,GAMrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,GAId,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * SSRF guard — Server-Side Request Forgery defense for `fetch_and_index`.
3
+ *
4
+ * Policy (massa-ai is STRICT BY DEFAULT, unlike context-mode's lenient mode):
5
+ *
6
+ * HARD BLOCK — no legitimate fetch use case reaches these:
7
+ * - non-http(s) schemes (file://, gopher://, javascript:, data:, …)
8
+ * - 169.254.0.0/16 link-local — INCLUDES 169.254.169.254 (AWS/GCP/Azure
9
+ * IMDS cloud-credential endpoint, the highest-value SSRF target)
10
+ * - IPv6 link-local fe80::/10
11
+ * - multicast (224.0.0.0/4 IPv4, ff00::/8 IPv6)
12
+ * - unspecified / current-network (0.0.0.0/8, ::)
13
+ * - loopback (127.0.0.0/8, ::1) — local dev servers are out of scope here
14
+ * - RFC1918 private (10/8, 172.16/12, 192.168/16) and IPv6 ULA (fc00::/7)
15
+ * - malformed / non-IP strings
16
+ *
17
+ * The massa-ai trust model treats fetch targets as OPEN WORLD (arbitrary
18
+ * URLs the agent fetched at the user's request), so a private/loopback hit is
19
+ * treated as a rebinding attack probe, not a local-dev convenience. This is the
20
+ * conservative default; there is no lenient escape hatch (unlike context-mode's
21
+ * `CTX_FETCH_STRICT` toggle) — if a future task needs to fetch localhost it can
22
+ * add an explicit allowlist.
23
+ *
24
+ * DNS-rebinding defense (TOCTOU-safe):
25
+ * 1. Resolve the hostname ONCE and classify EACH resolved address.
26
+ * 2. PIN the connection to the already-classified resolved IP by rewriting
27
+ * the fetch URL to the literal IP and setting the `Host` header to the
28
+ * original hostname. This closes the TOCTOU: the fetch's own connect-time
29
+ * DNS re-resolution is bypassed entirely because the URL host is now a
30
+ * literal IP (no lookup occurs). An attacker cannot serve a public IP at
31
+ * check-time and a private IP at connect-time for the SAME request — the
32
+ * connect-time resolution never happens.
33
+ * (The alternative — a custom undici `connect.lookup` hook — does NOT work
34
+ * under bun: bun's native fetch ignores the undici Dispatcher entirely,
35
+ * and even the bundled undici shim does not invoke `connect.lookup`. The
36
+ * literal-IP + Host-header approach is the only one that works under bun
37
+ * and is also portable to node/undici.)
38
+ * 3. On fetch, walk redirects MANUALLY (do not let fetch auto-follow) and
39
+ * re-resolve + re-classify + re-PIN the hostname of every hop. An attacker
40
+ * can return a public IP for the first request, then 302 to an internal
41
+ * host whose DNS now resolves to 169.254.169.254. Manual redirect walking
42
+ * with per-hop resolution+pinning defeats this.
43
+ *
44
+ * Exported seams:
45
+ * - classifyIp(ip) — pure IP classifier (tested directly with literals).
46
+ * - assertUrlSafe(url) — resolve + classify, returns pinned IP(s); throws on
47
+ * any blocked IP.
48
+ * - fetchWithSsrfGuard(url, opts) — fetch with DNS-pinned connect + manual
49
+ * redirect walk that re-runs assertUrlSafe (and re-pins) at every hop.
50
+ */
51
+ export type IpClass = "block" | "public";
52
+ /** Hard cap on redirect hops we will walk before giving up (loop defense). */
53
+ export declare const MAX_REDIRECTS = 8;
54
+ /**
55
+ * Injectable DNS resolver seam. Defaults to node:dns/promises `lookup`. Tests
56
+ * swap this (via `setDnsResolver`) to simulate DNS rebinding / IMDS aliases
57
+ * WITHOUT patching the read-only module namespace. Production code never calls
58
+ * the setter.
59
+ */
60
+ export type DnsResolver = (hostname: string) => Promise<{
61
+ address: string;
62
+ }[]>;
63
+ /** Test seam: override the DNS resolver. Returns a restore function. */
64
+ export declare function setDnsResolver(resolver: DnsResolver): () => void;
65
+ /**
66
+ * Classify a single IP literal.
67
+ *
68
+ * Returns "block" for link-local / loopback / private / multicast / unspecified
69
+ * / malformed. Returns "public" only for genuinely routable addresses.
70
+ *
71
+ * IPv4-mapped IPv6 (`::ffff:127.0.0.1`) is routed through the IPv4 classifier so
72
+ * loopback mapped into the v6 space is still caught.
73
+ *
74
+ * RFC 6874 zone identifiers (`fe80::1%eth0`, URL-encoded `%25eth0`) are stripped
75
+ * BEFORE classification — without the strip, `::1%eth0` no longer matches
76
+ * `=== "::1"` and would fall through to "public", silently bypassing the guard.
77
+ */
78
+ export declare function classifyIp(rawIp: string): IpClass;
79
+ /** Error thrown when a URL or one of its redirect hops is blocked by SSRF. */
80
+ export declare class SsrfBlockedError extends Error {
81
+ readonly url: string;
82
+ readonly resolvedIp?: string | undefined;
83
+ constructor(message: string, url: string, resolvedIp?: string | undefined);
84
+ }
85
+ /**
86
+ * Result of `assertUrlSafe`: the connection-pin parameters the caller must use
87
+ * when issuing the fetch so the TOCTOU gap between check-time and connect-time
88
+ * DNS resolution is closed.
89
+ *
90
+ * - `pinnedIp`: the already-classified IP literal to connect to (replaces the
91
+ * hostname in the fetch URL). For a URL that already names a literal IP,
92
+ * this is that same IP. For a hostname, this is the first public resolved
93
+ * address.
94
+ * - `originalHost`: the hostname to send in the `Host` header so virtual
95
+ * hosting + TLS SNI still work. Equals the URL's hostname (brackets stripped
96
+ * for IPv6). When the URL already names a literal IP, this equals pinnedIp
97
+ * and no Host header rewrite is needed.
98
+ * - `isLiteralIpUrl`: true when the original URL host was already an IP
99
+ * literal (no DNS resolution occurred). Lets the caller skip the rewrite.
100
+ */
101
+ export interface UrlSafetyResult {
102
+ pinnedIp: string;
103
+ originalHost: string;
104
+ isLiteralIpUrl: boolean;
105
+ }
106
+ /**
107
+ * Resolve `hostname` and assert every resolved IP is public. Throws
108
+ * `SsrfBlockedError` on the first blocked address. A hostname that resolves to
109
+ * a MIX of public + private is still rejected (TOCTOU-safe: we re-resolve on
110
+ * fetch, so even if the resolver rotates answers, every hop is checked).
111
+ *
112
+ * Returns the `UrlSafetyResult` (pinned IP + original hostname) so the caller
113
+ * can pin the fetch connection to the already-classified IP and close the
114
+ * TOCTOU between check-time and connect-time DNS resolution.
115
+ */
116
+ export declare function assertUrlSafe(rawUrl: string): Promise<UrlSafetyResult>;
117
+ export interface FetchGuardOptions {
118
+ /** Per-request timeout (ms). Default 30_000. */
119
+ timeoutMs?: number;
120
+ /** AbortSignal from the caller (e.g. for test cancellation). */
121
+ signal?: AbortSignal;
122
+ /** Composed AbortSignal: combines the timeout timer and the caller's signal. */
123
+ _compose?: (signals: AbortSignal[]) => AbortSignal;
124
+ }
125
+ /**
126
+ * Fetch a URL with the SSRF DNS-pin + redirect-walk defense.
127
+ *
128
+ * TWO-LAYER DEFENSE (TOCTOU-safe):
129
+ * 1. DNS PIN: `assertUrlSafe` resolves the hostname once and classifies the
130
+ * IP. We then rewrite the fetch URL to connect to that LITERAL IP and set
131
+ * the `Host` header to the original hostname. Because the fetch URL's host
132
+ * is now a literal IP, NO DNS lookup occurs at connect time — the attacker
133
+ * cannot serve a different (private) IP at connect. bun's fetch honors the
134
+ * `Host` header for both HTTP virtual hosting and HTTPS TLS SNI.
135
+ * 2. REDIRECT WALK: does NOT auto-follow. Each 3xx Location header is
136
+ * re-resolved + re-classified + re-pinned before the next hop. Any blocked
137
+ * hop throws `SsrfBlockedError`. Capped at MAX_REDIRECTS to defeat loops.
138
+ *
139
+ * Returns the final (non-redirect) Response. The caller reads the body.
140
+ */
141
+ export declare function fetchWithSsrfGuard(rawUrl: string, opts?: FetchGuardOptions): Promise<Response>;
142
+ //# sourceMappingURL=ssrf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssrf.d.ts","sourceRoot":"","sources":["../../../src/services/web/ssrf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAKH,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzC,8EAA8E;AAC9E,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAAC;AAOpC,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,IAAI,CAMhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA0DjD;AAED,8EAA8E;AAC9E,qBAAa,gBAAiB,SAAQ,KAAK;IAGvC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM;gBAF5B,OAAO,EAAE,MAAM,EACN,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,YAAA;CAK/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAyE5E;AAkBD,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,CAAC;CACpD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAgEnB"}
@@ -0,0 +1,334 @@
1
+ /**
2
+ * SSRF guard — Server-Side Request Forgery defense for `fetch_and_index`.
3
+ *
4
+ * Policy (massa-ai is STRICT BY DEFAULT, unlike context-mode's lenient mode):
5
+ *
6
+ * HARD BLOCK — no legitimate fetch use case reaches these:
7
+ * - non-http(s) schemes (file://, gopher://, javascript:, data:, …)
8
+ * - 169.254.0.0/16 link-local — INCLUDES 169.254.169.254 (AWS/GCP/Azure
9
+ * IMDS cloud-credential endpoint, the highest-value SSRF target)
10
+ * - IPv6 link-local fe80::/10
11
+ * - multicast (224.0.0.0/4 IPv4, ff00::/8 IPv6)
12
+ * - unspecified / current-network (0.0.0.0/8, ::)
13
+ * - loopback (127.0.0.0/8, ::1) — local dev servers are out of scope here
14
+ * - RFC1918 private (10/8, 172.16/12, 192.168/16) and IPv6 ULA (fc00::/7)
15
+ * - malformed / non-IP strings
16
+ *
17
+ * The massa-ai trust model treats fetch targets as OPEN WORLD (arbitrary
18
+ * URLs the agent fetched at the user's request), so a private/loopback hit is
19
+ * treated as a rebinding attack probe, not a local-dev convenience. This is the
20
+ * conservative default; there is no lenient escape hatch (unlike context-mode's
21
+ * `CTX_FETCH_STRICT` toggle) — if a future task needs to fetch localhost it can
22
+ * add an explicit allowlist.
23
+ *
24
+ * DNS-rebinding defense (TOCTOU-safe):
25
+ * 1. Resolve the hostname ONCE and classify EACH resolved address.
26
+ * 2. PIN the connection to the already-classified resolved IP by rewriting
27
+ * the fetch URL to the literal IP and setting the `Host` header to the
28
+ * original hostname. This closes the TOCTOU: the fetch's own connect-time
29
+ * DNS re-resolution is bypassed entirely because the URL host is now a
30
+ * literal IP (no lookup occurs). An attacker cannot serve a public IP at
31
+ * check-time and a private IP at connect-time for the SAME request — the
32
+ * connect-time resolution never happens.
33
+ * (The alternative — a custom undici `connect.lookup` hook — does NOT work
34
+ * under bun: bun's native fetch ignores the undici Dispatcher entirely,
35
+ * and even the bundled undici shim does not invoke `connect.lookup`. The
36
+ * literal-IP + Host-header approach is the only one that works under bun
37
+ * and is also portable to node/undici.)
38
+ * 3. On fetch, walk redirects MANUALLY (do not let fetch auto-follow) and
39
+ * re-resolve + re-classify + re-PIN the hostname of every hop. An attacker
40
+ * can return a public IP for the first request, then 302 to an internal
41
+ * host whose DNS now resolves to 169.254.169.254. Manual redirect walking
42
+ * with per-hop resolution+pinning defeats this.
43
+ *
44
+ * Exported seams:
45
+ * - classifyIp(ip) — pure IP classifier (tested directly with literals).
46
+ * - assertUrlSafe(url) — resolve + classify, returns pinned IP(s); throws on
47
+ * any blocked IP.
48
+ * - fetchWithSsrfGuard(url, opts) — fetch with DNS-pinned connect + manual
49
+ * redirect walk that re-runs assertUrlSafe (and re-pins) at every hop.
50
+ */
51
+ import { lookup as dnsLookup } from "node:dns/promises";
52
+ import { logger } from "@massa-ai/shared";
53
+ /** Hard cap on redirect hops we will walk before giving up (loop defense). */
54
+ export const MAX_REDIRECTS = 8;
55
+ let dnsResolver = async (hostname) => {
56
+ // node:dns/promises `lookup` with `all: true` returns {address,family}[].
57
+ const records = await dnsLookup(hostname, { all: true, verbatim: true });
58
+ return records.map((r) => ({ address: r.address }));
59
+ };
60
+ /** Test seam: override the DNS resolver. Returns a restore function. */
61
+ export function setDnsResolver(resolver) {
62
+ const prev = dnsResolver;
63
+ dnsResolver = resolver;
64
+ return () => {
65
+ dnsResolver = prev;
66
+ };
67
+ }
68
+ /**
69
+ * Classify a single IP literal.
70
+ *
71
+ * Returns "block" for link-local / loopback / private / multicast / unspecified
72
+ * / malformed. Returns "public" only for genuinely routable addresses.
73
+ *
74
+ * IPv4-mapped IPv6 (`::ffff:127.0.0.1`) is routed through the IPv4 classifier so
75
+ * loopback mapped into the v6 space is still caught.
76
+ *
77
+ * RFC 6874 zone identifiers (`fe80::1%eth0`, URL-encoded `%25eth0`) are stripped
78
+ * BEFORE classification — without the strip, `::1%eth0` no longer matches
79
+ * `=== "::1"` and would fall through to "public", silently bypassing the guard.
80
+ */
81
+ export function classifyIp(rawIp) {
82
+ // Strip RFC 6874 zone id first (e.g. `fe80::1%eth0` or `%25eth0`).
83
+ const pctIdx = rawIp.indexOf("%");
84
+ const ip = pctIdx === -1 ? rawIp : rawIp.slice(0, pctIdx);
85
+ const lower = ip.toLowerCase();
86
+ // IPv6 (detected by presence of `:` so IPv4-mapped addresses route correctly).
87
+ if (lower.includes(":")) {
88
+ // IPv4-mapped IPv6 (`::ffff:127.0.0.1`) — recurse through IPv4 classifier.
89
+ // Node's URL normalizes these to hex (`::ffff:7f00:1`), so handle BOTH the
90
+ // dotted-decimal and the hex-compressed forms. Without the hex form, an
91
+ // attacker could reach IMDS via `http://[::ffff:169.254.169.254]/` because
92
+ // URL.hostname yields `[::ffff:a9fe:a9fe]` which the decimal-only regex missed.
93
+ const v4MappedDecimal = lower.match(/^::ffff:([\d.]+)$/);
94
+ if (v4MappedDecimal)
95
+ return classifyIp(v4MappedDecimal[1]);
96
+ const v4MappedHex = lower.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);
97
+ if (v4MappedHex) {
98
+ const hi = parseInt(v4MappedHex[1], 16);
99
+ const lo = parseInt(v4MappedHex[2], 16);
100
+ const a = (hi >> 8) & 0xff;
101
+ const b = hi & 0xff;
102
+ const c = (lo >> 8) & 0xff;
103
+ const d = lo & 0xff;
104
+ return classifyIp(`${a}.${b}.${c}.${d}`);
105
+ }
106
+ if (lower === "::")
107
+ return "block"; // unspecified
108
+ // fe80::/10 link-local — match the high-nibble range fe8..feb.
109
+ if (lower.startsWith("fe8") ||
110
+ lower.startsWith("fe9") ||
111
+ lower.startsWith("fea") ||
112
+ lower.startsWith("feb")) {
113
+ return "block";
114
+ }
115
+ if (lower.startsWith("ff"))
116
+ return "block"; // ff00::/8 multicast
117
+ if (lower === "::1")
118
+ return "block"; // loopback
119
+ // fc00::/7 unique-local (fc.. or fd..)
120
+ if (lower.startsWith("fc") || lower.startsWith("fd"))
121
+ return "block";
122
+ return "public";
123
+ }
124
+ // IPv4 — or a non-IP string (malformed = block).
125
+ if (!ip.includes("."))
126
+ return "block";
127
+ const parts = ip.split(".").map((p) => parseInt(p, 10));
128
+ if (parts.length !== 4 || parts.some((p) => Number.isNaN(p) || p < 0 || p > 255)) {
129
+ return "block";
130
+ }
131
+ const [a, b] = parts;
132
+ if (a === 169 && b === 254)
133
+ return "block"; // link-local incl. 169.254.169.254 (IMDS)
134
+ if (a === 0)
135
+ return "block"; // 0.0.0.0/8 current network
136
+ if (a >= 224)
137
+ return "block"; // 224.0.0.0/4 multicast + 240+ reserved
138
+ if (a === 127)
139
+ return "block"; // 127.0.0.0/8 loopback
140
+ if (a === 10)
141
+ return "block"; // 10.0.0.0/8 RFC1918
142
+ if (a === 172 && b >= 16 && b <= 31)
143
+ return "block"; // 172.16.0.0/12 RFC1918
144
+ if (a === 192 && b === 168)
145
+ return "block"; // 192.168.0.0/16 RFC1918
146
+ if (a === 100 && b >= 64 && b <= 127)
147
+ return "block"; // 100.64.0.0/10 CGNAT
148
+ return "public";
149
+ }
150
+ /** Error thrown when a URL or one of its redirect hops is blocked by SSRF. */
151
+ export class SsrfBlockedError extends Error {
152
+ url;
153
+ resolvedIp;
154
+ constructor(message, url, resolvedIp) {
155
+ super(message);
156
+ this.url = url;
157
+ this.resolvedIp = resolvedIp;
158
+ this.name = "SsrfBlockedError";
159
+ }
160
+ }
161
+ /**
162
+ * Resolve `hostname` and assert every resolved IP is public. Throws
163
+ * `SsrfBlockedError` on the first blocked address. A hostname that resolves to
164
+ * a MIX of public + private is still rejected (TOCTOU-safe: we re-resolve on
165
+ * fetch, so even if the resolver rotates answers, every hop is checked).
166
+ *
167
+ * Returns the `UrlSafetyResult` (pinned IP + original hostname) so the caller
168
+ * can pin the fetch connection to the already-classified IP and close the
169
+ * TOCTOU between check-time and connect-time DNS resolution.
170
+ */
171
+ export async function assertUrlSafe(rawUrl) {
172
+ let parsed;
173
+ try {
174
+ parsed = new URL(rawUrl);
175
+ }
176
+ catch {
177
+ throw new SsrfBlockedError(`invalid URL: ${rawUrl}`, rawUrl);
178
+ }
179
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
180
+ throw new SsrfBlockedError(`URL scheme "${parsed.protocol}" not allowed (only http: and https:)`, rawUrl);
181
+ }
182
+ // Bracketed IPv6 host literal (`[::1]`) — Node's `URL.hostname` does NOT
183
+ // strip the brackets (it returns `"[::1]"`, `"[fe80::1]"`, etc.); the old
184
+ // comment claiming otherwise was wrong and caused a CRITICAL SSRF bypass
185
+ // where `http://[::1]/` and `http://[fe80::1]/` fell through to "public".
186
+ // Strip brackets so classifyIp sees the bare IPv6 literal.
187
+ const hostname = parsed.hostname.replace(/^\[|\]$/g, "");
188
+ // Literal IP in the URL (no DNS needed): URL parses `http://127.0.0.1/`
189
+ // with hostname === "127.0.0.1". classifyIp handles it directly. A hostname
190
+ // that is NOT an IP literal goes through DNS resolution below.
191
+ if (looksLikeIpLiteral(hostname)) {
192
+ if (classifyIp(hostname) === "block") {
193
+ throw new SsrfBlockedError(`URL host ${hostname} is a blocked IP range`, rawUrl, hostname);
194
+ }
195
+ return { pinnedIp: hostname, originalHost: hostname, isLiteralIpUrl: true };
196
+ }
197
+ let records;
198
+ try {
199
+ records = await dnsResolver(hostname);
200
+ }
201
+ catch (err) {
202
+ const code = err?.code ?? "";
203
+ const msg = err instanceof Error ? err.message : String(err);
204
+ // Surface transient DNS codes so the caller can distinguish "blocked" from
205
+ // "resolver hiccup" and retry sensibly.
206
+ throw new SsrfBlockedError(`DNS lookup failed for "${hostname}" (${code}): ${msg}`, rawUrl);
207
+ }
208
+ if (records.length === 0) {
209
+ throw new SsrfBlockedError(`DNS returned no records for "${hostname}"`, rawUrl);
210
+ }
211
+ for (const rec of records) {
212
+ if (classifyIp(rec.address) === "block") {
213
+ throw new SsrfBlockedError(`"${hostname}" resolves to blocked IP ${rec.address} (loopback / private / link-local / multicast)`, rawUrl, rec.address);
214
+ }
215
+ }
216
+ // Pin to the first classified-public IP. Every record was checked above, so
217
+ // the first is safe to connect to. (We do not round-robin across resolved
218
+ // IPs because only the one we pin is guaranteed classified; a later answer
219
+ // could be attacker-rotated between assert and connect.)
220
+ return {
221
+ pinnedIp: records[0].address,
222
+ originalHost: hostname,
223
+ isLiteralIpUrl: false,
224
+ };
225
+ }
226
+ /**
227
+ * Heuristic: does `hostname` parse as an IP literal (v4 or v6)? Used to skip
228
+ * DNS when the URL already names an IP directly. IPv6 zone ids are tolerated.
229
+ */
230
+ function looksLikeIpLiteral(hostname) {
231
+ const h = hostname.split("%")[0]; // tolerate zone id
232
+ if (h.includes(":"))
233
+ return true; // IPv6
234
+ // IPv4 = four dot-separated 0-255 octets.
235
+ const parts = h.split(".");
236
+ if (parts.length !== 4)
237
+ return false;
238
+ return parts.every((p) => {
239
+ const n = Number(p);
240
+ return Number.isInteger(n) && n >= 0 && n <= 255 && String(n) === p;
241
+ });
242
+ }
243
+ /**
244
+ * Fetch a URL with the SSRF DNS-pin + redirect-walk defense.
245
+ *
246
+ * TWO-LAYER DEFENSE (TOCTOU-safe):
247
+ * 1. DNS PIN: `assertUrlSafe` resolves the hostname once and classifies the
248
+ * IP. We then rewrite the fetch URL to connect to that LITERAL IP and set
249
+ * the `Host` header to the original hostname. Because the fetch URL's host
250
+ * is now a literal IP, NO DNS lookup occurs at connect time — the attacker
251
+ * cannot serve a different (private) IP at connect. bun's fetch honors the
252
+ * `Host` header for both HTTP virtual hosting and HTTPS TLS SNI.
253
+ * 2. REDIRECT WALK: does NOT auto-follow. Each 3xx Location header is
254
+ * re-resolved + re-classified + re-pinned before the next hop. Any blocked
255
+ * hop throws `SsrfBlockedError`. Capped at MAX_REDIRECTS to defeat loops.
256
+ *
257
+ * Returns the final (non-redirect) Response. The caller reads the body.
258
+ */
259
+ export async function fetchWithSsrfGuard(rawUrl, opts = {}) {
260
+ const { timeoutMs = 30_000, signal, _compose } = opts;
261
+ const safety = await assertUrlSafe(rawUrl);
262
+ let url = rawUrl;
263
+ let pin = safety;
264
+ for (let hop = 0; hop <= MAX_REDIRECTS; hop++) {
265
+ const composed = _compose && signal
266
+ ? _compose([signal, AbortSignal.timeout(timeoutMs)])
267
+ : (signal
268
+ ? _compose
269
+ ? _compose([signal])
270
+ : signal
271
+ : AbortSignal.timeout(timeoutMs));
272
+ // Build the DNS-pinned fetch URL + Host header. When the URL already names
273
+ // a literal IP (isLiteralIpUrl), no rewrite is needed — the connect-time
274
+ // DNS lookup is already absent. Otherwise, replace the hostname in the URL
275
+ // with the pinned classified IP and send the original hostname as Host.
276
+ const { fetchUrl, hostHeader } = pinConnection(url, pin);
277
+ // `redirect: "manual"` keeps the Response opaque-redirect; we read the
278
+ // Location header ourselves and re-validate the target.
279
+ const resp = await fetch(fetchUrl, {
280
+ redirect: "manual",
281
+ signal: composed,
282
+ // Conservative default headers — identify as a fetcher, not a browser.
283
+ // Host header pins virtual hosting + TLS SNI to the original hostname.
284
+ headers: {
285
+ "user-agent": "massa-ai-fetch/1.0",
286
+ ...(hostHeader ? { host: hostHeader } : {}),
287
+ },
288
+ });
289
+ // 3xx with a Location → walk it.
290
+ if (resp.status >= 300 && resp.status < 400) {
291
+ const location = resp.headers.get("location");
292
+ // Drain so the underlying socket can be reused.
293
+ await resp.body?.cancel().catch(() => { });
294
+ if (!location) {
295
+ throw new SsrfBlockedError(`redirect ${resp.status} without Location header`, url);
296
+ }
297
+ const next = new URL(location, url).toString(); // resolve relative redirects
298
+ if (hop === MAX_REDIRECTS) {
299
+ throw new SsrfBlockedError(`exceeded ${MAX_REDIRECTS} redirects (loop?)`, next);
300
+ }
301
+ logger.debug?.("ssrf redirect hop", { from: url, to: next, status: resp.status });
302
+ // Re-resolve + re-classify + re-pin the NEXT hop (DNS may now differ).
303
+ pin = await assertUrlSafe(next);
304
+ url = next;
305
+ continue;
306
+ }
307
+ return resp;
308
+ }
309
+ // Unreachable: the loop either returns or throws on the last iteration.
310
+ throw new SsrfBlockedError("redirect walk exhausted", url);
311
+ }
312
+ /**
313
+ * Build a DNS-pinned fetch URL + Host header from the original URL and the
314
+ * `UrlSafetyResult` (pinned IP + original hostname).
315
+ *
316
+ * When the URL already names a literal IP (`isLiteralIpUrl`), returns the URL
317
+ * unchanged with no Host header (no pinning needed — connect-time DNS is
318
+ * already absent). Otherwise, rewrites the URL's host to the pinned IP literal
319
+ * and returns the original hostname as the Host header value.
320
+ *
321
+ * IPv6 pinned IPs are bracketed in the URL (`http://[2606:4700::1]/`) per
322
+ * RFC 3986. The Host header uses the bare original hostname (no brackets — it
323
+ * was a hostname, not an IP, in the non-literal branch).
324
+ */
325
+ function pinConnection(url, pin) {
326
+ if (pin.isLiteralIpUrl) {
327
+ return { fetchUrl: url, hostHeader: null };
328
+ }
329
+ const parsed = new URL(url);
330
+ const ipIsV6 = pin.pinnedIp.includes(":");
331
+ parsed.hostname = ipIsV6 ? `[${pin.pinnedIp}]` : pin.pinnedIp;
332
+ return { fetchUrl: parsed.toString(), hostHeader: pin.originalHost };
333
+ }
334
+ //# sourceMappingURL=ssrf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssrf.js","sourceRoot":"","sources":["../../../src/services/web/ssrf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * WebController — orchestration for `fetch_and_index`.
3
+ *
4
+ * Owns a single set of injected index deps (vector store + keyword search) and
5
+ * drives the parallel-fetch / serial-index pipeline:
6
+ *
7
+ * 1. Build a `PoolJob` per request URL.
8
+ * 2. runPool fetches them in parallel (concurrency from the caller, cpu-capped
9
+ * for batch). Each job runs fetchAndConvertOne, whose internal index drain
10
+ * is already SERIAL — so even when N fetches race, the per-URL indexing
11
+ * never overlaps with itself. Cross-URL overlap is acceptable for
12
+ * pgvector (row locks) but would contend on PostgreSQL WAL; the per-URL
13
+ * serial drain keeps the worst case to N concurrent single-writers, which
14
+ * PostgreSQL tolerates and pgvector handles trivially.
15
+ * 3. Drain the allSettled-shaped results in input order and return per-URL
16
+ * status + chunk counts.
17
+ *
18
+ * The controller is the composition root that wires the real vector/keyword
19
+ * stores into the fetcher's `WebIndexDeps`. Tests construct it with a captured
20
+ * in-memory deps map instead.
21
+ */
22
+ import type { IVectorStore, IKeywordSearch } from "@massa-ai/shared";
23
+ import { type FetchOneResult } from "./fetcher.js";
24
+ export interface FetchRequest {
25
+ url: string;
26
+ source?: string;
27
+ }
28
+ export interface FetchAndIndexParams {
29
+ /** Single URL (legacy single shape). */
30
+ url?: string;
31
+ /** Label for the single-`url` case. */
32
+ source?: string;
33
+ /** Batch shape. Wins over `url` when both are provided. */
34
+ requests?: FetchRequest[];
35
+ /** Max URLs fetched in parallel (1-8, default 1). */
36
+ concurrency?: number;
37
+ /** Bypass the TTL cache. */
38
+ force?: boolean;
39
+ /** Per-call cache window override (ms). `0` bypasses like force. */
40
+ ttl?: number;
41
+ /** projectId scoping the indexed chunks. Defaults to "web". */
42
+ projectId?: string;
43
+ }
44
+ export interface WebControllerDeps {
45
+ vectorStore: IVectorStore;
46
+ keywordSearch: IKeywordSearch;
47
+ }
48
+ export declare class WebController {
49
+ private static instance;
50
+ private readonly deps;
51
+ private readonly cache;
52
+ constructor(deps: WebControllerDeps);
53
+ static getInstance(): WebController;
54
+ /**
55
+ * Boot the singleton with real store deps. The Tools API route calls this lazily
56
+ * on first request (after resolving the async vector store). Idempotent.
57
+ */
58
+ static instantiate(deps: WebControllerDeps): WebController;
59
+ /** For tests: reset the singleton + clear the cache. */
60
+ static resetInstance(): void;
61
+ /** Build the WebIndexDeps seam from the real stores + the in-memory cache. */
62
+ private indexDeps;
63
+ fetchAndIndex(params: FetchAndIndexParams): Promise<{
64
+ success: boolean;
65
+ results: FetchOneResult[];
66
+ concurrency: number;
67
+ capped: boolean;
68
+ }>;
69
+ }
70
+ //# sourceMappingURL=web-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-controller.d.ts","sourceRoot":"","sources":["../../../src/services/web/web-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAC;AAGrF,OAAO,EAEL,KAAK,cAAc,EAGpB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,YAAY,CAAC;IAC1B,aAAa,EAAE,cAAc,CAAC;CAC/B;AAcD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;gBAEjC,IAAI,EAAE,iBAAiB;IAInC,MAAM,CAAC,WAAW,IAAI,aAAa;IAUnC;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa;IAO1D,wDAAwD;IACxD,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B,8EAA8E;IAC9E,OAAO,CAAC,SAAS;IAuCX,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC;QACxD,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;CAkDH"}