@weave-kit/engine 0.7.0 → 0.9.0

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 (305) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +7 -0
  3. package/dist/adapters/graphql/http.d.ts +24 -0
  4. package/dist/adapters/graphql/http.d.ts.map +1 -0
  5. package/dist/adapters/graphql/http.js +147 -0
  6. package/dist/adapters/graphql/http.js.map +1 -0
  7. package/dist/adapters/graphql/index.d.ts +33 -0
  8. package/dist/adapters/graphql/index.d.ts.map +1 -0
  9. package/dist/adapters/graphql/index.js +24 -0
  10. package/dist/adapters/graphql/index.js.map +1 -0
  11. package/dist/adapters/graphql/loader.d.ts +4 -0
  12. package/dist/adapters/graphql/loader.d.ts.map +1 -0
  13. package/dist/adapters/graphql/loader.js +135 -0
  14. package/dist/adapters/graphql/loader.js.map +1 -0
  15. package/dist/adapters/graphql/resolvers.d.ts +52 -0
  16. package/dist/adapters/graphql/resolvers.d.ts.map +1 -0
  17. package/dist/adapters/graphql/resolvers.js +110 -0
  18. package/dist/adapters/graphql/resolvers.js.map +1 -0
  19. package/dist/adapters/graphql/scalars.d.ts +8 -0
  20. package/dist/adapters/graphql/scalars.d.ts.map +1 -0
  21. package/dist/adapters/graphql/scalars.js +14 -0
  22. package/dist/adapters/graphql/scalars.js.map +1 -0
  23. package/dist/adapters/graphql/schema.d.ts +9 -0
  24. package/dist/adapters/graphql/schema.d.ts.map +1 -0
  25. package/dist/adapters/graphql/schema.js +297 -0
  26. package/dist/adapters/graphql/schema.js.map +1 -0
  27. package/dist/adapters/graphql/security.d.ts +29 -0
  28. package/dist/adapters/graphql/security.d.ts.map +1 -0
  29. package/dist/adapters/graphql/security.js +81 -0
  30. package/dist/adapters/graphql/security.js.map +1 -0
  31. package/dist/adapters/graphql/types.d.ts +69 -0
  32. package/dist/adapters/graphql/types.d.ts.map +1 -0
  33. package/dist/adapters/graphql/types.js +2 -0
  34. package/dist/adapters/graphql/types.js.map +1 -0
  35. package/dist/adapters/mcp/generate.d.ts.map +1 -1
  36. package/dist/adapters/mcp/generate.js +4 -3
  37. package/dist/adapters/mcp/generate.js.map +1 -1
  38. package/dist/adapters/mcp/guardrails.d.ts +1 -1
  39. package/dist/adapters/mcp/http.d.ts +2 -0
  40. package/dist/adapters/mcp/http.d.ts.map +1 -1
  41. package/dist/adapters/mcp/http.js +34 -16
  42. package/dist/adapters/mcp/http.js.map +1 -1
  43. package/dist/adapters/mcp/index.d.ts +2 -0
  44. package/dist/adapters/mcp/index.d.ts.map +1 -1
  45. package/dist/adapters/mcp/index.js +2 -1
  46. package/dist/adapters/mcp/index.js.map +1 -1
  47. package/dist/adapters/mcp/session.d.ts +11 -3
  48. package/dist/adapters/mcp/session.d.ts.map +1 -1
  49. package/dist/adapters/mcp/session.js +12 -0
  50. package/dist/adapters/mcp/session.js.map +1 -1
  51. package/dist/adapters/mcp/tools.d.ts.map +1 -1
  52. package/dist/adapters/mcp/tools.js +16 -7
  53. package/dist/adapters/mcp/tools.js.map +1 -1
  54. package/dist/adapters/openapi/document.d.ts.map +1 -1
  55. package/dist/adapters/openapi/document.js +9 -2
  56. package/dist/adapters/openapi/document.js.map +1 -1
  57. package/dist/adapters/openapi/schema.d.ts +8 -6
  58. package/dist/adapters/openapi/schema.d.ts.map +1 -1
  59. package/dist/adapters/openapi/schema.js +41 -9
  60. package/dist/adapters/openapi/schema.js.map +1 -1
  61. package/dist/adapters/openapi/types.d.ts +2 -0
  62. package/dist/adapters/openapi/types.d.ts.map +1 -1
  63. package/dist/adapters/rest/plugin.d.ts.map +1 -1
  64. package/dist/adapters/rest/plugin.js +11 -8
  65. package/dist/adapters/rest/plugin.js.map +1 -1
  66. package/dist/adapters/rest/workflow.js +8 -8
  67. package/dist/adapters/rest/workflow.js.map +1 -1
  68. package/dist/cli/commands/deploy.d.ts +6 -0
  69. package/dist/cli/commands/deploy.d.ts.map +1 -0
  70. package/dist/cli/commands/deploy.js +88 -0
  71. package/dist/cli/commands/deploy.js.map +1 -0
  72. package/dist/cli/commands/enums.d.ts +14 -0
  73. package/dist/cli/commands/enums.d.ts.map +1 -0
  74. package/dist/cli/commands/enums.js +83 -0
  75. package/dist/cli/commands/enums.js.map +1 -0
  76. package/dist/cli/commands/field-add.d.ts.map +1 -1
  77. package/dist/cli/commands/field-add.js +12 -4
  78. package/dist/cli/commands/field-add.js.map +1 -1
  79. package/dist/cli/commands/graphql-schema.d.ts +9 -0
  80. package/dist/cli/commands/graphql-schema.d.ts.map +1 -0
  81. package/dist/cli/commands/graphql-schema.js +35 -0
  82. package/dist/cli/commands/graphql-schema.js.map +1 -0
  83. package/dist/cli/commands/openapi.d.ts.map +1 -1
  84. package/dist/cli/commands/openapi.js +4 -1
  85. package/dist/cli/commands/openapi.js.map +1 -1
  86. package/dist/cli/index.js +36 -0
  87. package/dist/cli/index.js.map +1 -1
  88. package/dist/cli/types/commands.d.ts +24 -0
  89. package/dist/cli/types/commands.d.ts.map +1 -1
  90. package/dist/cli/types/index.d.ts +1 -1
  91. package/dist/cli/types/index.d.ts.map +1 -1
  92. package/dist/cli/types/values.d.ts +5 -0
  93. package/dist/cli/types/values.d.ts.map +1 -1
  94. package/dist/cli/types/values.js +5 -0
  95. package/dist/cli/types/values.js.map +1 -1
  96. package/dist/core/api/error.d.ts +3 -2
  97. package/dist/core/api/error.d.ts.map +1 -1
  98. package/dist/core/api/error.js +20 -16
  99. package/dist/core/api/error.js.map +1 -1
  100. package/dist/core/audit/index.d.ts +2 -2
  101. package/dist/core/audit/index.d.ts.map +1 -1
  102. package/dist/core/audit/index.js +1 -1
  103. package/dist/core/audit/index.js.map +1 -1
  104. package/dist/core/audit/types.d.ts +25 -2
  105. package/dist/core/audit/types.d.ts.map +1 -1
  106. package/dist/core/audit/types.js +11 -0
  107. package/dist/core/audit/types.js.map +1 -1
  108. package/dist/core/i18n/ar.d.ts.map +1 -1
  109. package/dist/core/i18n/ar.js +8 -0
  110. package/dist/core/i18n/ar.js.map +1 -1
  111. package/dist/core/i18n/de.d.ts.map +1 -1
  112. package/dist/core/i18n/de.js +8 -0
  113. package/dist/core/i18n/de.js.map +1 -1
  114. package/dist/core/i18n/en.d.ts +8 -0
  115. package/dist/core/i18n/en.d.ts.map +1 -1
  116. package/dist/core/i18n/en.js +8 -0
  117. package/dist/core/i18n/en.js.map +1 -1
  118. package/dist/core/i18n/es.d.ts.map +1 -1
  119. package/dist/core/i18n/es.js +8 -0
  120. package/dist/core/i18n/es.js.map +1 -1
  121. package/dist/core/i18n/fr.d.ts.map +1 -1
  122. package/dist/core/i18n/fr.js +8 -0
  123. package/dist/core/i18n/fr.js.map +1 -1
  124. package/dist/core/i18n/hi.d.ts.map +1 -1
  125. package/dist/core/i18n/hi.js +8 -0
  126. package/dist/core/i18n/hi.js.map +1 -1
  127. package/dist/core/i18n/id.d.ts.map +1 -1
  128. package/dist/core/i18n/id.js +8 -0
  129. package/dist/core/i18n/id.js.map +1 -1
  130. package/dist/core/i18n/ja.d.ts.map +1 -1
  131. package/dist/core/i18n/ja.js +8 -0
  132. package/dist/core/i18n/ja.js.map +1 -1
  133. package/dist/core/i18n/ko.d.ts.map +1 -1
  134. package/dist/core/i18n/ko.js +8 -0
  135. package/dist/core/i18n/ko.js.map +1 -1
  136. package/dist/core/i18n/pt.d.ts.map +1 -1
  137. package/dist/core/i18n/pt.js +8 -0
  138. package/dist/core/i18n/pt.js.map +1 -1
  139. package/dist/core/i18n/ru.d.ts.map +1 -1
  140. package/dist/core/i18n/ru.js +8 -0
  141. package/dist/core/i18n/ru.js.map +1 -1
  142. package/dist/core/i18n/vi.d.ts.map +1 -1
  143. package/dist/core/i18n/vi.js +8 -0
  144. package/dist/core/i18n/vi.js.map +1 -1
  145. package/dist/core/i18n/zh-hant.d.ts.map +1 -1
  146. package/dist/core/i18n/zh-hant.js +8 -0
  147. package/dist/core/i18n/zh-hant.js.map +1 -1
  148. package/dist/core/i18n/zh.d.ts.map +1 -1
  149. package/dist/core/i18n/zh.js +8 -0
  150. package/dist/core/i18n/zh.js.map +1 -1
  151. package/dist/core/object/describe.d.ts +11 -0
  152. package/dist/core/object/describe.d.ts.map +1 -1
  153. package/dist/core/object/describe.js +8 -0
  154. package/dist/core/object/describe.js.map +1 -1
  155. package/dist/core/object/enums.d.ts +5 -0
  156. package/dist/core/object/enums.d.ts.map +1 -0
  157. package/dist/core/object/enums.js +67 -0
  158. package/dist/core/object/enums.js.map +1 -0
  159. package/dist/core/object/gen-types.d.ts +2 -2
  160. package/dist/core/object/gen-types.d.ts.map +1 -1
  161. package/dist/core/object/gen-types.js +39 -2
  162. package/dist/core/object/gen-types.js.map +1 -1
  163. package/dist/core/object/index.d.ts +1 -0
  164. package/dist/core/object/index.d.ts.map +1 -1
  165. package/dist/core/object/index.js +1 -0
  166. package/dist/core/object/index.js.map +1 -1
  167. package/dist/core/object/migrations.d.ts.map +1 -1
  168. package/dist/core/object/migrations.js +11 -0
  169. package/dist/core/object/migrations.js.map +1 -1
  170. package/dist/core/object/registry.d.ts +4 -1
  171. package/dist/core/object/registry.d.ts.map +1 -1
  172. package/dist/core/object/registry.js +5 -2
  173. package/dist/core/object/registry.js.map +1 -1
  174. package/dist/core/object/schema-version.d.ts +1 -1
  175. package/dist/core/object/schema-version.js +1 -1
  176. package/dist/core/object/validate/field.d.ts +3 -1
  177. package/dist/core/object/validate/field.d.ts.map +1 -1
  178. package/dist/core/object/validate/field.js +63 -29
  179. package/dist/core/object/validate/field.js.map +1 -1
  180. package/dist/core/object/validate/object.d.ts +6 -1
  181. package/dist/core/object/validate/object.d.ts.map +1 -1
  182. package/dist/core/object/validate/object.js +5 -1
  183. package/dist/core/object/validate/object.js.map +1 -1
  184. package/dist/core/storage/apply.d.ts +3 -1
  185. package/dist/core/storage/apply.d.ts.map +1 -1
  186. package/dist/core/storage/apply.js +6 -2
  187. package/dist/core/storage/apply.js.map +1 -1
  188. package/dist/core/storage/index.d.ts +1 -0
  189. package/dist/core/storage/index.d.ts.map +1 -1
  190. package/dist/core/storage/index.js.map +1 -1
  191. package/dist/core/storage/meta.d.ts +4 -3
  192. package/dist/core/storage/meta.d.ts.map +1 -1
  193. package/dist/core/storage/meta.js +5 -4
  194. package/dist/core/storage/meta.js.map +1 -1
  195. package/dist/core/storage/migrate.d.ts +8 -0
  196. package/dist/core/storage/migrate.d.ts.map +1 -1
  197. package/dist/core/storage/migrate.js +33 -12
  198. package/dist/core/storage/migrate.js.map +1 -1
  199. package/dist/core/storage/queryable.d.ts +14 -0
  200. package/dist/core/storage/queryable.d.ts.map +1 -0
  201. package/dist/core/storage/queryable.js +2 -0
  202. package/dist/core/storage/queryable.js.map +1 -0
  203. package/dist/core/storage/system-tables.d.ts +2 -0
  204. package/dist/core/storage/system-tables.d.ts.map +1 -1
  205. package/dist/core/storage/system-tables.js +39 -0
  206. package/dist/core/storage/system-tables.js.map +1 -1
  207. package/dist/core/tools/types.d.ts +1 -1
  208. package/dist/core/tools/types.d.ts.map +1 -1
  209. package/dist/core/types/enum-registry.d.ts +33 -0
  210. package/dist/core/types/enum-registry.d.ts.map +1 -0
  211. package/dist/core/types/enum-registry.js +21 -0
  212. package/dist/core/types/enum-registry.js.map +1 -0
  213. package/dist/core/types/index.d.ts +3 -0
  214. package/dist/core/types/index.d.ts.map +1 -1
  215. package/dist/core/types/index.js +2 -0
  216. package/dist/core/types/index.js.map +1 -1
  217. package/dist/core/types/principal.d.ts +34 -0
  218. package/dist/core/types/principal.d.ts.map +1 -0
  219. package/dist/core/types/principal.js +32 -0
  220. package/dist/core/types/principal.js.map +1 -0
  221. package/dist/index.d.ts +2 -0
  222. package/dist/index.d.ts.map +1 -1
  223. package/dist/index.js +2 -0
  224. package/dist/index.js.map +1 -1
  225. package/dist/runtime/data-access/cursor.d.ts +9 -0
  226. package/dist/runtime/data-access/cursor.d.ts.map +1 -0
  227. package/dist/runtime/data-access/cursor.js +26 -0
  228. package/dist/runtime/data-access/cursor.js.map +1 -0
  229. package/dist/runtime/data-access/index.d.ts +2 -0
  230. package/dist/runtime/data-access/index.d.ts.map +1 -1
  231. package/dist/runtime/data-access/index.js +2 -0
  232. package/dist/runtime/data-access/index.js.map +1 -1
  233. package/dist/runtime/data-access/query.d.ts +1 -1
  234. package/dist/runtime/data-access/query.d.ts.map +1 -1
  235. package/dist/runtime/data-access/query.js +109 -36
  236. package/dist/runtime/data-access/query.js.map +1 -1
  237. package/dist/runtime/data-access/rbac.d.ts +2 -2
  238. package/dist/runtime/data-access/rbac.d.ts.map +1 -1
  239. package/dist/runtime/data-access/rbac.js +86 -47
  240. package/dist/runtime/data-access/rbac.js.map +1 -1
  241. package/dist/runtime/data-access/types.d.ts +24 -9
  242. package/dist/runtime/data-access/types.d.ts.map +1 -1
  243. package/dist/runtime/data-access/types.js +9 -1
  244. package/dist/runtime/data-access/types.js.map +1 -1
  245. package/dist/runtime/engine.d.ts +13 -2
  246. package/dist/runtime/engine.d.ts.map +1 -1
  247. package/dist/runtime/engine.js +57 -14
  248. package/dist/runtime/engine.js.map +1 -1
  249. package/dist/runtime/enums/index.d.ts +3 -0
  250. package/dist/runtime/enums/index.d.ts.map +1 -0
  251. package/dist/runtime/enums/index.js +2 -0
  252. package/dist/runtime/enums/index.js.map +1 -0
  253. package/dist/runtime/enums/loader.d.ts +27 -0
  254. package/dist/runtime/enums/loader.d.ts.map +1 -0
  255. package/dist/runtime/enums/loader.js +61 -0
  256. package/dist/runtime/enums/loader.js.map +1 -0
  257. package/dist/runtime/git/autoCommit.d.ts +1 -1
  258. package/dist/runtime/git/autoCommit.d.ts.map +1 -1
  259. package/dist/runtime/git/autoCommit.js +20 -1
  260. package/dist/runtime/git/autoCommit.js.map +1 -1
  261. package/dist/runtime/git/loader.d.ts +5 -1
  262. package/dist/runtime/git/loader.d.ts.map +1 -1
  263. package/dist/runtime/git/loader.js +6 -1
  264. package/dist/runtime/git/loader.js.map +1 -1
  265. package/dist/runtime/git/sync.d.ts +18 -3
  266. package/dist/runtime/git/sync.d.ts.map +1 -1
  267. package/dist/runtime/git/sync.js +25 -25
  268. package/dist/runtime/git/sync.js.map +1 -1
  269. package/dist/runtime/metadata/cache.d.ts +17 -5
  270. package/dist/runtime/metadata/cache.d.ts.map +1 -1
  271. package/dist/runtime/metadata/cache.js +46 -19
  272. package/dist/runtime/metadata/cache.js.map +1 -1
  273. package/dist/runtime/metadata/index.d.ts +3 -1
  274. package/dist/runtime/metadata/index.d.ts.map +1 -1
  275. package/dist/runtime/metadata/index.js +2 -1
  276. package/dist/runtime/metadata/index.js.map +1 -1
  277. package/dist/runtime/metadata/revision.d.ts +41 -0
  278. package/dist/runtime/metadata/revision.d.ts.map +1 -0
  279. package/dist/runtime/metadata/revision.js +53 -0
  280. package/dist/runtime/metadata/revision.js.map +1 -0
  281. package/dist/runtime/tools/executor.d.ts +1 -1
  282. package/dist/runtime/tools/executor.d.ts.map +1 -1
  283. package/dist/runtime/tools/executor.js +2 -1
  284. package/dist/runtime/tools/executor.js.map +1 -1
  285. package/dist/subsystems/audit/index.d.ts +10 -2
  286. package/dist/subsystems/audit/index.d.ts.map +1 -1
  287. package/dist/subsystems/audit/index.js +14 -1
  288. package/dist/subsystems/audit/index.js.map +1 -1
  289. package/dist/subsystems/audit/outbox.d.ts +33 -0
  290. package/dist/subsystems/audit/outbox.d.ts.map +1 -0
  291. package/dist/subsystems/audit/outbox.js +111 -0
  292. package/dist/subsystems/audit/outbox.js.map +1 -0
  293. package/dist/subsystems/audit/store.d.ts +3 -2
  294. package/dist/subsystems/audit/store.d.ts.map +1 -1
  295. package/dist/subsystems/audit/store.js +9 -7
  296. package/dist/subsystems/audit/store.js.map +1 -1
  297. package/dist/subsystems/script/bridge.d.ts.map +1 -1
  298. package/dist/subsystems/script/bridge.js +2 -1
  299. package/dist/subsystems/script/bridge.js.map +1 -1
  300. package/dist/subsystems/workflow/scheduler.d.ts.map +1 -1
  301. package/dist/subsystems/workflow/scheduler.js +2 -1
  302. package/dist/subsystems/workflow/scheduler.js.map +1 -1
  303. package/dist/version.d.ts +1 -1
  304. package/dist/version.js +1 -1
  305. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/runtime/git/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyB5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;QACxC,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IAEH,IAAI,KAAK,GAA6C,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,iBAAiB,CAC7B,IAAI,EACJ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CACvF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,mEAAmE;YACnE,wEAAwE;YACxE,8BAA8B;YAC9B,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,4EACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/runtime/git/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiC5C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvG,IAAI,KAAK,GAA6C,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnF,IAAI,QAA4D,CAAC;IAEjE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;QACxC,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EACN,OAAO,CAAC,MAAM,KAAK,IAAI;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACf,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACnD,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;oBAC3C,WAAW,EAAE,UAAU;oBACvB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnC,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;YACL,CAAC;KACR,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACrE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Pool } from 'pg';
