@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://unpkg.com/@graview/core@0.1.61/dist/document.schema.json",
4
- "title": "Graview declaration document, format 1 (@graview/core 0.1.61)",
3
+ "$id": "https://unpkg.com/@graview/core@0.1.63/dist/document.schema.json",
4
+ "title": "Graview declaration document, format 1 (@graview/core 0.1.63)",
5
5
  "description": "A whole Graview app as one JSON object: its kinds, fields, relations, acts, rules, roles, views and brand. `graview check --document <file>` compiles it and says what is wrong in words; this schema is the same shape, for an editor. Name it in a document's \"$schema\".",
6
6
  "type": "object",
7
7
  "properties": {
@@ -191,6 +191,10 @@
191
191
  "markdown"
192
192
  ]
193
193
  },
194
+ "places": {
195
+ "type": "number",
196
+ "const": 0
197
+ },
194
198
  "min": {
195
199
  "type": "number"
196
200
  },
@@ -562,6 +566,10 @@
562
566
  "minLength": 1,
563
567
  "maxLength": 12
564
568
  },
569
+ "places": {
570
+ "type": "number",
571
+ "const": 0
572
+ },
565
573
  "hidden": {
566
574
  "type": "boolean"
567
575
  }
@@ -601,6 +609,102 @@
601
609
  "never",
602
610
  "no-links"
603
611
  ]
612
+ },
613
+ "derives": {
614
+ "type": "object",
615
+ "properties": {
616
+ "from": {
617
+ "type": "string",
618
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
619
+ },
620
+ "via": {
621
+ "type": "string",
622
+ "pattern": "^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$",
623
+ "not": {
624
+ "enum": [
625
+ "constructor",
626
+ "__defineGetter__",
627
+ "__defineSetter__",
628
+ "hasOwnProperty",
629
+ "__lookupGetter__",
630
+ "__lookupSetter__",
631
+ "isPrototypeOf",
632
+ "propertyIsEnumerable",
633
+ "toString",
634
+ "valueOf",
635
+ "__proto__",
636
+ "toLocaleString"
637
+ ]
638
+ },
639
+ "description": "Kinds, acts, rules and roles are kebab-case, like \"tool-note\"; fields and relations are camelCase, like \"supersededBy\", so a rule can say them bare. A kind keeps the name it is given, because every record stores it."
640
+ },
641
+ "set": {
642
+ "type": "object",
643
+ "propertyNames": {
644
+ "type": "string",
645
+ "pattern": "^[a-z][A-Za-z0-9]*$",
646
+ "not": {
647
+ "enum": [
648
+ "id",
649
+ "kind",
650
+ "constructor",
651
+ "__defineGetter__",
652
+ "__defineSetter__",
653
+ "hasOwnProperty",
654
+ "__lookupGetter__",
655
+ "__lookupSetter__",
656
+ "isPrototypeOf",
657
+ "propertyIsEnumerable",
658
+ "toString",
659
+ "valueOf",
660
+ "__proto__",
661
+ "toLocaleString"
662
+ ]
663
+ },
664
+ "description": "Kinds, acts, rules and roles are kebab-case, like \"tool-note\"; fields and relations are camelCase, like \"supersededBy\", so a rule can say them bare. A kind keeps the name it is given, because every record stores it."
665
+ },
666
+ "additionalProperties": {
667
+ "anyOf": [
668
+ {
669
+ "type": "string"
670
+ },
671
+ {
672
+ "type": "number"
673
+ },
674
+ {
675
+ "type": "boolean"
676
+ },
677
+ {
678
+ "type": "null"
679
+ },
680
+ {
681
+ "type": "array",
682
+ "items": {}
683
+ },
684
+ {
685
+ "type": "object",
686
+ "properties": {
687
+ "expr": {
688
+ "type": "string",
689
+ "minLength": 1,
690
+ "maxLength": 2000
691
+ }
692
+ },
693
+ "required": [
694
+ "expr"
695
+ ],
696
+ "additionalProperties": false
697
+ }
698
+ ]
699
+ }
700
+ }
701
+ },
702
+ "required": [
703
+ "from",
704
+ "via",
705
+ "set"
706
+ ],
707
+ "additionalProperties": false
604
708
  }
605
709
  },
606
710
  "required": [
@@ -655,6 +759,10 @@
655
759
  "minLength": 1,
656
760
  "maxLength": 12
657
761
  },
762
+ "places": {
763
+ "type": "number",
764
+ "const": 0
765
+ },
658
766
  "hidden": {
659
767
  "type": "boolean"
660
768
  }
@@ -867,6 +975,90 @@
867
975
  ]
868
976
  }
869
977
  },
