@graview/core 0.1.61 → 0.1.63

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 (464) hide show
  1. package/README.md +13 -1
  2. package/dist/app-places.d.ts.map +1 -1
  3. package/dist/app-places.js +2 -2
  4. package/dist/app-places.js.map +1 -1
  5. package/dist/app.d.ts +22 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js.map +1 -1
  8. package/dist/arranging.js +2 -2
  9. package/dist/arranging.js.map +1 -1
  10. package/dist/capabilities.js +1 -1
  11. package/dist/capabilities.js.map +1 -1
  12. package/dist/cli/check/hidden-reads.d.ts.map +1 -1
  13. package/dist/cli/check/hidden-reads.js +26 -0
  14. package/dist/cli/check/hidden-reads.js.map +1 -1
  15. package/dist/cli/check/index.d.ts +2 -0
  16. package/dist/cli/check/index.d.ts.map +1 -1
  17. package/dist/cli/check/index.js +2 -0
  18. package/dist/cli/check/index.js.map +1 -1
  19. package/dist/cli/check/tidying.d.ts +14 -0
  20. package/dist/cli/check/tidying.d.ts.map +1 -0
  21. package/dist/cli/check/tidying.js +24 -0
  22. package/dist/cli/check/tidying.js.map +1 -0
  23. package/dist/cli/check/workflows.d.ts +11 -0
  24. package/dist/cli/check/workflows.d.ts.map +1 -0
  25. package/dist/cli/check/workflows.js +20 -0
  26. package/dist/cli/check/workflows.js.map +1 -0
  27. package/dist/cli/check.d.ts.map +1 -1
  28. package/dist/cli/check.js +3 -1
  29. package/dist/cli/check.js.map +1 -1
  30. package/dist/cli/describe.d.ts.map +1 -1
  31. package/dist/cli/describe.js +45 -2
  32. package/dist/cli/describe.js.map +1 -1
  33. package/dist/cli/document-schema.d.ts.map +1 -1
  34. package/dist/cli/document-schema.js +15 -2
  35. package/dist/cli/document-schema.js.map +1 -1
  36. package/dist/cli/index.js +1 -1
  37. package/dist/cli/index.js.map +1 -1
  38. package/dist/compose.d.ts +11 -3
  39. package/dist/compose.d.ts.map +1 -1
  40. package/dist/compose.js +12 -2
  41. package/dist/compose.js.map +1 -1
  42. package/dist/css/sanitize.d.ts +125 -0
  43. package/dist/css/sanitize.d.ts.map +1 -0
  44. package/dist/css/sanitize.js +989 -0
  45. package/dist/css/sanitize.js.map +1 -0
  46. package/dist/css/tables.d.ts +55 -0
  47. package/dist/css/tables.d.ts.map +1 -0
  48. package/dist/css/tables.js +137 -0
  49. package/dist/css/tables.js.map +1 -0
  50. package/dist/css.d.ts +20 -0
  51. package/dist/css.d.ts.map +1 -0
  52. package/dist/css.js +19 -0
  53. package/dist/css.js.map +1 -0
  54. package/dist/days.d.ts +15 -0
  55. package/dist/days.d.ts.map +1 -1
  56. package/dist/days.js +21 -0
  57. package/dist/days.js.map +1 -1
  58. package/dist/describe.d.ts +1 -1
  59. package/dist/describe.d.ts.map +1 -1
  60. package/dist/document/act-findings.d.ts.map +1 -1
  61. package/dist/document/act-findings.js +80 -1
  62. package/dist/document/act-findings.js.map +1 -1
  63. package/dist/document/amount.d.ts +1 -1
  64. package/dist/document/amount.d.ts.map +1 -1
  65. package/dist/document/amount.js +2 -2
  66. package/dist/document/amount.js.map +1 -1
  67. package/dist/document/blocks.d.ts.map +1 -1
  68. package/dist/document/blocks.js +17 -1
  69. package/dist/document/blocks.js.map +1 -1
  70. package/dist/document/brand-check.d.ts +15 -1
  71. package/dist/document/brand-check.d.ts.map +1 -1
  72. package/dist/document/brand-check.js +80 -0
  73. package/dist/document/brand-check.js.map +1 -1
  74. package/dist/document/brand.d.ts.map +1 -1
  75. package/dist/document/brand.js +2 -0
  76. package/dist/document/brand.js.map +1 -1
  77. package/dist/document/compile-checked.d.ts.map +1 -1
  78. package/dist/document/compile-checked.js +5 -2
  79. package/dist/document/compile-checked.js.map +1 -1
  80. package/dist/document/compile.d.ts.map +1 -1
  81. package/dist/document/compile.js +96 -16
  82. package/dist/document/compile.js.map +1 -1
  83. package/dist/document/compiled.d.ts +32 -3
  84. package/dist/document/compiled.d.ts.map +1 -1
  85. package/dist/document/compiled.js +123 -12
  86. package/dist/document/compiled.js.map +1 -1
  87. package/dist/document/connection-findings.js +165 -22
  88. package/dist/document/connection-findings.js.map +1 -1
  89. package/dist/document/connection-spec.d.ts +38 -1
  90. package/dist/document/connection-spec.d.ts.map +1 -1
  91. package/dist/document/connection-spec.js +71 -7
  92. package/dist/document/connection-spec.js.map +1 -1
  93. package/dist/document/covers.d.ts +48 -0
  94. package/dist/document/covers.d.ts.map +1 -0
  95. package/dist/document/covers.js +90 -0
  96. package/dist/document/covers.js.map +1 -0
  97. package/dist/document/derives-findings.d.ts +4 -0
  98. package/dist/document/derives-findings.d.ts.map +1 -0
  99. package/dist/document/derives-findings.js +68 -0
  100. package/dist/document/derives-findings.js.map +1 -0
  101. package/dist/document/describe-forms.js +2 -2
  102. package/dist/document/describe-forms.js.map +1 -1
  103. package/dist/document/describe-place.d.ts +3 -0
  104. package/dist/document/describe-place.d.ts.map +1 -1
  105. package/dist/document/describe-place.js +11 -0
  106. package/dist/document/describe-place.js.map +1 -1
  107. package/dist/document/described.d.ts +28 -0
  108. package/dist/document/described.d.ts.map +1 -1
  109. package/dist/document/diff.d.ts +6 -0
  110. package/dist/document/diff.d.ts.map +1 -1
  111. package/dist/document/diff.js +53 -2
  112. package/dist/document/diff.js.map +1 -1
  113. package/dist/document/edit.d.ts +1 -1
  114. package/dist/document/edit.d.ts.map +1 -1
  115. package/dist/document/edit.js +366 -29
  116. package/dist/document/edit.js.map +1 -1
  117. package/dist/document/expr/evaluate.d.ts +17 -1
  118. package/dist/document/expr/evaluate.d.ts.map +1 -1
  119. package/dist/document/expr/evaluate.js +110 -2
  120. package/dist/document/expr/evaluate.js.map +1 -1
  121. package/dist/document/expr/index.d.ts +1 -0
  122. package/dist/document/expr/index.d.ts.map +1 -1
  123. package/dist/document/expr/index.js +2 -0
  124. package/dist/document/expr/index.js.map +1 -1
  125. package/dist/document/expr/typing.d.ts +24 -0
  126. package/dist/document/expr/typing.d.ts.map +1 -0
  127. package/dist/document/expr/typing.js +219 -0
  128. package/dist/document/expr/typing.js.map +1 -0
  129. package/dist/document/expr/when.d.ts +52 -0
  130. package/dist/document/expr/when.d.ts.map +1 -0
  131. package/dist/document/expr/when.js +215 -0
  132. package/dist/document/expr/when.js.map +1 -0
  133. package/dist/document/expr-type-findings.d.ts +5 -0
  134. package/dist/document/expr-type-findings.d.ts.map +1 -0
  135. package/dist/document/expr-type-findings.js +90 -0
  136. package/dist/document/expr-type-findings.js.map +1 -0
  137. package/dist/document/format-words.d.ts +1 -0
  138. package/dist/document/format-words.d.ts.map +1 -1
  139. package/dist/document/format-words.js +2 -2
  140. package/dist/document/format-words.js.map +1 -1
  141. package/dist/document/index.d.ts +6 -3
  142. package/dist/document/index.d.ts.map +1 -1
  143. package/dist/document/index.js +5 -2
  144. package/dist/document/index.js.map +1 -1
  145. package/dist/document/kept-in-step-with.d.ts +20 -0
  146. package/dist/document/kept-in-step-with.d.ts.map +1 -0
  147. package/dist/document/kept-in-step-with.js +38 -0
  148. package/dist/document/kept-in-step-with.js.map +1 -0
  149. package/dist/document/kept-in-step.d.ts.map +1 -1
  150. package/dist/document/kept-in-step.js +3 -1
  151. package/dist/document/kept-in-step.js.map +1 -1
  152. package/dist/document/linked-findings.js +1 -1
  153. package/dist/document/linked-findings.js.map +1 -1
  154. package/dist/document/money.d.ts +10 -2
  155. package/dist/document/money.d.ts.map +1 -1
  156. package/dist/document/money.js +14 -5
  157. package/dist/document/money.js.map +1 -1
  158. package/dist/document/policy-words.d.ts +2 -0
  159. package/dist/document/policy-words.d.ts.map +1 -1
  160. package/dist/document/policy-words.js +11 -1
  161. package/dist/document/policy-words.js.map +1 -1
  162. package/dist/document/rule-line.d.ts +7 -3
  163. package/dist/document/rule-line.d.ts.map +1 -1
  164. package/dist/document/rule-line.js +17 -2
  165. package/dist/document/rule-line.js.map +1 -1
  166. package/dist/document/rule-reads.d.ts.map +1 -1
  167. package/dist/document/rule-reads.js +3 -1
  168. package/dist/document/rule-reads.js.map +1 -1
  169. package/dist/document/rules.d.ts +30 -0
  170. package/dist/document/rules.d.ts.map +1 -1
  171. package/dist/document/rules.js +74 -0
  172. package/dist/document/rules.js.map +1 -1
  173. package/dist/document/schema.d.ts +110 -2
  174. package/dist/document/schema.d.ts.map +1 -1
  175. package/dist/document/schema.js +125 -10
  176. package/dist/document/schema.js.map +1 -1
  177. package/dist/document/template-parse.d.ts.map +1 -1
  178. package/dist/document/template-parse.js +7 -1
  179. package/dist/document/template-parse.js.map +1 -1
  180. package/dist/document/template.d.ts +2 -0
  181. package/dist/document/template.d.ts.map +1 -1
  182. package/dist/document/template.js +10 -1
  183. package/dist/document/template.js.map +1 -1
  184. package/dist/document/to-document.d.ts.map +1 -1
  185. package/dist/document/to-document.js +5 -3
  186. package/dist/document/to-document.js.map +1 -1
  187. package/dist/document/workflow-spec.d.ts +72 -0
  188. package/dist/document/workflow-spec.d.ts.map +1 -0
  189. package/dist/document/workflow-spec.js +45 -0
  190. package/dist/document/workflow-spec.js.map +1 -0
  191. package/dist/document.schema.json +1143 -50
  192. package/dist/history.d.ts.map +1 -1
  193. package/dist/history.js +2 -0
  194. package/dist/history.js.map +1 -1
  195. package/dist/index.d.ts +11 -8
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.js +8 -5
  198. package/dist/index.js.map +1 -1
  199. package/dist/installation.d.ts +1 -1
  200. package/dist/invariants/types.d.ts +7 -2
  201. package/dist/invariants/types.d.ts.map +1 -1
  202. package/dist/job-findings.d.ts +5 -0
  203. package/dist/job-findings.d.ts.map +1 -1
  204. package/dist/job-findings.js +9 -3
  205. package/dist/job-findings.js.map +1 -1
  206. package/dist/keep-linked.d.ts +45 -0
  207. package/dist/keep-linked.d.ts.map +1 -0
  208. package/dist/keep-linked.js +188 -0
  209. package/dist/keep-linked.js.map +1 -0
  210. package/dist/lines.d.ts.map +1 -1
  211. package/dist/lines.js +6 -2
  212. package/dist/lines.js.map +1 -1
  213. package/dist/mutations/derive-edits.js +2 -2
  214. package/dist/mutations/propose-changes.d.ts +24 -0
  215. package/dist/mutations/propose-changes.d.ts.map +1 -0
  216. package/dist/mutations/propose-changes.js +30 -0
  217. package/dist/mutations/propose-changes.js.map +1 -0
  218. package/dist/mutations/types.d.ts +9 -0
  219. package/dist/mutations/types.d.ts.map +1 -1
  220. package/dist/mutations/vote-suggestion.d.ts +97 -0
  221. package/dist/mutations/vote-suggestion.d.ts.map +1 -0
  222. package/dist/mutations/vote-suggestion.js +59 -0
  223. package/dist/mutations/vote-suggestion.js.map +1 -0
  224. package/dist/mutations/words.js +3 -3
  225. package/dist/navigate.d.ts +7 -3
  226. package/dist/navigate.d.ts.map +1 -1
  227. package/dist/navigate.js +7 -3
  228. package/dist/navigate.js.map +1 -1
  229. package/dist/ops/digest.d.ts +3 -1
  230. package/dist/ops/digest.d.ts.map +1 -1
  231. package/dist/ops/digest.js +7 -2
  232. package/dist/ops/digest.js.map +1 -1
  233. package/dist/ops/lineage.d.ts +29 -2
  234. package/dist/ops/lineage.d.ts.map +1 -1
  235. package/dist/ops/lineage.js +12 -4
  236. package/dist/ops/lineage.js.map +1 -1
  237. package/dist/ops/log.d.ts.map +1 -1
  238. package/dist/ops/log.js +13 -2
  239. package/dist/ops/log.js.map +1 -1
  240. package/dist/ops/suggestions.d.ts +75 -1
  241. package/dist/ops/suggestions.d.ts.map +1 -1
  242. package/dist/ops/suggestions.js +123 -6
  243. package/dist/ops/suggestions.js.map +1 -1
  244. package/dist/ops/tidying.d.ts.map +1 -1
  245. package/dist/ops/tidying.js +6 -1
  246. package/dist/ops/tidying.js.map +1 -1
  247. package/dist/ops/types.d.ts +41 -0
  248. package/dist/ops/types.d.ts.map +1 -1
  249. package/dist/ops/types.js.map +1 -1
  250. package/dist/ops/undo.d.ts.map +1 -1
  251. package/dist/ops/undo.js +17 -0
  252. package/dist/ops/undo.js.map +1 -1
  253. package/dist/permissions/policy.d.ts +7 -0
  254. package/dist/permissions/policy.d.ts.map +1 -1
  255. package/dist/permissions/policy.js +12 -0
  256. package/dist/permissions/policy.js.map +1 -1
  257. package/dist/permissions/types.d.ts +27 -0
  258. package/dist/permissions/types.d.ts.map +1 -1
  259. package/dist/permissions/types.js.map +1 -1
  260. package/dist/place-names.d.ts +42 -0
  261. package/dist/place-names.d.ts.map +1 -0
  262. package/dist/place-names.js +43 -0
  263. package/dist/place-names.js.map +1 -0
  264. package/dist/places.d.ts +12 -0
  265. package/dist/places.d.ts.map +1 -1
  266. package/dist/places.js +37 -1
  267. package/dist/places.js.map +1 -1
  268. package/dist/scene.d.ts +2 -0
  269. package/dist/scene.d.ts.map +1 -1
  270. package/dist/scene.js +2 -0
  271. package/dist/scene.js.map +1 -1
  272. package/dist/schema/amount-mark.d.ts +2 -0
  273. package/dist/schema/amount-mark.d.ts.map +1 -1
  274. package/dist/schema/amount-mark.js.map +1 -1
  275. package/dist/schema/amount-words.js +2 -2
  276. package/dist/schema/amount-words.js.map +1 -1
  277. package/dist/schema/choice-words.js +2 -2
  278. package/dist/schema/define-node.d.ts +8 -2
  279. package/dist/schema/define-node.d.ts.map +1 -1
  280. package/dist/schema/define-node.js +2 -2
  281. package/dist/schema/define-node.js.map +1 -1
  282. package/dist/schema/humanize.d.ts +17 -0
  283. package/dist/schema/humanize.d.ts.map +1 -1
  284. package/dist/schema/humanize.js +28 -1
  285. package/dist/schema/humanize.js.map +1 -1
  286. package/dist/schema/reading.d.ts +8 -0
  287. package/dist/schema/reading.d.ts.map +1 -1
  288. package/dist/schema/reading.js +16 -2
  289. package/dist/schema/reading.js.map +1 -1
  290. package/dist/schema/types.d.ts +8 -0
  291. package/dist/schema/types.d.ts.map +1 -1
  292. package/dist/schema/value-words.js +2 -2
  293. package/dist/schema/value-words.js.map +1 -1
  294. package/dist/starting-document.d.ts +47 -2
  295. package/dist/starting-document.d.ts.map +1 -1
  296. package/dist/starting-document.js +66 -8
  297. package/dist/starting-document.js.map +1 -1
  298. package/dist/store.d.ts +75 -1
  299. package/dist/store.d.ts.map +1 -1
  300. package/dist/store.js +305 -29
  301. package/dist/store.js.map +1 -1
  302. package/dist/sync/connection.d.ts +35 -6
  303. package/dist/sync/connection.d.ts.map +1 -1
  304. package/dist/sync/connection.js +252 -47
  305. package/dist/sync/connection.js.map +1 -1
  306. package/dist/sync/engine.d.ts +83 -0
  307. package/dist/sync/engine.d.ts.map +1 -1
  308. package/dist/sync/engine.js +157 -4
  309. package/dist/sync/engine.js.map +1 -1
  310. package/dist/sync/google-calendar.d.ts +8 -0
  311. package/dist/sync/google-calendar.d.ts.map +1 -1
  312. package/dist/sync/google-calendar.js +30 -3
  313. package/dist/sync/google-calendar.js.map +1 -1
  314. package/dist/sync/guest-words.d.ts +9 -0
  315. package/dist/sync/guest-words.d.ts.map +1 -0
  316. package/dist/sync/guest-words.js +41 -0
  317. package/dist/sync/guest-words.js.map +1 -0
  318. package/dist/sync/guests.d.ts +44 -0
  319. package/dist/sync/guests.d.ts.map +1 -0
  320. package/dist/sync/guests.js +57 -0
  321. package/dist/sync/guests.js.map +1 -0
  322. package/dist/sync/index.d.ts +8 -5
  323. package/dist/sync/index.d.ts.map +1 -1
  324. package/dist/sync/index.js +2 -0
  325. package/dist/sync/index.js.map +1 -1
  326. package/dist/sync/notion-stub.d.ts +4 -1
  327. package/dist/sync/notion-stub.d.ts.map +1 -1
  328. package/dist/sync/notion-stub.js +40 -0
  329. package/dist/sync/notion-stub.js.map +1 -1
  330. package/dist/sync/notion.d.ts +43 -2
  331. package/dist/sync/notion.d.ts.map +1 -1
  332. package/dist/sync/notion.js +274 -140
  333. package/dist/sync/notion.js.map +1 -1
  334. package/dist/sync/status.d.ts +43 -0
  335. package/dist/sync/status.d.ts.map +1 -0
  336. package/dist/sync/status.js +45 -0
  337. package/dist/sync/status.js.map +1 -0
  338. package/dist/sync/types.d.ts +64 -0
  339. package/dist/sync/types.d.ts.map +1 -1
  340. package/dist/sync/types.js.map +1 -1
  341. package/dist/testing.js +1 -1
  342. package/dist/testing.js.map +1 -1
  343. package/dist/theme/contrast.d.ts +2 -0
  344. package/dist/theme/contrast.d.ts.map +1 -1
  345. package/dist/theme/contrast.js +4 -0
  346. package/dist/theme/contrast.js.map +1 -1
  347. package/dist/theme/ground.d.ts +1 -2
  348. package/dist/theme/ground.d.ts.map +1 -1
  349. package/dist/theme/ground.js +2 -5
  350. package/dist/theme/ground.js.map +1 -1
  351. package/dist/theme/marks.d.ts +14 -2
  352. package/dist/theme/marks.d.ts.map +1 -1
  353. package/dist/theme/marks.js +20 -3
  354. package/dist/theme/marks.js.map +1 -1
  355. package/dist/theme/types.d.ts +22 -0
  356. package/dist/theme/types.d.ts.map +1 -1
  357. package/dist/theme/types.js.map +1 -1
  358. package/dist/tidying.d.ts +79 -4
  359. package/dist/tidying.d.ts.map +1 -1
  360. package/dist/tidying.js +216 -9
  361. package/dist/tidying.js.map +1 -1
  362. package/dist/trait-vocabulary.d.ts +17 -0
  363. package/dist/trait-vocabulary.d.ts.map +1 -0
  364. package/dist/trait-vocabulary.js +16 -0
  365. package/dist/trait-vocabulary.js.map +1 -0
  366. package/dist/traits.d.ts +14 -7
  367. package/dist/traits.d.ts.map +1 -1
  368. package/dist/traits.js +33 -12
  369. package/dist/traits.js.map +1 -1
  370. package/dist/validate-graph.d.ts +2 -1
  371. package/dist/validate-graph.d.ts.map +1 -1
  372. package/dist/validate-graph.js +32 -1
  373. package/dist/validate-graph.js.map +1 -1
  374. package/dist/version.d.ts +1 -1
  375. package/dist/version.js +1 -1
  376. package/dist/words.d.ts +4 -1
  377. package/dist/words.d.ts.map +1 -1
  378. package/dist/words.js +4 -1
  379. package/dist/words.js.map +1 -1
  380. package/dist/workflow-shape.d.ts +217 -0
  381. package/dist/workflow-shape.d.ts.map +1 -0
  382. package/dist/workflow-shape.js +31 -0
  383. package/dist/workflow-shape.js.map +1 -0
  384. package/dist/workflows/findings.d.ts +13 -0
  385. package/dist/workflows/findings.d.ts.map +1 -0
  386. package/dist/workflows/findings.js +157 -0
  387. package/dist/workflows/findings.js.map +1 -0
  388. package/dist/workflows/generate-words.d.ts +12 -0
  389. package/dist/workflows/generate-words.d.ts.map +1 -0
  390. package/dist/workflows/generate-words.js +25 -0
  391. package/dist/workflows/generate-words.js.map +1 -0
  392. package/dist/workflows/generate.d.ts +59 -0
  393. package/dist/workflows/generate.d.ts.map +1 -0
  394. package/dist/workflows/generate.js +165 -0
  395. package/dist/workflows/generate.js.map +1 -0
  396. package/dist/workflows/judging.d.ts +17 -0
  397. package/dist/workflows/judging.d.ts.map +1 -0
  398. package/dist/workflows/judging.js +11 -0
  399. package/dist/workflows/judging.js.map +1 -0
  400. package/dist/workflows/next.d.ts +18 -0
  401. package/dist/workflows/next.d.ts.map +1 -0
  402. package/dist/workflows/next.js +75 -0
  403. package/dist/workflows/next.js.map +1 -0
  404. package/dist/workflows/on-the-map.d.ts +70 -0
  405. package/dist/workflows/on-the-map.d.ts.map +1 -0
  406. package/dist/workflows/on-the-map.js +94 -0
  407. package/dist/workflows/on-the-map.js.map +1 -0
  408. package/dist/workflows/policies.d.ts +39 -0
  409. package/dist/workflows/policies.d.ts.map +1 -0
  410. package/dist/workflows/policies.js +95 -0
  411. package/dist/workflows/policies.js.map +1 -0
  412. package/dist/workflows/resolve.d.ts +55 -0
  413. package/dist/workflows/resolve.d.ts.map +1 -0
  414. package/dist/workflows/resolve.js +57 -0
  415. package/dist/workflows/resolve.js.map +1 -0
  416. package/dist/workflows/schedule.d.ts +28 -0
  417. package/dist/workflows/schedule.d.ts.map +1 -0
  418. package/dist/workflows/schedule.js +160 -0
  419. package/dist/workflows/schedule.js.map +1 -0
  420. package/dist/workflows/step-act.d.ts +6 -0
  421. package/dist/workflows/step-act.d.ts.map +1 -0
  422. package/dist/workflows/step-act.js +79 -0
  423. package/dist/workflows/step-act.js.map +1 -0
  424. package/dist/workflows/step-agent.d.ts +4 -0
  425. package/dist/workflows/step-agent.d.ts.map +1 -0
  426. package/dist/workflows/step-agent.js +55 -0
  427. package/dist/workflows/step-agent.js.map +1 -0
  428. package/dist/workflows/step-archive.d.ts +8 -0
  429. package/dist/workflows/step-archive.d.ts.map +1 -0
  430. package/dist/workflows/step-archive.js +74 -0
  431. package/dist/workflows/step-archive.js.map +1 -0
  432. package/dist/workflows/step-classify.d.ts +23 -0
  433. package/dist/workflows/step-classify.d.ts.map +1 -0
  434. package/dist/workflows/step-classify.js +143 -0
  435. package/dist/workflows/step-classify.js.map +1 -0
  436. package/dist/workflows/step-generate.d.ts +7 -0
  437. package/dist/workflows/step-generate.d.ts.map +1 -0
  438. package/dist/workflows/step-generate.js +185 -0
  439. package/dist/workflows/step-generate.js.map +1 -0
  440. package/dist/workflows/steps.d.ts +75 -0
  441. package/dist/workflows/steps.d.ts.map +1 -0
  442. package/dist/workflows/steps.js +40 -0
  443. package/dist/workflows/steps.js.map +1 -0
  444. package/dist/workflows/triggered.d.ts +22 -0
  445. package/dist/workflows/triggered.d.ts.map +1 -0
  446. package/dist/workflows/triggered.js +52 -0
  447. package/dist/workflows/triggered.js.map +1 -0
  448. package/dist/workflows/values.d.ts +28 -0
  449. package/dist/workflows/values.d.ts.map +1 -0
  450. package/dist/workflows/values.js +75 -0
  451. package/dist/workflows/values.js.map +1 -0
  452. package/dist/workflows/words.d.ts +10 -0
  453. package/dist/workflows/words.d.ts.map +1 -0
  454. package/dist/workflows/words.js +30 -0
  455. package/dist/workflows/words.js.map +1 -0
  456. package/dist/workflows/world.d.ts +23 -0
  457. package/dist/workflows/world.d.ts.map +1 -0
  458. package/dist/workflows/world.js +50 -0
  459. package/dist/workflows/world.js.map +1 -0
  460. package/dist/workflows.d.ts +35 -0
  461. package/dist/workflows.d.ts.map +1 -0
  462. package/dist/workflows.js +20 -0
  463. package/dist/workflows.js.map +1 -0
  464. package/package.json +18 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/workflows/steps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import * as z from "../schema/zod.js";