2
+ import type { SqlQueryable } from '../../core/index.js';
2
3
  export interface MetadataRow {
3
4
  objectName: string;
4
5
  contentHash: string;
@@ -10,16 +11,27 @@ export interface MetadataEntry {
10
11
  definition: unknown;
11
12
  }
12
13
  /** read the whole metadata cache keyed by object name */
13
- export declare function readMetadataCache(pool: Pool): Promise<Map<string, MetadataRow>>;
14
- /** upsert metadata cache entries inside a transaction */
14
+ export declare function readMetadataCache(db: SqlQueryable): Promise<Map<string, MetadataRow>>;
15
+ /** upsert metadata cache entries on an existing SqlQueryable (no transaction management) */
16
+ export declare function writeMetadataCacheOn(db: SqlQueryable, entries: MetadataEntry[]): Promise<void>;
17
+ /** upsert metadata cache entries inside its own transaction */
15
18
  export declare function writeMetadataCache(pool: Pool, entries: MetadataEntry[]): Promise<void>;
16
19
  /** drop metadata cache rows for objects that no longer exist on disk */
17
- export declare function invalidateMetadata(pool: Pool, names: string[]): Promise<void>;
20
+ export declare function invalidateMetadata(db: SqlQueryable, names: string[]): Promise<void>;
18
21
  /**
19
- * Bring the metadata cache in sync with the loaded schema files: upsert the
20
- * current definitions and prune rows for removed objects. Returns which
22
+ * Bring the metadata cache in sync on an existing SqlQueryable (no transaction
23
+ * management) — used inside the atomic deploy transaction. Returns which
21
24
  * objects were updated (content hash changed) and removed.
22
25
  */
26
+ export declare function syncMetadataCacheOn(db: SqlQueryable, files: MetadataEntry[]): Promise<{
27
+ updated: string[];
28
+ removed: string[];
29
+ }>;
30
+ /**
31
+ * Bring the metadata cache in sync with the loaded schema files: upsert the
32
+ * current definitions and prune rows for removed objects. Runs in one
33
+ * transaction.
34
+ */
23
35
  export declare function syncMetadataCache(pool: Pool, files: MetadataEntry[]): Promise<{
24
36
  updated: string[];
25
37
  removed: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/runtime/metadata/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAI/B,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,yDAAyD;AACzD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAarF;AAED,yDAAyD;AACzD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB5F;AAED,wEAAwE;AACxE,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,aAAa,EAAE,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAOnD"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/runtime/metadata/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,yDAAyD;AACzD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAa3F;AAED,4FAA4F;AAC5F,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAapG;AAED,+DAA+D;AAC/D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAa5F;AAED,wEAAwE;AACxE,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,aAAa,EAAE,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAOnD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,aAAa,EAAE,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAanD"}
@@ -1,7 +1,7 @@
1
1
  const TABLE = 'weavekit_metadata';
2
2
  /** read the whole metadata cache keyed by object name */
3
- export async function readMetadataCache(pool) {
4
- const result = await pool.query(`SELECT object_name, content_hash, applied_at FROM ${TABLE}`);
3
+ export async function readMetadataCache(db) {
4
+ const result = await db.query(`SELECT object_name, content_hash, applied_at FROM ${TABLE}`);
5
5
  const map = new Map();
6
6
  for (const row of result.rows) {
7
7
  map.set(row.object_name, {
@@ -12,21 +12,27 @@ export async function readMetadataCache(pool) {
12
12
  }
13
13
  return map;
14
14
  }
15
- /** upsert metadata cache entries inside a transaction */
15
+ /** upsert metadata cache entries on an existing SqlQueryable (no transaction management) */
16
+ export async function writeMetadataCacheOn(db, entries) {
17
+ if (entries.length === 0)
18
+ return;
19
+ for (const entry of entries) {
20
+ await db.query(`INSERT INTO ${TABLE} (object_name, content_hash, definition, updated_at)
21
+ VALUES ($1, $2, $3::jsonb, now())
22
+ ON CONFLICT (object_name) DO UPDATE
23
+ SET content_hash = EXCLUDED.content_hash,
24
+ definition = EXCLUDED.definition,
25
+ updated_at = now()`, [entry.name, entry.contentHash, JSON.stringify(entry.definition)]);
26
+ }
27
+ }
28
+ /** upsert metadata cache entries inside its own transaction */
16
29
  export async function writeMetadataCache(pool, entries) {
17
30
  if (entries.length === 0)
18
31
  return;
19
32
  const client = await pool.connect();
20
33
  try {
21
34
  await client.query('BEGIN');
22
- for (const entry of entries) {
23
- await client.query(`INSERT INTO ${TABLE} (object_name, content_hash, definition, updated_at)
24
- VALUES ($1, $2, $3::jsonb, now())
25
- ON CONFLICT (object_name) DO UPDATE
26
- SET content_hash = EXCLUDED.content_hash,
27
- definition = EXCLUDED.definition,
28
- updated_at = now()`, [entry.name, entry.contentHash, JSON.stringify(entry.definition)]);
29
- }
35
+ await writeMetadataCacheOn(client, entries);
30
36
  await client.query('COMMIT');
31
37
  }
32
38
  catch (error) {
@@ -38,22 +44,43 @@ export async function writeMetadataCache(pool, entries) {
38
44
  }
39
45
  }
40
46
  /** drop metadata cache rows for objects that no longer exist on disk */
41
- export async function invalidateMetadata(pool, names) {
47
+ export async function invalidateMetadata(db, names) {
42
48
  if (names.length === 0)
43
49
  return;
44
- await pool.query(`DELETE FROM ${TABLE} WHERE object_name = ANY($1)`, [names]);
50
+ await db.query(`DELETE FROM ${TABLE} WHERE object_name = ANY($1)`, [names]);
45
51
  }
46
52
  /**
47
- * Bring the metadata cache in sync with the loaded schema files: upsert the
48
- * current definitions and prune rows for removed objects. Returns which
53
+ * Bring the metadata cache in sync on an existing SqlQueryable (no transaction
54
+ * management) — used inside the atomic deploy transaction. Returns which
49
55
  * objects were updated (content hash changed) and removed.
50
56
  */
51
- export async function syncMetadataCache(pool, files) {
52
- const existing = await readMetadataCache(pool);
57
+ export async function syncMetadataCacheOn(db, files) {
58
+ const existing = await readMetadataCache(db);
53
59
  const updated = files.filter((f) => existing.get(f.name)?.contentHash !== f.contentHash).map((f) => f.name);
54
60
  const removed = [...existing.keys()].filter((name) => !files.some((f) => f.name === name));
55
- await writeMetadataCache(pool, files);
56
- await invalidateMetadata(pool, removed);
61
+ await writeMetadataCacheOn(db, files);
62
+ await invalidateMetadata(db, removed);
57
63
  return { updated, removed };
58
64
  }
65
+ /**
66
+ * Bring the metadata cache in sync with the loaded schema files: upsert the
67
+ * current definitions and prune rows for removed objects. Runs in one
68
+ * transaction.
69
+ */
70
+ export async function syncMetadataCache(pool, files) {
71
+ const client = await pool.connect();
72
+ try {
73
+ await client.query('BEGIN');
74
+ const result = await syncMetadataCacheOn(client, files);
75
+ await client.query('COMMIT');
76
+ return result;
77
+ }
78
+ catch (error) {
79
+ await client.query('ROLLBACK');
80
+ throw error;
81
+ }
82
+ finally {
83
+ client.release();
84
+ }
85
+ }
59
86
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/runtime/metadata/cache.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAclC,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAU;IAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,qDAAqD,KAAK,EAAE,CAC7D,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAyE,EAAE,CAAC;QACnG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE;YACvB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAU,EAAE,OAAwB;IAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,KAAK,CAChB,eAAe,KAAK;;;;;kCAKM,EAC1B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAClE,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAU,EAAE,KAAe;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,8BAA8B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,KAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5G,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IAC3F,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/runtime/metadata/cache.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
- export { readMetadataCache, writeMetadataCache, invalidateMetadata, syncMetadataCache, } from './cache.js';
1
+ export { readMetadataCache, writeMetadataCache, writeMetadataCacheOn, invalidateMetadata, syncMetadataCache, syncMetadataCacheOn, } from './cache.js';
2
2
  export type { MetadataRow, MetadataEntry } from './cache.js';
3
+ export { computeSchemaHash, latestSchemaRevision, writeSchemaRevision, } from './revision.js';
4
+ export type { SchemaRevision, SchemaRevisionInput } from './revision.js';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +1,3 @@
1
- export { readMetadataCache, writeMetadataCache, invalidateMetadata, syncMetadataCache, } from './cache.js';
1
+ export { readMetadataCache, writeMetadataCache, writeMetadataCacheOn, invalidateMetadata, syncMetadataCache, syncMetadataCacheOn, } from './cache.js';
2
+ export { computeSchemaHash, latestSchemaRevision, writeSchemaRevision, } from './revision.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { type SqlQueryable } from '../../core/index.js';
2
+ /**
3
+ * Global schema revisions (`weavekit_schema_revision`): an append-only history
4
+ * anchored on a deterministic aggregate content hash over the schema files.
5
+ * This is the "schema revision = database revision = runtime revision" anchor —
6
+ * Git / DB / metadata cache / runtime can all be compared to one id.
7
+ */
8
+ export interface SchemaRevision {
9
+ revision: number;
10
+ contentHash: string;
11
+ parentRevision: number | null;
12
+ sourceCommit: string | null;
13
+ actor: string | null;
14
+ objects: string[];
15
+ status: string;
16
+ createdAt: Date;
17
+ }
18
+ export interface SchemaRevisionInput {
19
+ contentHash: string;
20
+ sourceCommit?: string;
21
+ actor?: string;
22
+ objects: readonly string[];
23
+ status?: string;
24
+ }
25
+ /** deterministic, order-independent aggregate hash over the per-object content hashes */
26
+ export declare function computeSchemaHash(files: readonly {
27
+ name: string;
28
+ contentHash: string;
29
+ }[]): string;
30
+ /** the most recent revision, or null when none has been recorded */
31
+ export declare function latestSchemaRevision(db: SqlQueryable): Promise<SchemaRevision | null>;
32
+ /**
33
+ * Record a schema revision. Idempotent by content hash: when the latest
34
+ * revision already carries the same hash, no new row is written and the
35
+ * existing id is returned. `parent_revision` links the chain.
36
+ */
37
+ export declare function writeSchemaRevision(db: SqlQueryable, input: SchemaRevisionInput): Promise<{
38
+ revision: number;
39
+ created: boolean;
40
+ }>;
41
+ //# sourceMappingURL=revision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.d.ts","sourceRoot":"","sources":["../../../src/runtime/metadata/revision.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,yFAAyF;AACzF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,GACtD,MAAM,CAMR;AAgBD,oEAAoE;AACpE,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAI3F;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAmBjD"}
@@ -0,0 +1,53 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { SYSTEM_TABLES } from '../../core/index.js';
3
+ const TABLE = SYSTEM_TABLES.SCHEMA_REVISION;
4
+ /** deterministic, order-independent aggregate hash over the per-object content hashes */
5
+ export function computeSchemaHash(files) {
6
+ const canonical = [...files]
7
+ .map((f) => `${f.name}:${f.contentHash}`)
8
+ .sort()
9
+ .join('\n');
10
+ return createHash('sha256').update(canonical, 'utf8').digest('hex');
11
+ }
12
+ function rowToRevision(row) {
13
+ const parent = row.parent_revision;
14
+ return {
15
+ revision: Number(row.revision),
16
+ contentHash: String(row.content_hash),
17
+ parentRevision: parent === null || parent === undefined ? null : Number(parent),
18
+ sourceCommit: row.source_commit ?? null,
19
+ actor: row.actor ?? null,
20
+ objects: row.objects ?? [],
21
+ status: String(row.status),
22
+ createdAt: row.created_at,
23
+ };
24
+ }
25
+ /** the most recent revision, or null when none has been recorded */
26
+ export async function latestSchemaRevision(db) {
27
+ const res = await db.query(`SELECT * FROM ${TABLE} ORDER BY revision DESC LIMIT 1`);
28
+ const row = res.rows[0];
29
+ return row === undefined ? null : rowToRevision(row);
30
+ }
31
+ /**
32
+ * Record a schema revision. Idempotent by content hash: when the latest
33
+ * revision already carries the same hash, no new row is written and the
34
+ * existing id is returned. `parent_revision` links the chain.
35
+ */
36
+ export async function writeSchemaRevision(db, input) {
37
+ const latest = await latestSchemaRevision(db);
38
+ if (latest !== null && latest.contentHash === input.contentHash) {
39
+ return { revision: latest.revision, created: false };
40
+ }
41
+ const res = await db.query(`INSERT INTO ${TABLE} (content_hash, parent_revision, source_commit, actor, objects, status)
42
+ VALUES ($1, $2, $3, $4, $5::jsonb, $6)
43
+ RETURNING revision`, [
44
+ input.contentHash,
45
+ latest?.revision ?? null,
46
+ input.sourceCommit ?? null,
47
+ input.actor ?? null,
48
+ JSON.stringify(input.objects),
49
+ input.status ?? 'active',
50
+ ]);
51
+ return { revision: Number(res.rows[0].revision), created: true };
52
+ }
53
+ //# sourceMappingURL=revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.js","sourceRoot":"","sources":["../../../src/runtime/metadata/revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AA2BvE,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC;AAE5C,yFAAyF;AACzF,MAAM,UAAU,iBAAiB,CAC/B,KAAuD;IAEvD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;SACxC,IAAI,EAAE;SACN,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC;IACnC,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACrC,cAAc,EAAE,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/E,YAAY,EAAG,GAAG,CAAC,aAA+B,IAAI,IAAI;QAC1D,KAAK,EAAG,GAAG,CAAC,KAAuB,IAAI,IAAI;QAC3C,OAAO,EAAG,GAAG,CAAC,OAA2B,IAAI,EAAE;QAC/C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1B,SAAS,EAAE,GAAG,CAAC,UAAkB;KAClC,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAgB;IACzD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,KAAK,iCAAiC,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAwC,CAAC;IAC/D,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAgB,EAChB,KAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;QAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,KAAK,CACxB,eAAe,KAAK;;wBAEA,EACpB;QACE,KAAK,CAAC,WAAW;QACjB,MAAM,EAAE,QAAQ,IAAI,IAAI;QACxB,KAAK,CAAC,YAAY,IAAI,IAAI;QAC1B,KAAK,CAAC,KAAK,IAAI,IAAI;QACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,MAAM,IAAI,QAAQ;KACzB,CACF,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAA0B,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7F,CAAC"}
@@ -34,7 +34,7 @@ export interface ToolExecutorOptions {
34
34
  pool: Pool;
35
35
  registry: ObjectRegistry;
36
36
  audit?: AuditSink;
37
- /** rate-limit / alert handle (adapter-provided; agentKey scope) */
37
+ /** rate-limit / alert handle (adapter-provided; agent credential scope) */
38
38
  guardrails: ToolGuardrails;
39
39
  approvals?: ApprovalsQueue;
40
40
  /** guardrail policies evaluated before every custom-tool call (empty = no gate) */
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAG/B,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAuD,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAoB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/T,OAAO,KAAK,EAAE,gBAAgB,EAAkC,MAAM,yBAAyB,CAAC;AAIhG;;;;;;;;;GASG;AAEH,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAQtG;AAED,iHAAiH;AACjH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvG,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAAO,GAC9D,cAAc,CAqDhB;AAED,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,UAAU,EAAE,gBAAgB,CAAC;IAC7B,iEAAiE;IACjE,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mEAAmE;IACnE,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC3F,sFAAsF;IACtF,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChH,uEAAuE;IACvE,SAAS,EAAE,aAAa,CAAC;CAC1B;AAcD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAiH7E;AAED,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAG/B,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAuD,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAoB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/T,OAAO,KAAK,EAAE,gBAAgB,EAAkC,MAAM,yBAAyB,CAAC;AAIhG;;;;;;;;;GASG;AAEH,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAQtG;AAED,iHAAiH;AACjH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvG,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAAO,GAC9D,cAAc,CAqDhB;AAED,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,UAAU,EAAE,gBAAgB,CAAC;IAC7B,iEAAiE;IACjE,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,2EAA2E;IAC3E,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC3F,sFAAsF;IACtF,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChH,uEAAuE;IACvE,SAAS,EAAE,aAAa,CAAC;CAC1B;AAcD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAkH7E;AAED,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { NOOP_AUDIT_SINK, createMemoryApprovalsBackend } from '../../core/index.js';
1
+ import { NOOP_AUDIT_SINK, createMemoryApprovalsBackend, userPrincipal } from '../../core/index.js';
2
2
  import { AUDIT_ACTOR_TYPES } from '../../core/index.js';
3
3
  import { withTx as dataAccessWithTx } from '../data-access/index.js';
4
4
  import { applyMask, evaluateCall } from './policies.js';
@@ -139,6 +139,7 @@ export function createToolExecutor(options) {
139
139
  const base = {
140
140
  pool: options.pool,
141
141
  registry: options.registry,
142
+ principal: userPrincipal(req.subject),
142
143
  locale: req.locale ?? options.locale,
143
144
  };
144
145
  const ctx = toolContext(base, req);
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/runtime/tools/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/runtime/tools/executor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import type { Pool } from 'pg';
2
2
  import type { AuditEvent, AuditSink } from '../../core/audit/index.js';
3
3
  import type { AuditQuery, AuditQueryResult } from './store.js';
4
- export { AUDIT_ACTOR_TYPES, DATA_ACTIONS, NOOP_AUDIT_SINK } from '../../core/audit/index.js';
5
- export type { AuditActorType, AuditEvent, AuditFilter, AuditSink, DataAction } from '../../core/audit/index.js';
4
+ export { AUDIT_ACTOR_TYPES, AUDIT_MODES, DATA_ACTIONS, NOOP_AUDIT_SINK } from '../../core/audit/index.js';
5
+ export type { AuditActorType, AuditEvent, AuditFilter, AuditMode, AuditSink, DataAction } from '../../core/audit/index.js';
6
6
  export type { AuditQuery, AuditQueryResult } from './store.js';
7
+ export { createOutboxAuditSink, startAuditOutboxRelay, writeOutboxInTx } from './outbox.js';
8
+ export type { AuditOutboxRelay, AuditOutboxRelayOptions } from './outbox.js';
7
9
  /** audit engine: storage (single/batch insert) + query + lifecycle */
8
10
  export interface AuditEngine extends AuditSink {
9
11
  record(event: AuditEvent): Promise<void>;
@@ -14,6 +16,12 @@ export interface AuditEngine extends AuditSink {
14
16
  }
15
17
  /** create the PG-backed audit engine (table provisioned by `weave migrate`) */
16
18
  export declare function createAudit(pool: Pool): Promise<AuditEngine>;
19
+ /**
20
+ * Transactional-mode sink: the audit row is written with the business write in
21
+ * the caller's transaction (`recordInTx`); non-transactional calls write
22
+ * directly. No process buffer — a failure rolls the audit back with the change.
23
+ */
24
+ export declare function createTransactionalAuditSink(audit: AuditEngine): AuditSink;
17
25
  export interface BufferedSinkOptions {
18
26
  /** events per batch; defaults to 50 */
19
27
  batchSize?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/subsystems/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7F,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAChH,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/D,sEAAsE;AACtE,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtD,gFAAgF;IAChF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,+EAA+E;AAC/E,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAelE;AAED,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAKD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,mBAAwB,GAChC,SAAS,GAAG;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA8FxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/subsystems/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC1G,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC3H,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5F,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE7E,sEAAsE;AACtE,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtD,gFAAgF;IAChF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,+EAA+E;AAC/E,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAelE;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAM1E;AAED,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAKD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,mBAAwB,GAChC,SAAS,GAAG;IAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA8FxC"}
@@ -1,5 +1,6 @@
1
1
  import { insertAudit, insertAuditBatch, queryAudit } from './store.js';
2
- export { AUDIT_ACTOR_TYPES, DATA_ACTIONS, NOOP_AUDIT_SINK } from '../../core/audit/index.js';
2
+ export { AUDIT_ACTOR_TYPES, AUDIT_MODES, DATA_ACTIONS, NOOP_AUDIT_SINK } from '../../core/audit/index.js';
3
+ export { createOutboxAuditSink, startAuditOutboxRelay, writeOutboxInTx } from './outbox.js';
3
4
  /** create the PG-backed audit engine (table provisioned by `weave migrate`) */
4
5
  export async function createAudit(pool) {
5
6
  return {
@@ -17,6 +18,18 @@ export async function createAudit(pool) {
17
18
  },
18
19
  };
19
20
  }
21
+ /**
22
+ * Transactional-mode sink: the audit row is written with the business write in
23
+ * the caller's transaction (`recordInTx`); non-transactional calls write
24
+ * directly. No process buffer — a failure rolls the audit back with the change.
25
+ */
26
+ export function createTransactionalAuditSink(audit) {
27
+ return {
28
+ record: (event) => audit.record(event),
29
+ recordBatch: (events) => audit.recordBatch(events),
30
+ recordInTx: (event, client) => insertAudit(client, event),
31
+ };
32
+ }
20
33
  /** hard cap on retained events when the sink is unreachable — above this the oldest are dropped + reported (prevents OOM) */
21
34
  const MAX_BUFFERED_EVENTS = 10_000;
22
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/subsystems/audit/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/subsystems/audit/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { Pool, PoolClient } from 'pg';
2
+ import type { AuditEvent, AuditSink } from '../../core/audit/index.js';
3
+ /** insert an outbox row inside the caller's transaction (durable-mode producer) */
4
+ export declare function writeOutboxInTx(client: PoolClient, event: AuditEvent): Promise<void>;
5
+ /**
6
+ * Durable-mode sink: transactional writes go to `weavekit_audit_outbox` (same
7
+ * transaction as the business write); non-transactional writes (RBAC denials,
8
+ * tool calls) enqueue through the pool. A relay then delivers to
9
+ * `weavekit_audit` + the live channel.
10
+ */
11
+ export declare function createOutboxAuditSink(pool: Pool): AuditSink;
12
+ export interface AuditOutboxRelayOptions {
13
+ pool: Pool;
14
+ /** called after each event is durably written (SSE dual-emit) */
15
+ publish?: (event: AuditEvent) => void;
16
+ pollMs?: number;
17
+ batchSize?: number;
18
+ onError?: (error: Error) => void;
19
+ }
20
+ export interface AuditOutboxRelay {
21
+ /** drain pending rows now (idempotent) */
22
+ drain(): Promise<void>;
23
+ /** stop polling and drain once (used by engine.close) */
24
+ close(): Promise<void>;
25
+ }
26
+ /**
27
+ * Background relay draining `weavekit_audit_outbox` into `weavekit_audit` and
28
+ * the live channel. Multi-instance safe (`FOR UPDATE SKIP LOCKED`), and
29
+ * at-least-once: rows are deleted only after a successful insert + commit, so a
30
+ * crash between insert and delete redelivers.
31
+ */
32
+ export declare function startAuditOutboxRelay(options: AuditOutboxRelayOptions): AuditOutboxRelay;
33
+ //# sourceMappingURL=outbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../../src/subsystems/audit/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGvE,mFAAmF;AACnF,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAY3D;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,IAAI,CAAC;IACX,iEAAiE;IACjE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yDAAyD;IACzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CA+ExF"}
@@ -0,0 +1,111 @@
1
+ import { SYSTEM_TABLES } from '../../core/index.js';
2
+ import { insertAuditBatch } from './store.js';
3
+ /** insert an outbox row inside the caller's transaction (durable-mode producer) */
4
+ export async function writeOutboxInTx(client, event) {
5
+ await client.query(`INSERT INTO ${SYSTEM_TABLES.AUDIT_OUTBOX} (event) VALUES ($1::jsonb)`, [JSON.stringify(event)]);
6
+ }
7
+ /**
8
+ * Durable-mode sink: transactional writes go to `weavekit_audit_outbox` (same
9
+ * transaction as the business write); non-transactional writes (RBAC denials,
10
+ * tool calls) enqueue through the pool. A relay then delivers to
11
+ * `weavekit_audit` + the live channel.
12
+ */
13
+ export function createOutboxAuditSink(pool) {
14
+ return {
15
+ async record(event) {
16
+ await pool.query(`INSERT INTO ${SYSTEM_TABLES.AUDIT_OUTBOX} (event) VALUES ($1::jsonb)`, [JSON.stringify(event)]);
17
+ },
18
+ async recordInTx(event, client) {
19
+ await writeOutboxInTx(client, event);
20
+ },
21
+ };
22
+ }
23
+ /**
24
+ * Background relay draining `weavekit_audit_outbox` into `weavekit_audit` and
25
+ * the live channel. Multi-instance safe (`FOR UPDATE SKIP LOCKED`), and
26
+ * at-least-once: rows are deleted only after a successful insert + commit, so a
27
+ * crash between insert and delete redelivers.
28
+ */
29
+ export function startAuditOutboxRelay(options) {
30
+ const pollMs = options.pollMs ?? 1000;
31
+ const batchSize = options.batchSize ?? 100;
32
+ const onError = options.onError ?? ((error) => console.error('audit outbox relay failed:', error.message));
33
+ let timer;
34
+ let running = false;
35
+ let closed = false;
36
+ async function drainOnce() {
37
+ for (;;) {
38
+ const client = await options.pool.connect();
39
+ let events = [];
40
+ try {
41
+ await client.query('BEGIN');
42
+ const res = await client.query(`SELECT id, event FROM ${SYSTEM_TABLES.AUDIT_OUTBOX} ORDER BY id FOR UPDATE SKIP LOCKED LIMIT $1`, [batchSize]);
43
+ const rows = res.rows;
44
+ if (rows.length === 0) {
45
+ await client.query('COMMIT');
46
+ break;
47
+ }
48
+ events = rows.map((r) => r.event);
49
+ await insertAuditBatch(client, events);
50
+ await client.query(`DELETE FROM ${SYSTEM_TABLES.AUDIT_OUTBOX} WHERE id = ANY($1)`, [rows.map((r) => r.id)]);
51
+ await client.query('COMMIT');
52
+ }
53
+ catch (error) {
54
+ await client.query('ROLLBACK').catch(() => { });
55
+ throw error;
56
+ }
57
+ finally {
58
+ client.release();
59
+ }
60
+ if (options.publish !== undefined)
61
+ for (const event of events)
62
+ options.publish(event);
63
+ if (events.length < batchSize)
64
+ break;
65
+ }
66
+ }
67
+ function schedule() {
68
+ if (closed || timer !== undefined || running)
69
+ return;
70
+ timer = setTimeout(() => {
71
+ timer = undefined;
72
+ void run();
73
+ }, pollMs);
74
+ timer.unref?.();
75
+ }
76
+ async function run() {
77
+ if (running || closed)
78
+ return;
79
+ running = true;
80
+ try {
81
+ await drainOnce();
82
+ }
83
+ catch (error) {
84
+ onError(error instanceof Error ? error : new Error(String(error)));
85
+ }
86
+ finally {
87
+ running = false;
88
+ schedule();
89
+ }
90
+ }
91
+ schedule();
92
+ return {
93
+ async drain() {
94
+ await drainOnce();
95
+ },
96
+ async close() {
97
+ closed = true;
98
+ if (timer !== undefined) {
99
+ clearTimeout(timer);
100
+ timer = undefined;
101
+ }
102
+ try {
103
+ await drainOnce();
104
+ }
105
+ catch (error) {
106
+ onError(error instanceof Error ? error : new Error(String(error)));
107
+ }
108
+ },
109
+ };
110
+ }
111
+ //# sourceMappingURL=outbox.js.map