@weave-kit/engine 0.4.0 → 0.6.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 (642) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +6 -6
  3. package/dist/adapters/auth/index.d.ts +4 -2
  4. package/dist/adapters/auth/index.d.ts.map +1 -1
  5. package/dist/adapters/auth/index.js +1 -0
  6. package/dist/adapters/auth/index.js.map +1 -1
  7. package/dist/adapters/auth/source.d.ts +4 -4
  8. package/dist/adapters/auth/source.d.ts.map +1 -1
  9. package/dist/adapters/auth/subject.d.ts +22 -0
  10. package/dist/adapters/auth/subject.d.ts.map +1 -0
  11. package/dist/adapters/auth/subject.js +42 -0
  12. package/dist/adapters/auth/subject.js.map +1 -0
  13. package/dist/adapters/auth/verify.d.ts +12 -0
  14. package/dist/adapters/auth/verify.d.ts.map +1 -0
  15. package/dist/adapters/auth/verify.js +2 -0
  16. package/dist/adapters/auth/verify.js.map +1 -0
  17. package/dist/adapters/events/index.d.ts +2 -1
  18. package/dist/adapters/events/index.d.ts.map +1 -1
  19. package/dist/adapters/events/index.js +2 -1
  20. package/dist/adapters/events/index.js.map +1 -1
  21. package/dist/adapters/mcp/generate.d.ts +3 -3
  22. package/dist/adapters/mcp/generate.d.ts.map +1 -1
  23. package/dist/adapters/mcp/generate.js +34 -11
  24. package/dist/adapters/mcp/generate.js.map +1 -1
  25. package/dist/adapters/mcp/guardrails.d.ts +1 -1
  26. package/dist/adapters/mcp/http.d.ts +3 -1
  27. package/dist/adapters/mcp/http.d.ts.map +1 -1
  28. package/dist/adapters/mcp/http.js +2 -2
  29. package/dist/adapters/mcp/http.js.map +1 -1
  30. package/dist/adapters/mcp/index.d.ts +13 -4
  31. package/dist/adapters/mcp/index.d.ts.map +1 -1
  32. package/dist/adapters/mcp/index.js +12 -8
  33. package/dist/adapters/mcp/index.js.map +1 -1
  34. package/dist/adapters/mcp/session.d.ts +5 -5
  35. package/dist/adapters/mcp/session.d.ts.map +1 -1
  36. package/dist/adapters/mcp/tools.d.ts +6 -0
  37. package/dist/adapters/mcp/tools.d.ts.map +1 -1
  38. package/dist/adapters/mcp/tools.js +38 -14
  39. package/dist/adapters/mcp/tools.js.map +1 -1
  40. package/dist/adapters/mcp/types.d.ts +3 -1
  41. package/dist/adapters/mcp/types.d.ts.map +1 -1
  42. package/dist/adapters/mcp/types.js +1 -1
  43. package/dist/adapters/mcp/types.js.map +1 -1
  44. package/dist/adapters/openapi/document.d.ts.map +1 -1
  45. package/dist/adapters/openapi/document.js +72 -2
  46. package/dist/adapters/openapi/document.js.map +1 -1
  47. package/dist/adapters/openapi/schema.d.ts.map +1 -1
  48. package/dist/adapters/openapi/schema.js +47 -7
  49. package/dist/adapters/openapi/schema.js.map +1 -1
  50. package/dist/adapters/openapi/types.d.ts +1 -0
  51. package/dist/adapters/openapi/types.d.ts.map +1 -1
  52. package/dist/adapters/openapi/types.js +2 -0
  53. package/dist/adapters/openapi/types.js.map +1 -1
  54. package/dist/adapters/rest/approvals.d.ts +2 -2
  55. package/dist/adapters/rest/approvals.js +2 -2
  56. package/dist/adapters/rest/audit.d.ts +2 -2
  57. package/dist/adapters/rest/audit.js +2 -2
  58. package/dist/adapters/rest/common.d.ts +3 -3
  59. package/dist/adapters/rest/common.d.ts.map +1 -1
  60. package/dist/adapters/rest/common.js +1 -1
  61. package/dist/adapters/rest/guardrails.d.ts +1 -1
  62. package/dist/adapters/rest/guardrails.js +1 -1
  63. package/dist/adapters/rest/identities.d.ts +4 -4
  64. package/dist/adapters/rest/identities.d.ts.map +1 -1
  65. package/dist/adapters/rest/identities.js +3 -3
  66. package/dist/adapters/rest/identities.js.map +1 -1
  67. package/dist/adapters/rest/identityAdmin.d.ts +18 -0
  68. package/dist/adapters/rest/identityAdmin.d.ts.map +1 -0
  69. package/dist/adapters/rest/identityAdmin.js +58 -0
  70. package/dist/adapters/rest/identityAdmin.js.map +1 -0
  71. package/dist/adapters/rest/index.d.ts +4 -0
  72. package/dist/adapters/rest/index.d.ts.map +1 -1
  73. package/dist/adapters/rest/index.js +3 -0
  74. package/dist/adapters/rest/index.js.map +1 -1
  75. package/dist/adapters/rest/metadata.d.ts +1 -1
  76. package/dist/adapters/rest/metadata.js +1 -1
  77. package/dist/adapters/rest/pages.d.ts +1 -1
  78. package/dist/adapters/rest/pages.d.ts.map +1 -1
  79. package/dist/adapters/rest/permissions.d.ts +1 -1
  80. package/dist/adapters/rest/permissions.js +1 -1
  81. package/dist/adapters/rest/plugin.d.ts +2 -2
  82. package/dist/adapters/rest/plugin.d.ts.map +1 -1
  83. package/dist/adapters/rest/schemas.d.ts +1 -1
  84. package/dist/adapters/rest/schemas.d.ts.map +1 -1
  85. package/dist/adapters/rest/workflow.d.ts +15 -0
  86. package/dist/adapters/rest/workflow.d.ts.map +1 -0
  87. package/dist/adapters/rest/workflow.js +89 -0
  88. package/dist/adapters/rest/workflow.js.map +1 -0
  89. package/dist/adapters/rest/workflowSource.d.ts +15 -0
  90. package/dist/adapters/rest/workflowSource.d.ts.map +1 -0
  91. package/dist/adapters/rest/workflowSource.js +63 -0
  92. package/dist/adapters/rest/workflowSource.js.map +1 -0
  93. package/dist/cli/commands/build.js +1 -1
  94. package/dist/cli/commands/build.js.map +1 -1
  95. package/dist/cli/commands/connect.d.ts +1 -1
  96. package/dist/cli/commands/default-view.d.ts +2 -2
  97. package/dist/cli/commands/default-view.js +2 -2
  98. package/dist/cli/commands/dev.d.ts.map +1 -1
  99. package/dist/cli/commands/dev.js +18 -9
  100. package/dist/cli/commands/dev.js.map +1 -1
  101. package/dist/cli/commands/field-add.d.ts.map +1 -1
  102. package/dist/cli/commands/field-add.js +12 -6
  103. package/dist/cli/commands/field-add.js.map +1 -1
  104. package/dist/cli/commands/field-types.d.ts.map +1 -1
  105. package/dist/cli/commands/field-types.js +10 -1
  106. package/dist/cli/commands/field-types.js.map +1 -1
  107. package/dist/cli/commands/identity.d.ts +15 -0
  108. package/dist/cli/commands/identity.d.ts.map +1 -0
  109. package/dist/cli/commands/identity.js +115 -0
  110. package/dist/cli/commands/identity.js.map +1 -0
  111. package/dist/cli/commands/introspect.d.ts.map +1 -1
  112. package/dist/cli/commands/introspect.js +23 -0
  113. package/dist/cli/commands/introspect.js.map +1 -1
  114. package/dist/cli/commands/mcp-config.js +1 -1
  115. package/dist/cli/commands/mcp-config.js.map +1 -1
  116. package/dist/cli/commands/migrate.js +2 -2
  117. package/dist/cli/commands/migrate.js.map +1 -1
  118. package/dist/cli/commands/module.d.ts +2 -2
  119. package/dist/cli/commands/module.d.ts.map +1 -1
  120. package/dist/cli/commands/module.js +2 -2
  121. package/dist/cli/commands/module.js.map +1 -1
  122. package/dist/cli/commands/object-create.d.ts.map +1 -1
  123. package/dist/cli/commands/object-create.js +15 -15
  124. package/dist/cli/commands/object-create.js.map +1 -1
  125. package/dist/cli/commands/schema-map.d.ts.map +1 -1
  126. package/dist/cli/commands/schema-map.js +6 -0
  127. package/dist/cli/commands/schema-map.js.map +1 -1
  128. package/dist/cli/commands/workflow-close.d.ts +9 -0
  129. package/dist/cli/commands/workflow-close.d.ts.map +1 -0
  130. package/dist/cli/commands/workflow-close.js +48 -0
  131. package/dist/cli/commands/workflow-close.js.map +1 -0
  132. package/dist/cli/commands/workflow-migrate.d.ts +11 -0
  133. package/dist/cli/commands/workflow-migrate.d.ts.map +1 -0
  134. package/dist/cli/commands/workflow-migrate.js +120 -0
  135. package/dist/cli/commands/workflow-migrate.js.map +1 -0
  136. package/dist/cli/commands/workflow-open.d.ts +10 -0
  137. package/dist/cli/commands/workflow-open.d.ts.map +1 -0
  138. package/dist/cli/commands/workflow-open.js +112 -0
  139. package/dist/cli/commands/workflow-open.js.map +1 -0
  140. package/dist/cli/commands/workflow-starter.d.ts +10 -0
  141. package/dist/cli/commands/workflow-starter.d.ts.map +1 -0
  142. package/dist/cli/commands/workflow-starter.js +29 -0
  143. package/dist/cli/commands/workflow-starter.js.map +1 -0
  144. package/dist/cli/commands/workflow-switch.d.ts +10 -0
  145. package/dist/cli/commands/workflow-switch.d.ts.map +1 -0
  146. package/dist/cli/commands/workflow-switch.js +60 -0
  147. package/dist/cli/commands/workflow-switch.js.map +1 -0
  148. package/dist/cli/commands/workflow-upgrade.d.ts +12 -0
  149. package/dist/cli/commands/workflow-upgrade.d.ts.map +1 -0
  150. package/dist/cli/commands/workflow-upgrade.js +116 -0
  151. package/dist/cli/commands/workflow-upgrade.js.map +1 -0
  152. package/dist/cli/index.js +74 -3
  153. package/dist/cli/index.js.map +1 -1
  154. package/dist/cli/project-types/manifest.d.ts +25 -0
  155. package/dist/cli/project-types/manifest.d.ts.map +1 -0
  156. package/dist/cli/project-types/manifest.js +40 -0
  157. package/dist/cli/project-types/manifest.js.map +1 -0
  158. package/dist/cli/ready-screen.js +1 -1
  159. package/dist/cli/ready-screen.js.map +1 -1
  160. package/dist/cli/scaffold.d.ts.map +1 -1
  161. package/dist/cli/scaffold.js +21 -34
  162. package/dist/cli/scaffold.js.map +1 -1
  163. package/dist/cli/types/commands.d.ts +48 -0
  164. package/dist/cli/types/commands.d.ts.map +1 -1
  165. package/dist/cli/types/index.d.ts +1 -1
  166. package/dist/cli/types/index.d.ts.map +1 -1
  167. package/dist/cli/types/values.d.ts +9 -0
  168. package/dist/cli/types/values.d.ts.map +1 -1
  169. package/dist/cli/types/values.js +9 -0
  170. package/dist/cli/types/values.js.map +1 -1
  171. package/dist/core/api/error.d.ts.map +1 -1
  172. package/dist/core/api/error.js +7 -4
  173. package/dist/core/api/error.js.map +1 -1
  174. package/dist/core/audit/types.d.ts +4 -2
  175. package/dist/core/audit/types.d.ts.map +1 -1
  176. package/dist/core/audit/types.js +2 -0
  177. package/dist/core/audit/types.js.map +1 -1
  178. package/dist/core/formula/validate.d.ts.map +1 -1
  179. package/dist/core/formula/validate.js +6 -0
  180. package/dist/core/formula/validate.js.map +1 -1
  181. package/dist/core/i18n/ar.d.ts.map +1 -1
  182. package/dist/core/i18n/ar.js +59 -3
  183. package/dist/core/i18n/ar.js.map +1 -1
  184. package/dist/core/i18n/de.d.ts.map +1 -1
  185. package/dist/core/i18n/de.js +59 -3
  186. package/dist/core/i18n/de.js.map +1 -1
  187. package/dist/core/i18n/en.d.ts +60 -4
  188. package/dist/core/i18n/en.d.ts.map +1 -1
  189. package/dist/core/i18n/en.js +60 -4
  190. package/dist/core/i18n/en.js.map +1 -1
  191. package/dist/core/i18n/es.d.ts.map +1 -1
  192. package/dist/core/i18n/es.js +59 -3
  193. package/dist/core/i18n/es.js.map +1 -1
  194. package/dist/core/i18n/fr.d.ts.map +1 -1
  195. package/dist/core/i18n/fr.js +59 -3
  196. package/dist/core/i18n/fr.js.map +1 -1
  197. package/dist/core/i18n/hi.d.ts.map +1 -1
  198. package/dist/core/i18n/hi.js +59 -3
  199. package/dist/core/i18n/hi.js.map +1 -1
  200. package/dist/core/i18n/id.d.ts.map +1 -1
  201. package/dist/core/i18n/id.js +59 -3
  202. package/dist/core/i18n/id.js.map +1 -1
  203. package/dist/core/i18n/ja.d.ts.map +1 -1
  204. package/dist/core/i18n/ja.js +59 -3
  205. package/dist/core/i18n/ja.js.map +1 -1
  206. package/dist/core/i18n/ko.d.ts.map +1 -1
  207. package/dist/core/i18n/ko.js +59 -3
  208. package/dist/core/i18n/ko.js.map +1 -1
  209. package/dist/core/i18n/pt.d.ts.map +1 -1
  210. package/dist/core/i18n/pt.js +59 -3
  211. package/dist/core/i18n/pt.js.map +1 -1
  212. package/dist/core/i18n/ru.d.ts.map +1 -1
  213. package/dist/core/i18n/ru.js +59 -3
  214. package/dist/core/i18n/ru.js.map +1 -1
  215. package/dist/core/i18n/vi.d.ts.map +1 -1
  216. package/dist/core/i18n/vi.js +59 -3
  217. package/dist/core/i18n/vi.js.map +1 -1
  218. package/dist/core/i18n/zh-hant.d.ts.map +1 -1
  219. package/dist/core/i18n/zh-hant.js +59 -3
  220. package/dist/core/i18n/zh-hant.js.map +1 -1
  221. package/dist/core/i18n/zh.d.ts.map +1 -1
  222. package/dist/core/i18n/zh.js +60 -4
  223. package/dist/core/i18n/zh.js.map +1 -1
  224. package/dist/core/object/describe.d.ts +62 -3
  225. package/dist/core/object/describe.d.ts.map +1 -1
  226. package/dist/core/object/describe.js +81 -11
  227. package/dist/core/object/describe.js.map +1 -1
  228. package/dist/core/object/gen-types.d.ts.map +1 -1
  229. package/dist/core/object/gen-types.js +14 -1
  230. package/dist/core/object/gen-types.js.map +1 -1
  231. package/dist/core/object/graph.d.ts +3 -0
  232. package/dist/core/object/graph.d.ts.map +1 -1
  233. package/dist/core/object/graph.js +90 -14
  234. package/dist/core/object/graph.js.map +1 -1
  235. package/dist/core/object/index.d.ts +6 -2
  236. package/dist/core/object/index.d.ts.map +1 -1
  237. package/dist/core/object/index.js +5 -1
  238. package/dist/core/object/index.js.map +1 -1
  239. package/dist/core/object/migrations.d.ts.map +1 -1
  240. package/dist/core/object/migrations.js +45 -0
  241. package/dist/core/object/migrations.js.map +1 -1
  242. package/dist/core/object/parse.d.ts +7 -0
  243. package/dist/core/object/parse.d.ts.map +1 -1
  244. package/dist/core/object/parse.js +32 -1
  245. package/dist/core/object/parse.js.map +1 -1
  246. package/dist/core/object/record-key.d.ts +19 -0
  247. package/dist/core/object/record-key.d.ts.map +1 -0
  248. package/dist/core/object/record-key.js +100 -0
  249. package/dist/core/object/record-key.js.map +1 -0
  250. package/dist/core/object/registry.js +1 -1
  251. package/dist/core/object/registry.js.map +1 -1
  252. package/dist/core/object/schema-version.d.ts +1 -1
  253. package/dist/core/object/schema-version.js +1 -1
  254. package/dist/core/object/system-objects.d.ts +16 -0
  255. package/dist/core/object/system-objects.d.ts.map +1 -0
  256. package/dist/core/object/system-objects.js +72 -0
  257. package/dist/core/object/system-objects.js.map +1 -0
  258. package/dist/core/object/validate/constraints.d.ts +9 -0
  259. package/dist/core/object/validate/constraints.d.ts.map +1 -0
  260. package/dist/core/object/validate/constraints.js +45 -0
  261. package/dist/core/object/validate/constraints.js.map +1 -0
  262. package/dist/core/object/validate/field.d.ts.map +1 -1
  263. package/dist/core/object/validate/field.js +339 -66
  264. package/dist/core/object/validate/field.js.map +1 -1
  265. package/dist/core/object/validate/formulas.d.ts.map +1 -1
  266. package/dist/core/object/validate/formulas.js +6 -0
  267. package/dist/core/object/validate/formulas.js.map +1 -1
  268. package/dist/core/object/validate/object.d.ts +2 -0
  269. package/dist/core/object/validate/object.d.ts.map +1 -1
  270. package/dist/core/object/validate/object.js +54 -19
  271. package/dist/core/object/validate/object.js.map +1 -1
  272. package/dist/core/object/validate/permissions.d.ts.map +1 -1
  273. package/dist/core/object/validate/permissions.js +4 -0
  274. package/dist/core/object/validate/permissions.js.map +1 -1
  275. package/dist/core/object/validate/primitives.d.ts +0 -1
  276. package/dist/core/object/validate/primitives.d.ts.map +1 -1
  277. package/dist/core/object/validate/primitives.js +1 -2
  278. package/dist/core/object/validate/primitives.js.map +1 -1
  279. package/dist/core/object/validate/workflow.d.ts +10 -0
  280. package/dist/core/object/validate/workflow.d.ts.map +1 -0
  281. package/dist/core/object/validate/workflow.js +143 -0
  282. package/dist/core/object/validate/workflow.js.map +1 -0
  283. package/dist/core/object/workflow-hash.d.ts +10 -0
  284. package/dist/core/object/workflow-hash.d.ts.map +1 -0
  285. package/dist/core/object/workflow-hash.js +27 -0
  286. package/dist/core/object/workflow-hash.js.map +1 -0
  287. package/dist/core/object/workflow-migrations.d.ts +27 -0
  288. package/dist/core/object/workflow-migrations.d.ts.map +1 -0
  289. package/dist/core/object/workflow-migrations.js +125 -0
  290. package/dist/core/object/workflow-migrations.js.map +1 -0
  291. package/dist/core/provider/event/index.d.ts +1 -1
  292. package/dist/core/provider/event/index.d.ts.map +1 -1
  293. package/dist/core/provider/event/index.js.map +1 -1
  294. package/dist/core/provider/event/types.d.ts +17 -2
  295. package/dist/core/provider/event/types.d.ts.map +1 -1
  296. package/dist/core/provider/event/types.js +2 -1
  297. package/dist/core/provider/event/types.js.map +1 -1
  298. package/dist/core/provider/identity/directory.d.ts +90 -0
  299. package/dist/core/provider/identity/directory.d.ts.map +1 -0
  300. package/dist/core/provider/identity/directory.js +3 -0
  301. package/dist/core/provider/identity/directory.js.map +1 -0
  302. package/dist/core/provider/identity/index.d.ts +5 -1
  303. package/dist/core/provider/identity/index.d.ts.map +1 -1
  304. package/dist/core/provider/identity/index.js +2 -1
  305. package/dist/core/provider/identity/index.js.map +1 -1
  306. package/dist/core/provider/identity/source.d.ts +22 -0
  307. package/dist/core/provider/identity/source.d.ts.map +1 -0
  308. package/dist/core/provider/identity/source.js +3 -0
  309. package/dist/core/provider/identity/source.js.map +1 -0
  310. package/dist/core/provider/identity/types.d.ts +62 -7
  311. package/dist/core/provider/identity/types.d.ts.map +1 -1
  312. package/dist/core/provider/identity/types.js +13 -0
  313. package/dist/core/provider/identity/types.js.map +1 -1
  314. package/dist/core/proxy/types.d.ts +4 -4
  315. package/dist/core/proxy/types.d.ts.map +1 -1
  316. package/dist/core/rbac/authorize.d.ts +10 -9
  317. package/dist/core/rbac/authorize.d.ts.map +1 -1
  318. package/dist/core/rbac/authorize.js +23 -18
  319. package/dist/core/rbac/authorize.js.map +1 -1
  320. package/dist/core/rbac/details.d.ts +33 -0
  321. package/dist/core/rbac/details.d.ts.map +1 -0
  322. package/dist/core/rbac/details.js +74 -0
  323. package/dist/core/rbac/details.js.map +1 -0
  324. package/dist/core/rbac/fields.d.ts +2 -1
  325. package/dist/core/rbac/fields.d.ts.map +1 -1
  326. package/dist/core/rbac/fields.js +3 -2
  327. package/dist/core/rbac/fields.js.map +1 -1
  328. package/dist/core/rbac/index.d.ts +3 -2
  329. package/dist/core/rbac/index.d.ts.map +1 -1
  330. package/dist/core/rbac/index.js +2 -1
  331. package/dist/core/rbac/index.js.map +1 -1
  332. package/dist/core/rbac/resolve.d.ts +3 -1
  333. package/dist/core/rbac/resolve.d.ts.map +1 -1
  334. package/dist/core/rbac/resolve.js +17 -9
  335. package/dist/core/rbac/resolve.js.map +1 -1
  336. package/dist/core/rbac/rls.d.ts +6 -0
  337. package/dist/core/rbac/rls.d.ts.map +1 -1
  338. package/dist/core/rbac/rls.js +52 -7
  339. package/dist/core/rbac/rls.js.map +1 -1
  340. package/dist/core/rbac/rowScope.d.ts +13 -6
  341. package/dist/core/rbac/rowScope.d.ts.map +1 -1
  342. package/dist/core/rbac/rowScope.js +88 -16
  343. package/dist/core/rbac/rowScope.js.map +1 -1
  344. package/dist/core/rbac/types.d.ts +6 -7
  345. package/dist/core/rbac/types.d.ts.map +1 -1
  346. package/dist/core/script/types.d.ts +1 -1
  347. package/dist/core/script/types.d.ts.map +1 -1
  348. package/dist/core/storage/diff.d.ts +10 -2
  349. package/dist/core/storage/diff.d.ts.map +1 -1
  350. package/dist/core/storage/diff.js +40 -18
  351. package/dist/core/storage/diff.js.map +1 -1
  352. package/dist/core/storage/index.d.ts +7 -1
  353. package/dist/core/storage/index.d.ts.map +1 -1
  354. package/dist/core/storage/index.js +6 -1
  355. package/dist/core/storage/index.js.map +1 -1
  356. package/dist/core/storage/inspect.d.ts +12 -3
  357. package/dist/core/storage/inspect.d.ts.map +1 -1
  358. package/dist/core/storage/inspect.js +39 -22
  359. package/dist/core/storage/inspect.js.map +1 -1
  360. package/dist/core/storage/introspect.d.ts +9 -2
  361. package/dist/core/storage/introspect.d.ts.map +1 -1
  362. package/dist/core/storage/introspect.js +100 -43
  363. package/dist/core/storage/introspect.js.map +1 -1
  364. package/dist/core/storage/link-table.d.ts +47 -0
  365. package/dist/core/storage/link-table.d.ts.map +1 -0
  366. package/dist/core/storage/link-table.js +110 -0
  367. package/dist/core/storage/link-table.js.map +1 -0
  368. package/dist/core/storage/map.d.ts +14 -5
  369. package/dist/core/storage/map.d.ts.map +1 -1
  370. package/dist/core/storage/map.js +207 -39
  371. package/dist/core/storage/map.js.map +1 -1
  372. package/dist/core/storage/meta.d.ts +6 -3
  373. package/dist/core/storage/meta.d.ts.map +1 -1
  374. package/dist/core/storage/meta.js +9 -5
  375. package/dist/core/storage/meta.js.map +1 -1
  376. package/dist/core/storage/migrate.d.ts.map +1 -1
  377. package/dist/core/storage/migrate.js +144 -11
  378. package/dist/core/storage/migrate.js.map +1 -1
  379. package/dist/core/storage/record-key-sql.d.ts +19 -0
  380. package/dist/core/storage/record-key-sql.d.ts.map +1 -0
  381. package/dist/core/storage/record-key-sql.js +43 -0
  382. package/dist/core/storage/record-key-sql.js.map +1 -0
  383. package/dist/core/storage/record-meta.d.ts +68 -0
  384. package/dist/core/storage/record-meta.d.ts.map +1 -0
  385. package/dist/core/storage/record-meta.js +108 -0
  386. package/dist/core/storage/record-meta.js.map +1 -0
  387. package/dist/core/storage/report.d.ts +10 -0
  388. package/dist/core/storage/report.d.ts.map +1 -1
  389. package/dist/core/storage/report.js +31 -9
  390. package/dist/core/storage/report.js.map +1 -1
  391. package/dist/core/storage/sql-literals.d.ts +9 -0
  392. package/dist/core/storage/sql-literals.d.ts.map +1 -0
  393. package/dist/core/storage/sql-literals.js +13 -0
  394. package/dist/core/storage/sql-literals.js.map +1 -0
  395. package/dist/core/storage/system-tables.d.ts +44 -0
  396. package/dist/core/storage/system-tables.d.ts.map +1 -0
  397. package/dist/core/storage/system-tables.js +268 -0
  398. package/dist/core/storage/system-tables.js.map +1 -0
  399. package/dist/core/tools/policies.d.ts +2 -2
  400. package/dist/core/tools/policies.js +2 -2
  401. package/dist/core/tools/types.d.ts +6 -6
  402. package/dist/core/tools/types.d.ts.map +1 -1
  403. package/dist/core/tools/values.d.ts +5 -0
  404. package/dist/core/tools/values.d.ts.map +1 -1
  405. package/dist/core/tools/values.js +9 -1
  406. package/dist/core/tools/values.js.map +1 -1
  407. package/dist/core/types/currency.d.ts +9 -0
  408. package/dist/core/types/currency.d.ts.map +1 -0
  409. package/dist/core/types/currency.js +28 -0
  410. package/dist/core/types/currency.js.map +1 -0
  411. package/dist/core/types/field-type.d.ts +60 -6
  412. package/dist/core/types/field-type.d.ts.map +1 -1
  413. package/dist/core/types/field-type.js +19 -3
  414. package/dist/core/types/field-type.js.map +1 -1
  415. package/dist/core/types/fields.d.ts +118 -20
  416. package/dist/core/types/fields.d.ts.map +1 -1
  417. package/dist/core/types/index.d.ts +11 -9
  418. package/dist/core/types/index.d.ts.map +1 -1
  419. package/dist/core/types/index.js +5 -4
  420. package/dist/core/types/index.js.map +1 -1
  421. package/dist/core/types/object.d.ts +27 -2
  422. package/dist/core/types/object.d.ts.map +1 -1
  423. package/dist/core/types/permission.d.ts +5 -0
  424. package/dist/core/types/permission.d.ts.map +1 -1
  425. package/dist/core/types/primaryField.d.ts +6 -1
  426. package/dist/core/types/primaryField.d.ts.map +1 -1
  427. package/dist/core/types/primaryField.js +8 -1
  428. package/dist/core/types/primaryField.js.map +1 -1
  429. package/dist/core/types/registry.d.ts +6 -4
  430. package/dist/core/types/registry.d.ts.map +1 -1
  431. package/dist/core/types/registry.js +40 -30
  432. package/dist/core/types/registry.js.map +1 -1
  433. package/dist/core/types/values.d.ts +102 -27
  434. package/dist/core/types/values.d.ts.map +1 -1
  435. package/dist/core/types/values.js +68 -29
  436. package/dist/core/types/values.js.map +1 -1
  437. package/dist/core/types/workflow.d.ts +140 -0
  438. package/dist/core/types/workflow.d.ts.map +1 -0
  439. package/dist/core/types/workflow.js +49 -0
  440. package/dist/core/types/workflow.js.map +1 -0
  441. package/dist/index.d.ts +2 -0
  442. package/dist/index.d.ts.map +1 -1
  443. package/dist/index.js +5 -3
  444. package/dist/index.js.map +1 -1
  445. package/dist/infrastructure/event/bus.d.ts.map +1 -1
  446. package/dist/infrastructure/event/bus.js +14 -0
  447. package/dist/infrastructure/event/bus.js.map +1 -1
  448. package/dist/infrastructure/identity.d.ts +2 -2
  449. package/dist/infrastructure/identity.d.ts.map +1 -1
  450. package/dist/infrastructure/identity.js.map +1 -1
  451. package/dist/layout-format.d.ts +6 -6
  452. package/dist/layout-format.js +4 -4
  453. package/dist/runtime/data-access/builder.d.ts +15 -5
  454. package/dist/runtime/data-access/builder.d.ts.map +1 -1
  455. package/dist/runtime/data-access/builder.js +222 -30
  456. package/dist/runtime/data-access/builder.js.map +1 -1
  457. package/dist/runtime/data-access/details.d.ts.map +1 -1
  458. package/dist/runtime/data-access/details.js +7 -2
  459. package/dist/runtime/data-access/details.js.map +1 -1
  460. package/dist/runtime/data-access/formula.d.ts +11 -3
  461. package/dist/runtime/data-access/formula.d.ts.map +1 -1
  462. package/dist/runtime/data-access/formula.js +82 -19
  463. package/dist/runtime/data-access/formula.js.map +1 -1
  464. package/dist/runtime/data-access/index.d.ts +1 -1
  465. package/dist/runtime/data-access/index.d.ts.map +1 -1
  466. package/dist/runtime/data-access/index.js +1 -1
  467. package/dist/runtime/data-access/index.js.map +1 -1
  468. package/dist/runtime/data-access/link.d.ts +7 -0
  469. package/dist/runtime/data-access/link.d.ts.map +1 -0
  470. package/dist/runtime/data-access/link.js +80 -0
  471. package/dist/runtime/data-access/link.js.map +1 -0
  472. package/dist/runtime/data-access/query.d.ts +48 -3
  473. package/dist/runtime/data-access/query.d.ts.map +1 -1
  474. package/dist/runtime/data-access/query.js +399 -45
  475. package/dist/runtime/data-access/query.js.map +1 -1
  476. package/dist/runtime/data-access/rbac.d.ts.map +1 -1
  477. package/dist/runtime/data-access/rbac.js +134 -16
  478. package/dist/runtime/data-access/rbac.js.map +1 -1
  479. package/dist/runtime/data-access/seqno.d.ts +0 -2
  480. package/dist/runtime/data-access/seqno.d.ts.map +1 -1
  481. package/dist/runtime/data-access/seqno.js +0 -9
  482. package/dist/runtime/data-access/seqno.js.map +1 -1
  483. package/dist/runtime/data-access/sql-executor.d.ts +13 -3
  484. package/dist/runtime/data-access/sql-executor.d.ts.map +1 -1
  485. package/dist/runtime/data-access/sql-executor.js +20 -14
  486. package/dist/runtime/data-access/sql-executor.js.map +1 -1
  487. package/dist/runtime/data-access/sql-gate.d.ts +4 -4
  488. package/dist/runtime/data-access/sql-gate.d.ts.map +1 -1
  489. package/dist/runtime/data-access/sql-gate.js +5 -5
  490. package/dist/runtime/data-access/sql-gate.js.map +1 -1
  491. package/dist/runtime/data-access/tx.d.ts +1 -1
  492. package/dist/runtime/data-access/tx.js +1 -1
  493. package/dist/runtime/data-access/types.d.ts +31 -3
  494. package/dist/runtime/data-access/types.d.ts.map +1 -1
  495. package/dist/runtime/data-access/validate.d.ts.map +1 -1
  496. package/dist/runtime/data-access/validate.js +186 -39
  497. package/dist/runtime/data-access/validate.js.map +1 -1
  498. package/dist/runtime/data-access/workflow.d.ts +146 -0
  499. package/dist/runtime/data-access/workflow.d.ts.map +1 -0
  500. package/dist/runtime/data-access/workflow.js +636 -0
  501. package/dist/runtime/data-access/workflow.js.map +1 -0
  502. package/dist/runtime/engine.d.ts +89 -14
  503. package/dist/runtime/engine.d.ts.map +1 -1
  504. package/dist/runtime/engine.js +123 -26
  505. package/dist/runtime/engine.js.map +1 -1
  506. package/dist/runtime/fieldtypes/loader.d.ts.map +1 -1
  507. package/dist/runtime/fieldtypes/loader.js +84 -2
  508. package/dist/runtime/fieldtypes/loader.js.map +1 -1
  509. package/dist/runtime/git/guardrailSource.d.ts +1 -1
  510. package/dist/runtime/git/index.d.ts +4 -2
  511. package/dist/runtime/git/index.d.ts.map +1 -1
  512. package/dist/runtime/git/index.js +2 -1
  513. package/dist/runtime/git/index.js.map +1 -1
  514. package/dist/runtime/git/layoutSource.d.ts +1 -1
  515. package/dist/runtime/git/loader.d.ts.map +1 -1
  516. package/dist/runtime/git/loader.js +18 -6
  517. package/dist/runtime/git/loader.js.map +1 -1
  518. package/dist/runtime/git/pageCatalog.d.ts +1 -1
  519. package/dist/runtime/git/schemaChange.d.ts +22 -0
  520. package/dist/runtime/git/schemaChange.d.ts.map +1 -1
  521. package/dist/runtime/git/schemaChange.js +28 -2
  522. package/dist/runtime/git/schemaChange.js.map +1 -1
  523. package/dist/runtime/git/schemaSource.d.ts +1 -1
  524. package/dist/runtime/git/sourceFile.d.ts +1 -1
  525. package/dist/runtime/git/sourceFile.js +1 -1
  526. package/dist/runtime/git/sourceTransaction.d.ts +1 -1
  527. package/dist/runtime/git/workflowSource.d.ts +40 -0
  528. package/dist/runtime/git/workflowSource.d.ts.map +1 -0
  529. package/dist/runtime/git/workflowSource.js +45 -0
  530. package/dist/runtime/git/workflowSource.js.map +1 -0
  531. package/dist/runtime/identity/admin.d.ts +18 -0
  532. package/dist/runtime/identity/admin.d.ts.map +1 -0
  533. package/dist/runtime/identity/admin.js +27 -0
  534. package/dist/runtime/identity/admin.js.map +1 -0
  535. package/dist/runtime/identity/directory.d.ts +12 -0
  536. package/dist/runtime/identity/directory.d.ts.map +1 -0
  537. package/dist/runtime/identity/directory.js +22 -0
  538. package/dist/runtime/identity/directory.js.map +1 -0
  539. package/dist/runtime/identity/index.d.ts +11 -0
  540. package/dist/runtime/identity/index.d.ts.map +1 -0
  541. package/dist/runtime/identity/index.js +8 -0
  542. package/dist/runtime/identity/index.js.map +1 -0
  543. package/dist/runtime/identity/resolve.d.ts +10 -0
  544. package/dist/runtime/identity/resolve.d.ts.map +1 -0
  545. package/dist/runtime/identity/resolve.js +16 -0
  546. package/dist/runtime/identity/resolve.js.map +1 -0
  547. package/dist/runtime/identity/sources/function.d.ts +10 -0
  548. package/dist/runtime/identity/sources/function.d.ts.map +1 -0
  549. package/dist/runtime/identity/sources/function.js +9 -0
  550. package/dist/runtime/identity/sources/function.js.map +1 -0
  551. package/dist/runtime/identity/sources/pg.d.ts +42 -0
  552. package/dist/runtime/identity/sources/pg.d.ts.map +1 -0
  553. package/dist/runtime/identity/sources/pg.js +121 -0
  554. package/dist/runtime/identity/sources/pg.js.map +1 -0
  555. package/dist/runtime/identity/store.d.ts +27 -0
  556. package/dist/runtime/identity/store.d.ts.map +1 -0
  557. package/dist/runtime/identity/store.js +139 -0
  558. package/dist/runtime/identity/store.js.map +1 -0
  559. package/dist/runtime/identity/sync.d.ts +34 -0
  560. package/dist/runtime/identity/sync.d.ts.map +1 -0
  561. package/dist/runtime/identity/sync.js +149 -0
  562. package/dist/runtime/identity/sync.js.map +1 -0
  563. package/dist/runtime/metadata/cache.d.ts +0 -2
  564. package/dist/runtime/metadata/cache.d.ts.map +1 -1
  565. package/dist/runtime/metadata/cache.js +0 -11
  566. package/dist/runtime/metadata/cache.js.map +1 -1
  567. package/dist/runtime/metadata/index.d.ts +1 -1
  568. package/dist/runtime/metadata/index.d.ts.map +1 -1
  569. package/dist/runtime/metadata/index.js +1 -1
  570. package/dist/runtime/metadata/index.js.map +1 -1
  571. package/dist/runtime/record-meta/index.d.ts +2 -0
  572. package/dist/runtime/record-meta/index.d.ts.map +1 -0
  573. package/dist/runtime/record-meta/index.js +2 -0
  574. package/dist/runtime/record-meta/index.js.map +1 -0
  575. package/dist/runtime/record-meta/store.d.ts +43 -0
  576. package/dist/runtime/record-meta/store.d.ts.map +1 -0
  577. package/dist/runtime/record-meta/store.js +88 -0
  578. package/dist/runtime/record-meta/store.js.map +1 -0
  579. package/dist/runtime/sql-analyzer/index.d.ts.map +1 -1
  580. package/dist/runtime/sql-analyzer/index.js +59 -0
  581. package/dist/runtime/sql-analyzer/index.js.map +1 -1
  582. package/dist/runtime/tools/executor.d.ts +11 -11
  583. package/dist/runtime/tools/executor.d.ts.map +1 -1
  584. package/dist/runtime/tools/executor.js +6 -6
  585. package/dist/runtime/tools/executor.js.map +1 -1
  586. package/dist/runtime/tools/index.d.ts +2 -0
  587. package/dist/runtime/tools/index.d.ts.map +1 -1
  588. package/dist/runtime/tools/index.js +1 -0
  589. package/dist/runtime/tools/index.js.map +1 -1
  590. package/dist/runtime/tools/policies.d.ts +22 -5
  591. package/dist/runtime/tools/policies.d.ts.map +1 -1
  592. package/dist/runtime/tools/policies.js +42 -12
  593. package/dist/runtime/tools/policies.js.map +1 -1
  594. package/dist/runtime/tunnel/connector.d.ts +1 -1
  595. package/dist/runtime/tunnel/forwarder.js +1 -1
  596. package/dist/runtime/tunnel/framing.d.ts +1 -1
  597. package/dist/runtime/tunnel/server.d.ts +1 -1
  598. package/dist/subsystems/approvals/index.d.ts +4 -4
  599. package/dist/subsystems/approvals/index.d.ts.map +1 -1
  600. package/dist/subsystems/approvals/index.js +5 -6
  601. package/dist/subsystems/approvals/index.js.map +1 -1
  602. package/dist/subsystems/approvals/store.d.ts +1 -3
  603. package/dist/subsystems/approvals/store.d.ts.map +1 -1
  604. package/dist/subsystems/approvals/store.js +1 -16
  605. package/dist/subsystems/approvals/store.js.map +1 -1
  606. package/dist/subsystems/audit/index.d.ts +1 -1
  607. package/dist/subsystems/audit/index.d.ts.map +1 -1
  608. package/dist/subsystems/audit/index.js +2 -3
  609. package/dist/subsystems/audit/index.js.map +1 -1
  610. package/dist/subsystems/audit/store.d.ts +0 -2
  611. package/dist/subsystems/audit/store.d.ts.map +1 -1
  612. package/dist/subsystems/audit/store.js +0 -21
  613. package/dist/subsystems/audit/store.js.map +1 -1
  614. package/dist/subsystems/quota/store.d.ts +9 -0
  615. package/dist/subsystems/quota/store.d.ts.map +1 -1
  616. package/dist/subsystems/quota/store.js +0 -8
  617. package/dist/subsystems/quota/store.js.map +1 -1
  618. package/dist/subsystems/script/backend/isolated-vm.js +1 -1
  619. package/dist/subsystems/script/backend/types.d.ts +2 -2
  620. package/dist/subsystems/script/backend/types.d.ts.map +1 -1
  621. package/dist/subsystems/script/bridge.d.ts +1 -1
  622. package/dist/subsystems/script/bridge.d.ts.map +1 -1
  623. package/dist/subsystems/script/bridge.js +6 -4
  624. package/dist/subsystems/script/bridge.js.map +1 -1
  625. package/dist/subsystems/script/dispatcher.d.ts.map +1 -1
  626. package/dist/subsystems/script/dispatcher.js +3 -1
  627. package/dist/subsystems/script/dispatcher.js.map +1 -1
  628. package/dist/subsystems/workflow/index.d.ts +4 -0
  629. package/dist/subsystems/workflow/index.d.ts.map +1 -0
  630. package/dist/subsystems/workflow/index.js +3 -0
  631. package/dist/subsystems/workflow/index.js.map +1 -0
  632. package/dist/subsystems/workflow/scheduler.d.ts +27 -0
  633. package/dist/subsystems/workflow/scheduler.d.ts.map +1 -0
  634. package/dist/subsystems/workflow/scheduler.js +109 -0
  635. package/dist/subsystems/workflow/scheduler.js.map +1 -0
  636. package/dist/subsystems/workflow/store.d.ts +10 -0
  637. package/dist/subsystems/workflow/store.d.ts.map +1 -0
  638. package/dist/subsystems/workflow/store.js +44 -0
  639. package/dist/subsystems/workflow/store.js.map +1 -0
  640. package/dist/version.d.ts +1 -1
  641. package/dist/version.js +1 -1
  642. package/package.json +7 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/runtime/data-access/workflow.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,18 @@
