@owlmeans/server-planning 0.1.18-rc.3 → 0.1.18-rc.30

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 (431) hide show
  1. package/README.md +92 -19
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/server-planning/SKILL.md +242 -31
  4. package/build/actions/apply-schema-request.d.ts +8 -0
  5. package/build/actions/apply-schema-request.d.ts.map +1 -0
  6. package/build/actions/apply-schema-request.js +33 -0
  7. package/build/actions/apply-schema-request.js.map +1 -0
  8. package/build/actions/commit.d.ts +3 -3
  9. package/build/actions/commit.d.ts.map +1 -1
  10. package/build/actions/commit.js +5 -4
  11. package/build/actions/commit.js.map +1 -1
  12. package/build/actions/define-schemas.d.ts +13 -0
  13. package/build/actions/define-schemas.d.ts.map +1 -0
  14. package/build/actions/define-schemas.js +28 -0
  15. package/build/actions/define-schemas.js.map +1 -0
  16. package/build/actions/execute.d.ts +11 -10
  17. package/build/actions/execute.d.ts.map +1 -1
  18. package/build/actions/execute.js +17 -27
  19. package/build/actions/execute.js.map +1 -1
  20. package/build/actions/execution/types.d.ts +34 -0
  21. package/build/actions/execution/types.d.ts.map +1 -0
  22. package/build/actions/execution/types.js +2 -0
  23. package/build/actions/execution/types.js.map +1 -0
  24. package/build/actions/execution.d.ts +4 -0
  25. package/build/actions/execution.d.ts.map +1 -0
  26. package/build/actions/execution.js +88 -0
  27. package/build/actions/execution.js.map +1 -0
  28. package/build/actions/get-card.d.ts +6 -0
  29. package/build/actions/get-card.d.ts.map +1 -0
  30. package/build/actions/get-card.js +9 -0
  31. package/build/actions/get-card.js.map +1 -0
  32. package/build/actions/get-specification.d.ts +6 -0
  33. package/build/actions/get-specification.d.ts.map +1 -0
  34. package/build/actions/get-specification.js +9 -0
  35. package/build/actions/get-specification.js.map +1 -0
  36. package/build/actions/index.d.ts +12 -3
  37. package/build/actions/index.d.ts.map +1 -1
  38. package/build/actions/index.js +11 -3
  39. package/build/actions/index.js.map +1 -1
  40. package/build/actions/links.d.ts +3 -3
  41. package/build/actions/links.d.ts.map +1 -1
  42. package/build/actions/links.js +6 -5
  43. package/build/actions/links.js.map +1 -1
  44. package/build/actions/list-card-specifications.d.ts +6 -0
  45. package/build/actions/list-card-specifications.d.ts.map +1 -0
  46. package/build/actions/list-card-specifications.js +11 -0
  47. package/build/actions/list-card-specifications.js.map +1 -0
  48. package/build/actions/list-card-transitions.d.ts +6 -0
  49. package/build/actions/list-card-transitions.d.ts.map +1 -0
  50. package/build/actions/list-card-transitions.js +11 -0
  51. package/build/actions/list-card-transitions.js.map +1 -0
  52. package/build/actions/list-cards.d.ts +6 -0
  53. package/build/actions/list-cards.d.ts.map +1 -0
  54. package/build/actions/list-cards.js +10 -0
  55. package/build/actions/list-cards.js.map +1 -0
  56. package/build/actions/list-schemas.d.ts +13 -0
  57. package/build/actions/list-schemas.d.ts.map +1 -0
  58. package/build/actions/list-schemas.js +20 -0
  59. package/build/actions/list-schemas.js.map +1 -0
  60. package/build/actions/list-specification-revisions.d.ts +6 -0
  61. package/build/actions/list-specification-revisions.d.ts.map +1 -0
  62. package/build/actions/list-specification-revisions.js +10 -0
  63. package/build/actions/list-specification-revisions.js.map +1 -0
  64. package/build/actions/resources.d.ts +5 -0
  65. package/build/actions/resources.d.ts.map +1 -0
  66. package/build/actions/resources.js +111 -0
  67. package/build/actions/resources.js.map +1 -0
  68. package/build/actions/summarize-cards.d.ts +6 -0
  69. package/build/actions/summarize-cards.d.ts.map +1 -0
  70. package/build/actions/summarize-cards.js +11 -0
  71. package/build/actions/summarize-cards.js.map +1 -0
  72. package/build/actions/transitions.d.ts +3 -3
  73. package/build/actions/transitions.d.ts.map +1 -1
  74. package/build/actions/transitions.js +4 -3
  75. package/build/actions/transitions.js.map +1 -1
  76. package/build/actions/types.d.ts +6 -0
  77. package/build/actions/types.d.ts.map +1 -0
  78. package/build/actions/types.js +2 -0
  79. package/build/actions/types.js.map +1 -0
  80. package/build/actions/watch.d.ts +2 -2
  81. package/build/actions/watch.d.ts.map +1 -1
  82. package/build/actions/watch.js +8 -6
  83. package/build/actions/watch.js.map +1 -1
  84. package/build/conformance/assert/types.d.ts +19 -0
  85. package/build/conformance/assert/types.d.ts.map +1 -0
  86. package/build/conformance/assert/types.js +2 -0
  87. package/build/conformance/assert/types.js.map +1 -0
  88. package/build/conformance/assert.d.ts +15 -0
  89. package/build/conformance/assert.d.ts.map +1 -0
  90. package/build/conformance/assert.js +52 -0
  91. package/build/conformance/assert.js.map +1 -0
  92. package/build/conformance/cases.d.ts +7 -0
  93. package/build/conformance/cases.d.ts.map +1 -0
  94. package/build/conformance/cases.js +467 -0
  95. package/build/conformance/cases.js.map +1 -0
  96. package/build/conformance/clock.d.ts +6 -0
  97. package/build/conformance/clock.d.ts.map +1 -0
  98. package/build/conformance/clock.js +12 -0
  99. package/build/conformance/clock.js.map +1 -0
  100. package/build/conformance/consts.d.ts +25 -0
  101. package/build/conformance/consts.d.ts.map +1 -0
  102. package/build/conformance/consts.js +144 -0
  103. package/build/conformance/consts.js.map +1 -0
  104. package/build/conformance/errors.d.ts +5 -0
  105. package/build/conformance/errors.d.ts.map +1 -0
  106. package/build/conformance/errors.js +8 -0
  107. package/build/conformance/errors.js.map +1 -0
  108. package/build/conformance/fixtures/types.d.ts +13 -0
  109. package/build/conformance/fixtures/types.d.ts.map +1 -0
  110. package/build/conformance/fixtures/types.js +2 -0
  111. package/build/conformance/fixtures/types.js.map +1 -0
  112. package/build/conformance/fixtures.d.ts +14 -0
  113. package/build/conformance/fixtures.d.ts.map +1 -0
  114. package/build/conformance/fixtures.js +26 -0
  115. package/build/conformance/fixtures.js.map +1 -0
  116. package/build/conformance/index.d.ts +15 -0
  117. package/build/conformance/index.d.ts.map +1 -0
  118. package/build/conformance/index.js +12 -0
  119. package/build/conformance/index.js.map +1 -0
  120. package/build/conformance/resources.d.ts +4 -0
  121. package/build/conformance/resources.d.ts.map +1 -0
  122. package/build/conformance/resources.js +214 -0
  123. package/build/conformance/resources.js.map +1 -0
  124. package/build/conformance/types.d.ts +18 -0
  125. package/build/conformance/types.d.ts.map +1 -0
  126. package/build/conformance/types.js +2 -0
  127. package/build/conformance/types.js.map +1 -0
  128. package/build/consts.d.ts +5 -0
  129. package/build/consts.d.ts.map +1 -1
  130. package/build/consts.js +5 -0
  131. package/build/consts.js.map +1 -1
  132. package/build/definitions.d.ts +17 -0
  133. package/build/definitions.d.ts.map +1 -0
  134. package/build/definitions.js +223 -0
  135. package/build/definitions.js.map +1 -0
  136. package/build/executor/changes/types.d.ts +36 -0
  137. package/build/executor/changes/types.d.ts.map +1 -0
  138. package/build/executor/changes/types.js +2 -0
  139. package/build/executor/changes/types.js.map +1 -0
  140. package/build/executor/changes.d.ts +3 -30
  141. package/build/executor/changes.d.ts.map +1 -1
  142. package/build/executor/changes.js +42 -51
  143. package/build/executor/changes.js.map +1 -1
  144. package/build/executor/code/types.d.ts +17 -0
  145. package/build/executor/code/types.d.ts.map +1 -0
  146. package/build/executor/code/types.js +2 -0
  147. package/build/executor/code/types.js.map +1 -0
  148. package/build/executor/code.d.ts +3 -14
  149. package/build/executor/code.d.ts.map +1 -1
  150. package/build/executor/code.js +50 -54
  151. package/build/executor/code.js.map +1 -1
  152. package/build/executor/consts.local.d.ts +5 -0
  153. package/build/executor/consts.local.d.ts.map +1 -0
  154. package/build/executor/consts.local.js +6 -0
  155. package/build/executor/consts.local.js.map +1 -0
  156. package/build/executor/creator/types.d.ts +33 -0
  157. package/build/executor/creator/types.d.ts.map +1 -0
  158. package/build/executor/creator/types.js +2 -0
  159. package/build/executor/creator/types.js.map +1 -0
  160. package/build/executor/creator.d.ts +11 -0
  161. package/build/executor/creator.d.ts.map +1 -0
  162. package/build/executor/creator.js +32 -0
  163. package/build/executor/creator.js.map +1 -0
  164. package/build/executor/resolve/types.d.ts +30 -0
  165. package/build/executor/resolve/types.d.ts.map +1 -0
  166. package/build/executor/resolve/types.js +2 -0
  167. package/build/executor/resolve/types.js.map +1 -0
  168. package/build/executor/resolve.d.ts +5 -34
  169. package/build/executor/resolve.d.ts.map +1 -1
  170. package/build/executor/resolve.js +169 -110
  171. package/build/executor/resolve.js.map +1 -1
  172. package/build/executor/types.d.ts +23 -0
  173. package/build/executor/types.d.ts.map +1 -0
  174. package/build/executor/types.js +2 -0
  175. package/build/executor/types.js.map +1 -0
  176. package/build/executor/validate.d.ts +6 -5
  177. package/build/executor/validate.d.ts.map +1 -1
  178. package/build/executor/validate.js +38 -27
  179. package/build/executor/validate.js.map +1 -1
  180. package/build/executor.d.ts +11 -7
  181. package/build/executor.d.ts.map +1 -1
  182. package/build/executor.js +27 -21
  183. package/build/executor.js.map +1 -1
  184. package/build/facade.d.ts +20 -2
  185. package/build/facade.d.ts.map +1 -1
  186. package/build/facade.js +144 -22
  187. package/build/facade.js.map +1 -1
  188. package/build/helper.d.ts +5 -9
  189. package/build/helper.d.ts.map +1 -1
  190. package/build/helper.js +12 -11
  191. package/build/helper.js.map +1 -1
  192. package/build/hierarchy/types.d.ts +10 -0
  193. package/build/hierarchy/types.d.ts.map +1 -0
  194. package/build/hierarchy/types.js +2 -0
  195. package/build/hierarchy/types.js.map +1 -0
  196. package/build/hierarchy.d.ts +5 -0
  197. package/build/hierarchy.d.ts.map +1 -0
  198. package/build/hierarchy.js +113 -0
  199. package/build/hierarchy.js.map +1 -0
  200. package/build/index.d.ts +1 -0
  201. package/build/index.d.ts.map +1 -1
  202. package/build/index.js +1 -0
  203. package/build/index.js.map +1 -1
  204. package/build/invariants/types.d.ts +6 -0
  205. package/build/invariants/types.d.ts.map +1 -0
  206. package/build/invariants/types.js +2 -0
  207. package/build/invariants/types.js.map +1 -0
  208. package/build/invariants.d.ts +5 -0
  209. package/build/invariants.d.ts.map +1 -0
  210. package/build/invariants.js +124 -0
  211. package/build/invariants.js.map +1 -0
  212. package/build/projection.d.ts +4 -10
  213. package/build/projection.d.ts.map +1 -1
  214. package/build/projection.js +7 -5
  215. package/build/projection.js.map +1 -1
  216. package/build/queue/consts.d.ts +5 -0
  217. package/build/queue/consts.d.ts.map +1 -0
  218. package/build/queue/consts.js +5 -0
  219. package/build/queue/consts.js.map +1 -0
  220. package/build/queue/declare.d.ts +5 -0
  221. package/build/queue/declare.d.ts.map +1 -0
  222. package/build/queue/declare.js +5 -0
  223. package/build/queue/declare.js.map +1 -0
  224. package/build/queue/index.d.ts +3 -18
  225. package/build/queue/index.d.ts.map +1 -1
  226. package/build/queue/index.js +2 -7
  227. package/build/queue/index.js.map +1 -1
  228. package/build/queue/types.d.ts +13 -0
  229. package/build/queue/types.d.ts.map +1 -0
  230. package/build/queue/types.js +2 -0
  231. package/build/queue/types.js.map +1 -0
  232. package/build/registry.d.ts +2 -21
  233. package/build/registry.d.ts.map +1 -1
  234. package/build/registry.js +4 -1
  235. package/build/registry.js.map +1 -1
  236. package/build/resources.d.ts +5 -0
  237. package/build/resources.d.ts.map +1 -0
  238. package/build/resources.js +286 -0
  239. package/build/resources.js.map +1 -0
  240. package/build/service.d.ts +3 -16
  241. package/build/service.d.ts.map +1 -1
  242. package/build/service.js +12 -0
  243. package/build/service.js.map +1 -1
  244. package/build/store/commits.d.ts.map +1 -1
  245. package/build/store/commits.js +3 -1
  246. package/build/store/commits.js.map +1 -1
  247. package/build/store/composite.d.ts +1 -0
  248. package/build/store/composite.d.ts.map +1 -1
  249. package/build/store/composite.js +7 -2
  250. package/build/store/composite.js.map +1 -1
  251. package/build/store/consts.local.d.ts +2 -0
  252. package/build/store/consts.local.d.ts.map +1 -0
  253. package/build/store/consts.local.js +2 -0
  254. package/build/store/consts.local.js.map +1 -0
  255. package/build/store/fold/types.d.ts +43 -0
  256. package/build/store/fold/types.d.ts.map +1 -0
  257. package/build/store/fold/types.js +2 -0
  258. package/build/store/fold/types.js.map +1 -0
  259. package/build/store/fold.d.ts +8 -30
  260. package/build/store/fold.d.ts.map +1 -1
  261. package/build/store/fold.js +190 -198
  262. package/build/store/fold.js.map +1 -1
  263. package/build/store/index.d.ts +1 -0
  264. package/build/store/index.d.ts.map +1 -1
  265. package/build/store/index.js.map +1 -1
  266. package/build/store/memory.d.ts +12 -0
  267. package/build/store/memory.d.ts.map +1 -1
  268. package/build/store/memory.js +0 -0
  269. package/build/store/memory.js.map +1 -1
  270. package/build/store/types.d.ts +15 -1
  271. package/build/store/types.d.ts.map +1 -1
  272. package/build/store/types.local.d.ts +5 -0
  273. package/build/store/types.local.d.ts.map +1 -0
  274. package/build/store/types.local.js +2 -0
  275. package/build/store/types.local.js.map +1 -0
  276. package/build/types.d.ts +115 -1
  277. package/build/types.d.ts.map +1 -1
  278. package/build/types.local.d.ts +7 -0
  279. package/build/types.local.d.ts.map +1 -0
  280. package/build/types.local.js +2 -0
  281. package/build/types.local.js.map +1 -0
  282. package/build/utils/access/types.d.ts +30 -0
  283. package/build/utils/access/types.d.ts.map +1 -0
  284. package/build/utils/access/types.js +2 -0
  285. package/build/utils/access/types.js.map +1 -0
  286. package/build/utils/access.d.ts +4 -0
  287. package/build/utils/access.d.ts.map +1 -0
  288. package/build/utils/access.js +28 -0
  289. package/build/utils/access.js.map +1 -0
  290. package/build/utils/guard/types.d.ts +23 -0
  291. package/build/utils/guard/types.d.ts.map +1 -0
  292. package/build/utils/guard/types.js +2 -0
  293. package/build/utils/guard/types.js.map +1 -0
  294. package/build/utils/guard.d.ts +7 -10
  295. package/build/utils/guard.d.ts.map +1 -1
  296. package/build/utils/guard.js +36 -32
  297. package/build/utils/guard.js.map +1 -1
  298. package/build/utils/handler/types.d.ts +26 -0
  299. package/build/utils/handler/types.d.ts.map +1 -0
  300. package/build/utils/handler/types.js +2 -0
  301. package/build/utils/handler/types.js.map +1 -0
  302. package/build/utils/handler.d.ts +6 -0
  303. package/build/utils/handler.d.ts.map +1 -0
  304. package/build/utils/handler.js +21 -0
  305. package/build/utils/handler.js.map +1 -0
  306. package/build/utils/index.d.ts +8 -0
  307. package/build/utils/index.d.ts.map +1 -1
  308. package/build/utils/index.js +3 -0
  309. package/build/utils/index.js.map +1 -1
  310. package/build/utils/request/types.d.ts +23 -0
  311. package/build/utils/request/types.d.ts.map +1 -0
  312. package/build/utils/request/types.js +2 -0
  313. package/build/utils/request/types.js.map +1 -0
  314. package/build/utils/request.d.ts +4 -0
  315. package/build/utils/request.d.ts.map +1 -0
  316. package/build/utils/request.js +27 -0
  317. package/build/utils/request.js.map +1 -0
  318. package/build/utils/scope.d.ts +17 -13
  319. package/build/utils/scope.d.ts.map +1 -1
  320. package/build/utils/scope.js +21 -35
  321. package/build/utils/scope.js.map +1 -1
  322. package/build/utils/types.d.ts +8 -0
  323. package/build/utils/types.d.ts.map +1 -0
  324. package/build/utils/types.js +2 -0
  325. package/build/utils/types.js.map +1 -0
  326. package/package.json +28 -20
  327. package/src/actions/apply-schema-request.ts +36 -0
  328. package/src/actions/commit.ts +7 -5
  329. package/src/actions/define-schemas.ts +34 -0
  330. package/src/actions/execute.ts +32 -34
  331. package/src/actions/execution/types.ts +34 -0
  332. package/src/actions/execution.ts +100 -0
  333. package/src/actions/get-card.ts +14 -0
  334. package/src/actions/get-specification.ts +14 -0
  335. package/src/actions/index.ts +13 -3
  336. package/src/actions/links.ts +8 -6
  337. package/src/actions/list-card-specifications.ts +15 -0
  338. package/src/actions/list-card-transitions.ts +15 -0
  339. package/src/actions/list-cards.ts +14 -0
  340. package/src/actions/list-schemas.ts +29 -0
  341. package/src/actions/list-specification-revisions.ts +15 -0
  342. package/src/actions/resources.ts +79 -0
  343. package/src/actions/summarize-cards.ts +15 -0
  344. package/src/actions/transitions.ts +6 -4
  345. package/src/actions/types.ts +5 -0
  346. package/src/actions/watch.ts +11 -7
  347. package/src/conformance/assert/types.ts +16 -0
  348. package/src/conformance/assert.ts +67 -0
  349. package/src/conformance/cases.ts +544 -0
  350. package/src/conformance/clock.ts +11 -0
  351. package/src/conformance/consts.ts +149 -0
  352. package/src/conformance/errors.ts +7 -0
  353. package/src/conformance/fixtures/types.ts +11 -0
  354. package/src/conformance/fixtures.ts +46 -0
  355. package/src/conformance/index.ts +14 -0
  356. package/src/conformance/resources.ts +213 -0
  357. package/src/conformance/types.ts +20 -0
  358. package/src/consts.ts +6 -0
  359. package/src/definitions.ts +262 -0
  360. package/src/executor/changes/types.ts +38 -0
  361. package/src/executor/changes.ts +49 -68
  362. package/src/executor/code/types.ts +23 -0
  363. package/src/executor/code.ts +62 -69
  364. package/src/executor/consts.local.ts +8 -0
  365. package/src/executor/creator/types.ts +33 -0
  366. package/src/executor/creator.ts +43 -0
  367. package/src/executor/resolve/types.ts +30 -0
  368. package/src/executor/resolve.ts +181 -139
  369. package/src/executor/types.ts +23 -0
  370. package/src/executor/validate.ts +40 -38
  371. package/src/executor.ts +33 -27
  372. package/src/facade.ts +132 -29
  373. package/src/helper.ts +12 -11
  374. package/src/hierarchy/types.ts +10 -0
  375. package/src/hierarchy.ts +93 -0
  376. package/src/index.ts +1 -0
  377. package/src/invariants/types.ts +6 -0
  378. package/src/invariants.ts +104 -0
  379. package/src/projection.ts +12 -18
  380. package/src/queue/consts.ts +5 -0
  381. package/src/queue/declare.ts +7 -0
  382. package/src/queue/index.ts +3 -25
  383. package/src/queue/types.ts +14 -0
  384. package/src/registry.ts +6 -29
  385. package/src/resources.ts +255 -0
  386. package/src/service.ts +16 -20
  387. package/src/store/commits.ts +5 -4
  388. package/src/store/composite.ts +7 -2
  389. package/src/store/consts.local.ts +1 -0
  390. package/src/store/fold/types.ts +44 -0
  391. package/src/store/fold.ts +214 -212
  392. package/src/store/index.ts +1 -0
  393. package/src/store/memory.ts +0 -0
  394. package/src/store/types.local.ts +3 -0
  395. package/src/store/types.ts +16 -1
  396. package/src/types.local.ts +7 -0
  397. package/src/types.ts +129 -5
  398. package/src/utils/access/types.ts +30 -0
  399. package/src/utils/access.ts +33 -0
  400. package/src/utils/guard/types.ts +21 -0
  401. package/src/utils/guard.ts +44 -31
  402. package/src/utils/handler/types.ts +28 -0
  403. package/src/utils/handler.ts +35 -0
  404. package/src/utils/index.ts +9 -0
  405. package/src/utils/request/types.ts +23 -0
  406. package/src/utils/request.ts +40 -0
  407. package/src/utils/scope.ts +39 -42
  408. package/src/utils/types.ts +8 -0
  409. package/tests/access.spec.ts +160 -0
  410. package/tests/conformance.spec.ts +47 -0
  411. package/tests/create-example.spec.ts +202 -0
  412. package/tests/creator.spec.ts +257 -0
  413. package/tests/entrypoints.spec.ts +5 -0
  414. package/tests/narrowing.spec.ts +94 -0
  415. package/tests/plugins.spec.ts +4 -3
  416. package/tests/writes.spec.ts +140 -0
  417. package/build/actions/cards.d.ts +0 -16
  418. package/build/actions/cards.d.ts.map +0 -1
  419. package/build/actions/cards.js +0 -32
  420. package/build/actions/cards.js.map +0 -1
  421. package/build/actions/schemas.d.ts +0 -6
  422. package/build/actions/schemas.d.ts.map +0 -1
  423. package/build/actions/schemas.js +0 -9
  424. package/build/actions/schemas.js.map +0 -1
  425. package/build/actions/specs.d.ts +0 -10
  426. package/build/actions/specs.d.ts.map +0 -1
  427. package/build/actions/specs.js +0 -14
  428. package/build/actions/specs.js.map +0 -1
  429. package/src/actions/cards.ts +0 -52
  430. package/src/actions/schemas.ts +0 -15
  431. package/src/actions/specs.ts +0 -23