2
+ import { NAME } from "../document/schema.js";
3
+ import { nounOf } from "../schema/define-node.js";
4
+ import { actStep } from "./step-act.js";
5
+ import { agentStep } from "./step-agent.js";
6
+ import { generateStep } from "./step-generate.js";
7
+ import { archiveStep } from "./step-archive.js";
8
+ import { classifyStep } from "./step-classify.js";
9
+ /** A kind's noun when no declaration is at hand: its name, read as words. */
10
+ export const kindNoun = (kind) => nounOf(undefined, kind);
11
+ /** Every kind of step, by its key. A new kind: its file, and one line here. */
12
+ export const STEP_KINDS = {
13
+ act: actStep,
14
+ agent: agentStep,
15
+ generate: generateStep,
16
+ archive: archiveStep,
17
+ classify: classifyStep,
18
+ };
19
+ /** The kind of a step, by the one key of `STEP_KINDS` it holds; undefined for one that holds none. */
20
+ export function stepKindOf(step) {
21
+ if (typeof step !== "object" || step === null)
22
+ return undefined;
23
+ for (const key of Object.keys(STEP_KINDS))
24
+ if (key in step)
25
+ return STEP_KINDS[key];
26
+ return undefined;
27
+ }
28
+ /** The shapes a step kind is built with. */
29
+ export function stepShapes() {
30
+ const str = (min, max) => z.string().check(z.minLength(min), z.maxLength(max));
31
+ const expression = str(1, 2000);
32
+ return {
33
+ str,
34
+ name: (what) => z.string().check(z.regex(NAME, `${what} names are kebab-case, lower-case words joined by hyphens like "add-event"`)),
35
+ expression,
36
+ value: z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(z.unknown()), z.strictObject({ expr: expression })]),
37
+ approve: z.enum(["apply", "suggest", "ask"], 'approve is "apply", "suggest" or "ask"'),
38
+ };
39
+ }
40
+ //# sourceMappingURL=steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/workflows/steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAoDlD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAa,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAkBpE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,OAAO;IACZ,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;CACsC,CAAC;AAI/D,sGAAsG;AACtG,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAChE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAkB;QAAE,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,UAAU,CAAC,GAAG,CAAsE,CAAC;IACzK,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO;QACL,GAAG;QACH,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,4EAA4E,CAAC,CAAC;QACpI,UAAU;QACV,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3H,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,wCAAwC,CAAC;KACvF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Operation } from "../ops/types.js";
2
+ import type { AnySchema } from "../schema/schema.js";
3
+ import type { Store } from "../store.js";
4
+ import type { WorkflowTrigger } from "../workflow-shape.js";
5
+ /** What a commit is, to a workflow: the ops it landed, or a connection's pass. */
6
+ export type WorkflowCommit = {
7
+ readonly ops: readonly Operation[];
8
+ } | {
9
+ readonly synced: string;
10
+ };
11
+ /** A trigger a commit fired, and the records that fired it. */
12
+ export interface FiredTrigger {
13
+ readonly trigger: WorkflowTrigger;
14
+ readonly records: readonly string[];
15
+ }
16
+ /** The triggers of a workflow a commit fires, in the order declared. */
17
+ export declare function triggeredBy<S extends AnySchema>(workflow: {
18
+ readonly name: string;
19
+ readonly title: string;
20
+ readonly when: readonly WorkflowTrigger[];
21
+ }, commit: WorkflowCommit, given: Store<S>): FiredTrigger[];
22
+ //# sourceMappingURL=triggered.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggered.d.ts","sourceRoot":"","sources":["../../src/workflows/triggered.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY5D,kFAAkF;AAClF,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAcD,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,QAAQ,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,CAsBhN"}
@@ -0,0 +1,52 @@
1
+ import { shapesFor } from "../document/computed-values.js";
2
+ import { evaluateExpr, ExprEvalError } from "../document/expr/evaluate.js";
3
+ import { parseExpr } from "../document/expr/parse.js";
4
+ import { matchSubscriptions } from "../subscriptions.js";
5
+ import { workflowAuthor } from "./resolve.js";
6
+ const holds = (where, node, store) => {
7
+ if (where === undefined)
8
+ return true;
9
+ if (!node)
10
+ return false;
11
+ try {
12
+ const value = evaluateExpr(parseExpr(where), { graph: store.graph, subject: node, kinds: shapesFor(store.schema) });
13
+ return value === true;
14
+ }
15
+ catch (error) {
16
+ if (error instanceof ExprEvalError)
17
+ return false;
18
+ return false;
19
+ }
20
+ };
21
+ /** The triggers of a workflow a commit fires, in the order declared. */
22
+ export function triggeredBy(workflow, commit, given) {
23
+ const store = given;
24
+ if ("synced" in commit)
25
+ return workflow.when.filter((trigger) => "synced" in trigger && trigger.synced === commit.synced).map((trigger) => ({ trigger, records: [] }));
26
+ const who = { ...workflowAuthor(workflow) };
27
+ const fired = [];
28
+ workflow.when.forEach((trigger, at) => {
29
+ if (!("made" in trigger) && !("changed" in trigger))
30
+ return;
31
+ const kind = "made" in trigger ? trigger.made : trigger.changed;
32
+ const subscription = { id: `workflow:${workflow.name}:${at}`, who, app: "", when: "made" in trigger ? { on: "created", kind } : { on: "changed", kind }, at: "" };
33
+ const records = new Set();
34
+ for (const match of matchSubscriptions(given, commit.ops, [subscription])) {
35
+ for (const record of match.records) {
36
+ if (record.kind !== kind)
37
+ continue;
38
+ if ("made" in trigger ? record.change !== "created" : record.change !== "changed")
39
+ continue;
40
+ if ("changed" in trigger && trigger.fields?.length && !(record.fields ?? []).some((field) => trigger.fields.includes(field.field)))
41
+ continue;
42
+ if (!holds(trigger.where, store.graph.getNode(record.id), store))
43
+ continue;
44
+ records.add(record.id);
45
+ }
46
+ }
47
+ if (records.size > 0)
48
+ fired.push({ trigger, records: [...records] });
49
+ });
50
+ return fired;
51
+ }
52
+ //# sourceMappingURL=triggered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggered.js","sourceRoot":"","sources":["../../src/workflows/triggered.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { AnyGraphNode } from "../graph/types.js";
2
+ import type { Principal } from "../permissions/types.js";
3
+ import type { AnySchema } from "../schema/schema.js";
4
+ import type { Store } from "../store.js";
5
+ import type { WorkflowDeclaration, WorkflowOver, WorkflowValue } from "../workflow-shape.js";
6
+ /** The ids of the records a step runs over, as `principal` sees them: those of the kind `where` holds of, at most `limit`, in the order they stand. */
7
+ export declare function recordsOver<S extends AnySchema>(store: Store<S>, over: WorkflowOver, principal: Principal): string[];
8
+ /**
9
+ * A STEP'S VALUE, as the act is handed it: `{ expr }` read with the record
10
+ * as its subject; `$subject` the record's id; `$now` and `$today` the
11
+ * run's moment and day; `$$…` a literal "$…"; anything else as written.
12
+ */
13
+ export declare function workflowValue<S extends AnySchema>(value: WorkflowValue, record: AnyGraphNode | undefined, store: Store<S>, now: {
14
+ readonly at: string;
15
+ readonly today: string;
16
+ }): unknown;
17
+ /** A key template read on what a step has: "{id}:{date}" → "task:7f3:2026-11-02". A name it has no value for reads as nothing. */
18
+ export declare function workflowKey(template: string, values: Readonly<Record<string, unknown>>): string;
19
+ /** A workflow as declared, hashed — all but whether it is paused, which changes when it runs, not what it does. */
20
+ export declare function workflowSpecHash(declared: WorkflowDeclaration): string;
21
+ /**
22
+ * THE ID A KEYED RECORD IS MADE UNDER (Roadmap f-job-idempotency):
23
+ * `<prefix>:wf.<workflow>.<key>` — the prefix the kind's ids carry, the
24
+ * workflow's name and the key slugged — asked for as a client asks for an
25
+ * id, so the store itself refuses a second record of the same key.
26
+ */
27
+ export declare const keyedId: (prefix: string, workflow: string, key: string) => string;
28
+ //# sourceMappingURL=values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/workflows/values.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAU7F,uJAAuJ;AACvJ,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAGpH;AAUD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAYzL;AAED,kIAAkI;AAClI,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAK/F;AAED,mHAAmH;AACnH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAGtE;AAQD;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,EAAE,KAAK,MAAM,KAAG,MAAoD,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { canonicalize } from "../document/canonical.js";
2
+ import { shapesFor } from "../document/computed-values.js";
3
+ import { evaluateExpr, NodeSet } from "../document/expr/evaluate.js";
4
+ import { parseExpr } from "../document/expr/parse.js";
5
+ import { sha256Hex } from "../integrity.js";
6
+ import { answerJob } from "../jobs.js";
7
+ /*
8
+ * WHAT A STEP READS, worked out as a runner needs it: the records `over`
9
+ * picks, as the run's author sees them; the value a step hands an act,
10
+ * read on the record it is over, as an act's own `{ expr }` values are;
11
+ * the key of what it makes; and the hash of a workflow as declared, which
12
+ * says whether the next run is the first after a change.
13
+ */
14
+ /** The ids of the records a step runs over, as `principal` sees them: those of the kind `where` holds of, at most `limit`, in the order they stand. */
15
+ export function recordsOver(store, over, principal) {
16
+ const ids = answerJob(store, { kind: over.kind, ...(over.where !== undefined ? { where: over.where } : {}) }, principal).ids;
17
+ return over.limit === undefined ? [...ids] : ids.slice(0, over.limit);
18
+ }
19
+ /** A value the language gives, as an act's argument takes it: a record as its id, a set as its ids. */
20
+ const asArgument = (value) => {
21
+ if (value instanceof NodeSet)
22
+ return value.nodes.map((node) => node.id);
23
+ if (Array.isArray(value))
24
+ return value.map((one) => asArgument(one));
25
+ if (value !== null && typeof value === "object")
26
+ return value.id;
27
+ return value;
28
+ };
29
+ /**
30
+ * A STEP'S VALUE, as the act is handed it: `{ expr }` read with the record
31
+ * as its subject; `$subject` the record's id; `$now` and `$today` the
32
+ * run's moment and day; `$$…` a literal "$…"; anything else as written.
33
+ */
34
+ export function workflowValue(value, record, store, now) {
35
+ if (value !== null && typeof value === "object" && !Array.isArray(value) && "expr" in value) {
36
+ const any = store;
37
+ return asArgument(evaluateExpr(parseExpr(value.expr), { graph: any.graph, subject: record ?? null, kinds: shapesFor(any.schema), today: now.today, ...(record ? { bindings: { subject: record } } : {}) }));
38
+ }
39
+ if (typeof value === "string") {
40
+ if (value.startsWith("$$"))
41
+ return value.slice(1);
42
+ if (value === "$subject")
43
+ return record?.id;
44
+ if (value === "$now")
45
+ return now.at;
46
+ if (value === "$today")
47
+ return now.today;
48
+ }
49
+ return value;
50
+ }
51
+ /** A key template read on what a step has: "{id}:{date}" → "task:7f3:2026-11-02". A name it has no value for reads as nothing. */
52
+ export function workflowKey(template, values) {
53
+ return template.replace(/\{([^{}|\s]+)(?:\s*\|[^{}]*)?\}/g, (_, name) => {
54
+ const value = values[name];
55
+ return value === undefined || value === null ? "" : typeof value === "object" ? JSON.stringify(value) : String(value);
56
+ });
57
+ }
58
+ /** A workflow as declared, hashed — all but whether it is paused, which changes when it runs, not what it does. */
59
+ export function workflowSpecHash(declared) {
60
+ const { status: _status, ...rest } = declared;
61
+ return sha256Hex(canonicalize(rest));
62
+ }
63
+ /** A key as an id may carry it: letters, digits and a few marks; a long one, or one with none of those, by its hash. */
64
+ const keySlug = (text) => {
65
+ const slug = text.toLowerCase().replace(/[^a-z0-9._:-]+/g, "-").replace(/^-+|-+$/g, "");
66
+ return slug.length > 0 && slug.length <= 120 ? slug : sha256Hex(text).slice(0, 24);
67
+ };
68
+ /**
69
+ * THE ID A KEYED RECORD IS MADE UNDER (Roadmap f-job-idempotency):
70
+ * `<prefix>:wf.<workflow>.<key>` — the prefix the kind's ids carry, the
71
+ * workflow's name and the key slugged — asked for as a client asks for an
72
+ * id, so the store itself refuses a second record of the same key.
73
+ */
74
+ export const keyedId = (prefix, workflow, key) => `${prefix}:wf.${workflow}.${keySlug(key)}`;
75
+ //# sourceMappingURL=values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/workflows/values.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { WorkflowTrigger } from "../workflow-shape.js";
2
+ import { type KindNoun } from "./steps.js";
3
+ /** One trigger in words: "every Sunday at 6 PM", "when a grocery list is made". */
4
+ export declare function triggerWords(trigger: WorkflowTrigger, noun?: KindNoun): string;
5
+ /** A workflow in a sentence. */
6
+ export declare function workflowWords(workflow: {
7
+ readonly title: string;
8
+ readonly when: readonly WorkflowTrigger[];
9
+ }, noun?: KindNoun): string;
10
+ //# sourceMappingURL=words.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"words.d.ts","sourceRoot":"","sources":["../../src/workflows/words.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAWrD,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,GAAE,QAAmB,GAAG,MAAM,CAMxF;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,EAAE,IAAI,GAAE,QAAmB,GAAG,MAAM,CAKhJ"}
@@ -0,0 +1,30 @@
1
+ import { scheduleWords } from "./schedule.js";
2
+ import { withArticle } from "../schema/define-node.js";
3
+ import { kindNoun } from "./steps.js";
4
+ /*
5
+ * A WORKFLOW IN A SENTENCE: what starts it, then what it does — "Every
6
+ * Sunday at 6 PM, and when a grocery list is made: fill out next week's
7
+ * events". Each kind by its noun: the declaration's, where the caller
8
+ * hands it (`noun`), else its name read as words.
9
+ */
10
+ const listed = (said) => (said.length <= 2 ? said.join(" and ") : `${said.slice(0, -1).join(", ")} and ${said.at(-1)}`);
11
+ /** One trigger in words: "every Sunday at 6 PM", "when a grocery list is made". */
12
+ export function triggerWords(trigger, noun = kindNoun) {
13
+ if ("every" in trigger || "cron" in trigger)
14
+ return scheduleWords(trigger);
15
+ if ("made" in trigger)
16
+ return `when ${withArticle(noun(trigger.made))} is made${trigger.where ? ` where ${trigger.where}` : ""}`;
17
+ if ("changed" in trigger)
18
+ return `when ${withArticle(noun(trigger.changed))}${trigger.fields?.length ? `'s ${listed(trigger.fields)}` : ""} changes${trigger.where ? ` where ${trigger.where}` : ""}`;
19
+ if ("synced" in trigger)
20
+ return `when the connection “${trigger.synced}” finishes a pass`;
21
+ return "when somebody runs it";
22
+ }
23
+ /** A workflow in a sentence. */
24
+ export function workflowWords(workflow, noun = kindNoun) {
25
+ const when = workflow.when.map((trigger) => triggerWords(trigger, noun));
26
+ const said = when.length <= 2 ? when.join(", and ") : `${when.slice(0, -1).join(", ")}, and ${when.at(-1)}`;
27
+ const start = said.charAt(0).toUpperCase() + said.slice(1);
28
+ return `${start}: ${workflow.title.charAt(0).toLowerCase()}${workflow.title.slice(1)}`;
29
+ }
30
+ //# sourceMappingURL=words.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"words.js","sourceRoot":"","sources":["../../src/workflows/words.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAErD;;;;;GAKG;AAEH,MAAM,MAAM,GAAG,CAAC,IAAuB,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEnJ,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,OAAwB,EAAE,OAAiB,QAAQ;IAC9E,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO;QAAE,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3E,IAAI,MAAM,IAAI,OAAO;QAAE,OAAO,QAAQ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjI,IAAI,SAAS,IAAI,OAAO;QAAE,OAAO,QAAQ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtM,IAAI,QAAQ,IAAI,OAAO;QAAE,OAAO,wBAAwB,OAAO,CAAC,MAAM,mBAAmB,CAAC;IAC1F,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,aAAa,CAAC,QAA+E,EAAE,OAAiB,QAAQ;IACtI,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,GAAG,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { GraviewApp } from "../app.js";
2
+ import type { GraviewDocument } from "../document/schema.js";
3
+ import { type JobWorld } from "../job-findings.js";
4
+ import type { AnySchema } from "../schema/schema.js";
5
+ /** A connection as a workflow reads it: the kinds it keeps in step, and whether this app's changes go out through it. */
6
+ export interface WorkflowConnection {
7
+ readonly kinds: readonly string[];
8
+ readonly writes: boolean;
9
+ }
10
+ export interface WorkflowWorld extends JobWorld {
11
+ /** Every act the app gives, declared and derived, by name. */
12
+ readonly acts: readonly string[];
13
+ /** The kinds an act makes records of; undefined where the app has no act of that name. */
14
+ actMakes(name: string): readonly string[] | undefined;
15
+ readonly connections: ReadonlyMap<string, WorkflowConnection>;
16
+ /** A kind as a person reads it: the noun its declaration says. */
17
+ noun(kind: string): string;
18
+ }
19
+ /** What a document's workflows may name, read off the document alone. */
20
+ export declare function workflowWorldOfDocument(document: GraviewDocument): WorkflowWorld;
21
+ /** What a compiled or TypeScript app's workflows may name. */
22
+ export declare function workflowWorldOfApp<S extends AnySchema>(app: GraviewApp<S>): WorkflowWorld;
23
+ //# sourceMappingURL=world.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/workflows/world.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAItF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAUrD,yHAAyH;AACzH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9D,kEAAkE;IAClE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAaD,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,aAAa,CAiBhF;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,CAczF"}
@@ -0,0 +1,50 @@
1
+ import { actsOfDocument } from "../document/act-spellings.js";
2
+ import { jobWorldOfApp, jobWorldOfDocument } from "../job-findings.js";
3
+ import { deriveMutations } from "../mutations/derive-edits.js";
4
+ import { derivedActOf, givenWhenNeverArchived } from "../mutations/derived-names.js";
5
+ import { nounOf } from "../schema/define-node.js";
6
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
7
+ /** A connection's kinds and direction, read loosely: one kind, or a kind per source. */
8
+ function connectionOf(spec) {
9
+ const given = isRecord(spec) ? spec : {};
10
+ const kinds = [given["kind"], ...(Array.isArray(given["sources"]) ? given["sources"].map((source) => (isRecord(source) ? source["kind"] : undefined)) : [])].filter((kind) => typeof kind === "string");
11
+ return { kinds, writes: given["direction"] !== "read" };
12
+ }
13
+ const connectionsOf = (connections) => new Map(Object.entries(connections ?? {}).map(([name, spec]) => [name, connectionOf(spec)]));
14
+ /** What a document's workflows may name, read off the document alone. */
15
+ export function workflowWorldOfDocument(document) {
16
+ const acts = document.acts ?? {};
17
+ return {
18
+ ...jobWorldOfDocument(document),
19
+ // A kind that is never set aside (`archives: false`) is given no archive, unarchive or merge: as the app's derived acts leave them out.
20
+ acts: actsOfDocument(document).filter((act) => {
21
+ const derived = derivedActOf(act);
22
+ return !derived || document.kinds[derived.kind]?.archives !== false || givenWhenNeverArchived(derived.act);
23
+ }),
24
+ actMakes(name) {
25
+ const act = acts[name];
26
+ if (act)
27
+ return [...new Set([...(act.creates ? [act.creates] : []), ...(act.effects ?? []).flatMap((effect) => (isRecord(effect) && typeof effect["create"] === "string" ? [effect["create"]] : []))])];
28
+ return derivedActOf(name) || this.actOn(name) !== undefined ? [] : undefined;
29
+ },
30
+ connections: connectionsOf(document.connections),
31
+ noun: (kind) => nounOf(document.kinds[kind], kind),
32
+ };
33
+ }
34
+ /** What a compiled or TypeScript app's workflows may name. */
35
+ export function workflowWorldOfApp(app) {
36
+ const declared = app.mutations ?? [];
37
+ const every = [...declared, ...deriveMutations(app.schema, declared)];
38
+ const byName = new Map(every.map((mutation) => [mutation.name, mutation]));
39
+ return {
40
+ ...jobWorldOfApp(app),
41
+ acts: [...byName.keys()],
42
+ actMakes: (name) => {
43
+ const mutation = byName.get(name);
44
+ return mutation ? [...(mutation.creates ?? [])] : undefined;
45
+ },
46
+ connections: connectionsOf(app.connections),
47
+ noun: (kind) => nounOf(app.schema.tryDefinition(kind), kind),
48
+ };
49
+ }
50
+ //# sourceMappingURL=world.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/workflows/world.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * `@graview/core/workflows` — WHAT THE APP DOES ON ITS OWN, AND WHEN
3
+ * (Roadmap f-jobs-declared).
4
+ *
5
+ * The declaration's `workflows`, read: their shape (`WorkflowSpec`), the
6
+ * closed set of step kinds (`STEP_KINDS`) and what each may name
7
+ * (`workflowWorldOfDocument`, `workflowWorldOfApp`), each resolved with its
8
+ * defaults (`workflowsOf`, dreaming among them), said in a sentence
9
+ * (`workflowWords`), when it next runs on its clock (`nextRunAt`), what a
10
+ * commit starts (`triggeredBy`) and what the checker says of them
11
+ * (`workflowFindings`). Running one is
12
+ * `@graview/tools/workflows`' (`runWorkflow`). An entry of its own, on no
13
+ * page: nothing a page draws runs a workflow.
14
+ */
15
+ export type { ActStep, AgentStep, ArchiveStep, ClassifyFloorRule, ClassifyStep, GenerateFrom, GenerateStep, GenerateWindow, AppWorkflows, WorkflowApproval, WorkflowDeclaration, WorkflowOver, WorkflowStep, WorkflowTrigger, WorkflowValue } from "./workflow-shape.js";
16
+ export { MOST_STEPS, MOST_WORKFLOWS } from "./workflow-shape.js";
17
+ export { kindNoun, STEP_KINDS, stepKindOf, stepShapes, type KindNoun, type StepCheck, type StepKind, type StepKindKey, type StepShapes, type WorkflowFinding } from "./workflows/steps.js";
18
+ export { actStep, keyFields } from "./workflows/step-act.js";
19
+ export { agentStep } from "./workflows/step-agent.js";
20
+ export { classifyAsks, classifyStep, classifyWords, floorLabel, linksIn, type FloorReading } from "./workflows/step-classify.js";
21
+ export { actsMaking, generateStep } from "./workflows/step-generate.js";
22
+ export { datesIn, generateWants, windowDays, type GenerateReading, type GenerateWants, type WantedRecord } from "./workflows/generate.js";
23
+ export { DEFAULT_GENERATE_KEY, MOST_GENERATED, MOST_WINDOW_DAYS } from "./workflows/generate-words.js";
24
+ export { afterMs, afterWords, archiveStep } from "./workflows/step-archive.js";
25
+ export { followsFindings, keeps, policiesOf, policyApplies, policyInstruction, type WorkflowPolicy } from "./workflows/policies.js";
26
+ export { workflowWorldOfApp, workflowWorldOfDocument, type WorkflowConnection, type WorkflowWorld } from "./workflows/world.js";
27
+ export { WorkflowSpec, WorkflowStepSpec, WorkflowTriggerSpec, WorkflowsSpec } from "./document/workflow-spec.js";
28
+ export { declaredWorkflows, DREAMING, dreamingWorkflow, resolveWorkflow, workflowAuthor, workflowReach, workflowsOf, type ResolvedWorkflow } from "./workflows/resolve.js";
29
+ export { scheduleOf, scheduleOfCron, scheduleOfWords, scheduleWords, SCHEDULE_WORDS, type Schedule } from "./workflows/schedule.js";
30
+ export { nextOf, nextRunAt } from "./workflows/next.js";
31
+ export { triggerWords, workflowWords } from "./workflows/words.js";
32
+ export { triggeredBy, type FiredTrigger, type WorkflowCommit } from "./workflows/triggered.js";
33
+ export { documentWorkflowFindings, workflowFindings, workflowFindingsOf } from "./workflows/findings.js";
34
+ export { keyedId, recordsOver, workflowKey, workflowSpecHash, workflowValue } from "./workflows/values.js";
35
+ //# sourceMappingURL=workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzQ,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3L,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChI,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC3K,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,20 @@
1
+ export { MOST_STEPS, MOST_WORKFLOWS } from "./workflow-shape.js";
2
+ export { kindNoun, STEP_KINDS, stepKindOf, stepShapes } from "./workflows/steps.js";
3
+ export { actStep, keyFields } from "./workflows/step-act.js";
4
+ export { agentStep } from "./workflows/step-agent.js";
5
+ export { classifyAsks, classifyStep, classifyWords, floorLabel, linksIn } from "./workflows/step-classify.js";
6
+ export { actsMaking, generateStep } from "./workflows/step-generate.js";
7
+ export { datesIn, generateWants, windowDays } from "./workflows/generate.js";
8
+ export { DEFAULT_GENERATE_KEY, MOST_GENERATED, MOST_WINDOW_DAYS } from "./workflows/generate-words.js";
9
+ export { afterMs, afterWords, archiveStep } from "./workflows/step-archive.js";
10
+ export { followsFindings, keeps, policiesOf, policyApplies, policyInstruction } from "./workflows/policies.js";
11
+ export { workflowWorldOfApp, workflowWorldOfDocument } from "./workflows/world.js";
12
+ export { WorkflowSpec, WorkflowStepSpec, WorkflowTriggerSpec, WorkflowsSpec } from "./document/workflow-spec.js";
13
+ export { declaredWorkflows, DREAMING, dreamingWorkflow, resolveWorkflow, workflowAuthor, workflowReach, workflowsOf } from "./workflows/resolve.js";
14
+ export { scheduleOf, scheduleOfCron, scheduleOfWords, scheduleWords, SCHEDULE_WORDS } from "./workflows/schedule.js";
15
+ export { nextOf, nextRunAt } from "./workflows/next.js";
16
+ export { triggerWords, workflowWords } from "./workflows/words.js";
17
+ export { triggeredBy } from "./workflows/triggered.js";
18
+ export { documentWorkflowFindings, workflowFindings, workflowFindingsOf } from "./workflows/findings.js";
19
+ export { keyedId, recordsOver, workflowKey, workflowSpecHash, workflowValue } from "./workflows/values.js";
20
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAyG,MAAM,sBAAsB,CAAC;AAC3L,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAqB,MAAM,8BAA8B,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAA+D,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAuB,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAA+C,MAAM,sBAAsB,CAAC;AAChI,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAyB,MAAM,wBAAwB,CAAC;AAC3K,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAiB,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAA0C,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graview/core",
3
- "version": "0.1.61",
3
+ "version": "0.1.63",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -89,10 +89,18 @@
89
89
  "types": "./dist/jobs.d.ts",