1
1
  import type { FastifyInstance } from 'fastify';
2
2
  import type { Pool } from 'pg';
3
- import { ObjectRegistry, type CounterStore, type EngineScriptConfig, type EventPublisher, type FieldTypeRegistration, type GuardrailPolicy, type Locale, type ProxyTargetResolver, type ScriptDispatcher, type ToolDefinition } from '../core/index.js';
3
+ import { ObjectRegistry, type CounterStore, type EngineScriptConfig, type EngineWorkflowConfig, type EventPublisher, type FieldTypeRegistration, type GuardrailPolicy, type Locale, type ProxyTargetResolver, type ScriptDispatcher, type ToolDefinition } from '../core/index.js';
4
4
  import type { ObjectDataAccess } from './data-access/index.js';
5
5
  import type { ProjectType } from '../cli/types/index.js';
6
+ import { type ApprovalsQueue } from './tools/index.js';
6
7
  import type { ToolExecutor } from './tools/index.js';
7
8
  import type { ProxyForwarder } from './proxy/index.js';
8
- import { type AuthSource, type Authenticator } from '../adapters/auth/index.js';
9
+ import { type AuthSource, type AuthVerifier, type Authenticator } from '../adapters/auth/index.js';
10
+ import type { IdentitySource, IdentityStore } from '../core/provider/identity/index.js';
11
+ import type { PgIdentitySourceConfig } from './identity/sources/pg.js';
9
12
  import type { IngressConfig } from '../core/provider/event/index.js';
