@graview/core 0.1.28 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/amount-input.d.ts +21 -0
- package/dist/amount-input.d.ts.map +1 -0
- package/dist/amount-input.js +96 -0
- package/dist/amount-input.js.map +1 -0
- package/dist/answer-seen.d.ts +38 -0
- package/dist/answer-seen.d.ts.map +1 -0
- package/dist/answer-seen.js +122 -0
- package/dist/answer-seen.js.map +1 -0
- package/dist/app-places.d.ts +56 -0
- package/dist/app-places.d.ts.map +1 -0
- package/dist/app-places.js +203 -0
- package/dist/app-places.js.map +1 -0
- package/dist/app.d.ts +16 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js.map +1 -1
- package/dist/arrange.d.ts +4 -2
- package/dist/arrange.d.ts.map +1 -1
- package/dist/arrange.js +4 -2
- package/dist/arrange.js.map +1 -1
- package/dist/arrangement-words.d.ts +3 -0
- package/dist/arrangement-words.d.ts.map +1 -0
- package/dist/arrangement-words.js +50 -0
- package/dist/arrangement-words.js.map +1 -0
- package/dist/arrangement.d.ts +43 -3
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +69 -31
- package/dist/arrangement.js.map +1 -1
- package/dist/arranging.d.ts.map +1 -1
- package/dist/arranging.js +36 -14
- package/dist/arranging.js.map +1 -1
- package/dist/bind.d.ts +3 -0
- package/dist/bind.d.ts.map +1 -1
- package/dist/bind.js.map +1 -1
- package/dist/blocks.d.ts +1 -1
- package/dist/blocks.d.ts.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/check.d.ts +3 -0
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +3 -0
- package/dist/check.js.map +1 -1
- package/dist/city.d.ts +58 -50
- package/dist/city.d.ts.map +1 -1
- package/dist/city.js +160 -147
- package/dist/city.js.map +1 -1
- package/dist/cli/check/brand.d.ts.map +1 -1
- package/dist/cli/check/brand.js +30 -2
- package/dist/cli/check/brand.js.map +1 -1
- package/dist/cli/check/clock-rules.d.ts +4 -0
- package/dist/cli/check/clock-rules.d.ts.map +1 -0
- package/dist/cli/check/clock-rules.js +26 -0
- package/dist/cli/check/clock-rules.js.map +1 -0
- package/dist/cli/check/field-sight.d.ts +11 -0
- package/dist/cli/check/field-sight.d.ts.map +1 -0
- package/dist/cli/check/field-sight.js +113 -0
- package/dist/cli/check/field-sight.js.map +1 -0
- package/dist/cli/check/index.d.ts +2 -0
- package/dist/cli/check/index.d.ts.map +1 -1
- package/dist/cli/check/index.js +2 -0
- package/dist/cli/check/index.js.map +1 -1
- package/dist/cli/check/lenses.d.ts +1 -1
- package/dist/cli/check/lenses.d.ts.map +1 -1
- package/dist/cli/check/lenses.js +48 -2
- package/dist/cli/check/lenses.js.map +1 -1
- package/dist/cli/check/relations.d.ts +23 -0
- package/dist/cli/check/relations.d.ts.map +1 -1
- package/dist/cli/check/relations.js +55 -4
- package/dist/cli/check/relations.js.map +1 -1
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +7 -4
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +32 -0
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/describe.d.ts.map +1 -1
- package/dist/cli/describe.js +71 -7
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/docs.d.ts.map +1 -1
- package/dist/cli/docs.js +4 -3
- package/dist/cli/docs.js.map +1 -1
- package/dist/cli/doctor.d.ts +18 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +58 -5
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/document-schema.d.ts +2 -0
- package/dist/cli/document-schema.d.ts.map +1 -1
- package/dist/cli/document-schema.js +154 -5
- package/dist/cli/document-schema.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js +16 -2
- package/dist/cli/types.js.map +1 -1
- package/dist/clock-readers.d.ts +18 -0
- package/dist/clock-readers.d.ts.map +1 -0
- package/dist/clock-readers.js +70 -0
- package/dist/clock-readers.js.map +1 -0
- package/dist/clock.d.ts +30 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +41 -0
- package/dist/clock.js.map +1 -0
- package/dist/columns.d.ts.map +1 -1
- package/dist/columns.js +2 -1
- package/dist/columns.js.map +1 -1
- package/dist/conformance/fixtures.d.ts.map +1 -1
- package/dist/conformance/fixtures.js +491 -43
- package/dist/conformance/fixtures.js.map +1 -1
- package/dist/coverage-words.d.ts +18 -0
- package/dist/coverage-words.d.ts.map +1 -0
- package/dist/coverage-words.js +18 -0
- package/dist/coverage-words.js.map +1 -0
- package/dist/days.d.ts +53 -4
- package/dist/days.d.ts.map +1 -1
- package/dist/days.js +136 -16
- package/dist/days.js.map +1 -1
- package/dist/describe.d.ts +1 -0
- package/dist/describe.d.ts.map +1 -1
- package/dist/describe.js +1 -0
- package/dist/describe.js.map +1 -1
- package/dist/document/act-findings.d.ts.map +1 -1
- package/dist/document/act-findings.js +32 -4
- package/dist/document/act-findings.js.map +1 -1
- package/dist/document/amount.d.ts +4 -0
- package/dist/document/amount.d.ts.map +1 -0
- package/dist/document/amount.js +22 -0
- package/dist/document/amount.js.map +1 -0
- package/dist/document/block-context.d.ts.map +1 -1
- package/dist/document/block-context.js +1 -0
- package/dist/document/block-context.js.map +1 -1
- package/dist/document/blocks.d.ts +33 -10
- package/dist/document/blocks.d.ts.map +1 -1
- package/dist/document/blocks.js +139 -25
- package/dist/document/blocks.js.map +1 -1
- package/dist/document/brand-check.d.ts +5 -0
- package/dist/document/brand-check.d.ts.map +1 -1
- package/dist/document/brand-check.js +16 -2
- package/dist/document/brand-check.js.map +1 -1
- package/dist/document/compile-checked.d.ts.map +1 -1
- package/dist/document/compile-checked.js +12 -4
- package/dist/document/compile-checked.js.map +1 -1
- package/dist/document/compile.d.ts +0 -2
- package/dist/document/compile.d.ts.map +1 -1
- package/dist/document/compile.js +49 -24
- package/dist/document/compile.js.map +1 -1
- package/dist/document/compiled.d.ts +6 -2
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +94 -26
- package/dist/document/compiled.js.map +1 -1
- package/dist/document/computed-values.d.ts +3 -0
- package/dist/document/computed-values.d.ts.map +1 -1
- package/dist/document/computed-values.js +12 -2
- package/dist/document/computed-values.js.map +1 -1
- package/dist/document/describe-coverage.d.ts +3 -0
- package/dist/document/describe-coverage.d.ts.map +1 -1
- package/dist/document/describe-coverage.js +14 -6
- package/dist/document/describe-coverage.js.map +1 -1
- package/dist/document/describe-place.d.ts +6 -2
- package/dist/document/describe-place.d.ts.map +1 -1
- package/dist/document/describe-place.js +17 -9
- package/dist/document/describe-place.js.map +1 -1
- package/dist/document/diff.d.ts +2 -0
- package/dist/document/diff.d.ts.map +1 -1
- package/dist/document/diff.js +70 -11
- package/dist/document/diff.js.map +1 -1
- package/dist/document/durations.d.ts +8 -0
- package/dist/document/durations.d.ts.map +1 -0
- package/dist/document/durations.js +82 -0
- package/dist/document/durations.js.map +1 -0
- package/dist/document/edit.d.ts +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +436 -27
- package/dist/document/edit.js.map +1 -1
- package/dist/document/expr/evaluate.d.ts +26 -1
- package/dist/document/expr/evaluate.d.ts.map +1 -1
- package/dist/document/expr/evaluate.js +55 -4
- package/dist/document/expr/evaluate.js.map +1 -1
- package/dist/document/field-spec.d.ts.map +1 -1
- package/dist/document/field-spec.js +15 -1
- package/dist/document/field-spec.js.map +1 -1
- package/dist/document/format-findings.d.ts +4 -0
- package/dist/document/format-findings.d.ts.map +1 -0
- package/dist/document/format-findings.js +39 -0
- package/dist/document/format-findings.js.map +1 -0
- package/dist/document/format-rules.d.ts +8 -0
- package/dist/document/format-rules.d.ts.map +1 -0
- package/dist/document/format-rules.js +19 -0
- package/dist/document/format-rules.js.map +1 -0
- package/dist/document/format-words.d.ts +9 -0
- package/dist/document/format-words.d.ts.map +1 -0
- package/dist/document/format-words.js +31 -0
- package/dist/document/format-words.js.map +1 -0
- package/dist/document/framework-path.d.ts +11 -0
- package/dist/document/framework-path.d.ts.map +1 -0
- package/dist/document/framework-path.js +122 -0
- package/dist/document/framework-path.js.map +1 -0
- package/dist/document/graview-template.d.ts +2 -2
- package/dist/document/index.d.ts +2 -2
- package/dist/document/index.d.ts.map +1 -1
- package/dist/document/index.js +1 -1
- package/dist/document/index.js.map +1 -1
- package/dist/document/linked-findings.d.ts +5 -0
- package/dist/document/linked-findings.d.ts.map +1 -0
- package/dist/document/linked-findings.js +100 -0
- package/dist/document/linked-findings.js.map +1 -0
- package/dist/document/migrate.d.ts +1 -0
- package/dist/document/migrate.d.ts.map +1 -1
- package/dist/document/migrate.js +48 -1
- package/dist/document/migrate.js.map +1 -1
- package/dist/document/money.d.ts +14 -0
- package/dist/document/money.d.ts.map +1 -0
- package/dist/document/money.js +14 -0
- package/dist/document/money.js.map +1 -0
- package/dist/document/policy-words.d.ts +4 -0
- package/dist/document/policy-words.d.ts.map +1 -1
- package/dist/document/policy-words.js +34 -4
- package/dist/document/policy-words.js.map +1 -1
- package/dist/document/right-names.d.ts +10 -0
- package/dist/document/right-names.d.ts.map +1 -0
- package/dist/document/right-names.js +57 -0
- package/dist/document/right-names.js.map +1 -0
- package/dist/document/rule-line.d.ts.map +1 -1
- package/dist/document/rule-line.js +16 -12
- package/dist/document/rule-line.js.map +1 -1
- package/dist/document/rules.d.ts.map +1 -1
- package/dist/document/rules.js +15 -6
- package/dist/document/rules.js.map +1 -1
- package/dist/document/schema.d.ts +142 -22
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +86 -10
- package/dist/document/schema.js.map +1 -1
- package/dist/document/template-parse.d.ts.map +1 -1
- package/dist/document/template-parse.js +45 -5
- package/dist/document/template-parse.js.map +1 -1
- package/dist/document/template.d.ts +16 -14
- package/dist/document/template.d.ts.map +1 -1
- package/dist/document/template.js +52 -30
- package/dist/document/template.js.map +1 -1
- package/dist/document/thumbnail.d.ts.map +1 -1
- package/dist/document/thumbnail.js +4 -3
- package/dist/document/thumbnail.js.map +1 -1
- package/dist/document/to-document.d.ts +0 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +30 -2
- package/dist/document/to-document.js.map +1 -1
- package/dist/document/view-specs.d.ts.map +1 -1
- package/dist/document/view-specs.js +3 -0
- package/dist/document/view-specs.js.map +1 -1
- package/dist/document/views.d.ts +38 -4
- package/dist/document/views.d.ts.map +1 -1
- package/dist/document/views.js +81 -26
- package/dist/document/views.js.map +1 -1
- package/dist/document.schema.json +1184 -141
- package/dist/excerpt-of.d.ts +14 -0
- package/dist/excerpt-of.d.ts.map +1 -0
- package/dist/excerpt-of.js +120 -0
- package/dist/excerpt-of.js.map +1 -0
- package/dist/excerpt.d.ts +9 -0
- package/dist/excerpt.d.ts.map +1 -0
- package/dist/excerpt.js +43 -0
- package/dist/excerpt.js.map +1 -0
- package/dist/field-sight.d.ts +33 -0
- package/dist/field-sight.d.ts.map +1 -0
- package/dist/field-sight.js +313 -0
- package/dist/field-sight.js.map +1 -0
- package/dist/forms.d.ts +2 -0
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +3 -0
- package/dist/forms.js.map +1 -1
- package/dist/graph/archived.d.ts +34 -0
- package/dist/graph/archived.d.ts.map +1 -0
- package/dist/graph/archived.js +25 -0
- package/dist/graph/archived.js.map +1 -0
- package/dist/graph/diff.d.ts +16 -0
- package/dist/graph/diff.d.ts.map +1 -1
- package/dist/graph/diff.js +20 -1
- package/dist/graph/diff.js.map +1 -1
- package/dist/graph/graph.d.ts +37 -13
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +84 -41
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/tracked.d.ts +8 -8
- package/dist/graph/tracked.d.ts.map +1 -1
- package/dist/graph/tracked.js +15 -20
- package/dist/graph/tracked.js.map +1 -1
- package/dist/graph/types.d.ts +16 -8
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/graph/types.js.map +1 -1
- package/dist/grid-sort.d.ts +20 -0
- package/dist/grid-sort.d.ts.map +1 -0
- package/dist/grid-sort.js +58 -0
- package/dist/grid-sort.js.map +1 -0
- package/dist/history.d.ts +88 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +146 -0
- package/dist/history.js.map +1 -0
- package/dist/import/coerce.d.ts +45 -0
- package/dist/import/coerce.d.ts.map +1 -0
- package/dist/import/coerce.js +252 -0
- package/dist/import/coerce.js.map +1 -0
- package/dist/import/csv.d.ts +16 -0
- package/dist/import/csv.d.ts.map +1 -0
- package/dist/import/csv.js +77 -0
- package/dist/import/csv.js.map +1 -0
- package/dist/import/index.d.ts +17 -0
- package/dist/import/index.d.ts.map +1 -0
- package/dist/import/index.js +13 -0
- package/dist/import/index.js.map +1 -0
- package/dist/import/mapping.d.ts +99 -0
- package/dist/import/mapping.d.ts.map +1 -0
- package/dist/import/mapping.js +182 -0
- package/dist/import/mapping.js.map +1 -0
- package/dist/import/rows.d.ts +116 -0
- package/dist/import/rows.d.ts.map +1 -0
- package/dist/import/rows.js +584 -0
- package/dist/import/rows.js.map +1 -0
- package/dist/index.d.ts +53 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -18
- package/dist/index.js.map +1 -1
- package/dist/invariants/engine.d.ts +5 -1
- package/dist/invariants/engine.d.ts.map +1 -1
- package/dist/invariants/engine.js +4 -3
- package/dist/invariants/engine.js.map +1 -1
- package/dist/invariants/types.d.ts +18 -3
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/json-schema.d.ts +1 -0
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/json-schema.js +2 -0
- package/dist/json-schema.js.map +1 -1
- package/dist/kind-list.d.ts +78 -0
- package/dist/kind-list.d.ts.map +1 -0
- package/dist/kind-list.js +176 -0
- package/dist/kind-list.js.map +1 -0
- package/dist/labels.d.ts.map +1 -1
- package/dist/labels.js +2 -1
- package/dist/labels.js.map +1 -1
- package/dist/lines.d.ts +1 -0
- package/dist/lines.d.ts.map +1 -1
- package/dist/lines.js +5 -3
- package/dist/lines.js.map +1 -1
- package/dist/linked.d.ts +95 -0
- package/dist/linked.d.ts.map +1 -0
- package/dist/linked.js +181 -0
- package/dist/linked.js.map +1 -0
- package/dist/markdown.d.ts +102 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +460 -0
- package/dist/markdown.js.map +1 -0
- package/dist/mutations/arg-shape.d.ts +95 -0
- package/dist/mutations/arg-shape.d.ts.map +1 -0
- package/dist/mutations/arg-shape.js +101 -0
- package/dist/mutations/arg-shape.js.map +1 -0
- package/dist/mutations/define-mutation.d.ts +48 -2
- package/dist/mutations/define-mutation.d.ts.map +1 -1
- package/dist/mutations/define-mutation.js +103 -36
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/derive-edits.d.ts +16 -1
- package/dist/mutations/derive-edits.d.ts.map +1 -1
- package/dist/mutations/derive-edits.js +146 -56
- package/dist/mutations/derive-edits.js.map +1 -1
- package/dist/mutations/derive-repeats.d.ts +8 -0
- package/dist/mutations/derive-repeats.d.ts.map +1 -0
- package/dist/mutations/derive-repeats.js +118 -0
- package/dist/mutations/derive-repeats.js.map +1 -0
- package/dist/mutations/derived-names.d.ts +22 -0
- package/dist/mutations/derived-names.d.ts.map +1 -0
- package/dist/mutations/derived-names.js +21 -0
- package/dist/mutations/derived-names.js.map +1 -0
- package/dist/mutations/edit-start.d.ts +28 -0
- package/dist/mutations/edit-start.d.ts.map +1 -0
- package/dist/mutations/edit-start.js +24 -0
- package/dist/mutations/edit-start.js.map +1 -0
- package/dist/mutations/form.d.ts +33 -1
- package/dist/mutations/form.d.ts.map +1 -1
- package/dist/mutations/form.js +23 -2
- package/dist/mutations/form.js.map +1 -1
- package/dist/mutations/invalid-arguments.d.ts +14 -0
- package/dist/mutations/invalid-arguments.d.ts.map +1 -0
- package/dist/mutations/invalid-arguments.js +18 -0
- package/dist/mutations/invalid-arguments.js.map +1 -0
- package/dist/mutations/keep-link.d.ts +27 -0
- package/dist/mutations/keep-link.d.ts.map +1 -0
- package/dist/mutations/keep-link.js +56 -0
- package/dist/mutations/keep-link.js.map +1 -0
- package/dist/mutations/kept-arguments.d.ts +26 -0
- package/dist/mutations/kept-arguments.d.ts.map +1 -0
- package/dist/mutations/kept-arguments.js +77 -0
- package/dist/mutations/kept-arguments.js.map +1 -0
- package/dist/mutations/node-ref.d.ts +0 -80
- package/dist/mutations/node-ref.d.ts.map +1 -1
- package/dist/mutations/node-ref.js +0 -93
- package/dist/mutations/node-ref.js.map +1 -1
- package/dist/mutations/types.d.ts +17 -1
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/mutations/words.d.ts +0 -13
- package/dist/mutations/words.d.ts.map +1 -1
- package/dist/mutations/words.js +1 -12
- package/dist/mutations/words.js.map +1 -1
- package/dist/navigate.d.ts +13 -0
- package/dist/navigate.d.ts.map +1 -0
- package/dist/navigate.js +13 -0
- package/dist/navigate.js.map +1 -0
- package/dist/ops/digest.d.ts +33 -0
- package/dist/ops/digest.d.ts.map +1 -0
- package/dist/ops/digest.js +47 -0
- package/dist/ops/digest.js.map +1 -0
- package/dist/ops/kept-fields.d.ts +7 -0
- package/dist/ops/kept-fields.d.ts.map +1 -0
- package/dist/ops/kept-fields.js +24 -0
- package/dist/ops/kept-fields.js.map +1 -0
- package/dist/ops/lineage.d.ts +43 -0
- package/dist/ops/lineage.d.ts.map +1 -0
- package/dist/ops/lineage.js +27 -0
- package/dist/ops/lineage.js.map +1 -0
- package/dist/ops/log.d.ts +6 -0
- package/dist/ops/log.d.ts.map +1 -1
- package/dist/ops/log.js +20 -12
- package/dist/ops/log.js.map +1 -1
- package/dist/ops/provenance.d.ts +68 -0
- package/dist/ops/provenance.d.ts.map +1 -0
- package/dist/ops/provenance.js +83 -0
- package/dist/ops/provenance.js.map +1 -0
- package/dist/ops/suggestions.d.ts +26 -0
- package/dist/ops/suggestions.d.ts.map +1 -0
- package/dist/ops/suggestions.js +21 -0
- package/dist/ops/suggestions.js.map +1 -0
- package/dist/ops/tidying.d.ts +48 -0
- package/dist/ops/tidying.d.ts.map +1 -0
- package/dist/ops/tidying.js +84 -0
- package/dist/ops/tidying.js.map +1 -0
- package/dist/ops/types.d.ts +42 -0
- package/dist/ops/types.d.ts.map +1 -1
- package/dist/ops/undo.d.ts.map +1 -1
- package/dist/ops/undo.js +10 -0
- package/dist/ops/undo.js.map +1 -1
- package/dist/ops/withheld.d.ts +25 -2
- package/dist/ops/withheld.d.ts.map +1 -1
- package/dist/ops/withheld.js +6 -15
- package/dist/ops/withheld.js.map +1 -1
- package/dist/past.d.ts +35 -0
- package/dist/past.d.ts.map +1 -0
- package/dist/past.js +173 -0
- package/dist/past.js.map +1 -0
- package/dist/permissions/policy.d.ts +13 -1
- package/dist/permissions/policy.d.ts.map +1 -1
- package/dist/permissions/policy.js +44 -9
- package/dist/permissions/policy.js.map +1 -1
- package/dist/permissions/sight.d.ts +40 -2
- package/dist/permissions/sight.d.ts.map +1 -1
- package/dist/permissions/sight.js +25 -2
- package/dist/permissions/sight.js.map +1 -1
- package/dist/permissions/types.d.ts +21 -0
- package/dist/permissions/types.d.ts.map +1 -1
- package/dist/permissions/types.js.map +1 -1
- package/dist/places.d.ts +6 -51
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +50 -144
- package/dist/places.js.map +1 -1
- package/dist/provenance.d.ts +14 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +13 -0
- package/dist/provenance.js.map +1 -0
- package/dist/repeat-words.d.ts +13 -0
- package/dist/repeat-words.d.ts.map +1 -0
- package/dist/repeat-words.js +56 -0
- package/dist/repeat-words.js.map +1 -0
- package/dist/repeat.d.ts +59 -0
- package/dist/repeat.d.ts.map +1 -0
- package/dist/repeat.js +155 -0
- package/dist/repeat.js.map +1 -0
- package/dist/scaffold/agents.d.ts.map +1 -1
- package/dist/scaffold/agents.js +13 -0
- package/dist/scaffold/agents.js.map +1 -1
- package/dist/scaffold/project.d.ts.map +1 -1
- package/dist/scaffold/project.js +18 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/ui.d.ts.map +1 -1
- package/dist/scaffold/ui.js +17 -7
- package/dist/scaffold/ui.js.map +1 -1
- package/dist/scene-districts.d.ts +2 -1
- package/dist/scene-districts.d.ts.map +1 -1
- package/dist/scene-districts.js +2 -1
- package/dist/scene-districts.js.map +1 -1
- package/dist/scene.d.ts +4 -2
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +2 -1
- package/dist/scene.js.map +1 -1
- package/dist/schema/amount-mark.d.ts +13 -0
- package/dist/schema/amount-mark.d.ts.map +1 -0
- package/dist/schema/amount-mark.js +20 -0
- package/dist/schema/amount-mark.js.map +1 -0
- package/dist/schema/amount-words.d.ts +12 -0
- package/dist/schema/amount-words.d.ts.map +1 -0
- package/dist/schema/amount-words.js +31 -0
- package/dist/schema/amount-words.js.map +1 -0
- package/dist/schema/app-address.d.ts +5 -0
- package/dist/schema/app-address.d.ts.map +1 -0
- package/dist/schema/app-address.js +10 -0
- package/dist/schema/app-address.js.map +1 -0
- package/dist/schema/app-link-field.d.ts +4 -0
- package/dist/schema/app-link-field.d.ts.map +1 -0
- package/dist/schema/app-link-field.js +19 -0
- package/dist/schema/app-link-field.js.map +1 -0
- package/dist/schema/app-link.d.ts +38 -0
- package/dist/schema/app-link.d.ts.map +1 -0
- package/dist/schema/app-link.js +38 -0
- package/dist/schema/app-link.js.map +1 -0
- package/dist/schema/define-node.d.ts +39 -92
- package/dist/schema/define-node.d.ts.map +1 -1
- package/dist/schema/define-node.js +8 -246
- package/dist/schema/define-node.js.map +1 -1
- package/dist/schema/field-words.d.ts +45 -0
- package/dist/schema/field-words.d.ts.map +1 -0
- package/dist/schema/field-words.js +124 -0
- package/dist/schema/field-words.js.map +1 -0
- package/dist/schema/files.d.ts +8 -0
- package/dist/schema/files.d.ts.map +1 -1
- package/dist/schema/files.js.map +1 -1
- package/dist/schema/json-schema.d.ts +6 -1
- package/dist/schema/json-schema.d.ts.map +1 -1
- package/dist/schema/json-schema.js +101 -2
- package/dist/schema/json-schema.js.map +1 -1
- package/dist/schema/linked-field.d.ts +6 -0
- package/dist/schema/linked-field.d.ts.map +1 -0
- package/dist/schema/linked-field.js +34 -0
- package/dist/schema/linked-field.js.map +1 -0
- package/dist/schema/linked-reads.d.ts +20 -0
- package/dist/schema/linked-reads.d.ts.map +1 -0
- package/dist/schema/linked-reads.js +69 -0
- package/dist/schema/linked-reads.js.map +1 -0
- package/dist/schema/linked-schema.d.ts +5 -0
- package/dist/schema/linked-schema.d.ts.map +1 -0
- package/dist/schema/linked-schema.js +9 -0
- package/dist/schema/linked-schema.js.map +1 -0
- package/dist/schema/linked.d.ts +147 -0
- package/dist/schema/linked.d.ts.map +1 -0
- package/dist/schema/linked.js +151 -0
- package/dist/schema/linked.js.map +1 -0
- package/dist/schema/markdown-field.d.ts +4 -0
- package/dist/schema/markdown-field.d.ts.map +1 -0
- package/dist/schema/markdown-field.js +20 -0
- package/dist/schema/markdown-field.js.map +1 -0
- package/dist/schema/markdown.d.ts +6 -0
- package/dist/schema/markdown.d.ts.map +1 -0
- package/dist/schema/markdown.js +27 -0
- package/dist/schema/markdown.js.map +1 -0
- package/dist/schema/reading.d.ts +86 -0
- package/dist/schema/reading.d.ts.map +1 -0
- package/dist/schema/reading.js +325 -0
- package/dist/schema/reading.js.map +1 -0
- package/dist/schema/repeat-field.d.ts +5 -0
- package/dist/schema/repeat-field.d.ts.map +1 -0
- package/dist/schema/repeat-field.js +20 -0
- package/dist/schema/repeat-field.js.map +1 -0
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +12 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/to-json-schema.d.ts +14 -0
- package/dist/schema/to-json-schema.d.ts.map +1 -0
- package/dist/schema/to-json-schema.js +616 -0
- package/dist/schema/to-json-schema.js.map +1 -0
- package/dist/schema/typed-field-builders.d.ts +8 -0
- package/dist/schema/typed-field-builders.d.ts.map +1 -0
- package/dist/schema/typed-field-builders.js +30 -0
- package/dist/schema/typed-field-builders.js.map +1 -0
- package/dist/schema/typed-field-of.d.ts +4 -0
- package/dist/schema/typed-field-of.d.ts.map +1 -0
- package/dist/schema/typed-field-of.js +14 -0
- package/dist/schema/typed-field-of.js.map +1 -0
- package/dist/schema/typed-fields.d.ts +11 -0
- package/dist/schema/typed-fields.d.ts.map +1 -0
- package/dist/schema/typed-fields.js +16 -0
- package/dist/schema/typed-fields.js.map +1 -0
- package/dist/schema/types.d.ts +31 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/value-words.d.ts +21 -0
- package/dist/schema/value-words.d.ts.map +1 -0
- package/dist/schema/value-words.js +32 -0
- package/dist/schema/value-words.js.map +1 -0
- package/dist/search.d.ts +91 -4
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +317 -54
- package/dist/search.js.map +1 -1
- package/dist/seat-of.d.ts +9 -0
- package/dist/seat-of.d.ts.map +1 -0
- package/dist/seat-of.js +14 -0
- package/dist/seat-of.js.map +1 -0
- package/dist/seat.d.ts +19 -0
- package/dist/seat.d.ts.map +1 -0
- package/dist/seat.js +19 -0
- package/dist/seat.js.map +1 -0
- package/dist/seen.d.ts +15 -45
- package/dist/seen.d.ts.map +1 -1
- package/dist/seen.js +49 -135
- package/dist/seen.js.map +1 -1
- package/dist/store.d.ts +104 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +214 -30
- package/dist/store.js.map +1 -1
- package/dist/theme/derive.d.ts +16 -0
- package/dist/theme/derive.d.ts.map +1 -1
- package/dist/theme/derive.js +14 -0
- package/dist/theme/derive.js.map +1 -1
- package/dist/theme/marks.d.ts +19 -2
- package/dist/theme/marks.d.ts.map +1 -1
- package/dist/theme/marks.js +67 -2
- package/dist/theme/marks.js.map +1 -1
- package/dist/theme/types.d.ts +14 -3
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/types.js.map +1 -1
- package/dist/tidying.d.ts +62 -0
- package/dist/tidying.d.ts.map +1 -0
- package/dist/tidying.js +131 -0
- package/dist/tidying.js.map +1 -0
- package/dist/typed.d.ts +12 -3
- package/dist/typed.d.ts.map +1 -1
- package/dist/typed.js.map +1 -1
- package/dist/validate-graph.d.ts.map +1 -1
- package/dist/validate-graph.js +3 -10
- package/dist/validate-graph.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/via.d.ts.map +1 -1
- package/dist/via.js +2 -1
- package/dist/via.js.map +1 -1
- package/dist/views/address.d.ts +13 -0
- package/dist/views/address.d.ts.map +1 -0
- package/dist/views/address.js +29 -0
- package/dist/views/address.js.map +1 -0
- package/dist/views/types.d.ts +106 -8
- package/dist/views/types.d.ts.map +1 -1
- package/dist/views/types.js +24 -4
- package/dist/views/types.js.map +1 -1
- package/dist/village.d.ts +63 -0
- package/dist/village.d.ts.map +1 -0
- package/dist/village.js +143 -0
- package/dist/village.js.map +1 -0
- package/dist/watched.d.ts +12 -45
- package/dist/watched.d.ts.map +1 -1
- package/dist/watched.js +7 -119
- package/dist/watched.js.map +1 -1
- package/dist/words.d.ts +33 -0
- package/dist/words.d.ts.map +1 -0
- package/dist/words.js +36 -0
- package/dist/words.js.map +1 -0
- package/package.json +57 -2
|
@@ -12,8 +12,12 @@ export declare const FIELD_NAME: RegExp;
|
|
|
12
12
|
* `tended-by.name` would read as a subtraction.
|
|
13
13
|
*/
|
|
14
14
|
export declare const EDGE_NAME: RegExp;
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* `image` and `file` hold what the host stored (FR-162): a `FileValue`, its
|
|
17
|
+
* `href` a path on the host. `phone` and `place` are words drawn as a link to
|
|
18
|
+
* call and to a map; `duration` is a whole number of minutes, said "1 h 30 min".
|
|
19
|
+
*/
|
|
20
|
+
export declare const FIELD_TYPES: readonly ["string", "text", "number", "integer", "boolean", "date", "datetime", "enum", "list", "url", "email", "image", "file", "app-link", "phone", "place", "duration"];
|
|
17
21
|
export type FieldType = (typeof FIELD_TYPES)[number];
|
|
18
22
|
export declare const FieldSpec: z.ZodMiniObject<{
|
|
19
23
|
type: z.ZodMiniEnum<{
|
|
@@ -27,9 +31,13 @@ export declare const FieldSpec: z.ZodMiniObject<{
|
|
|
27
31
|
email: "email";
|
|
28
32
|
url: "url";
|
|
29
33
|
datetime: "datetime";
|
|
30
|
-
|
|
31
|
-
text: "text";
|
|
34
|
+
duration: "duration";
|
|
32
35
|
list: "list";
|
|
36
|
+
text: "text";
|
|
37
|
+
image: "image";
|
|
38
|
+
phone: "phone";
|
|
39
|
+
place: "place";
|
|
40
|
+
"app-link": "app-link";
|
|
33
41
|
}>;
|
|
34
42
|
required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
35
43
|
description: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -48,11 +56,13 @@ export declare const FieldSpec: z.ZodMiniObject<{
|
|
|
48
56
|
duration: "duration";
|
|
49
57
|
money: "money";
|
|
50
58
|
percent: "percent";
|
|
59
|
+
markdown: "markdown";
|
|
51
60
|
}>>;
|
|
52
61
|
min: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
53
62
|
max: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
54
63
|
step: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
55
64
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
65
|
+
repeats: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
56
66
|
}, z.core.$strict>;
|
|
57
67
|
export type FieldSpec = z.infer<typeof FieldSpec>;
|
|
58
68
|
export declare const EdgeSpec: z.ZodMiniObject<{
|
|
@@ -65,6 +75,7 @@ export declare const EdgeSpec: z.ZodMiniObject<{
|
|
|
65
75
|
inverse: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
66
76
|
appendOnly: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
67
77
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
78
|
+
tidying: z.ZodMiniOptional<z.ZodMiniLiteral<"never">>;
|
|
68
79
|
}, z.core.$strict>;
|
|
69
80
|
export type EdgeSpec = z.infer<typeof EdgeSpec>;
|
|
70
81
|
/** A computed field: its expression, or the expression with the words it is shown by (FR-83). */
|
|
@@ -90,9 +101,13 @@ export declare const KindSpec: z.ZodMiniObject<{
|
|
|
90
101
|
email: "email";
|
|
91
102
|
url: "url";
|
|
92
103
|
datetime: "datetime";
|
|
93
|
-
|
|
94
|
-
text: "text";
|
|
104
|
+
duration: "duration";
|
|
95
105
|
list: "list";
|
|
106
|
+
text: "text";
|
|
107
|
+
image: "image";
|
|
108
|
+
phone: "phone";
|
|
109
|
+
place: "place";
|
|
110
|
+
"app-link": "app-link";
|
|
96
111
|
}>;
|
|
97
112
|
required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
98
113
|
description: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -111,11 +126,13 @@ export declare const KindSpec: z.ZodMiniObject<{
|
|
|
111
126
|
duration: "duration";
|
|
112
127
|
money: "money";
|
|
113
128
|
percent: "percent";
|
|
129
|
+
markdown: "markdown";
|
|
114
130
|
}>>;
|
|
115
131
|
min: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
116
132
|
max: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
117
133
|
step: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
118
134
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
135
|
+
repeats: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
119
136
|
}, z.core.$strict>>;
|
|
120
137
|
label: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
121
138
|
describe: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -142,6 +159,7 @@ export declare const KindSpec: z.ZodMiniObject<{
|
|
|
142
159
|
inverse: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
143
160
|
appendOnly: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
144
161
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
162
|
+
tidying: z.ZodMiniOptional<z.ZodMiniLiteral<"never">>;
|
|
145
163
|
}, z.core.$strict>>>;
|
|
146
164
|
computed: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
147
165
|
expr: z.ZodMiniString<string>;
|
|
@@ -151,6 +169,11 @@ export declare const KindSpec: z.ZodMiniObject<{
|
|
|
151
169
|
fieldRoles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
|
|
152
170
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
153
171
|
people: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
172
|
+
archives: z.ZodMiniOptional<z.ZodMiniLiteral<false>>;
|
|
173
|
+
tidying: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
174
|
+
never: "never";
|
|
175
|
+
"no-links": "no-links";
|
|
176
|
+
}>>;
|
|
154
177
|
}, z.core.$strict>;
|
|
155
178
|
export type KindSpec = z.infer<typeof KindSpec>;
|
|
156
179
|
/** A value an effect writes: a literal, `$arg`, `$subject`, `$new`, `$now`, `$today`, or `{ expr }`. */
|
|
@@ -210,9 +233,13 @@ export declare const ActSpec: z.ZodMiniObject<{
|
|
|
210
233
|
email: "email";
|
|
211
234
|
url: "url";
|
|
212
235
|
datetime: "datetime";
|
|
213
|
-
|
|
214
|
-
text: "text";
|
|
236
|
+
duration: "duration";
|
|
215
237
|
list: "list";
|
|
238
|
+
text: "text";
|
|
239
|
+
image: "image";
|
|
240
|
+
phone: "phone";
|
|
241
|
+
place: "place";
|
|
242
|
+
"app-link": "app-link";
|
|
216
243
|
}>;
|
|
217
244
|
required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
218
245
|
description: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -231,11 +258,13 @@ export declare const ActSpec: z.ZodMiniObject<{
|
|
|
231
258
|
duration: "duration";
|
|
232
259
|
money: "money";
|
|
233
260
|
percent: "percent";
|
|
261
|
+
markdown: "markdown";
|
|
234
262
|
}>>;
|
|
235
263
|
min: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
236
264
|
max: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
237
265
|
step: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
238
266
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
267
|
+
repeats: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
239
268
|
}, z.core.$strict>>>;
|
|
240
269
|
effects: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
|
|
241
270
|
create: z.ZodMiniString<string>;
|
|
@@ -295,17 +324,13 @@ export declare const GrantSpec: z.ZodMiniObject<{
|
|
|
295
324
|
self: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
296
325
|
ownEnd: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
297
326
|
}, z.core.$strict>;
|
|
298
|
-
/**
|
|
299
|
-
* Who sees which kinds — the framework's `Sight`, one meaning (FR-02).
|
|
300
|
-
* Absent: everyone sees everything. Present: a kind no sight names is seen
|
|
301
|
-
* by nobody but the system (a host that gives its owners everything serves
|
|
302
|
-
* them as the system, or names them in a sight).
|
|
303
|
-
*/
|
|
304
327
|
export declare const SightSpec: z.ZodMiniObject<{
|
|
305
328
|
roles: z.ZodMiniUnion<readonly [z.ZodMiniArray<z.ZodMiniString<string>>, z.ZodMiniLiteral<"*">]>;
|
|
306
329
|
kinds: z.ZodMiniArray<z.ZodMiniString<string>>;
|
|
307
330
|
own: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
308
331
|
via: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
332
|
+
fields: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
333
|
+
hide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
309
334
|
}, z.core.$strict>;
|
|
310
335
|
export type SightSpec = z.infer<typeof SightSpec>;
|
|
311
336
|
export declare const PolicySpec: z.ZodMiniObject<{
|
|
@@ -322,13 +347,16 @@ export declare const PolicySpec: z.ZodMiniObject<{
|
|
|
322
347
|
kinds: z.ZodMiniArray<z.ZodMiniString<string>>;
|
|
323
348
|
own: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
324
349
|
via: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
350
|
+
fields: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
351
|
+
hide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
325
352
|
}, z.core.$strict>>>;
|
|
326
353
|
}, z.core.$strict>;
|
|
327
354
|
export type PolicySpec = z.infer<typeof PolicySpec>;
|
|
328
355
|
/**
|
|
329
356
|
* The installation's look and its money: an accent color the palette is
|
|
330
357
|
* derived from, and the currency and locale a sum is said in wherever a
|
|
331
|
-
* block names none (FR-100)
|
|
358
|
+
* block names none (FR-100) — the locale its days, times and numbers are
|
|
359
|
+
* said in too (FR-178), "en-US" when absent. Any of them may stand alone.
|
|
332
360
|
*/
|
|
333
361
|
export declare const BrandSpec: z.ZodMiniObject<{
|
|
334
362
|
accent: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -339,7 +367,9 @@ export declare const BrandSpec: z.ZodMiniObject<{
|
|
|
339
367
|
src: z.ZodMiniString<string>;
|
|
340
368
|
alt: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
341
369
|
}, z.core.$strict>]>>;
|
|
342
|
-
favicon: z.ZodMiniOptional<z.ZodMiniString<string
|
|
370
|
+
favicon: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
371
|
+
emoji: z.ZodMiniString<string>;
|
|
372
|
+
}, z.core.$strict>]>>;
|
|
343
373
|
typography: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
344
374
|
display: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
345
375
|
body: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -370,6 +400,28 @@ export declare const PagesSpec: z.ZodMiniObject<{
|
|
|
370
400
|
primary: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
371
401
|
scene: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
372
402
|
pages: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
403
|
+
lists: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
404
|
+
filters: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
405
|
+
sort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
406
|
+
by: z.ZodMiniString<string>;
|
|
407
|
+
direction: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
408
|
+
desc: "desc";
|
|
409
|
+
asc: "asc";
|
|
410
|
+
}>>;
|
|
411
|
+
then: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
412
|
+
by: z.ZodMiniString<string>;
|
|
413
|
+
direction: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
414
|
+
desc: "desc";
|
|
415
|
+
asc: "asc";
|
|
416
|
+
}>>;
|
|
417
|
+
}, z.core.$strict>]>>;
|
|
418
|
+
}, z.core.$strict>]>>;
|
|
419
|
+
group: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
420
|
+
by: z.ZodMiniString<string>;
|
|
421
|
+
order: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
422
|
+
closed: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
423
|
+
}, z.core.$strict>]>>;
|
|
424
|
+
}, z.core.$strict>>>;
|
|
373
425
|
}, z.core.$loose>;
|
|
374
426
|
export declare const DocumentSpec: z.ZodMiniObject<{
|
|
375
427
|
$schema: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -394,9 +446,13 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
394
446
|
email: "email";
|
|
395
447
|
url: "url";
|
|
396
448
|
datetime: "datetime";
|
|
397
|
-
|
|
398
|
-
text: "text";
|
|
449
|
+
duration: "duration";
|
|
399
450
|
list: "list";
|
|
451
|
+
text: "text";
|
|
452
|
+
image: "image";
|
|
453
|
+
phone: "phone";
|
|
454
|
+
place: "place";
|
|
455
|
+
"app-link": "app-link";
|
|
400
456
|
}>;
|
|
401
457
|
required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
402
458
|
description: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -415,11 +471,13 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
415
471
|
duration: "duration";
|
|
416
472
|
money: "money";
|
|
417
473
|
percent: "percent";
|
|
474
|
+
markdown: "markdown";
|
|
418
475
|
}>>;
|
|
419
476
|
min: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
420
477
|
max: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
421
478
|
step: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
422
479
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
480
|
+
repeats: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
423
481
|
}, z.core.$strict>>;
|
|
424
482
|
label: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
425
483
|
describe: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -446,6 +504,7 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
446
504
|
inverse: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
447
505
|
appendOnly: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
448
506
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
507
|
+
tidying: z.ZodMiniOptional<z.ZodMiniLiteral<"never">>;
|
|
449
508
|
}, z.core.$strict>>>;
|
|
450
509
|
computed: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
451
510
|
expr: z.ZodMiniString<string>;
|
|
@@ -455,6 +514,11 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
455
514
|
fieldRoles: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
|
|
456
515
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
457
516
|
people: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
517
|
+
archives: z.ZodMiniOptional<z.ZodMiniLiteral<false>>;
|
|
518
|
+
tidying: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
519
|
+
never: "never";
|
|
520
|
+
"no-links": "no-links";
|
|
521
|
+
}>>;
|
|
458
522
|
}, z.core.$strict>>;
|
|
459
523
|
computed: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
460
524
|
expr: z.ZodMiniString<string>;
|
|
@@ -490,9 +554,13 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
490
554
|
email: "email";
|
|
491
555
|
url: "url";
|
|
492
556
|
datetime: "datetime";
|
|
493
|
-
|
|
494
|
-
text: "text";
|
|
557
|
+
duration: "duration";
|
|
495
558
|
list: "list";
|
|
559
|
+
text: "text";
|
|
560
|
+
image: "image";
|
|
561
|
+
phone: "phone";
|
|
562
|
+
place: "place";
|
|
563
|
+
"app-link": "app-link";
|
|
496
564
|
}>;
|
|
497
565
|
required: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
498
566
|
description: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -511,11 +579,13 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
511
579
|
duration: "duration";
|
|
512
580
|
money: "money";
|
|
513
581
|
percent: "percent";
|
|
582
|
+
markdown: "markdown";
|
|
514
583
|
}>>;
|
|
515
584
|
min: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
516
585
|
max: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
517
586
|
step: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
518
587
|
renamedFrom: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
588
|
+
repeats: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
519
589
|
}, z.core.$strict>>>;
|
|
520
590
|
effects: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
|
|
521
591
|
create: z.ZodMiniString<string>;
|
|
@@ -573,10 +643,36 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
573
643
|
kinds: z.ZodMiniArray<z.ZodMiniString<string>>;
|
|
574
644
|
own: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
575
645
|
via: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
646
|
+
fields: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
647
|
+
hide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
576
648
|
}, z.core.$strict>>>;
|
|
577
649
|
}, z.core.$strict>>;
|
|
578
650
|
modules: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
|
|
579
|
-
lenses: z.ZodMiniOptional<z.ZodMiniArray<z.
|
|
651
|
+
lenses: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
|
|
652
|
+
create: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
653
|
+
options: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
654
|
+
sort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
655
|
+
by: z.ZodMiniString<string>;
|
|
656
|
+
direction: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
657
|
+
desc: "desc";
|
|
658
|
+
asc: "asc";
|
|
659
|
+
}>>;
|
|
660
|
+
}, z.core.$strict>]>>;
|
|
661
|
+
columnSort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
662
|
+
by: z.ZodMiniString<string>;
|
|
663
|
+
direction: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
664
|
+
desc: "desc";
|
|
665
|
+
asc: "asc";
|
|
666
|
+
}>>;
|
|
667
|
+
}, z.core.$strict>]>>;
|
|
668
|
+
horizon: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniObject<{
|
|
669
|
+
years: z.ZodMiniNumber<number>;
|
|
670
|
+
title: z.ZodMiniString<string>;
|
|
671
|
+
from: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
672
|
+
to: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
673
|
+
}, z.core.$loose>]>>;
|
|
674
|
+
}, z.core.$loose>>;
|
|
675
|
+
}, z.core.$loose>>>;
|
|
580
676
|
pages: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
581
677
|
order: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
582
678
|
hide: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
@@ -584,6 +680,28 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
584
680
|
primary: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
585
681
|
scene: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
586
682
|
pages: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
683
|
+
lists: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
684
|
+
filters: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
685
|
+
sort: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
686
|
+
by: z.ZodMiniString<string>;
|
|
687
|
+
direction: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
688
|
+
desc: "desc";
|
|
689
|
+
asc: "asc";
|
|
690
|
+
}>>;
|
|
691
|
+
then: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
692
|
+
by: z.ZodMiniString<string>;
|
|
693
|
+
direction: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
694
|
+
desc: "desc";
|
|
695
|
+
asc: "asc";
|
|
696
|
+
}>>;
|
|
697
|
+
}, z.core.$strict>]>>;
|
|
698
|
+
}, z.core.$strict>]>>;
|
|
699
|
+
group: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
700
|
+
by: z.ZodMiniString<string>;
|
|
701
|
+
order: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
702
|
+
closed: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
|
|
703
|
+
}, z.core.$strict>]>>;
|
|
704
|
+
}, z.core.$strict>>>;
|
|
587
705
|
}, z.core.$loose>>;
|
|
588
706
|
views: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniObject<{
|
|
589
707
|
card: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnknown>>;
|
|
@@ -599,7 +717,9 @@ export declare const DocumentSpec: z.ZodMiniObject<{
|
|
|
599
717
|
src: z.ZodMiniString<string>;
|
|
600
718
|
alt: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
601
719
|
}, z.core.$strict>]>>;
|
|
602
|
-
favicon: z.ZodMiniOptional<z.ZodMiniString<string
|
|
720
|
+
favicon: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniObject<{
|
|
721
|
+
emoji: z.ZodMiniString<string>;
|
|
722
|
+
}, z.core.$strict>]>>;
|
|
603
723
|
typography: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
604
724
|
display: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
605
725
|
body: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/document/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/document/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAetC,eAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,kBAAkB,QAAa,CAAC;AAI7C,6DAA6D;AAC7D,eAAO,MAAM,IAAI,QAAoC,CAAC;AACtD,gFAAgF;AAChF,eAAO,MAAM,UAAU,QAAwB,CAAC;AAiBhD;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAA0D,CAAC;AAajF;;;;GAIG;AACH,eAAO,MAAM,WAAW,4KAA6K,CAAC;AACtM,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiCnB,CAAC;AACJ,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAUlD,eAAO,MAAM,QAAQ;;;;;;;;;;;kBAUnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,iGAAiG;AACjG,eAAO,MAAM,YAAY;;;;oBAAgI,CAAC;AAC1J,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8CnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,wGAAwG;AACxG,eAAO,MAAM,SAAS;;oBAAuH,CAAC;AAC9I,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAIlD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;oBAMrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA6BlB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAE9C,eAAO,MAAM,UAAU;;;;;;kBAIrB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;kBAQnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,SAAS;;;;;;;kBAQpB,CAAC;AASH,eAAO,MAAM,SAAS;;;;;;;kBAWpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;kBAGrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwBpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAgDlD;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BpB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiCvB,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
package/dist/document/schema.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as z from "../schema/zod.js";
|
|
2
|
+
import { LINKED_TARGET } from "../schema/linked.js";
|
|
2
3
|
/*
|
|
3
4
|
* THE GRAVIEW DECLARATION DOCUMENT, v1 — as data a stranger can hand us.
|
|
4
5
|
*
|
|
@@ -32,22 +33,26 @@ const notInherited = z.refine((n) => !inherited(n), "every object already has th
|
|
|
32
33
|
const sized = (min, max) => [...(min === undefined ? [] : [z.minLength(min)]), ...(max === undefined ? [] : [z.maxLength(max)])];
|
|
33
34
|
const str = (min, max) => z.string().check(...sized(min, max));
|
|
34
35
|
const some = (of, min, max) => z.array(of).check(...sized(min, max));
|
|
35
|
-
const name = (what) => z.string().check(z.regex(NAME, `${what} names are lower-case words joined by hyphens
|
|
36
|
+
const name = (what) => z.string().check(z.regex(NAME, `${what} names are kebab-case, lower-case words joined by hyphens like "tool-note" (field and relation names are camelCase, like "supersededBy")`));
|
|
36
37
|
/**
|
|
37
38
|
* A RELATION'S NAME may be kebab-case or one camelCase word. camelCase is
|
|
38
39
|
* recommended: a rule can then walk it bare (`tendedBy.name`), where
|
|
39
40
|
* `tended-by.name` would read as a subtraction.
|
|
40
41
|
*/
|
|
41
42
|
export const EDGE_NAME = /^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$/;
|
|
42
|
-
const edgeName = z.string().check(z.regex(EDGE_NAME, 'relation names are one camelCase word, like "
|
|
43
|
+
const edgeName = z.string().check(z.regex(EDGE_NAME, 'relation names are one camelCase word, like "supersededBy" (kind names are kebab-case, like "tool-note")'), notInherited);
|
|
43
44
|
const fieldName = z
|
|
44
45
|
.string()
|
|
45
|
-
.check(z.regex(FIELD_NAME, 'field names are one word or camelCase, like "dueDate"
|
|
46
|
+
.check(z.regex(FIELD_NAME, 'field names are one word or camelCase, like "dueDate", so rules say them bare (kind names are kebab-case, like "tool-note")'), z.refine((n) => !RESERVED_FIELDS.has(n), 'a field cannot be called "id" or "kind" — the framework keeps those; try "type" or "category"'), notInherited);
|
|
46
47
|
const sentence = str(1, 500);
|
|
47
48
|
const expression = str(1, 2000);
|
|
48
49
|
const template = str(1, 300);
|
|
49
|
-
/**
|
|
50
|
-
|
|
50
|
+
/**
|
|
51
|
+
* `image` and `file` hold what the host stored (FR-162): a `FileValue`, its
|
|
52
|
+
* `href` a path on the host. `phone` and `place` are words drawn as a link to
|
|
53
|
+
* call and to a map; `duration` is a whole number of minutes, said "1 h 30 min".
|
|
54
|
+
*/
|
|
55
|
+
export const FIELD_TYPES = ["string", "text", "number", "integer", "boolean", "date", "datetime", "enum", "list", "url", "email", "image", "file", "app-link", "phone", "place", "duration"];
|
|
51
56
|
export const FieldSpec = z
|
|
52
57
|
.strictObject({
|
|
53
58
|
type: z.enum(FIELD_TYPES),
|
|
@@ -59,13 +64,20 @@ export const FieldSpec = z
|
|
|
59
64
|
of: z.optional(z.enum(["string", "number", "date", "image", "file"])),
|
|
60
65
|
default: z.optional(z.unknown()),
|
|
61
66
|
unit: z.optional(str(undefined, 12)),
|
|
62
|
-
|
|
67
|
+
/** How a number is shown (`money`, `percent`, `duration`), or that a `text` field is written in Markdown (FR-180; the checker's `field-format` says which goes where). */
|
|
68
|
+
format: z.optional(z.enum(["money", "percent", "duration", "markdown"])),
|
|
63
69
|
/** A number's range (FR-114): the least and the most it may be, and the step its values are whole multiples of (JSON Schema's `multipleOf`). */
|
|
64
70
|
min: z.optional(z.number()),
|
|
65
71
|
max: z.optional(z.number()),
|
|
66
72
|
step: z.optional(z.number()),
|
|
67
73
|
/** The name this field had in the previous version: its values move instead of being dropped. */
|
|
68
74
|
renamedFrom: z.optional(z.string().check(z.regex(FIELD_NAME))),
|
|
75
|
+
/**
|
|
76
|
+
* A date that repeats (`repeat.ts`): a record may keep, beside the date
|
|
77
|
+
* (its first occurrence), how it repeats under the date's name and
|
|
78
|
+
* `Repeat` — `"startsAtRepeat": { "every": "week", "on": ["tue"] }`.
|
|
79
|
+
*/
|
|
80
|
+
repeats: z.optional(z.boolean()),
|
|
69
81
|
})
|
|
70
82
|
.check(z.superRefine((f, ctx) => {
|
|
71
83
|
if (f.type === "enum" && !f.options)
|
|
@@ -74,15 +86,26 @@ export const FieldSpec = z
|
|
|
74
86
|
ctx.addIssue({ code: "custom", message: '"options" belongs only on an enum field', path: ["options"] });
|
|
75
87
|
if (f.type !== "list" && f.of)
|
|
76
88
|
ctx.addIssue({ code: "custom", message: '"of" belongs only on a list field', path: ["of"] });
|
|
89
|
+
if (f.repeats && f.type !== "date" && f.type !== "datetime")
|
|
90
|
+
ctx.addIssue({ code: "custom", message: '"repeats" belongs only on a date or datetime field', path: ["repeats"] });
|
|
77
91
|
}));
|
|
92
|
+
/**
|
|
93
|
+
* WHERE A RELATION GOES: a kind of this document (`"house"`), or a kind in
|
|
94
|
+
* ANOTHER APP the viewer can open (FR-171) — `@` + the app's address + `/`
|
|
95
|
+
* + its kind: `"@nick/house/house"`, `"@app_kf5eydr9z58jzf/house"`. A link
|
|
96
|
+
* to another app's record picks one there and leaves that app untouched.
|
|
97
|
+
*/
|
|
98
|
+
const edgeTarget = z.string().check(z.regex(new RegExp(`${NAME.source}|${LINKED_TARGET.source}`), 'a relation goes to a kind of this document, like "house", or of another app, like "@nick/house/house"'));
|
|
78
99
|
export const EdgeSpec = z.strictObject({
|
|
79
|
-
to: z.union([some(
|
|
100
|
+
to: z.union([some(edgeTarget, 1), z.literal("*")]),
|
|
80
101
|
cardinality: z.optional(z.enum(["one", "many"])),
|
|
81
102
|
description: z.optional(sentence),
|
|
82
103
|
inverse: z.optional(str(1, 80)),
|
|
83
104
|
appendOnly: z.optional(z.boolean()),
|
|
84
105
|
/** The name this relation had in the previous version: its links move. */
|
|
85
106
|
renamedFrom: z.optional(z.string()),
|
|
107
|
+
/** `"never"`: no automated author makes or breaks this relation on its own (`@graview/core/tidying`). */
|
|
108
|
+
tidying: z.optional(z.literal("never")),
|
|
86
109
|
});
|
|
87
110
|
/** A computed field: its expression, or the expression with the words it is shown by (FR-83). */
|
|
88
111
|
export const ComputedSpec = z.union([expression, z.strictObject({ expr: expression, label: z.optional(str(1, 60)), description: z.optional(sentence) })]);
|
|
@@ -126,6 +149,10 @@ export const KindSpec = z.strictObject({
|
|
|
126
149
|
renamedFrom: z.optional(z.string().check(z.regex(NAME))),
|
|
127
150
|
/** This kind stands for the people: a record of it whose id is a member's principal id is that member (`$me`, `self`, `own`, `via`, `ownEnd`). */
|
|
128
151
|
people: z.optional(z.boolean()),
|
|
152
|
+
/** `false`: its records are kept or removed, never archived — the kind is given no `archive-`, `unarchive-` or `merge-<kind>` (FR-173). */
|
|
153
|
+
archives: z.optional(z.literal(false)),
|
|
154
|
+
/** What the app's own actor may do to its records on its own: `"never"` nothing, `"no-links"` all but link and unlink them (`@graview/core/tidying`). */
|
|
155
|
+
tidying: z.optional(z.enum(["never", "no-links"])),
|
|
129
156
|
});
|
|
130
157
|
/** A value an effect writes: a literal, `$arg`, `$subject`, `$new`, `$now`, `$today`, or `{ expr }`. */
|
|
131
158
|
export const ValueSpec = z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(z.unknown()), z.strictObject({ expr: expression })]);
|
|
@@ -196,6 +223,7 @@ export const GrantSpec = z.strictObject({
|
|
|
196
223
|
* by nobody but the system (a host that gives its owners everything serves
|
|
197
224
|
* them as the system, or names them in a sight).
|
|
198
225
|
*/
|
|
226
|
+
const fieldNames = z.optional(some(name("field"), 1));
|
|
199
227
|
export const SightSpec = z.strictObject({
|
|
200
228
|
roles: z.union([some(name("role"), 1), z.literal("*")]),
|
|
201
229
|
kinds: some(name("kind"), 1),
|
|
@@ -203,6 +231,10 @@ export const SightSpec = z.strictObject({
|
|
|
203
231
|
own: z.optional(z.boolean()),
|
|
204
232
|
/** Only the records this relation joins to the principal's own record of the people kind. */
|
|
205
233
|
via: z.optional(edgeName),
|
|
234
|
+
/** Only these fields of the records it shows (Roadmap f-field-sight); sights add up. */
|
|
235
|
+
fields: fieldNames,
|
|
236
|
+
/** Every field but these of the records it shows: kept from the roles, on every surface, and not theirs to write. */
|
|
237
|
+
hide: fieldNames,
|
|
206
238
|
});
|
|
207
239
|
export const PolicySpec = z.strictObject({
|
|
208
240
|
grants: z.array(GrantSpec),
|
|
@@ -211,7 +243,8 @@ export const PolicySpec = z.strictObject({
|
|
|
211
243
|
/**
|
|
212
244
|
* The installation's look and its money: an accent color the palette is
|
|
213
245
|
* derived from, and the currency and locale a sum is said in wherever a
|
|
214
|
-
* block names none (FR-100)
|
|
246
|
+
* block names none (FR-100) — the locale its days, times and numbers are
|
|
247
|
+
* said in too (FR-178), "en-US" when absent. Any of them may stand alone.
|
|
215
248
|
*/
|
|
216
249
|
export const BrandSpec = z.strictObject({
|
|
217
250
|
accent: z.optional(z.string().check(z.regex(/^#[0-9a-fA-F]{6}$/, 'an accent is a color like "#c2577a"'))),
|
|
@@ -226,7 +259,8 @@ export const BrandSpec = z.strictObject({
|
|
|
226
259
|
* in, how round and how roomy, a hue per kind, and the scheme it prefers.
|
|
227
260
|
*/
|
|
228
261
|
logo: z.optional(z.union([str(1, MARK_MAX), z.strictObject({ src: str(1, MARK_MAX), alt: z.optional(str(1, 120)) })])),
|
|
229
|
-
|
|
262
|
+
// A page icon: a mark as the logo is one, or `{ "emoji": "🏡" }` — one standard emoji, the app's mark where it has no logo (`brand-emoji`).
|
|
263
|
+
favicon: z.optional(z.union([str(1, MARK_MAX), z.strictObject({ emoji: z.string() })])),
|
|
230
264
|
typography: z.optional(z.strictObject({ display: z.optional(str(1, 200)), body: z.optional(str(1, 200)), mono: z.optional(str(1, 200)) })),
|
|
231
265
|
shape: z.optional(z.strictObject({
|
|
232
266
|
radius: z.optional(z.number().check(z.minimum(0), z.maximum(32))),
|
|
@@ -236,12 +270,43 @@ export const BrandSpec = z.strictObject({
|
|
|
236
270
|
scheme: z.optional(z.enum(["light", "dark", "auto"])),
|
|
237
271
|
});
|
|
238
272
|
const loose = z.record(z.string(), z.unknown());
|
|
273
|
+
/** A grid lens's order (`grid-sort.ts`): a field, or { by, direction }. */
|
|
274
|
+
const GridSortSpec = z.union([str(1, 120), z.strictObject({ by: str(1, 120), direction: z.optional(z.enum(["asc", "desc"])) })]);
|
|
275
|
+
const Year = z.number().check(z.int(), z.minimum(1), z.maximum(9999));
|
|
276
|
+
/**
|
|
277
|
+
* A lens: checked by `graview check` against the lenses the framework ships
|
|
278
|
+
* (`declaredLenses`), so loose here but for what its page is: `create`,
|
|
279
|
+
* false where the place's page leaves off the forms that begin its kind —
|
|
280
|
+
* and the options whose shape is the same on every lens that takes them:
|
|
281
|
+
* a coverage's `sort` and `columnSort` and a status board's `sort` (the
|
|
282
|
+
* order of its rows, columns or cards), and a calendar's `horizon` (its
|
|
283
|
+
* span of years, reaching its records' first and last unless `from` and
|
|
284
|
+
* `to` pin it).
|
|
285
|
+
*/
|
|
286
|
+
const LensSpec = z.looseObject({
|
|
287
|
+
create: z.optional(z.boolean()),
|
|
288
|
+
options: z.optional(z.looseObject({
|
|
289
|
+
sort: z.optional(GridSortSpec),
|
|
290
|
+
columnSort: z.optional(GridSortSpec),
|
|
291
|
+
horizon: z.optional(z.union([z.number().check(z.int(), z.minimum(1), z.maximum(200)), z.looseObject({ years: z.number().check(z.int(), z.minimum(1), z.maximum(200)), title: str(1, 80), from: z.optional(Year), to: z.optional(Year) })])),
|
|
292
|
+
})),
|
|
293
|
+
});
|
|
239
294
|
/** A kind's view specs: which slots it fills. The blocks are checked in views.ts, sentence by sentence. */
|
|
240
295
|
const ViewSpecsSpec = z.strictObject({
|
|
241
296
|
card: z.optional(z.array(z.unknown())),
|
|
242
297
|
row: z.optional(z.array(z.unknown())),
|
|
243
298
|
page: z.optional(z.array(z.unknown())),
|
|
244
299
|
});
|
|
300
|
+
/** A kind's list's declared order (`pages.lists.<kind>.sort`): a key, or a key with a direction and a tiebreak. */
|
|
301
|
+
const ListSortSpec = () => {
|
|
302
|
+
const direction = z.optional(z.enum(["asc", "desc"]));
|
|
303
|
+
return z.union([
|
|
304
|
+
str(1, 120),
|
|
305
|
+
z.strictObject({ by: str(1, 120), direction, then: z.optional(z.union([str(1, 120), z.strictObject({ by: str(1, 120), direction })])) }),
|
|
306
|
+
]);
|
|
307
|
+
};
|
|
308
|
+
/** A kind's list's declared grouping (`pages.lists.<kind>.group`): a field, or a field with its groups' order and the closed ones. */
|
|
309
|
+
const ListGroupSpec = () => z.union([str(1, 120), z.strictObject({ by: str(1, 120), order: z.optional(some(str(1, 80), undefined, 40)), closed: z.optional(some(str(1, 80), undefined, 40)) })]);
|
|
245
310
|
/**
|
|
246
311
|
* THE ARRANGEMENT (FR-80): the kinds in order, the kinds the home leaves
|
|
247
312
|
* off, the place the app opens on. Loose enough that a document which
|
|
@@ -261,6 +326,17 @@ export const PagesSpec = z.looseObject({
|
|
|
261
326
|
*/
|
|
262
327
|
scene: z.optional(str(1, 40)),
|
|
263
328
|
pages: z.optional(str(1, 40)),
|
|
329
|
+
/*
|
|
330
|
+
* What each kind's list offers to filter by, by kind (`pages.lists.request.filters`): fields, relations,
|
|
331
|
+
* `is`, and `<relation>.<field>` for a choice at a relation's far end. Its choice fields stand as chips.
|
|
332
|
+
*/
|
|
333
|
+
lists: z.optional(z.record(z.string(), z.strictObject({
|
|
334
|
+
filters: z.optional(some(str(1, 120), undefined, 40)),
|
|
335
|
+
/* The order it opens in: a field, a computed field or `label`, lowest first — or { by, direction, then }. */
|
|
336
|
+
sort: z.optional(ListSortSpec()),
|
|
337
|
+
/* How it opens grouped: a choice or yes-or-no field — or { by, order, closed }, the closed groups last and shut. */
|
|
338
|
+
group: z.optional(ListGroupSpec()),
|
|
339
|
+
}))),
|
|
264
340
|
});
|
|
265
341
|
export const DocumentSpec = z.strictObject({
|
|
266
342
|
/* Where an editor finds this shape as JSON Schema (`@graview/core/document.schema.json`); the compiler reads past it. */
|
|
@@ -285,7 +361,7 @@ export const DocumentSpec = z.strictObject({
|
|
|
285
361
|
roles: z.optional(z.array(name("role"))),
|
|
286
362
|
policy: z.optional(PolicySpec),
|
|
287
363
|
modules: z.optional(loose),
|
|
288
|
-
lenses: z.optional(z.array(
|
|
364
|
+
lenses: z.optional(z.array(LensSpec)),
|
|
289
365
|
pages: z.optional(PagesSpec),
|
|
290
366
|
/** Each kind's views by kind, and `home`: the home view, a list of blocks about no one record (FR-81). */
|
|
291
367
|
views: z.optional(z.record(z.string(), z.union([ViewSpecsSpec, z.array(z.unknown())]))),
|