@@ -1,6 +1,6 @@
1
- import { handlers } from '@owlmeans/server-api';
2
1
  import type { PlanningProtocols } from '@owlmeans/planning';
3
- import type { Context, PlanningHandlerOptions } from '../types.js';
2
+ import type { PlanningHandlerOptions } from '../types.js';
3
+ import type { RequestHandler } from './types.js';
4
4
  /**
5
5
  * The poll tool: a commit's status, held open up to `wait` seconds (clamped to `maxPoll`).
6
6
  *
@@ -10,5 +10,5 @@ import type { Context, PlanningHandlerOptions } from '../types.js';
10
10
  *
11
11
  * @throws {WorkcardNotFound} for another entity's transition
12
12
  */
13
- export declare const getCommit: (protocol: PlanningProtocols['commit']['get'], opts?: PlanningHandlerOptions) => ReturnType<ReturnType<typeof handlers<Context>>['request']>;
13
+ export declare const getCommit: (protocol: PlanningProtocols['commit']['get'], opts?: PlanningHandlerOptions) => RequestHandler;
14
14
  //# sourceMappingURL=commit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/actions/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,aACV,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,SAAS,sBAAsB,KAC1E,UAAU,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAqCxD,CAAA"}
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/actions/commit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAW,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,aACV,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,SAAS,sBAAsB,KAC1E,cAqCE,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { handlers } from '@owlmeans/server-api';
2
2
  import { CommitState, MAX_COMMIT_POLL } from '@owlmeans/planning';
