@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
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isoToday, numberAsRead } from "../days.js";
|
|
2
2
|
import { capitalize } from "../capital.js";
|
|
3
|
-
import { filesOf } from "./files.js";
|
|
4
3
|
/**
|
|
5
4
|
* The single declaration everything else derives from. Views, agent tool
|
|
6
5
|
* schemas, drag legality, aggregate contents and accessibility labels all
|
|
@@ -35,48 +34,6 @@ export function isCurrent(definition, node, today) {
|
|
|
35
34
|
}
|
|
36
35
|
return !lifecycle.retired.includes(value);
|
|
37
36
|
}
|
|
38
|
-
/**
|
|
39
|
-
* WHAT TELLS TWO SAME-NAMED THINGS APART, among the nodes a person is
|
|
40
|
-
* choosing from. A single and its album are both "Blue Hour", and every
|
|
41
|
-
* picker, every ask and the Find strip listed "Blue Hour, Blue Hour": a
|
|
42
|
-
* choice nobody could make. For each node whose name another in the list
|
|
43
|
-
* shares, the first fact that differs between them — "single" and "album",
|
|
44
|
-
* or the dates — else its kind, else its id. Nodes with a name of their
|
|
45
|
-
* own get nothing.
|
|
46
|
-
*/
|
|
47
|
-
export function tellApart(nodes, definitionOf) {
|
|
48
|
-
const apart = new Map();
|
|
49
|
-
const byName = new Map();
|
|
50
|
-
for (const node of nodes) {
|
|
51
|
-
const name = labelOf(definitionOf(node.kind), node).trim().toLowerCase();
|
|
52
|
-
byName.set(name, [...(byName.get(name) ?? []), node]);
|
|
53
|
-
}
|
|
54
|
-
for (const same of byName.values()) {
|
|
55
|
-
if (same.length < 2)
|
|
56
|
-
continue;
|
|
57
|
-
const byKind = new Map();
|
|
58
|
-
for (const node of same)
|
|
59
|
-
byKind.set(node.kind, [...(byKind.get(node.kind) ?? []), node]);
|
|
60
|
-
for (const [kind, alike] of byKind) {
|
|
61
|
-
// One of its kind among namesakes of other kinds: the kind is what differs.
|
|
62
|
-
if (alike.length === 1) {
|
|
63
|
-
apart.set(alike[0].id, nounOf(definitionOf(kind), kind));
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
const facts = alike.map((node) => new Map(readableFields(node, definitionOf(node.kind)).map((field) => [field.key, field.alone])));
|
|
67
|
-
const keys = [...new Set(facts.flatMap((fact) => [...fact.keys()]))];
|
|
68
|
-
// A word before a number: "single" and "album" say more than two dates.
|
|
69
|
-
const wordy = (key) => facts.every((fact) => !/\d/.test(fact.get(key) ?? ""));
|
|
70
|
-
const ordered = [...keys.filter(wordy), ...keys.filter((key) => !wordy(key))];
|
|
71
|
-
const telling = ordered.find((key) => new Set(facts.map((fact) => fact.get(key) ?? "")).size === alike.length);
|
|
72
|
-
alike.forEach((node, at) => {
|
|
73
|
-
const fact = telling ? facts[at].get(telling) : undefined;
|
|
74
|
-
apart.set(node.id, fact ?? node.id);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return apart;
|
|
79
|
-
}
|
|
80
37
|
/** Resolves a node's display label, honoring the declaration's override. */
|
|
81
38
|
export function labelOf(definition, node) {
|
|
82
39
|
if (definition?.label) {
|
|
@@ -106,15 +63,6 @@ export function summarize(text, max = 60) {
|
|
|
106
63
|
// A trailing comma or full stop before the ellipsis reads as a typo.
|
|
107
64
|
return `${(boundary > max * 0.5 ? cut.slice(0, boundary) : cut).replace(/[\s,.;:]+$/, "")}…`;
|
|
108
65
|
}
|
|
109
|
-
/** Resolves a node's prose description, used for a11y and tool text. */
|
|
110
|
-
export function describeNode(definition, node) {
|
|
111
|
-
if (definition?.describe) {
|
|
112
|
-
return definition.describe(node);
|
|
113
|
-
}
|
|
114
|
-
return `${node.kind} ${labelOf(definition, node)}`;
|
|
115
|
-
}
|
|
116
|
-
/** Never shown: identity and the name, which the heading already is. */
|
|
117
|
-
const NOT_A_FIELD = new Set(["id", "kind", "label"]);
|
|
118
66
|
/** `effectiveFrom` shown to a person is a schema leaking through a surface. */
|
|
119
67
|
/**
|
|
120
68
|
* WHAT AN ACT IS CALLED, everywhere it is offered — the actions strip, the
|
|
@@ -139,16 +87,6 @@ export function humanizeField(field) {
|
|
|
139
87
|
* so `plannedAt` never reaches a person from one surface while another says
|
|
140
88
|
* "Planned at".
|
|
141
89
|
*/
|
|
142
|
-
/**
|
|
143
|
-
* One of a field's values, as the declaration says it: its `display.format`
|
|
144
|
-
* where it has one ("SUV", "Plug-in hybrid"), else the value spoken. A
|
|
145
|
-
* filter that offered "suv" and "plug-in-hybrid" beside a record that said
|
|
146
|
-
* "SUV" and "Plug-in hybrid" read one field two ways.
|
|
147
|
-
*/
|
|
148
|
-
export function valueWords(definition, key, value) {
|
|
149
|
-
const format = definition?.display?.format?.[key];
|
|
150
|
-
return format ? format(value) : typeof value === "string" ? humanizeField(value) : String(value);
|
|
151
|
-
}
|
|
152
90
|
/**
|
|
153
91
|
* HOW MANY OF A KIND, in its words: "1 car", "3 cars", "1 test drive" —
|
|
154
92
|
* the noun for one, the plural for the rest. Sentences that took the kind's
|
|
@@ -157,7 +95,8 @@ export function valueWords(definition, key, value) {
|
|
|
157
95
|
*/
|
|
158
96
|
export function counted(schema, kind, count) {
|
|
159
97
|
const definition = schema.tryDefinition(kind);
|
|
160
|
-
|
|
98
|
+
// A count is a figure, said in the page's locale like every other (W-198): "7,540 inspections", never "7540".
|
|
99
|
+
return `${numberAsRead(count)} ${count === 1 ? nounOf(definition, kind) : pluralOf(schema, kind).toLowerCase()}`;
|
|
161
100
|
}
|
|
162
101
|
/**
|
|
163
102
|
* WHAT A KIND'S RECORDS ARE CALLED TOGETHER, inside a sentence: its
|
|
@@ -177,18 +116,11 @@ export function pluralOf(schema, kind) {
|
|
|
177
116
|
export function pluralLabel(schema, kind) {
|
|
178
117
|
return capitalize(pluralOf(schema, kind));
|
|
179
118
|
}
|
|
180
|
-
/**
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
* carries a key, whichever surface wrote it.
|
|
186
|
-
*/
|
|
187
|
-
export function edgeWords(schema, ownerKind, edgeKind, direction) {
|
|
188
|
-
const edges = schema.tryDefinition(ownerKind)?.edges;
|
|
189
|
-
const declared = edges && Object.hasOwn(edges, edgeKind) ? edges[edgeKind] : undefined;
|
|
190
|
-
const said = direction === "out" ? declared?.description : declared?.inverse;
|
|
191
|
-
return said ?? humanizeField(edgeKind).toLowerCase();
|
|
119
|
+
/** A kind's whole list, said beside a place that has its name (`pages-place-named-as-a-list`): "All root causes". */
|
|
120
|
+
export function allLabel(schema, kind) {
|
|
121
|
+
const plural = pluralOf(schema, kind);
|
|
122
|
+
// "Open questions" is a capital starting a label, not a name: "All open questions". "APIs" stays as it is.
|
|
123
|
+
return `All ${/^[A-Z][a-z]/.test(plural) ? plural.charAt(0).toLowerCase() + plural.slice(1) : plural}`;
|
|
192
124
|
}
|
|
193
125
|
export function fieldWords(definition, key) {
|
|
194
126
|
// A computed field's own label is its words too (FR-83), where the display does not say otherwise.
|
|
@@ -238,174 +170,4 @@ export function withArticle(word) {
|
|
|
238
170
|
export function nounOf(definition, kind) {
|
|
239
171
|
return definition?.noun ?? humanizeField(kind).toLowerCase();
|
|
240
172
|
}
|
|
241
|
-
/** Whether `line` carries `value` as whole words: "2027 Subaru Forester" says "Subaru" and "2027", not "Sub". */
|
|
242
|
-
function saysAsWords(line, value) {
|
|
243
|
-
if (value.length === 0)
|
|
244
|
-
return false;
|
|
245
|
-
const escaped = value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
246
|
-
return new RegExp(`(^|[\\s·,(/])${escaped}($|[\\s·,)/])`).test(line);
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* WHICH of a node's fields a person sees, and HOW each one reads.
|
|
250
|
-
*
|
|
251
|
-
* One implementation, because there were two: the record on a page and the
|
|
252
|
-
* summary on a card each decided this for themselves, and every rule — hide an
|
|
253
|
-
* ordering key, format minutes as a time, render a boolean as a word, drop a
|
|
254
|
-
* value the heading already said — had to be written into both and kept in
|
|
255
|
-
* step by hand. They diverged the day the second one was written, which is how
|
|
256
|
-
* a summary card ended up showing a list's ordering key as a chip reading "0"
|
|
257
|
-
* while the page beside it did not.
|
|
258
|
-
*
|
|
259
|
-
* `said` is what the surrounding view has already put on screen. A value the
|
|
260
|
-
* heading already carries is not information twice, it is the same sentence
|
|
261
|
-
* twice — and where the heading is a SHORTENED form of a field, an exact
|
|
262
|
-
* comparison never catches it, so the summary's stem is compared too.
|
|
263
|
-
*/
|
|
264
|
-
export function readableFields(node, definition, options = {}) {
|
|
265
|
-
const display = definition?.display;
|
|
266
|
-
const skip = new Set([...NOT_A_FIELD, ...(display?.hide ?? [])]);
|
|
267
|
-
const said = (options.said ?? []).filter((text) => Boolean(text));
|
|
268
|
-
const stems = said
|
|
269
|
-
.filter((text) => text.endsWith("…"))
|
|
270
|
-
.map((text) => text.replace(/…$/, "").trim())
|
|
271
|
-
.filter((stem) => stem.length > 12);
|
|
272
|
-
const fields = [];
|
|
273
|
-
/*
|
|
274
|
-
* IN THE ORDER THE DECLARATION SAYS, NOT THE ORDER THE RECORD WAS WRITTEN
|
|
275
|
-
* IN (FR-148). This read `Object.entries(node)`, so a record created with
|
|
276
|
-
* three of its fields and given two more later read Status, Summary, Due,
|
|
277
|
-
* Draft, Subject line — the order of its writes, which nobody chose.
|
|
278
|
-
* A glance says what the declaration chose for it first (`display.glance`);
|
|
279
|
-
* a record's page, what its page chose (`display.page`); then the fields
|
|
280
|
-
* as the kind declares them, its computed ones after.
|
|
281
|
-
*/
|
|
282
|
-
// Unchosen, a glance leads with who made the record and when, where the kind's roles say (`fieldRoles.who`, `.when`).
|
|
283
|
-
const roles = definition?.fieldRoles;
|
|
284
|
-
const chosen = options.glance ? (display?.glance ?? [roles?.["who"], roles?.["when"]].filter((key) => !!key)) : pageOrder(display?.page);
|
|
285
|
-
const keys = [...new Set([...chosen, ...declaredOrder(definition), ...Object.keys(node)])].filter((key) => Object.hasOwn(node, key));
|
|
286
|
-
const entries = keys.map((key) => [key, node[key]]);
|
|
287
|
-
for (const [key, value] of entries) {
|
|
288
|
-
if (skip.has(key) || value === undefined || value === null)
|
|
289
|
-
continue;
|
|
290
|
-
const format = display?.format?.[key];
|
|
291
|
-
// A picture or a document (FR-162) is drawn, not said on a glance; its words are its names.
|
|
292
|
-
const files = format ? [] : filesOf(value);
|
|
293
|
-
if (files[0] && options.glance)
|
|
294
|
-
continue;
|
|
295
|
-
/*
|
|
296
|
-
* A NESTED OBJECT HAS NO ONE-LINE RENDERING, and inventing one is worse
|
|
297
|
-
* than leaving it to a view that knows what it is.
|
|
298
|
-
*
|
|
299
|
-
* That was true of an object and was not checked of an ARRAY of them,
|
|
300
|
-
* which fell through to `join(", ")` — so a piece of ground with a
|
|
301
|
-
* five-corner outline had a field on its record reading "[object
|
|
302
|
-
* Object], [object Object], [object Object], [object Object]". Nobody
|
|
303
|
-
* wrote that; nobody could have read it. The shape is drawn on the map
|
|
304
|
-
* and belongs there, not in a list of words.
|
|
305
|
-
*
|
|
306
|
-
* A declaration that HAS a one-line rendering says so with `format`,
|
|
307
|
-
* and then it is the declaration's sentence rather than this one's
|
|
308
|
-
* guess — "5 corners" is a useful thing to say and only the app knows
|
|
309
|
-
* that the numbers are corners.
|
|
310
|
-
*/
|
|
311
|
-
const nested = !files[0] &&
|
|
312
|
-
typeof value === "object" &&
|
|
313
|
-
(!Array.isArray(value) || value.some((one) => typeof one === "object" && one !== null));
|
|
314
|
-
if (nested && format === undefined)
|
|
315
|
-
continue;
|
|
316
|
-
const stored = files[0] ? files.map((file) => (file.caption ? `${file.name} — ${file.caption}` : file.name)).join(", ") : Array.isArray(value) ? value.join(", ") : typeof value === "boolean" ? (value ? "Yes" : "No") : String(value);
|
|
317
|
-
const text = format
|
|
318
|
-
? format(value)
|
|
319
|
-
: Array.isArray(value) || typeof value === "boolean"
|
|
320
|
-
? // Nobody says "false". A boolean is a state, and the words for a
|
|
321
|
-
// state are words.
|
|
322
|
-
stored
|
|
323
|
-
: /*
|
|
324
|
-
* A DAY AS A PERSON READS IT ("28 Aug 2026"), on a glance and in a
|
|
325
|
-
* record's facts alike; the edit control holds it as it is written
|
|
326
|
-
* (`stored`). And a CHOICE as it is declared — its `display.format`,
|
|
327
|
-
* else the value spoken — never the code it is kept as ("tue").
|
|
328
|
-
*/
|
|
329
|
-
typeof value === "string" && ISO_DAY.test(value)
|
|
330
|
-
? dayAsRead(value)
|
|
331
|
-
: typeof value === "string" && isChoice(definition, key)
|
|
332
|
-
? valueWords(definition, key, value)
|
|
333
|
-
: stored;
|
|
334
|
-
if (said.includes(text) || stems.some((stem) => text.startsWith(stem)))
|
|
335
|
-
continue;
|
|
336
|
-
if (options.glance && (typeof value === "string" || typeof value === "number") && said.some((line) => saysAsWords(line, text)))
|
|
337
|
-
continue;
|
|
338
|
-
const label = fieldWords(definition, key);
|
|
339
|
-
const alone =
|
|
340
|
-
// A yes or no the kind words itself ("Not yet inducted") is said whole; "Inducted: not yet inducted" said it twice (W-187).
|
|
341
|
-
typeof value === "number" ? `${label} ${text}` : typeof value === "boolean" && !format ? `${label}: ${text.toLowerCase()}` : text;
|
|
342
|
-
fields.push({ key, label, value: text, stored, alone, long: typeof value === "string" && isLongText(definition, key, text), ...(files[0] ? { files } : {}) });
|
|
343
|
-
if (options.limit !== undefined && fields.length >= options.limit)
|
|
344
|
-
break;
|
|
345
|
-
}
|
|
346
|
-
return fields;
|
|
347
|
-
}
|
|
348
|
-
/** Whether a field is one of a declared set of values (`z.enum`), under optional, default and nullable. */
|
|
349
|
-
function isChoice(definition, key) {
|
|
350
|
-
let at = definition?.fields?.shape?.[key];
|
|
351
|
-
for (let depth = 0; depth < 6 && at?._zod?.def?.innerType !== undefined; depth++)
|
|
352
|
-
at = at._zod.def.innerType;
|
|
353
|
-
return at?._zod?.def?.type === "enum";
|
|
354
|
-
}
|
|
355
|
-
/** The kind's fields as it declares them, then its computed fields. */
|
|
356
|
-
function declaredOrder(definition) {
|
|
357
|
-
const shape = definition?.fields?.shape;
|
|
358
|
-
return [...Object.keys(shape ?? {}), ...Object.keys(definition?.computed ?? {})];
|
|
359
|
-
}
|
|
360
|
-
/** Every field a page names, in the order it names them: its first fields, then each group's. */
|
|
361
|
-
function pageOrder(page) {
|
|
362
|
-
return [...(page?.fields ?? []), ...(page?.groups ?? []).flatMap((group) => group.fields)];
|
|
363
|
-
}
|
|
364
|
-
/** What a string field may hold beyond which it is prose: a document's `string` holds 500, its `text` 20,000. */
|
|
365
|
-
const PROSE_ALLOWED = 500;
|
|
366
|
-
/** A value this long, or with a line break in it, is read as prose whatever its field allows. */
|
|
367
|
-
const PROSE_LENGTH = 160;
|
|
368
|
-
/** The string schema under optional, default and nullable. */
|
|
369
|
-
function stringSchema(schema) {
|
|
370
|
-
let at = schema;
|
|
371
|
-
for (let depth = 0; depth < 6 && at?._zod?.def?.innerType !== undefined; depth++)
|
|
372
|
-
at = at._zod.def.innerType;
|
|
373
|
-
return at?._zod?.def?.type === "string" ? at._zod.def : undefined;
|
|
374
|
-
}
|
|
375
|
-
/**
|
|
376
|
-
* WHETHER A FIELD'S VALUE IS PROSE (FR-147): a string field declared to hold
|
|
377
|
-
* more than 500 characters — a document's `text`, or `z.string().max(5000)`
|
|
378
|
-
* in TypeScript — whatever it holds now, so an empty draft is still edited
|
|
379
|
-
* in a text area; or a value with a line break in it, or longer than 160
|
|
380
|
-
* characters.
|
|
381
|
-
*/
|
|
382
|
-
export function isLongText(definition, key, value) {
|
|
383
|
-
const field = stringSchema(definition?.fields?.shape?.[key]);
|
|
384
|
-
if (field?.checks?.some((check) => check._zod?.def?.check === "max_length" && (check._zod.def.maximum ?? 0) > PROSE_ALLOWED))
|
|
385
|
-
return true;
|
|
386
|
-
return typeof value === "string" && (value.includes("\n") || value.length > PROSE_LENGTH);
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* A RECORD'S FACTS, IN THE SECTIONS ITS PAGE DECLARES (FR-148).
|
|
390
|
-
*
|
|
391
|
-
* `fields` are read as `readableFields` ordered them. Unsaid, one untitled
|
|
392
|
-
* section of all of them. With `display.page`, its `fields` first, untitled;
|
|
393
|
-
* each of its `groups` under its title; and what neither names under
|
|
394
|
-
* "Details" when there are groups, else after the first fields. A section
|
|
395
|
-
* with nothing to show is left out.
|
|
396
|
-
*/
|
|
397
|
-
export function pageSections(definition, fields) {
|
|
398
|
-
const page = definition?.display?.page;
|
|
399
|
-
const groups = page?.groups ?? [];
|
|
400
|
-
const byKey = new Map(fields.map((field) => [field.key, field]));
|
|
401
|
-
const named = new Set(pageOrder(page));
|
|
402
|
-
const pick = (keys) => keys.flatMap((key) => (byKey.has(key) ? [byKey.get(key)] : []));
|
|
403
|
-
const rest = fields.filter((field) => !named.has(field.key));
|
|
404
|
-
const sections = [
|
|
405
|
-
{ fields: [...pick(page?.fields ?? []), ...(groups.length > 0 ? [] : rest)] },
|
|
406
|
-
...groups.map((group) => ({ title: group.title, fields: pick(group.fields) })),
|
|
407
|
-
...(groups.length > 0 ? [{ title: "Details", fields: rest }] : []),
|
|
408
|
-
];
|
|
409
|
-
return sections.filter((section) => section.fields.length > 0);
|
|
410
|
-
}
|
|
411
173
|
//# sourceMappingURL=define-node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-node.js","sourceRoot":"","sources":["../../src/schema/define-node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"define-node.js","sourceRoot":"","sources":["../../src/schema/define-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { TypedField } from "./typed-fields.js";
|
|
2
|
+
/**
|
|
3
|
+
* A LENGTH OF TIME AS IT IS TYPED, IN MINUTES: "90", "1:30", "1h 30m",
|
|
4
|
+
* "1 h 30 min", "1.5 h", "2 hours and 15 minutes", "1d", "1:30:00". A bare number is
|
|
5
|
+
* minutes. Anything else is undefined; a part of a minute is rounded.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseDuration(input: unknown): number | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* A DURATION AS IT IS READ: "1 h 30 min", "45 min", "2 h". The numbers are
|
|
10
|
+
* the locale's (`Intl`, through the app's or the reader's locale), the units
|
|
11
|
+
* short and the same everywhere: `Intl`'s own short units say "1 hr" in
|
|
12
|
+
* en-US, where the field promises "1 h".
|
|
13
|
+
*/
|
|
14
|
+
export declare function sayDuration(minutes: number, locale?: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* A PHONE NUMBER AS IT IS READ: grouped as "(555) 123-4567" for a reader in
|
|
17
|
+
* the United States or Canada where it is a North American number, and as
|
|
18
|
+
* it was entered everywhere else — a format nobody chose is worse than the
|
|
19
|
+
* one the person typed.
|
|
20
|
+
*/
|
|
21
|
+
export declare function sayPhone(phone: string, locale?: string): string;
|
|
22
|
+
/** A phone number as a `tel:` link: its `+` and digits, and its extension; undefined for fewer than three digits. */
|
|
23
|
+
export declare function telHref(phone: string): string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* A PLACE AS A LINK TO THE READER'S MAPS APP. No one address opens every
|
|
26
|
+
* reader's own: `geo:` does nothing in a desktop browser, and an address on
|
|
27
|
+
* one maker's maps opens the other's website. So on Apple's platforms
|
|
28
|
+
* maps.apple.com, which opens Maps; everywhere else Google's universal Maps
|
|
29
|
+
* address, which opens the Google Maps app on Android and the map in the
|
|
30
|
+
* browser elsewhere. Neither needs a key; nothing is fetched until it is
|
|
31
|
+
* followed.
|
|
32
|
+
*/
|
|
33
|
+
export declare function mapsHref(place: string, apple?: boolean): string;
|
|
34
|
+
type Readable = {
|
|
35
|
+
readonly fields?: unknown;
|
|
36
|
+
readonly computed?: unknown;
|
|
37
|
+
};
|
|
38
|
+
/** What a kind's field holds where it is a phone, a place or a duration: a stored field's mark, or a computed field that works out a length of time. */
|
|
39
|
+
export declare function fieldSays(definition: Readable | undefined, key: string): TypedField | undefined;
|
|
40
|
+
/** A phone, a place or a duration in words; undefined for a value that is not one. */
|
|
41
|
+
export declare function typedWords(type: TypedField | undefined, value: unknown, locale?: string): string | undefined;
|
|
42
|
+
/** Where a phone or a place takes its reader: a `tel:` link, or the maps app. */
|
|
43
|
+
export declare function typedHref(type: TypedField | undefined, value: unknown): string | undefined;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=field-words.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-words.d.ts","sourceRoot":"","sources":["../../src/schema/field-words.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAYpD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAgBhE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAOpE;AAKD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED,qHAAqH;AACrH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIzD;AAKD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,OAAmB,GAAG,MAAM,CAG1E;AAED,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAoB3E,wJAAwJ;AACxJ,wBAAgB,SAAS,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE/F;AAED,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI5G;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG1F"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { localeFor, numberAsRead } from "../days.js";
|
|
2
|
+
import { typedFieldOf } from "./typed-field-of.js";
|
|
3
|
+
/*
|
|
4
|
+
* A PHONE NUMBER, A PLACE AND A DURATION, SAID AND LINKED (`typed-fields.ts`
|
|
5
|
+
* holds what they are). On `@graview/core/words`: a face says them as it
|
|
6
|
+
* draws a record, a form reads a duration as it sends one and an import as
|
|
7
|
+
* it reads a cell — none of it before a reader opens a record.
|
|
8
|
+
*/
|
|
9
|
+
/** Minutes in a day, an hour and a minute, by the letter their unit starts with. */
|
|
10
|
+
const PER = { d: 1440, h: 60, m: 1 };
|
|
11
|
+
/**
|
|
12
|
+
* A LENGTH OF TIME AS IT IS TYPED, IN MINUTES: "90", "1:30", "1h 30m",
|
|
13
|
+
* "1 h 30 min", "1.5 h", "2 hours and 15 minutes", "1d", "1:30:00". A bare number is
|
|
14
|
+
* minutes. Anything else is undefined; a part of a minute is rounded.
|
|
15
|
+
*/
|
|
16
|
+
export function parseDuration(input) {
|
|
17
|
+
if (typeof input === "number")
|
|
18
|
+
return Number.isFinite(input) && input >= 0 ? Math.round(input) : undefined;
|
|
19
|
+
if (typeof input !== "string")
|
|
20
|
+
return undefined;
|
|
21
|
+
const text = input.trim().toLowerCase();
|
|
22
|
+
if (/^\d+$/.test(text))
|
|
23
|
+
return Number(text);
|
|
24
|
+
// Hours and minutes, and the seconds a spreadsheet's time keeps: "1:30", "1:30:00".
|
|
25
|
+
const clock = /^(\d+):([0-5]\d)(?::([0-5]\d))?$/.exec(text);
|
|
26
|
+
if (clock)
|
|
27
|
+
return Number(clock[1]) * 60 + Number(clock[2]) + Math.round(Number(clock[3] ?? 0) / 60);
|
|
28
|
+
let total = 0;
|
|
29
|
+
let found = false;
|
|
30
|
+
const rest = text.replace(/(\d*[.,]?\d+) *(days?|d|hours?|hrs?|hr|h|minutes?|mins?|min|m)(?![a-z])/g, (_, amount, unit) => {
|
|
31
|
+
found = true;
|
|
32
|
+
total += Number(amount.replace(",", ".")) * PER[unit[0]];
|
|
33
|
+
return " ";
|
|
34
|
+
});
|
|
35
|
+
return found && /^[\s,+]*(?:and[\s,+]*)*$/.test(rest) ? Math.round(total) : undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A DURATION AS IT IS READ: "1 h 30 min", "45 min", "2 h". The numbers are
|
|
39
|
+
* the locale's (`Intl`, through the app's or the reader's locale), the units
|
|
40
|
+
* short and the same everywhere: `Intl`'s own short units say "1 hr" in
|
|
41
|
+
* en-US, where the field promises "1 h".
|
|
42
|
+
*/
|
|
43
|
+
export function sayDuration(minutes, locale) {
|
|
44
|
+
if (!Number.isFinite(minutes))
|
|
45
|
+
return String(minutes);
|
|
46
|
+
const whole = Math.round(Math.abs(minutes));
|
|
47
|
+
const hours = Math.floor(whole / 60);
|
|
48
|
+
const rest = whole % 60;
|
|
49
|
+
const said = [hours ? `${numberAsRead(hours, locale)} h` : "", rest || !hours ? `${numberAsRead(rest, locale)} min` : ""].filter(Boolean).join(" ");
|
|
50
|
+
return minutes < 0 ? `−${said}` : said;
|
|
51
|
+
}
|
|
52
|
+
/** A North American number: an optional +1, its area code, exchange and line, and an extension. */
|
|
53
|
+
const NANP = /^(\+?1[ .-]?)?\(?([2-9]\d\d)\)?[ .-]?(\d{3})[ .-]?(\d{4})(?: *(?:ext\.?|x|#) *(\d+))?$/i;
|
|
54
|
+
/**
|
|
55
|
+
* A PHONE NUMBER AS IT IS READ: grouped as "(555) 123-4567" for a reader in
|
|
56
|
+
* the United States or Canada where it is a North American number, and as
|
|
57
|
+
* it was entered everywhere else — a format nobody chose is worse than the
|
|
58
|
+
* one the person typed.
|
|
59
|
+
*/
|
|
60
|
+
export function sayPhone(phone, locale) {
|
|
61
|
+
const entered = phone.trim();
|
|
62
|
+
const nanp = /[-_](US|CA)\b/i.test(localeFor(locale)) ? NANP.exec(entered) : null;
|
|
63
|
+
if (!nanp)
|
|
64
|
+
return entered;
|
|
65
|
+
const [, country, area, exchange, line, ext] = nanp;
|
|
66
|
+
return `${country?.startsWith("+") ? "+1 " : ""}(${area}) ${exchange}-${line}${ext ? ` ext. ${ext}` : ""}`;
|
|
67
|
+
}
|
|
68
|
+
/** A phone number as a `tel:` link: its `+` and digits, and its extension; undefined for fewer than three digits. */
|
|
69
|
+
export function telHref(phone) {
|
|
70
|
+
const [, main = "", ext] = /^(.*?)(?: *(?:ext\.?|x|#) *(\d+))?$/i.exec(phone.trim()) ?? [];
|
|
71
|
+
const digits = main.replace(/\D/g, "");
|
|
72
|
+
return digits.length < 3 ? undefined : `tel:${main.startsWith("+") ? "+" : ""}${digits}${ext ? `;ext=${ext}` : ""}`;
|
|
73
|
+
}
|
|
74
|
+
/** Whether this page is read on a Mac, an iPhone or an iPad, whose Maps app opens maps.apple.com. */
|
|
75
|
+
const onApple = () => /Mac|iPhone|iPad|iPod/.test(globalThis.navigator?.userAgent ?? "");
|
|
76
|
+
/**
|
|
77
|
+
* A PLACE AS A LINK TO THE READER'S MAPS APP. No one address opens every
|
|
78
|
+
* reader's own: `geo:` does nothing in a desktop browser, and an address on
|
|
79
|
+
* one maker's maps opens the other's website. So on Apple's platforms
|
|
80
|
+
* maps.apple.com, which opens Maps; everywhere else Google's universal Maps
|
|
81
|
+
* address, which opens the Google Maps app on Android and the map in the
|
|
82
|
+
* browser elsewhere. Neither needs a key; nothing is fetched until it is
|
|
83
|
+
* followed.
|
|
84
|
+
*/
|
|
85
|
+
export function mapsHref(place, apple = onApple()) {
|
|
86
|
+
const query = encodeURIComponent(place.trim());
|
|
87
|
+
return apple ? `https://maps.apple.com/?q=${query}` : `https://www.google.com/maps/search/?api=1&query=${query}`;
|
|
88
|
+
}
|
|
89
|
+
const shapeOf = (definition) => definition?.fields?.shape ?? {};
|
|
90
|
+
const ownField = (definition, key) => {
|
|
91
|
+
const shape = shapeOf(definition);
|
|
92
|
+
return Object.hasOwn(shape, key) ? typedFieldOf(shape[key]) : undefined;
|
|
93
|
+
};
|
|
94
|
+
/*
|
|
95
|
+
* A COMPUTED FIELD THAT WORKS OUT A LENGTH OF TIME says so: `as:
|
|
96
|
+
* "duration"` on its declaration, which a document's compile writes for each
|
|
97
|
+
* one it reads as a sum of durations from the parsed expression
|
|
98
|
+
* (`document/durations.ts`) and a TypeScript declaration says itself. A face
|
|
99
|
+
* reads that and nothing of the expression's words.
|
|
100
|
+
*/
|
|
101
|
+
const workedOutAs = (definition, key) => {
|
|
102
|
+
const computed = definition.computed;
|
|
103
|
+
const entry = computed && Object.hasOwn(computed, key) ? computed[key] : undefined;
|
|
104
|
+
return typeof entry === "object" ? entry.as : undefined;
|
|
105
|
+
};
|
|
106
|
+
/** What a kind's field holds where it is a phone, a place or a duration: a stored field's mark, or a computed field that works out a length of time. */
|
|
107
|
+
export function fieldSays(definition, key) {
|
|
108
|
+
return ownField(definition, key) ?? (definition && workedOutAs(definition, key) === "duration" ? "duration" : undefined);
|
|
109
|
+
}
|
|
110
|
+
/** A phone, a place or a duration in words; undefined for a value that is not one. */
|
|
111
|
+
export function typedWords(type, value, locale) {
|
|
112
|
+
if (type === "duration")
|
|
113
|
+
return typeof value === "number" ? sayDuration(value, locale) : undefined;
|
|
114
|
+
if (type === "phone")
|
|
115
|
+
return typeof value === "string" ? sayPhone(value, locale) : undefined;
|
|
116
|
+
return type === "place" && typeof value === "string" ? value.trim() : undefined;
|
|
117
|
+
}
|
|
118
|
+
/** Where a phone or a place takes its reader: a `tel:` link, or the maps app. */
|
|
119
|
+
export function typedHref(type, value) {
|
|
120
|
+
if (typeof value !== "string" || !value.trim())
|
|
121
|
+
return undefined;
|
|
122
|
+
return type === "phone" ? telHref(value) : type === "place" ? mapsHref(value) : undefined;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=field-words.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-words.js","sourceRoot":"","sources":["../../src/schema/field-words.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/files.d.ts
CHANGED
|
@@ -27,6 +27,14 @@ export interface HostFiles {
|
|
|
27
27
|
upload(file: Blob, name: string): Promise<FileValue>;
|
|
28
28
|
readonly maxBytes: number;
|
|
29
29
|
readonly kinds: readonly string[];
|
|
30
|
+
/**
|
|
31
|
+
* WHETHER THE HOST STILL KEEPS A FILE'S BYTES (Roadmap f-playback). The
|
|
32
|
+
* past holds every file a record ever held, and the bytes are the host's:
|
|
33
|
+
* one removed since is drawn as "removed later" rather than a broken
|
|
34
|
+
* picture. Unsaid, a file is drawn as kept, and one that does not load
|
|
35
|
+
* while somebody looks back is said to be removed later.
|
|
36
|
+
*/
|
|
37
|
+
kept?(href: string): boolean;
|
|
30
38
|
}
|
|
31
39
|
/** Whether `href` is a path on the host: no scheme, no other host, no backslash, nothing that climbs. */
|
|
32
40
|
export declare const safeFileHref: (href: unknown) => href is string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/schema/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAsB9B,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/schema/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAsB9B,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;OAMG;IACH,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,yGAAyG;AACzG,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,MAC8E,CAAC;AAKpI,8JAA8J;AAC9J,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAY9D;AAED,mDAAmD;AACnD,eAAO,MAAM,OAAO,GAAI,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,OAAyC,CAAC;AAEpG,6DAA6D;AAC7D,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,SAAS,SAAS,EAAkE,CAAC;AAU9H,oDAAoD;AACpD,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,OAAO,GAAG,MAAM,KAAG,CAA2F,CAAC;AAEzK,oGAAoG;AACpG,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED,sDAAsD;AACtD,eAAO,MAAM,SAAS;;;;;;;;CAQpB,CAAC;AAEH,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,WAAW,CAE9D"}
|
package/dist/schema/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/schema/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/schema/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import type { AnySchema } from "./schema.js";
|
|
2
|
+
import { type JsonSchema } from "./to-json-schema.js";
|
|
2
3
|
import type { AnyNodeDefinition } from "./types.js";
|
|
3
|
-
export type JsonSchema
|
|
4
|
+
export type { JsonSchema };
|
|
4
5
|
/**
|
|
5
6
|
* One source, three outputs: the same Zod declaration produces runtime
|
|
6
7
|
* validation, TypeScript inference, and the JSON Schema an agent tool
|
|
7
8
|
* definition needs. Nothing is written twice, so nothing drifts.
|
|
8
9
|
*/
|
|
9
10
|
export declare function toJsonSchema(schema: unknown): JsonSchema;
|
|
11
|
+
export declare function formatsByName(ctx: {
|
|
12
|
+
readonly zodSchema: unknown;
|
|
13
|
+
readonly jsonSchema: JsonSchema;
|
|
14
|
+
}): void;
|
|
10
15
|
/** JSON Schema for one node kind, including its id and kind discriminator. */
|
|
11
16
|
export declare function nodeJsonSchema(definition: AnyNodeDefinition): JsonSchema;
|
|
12
17
|
export interface MutationToolSchema {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/schema/json-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/schema/json-schema.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAExD;AAsBD,wBAAgB,aAAa,CAAC,GAAG,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CA6DzG;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,UAAU,CAexE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC7F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,GAAG,kBAAkB,CAoCrB;AAuBD,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAMxE"}
|