10
13
  import { type EngineMcpConfig, type McpServerHandle } from '../adapters/mcp/index.js';
11
14
  import type { AuditEngine } from '../subsystems/audit/index.js';
15
+ import type { WorkflowTimerScheduler } from '../subsystems/workflow/index.js';
12
16
  /** REST interface configuration */
13
17
  export interface EngineRestConfig {
14
18
  enabled?: boolean;
@@ -34,9 +38,9 @@ export interface EngineRestConfig {
34
38
  /** audit subsystem config (optional; disabled = not loaded = zero overhead) */
35
39
  export interface EngineAuditConfig {
36
40
  enabled?: boolean;
37
- /** retention window placeholder (auto-cleanup is a later milestone) */
41
+ /** retention window placeholder (auto-cleanup is not implemented yet) */
38
42
  retention?: string;
39
- /** M10 diff replay: attach before/after row snapshots to update/delete audit events (default off; table always has the columns) */
43
+ /** audit diff replay: attach before/after row snapshots to update/delete audit events (default off; table always has the columns) */
40
44
  replay?: boolean;
41
45
  /** L1 buffered-sink parameters */
42
46
  batch?: {
@@ -45,7 +49,7 @@ export interface EngineAuditConfig {
45
49
  };
46
50
  }
47
51
  /**
48
- * Engine-level tool mechanism config (M10 open contract, protocol-agnostic —
52
+ * Engine-level tool mechanism config (open contract, protocol-agnostic —
49
53
  * lives at the top level, not under `adapters.*`). Disabled when absent.
50
54
  */
51
55
  export interface EngineToolsConfig {
@@ -56,7 +60,7 @@ export interface EngineToolsConfig {
56
60
  policies?: GuardrailPolicy[] | string;
57
61
  };
58
62
  /**
59
- * approval queue persistence (D1 release-grade). Absent → PG-backed when the
63
+ * approval queue persistence (release-grade). Absent → PG-backed when the
60
64
  * tool executor is created; `backend: 'memory'` opts into the single-process
61
65
  * in-memory queue (tests). No Redis backend is implemented.
62
66
  */
@@ -64,7 +68,7 @@ export interface EngineToolsConfig {
64
68
  backend?: 'pg' | 'memory';
65
69
  };
66
70
  }
67
- /** M11 live event channel config (optional; disabled = not created = zero overhead) */
71
+ /** live event channel config (optional; disabled = not created = zero overhead) */
68
72
  export interface EngineEventsConfig {
69
73
  enabled?: boolean;
70
74
  /** URL prefix for the SSE endpoint; defaults to `/api` */
@@ -111,7 +115,7 @@ export interface ProxyResolverDeps {
111
115
  * `ProxyTargetResolver` instance is also accepted.
112
116
  */
113
117
  export type ProxyTargetResolverBuilder = (deps: ProxyResolverDeps) => ProxyTargetResolver;
114
- /** engine assembly configuration — the single wiring point (see AGENTS.md M5/M7) */
118
+ /** engine assembly configuration — the single wiring point (see AGENTS.md) */
115
119
  /** a host-level background service returned by a service's `start`. */
116
120
  export interface EngineServiceHandle {
117
121
  /** tear the service down (abort streams, clear timers); called on engine close. */
@@ -122,9 +126,55 @@ export interface EngineService {
122
126
  name: string;
123
127
  start(engine: WeaveKitEngine): Promise<EngineServiceHandle> | EngineServiceHandle;
124
128
  }
129
+ /** identity directory wiring (see `core/provider/identity`) */
130
+ export interface EngineIdentityConfig {
131
+ /**
132
+ * provisioning source: an `IdentitySource` instance (has `pull`) or a
133
+ * declarative `PgIdentitySourceConfig`. Absent → greenfield (the engine owns
134
+ * `weavekit_user`/`weavekit_department` directly).
135
+ */
136
+ source?: IdentitySource | PgIdentitySourceConfig;
137
+ /** replaceable local directory store; defaults to PG over `weavekit_*` */
138
+ store?: IdentityStore;
139
+ /**
140
+ * credential verifier (OIDC/JWT/SAML); when set the engine authenticates via
141
+ * `verifier → directory → subject` and `auth.source` may be omitted.
142
+ */
143
+ verifier?: AuthVerifier;
144
+ /** reject subjects with no local identity for scoped access (default false) */
145
+ required?: boolean;
146
+ sync?: {
147
+ /** run the source sync on engine start (fail-closed) */
148
+ onStart?: boolean;
149
+ /** soft-disable local rows absent from the source snapshot */
150
+ deactivateMissing?: boolean;
151
+ };
152
+ }
125
153
  export interface EngineConfig {
126
154
  /** postgres connection string; defaults to process.env.DATABASE_URL */
127
155
  databaseUrl?: string;
156
+ /**
157
+ * connection string used only for schema migration/DDL by the CLI (`weave
158
+ * migrate`/`weave dev`). Defaults to `databaseUrl`. **Same database, a
159
+ * separate account** — a PostgreSQL role with DDL rights (usually the owner),
160
+ * so the runtime account can be least-privileged (no DDL/DROP/TRUNCATE).
161
+ * Pointing it at a *different* database is a misconfiguration (migrations
162
+ * would land where the runtime cannot see them). The engine itself never runs
163
+ * DDL at runtime.
164
+ */
165
+ migrationDatabaseUrl?: string;
166
+ /**
167
+ * runtime database account guard. The engine only ever runs DML, so its
168
+ * account should be least-privileged (no schema `CREATE`); DDL is an explicit
169
+ * `weave migrate` using `migrationDatabaseUrl`. When `requireRestrictedAccount`
170
+ * is true (the default) the engine **fails to start** if its account can
171
+ * create objects in the current schema. Set false for a single-account setup
172
+ * (`weave dev` does this by default), or override with the
173
+ * `WEAVEKIT_REQUIRE_RESTRICTED_ACCOUNT` env var.
174
+ */
175
+ runtime?: {
176
+ requireRestrictedAccount?: boolean;
177
+ };
128
178
  /** runtime message locale; resolution: config → env WEAVEKIT_LOCALE → 'en' */
129
179
  locale?: Locale;
130
180
  /**
@@ -163,8 +213,8 @@ export interface EngineConfig {
163
213
  email: string;
164
214
  };
165
215
  };
166
- /** authentication source (static key map or custom resolver); required (engine fails fast when absent) */
167
- auth: {
216
+ /** authentication source (static key map or custom resolver); required unless `identity.verifier` is set */
217
+ auth?: {
168
218
  source: AuthSource;
169
219
  };
170
220
  /** protocol adapters (REST/MCP/events), closable via config */
@@ -173,12 +223,13 @@ export interface EngineConfig {
173
223
  mcp?: EngineMcpConfig;
174
224
  events?: EngineEventsConfig;
175
225
  };
176
- /** engine-level tool mechanism (M10): custom tools + guardrail policies; disabled when absent */
226
+ /** engine-level tool mechanism: custom tools + guardrail policies; disabled when absent */
177
227
  tools?: EngineToolsConfig;
178
- /** optional subsystems, dynamically loaded when enabled (audit/script implemented; others error out) */
228
+ /** optional subsystems, dynamically loaded when enabled (audit/script; workflow is declaration-driven; unknown keys error out) */
179
229
  subsystems?: {
180
230
  audit?: EngineAuditConfig;
181
231
  script?: EngineScriptConfig;
232
+ workflow?: EngineWorkflowConfig;
182
233
  };
183
234
  /**
184
235
  * durable fixed-period counters / usage budgets (optional; disabled when
@@ -216,6 +267,13 @@ export interface EngineConfig {
216
267
  dir?: string;
217
268
  entries?: FieldTypeRegistration[];
218
269
  };
270
+ /**
271
+ * engine-owned identity directory (see `core/provider/identity`). `source`
272
+ * imports an external user/department directory (a `pg` descriptor or an
273
+ * `IdentitySource`); `weave sync:identity` provisions it into `weavekit_user`
274
+ * / `weavekit_department` before the engine serves scoped access.
275
+ */
276
+ identity?: EngineIdentityConfig;
219
277
  /**
220
278
  * host-level background services (e.g. an instance-liveness monitor). Started
221
279
  * after the engine is assembled and stopped in `close()`, so both `weave dev`
@@ -233,12 +291,12 @@ export interface WeaveKitEngine {
233
291
  authenticator: Authenticator;
234
292
  /** MCP adapter handle (present unless adapters.mcp.enabled is false) */
235
293
  mcp?: McpServerHandle;
236
- /** M10 tool mechanism (present when config.tools.toolsDir is set): executor + approval queue */
294
+ /** tool mechanism (present when config.tools.toolsDir is set): executor + approval queue */
237
295
  tools?: {
238
296
  defs: ToolDefinition[];
239
297
  executor: ToolExecutor;
240
298
  };
241
- /** M12 live event publisher (present when adapters.events.enabled): emits committed writes / audit / schema changes */
299
+ /** live event publisher (present when adapters.events.enabled): emits committed writes / audit / schema changes */
242
300
  events?: EventPublisher;
243
301
  /** generic proxy handle (present when config.proxy.resolver is set): forwarder + resolver */
244
302
  proxy?: {
@@ -251,9 +309,26 @@ export interface WeaveKitEngine {
251
309
  quotas?: CounterStore;
252
310
  /** script subsystem (present when enabled); workers are terminated on close */
253
311
  script?: ScriptDispatcher;
312
+ /** approval queue (present when config.tools is set): shared by tools and workflow transitions */
313
+ approvals?: ApprovalsQueue;
314
+ /** workflow timer scheduler (present when `subsystems.workflow.enabled`): fires `onTimeout` */
315
+ workflow?: WorkflowTimerScheduler;
254
316
  close(): Promise<void>;
255
317
  }
256
318
  export declare function resolveLocale(configLocale: Locale | undefined): Locale;
319
+ /**
320
+ * Whether the runtime database account must be least-privileged (no schema
321
+ * `CREATE`). Resolution: explicit `config.runtime.requireRestrictedAccount` →
322
+ * env `WEAVEKIT_REQUIRE_RESTRICTED_ACCOUNT` → default `true`.
323
+ */
324
+ export declare function resolveRequireRestrictedAccount(config: EngineConfig): boolean;
325
+ /**
326
+ * Fail-closed guard: refuse to start when the runtime account can create
327
+ * objects in the current schema. WeaveKit runs DDL only via `weave migrate`
328
+ * (with `migrationDatabaseUrl`); a runtime account with `CREATE` defeats the
329
+ * least-privilege model.
330
+ */
331
+ export declare function assertRestrictedRuntimeAccount(pool: Pool, config: EngineConfig, locale: Locale): Promise<void>;
257
332
  /**
258
333
  * Assemble a running engine from an already-built registry (no schema loading).
259
334
  * This is the low-level assembly used by `createEngine` and by tests/dev that
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,11 @@ import { createDataAccess, withRbac } from './data-access/index.js';
6
6
  import { createToolExecutor, loadToolsDir } from './tools/index.js';
7
7
  import { createApprovals } from './tools/index.js';
8
8
  import { resolvePolicies } from './tools/policies.js';
9
- import { buildAuthenticator } from '../adapters/auth/index.js';
10
- import { registerAuditRoutes, registerApprovalsRoutes, registerMetadataRoutes, registerObjectRoutes, registerPagesRoutes, registerPermissionsRoutes, registerProxyRoutes, registerIngressRoutes, registerSchemaRoutes, registerGuardrailsRoutes, registerIdentitiesRoutes, setErrorHandlers, } from '../adapters/rest/index.js';
9
+ import { buildAuthenticator, createDirectoryAuthenticator, enforceSyncedIdentity } from '../adapters/auth/index.js';
10
+ import { PgIdentityDirectory, PgIdentityStore, IdentityAdmin, resolveIdentitySource, runIdentitySync } from './identity/index.js';
11
+ import { registerAuditRoutes, registerApprovalsRoutes, registerMetadataRoutes, registerObjectRoutes, registerPagesRoutes, registerPermissionsRoutes, registerProxyRoutes, registerIngressRoutes, registerSchemaRoutes, registerGuardrailsRoutes, registerIdentitiesRoutes, registerWorkflowRoutes, registerWorkflowSourceRoutes, setErrorHandlers, } from '../adapters/rest/index.js';
11
12
  import { registerScriptRoutes } from '../adapters/rest/scripts.js';
13
+ import { registerIdentityAdminRoutes } from '../adapters/rest/identityAdmin.js';
12
14
  import { registerEventsRoutes } from '../adapters/events/index.js';
13
15
  import { registerOpsRoutes } from '../adapters/ops/index.js';
14
16
  import { registerMcp } from '../adapters/mcp/index.js';
@@ -19,6 +21,35 @@ export function resolveLocale(configLocale) {
19
21
  const supported = new Set(SUPPORTED_LOCALES);
20
22
  return supported.has(resolved) ? resolved : DEFAULT_LOCALE;
21
23
  }
24
+ /**
25
+ * Whether the runtime database account must be least-privileged (no schema
26
+ * `CREATE`). Resolution: explicit `config.runtime.requireRestrictedAccount` →
27
+ * env `WEAVEKIT_REQUIRE_RESTRICTED_ACCOUNT` → default `true`.
28
+ */
29
+ export function resolveRequireRestrictedAccount(config) {
30
+ const configured = config.runtime?.requireRestrictedAccount;
31
+ if (configured !== undefined)
32
+ return configured;
33
+ const env = process.env.WEAVEKIT_REQUIRE_RESTRICTED_ACCOUNT;
34
+ if (env !== undefined)
35
+ return env !== 'false' && env !== '0';
36
+ return true;
37
+ }
38
+ /**
39
+ * Fail-closed guard: refuse to start when the runtime account can create
40
+ * objects in the current schema. WeaveKit runs DDL only via `weave migrate`
41
+ * (with `migrationDatabaseUrl`); a runtime account with `CREATE` defeats the
42
+ * least-privilege model.
43
+ */
44
+ export async function assertRestrictedRuntimeAccount(pool, config, locale) {
45
+ if (!resolveRequireRestrictedAccount(config))
46
+ return;
47
+ const { rows } = await pool.query(`SELECT current_user AS user, has_schema_privilege(current_user, current_schema(), 'CREATE') AS can_create`);
48
+ const row = rows[0];
49
+ if (row?.can_create === true) {
50
+ throw new SchemaError('engine.runtimeAccount.ddlAllowed', { user: row.user }, locale);
51
+ }
52
+ }
22
53
  /**
23
54
  * Assemble a running engine from an already-built registry (no schema loading).
24
55
  * This is the low-level assembly used by `createEngine` and by tests/dev that
@@ -30,10 +61,17 @@ export async function buildEngineFromRegistry(registry, config) {
30
61
  if (databaseUrl === undefined) {
31
62
  throw new SchemaError('engine.databaseUrl.missing', {}, locale);
32
63
  }
33
- if (config.auth === undefined || config.auth.source === undefined) {
64
+ if (config.auth?.source === undefined && config.identity?.verifier === undefined) {
34
65
  throw new SchemaError('auth.notConfigured', {}, locale);
35
66
  }
36
67
  const pool = createPool(databaseUrl);
68
+ try {
69
+ await assertRestrictedRuntimeAccount(pool, config, locale);
70
+ }
71
+ catch (error) {
72
+ await pool.end();
73
+ throw error;
74
+ }
37
75
  // optional durable counter store (quotas/budgets); absent = zero overhead
38
76
  let quotas;
39
77
  if (config.quotas !== undefined) {
@@ -42,7 +80,7 @@ export async function buildEngineFromRegistry(registry, config) {
42
80
  }
43
81
  // optional subsystems — dynamically loaded when enabled (disabled = not imported = zero overhead)
44
82
  const subsystems = config.subsystems ?? {};
45
- const unimplemented = Object.keys(subsystems).filter((k) => k !== 'audit' && k !== 'script');
83
+ const unimplemented = Object.keys(subsystems).filter((k) => k !== 'audit' && k !== 'script' && k !== 'workflow');
46
84
  if (unimplemented.length > 0) {
47
85
  throw new Error(`subsystem not implemented: ${unimplemented.join(', ')}`);
48
86
  }
@@ -55,7 +93,7 @@ export async function buildEngineFromRegistry(registry, config) {
55
93
  bufferedSink = createBufferedAuditSink(audit, subsystems.audit.batch);
56
94
  auditSink = bufferedSink;
57
95
  }
58
- // M12 live channel: the event bus is created only when adapters.events is
96
+ // live channel: the event bus is created only when adapters.events is
59
97
  // enabled (absent = not imported = zero overhead). Its publisher is injected
60
98
  // into data-access (record.* on committed writes) and the audit sink
61
99
  // (audit.event dual-emit). schema.changed is exposed via `engine.events`.
@@ -85,12 +123,47 @@ export async function buildEngineFromRegistry(registry, config) {
85
123
  };
86
124
  }
87
125
  }
126
+ // Guardrail policies + approval queue are shared by the tool open-contract and
127
+ // by workflow transitions (a transition policy self-filters on `ctx.action`,
128
+ // e.g. it must check `ctx.action.startsWith('workflow.transition.')`).
129
+ let policies = [];
130
+ let approvals;
131
+ if (config.tools !== undefined) {
132
+ policies = await resolvePolicies(config.tools.guardrails?.policies, config.schemaDir ?? '.');
133
+ // Create the queue only when it can be used (tools path, explicit config, a
134
+ // transition policy, or a `requiresApproval` transition) — avoid an eager
135
+ // PG table for a config that has none of them.
136
+ const needsApprovals = config.tools.approvals !== undefined ||
137
+ config.tools.toolsDir !== undefined ||
138
+ policies.length > 0;
139
+ if (needsApprovals) {
140
+ // persisted approvals by default (PG — the engine's mandated DB); opt out
141
+ // with `approvals.backend: 'memory'`. The approval queue must be durable /
142
+ // multi-instance consistent, so it is never left single-process in-memory
143
+ // for a release engine.
144
+ if (config.tools.approvals?.backend !== 'memory') {
145
+ const { createApprovalsBackend } = await import('../subsystems/approvals/index.js');
146
+ const backend = await createApprovalsBackend(pool);
147
+ approvals = createApprovals({ audit: auditSink, backend });
148
+ }
149
+ else {
150
+ approvals = createApprovals({ audit: auditSink });
151
+ }
152
+ }
153
+ }
88
154
  // The script subsystem needs a data-access to serve `this.db.objects` RPCs,
89
155
  // while the engine's exposed data-access needs the script dispatcher to fire
90
156
  // hooks. The cycle is resolved by giving the bridge its own RBAC-decorated
91
157
  // instance over the same base and adding the dispatcher to the exposed one.
158
+ // Same shape for the workflow timer scheduler: a proxy lets writes re-arm
159
+ // timers before the scheduler is built (a no-op until it is assigned).
160
+ let workflowScheduler;
161
+ const workflowTimers = {
162
+ sync: (object, id, state) => workflowScheduler?.sync(object, id, state) ?? Promise.resolve(),
163
+ cancel: (object, id) => workflowScheduler?.cancel(object, id) ?? Promise.resolve(),
164
+ };
92
165
  const replay = subsystems.audit?.replay === true;
93
- const baseDataAccess = createDataAccess({ audit: auditSink, replay, events: eventPublisher });
166
+ const baseDataAccess = createDataAccess({ audit: auditSink, replay, events: eventPublisher, policies, approvals, workflowTimers });
94
167
  let script;
95
168
  let dataAccess;
96
169
  if (subsystems.script?.enabled) {
@@ -105,13 +178,26 @@ export async function buildEngineFromRegistry(registry, config) {
105
178
  config: subsystems.script,
106
179
  locale,
107
180
  });
108
- dataAccess = withRbac(createDataAccess({ audit: auditSink, script, replay, events: eventPublisher }), { audit: auditSink });
181
+ dataAccess = withRbac(createDataAccess({ audit: auditSink, script, replay, events: eventPublisher, policies, approvals, workflowTimers }), { audit: auditSink });
109
182
  }
110
183
  else {
111
184
  dataAccess = withRbac(baseDataAccess, { audit: auditSink });
112
185
  }
113
- const authenticator = buildAuthenticator(config.auth);
114
- // M10 tool mechanism: load custom tools when config.tools.toolsDir is set
186
+ const identityCfg = config.identity;
187
+ // engine-owned identity directory: handles only (no I/O) unless onStart sync
188
+ const identityStore = identityCfg?.store ?? new PgIdentityStore(pool);
189
+ const identityDirectory = new PgIdentityDirectory(identityStore);
190
+ if (identityCfg?.sync?.onStart === true && identityCfg.source !== undefined) {
191
+ const source = resolveIdentitySource(identityCfg.source, pool);
192
+ await runIdentitySync(source, identityStore, { deactivateMissing: identityCfg.sync.deactivateMissing });
193
+ }
194
+ let authenticator = identityCfg?.verifier !== undefined
195
+ ? createDirectoryAuthenticator({ verifier: identityCfg.verifier, directory: identityDirectory, locale })
196
+ : buildAuthenticator(config.auth ?? { source: {} });
197
+ if (identityCfg?.required === true) {
198
+ authenticator = enforceSyncedIdentity(authenticator, identityDirectory, locale);
199
+ }
200
+ // tool mechanism: load custom tools when config.tools.toolsDir is set
115
201
  // (absent = not loaded = zero overhead). The executor wraps the RBAC-decorated
116
202
  // data-access; rate limiting stays at the adapter layer (per-agentKey), the
117
203
  // executor's `guardrails` handle is a no-op self-check for tool authors.
@@ -119,17 +205,6 @@ export async function buildEngineFromRegistry(registry, config) {
119
205
  if (config.tools?.toolsDir !== undefined) {
120
206
  const toolsDir = join(config.schemaDir ?? '.', config.tools.toolsDir);
121
207
  const loaded = await loadToolsDir(toolsDir, { locale });
122
- const policies = await resolvePolicies(config.tools.guardrails?.policies, config.schemaDir ?? '.');
123
- // D1: persisted approvals by default (PG — the engine's mandated DB); opt out
124
- // with `approvals.backend: 'memory'`. The approval queue must be durable /
125
- // multi-instance consistent, so it is never left single-process in-memory
126
- // for a release engine.
127
- let approvals;
128
- if (config.tools.approvals?.backend !== 'memory') {
129
- const { createApprovalsBackend } = await import('../subsystems/approvals/index.js');
130
- const backend = await createApprovalsBackend(pool);
131
- approvals = createApprovals({ audit: auditSink, backend });
132
- }
133
208
  tools = {
134
209
  defs: loaded.map((l) => l.definition),
135
210
  executor: createToolExecutor({
@@ -144,6 +219,18 @@ export async function buildEngineFromRegistry(registry, config) {
144
219
  }),
145
220
  };
146
221
  }
222
+ // workflow `onTimeout` scheduler — load only when the subsystem is enabled
223
+ if (subsystems.workflow?.enabled) {
224
+ const { createWorkflowScheduler } = await import('../subsystems/workflow/index.js');
225
+ workflowScheduler = await createWorkflowScheduler({
226
+ pool,
227
+ registry,
228
+ dataAccess,
229
+ script,
230
+ config: subsystems.workflow,
231
+ locale,
232
+ });
233
+ }
147
234
  const rest = config.adapters?.rest;
148
235
  const mcpCfg = config.adapters?.mcp;
149
236
  let proxyHandle;
@@ -198,7 +285,7 @@ export async function buildEngineFromRegistry(registry, config) {
198
285
  projectDir: config.schemaDir,
199
286
  commitIdentity: config.commit?.identity,
200
287
  }, restOptions);
201
- // M10c guardrail policy source (list/read/write, admin) — only when the
288
+ // guardrail policy source (list/read/write, admin) — only when the
202
289
  // `tools.guardrails.policies` config is a directory path.
203
290
  const guardrailsPolicies = config.tools?.guardrails?.policies;
204
291
  registerGuardrailsRoutes(app, {
@@ -208,20 +295,26 @@ export async function buildEngineFromRegistry(registry, config) {
208
295
  policiesDir: typeof guardrailsPolicies === 'string' ? guardrailsPolicies : undefined,
209
296
  commitIdentity: config.commit?.identity,
210
297
  }, restOptions);
211
- // M11 identity directory (admin read) — only the static `mcp.identities` map
298
+ // identity directory (admin read) — only the static `mcp.identities` map
212
299
  // has an introspectable surface; a function resolver returns `[]`.
213
300
  registerIdentitiesRoutes(app, {
214
301
  authenticator,
215
302
  locale,
216
303
  identities: typeof mcpCfg?.identities === 'object' ? mcpCfg.identities : undefined,
217
304
  }, restOptions);
218
- // M11 frontend metadata contract (framework-agnostic, all frontend adapters consume these)
305
+ // greenfield identity administration (admin-gated): list/create/enable users
306
+ registerIdentityAdminRoutes(app, { authenticator, locale, admin: new IdentityAdmin(identityStore) }, restOptions);
307
+ // frontend metadata contract (framework-agnostic, all frontend adapters consume these)
219
308
  registerMetadataRoutes(app, { registry, pool, dataAccess, authenticator, locale }, restOptions);
220
309
  registerPermissionsRoutes(app, { registry, pool, dataAccess, authenticator, locale }, restOptions);
221
310
  registerAuditRoutes(app, { registry, pool, dataAccess, authenticator, locale, audit }, restOptions);
222
- // D1 approval queue routes (depth-1 read + local write): present when the
311
+ // approval queue routes (depth-1 read + local write): present when the
223
312
  // tool executor is enabled (toolsDir set) — `tools.executor.approvals`.
224
- registerApprovalsRoutes(app, { registry, pool, dataAccess, authenticator, locale, approvals: tools?.executor.approvals }, restOptions);
313
+ registerApprovalsRoutes(app, { registry, pool, dataAccess, authenticator, locale, approvals }, restOptions);
314
+ // workflow transitions — available for any object declaring objects/<name>/workflow.json
315
+ registerWorkflowRoutes(app, { registry, pool, dataAccess, authenticator, locale }, restOptions);
316
+ // workflow definition source (admin GET/PUT spec) — only when a project dir is configured
317
+ registerWorkflowSourceRoutes(app, { registry, authenticator, locale, projectDir: config.schemaDir, commitIdentity: config.commit?.identity }, restOptions);
225
318
  // Generic outbound proxy (P-4). Wired only when `config.proxy.resolver` is
226
319
  // provided (absent = createProxyForwarder is not imported = zero overhead).
227
320
  // The resolver carries the app semantics incl. which connection a subject
@@ -263,7 +356,7 @@ export async function buildEngineFromRegistry(registry, config) {
263
356
  }, config.ingress);
264
357
  }
265
358
  }
266
- // M12 live channel: SSE endpoint (Bearer auth, subject-filtered, replay)
359
+ // live channel: SSE endpoint (Bearer auth, subject-filtered, replay)
267
360
  if (eventBus !== undefined && eventPublisher !== undefined) {
268
361
  registerEventsRoutes(app, {
269
362
  registry,
@@ -294,6 +387,7 @@ export async function buildEngineFromRegistry(registry, config) {
294
387
  audit: auditSink,
295
388
  alerts: createAlerts(mcpCfg?.guardrails?.alerts),
296
389
  tools,
390
+ directory: identityDirectory,
297
391
  corsOrigin: config.adapters?.rest?.cors?.origin,
298
392
  });
299
393
  }
@@ -314,6 +408,8 @@ export async function buildEngineFromRegistry(registry, config) {
314
408
  audit,
315
409
  quotas,
316
410
  script,
411
+ approvals,
412
+ workflow: workflowScheduler,
317
413
  async close() {
318
414
  const warn = (phase, error) => {
319
415
  console.error(`weavekit: ${phase} close error: ${error instanceof Error ? error.message : String(error)}`);
@@ -345,6 +441,7 @@ export async function buildEngineFromRegistry(registry, config) {
345
441
  warn('server', error);
346
442
  }
347
443
  await mcp?.close().catch((error) => warn('mcp', error));
444
+ await workflowScheduler?.close().catch((error) => warn('workflow', error));
348
445
  await script?.close().catch((error) => warn('script', error));
349
446
  await bufferedSink?.flush().catch((error) => warn('audit flush', error));
350
447
  await audit?.close().catch((error) => warn('audit', error));