978
+ "setsLinked": {
979
+ "type": "object",
980
+ "propertyNames": {
981
+ "type": "string",
982
+ "pattern": "^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$",
983
+ "not": {
984
+ "enum": [
985
+ "constructor",
986
+ "__defineGetter__",
987
+ "__defineSetter__",
988
+ "hasOwnProperty",
989
+ "__lookupGetter__",
990
+ "__lookupSetter__",
991
+ "isPrototypeOf",
992
+ "propertyIsEnumerable",
993
+ "toString",
994
+ "valueOf",
995
+ "__proto__",
996
+ "toLocaleString"
997
+ ]
998
+ },
999
+ "description": "Kinds, acts, rules and roles are kebab-case, like \"tool-note\"; fields and relations are camelCase, like \"supersededBy\", so a rule can say them bare. A kind keeps the name it is given, because every record stores it."
1000
+ },
1001
+ "additionalProperties": {
1002
+ "type": "object",
1003
+ "propertyNames": {
1004
+ "type": "string",
1005
+ "pattern": "^[a-z][A-Za-z0-9]*$",
1006
+ "not": {
1007
+ "enum": [
1008
+ "id",
1009
+ "kind",
1010
+ "constructor",
1011
+ "__defineGetter__",
1012
+ "__defineSetter__",
1013
+ "hasOwnProperty",
1014
+ "__lookupGetter__",
1015
+ "__lookupSetter__",
1016
+ "isPrototypeOf",
1017
+ "propertyIsEnumerable",
1018
+ "toString",
1019
+ "valueOf",
1020
+ "__proto__",
1021
+ "toLocaleString"
1022
+ ]
1023
+ },
1024
+ "description": "Kinds, acts, rules and roles are kebab-case, like \"tool-note\"; fields and relations are camelCase, like \"supersededBy\", so a rule can say them bare. A kind keeps the name it is given, because every record stores it."
1025
+ },
1026
+ "additionalProperties": {
1027
+ "anyOf": [
1028
+ {
1029
+ "type": "string"
1030
+ },
1031
+ {
1032
+ "type": "number"
1033
+ },
1034
+ {
1035
+ "type": "boolean"
1036
+ },
1037
+ {
1038
+ "type": "null"
1039
+ },
1040
+ {
1041
+ "type": "array",
1042
+ "items": {}
1043
+ },
1044
+ {
1045
+ "type": "object",
1046
+ "properties": {
1047
+ "expr": {
1048
+ "type": "string",
1049
+ "minLength": 1,
1050
+ "maxLength": 2000
1051
+ }
1052
+ },
1053
+ "required": [
1054
+ "expr"
1055
+ ],
1056
+ "additionalProperties": false
1057
+ }
1058
+ ]
1059
+ }
1060
+ }
1061
+ },
870
1062
  "replaces": {
871
1063
  "anyOf": [
872
1064
  {
@@ -1030,6 +1222,10 @@
1030
1222
  "markdown"
1031
1223
  ]
1032
1224
  },
1225
+ "places": {
1226
+ "type": "number",
1227
+ "const": 0
1228
+ },
1033
1229
  "min": {
1034
1230
  "type": "number"
1035
1231
  },
@@ -1422,6 +1618,45 @@
1422
1618
  "minLength": 1,
1423
1619
  "maxLength": 2000
1424
1620
  },
1621
+ "covers": {
1622
+ "type": "object",
1623
+ "properties": {
1624
+ "every": {
1625
+ "type": "string",
1626
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
1627
+ },
1628
+ "through": {
1629
+ "type": "string",
1630
+ "pattern": "^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$",
1631
+ "not": {
1632
+ "enum": [
1633
+ "constructor",
1634
+ "__defineGetter__",
1635
+ "__defineSetter__",
1636
+ "hasOwnProperty",
1637
+ "__lookupGetter__",
1638
+ "__lookupSetter__",
1639
+ "isPrototypeOf",
1640
+ "propertyIsEnumerable",
1641
+ "toString",
1642
+ "valueOf",
1643
+ "__proto__",
1644
+ "toLocaleString"
1645
+ ]
1646
+ },
1647
+ "description": "Kinds, acts, rules and roles are kebab-case, like \"tool-note\"; fields and relations are camelCase, like \"supersededBy\", so a rule can say them bare. A kind keeps the name it is given, because every record stores it."
1648
+ },
1649
+ "via": {
1650
+ "type": "string",
1651
+ "pattern": "^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$"
1652
+ }
1653
+ },
1654
+ "required": [
1655
+ "every",
1656
+ "through"
1657
+ ],
1658
+ "additionalProperties": false
1659
+ },
1425
1660
  "says": {
1426
1661
  "type": "string",
1427
1662
  "minLength": 1,
@@ -1491,10 +1726,38 @@
1491
1726
  }
1492
1727
  },