3
- import { clampSeconds, concealed, handlerFacade } from '../utils/index.js';
3
+ import { guardHelper } from '../utils/guard.js';
4
+ import { planningHandlerOf } from '../utils/handler.js';
4
5
  /**
5
6
  * The poll tool: a commit's status, held open up to `wait` seconds (clamped to `maxPoll`).
6
7
  *
@@ -10,11 +11,11 @@ import { clampSeconds, concealed, handlerFacade } from '../utils/index.js';
10
11
  *
11
12
  * @throws {WorkcardNotFound} for another entity's transition
12
13
  */
13
- export const getCommit = (protocol, opts) => handlers().request(protocol, async (req, ctx) => concealed(async () => {
14
- const facade = await handlerFacade(ctx, req, opts);
14
+ export const getCommit = (protocol, opts) => handlers().request(protocol, async (req, ctx) => guardHelper.reply(async () => {
15
+ const facade = await planningHandlerOf(ctx).handlerFacade(req, opts);
15
16
  const transition = `${req.params.transition}`;
16
17
  let status = await facade.commits.status(transition);
17
- const wait = clampSeconds(req.query?.wait, opts?.maxPoll ?? MAX_COMMIT_POLL);
18
+ const wait = guardHelper.clampSeconds(req.query?.wait, opts?.maxPoll ?? MAX_COMMIT_POLL);
18
19
  if (status.state !== CommitState.Pending || wait <= 0) {
19
20
  return status;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/actions/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGjE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE1E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAA4C,EAAE,IAA6B,EACd,EAAE,CAC/D,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,IAA2B,EAAE;IACpG,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAE7C,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC,CAAA;IAC5E,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,IAAI,GAAe,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAAA,CAAC,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACzD,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3E,IAAI,EAAE,CAAA;QACR,CAAC;IACH,CAAC,CAAC,CAAA;IACF,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAChD,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;oBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;oBAC9C,IAAI,GAAG,GAAG,EAAE;wBACV,YAAY,CAAC,KAAK,CAAC,CAAA;wBACnB,OAAO,EAAE,CAAA;oBACX,CAAC,CAAA;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,WAAW,EAAE,CAAA;IACf,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/actions/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAA4C,EAAE,IAA6B,EAC3D,EAAE,CAClB,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAA2B,EAAE;IAC5G,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACpE,MAAM,UAAU,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IAE7C,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC,CAAA;IACxF,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,IAAI,GAAe,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAAA,CAAC,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACzD,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3E,IAAI,EAAE,CAAA;QACR,CAAC;IACH,CAAC,CAAC,CAAA;IACF,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAChD,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;oBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;oBAC9C,IAAI,GAAG,GAAG,EAAE;wBACV,YAAY,CAAC,KAAK,CAAC,CAAA;wBACnB,OAAO,EAAE,CAAA;oBACX,CAAC,CAAA;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,WAAW,EAAE,CAAA;IACf,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { type PlanningProtocols } from '@owlmeans/planning';
2
+ import type { PlanningHandlerOptions } from '../types.js';
3
+ import type { RequestHandler } from './types.js';
4
+ /**
5
+ * The write of data-defined types and flows. A project layer needs the project in the access's
6
+ * `writes` when the resolver answers it; then `grants.defineSchemas` gates when the resolver answers
7
+ * grants (the organization-wide layer needs `true`, a project layer its id).
8
+ *
9
+ * @throws {PlanningUnsupported} where the store holds no data-defined schemas
10
+ * @throws {PlanningForbidden | SchemaConflict | SchemaSealed | SchemaInvalid | SchemaInUse | WorkcardNotFound}
11
+ */
12
+ export declare const defineSchemas: (protocol: NonNullable<PlanningProtocols['schema']['define']>, opts?: PlanningHandlerOptions) => RequestHandler;
13
+ //# sourceMappingURL=define-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-schemas.d.ts","sourceRoot":"","sources":["../../src/actions/define-schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,iBAAiB,EAAoD,MAAM,oBAAoB,CAAA;AAClI,OAAO,KAAK,EAAW,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAKlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,aACd,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,sBAAsB,KAC1F,cAcE,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { handlers } from '@owlmeans/server-api';
2
+ import { PlanningUnsupported } from '@owlmeans/planning';
3
+ import { makePlanningAccessModel } from '../utils/access.js';
4
+ import { guardHelper } from '../utils/guard.js';
5
+ import { planningHandlerOf } from '../utils/handler.js';
6
+ import { applySchemaRequest } from './apply-schema-request.js';
7
+ /**
8
+ * The write of data-defined types and flows. A project layer needs the project in the access's
9
+ * `writes` when the resolver answers it; then `grants.defineSchemas` gates when the resolver answers
10
+ * grants (the organization-wide layer needs `true`, a project layer its id).
11
+ *
12
+ * @throws {PlanningUnsupported} where the store holds no data-defined schemas
13
+ * @throws {PlanningForbidden | SchemaConflict | SchemaSealed | SchemaInvalid | SchemaInUse | WorkcardNotFound}
14
+ */
15
+ export const defineSchemas = (protocol, opts) => handlers().request(protocol, async (req, ctx) => guardHelper.reply(async () => {
16
+ const { facade, access } = await planningHandlerOf(ctx).handlerScopeOf(req, opts);
17
+ const request = (req.body ?? {});
18
+ if (facade.definitions == null) {
19
+ throw new PlanningUnsupported('definitions');
20
+ }
21
+ const model = makePlanningAccessModel(access);
22
+ if (request.project != null) {
23
+ model.assertWrites(request.project);
24
+ }
25
+ model.assertGranted('defineSchemas', request.project);
26
+ return await applySchemaRequest(facade.definitions, request);
27
+ }));
28
+ //# sourceMappingURL=define-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-schemas.js","sourceRoot":"","sources":["../../src/actions/define-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAA4E,MAAM,oBAAoB,CAAA;AAElI,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAG9D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,QAA4D,EAAE,IAA6B,EAC3E,EAAE,CAClB,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAgC,EAAE;IACjH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACjF,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAwB,CAAA;IACvD,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAC5B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAErD,OAAO,MAAM,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAC,CAAA"}
@@ -1,13 +1,14 @@
1
- import { handlers } from '@owlmeans/server-api';
2
- import type { ExecuteOptions, ExecuteRequest, PlanningProtocols, PlanningScope, TransitionExecution } from '@owlmeans/planning';
3
- import type { Context, PlanningHandlerOptions } from '../types.js';
4
- /**
5
- * What a wire execution may say. `actor` is dropped — the scope names the writer — and a create's
6
- * `createdBy` is the authenticated subject, whatever the body claimed.
7
- */
1
+ import type { ExecuteOptions, ExecuteRequest, PlanningFacade, PlanningProtocols, PlanningScope, TransitionExecution } from '@owlmeans/planning';
2
+ import type { PlanningAccess, PlanningHandlerOptions } from '../types.js';
3
+ import type { RequestHandler } from './types.js';
4
+ /** The one write route. */
5
+ export declare const executePlanning: (protocol: PlanningProtocols['execute'], opts?: PlanningHandlerOptions) => RequestHandler;
6
+ /** @deprecated compat:factory-refactor — use `executionHelper.wireExecution(…)` */
8
7
  export declare const wireExecution: (body: ExecuteRequest, scope: PlanningScope) => TransitionExecution;
9
- /** `wait`/`timeout` as a server grants them: the timeout never holds a request past `maxPoll`. */
8
+ /** @deprecated compat:factory-refactor — use `executionHelper.executeOptionsOf(…)` */
10
9
  export declare const executeOptionsOf: (body: Pick<ExecuteRequest, 'wait' | 'timeout'>, maxPoll: number) => ExecuteOptions;
11
- /** The one write route. */
12
- export declare const executePlanning: (protocol: PlanningProtocols['execute'], opts?: PlanningHandlerOptions) => ReturnType<ReturnType<typeof handlers<Context>>['request']>;
10
+ /** @deprecated compat:factory-refactor — use `executionHelper.assertExecutionWrites(…)` */
11
+ export declare const assertExecutionWrites: (facade: PlanningFacade, exec: TransitionExecution, access?: PlanningAccess) => Promise<void>;
12
+ /** @deprecated compat:factory-refactor — use `executionHelper.assertExecutionGranted(…)` */
13
+ export declare const assertExecutionGranted: (facade: PlanningFacade, exec: TransitionExecution, access?: PlanningAccess) => Promise<void>;
13
14
  //# sourceMappingURL=execute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/actions/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,KAAK,EACV,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EACtF,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAU,cAAc,SAAS,aAAa,KAAG,mBAQ1E,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,SAAU,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,MAAM,KAAG,cAOlG,CAAA;AAED,2BAA2B;AAC3B,eAAO,MAAM,eAAe,aAChB,iBAAiB,CAAC,SAAS,CAAC,SAAS,sBAAsB,KACpE,UAAU,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAWxD,CAAA"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/actions/execute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAEtG,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAW,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIlF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,2BAA2B;AAC3B,eAAO,MAAM,eAAe,aAChB,iBAAiB,CAAC,SAAS,CAAC,SAAS,sBAAsB,KACpE,cAWE,CAAA;AAEL,mFAAmF;AACnF,eAAO,MAAM,aAAa,SAAU,cAAc,SAAS,aAAa,KAAG,mBAC/B,CAAA;AAE5C,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,SAAU,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,MAAM,KAAG,cAClD,CAAA;AAEjD,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,WACxB,cAAc,QAAQ,mBAAmB,WAAW,cAAc,KACzE,OAAO,CAAC,IAAI,CAAsE,CAAA;AAErF,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,WACzB,cAAc,QAAQ,mBAAmB,WAAW,cAAc,KACzE,OAAO,CAAC,IAAI,CAAuE,CAAA"}
@@ -1,35 +1,25 @@
1
1
  import { handlers } from '@owlmeans/server-api';
2
- import { DEFAULT_COMMIT_TIMEOUT, MAX_COMMIT_POLL, TransitionAction } from '@owlmeans/planning';
3
- import { concealed, handlerFacade } from '../utils/index.js';
4
- /**
5
- * What a wire execution may say. `actor` is dropped — the scope names the writer — and a create's
6
- * `createdBy` is the authenticated subject, whatever the body claimed.
7
- */
8
- export const wireExecution = (body, scope) => {
9
- const { wait: _wait, timeout: _timeout, actor: _actor, ...exec } = body;
10
- if (exec.action === TransitionAction.Create && exec.card != null && typeof exec.card === 'object') {
11
- const { createdBy: _createdBy, ...draft } = exec.card;
12
- const subject = scope.profileId ?? scope.userId;
13
- exec.card = subject != null ? { ...draft, createdBy: subject } : draft;
14
- }
15
- return exec;
16
- };
17
- /** `wait`/`timeout` as a server grants them: the timeout never holds a request past `maxPoll`. */
18
- export const executeOptionsOf = (body, maxPoll) => {
19
- const ceiling = maxPoll * 1000;
20
- if (body.wait !== true) {
21
- return {};
22
- }
23
- const asked = Number(body.timeout ?? DEFAULT_COMMIT_TIMEOUT);
24
- return { wait: true, timeout: Math.min(Number.isFinite(asked) && asked > 0 ? asked : DEFAULT_COMMIT_TIMEOUT, ceiling) };
25
- };
2
+ import { MAX_COMMIT_POLL } from '@owlmeans/planning';
3
+ import { guardHelper } from '../utils/guard.js';
4
+ import { planningHandlerOf } from '../utils/handler.js';
5
+ import { executionHelper } from './execution.js';
26
6
  /** The one write route. */
27
- export const executePlanning = (protocol, opts) => handlers().request(protocol, async (req, ctx) => concealed(async () => {
28
- const facade = await handlerFacade(ctx, req, opts);
7
+ export const executePlanning = (protocol, opts) => handlers().request(protocol, async (req, ctx) => guardHelper.reply(async () => {
8
+ const { facade, access } = await planningHandlerOf(ctx).handlerScopeOf(req, opts);
29
9
  const body = (req.body ?? {});
30
- const receipt = await facade.execute(wireExecution(body, facade.scope), executeOptionsOf(body, opts?.maxPoll ?? MAX_COMMIT_POLL));
10
+ const exec = executionHelper.wireExecution(body, facade.scope);
11
+ await executionHelper.assertExecutionGranted(facade, exec, access);
12
+ const receipt = await facade.execute(exec, executionHelper.executeOptionsOf(body, opts?.maxPoll ?? MAX_COMMIT_POLL));
31
13
  return receipt.card !== undefined
32
14
  ? { transition: receipt.transition, card: receipt.card }
33
15
  : { transition: receipt.transition };
34
16
  }));
17
+ /** @deprecated compat:factory-refactor — use `executionHelper.wireExecution(…)` */
18
+ export const wireExecution = (body, scope) => executionHelper.wireExecution(body, scope);
19
+ /** @deprecated compat:factory-refactor — use `executionHelper.executeOptionsOf(…)` */
20
+ export const executeOptionsOf = (body, maxPoll) => executionHelper.executeOptionsOf(body, maxPoll);
21
+ /** @deprecated compat:factory-refactor — use `executionHelper.assertExecutionWrites(…)` */
22
+ export const assertExecutionWrites = async (facade, exec, access) => await executionHelper.assertExecutionWrites(facade, exec, access);
23
+ /** @deprecated compat:factory-refactor — use `executionHelper.assertExecutionGranted(…)` */
24
+ export const assertExecutionGranted = async (facade, exec, access) => await executionHelper.assertExecutionGranted(facade, exec, access);
35
25
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/actions/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAK9F,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAoB,EAAE,KAAoB,EAAuB,EAAE;IAC/F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;IACvE,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClG,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QACrD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;QAC/C,IAAI,CAAC,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;IACxE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,kGAAkG;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAA8C,EAAE,OAAe,EAAkB,EAAE;IAClH,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;IAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAA;IAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,CAAA;AACzH,CAAC,CAAA;AAED,2BAA2B;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAsC,EAAE,IAA6B,EACR,EAAE,CAC/D,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,IAAoC,EAAE;IAC7G,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAmB,CAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAClC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC,CAC5F,CAAA;IAED,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS;QAC/B,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QACxD,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAA;AACxC,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/actions/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAMpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhD,2BAA2B;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAsC,EAAE,IAA6B,EACrD,EAAE,CAClB,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAoC,EAAE;IACrH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACjF,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAmB,CAAA;IAC/C,MAAM,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9D,MAAM,eAAe,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC,CAAA;IAEpH,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS;QAC/B,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QACxD,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAA;AACxC,CAAC,CAAC,CAAC,CAAA;AAEL,mFAAmF;AACnF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAoB,EAAE,KAAoB,EAAuB,EAAE,CAC/F,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAE5C,sFAAsF;AACtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAA8C,EAAE,OAAe,EAAkB,EAAE,CAClH,eAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAEjD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,MAAsB,EAAE,IAAyB,EAAE,MAAuB,EAC3D,EAAE,CAAC,MAAM,eAAe,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAErF,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAsB,EAAE,IAAyB,EAAE,MAAuB,EAC3D,EAAE,CAAC,MAAM,eAAe,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA"}
@@ -0,0 +1,34 @@
1
+ import type { ExecuteOptions, ExecuteRequest, PlanningFacade, PlanningScope, TransitionExecution } from '@owlmeans/planning';
2
+ import type { PlanningAccess } from '../../types.js';
3
+ /** What a wire execution may say, how long it may hold, and what access it needs. */
4
+ export interface ExecutionHelper {
5
+ /**
6
+ * What a wire execution may say. `actor` is dropped — the scope names the writer — and a create's
7
+ * `createdBy` claim is dropped too: the executor's `creatorHelper.withCreator` stamps the
8
+ * authenticated subject, the same rule an in-process create follows. Applied here as well, so the
9
+ * returned execution already carries it. A `createdBy` in `changes` or `unset` is not dropped: the
10
+ * executor refuses it on every action (`assertCreatorFixed`), so no body moves an owner.
11
+ */
12
+ wireExecution: (body: ExecuteRequest, scope: PlanningScope) => TransitionExecution;
13
+ /** `wait`/`timeout` as a server grants them: the timeout never holds a request past `maxPoll`. */
14
+ executeOptionsOf: (body: Pick<ExecuteRequest, 'wait' | 'timeout'>, maxPoll: number) => ExecuteOptions;
15
+ /**
16
+ * Refuse an execution outside the access's `writes`: the card it acts on (a specification through
17
+ * its parent card), or every parent a create names, must be one `writableIn` admits. A create
18
+ * of a project is `grants.createProjects`' alone. A card or parent this scope cannot see is left to
19
+ * the executor, which answers it as absent.
20
+ *
21
+ * @throws {PlanningForbidden}
22
+ */
23
+ assertExecutionWrites: (facade: PlanningFacade, exec: TransitionExecution, access?: PlanningAccess) => Promise<void>;
24
+ /**
25
+ * The access a wire execution needs. `writes` first ({@link ExecutionHelper.assertExecutionWrites});
26
+ * then the grants: `createProjects` for a project create (its primary parent, or the root),
27
+ * `deleteProjects` for the delete of a project card. A card this scope cannot see is left to the
28
+ * executor, which answers it as absent.
29
+ *
30
+ * @throws {PlanningForbidden}
31
+ */
32
+ assertExecutionGranted: (facade: PlanningFacade, exec: TransitionExecution, access?: PlanningAccess) => Promise<void>;
33
+ }
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/actions/execution/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5H,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,qFAAqF;AACrF,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,KAAK,mBAAmB,CAAA;IAClF,kGAAkG;IAClG,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,cAAc,CAAA;IACrG;;;;;;;OAOG;IACH,qBAAqB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpH;;;;;;;OAOG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACtH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/actions/execution/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { ExecutionHelper } from './execution/types.js';
2
+ export declare const createExecutionHelper: () => ExecutionHelper;
3
+ export declare const executionHelper: ExecutionHelper;
4
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/actions/execution.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,eAAO,MAAM,qBAAqB,QAAO,eAsFxC,CAAA;AAED,eAAO,MAAM,eAAe,iBAA0B,CAAA"}
@@ -0,0 +1,88 @@
1
+ import { cardHelper, DEFAULT_COMMIT_TIMEOUT, PlanningForbidden, TransitionAction, WorkcardKind, } from '@owlmeans/planning';
2
+ import { creatorHelper } from '../executor/creator.js';
3
+ import { makePlanningAccessModel } from '../utils/access.js';
4
+ export const createExecutionHelper = () => {
5
+ const wireExecution = (body, scope) => {
6
+ const { wait: _wait, timeout: _timeout, actor: _actor, ...exec } = body;
7
+ if (exec.action === TransitionAction.Create && exec.card != null && typeof exec.card === 'object') {
8
+ const { createdBy: _createdBy, ...draft } = exec.card;
9
+ exec.card = draft;
10
+ }
11
+ return creatorHelper.withCreator(exec, scope);
12
+ };
13
+ const executeOptionsOf = (body, maxPoll) => {
14
+ const ceiling = maxPoll * 1000;
15
+ if (body.wait !== true) {
16
+ return {};
17
+ }
18
+ const asked = Number(body.timeout ?? DEFAULT_COMMIT_TIMEOUT);
19
+ return { wait: true, timeout: Math.min(Number.isFinite(asked) && asked > 0 ? asked : DEFAULT_COMMIT_TIMEOUT, ceiling) };
20
+ };
21
+ const assertExecutionWrites = async (facade, exec, access) => {
22
+ if (access?.writes == null) {
23
+ return;
24
+ }
25
+ const model = makePlanningAccessModel(access);
26
+ const admitted = async (card, seen = new Set()) => {
27
+ if (model.writableIn(card))
28
+ return true;
29
+ if (card.id != null && seen.has(card.id))
30
+ return false;
31
+ if (card.id != null)
32
+ seen.add(card.id);
33
+ for (const id of card.parents) {
34
+ const parent = await facade.cards.load(id);
35
+ if (parent != null && await admitted(parent, seen))
36
+ return true;
37
+ }
38
+ return false;
39
+ };
40
+ if (exec.action === TransitionAction.Create && exec.card != null && typeof exec.card === 'object') {
41
+ if (exec.card.kind === WorkcardKind.Project) {
42
+ return;
43
+ }
44
+ const parents = cardHelper.normalizeParents(exec.card.parent, exec.card.parents);
45
+ if (parents.length === 0) {
46
+ throw new PlanningForbidden('writes:root');
47
+ }
48
+ for (const id of parents) {
49
+ const parent = await facade.cards.load(id);
50
+ if (parent != null && !await admitted(parent)) {
51
+ throw new PlanningForbidden(`writes:${id}`);
52
+ }
53
+ }
54
+ return;
55
+ }
56
+ for (const id of cardHelper.normalizeParents(exec.changes?.parent, exec.changes?.parents)) {
57
+ const target = await facade.cards.load(id);
58
+ if (target != null && !await admitted(target))
59
+ throw new PlanningForbidden(`writes:destination:${id}`);
60
+ }
61
+ if (typeof exec.card === 'string' && exec.card !== '') {
62
+ const card = await facade.cards.load(exec.card);
63
+ if (card != null && !await admitted(card)) {
64
+ throw new PlanningForbidden(`writes:${exec.card}`);
65
+ }
66
+ }
67
+ };
68
+ const assertExecutionGranted = async (facade, exec, access) => {
69
+ await assertExecutionWrites(facade, exec, access);
70
+ if (access?.grants == null) {
71
+ return;
72
+ }
73
+ const model = makePlanningAccessModel(access);
74
+ if (exec.action === TransitionAction.Create && typeof exec.card === 'object' && exec.card?.kind === WorkcardKind.Project) {
75
+ model.assertGranted('createProjects', cardHelper.normalizeParents(exec.card.parent, exec.card.parents)[0]);
76
+ return;
77
+ }
78
+ if (exec.action === TransitionAction.Delete && typeof exec.card === 'string') {
79
+ const card = await facade.cards.load(exec.card);
80
+ if (card != null && cardHelper.isProject(card)) {
81
+ model.assertGranted('deleteProjects', card.id);
82
+ }
83
+ }
84
+ };
85
+ return { wireExecution, executeOptionsOf, assertExecutionWrites, assertExecutionGranted };
86
+ };
87
+ export const executionHelper = createExecutionHelper();
88
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/actions/execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { PlanningProtocols } from '@owlmeans/planning';
2
+ import type { PlanningHandlerOptions } from '../types.js';
3
+ import type { RequestHandler } from './types.js';
4
+ /** @throws {WorkcardNotFound} for an absent card and for another entity's alike */
5
+ export declare const getCard: (protocol: PlanningProtocols['card']['get'], opts?: PlanningHandlerOptions) => RequestHandler;
6
+ //# sourceMappingURL=get-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-card.d.ts","sourceRoot":"","sources":["../../src/actions/get-card.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAW,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,mFAAmF;AACnF,eAAO,MAAM,OAAO,aAAc,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,sBAAsB,KAAG,cAK/F,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { handlers } from '@owlmeans/server-api';
2
+ import { guardHelper } from '../utils/guard.js';
3
+ import { planningHandlerOf } from '../utils/handler.js';
4
+ /** @throws {WorkcardNotFound} for an absent card and for another entity's alike */
5
+ export const getCard = (protocol, opts) => handlers().request(protocol, async (req, ctx) => guardHelper.reply(async () => {
6
+ const facade = await planningHandlerOf(ctx).handlerFacade(req, opts);
7
+ return await facade.cards.get(`${req.params.id}`);
8
+ }));
9
+ //# sourceMappingURL=get-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-card.js","sourceRoot":"","sources":["../../src/actions/get-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,mFAAmF;AACnF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAA0C,EAAE,IAA6B,EAAkB,EAAE,CACnH,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEpE,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;AACnD,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { PlanningProtocols } from '@owlmeans/planning';
2
+ import type { PlanningHandlerOptions } from '../types.js';
3
+ import type { RequestHandler } from './types.js';
4
+ /** @throws {WorkcardNotFound} */
5
+ export declare const getSpecification: (protocol: PlanningProtocols['spec']['get'], opts?: PlanningHandlerOptions) => RequestHandler;
6
+ //# sourceMappingURL=get-specification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-specification.d.ts","sourceRoot":"","sources":["../../src/actions/get-specification.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAW,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,iCAAiC;AACjC,eAAO,MAAM,gBAAgB,aAAc,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,sBAAsB,KAAG,cAKxG,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { handlers } from '@owlmeans/server-api';
2
+ import { guardHelper } from '../utils/guard.js';
3
+ import { planningHandlerOf } from '../utils/handler.js';
4
+ /** @throws {WorkcardNotFound} */
5
+ export const getSpecification = (protocol, opts) => handlers().request(protocol, async (req, ctx) => guardHelper.reply(async () => {
6
+ const facade = await planningHandlerOf(ctx).handlerFacade(req, opts);
7
+ return await facade.specifications.get(`${req.params.id}`);
8
+ }));
9
+ //# sourceMappingURL=get-specification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-specification.js","sourceRoot":"","sources":["../../src/actions/get-specification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,iCAAiC;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAA0C,EAAE,IAA6B,EAAkB,EAAE,CAC5H,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEpE,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;AAC5D,CAAC,CAAC,CAAC,CAAA"}
@@ -1,9 +1,18 @@
1
- export * from './cards.js';
1
+ export type * from './execution/types.js';
2
+ export * from './apply-schema-request.js';
2
3
  export * from './commit.js';
4
+ export * from './define-schemas.js';
3
5
  export * from './execute.js';
6
+ export * from './execution.js';
7
+ export * from './get-card.js';
8
+ export * from './get-specification.js';
4
9
  export * from './links.js';
5
- export * from './schemas.js';
6
- export * from './specs.js';
10
+ export * from './list-card-specifications.js';
11
+ export * from './list-card-transitions.js';
12
+ export * from './list-cards.js';
13
+ export * from './list-schemas.js';
14
+ export * from './list-specification-revisions.js';
15
+ export * from './summarize-cards.js';
7
16
  export * from './transitions.js';
8
17
  export * from './watch.js';
9
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,sBAAsB,CAAA;AAEzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mCAAmC,CAAA;AACjD,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
@@ -1,9 +1,17 @@
1
- export * from './cards.js';
1
+ export * from './apply-schema-request.js';
2
2
  export * from './commit.js';
3
+ export * from './define-schemas.js';
3
4
  export * from './execute.js';
5
+ export * from './execution.js';
6
+ export * from './get-card.js';
7
+ export * from './get-specification.js';
4
8
  export * from './links.js';
5
- export * from './schemas.js';
6
- export * from './specs.js';
9
+ export * from './list-card-specifications.js';
10
+ export * from './list-card-transitions.js';
11
+ export * from './list-cards.js';
12
+ export * from './list-schemas.js';
13
+ export * from './list-specification-revisions.js';
14
+ export * from './summarize-cards.js';
7
15
  export * from './transitions.js';
8
16
  export * from './watch.js';
9
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAEA,cAAc,2BAA2B,CAAA;AACzC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mCAAmC,CAAA;AACjD,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
@@ -1,5 +1,5 @@
1
- import { handlers } from '@owlmeans/server-api';
2
1
  import type { PlanningProtocols } from '@owlmeans/planning';
3
- import type { Context, PlanningHandlerOptions } from '../types.js';
4
- export declare const listLinks: (protocol: PlanningProtocols['link']['list'], opts?: PlanningHandlerOptions) => ReturnType<ReturnType<typeof handlers<Context>>['request']>;
2
+ import type { PlanningHandlerOptions } from '../types.js';
3
+ import type { RequestHandler } from './types.js';
4
+ export declare const listLinks: (protocol: PlanningProtocols['link']['list'], opts?: PlanningHandlerOptions) => RequestHandler;
5
5
  //# sourceMappingURL=links.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/actions/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE,eAAO,MAAM,SAAS,aACV,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,sBAAsB,KACzE,UAAU,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAKxD,CAAA"}
1
+ {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/actions/links.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAW,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,eAAO,MAAM,SAAS,aACV,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,sBAAsB,KACzE,cAKE,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { handlers } from '@owlmeans/server-api';
2
- import { decodeRelationshipQuery } from '@owlmeans/planning';
3
- import { concealed, handlerFacade } from '../utils/index.js';
4
- export const listLinks = (protocol, opts) => handlers().request(protocol, async (req, ctx) => concealed(async () => {
5
- const facade = await handlerFacade(ctx, req, opts);
6
- return await facade.relationships.list(decodeRelationshipQuery(req.query));
2
+ import { wireHelper } from '@owlmeans/planning';
3
+ import { guardHelper } from '../utils/guard.js';
4
+ import { planningHandlerOf } from '../utils/handler.js';
5
+ export const listLinks = (protocol, opts) => handlers().request(protocol, async (req, ctx) => guardHelper.reply(async () => {
6
+ const facade = await planningHandlerOf(ctx).handlerFacade(req, opts);
7
+ return await facade.relationships.list(wireHelper.decodeRelationshipQuery(req.query));
7
8
  }));
8
9
  //# sourceMappingURL=links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/actions/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE5D,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAA2C,EAAE,IAA6B,EACb,EAAE,CAC/D,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;IAC7E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAElD,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/actions/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAA2C,EAAE,IAA6B,EAC1D,EAAE,CAClB,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEpE,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AACvF,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { type PlanningProtocols } from '@owlmeans/planning';
2
+ import type { PlanningHandlerOptions } from '../types.js';
3
+ import type { RequestHandler } from './types.js';
4
+ /** One card's specifications — the current document per category unless `all`. */
5
+ export declare const listCardSpecifications: (protocol: PlanningProtocols['card']['specifications'], opts?: PlanningHandlerOptions) => RequestHandler;
6
+ //# sourceMappingURL=list-card-specifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-card-specifications.d.ts","sourceRoot":"","sources":["../../src/actions/list-card-specifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,KAAK,EAAW,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,aAAc,iBAAiB,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,SAAS,sBAAsB,KAAG,cAMzH,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { handlers } from '@owlmeans/server-api';
2
+ import { wireHelper } from '@owlmeans/planning';
3
+ import { guardHelper } from '../utils/guard.js';
4
+ import { planningHandlerOf } from '../utils/handler.js';
5
+ /** One card's specifications — the current document per category unless `all`. */
6
+ export const listCardSpecifications = (protocol, opts) => handlers().request(protocol, async (req, ctx) => guardHelper.reply(async () => {
7
+ const facade = await planningHandlerOf(ctx).handlerFacade(req, opts);
8
+ const card = await facade.cards.get(`${req.params.id}`);
9
+ return await facade.specifications.list(card.id, wireHelper.decodeSpecificationQuery(req.query));
10
+ }));
11
+ //# sourceMappingURL=list-card-specifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-card-specifications.js","sourceRoot":"","sources":["../../src/actions/list-card-specifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAA0B,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAqD,EAAE,IAA6B,EAAkB,EAAE,CAC7I,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IAEvD,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAG,EAAE,UAAU,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AACnG,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { type PlanningProtocols } from '@owlmeans/planning';
2
+ import type { PlanningHandlerOptions } from '../types.js';
3
+ import type { RequestHandler } from './types.js';
4
+ /** One card's log. */
5
+ export declare const listCardTransitions: (protocol: PlanningProtocols['card']['transitions'], opts?: PlanningHandlerOptions) => RequestHandler;
6
+ //# sourceMappingURL=list-card-transitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-card-transitions.d.ts","sourceRoot":"","sources":["../../src/actions/list-card-transitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,KAAK,EAAW,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,sBAAsB;AACtB,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,SAAS,sBAAsB,KAAG,cAMnH,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { handlers } from '@owlmeans/server-api';
2
+ import { wireHelper } from '@owlmeans/planning';
3
+ import { guardHelper } from '../utils/guard.js';
4
+ import { planningHandlerOf } from '../utils/handler.js';
5
+ /** One card's log. */
6
+ export const listCardTransitions = (protocol, opts) => handlers().request(protocol, async (req, ctx) => guardHelper.reply(async () => {
7
+ const facade = await planningHandlerOf(ctx).handlerFacade(req, opts);
8
+ const card = await facade.cards.get(`${req.params.id}`);
9
+ return await facade.transitions.list({ ...wireHelper.decodeTransitionQuery(req.query), card: card.id });
10
+ }));
11
+ //# sourceMappingURL=list-card-transitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-card-transitions.js","sourceRoot":"","sources":["../../src/actions/list-card-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAA0B,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,sBAAsB;AACtB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAkD,EAAE,IAA6B,EAAkB,EAAE,CACvI,QAAQ,EAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IAEvD,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzG,CAAC,CAAC,CAAC,CAAA"}