90
90
  "default": "./dist/jobs.js"
91
91
  },
92
+ "./workflows": {
93
+ "types": "./dist/workflows.d.ts",
94
+ "default": "./dist/workflows.js"
95
+ },
92
96
  "./friction": {
93
97
  "types": "./dist/friction.d.ts",
94
98
  "default": "./dist/friction.js"
95
99
  },
100
+ "./css": {
101
+ "types": "./dist/css.d.ts",
102
+ "default": "./dist/css.js"
103
+ },
96
104
  "./learn": {
97
105
  "types": "./dist/learn.d.ts",
98
106
  "default": "./dist/learn.js"
@@ -101,6 +109,10 @@
101
109
  "types": "./dist/compose.d.ts",
102
110
  "default": "./dist/compose.js"
103
111
  },
112
+ "./traits": {
113
+ "types": "./dist/trait-vocabulary.d.ts",
114
+ "default": "./dist/trait-vocabulary.js"
115
+ },
104
116
  "./subscriptions": {
105
117
  "types": "./dist/subscriptions.d.ts",
106
118
  "default": "./dist/subscriptions.js"
@@ -216,8 +228,12 @@
216
228
  "./src/field-sight.ts",
217
229
  "./dist/publishing.js",
218
230
  "./src/publishing.ts",
231
+ "./dist/tidying.js",
232
+ "./src/tidying.ts",
219
233
  "./dist/typing.js",
220
- "./src/typing.ts"
234
+ "./src/typing.ts",
235
+ "./dist/workflows/findings.js",
236
+ "./src/workflows/findings.ts"
221
237
  ],
222
238
  "repository": {
223
239
  "type": "git",