1493
1728
  "required": [
1494
- "over",
1495
- "require"
1729
+ "over"
1496
1730
  ],
1497
- "additionalProperties": false
1731
+ "additionalProperties": false,
1732
+ "oneOf": [
1733
+ {
1734
+ "required": [
1735
+ "require"
1736
+ ],
1737
+ "not": {
1738
+ "required": [
1739
+ "covers"
1740
+ ]
1741
+ }
1742
+ },
1743
+ {
1744
+ "required": [
1745
+ "covers"
1746
+ ],
1747
+ "not": {
1748
+ "required": [
1749
+ "require"
1750
+ ]
1751
+ },
1752
+ "properties": {
1753
+ "over": {
1754
+ "not": {
1755
+ "const": "graph"
1756
+ }
1757
+ }
1758
+ }
1759
+ }
1760
+ ]
1498
1761
  }
1499
1762
  },
1500
1763
  "roles": {
@@ -1531,7 +1794,6 @@
1531
1794
  "mutations": {
1532
1795
  "anyOf": [
1533
1796
  {
1534
- "minItems": 1,
1535
1797
  "type": "array",
1536
1798
  "items": {
1537
1799
  "type": "string",
@@ -1569,6 +1831,22 @@
1569
1831
  },
1570
1832
  "ownEnd": {
1571
1833
  "type": "boolean"
1834
+ },
1835
+ "propose": {
1836
+ "anyOf": [
1837
+ {
1838
+ "minItems": 1,
1839
+ "type": "array",
1840
+ "items": {
1841
+ "type": "string",
1842
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
1843
+ }
1844
+ },
1845
+ {
1846
+ "type": "string",
1847
+ "const": "*"
1848
+ }
1849
+ ]
1572
1850
  }
1573
1851
  },
1574
1852
  "required": [
@@ -2475,29 +2753,84 @@
2475
2753
  "subtitle": {
2476
2754
  "type": "boolean",
2477
2755
  "const": false
2478
- }
2479
- },
2480
- "additionalProperties": false
2481
- },
2482
- "settings": {
2483
- "type": "array",
2484
- "items": {
2485
- "type": "object",
2486
- "propertyNames": {
2487
- "type": "string"
2488
- },
2489
- "additionalProperties": {}
2490
- }
2491
- },
2492
- "migrations": {
2493
- "type": "array",
2494
- "items": {
2495
- "type": "object",
2496
- "propertyNames": {
2497
- "type": "string"
2498
2756
  },
2499
- "additionalProperties": {}
2500
- }
2757
+ "splash": {
2758
+ "type": "object",
2759
+ "properties": {
2760
+ "style": {
2761
+ "type": "string",
2762
+ "enum": [
2763
+ "plain",
2764
+ "editorial",
2765
+ "shader",
2766
+ "ascii"
2767
+ ]
2768
+ },
2769
+ "image": {
2770
+ "type": "string",
2771
+ "minLength": 1,
2772
+ "maxLength": 65536
2773
+ },
2774
+ "title": {
2775
+ "type": "string",
2776
+ "minLength": 1,
2777
+ "maxLength": 80
2778
+ },
2779
+ "kicker": {
2780
+ "type": "string",
2781
+ "minLength": 1,
2782
+ "maxLength": 80
2783
+ },
2784
+ "shader": {
2785
+ "type": "string",
2786
+ "minLength": 1,
2787
+ "maxLength": 40
2788
+ }
2789
+ },
2790
+ "required": [
2791
+ "style"
2792
+ ],
2793
+ "additionalProperties": false
2794
+ },
2795
+ "views": {
2796
+ "type": "object",
2797
+ "properties": {
2798
+ "css": {
2799
+ "type": "string",
2800
+ "minLength": 1
2801
+ },
2802
+ "motion": {
2803
+ "type": "string",
2804
+ "enum": [
2805
+ "none",
2806
+ "fade"
2807
+ ]
2808
+ }
2809
+ },
2810
+ "additionalProperties": false
2811
+ }
2812
+ },
2813
+ "additionalProperties": false
2814
+ },
2815
+ "settings": {
2816
+ "type": "array",
2817
+ "items": {
2818
+ "type": "object",
2819
+ "propertyNames": {
2820
+ "type": "string"
2821
+ },
2822
+ "additionalProperties": {}
2823
+ }
2824
+ },
2825
+ "migrations": {
2826
+ "type": "array",
2827
+ "items": {
2828
+ "type": "object",
2829
+ "propertyNames": {
2830
+ "type": "string"
2831
+ },
2832
+ "additionalProperties": {}
2833
+ }
2501
2834
  },
2502
2835
  "connections": {
2503
2836
  "description": "Other systems this app is kept in step with, by name: a Google calendar (`system: google-calendar`) or a Notion database (`system: notion`). `graview serve` and `graview preview` run them, with credentials from the environment; none is ever written here.",
@@ -2590,6 +2923,49 @@
2590
2923
  "description": {
2591
2924
  "type": "string",
2592
2925
  "pattern": "^[a-z][A-Za-z0-9]*$"
2926
+ },
2927
+ "guests": {
2928
+ "anyOf": [
2929
+ {
2930
+ "type": "string",
2931
+ "pattern": "^[a-z][A-Za-z0-9]*$"
2932
+ },
2933
+ {
2934
+ "type": "object",
2935
+ "properties": {
2936
+ "via": {
2937
+ "type": "string",
2938
+ "pattern": "^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$"
2939
+ },
2940
+ "emails": {
2941
+ "type": "string",
2942
+ "pattern": "^[a-z][A-Za-z0-9]*$"
2943
+ },
2944
+ "invite": {
2945
+ "anyOf": [
2946
+ {
2947
+ "type": "string",
2948
+ "pattern": "^[a-z][A-Za-z0-9]*$"
2949
+ },
2950
+ {
2951
+ "type": "boolean",
2952
+ "const": false
2953
+ }
2954
+ ]
2955
+ },
2956
+ "notify": {
2957
+ "type": "boolean"
2958
+ },
2959
+ "max": {
2960
+ "type": "number"
2961
+ }
2962
+ },
2963
+ "required": [
2964
+ "via"
2965
+ ],
2966
+ "additionalProperties": false
2967
+ }
2968
+ ]
2593
2969
  }
2594
2970
  },
2595
2971
  "required": [
@@ -2760,6 +3136,87 @@
2760
3136
  ]
2761
3137
  }
2762
3138
  },
3139
+ "sources": {
3140
+ "minItems": 1,
3141
+ "maxItems": 20,
3142
+ "type": "array",
3143
+ "items": {
3144
+ "type": "object",
3145
+ "properties": {
3146
+ "source": {
3147
+ "type": "string",
3148
+ "minLength": 1,
3149
+ "maxLength": 200
3150
+ },
3151
+ "kind": {
3152
+ "type": "string",
3153
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3154
+ },
3155
+ "description": {
3156
+ "type": "string",
3157
+ "minLength": 1,
3158
+ "maxLength": 500
3159
+ },
3160
+ "properties": {
3161
+ "type": "object",
3162
+ "propertyNames": {
3163
+ "type": "string",
3164
+ "pattern": "^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$"
3165
+ },
3166
+ "additionalProperties": {
3167
+ "anyOf": [
3168
+ {
3169
+ "type": "string",
3170
+ "minLength": 1,
3171
+ "maxLength": 100
3172
+ },
3173
+ {
3174
+ "type": "object",
3175
+ "properties": {
3176
+ "name": {
3177
+ "type": "string",
3178
+ "minLength": 1,
3179
+ "maxLength": 100
3180
+ },
3181
+ "type": {
3182
+ "type": "string",
3183
+ "enum": [
3184
+ "title",
3185
+ "rich_text",
3186
+ "number",
3187
+ "select",
3188
+ "status",
3189
+ "multi_select",
3190
+ "date",
3191
+ "checkbox",
3192
+ "url",
3193
+ "email",
3194
+ "phone_number",
3195
+ "people",
3196
+ "relation"
3197
+ ]
3198
+ }
3199
+ },
3200
+ "required": [
3201
+ "name",
3202
+ "type"
3203
+ ],
3204
+ "additionalProperties": false
3205
+ }
3206
+ ]
3207
+ }
3208
+ }
3209
+ },
3210
+ "required": [
3211
+ "source",
3212
+ "kind"
3213
+ ],
3214
+ "additionalProperties": false
3215
+ }
3216
+ },
3217
+ "create": {
3218
+ "type": "boolean"
3219
+ },
2763
3220
  "direction": {
2764
3221
  "type": "string",
2765
3222
  "enum": [
@@ -2787,7 +3244,6 @@
2787
3244
  "required": [
2788
3245
  "system",
2789
3246
  "database",
2790
- "kind",
2791
3247
  "direction"
2792
3248
  ],
2793
3249
  "additionalProperties": false
@@ -2883,44 +3339,670 @@
2883
3339
  "additionalProperties": false,
2884
3340
  "description": "Who the app is for (`for`), and up to twelve jobs they come to it to do: each a question in their words (`ask`), answered by the records of one kind (`kind`) a rule-language condition holds for (`where`), in an order (`sort`), with the act they usually take next (`act`), for some roles or everybody (`roles`)."
2885
3341
  },
2886
- "forms": {
3342
+ "workflows": {
3343
+ "description": "What the app does on its own, by name: each a title, what starts it (`when`: `every` in words like \"sunday 18:00\", `cron`, a record `made` or `changed`, a connection `synced`, or `byHand`), whether it is paused, what its changes become (`approve`: apply, suggest or ask) and its steps in order — run an act (`act`, once or `over` the records a rule picks, `key` for what it makes) or let a model propose (`agent`).",
2887
3344
  "type": "object",
2888
3345
  "propertyNames": {
2889
- "type": "string",
2890
3346
  "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
2891
3347
  },
2892
3348
  "additionalProperties": {
2893
3349
  "type": "object",
2894
3350
  "properties": {
2895
- "act": {
2896
- "type": "string",
2897
- "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
2898
- },
2899
3351
  "title": {
2900
3352
  "type": "string",
2901
3353
  "minLength": 1,
2902
- "maxLength": 80
3354
+ "maxLength": 120
2903
3355
  },
2904
- "intro": {
3356
+ "when": {
3357
+ "minItems": 1,
3358
+ "maxItems": 12,
3359
+ "type": "array",
3360
+ "items": {
3361
+ "anyOf": [
3362
+ {
3363
+ "type": "object",
3364
+ "properties": {
3365
+ "every": {
3366
+ "type": "string",
3367
+ "minLength": 1,
3368
+ "maxLength": 80
3369
+ }
3370
+ },
3371
+ "required": [
3372
+ "every"
3373
+ ],
3374
+ "additionalProperties": false
3375
+ },
3376
+ {
3377
+ "type": "object",
3378
+ "properties": {
3379
+ "cron": {
3380
+ "type": "string",
3381
+ "minLength": 9,
3382
+ "maxLength": 120
3383
+ }
3384
+ },
3385
+ "required": [
3386
+ "cron"
3387
+ ],
3388
+ "additionalProperties": false
3389
+ },
3390
+ {
3391
+ "type": "object",
3392
+ "properties": {
3393
+ "made": {
3394
+ "type": "string",
3395
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3396
+ },
3397
+ "where": {
3398
+ "type": "string",
3399
+ "minLength": 1,
3400
+ "maxLength": 2000
3401
+ }
3402
+ },
3403
+ "required": [
3404
+ "made"
3405
+ ],
3406
+ "additionalProperties": false
3407
+ },
3408
+ {
3409
+ "type": "object",
3410
+ "properties": {
3411
+ "changed": {
3412
+ "type": "string",
3413
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3414
+ },
3415
+ "fields": {
3416
+ "minItems": 1,
3417
+ "maxItems": 40,
3418
+ "type": "array",
3419
+ "items": {
3420
+ "type": "string",
3421
+ "pattern": "^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$"
3422
+ }
3423
+ },
3424
+ "where": {
3425
+ "type": "string",
3426
+ "minLength": 1,
3427
+ "maxLength": 2000
3428
+ }
3429
+ },
3430
+ "required": [
3431
+ "changed"
3432
+ ],
3433
+ "additionalProperties": false
3434
+ },
3435
+ {
3436
+ "type": "object",
3437
+ "properties": {
3438
+ "synced": {
3439
+ "type": "string",
3440
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3441
+ }
3442
+ },
3443
+ "required": [
3444
+ "synced"
3445
+ ],
3446
+ "additionalProperties": false
3447
+ },
3448
+ {
3449
+ "type": "object",
3450
+ "properties": {
3451
+ "byHand": {
3452
+ "type": "boolean",
3453
+ "const": true
3454
+ }
3455
+ },
3456
+ "required": [
3457
+ "byHand"
3458
+ ],
3459
+ "additionalProperties": false
3460
+ }
3461
+ ]
3462
+ }
3463
+ },
3464
+ "status": {
2905
3465
  "type": "string",
2906
- "minLength": 1,
2907
- "maxLength": 500
3466
+ "enum": [
3467
+ "active",
3468
+ "paused"
3469
+ ]
2908
3470
  },
2909
- "fields": {
3471
+ "approve": {
3472
+ "type": "string",
3473
+ "enum": [
3474
+ "apply",
3475
+ "suggest",
3476
+ "ask"
3477
+ ]
3478
+ },
3479
+ "steps": {
2910
3480
  "minItems": 1,
2911
3481
  "maxItems": 40,
2912
3482
  "type": "array",
2913
3483
  "items": {
2914
- "type": "string",
2915
- "pattern": "^[a-z][A-Za-z0-9]*$",
2916
- "not": {
2917
- "enum": [
2918
- "id",
2919
- "kind",
2920
- "constructor",
2921
- "__defineGetter__",
2922
- "__defineSetter__",
2923
- "hasOwnProperty",
3484
+ "anyOf": [
3485
+ {
3486
+ "type": "object",
3487
+ "properties": {
3488
+ "act": {
3489
+ "type": "string",
3490
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3491
+ },
3492
+ "over": {
3493
+ "type": "object",
3494
+ "properties": {
3495
+ "kind": {
3496
+ "type": "string",
3497
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3498
+ },
3499
+ "where": {
3500
+ "type": "string",
3501
+ "minLength": 1,
3502
+ "maxLength": 2000
3503
+ },
3504
+ "limit": {
3505
+ "type": "integer",
3506
+ "minimum": 1,
3507
+ "maximum": 10000
3508
+ }
3509
+ },
3510
+ "required": [
3511
+ "kind"
3512
+ ],
3513
+ "additionalProperties": false
3514
+ },
3515
+ "args": {
3516
+ "type": "object",
3517
+ "propertyNames": {
3518
+ "type": "string"
3519
+ },
3520
+ "additionalProperties": {
3521
+ "anyOf": [
3522
+ {
3523
+ "type": "string"
3524
+ },
3525
+ {
3526
+ "type": "number"
3527
+ },
3528
+ {
3529
+ "type": "boolean"
3530
+ },
3531
+ {
3532
+ "type": "null"
3533
+ },
3534
+ {
3535
+ "type": "array",
3536
+ "items": {}
3537
+ },
3538
+ {
3539
+ "type": "object",
3540
+ "properties": {
3541
+ "expr": {
3542
+ "type": "string",
3543
+ "minLength": 1,
3544
+ "maxLength": 2000
3545
+ }
3546
+ },
3547
+ "required": [
3548
+ "expr"
3549
+ ],
3550
+ "additionalProperties": false
3551
+ }
3552
+ ]
3553
+ }
3554
+ },
3555
+ "key": {
3556
+ "type": "string",
3557
+ "minLength": 1,
3558
+ "maxLength": 300
3559
+ },
3560
+ "approve": {
3561
+ "type": "string",
3562
+ "enum": [
3563
+ "apply",
3564
+ "suggest",
3565
+ "ask"
3566
+ ]
3567
+ }
3568
+ },
3569
+ "required": [
3570
+ "act"
3571
+ ],
3572
+ "additionalProperties": false
3573
+ },
3574
+ {
3575
+ "type": "object",
3576
+ "properties": {
3577
+ "agent": {
3578
+ "type": "string",
3579
+ "minLength": 1,
3580
+ "maxLength": 2000
3581
+ },
3582
+ "reads": {
3583
+ "maxItems": 40,
3584
+ "type": "array",
3585
+ "items": {
3586
+ "type": "string",
3587
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3588
+ }
3589
+ },
3590
+ "acts": {
3591
+ "maxItems": 60,
3592
+ "type": "array",
3593
+ "items": {
3594
+ "type": "string",
3595
+ "minLength": 1,
3596
+ "maxLength": 120
3597
+ }
3598
+ },
3599
+ "model": {
3600
+ "type": "string",
3601
+ "minLength": 1,
3602
+ "maxLength": 120
3603
+ },
3604
+ "budget": {
3605
+ "type": "object",
3606
+ "properties": {
3607
+ "calls": {
3608
+ "type": "integer",
3609
+ "minimum": 1,
3610
+ "maximum": 1000
3611
+ },
3612
+ "tokens": {
3613
+ "type": "integer",
3614
+ "minimum": 1,
3615
+ "maximum": 10000000
3616
+ }
3617
+ },
3618
+ "additionalProperties": false
3619
+ },
3620
+ "approve": {
3621
+ "type": "string",
3622
+ "enum": [
3623
+ "apply",
3624
+ "suggest",
3625
+ "ask"
3626
+ ]
3627
+ }
3628
+ },
3629
+ "required": [
3630
+ "agent",
3631
+ "reads",
3632
+ "acts"
3633
+ ],
3634
+ "additionalProperties": false
3635
+ },
3636
+ {
3637
+ "type": "object",
3638
+ "properties": {
3639
+ "generate": {
3640
+ "type": "string",
3641
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3642
+ },
3643
+ "from": {
3644
+ "minItems": 1,
3645
+ "maxItems": 12,
3646
+ "type": "array",
3647
+ "items": {
3648
+ "type": "object",
3649
+ "properties": {
3650
+ "kind": {
3651
+ "type": "string",
3652
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3653
+ },
3654
+ "where": {
3655
+ "type": "string",
3656
+ "minLength": 1,
3657
+ "maxLength": 2000
3658
+ },
3659
+ "dates": {
3660
+ "type": "string",
3661
+ "minLength": 1,
3662
+ "maxLength": 80
3663
+ }
3664
+ },
3665
+ "required": [
3666
+ "kind",
3667
+ "dates"
3668
+ ],
3669
+ "additionalProperties": false
3670
+ }
3671
+ },
3672
+ "window": {
3673
+ "anyOf": [
3674
+ {
3675
+ "type": "string",
3676
+ "minLength": 1,
3677
+ "maxLength": 40
3678
+ },
3679
+ {
3680
+ "type": "object",
3681
+ "properties": {
3682
+ "from": {
3683
+ "type": "string",
3684
+ "minLength": 1,
3685
+ "maxLength": 2000
3686
+ },
3687
+ "to": {
3688
+ "type": "string",
3689
+ "minLength": 1,
3690
+ "maxLength": 2000
3691
+ }
3692
+ },
3693
+ "required": [
3694
+ "from",
3695
+ "to"
3696
+ ],
3697
+ "additionalProperties": false
3698
+ }
3699
+ ]
3700
+ },
3701
+ "set": {
3702
+ "type": "object",
3703
+ "propertyNames": {
3704
+ "type": "string"
3705
+ },
3706
+ "additionalProperties": {
3707
+ "anyOf": [
3708
+ {
3709
+ "type": "string"
3710
+ },
3711
+ {
3712
+ "type": "number"
3713
+ },
3714
+ {
3715
+ "type": "boolean"
3716
+ },
3717
+ {
3718
+ "type": "null"
3719
+ },
3720
+ {
3721
+ "type": "array",
3722
+ "items": {}
3723
+ },
3724
+ {
3725
+ "type": "object",
3726
+ "properties": {
3727
+ "expr": {
3728
+ "type": "string",
3729
+ "minLength": 1,
3730
+ "maxLength": 2000
3731
+ }
3732
+ },
3733
+ "required": [
3734
+ "expr"
3735
+ ],
3736
+ "additionalProperties": false
3737
+ }
3738
+ ]
3739
+ }
3740
+ },
3741
+ "key": {
3742
+ "type": "string",
3743
+ "minLength": 1,
3744
+ "maxLength": 300
3745
+ },
3746
+ "link": {
3747
+ "type": "string",
3748
+ "minLength": 1,
3749
+ "maxLength": 80
3750
+ },
3751
+ "using": {
3752
+ "type": "string",
3753
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3754
+ },
3755
+ "overwrite": {
3756
+ "type": "boolean"
3757
+ },
3758
+ "approve": {
3759
+ "type": "string",
3760
+ "enum": [
3761
+ "apply",
3762
+ "suggest",
3763
+ "ask"
3764
+ ]
3765
+ }
3766
+ },
3767
+ "required": [
3768
+ "generate",
3769
+ "from",
3770
+ "window"
3771
+ ],
3772
+ "additionalProperties": false
3773
+ },
3774
+ {
3775
+ "type": "object",
3776
+ "properties": {
3777
+ "archive": {
3778
+ "type": "string",
3779
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3780
+ },
3781
+ "where": {
3782
+ "type": "string",
3783
+ "minLength": 1,
3784
+ "maxLength": 2000
3785
+ },
3786
+ "after": {
3787
+ "anyOf": [
3788
+ {
3789
+ "type": "string",
3790
+ "minLength": 1,
3791
+ "maxLength": 40
3792
+ },
3793
+ {
3794
+ "type": "object",
3795
+ "properties": {
3796
+ "field": {
3797
+ "type": "string",
3798
+ "minLength": 1,
3799
+ "maxLength": 120
3800
+ },
3801
+ "days": {
3802
+ "type": "integer",
3803
+ "minimum": 0,
3804
+ "maximum": 36500
3805
+ }
3806
+ },
3807
+ "required": [
3808
+ "field",
3809
+ "days"
3810
+ ],
3811
+ "additionalProperties": false
3812
+ }
3813
+ ]
3814
+ },
3815
+ "approve": {
3816
+ "type": "string",
3817
+ "enum": [
3818
+ "apply",
3819
+ "suggest",
3820
+ "ask"
3821
+ ]
3822
+ }
3823
+ },
3824
+ "required": [
3825
+ "archive"
3826
+ ],
3827
+ "additionalProperties": false
3828
+ },
3829
+ {
3830
+ "type": "object",
3831
+ "properties": {
3832
+ "classify": {
3833
+ "type": "string",
3834
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3835
+ },
3836
+ "where": {
3837
+ "type": "string",
3838
+ "minLength": 1,
3839
+ "maxLength": 2000
3840
+ },
3841
+ "field": {
3842
+ "type": "string",
3843
+ "minLength": 1,
3844
+ "maxLength": 120
3845
+ },
3846
+ "options": {
3847
+ "maxItems": 60,
3848
+ "type": "array",
3849
+ "items": {
3850
+ "type": "string",
3851
+ "minLength": 1,
3852
+ "maxLength": 120
3853
+ }
3854
+ },
3855
+ "instruction": {
3856
+ "type": "string",
3857
+ "minLength": 1,
3858
+ "maxLength": 2000
3859
+ },
3860
+ "floor": {
3861
+ "type": "object",
3862
+ "propertyNames": {
3863
+ "type": "string",
3864
+ "minLength": 1,
3865
+ "maxLength": 120
3866
+ },
3867
+ "additionalProperties": {
3868
+ "type": "object",
3869
+ "properties": {
3870
+ "links": {
3871
+ "type": "integer",
3872
+ "minimum": 1,
3873
+ "maximum": 1000
3874
+ },
3875
+ "words": {
3876
+ "maxItems": 500,
3877
+ "type": "array",
3878
+ "items": {
3879
+ "type": "string",
3880
+ "minLength": 1,
3881
+ "maxLength": 120
3882
+ }
3883
+ },
3884
+ "expr": {
3885
+ "type": "string",
3886
+ "minLength": 1,
3887
+ "maxLength": 2000
3888
+ }
3889
+ },
3890
+ "additionalProperties": false
3891
+ }
3892
+ },
3893
+ "setAside": {
3894
+ "type": "object",
3895
+ "propertyNames": {
3896
+ "type": "string",
3897
+ "minLength": 1,
3898
+ "maxLength": 120
3899
+ },
3900
+ "additionalProperties": {
3901
+ "type": "number"
3902
+ }
3903
+ },
3904
+ "confirm": {
3905
+ "maxItems": 60,
3906
+ "type": "array",
3907
+ "items": {
3908
+ "type": "string",
3909
+ "minLength": 1,
3910
+ "maxLength": 120
3911
+ }
3912
+ },
3913
+ "relabel": {
3914
+ "type": "boolean"
3915
+ },
3916
+ "model": {
3917
+ "type": "string",
3918
+ "minLength": 1,
3919
+ "maxLength": 120
3920
+ },
3921
+ "budget": {
3922
+ "type": "object",
3923
+ "properties": {
3924
+ "calls": {
3925
+ "type": "integer",
3926
+ "minimum": 1,
3927
+ "maximum": 10000
3928
+ },
3929
+ "tokens": {
3930
+ "type": "integer",
3931
+ "minimum": 1,
3932
+ "maximum": 10000000
3933
+ }
3934
+ },
3935
+ "additionalProperties": false
3936
+ },
3937
+ "approve": {
3938
+ "type": "string",
3939
+ "enum": [
3940
+ "apply",
3941
+ "suggest",
3942
+ "ask"
3943
+ ]
3944
+ }
3945
+ },
3946
+ "required": [
3947
+ "classify",
3948
+ "field"
3949
+ ],
3950
+ "additionalProperties": false
3951
+ }
3952
+ ]
3953
+ }
3954
+ },
3955
+ "follows": {
3956
+ "type": "string",
3957
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3958
+ }
3959
+ },
3960
+ "required": [
3961
+ "title",
3962
+ "when",
3963
+ "steps"
3964
+ ],
3965
+ "additionalProperties": false
3966
+ }
3967
+ },
3968
+ "forms": {
3969
+ "type": "object",
3970
+ "propertyNames": {
3971
+ "type": "string",
3972
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3973
+ },
3974
+ "additionalProperties": {
3975
+ "type": "object",
3976
+ "properties": {
3977
+ "act": {
3978
+ "type": "string",
3979
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
3980
+ },
3981
+ "title": {
3982
+ "type": "string",
3983
+ "minLength": 1,
3984
+ "maxLength": 80
3985
+ },
3986
+ "intro": {
3987
+ "type": "string",
3988
+ "minLength": 1,
3989
+ "maxLength": 500
3990
+ },
3991
+ "fields": {
3992
+ "minItems": 1,
3993
+ "maxItems": 40,
3994
+ "type": "array",
3995
+ "items": {
3996
+ "type": "string",
3997
+ "pattern": "^[a-z][A-Za-z0-9]*$",
3998
+ "not": {
3999
+ "enum": [
4000
+ "id",
4001
+ "kind",
4002
+ "constructor",
4003
+ "__defineGetter__",
4004
+ "__defineSetter__",
4005
+ "hasOwnProperty",
2924
4006
  "__lookupGetter__",
2925
4007
  "__lookupSetter__",
2926
4008
  "isPrototypeOf",
@@ -2988,6 +4070,17 @@
2988
4070
  "working"
2989
4071
  ],
2990
4072
  "additionalProperties": false
4073
+ },
4074
+ "tidying": {
4075
+ "type": "object",
4076
+ "properties": {
4077
+ "autoAcceptAt": {
4078
+ "type": "integer",
4079
+ "minimum": 1,
4080
+ "maximum": 10000
4081
+ }
4082
+ },
4083
+ "additionalProperties": false
2991
4084
  }
2992
4085
  },
2993
4086
  "required": [