@superbee/core 0.2.0-pre.40 → 0.2.0-pre.42
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 +96 -9
- package/dist/backend.d.ts +17 -1
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +41 -6
- package/dist/backend.js.map +1 -1
- package/dist/body-pages.d.ts +20 -0
- package/dist/body-pages.d.ts.map +1 -0
- package/dist/body-pages.js +56 -0
- package/dist/body-pages.js.map +1 -0
- package/dist/body-replace-guards.d.ts +29 -3
- package/dist/body-replace-guards.d.ts.map +1 -1
- package/dist/body-replace-guards.js +112 -19
- package/dist/body-replace-guards.js.map +1 -1
- package/dist/bounded-yaml.d.ts +28 -0
- package/dist/bounded-yaml.d.ts.map +1 -0
- package/dist/bounded-yaml.js +182 -0
- package/dist/bounded-yaml.js.map +1 -0
- package/dist/builtin-recipes/site.d.ts +5 -0
- package/dist/builtin-recipes/site.d.ts.map +1 -0
- package/dist/builtin-recipes/site.js +83 -0
- package/dist/builtin-recipes/site.js.map +1 -0
- package/dist/builtin-recipes.d.ts.map +1 -1
- package/dist/builtin-recipes.js +22 -0
- package/dist/builtin-recipes.js.map +1 -1
- package/dist/bundle-health/index.d.ts +2 -2
- package/dist/bundle-health/index.d.ts.map +1 -1
- package/dist/bundle-health/index.js +1 -1
- package/dist/bundle-health/index.js.map +1 -1
- package/dist/bundle-health/legacy-page.d.ts +8 -26
- package/dist/bundle-health/legacy-page.d.ts.map +1 -1
- package/dist/bundle-health/legacy-page.js +10 -35
- package/dist/bundle-health/legacy-page.js.map +1 -1
- package/dist/bundle-health/report.d.ts +0 -16
- package/dist/bundle-health/report.d.ts.map +1 -1
- package/dist/bundle-health/report.js +24 -54
- package/dist/bundle-health/report.js.map +1 -1
- package/dist/bundle-ops.d.ts +4 -1
- package/dist/bundle-ops.d.ts.map +1 -1
- package/dist/bundle-ops.js +6 -2
- package/dist/bundle-ops.js.map +1 -1
- package/dist/bundle.d.ts +1 -1
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +1 -1
- package/dist/bundle.js.map +1 -1
- package/dist/cross-bundle.d.ts +2 -2
- package/dist/cross-bundle.js +2 -2
- package/dist/document-codec.d.ts +3 -1
- package/dist/document-codec.d.ts.map +1 -1
- package/dist/document-codec.js +3 -1
- package/dist/document-codec.js.map +1 -1
- package/dist/document-mutation.d.ts +2 -0
- package/dist/document-mutation.d.ts.map +1 -1
- package/dist/document-mutation.js +44 -9
- package/dist/document-mutation.js.map +1 -1
- package/dist/document-scan.d.ts +23 -0
- package/dist/document-scan.d.ts.map +1 -0
- package/dist/document-scan.js +70 -0
- package/dist/document-scan.js.map +1 -0
- package/dist/document-transfer.d.ts +110 -4
- package/dist/document-transfer.d.ts.map +1 -1
- package/dist/document-transfer.js +490 -30
- package/dist/document-transfer.js.map +1 -1
- package/dist/engine.d.ts +4 -19
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +7 -47
- package/dist/engine.js.map +1 -1
- package/dist/errors.d.ts +37 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +75 -3
- package/dist/errors.js.map +1 -1
- package/dist/file-journaled-backend.d.ts.map +1 -1
- package/dist/file-journaled-backend.js +2 -2
- package/dist/file-journaled-backend.js.map +1 -1
- package/dist/filesystem-identity.d.ts +9 -0
- package/dist/filesystem-identity.d.ts.map +1 -1
- package/dist/filesystem-identity.js +186 -64
- package/dist/filesystem-identity.js.map +1 -1
- package/dist/filesystem-lock.d.ts +2 -2
- package/dist/filesystem-lock.d.ts.map +1 -1
- package/dist/filesystem-lock.js +81 -14
- package/dist/filesystem-lock.js.map +1 -1
- package/dist/filesystem-temp-name.d.ts +9 -0
- package/dist/filesystem-temp-name.d.ts.map +1 -0
- package/dist/filesystem-temp-name.js +20 -0
- package/dist/filesystem-temp-name.js.map +1 -0
- package/dist/filesystem.d.ts +6 -0
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +2 -1
- package/dist/filesystem.js.map +1 -1
- package/dist/frontmatter-contract.d.ts +14 -0
- package/dist/frontmatter-contract.d.ts.map +1 -1
- package/dist/frontmatter-contract.js +22 -0
- package/dist/frontmatter-contract.js.map +1 -1
- package/dist/frontmatter-splitter.d.ts +6 -0
- package/dist/frontmatter-splitter.d.ts.map +1 -1
- package/dist/frontmatter-splitter.js +8 -0
- package/dist/frontmatter-splitter.js.map +1 -1
- package/dist/frontmatter.d.ts +8 -1
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +43 -7
- package/dist/frontmatter.js.map +1 -1
- package/dist/hosted-client/client.d.ts +22 -5
- package/dist/hosted-client/client.d.ts.map +1 -1
- package/dist/hosted-client/client.js +57 -10
- package/dist/hosted-client/client.js.map +1 -1
- package/dist/hosted-client/index.d.ts +1 -0
- package/dist/hosted-client/index.d.ts.map +1 -1
- package/dist/hosted-client/index.js +1 -0
- package/dist/hosted-client/index.js.map +1 -1
- package/dist/hosted-client/view-content.d.ts +107 -0
- package/dist/hosted-client/view-content.d.ts.map +1 -0
- package/dist/hosted-client/view-content.js +155 -0
- package/dist/hosted-client/view-content.js.map +1 -0
- package/dist/hosted-transport/carrier.d.ts +1 -1
- package/dist/hosted-transport/carrier.d.ts.map +1 -1
- package/dist/hosted-transport/carrier.js +27 -18
- package/dist/hosted-transport/carrier.js.map +1 -1
- package/dist/hosted-transport/document-backend.d.ts +74 -0
- package/dist/hosted-transport/document-backend.d.ts.map +1 -0
- package/dist/hosted-transport/document-backend.js +160 -0
- package/dist/hosted-transport/document-backend.js.map +1 -0
- package/dist/hosted-transport/index.d.ts +1 -0
- package/dist/hosted-transport/index.d.ts.map +1 -1
- package/dist/hosted-transport/index.js +1 -0
- package/dist/hosted-transport/index.js.map +1 -1
- package/dist/hosted-transport/read-adapter.d.ts +1 -2
- package/dist/hosted-transport/read-adapter.d.ts.map +1 -1
- package/dist/hosted-transport/read-adapter.js.map +1 -1
- package/dist/identity-fold.d.ts +12 -14
- package/dist/identity-fold.d.ts.map +1 -1
- package/dist/identity-fold.js +17 -15
- package/dist/identity-fold.js.map +1 -1
- package/dist/index-projection.d.ts +2 -1
- package/dist/index-projection.d.ts.map +1 -1
- package/dist/index-projection.js +14 -5
- package/dist/index-projection.js.map +1 -1
- package/dist/index.d.ts +24 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -15
- package/dist/index.js.map +1 -1
- package/dist/indexeddb-backend.d.ts.map +1 -1
- package/dist/indexeddb-backend.js +2 -2
- package/dist/indexeddb-backend.js.map +1 -1
- package/dist/json-data.d.ts +3 -0
- package/dist/json-data.d.ts.map +1 -0
- package/dist/json-data.js +19 -0
- package/dist/json-data.js.map +1 -0
- package/dist/kind-authoring.d.ts +18 -0
- package/dist/kind-authoring.d.ts.map +1 -1
- package/dist/kind-authoring.js +54 -4
- package/dist/kind-authoring.js.map +1 -1
- package/dist/kind-coverage.d.ts +1 -0
- package/dist/kind-coverage.d.ts.map +1 -1
- package/dist/kind-coverage.js +4 -5
- package/dist/kind-coverage.js.map +1 -1
- package/dist/kind-undeclared-fields.d.ts +70 -0
- package/dist/kind-undeclared-fields.d.ts.map +1 -0
- package/dist/kind-undeclared-fields.js +120 -0
- package/dist/kind-undeclared-fields.js.map +1 -0
- package/dist/kinds-load.d.ts.map +1 -1
- package/dist/kinds-load.js +4 -1
- package/dist/kinds-load.js.map +1 -1
- package/dist/kinds.d.ts +9 -0
- package/dist/kinds.d.ts.map +1 -1
- package/dist/kinds.js +20 -0
- package/dist/kinds.js.map +1 -1
- package/dist/link-findings.d.ts +130 -0
- package/dist/link-findings.d.ts.map +1 -0
- package/dist/link-findings.js +272 -0
- package/dist/link-findings.js.map +1 -0
- package/dist/link-types.d.ts +7 -0
- package/dist/link-types.d.ts.map +1 -1
- package/dist/link-types.js +17 -2
- package/dist/link-types.js.map +1 -1
- package/dist/memory-backend.d.ts.map +1 -1
- package/dist/memory-backend.js +2 -2
- package/dist/memory-backend.js.map +1 -1
- package/dist/page.d.ts +3 -7
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +3 -7
- package/dist/page.js.map +1 -1
- package/dist/path-fold.d.ts +29 -16
- package/dist/path-fold.d.ts.map +1 -1
- package/dist/path-fold.js +30 -17
- package/dist/path-fold.js.map +1 -1
- package/dist/paths.d.ts +28 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +82 -1
- package/dist/paths.js.map +1 -1
- package/dist/platform.d.ts +9 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js.map +1 -1
- package/dist/portable-frontmatter.d.ts +6 -0
- package/dist/portable-frontmatter.d.ts.map +1 -1
- package/dist/portable-frontmatter.js +26 -2
- package/dist/portable-frontmatter.js.map +1 -1
- package/dist/recipe-lifecycle/install.d.ts +4 -7
- package/dist/recipe-lifecycle/install.d.ts.map +1 -1
- package/dist/recipe-lifecycle/install.js +3 -20
- package/dist/recipe-lifecycle/install.js.map +1 -1
- package/dist/recipe-lifecycle/legacy-aliases.d.ts +1 -13
- package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -1
- package/dist/recipe-lifecycle/legacy-aliases.js +5 -34
- package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -1
- package/dist/record-overlay/apply.d.ts.map +1 -1
- package/dist/record-overlay/apply.js +0 -4
- package/dist/record-overlay/apply.js.map +1 -1
- package/dist/record-overlay/findings.d.ts.map +1 -1
- package/dist/record-overlay/findings.js +4 -1
- package/dist/record-overlay/findings.js.map +1 -1
- package/dist/record-overlay/plan.js +3 -3
- package/dist/record-overlay/plan.js.map +1 -1
- package/dist/record-overlay/signal-text.d.ts +9 -2
- package/dist/record-overlay/signal-text.d.ts.map +1 -1
- package/dist/record-overlay/signal-text.js +21 -11
- package/dist/record-overlay/signal-text.js.map +1 -1
- package/dist/remote-backend.d.ts +9 -19
- package/dist/remote-backend.d.ts.map +1 -1
- package/dist/remote-backend.js +17 -5
- package/dist/remote-backend.js.map +1 -1
- package/dist/remote-operations.d.ts.map +1 -1
- package/dist/remote-operations.js +2 -0
- package/dist/remote-operations.js.map +1 -1
- package/dist/remote-parsers.d.ts +19 -0
- package/dist/remote-parsers.d.ts.map +1 -1
- package/dist/remote-parsers.js.map +1 -1
- package/dist/remote.d.ts +2 -4
- package/dist/remote.d.ts.map +1 -1
- package/dist/remote.js +2 -3
- package/dist/remote.js.map +1 -1
- package/dist/reserved-write.d.ts +9 -0
- package/dist/reserved-write.d.ts.map +1 -0
- package/dist/reserved-write.js +15 -0
- package/dist/reserved-write.js.map +1 -0
- package/dist/search/backend-source.d.ts +2 -2
- package/dist/search/backend-source.d.ts.map +1 -1
- package/dist/search/backend-source.js +30 -6
- package/dist/search/backend-source.js.map +1 -1
- package/dist/search/contract.d.ts +3 -0
- package/dist/search/contract.d.ts.map +1 -1
- package/dist/search/contract.js.map +1 -1
- package/dist/search/search.d.ts.map +1 -1
- package/dist/search/search.js +4 -1
- package/dist/search/search.js.map +1 -1
- package/dist/search/source.d.ts +3 -0
- package/dist/search/source.d.ts.map +1 -1
- package/dist/site-manifest.d.ts +49 -0
- package/dist/site-manifest.d.ts.map +1 -0
- package/dist/site-manifest.js +113 -0
- package/dist/site-manifest.js.map +1 -0
- package/dist/skip-reasons.d.ts +12 -0
- package/dist/skip-reasons.d.ts.map +1 -0
- package/dist/skip-reasons.js +15 -0
- package/dist/skip-reasons.js.map +1 -0
- package/dist/source-engine/driver.d.ts +4 -4
- package/dist/source-engine/driver.d.ts.map +1 -1
- package/dist/source-engine/driver.js +155 -34
- package/dist/source-engine/driver.js.map +1 -1
- package/dist/source-engine/index.d.ts +3 -1
- package/dist/source-engine/index.d.ts.map +1 -1
- package/dist/source-engine/index.js +1 -0
- package/dist/source-engine/index.js.map +1 -1
- package/dist/source-engine/machine-state.d.ts +19 -6
- package/dist/source-engine/machine-state.d.ts.map +1 -1
- package/dist/source-engine/machine-state.js +48 -2
- package/dist/source-engine/machine-state.js.map +1 -1
- package/dist/source-engine/observe.d.ts.map +1 -1
- package/dist/source-engine/observe.js +10 -4
- package/dist/source-engine/observe.js.map +1 -1
- package/dist/source-engine/snapshot.js +1 -1
- package/dist/source-engine/snapshot.js.map +1 -1
- package/dist/source-engine/target-consumer.d.ts +12 -0
- package/dist/source-engine/target-consumer.d.ts.map +1 -0
- package/dist/source-engine/target-consumer.js +15 -0
- package/dist/source-engine/target-consumer.js.map +1 -0
- package/dist/source-engine/target-descriptor.d.ts +3 -0
- package/dist/source-engine/target-descriptor.d.ts.map +1 -0
- package/dist/source-engine/target-descriptor.js +26 -0
- package/dist/source-engine/target-descriptor.js.map +1 -0
- package/dist/source-engine/target.d.ts +82 -0
- package/dist/source-engine/target.d.ts.map +1 -0
- package/dist/source-engine/target.js +213 -0
- package/dist/source-engine/target.js.map +1 -0
- package/dist/source-engine/types.d.ts +5 -1
- package/dist/source-engine/types.d.ts.map +1 -1
- package/dist/source-profiles/index.d.ts +1 -1
- package/dist/source-profiles/index.js +1 -1
- package/dist/string-identity-agreement.d.ts +1 -1
- package/dist/string-identity-agreement.d.ts.map +1 -1
- package/dist/string-identity-agreement.js +6 -0
- package/dist/string-identity-agreement.js.map +1 -1
- package/dist/system-documents.d.ts +13 -0
- package/dist/system-documents.d.ts.map +1 -0
- package/dist/system-documents.js +44 -0
- package/dist/system-documents.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validation.d.ts +5 -0
- package/dist/validation.d.ts.map +1 -1
- package/package.json +19 -7
package/README.md
CHANGED
|
@@ -44,6 +44,31 @@ option changes body splitting or attributed `MalformedDocumentError` identity.
|
|
|
44
44
|
This preserves parsed values, not YAML formatting or original document bytes after serialization.
|
|
45
45
|
Backends remain responsible for retaining raw bytes and deriving their revision tokens.
|
|
46
46
|
|
|
47
|
+
## Frontmatter limits
|
|
48
|
+
|
|
49
|
+
Every YAML load in Core goes through one bounded loader, `loadBoundedYaml`, and every frontmatter
|
|
50
|
+
write is checked against the same limits. `FRONTMATTER_LIMITS` is the source of the values:
|
|
51
|
+
`sourceChars` (262,144 characters), `depth` (32), `aliases` (1,000), `expandedNodes` (100,000) and
|
|
52
|
+
`expandedChars` (1,048,576 characters).
|
|
53
|
+
|
|
54
|
+
- Reading stored frontmatter that cannot be accepted throws `MalformedDocumentError`. Its `code` is
|
|
55
|
+
`FRONTMATTER_MALFORMED` for invalid YAML, or `FRONTMATTER_TOO_LARGE`, `FRONTMATTER_TOO_DEEP`,
|
|
56
|
+
`FRONTMATTER_ALIAS_LIMIT` or `FRONTMATTER_CYCLE` for a limit.
|
|
57
|
+
- Serializing or writing frontmatter the reader would refuse throws `FrontmatterRefusedError` with
|
|
58
|
+
the same `code`, and nothing is stored. `assertStorableFrontmatter` from
|
|
59
|
+
`@superbee/core/document-codec` runs that check on raw document text.
|
|
60
|
+
- Lenient scans skip the document and report it; see Bundle health. Direct calls throw.
|
|
61
|
+
|
|
62
|
+
## Document transfer
|
|
63
|
+
|
|
64
|
+
`planDocumentTransfer`, `applyDocumentTransfer` and `resumeDocumentTransfer` copy selected documents
|
|
65
|
+
from a bound bundle into a local bundle or Git board, with new ids, rewritten links, a `sources`
|
|
66
|
+
entry on each and one Promotion record. `planDocumentRefresh` and `applyDocumentRefresh` update those
|
|
67
|
+
copies from their sources. A plan only reads. Applying takes the plan's token, recomputes the plan
|
|
68
|
+
from fresh reads, and throws `TransferPlanChanged` if it differs. `TransferConflictError`,
|
|
69
|
+
`TransferInterrupted` and `TransferResumeConflict` are the other typed refusals. A transfer's writes
|
|
70
|
+
are create-only; a refresh replaces a copy only at the version its plan saw.
|
|
71
|
+
|
|
47
72
|
## Document presentation values
|
|
48
73
|
|
|
49
74
|
The additive `@superbee/core/artifact-contract` subpath provides pure v1 document target,
|
|
@@ -73,6 +98,9 @@ it runs unchanged in a Worker or a browser.
|
|
|
73
98
|
|
|
74
99
|
## Mutation attribution and local history
|
|
75
100
|
|
|
101
|
+
`mutateDocument` takes `expectedVersion` only in `patch` and `replace-document` modes. Create-only
|
|
102
|
+
and overwrite modes reject a supplied value instead of ignoring it.
|
|
103
|
+
|
|
76
104
|
`mutateDocument` and `prepareDocumentMutationCandidate` persist a supplied `actor` by default:
|
|
77
105
|
`actor` in OKF v0.1, `superbee_updated_by` in v0.2 (plus `actor` when the Kind requires it).
|
|
78
106
|
Use `persistActor: false` to keep candidate attribution unchanged, or `persistActor: true` to apply
|
|
@@ -481,11 +509,14 @@ transport that passes it.
|
|
|
481
509
|
## Bundle health
|
|
482
510
|
|
|
483
511
|
`@superbee/core/bundle-health` computes the health report behind `superbee status` from a core
|
|
484
|
-
`Bundle` on any backend: malformed documents, Kind lint and conformance debt,
|
|
485
|
-
unresolved links, orphans, freshness and invalid timestamps, trust tiers, the two
|
|
486
|
-
View surface, cross-bundle links
|
|
487
|
-
|
|
488
|
-
the CLI adds row caps, help text and
|
|
512
|
+
`Bundle` on any backend: malformed or unreadable documents, Kind lint and conformance debt,
|
|
513
|
+
registry warnings, unresolved links, orphans, freshness and invalid timestamps, trust tiers, the two
|
|
514
|
+
graph lints, the View surface, cross-bundle links and the OKF v0.1 upgrade finding. A link to a
|
|
515
|
+
skipped document is not reported as unresolved. It uses no Node globals or builtins, so it runs in
|
|
516
|
+
Node, a browser or a Worker. The caller presents the report; the CLI adds row caps, help text and
|
|
517
|
+
its home and sync blocks. `@superbee/core/skip-reasons` exports `isPermissionDeniedSkip`, which
|
|
518
|
+
tells a document the host refused to read (`permission denied (EACCES)` or `(EPERM)`) from a
|
|
519
|
+
malformed one.
|
|
489
520
|
|
|
490
521
|
```ts
|
|
491
522
|
import { MemoryBackend } from "@superbee/core/memory-backend";
|
|
@@ -519,6 +550,14 @@ which Kind problems a strict host write would refuse, preparing each document as
|
|
|
519
550
|
so a timestamp or actor the write supplies is no finding. The CLI's publish preview runs it; the
|
|
520
551
|
report's `kindLint` stays advisory. Both use core's one validator, `validateAgainstKind`.
|
|
521
552
|
|
|
553
|
+
A write that adds or changes a frontmatter key its Kind does not declare gets one
|
|
554
|
+
`KIND_FIELD_UNDECLARED` warning per key from `undeclaredFieldWarnings`. OKF standard keys,
|
|
555
|
+
Superbee-managed metadata and `superbee_*` keys never count, and keys the write leaves as stored
|
|
556
|
+
are never checked. A convention may set `undeclared_fields: error` so a strict write refuses those
|
|
557
|
+
keys with `KindConformanceError`; the default, `warn`, only warns. These findings are not
|
|
558
|
+
conformance debt and never feed the overwrite ratchet. `kindCoverage` reports the same keys after
|
|
559
|
+
the fact, through the same `kindDeclaredStorageFields` and `isKindEnvelopeField`.
|
|
560
|
+
|
|
522
561
|
## Search
|
|
523
562
|
|
|
524
563
|
`@superbee/core/search` is the one `documents.search.v1` engine: the request and result contract,
|
|
@@ -549,6 +588,52 @@ A document over 65,536 body terms is left out and counted: the result's `corpus`
|
|
|
549
588
|
contributes to any index, and `textVersion()` names the algorithm, `SEARCH_TEXT_REVISION` and the
|
|
550
589
|
runtime's normalizer fingerprint, so a stored index can tell when its rows need re-deriving.
|
|
551
590
|
|
|
591
|
+
## Hosted document backend
|
|
592
|
+
|
|
593
|
+
`createHostedDocumentBackend` from `@superbee/core/hosted-transport` composes the existing
|
|
594
|
+
hosted read adapter and whole-document transport into a finite document `StorageBackend`. Supply
|
|
595
|
+
`reader`, `carrier`, `scope`, `intents` and a positive `maximumDocuments`. The reader and carrier
|
|
596
|
+
must address the same trusted scope: tenant, bundle, registration, checkout binding, workspace
|
|
597
|
+
(`null` when unnamed), and OKF edition. Scope also pins `mode: "write"`,
|
|
598
|
+
`bodyPolicy: "protected"` and `tombstonePolicy: "refuse"`. Credentials, authorization and effect
|
|
599
|
+
fences belong to the host carrier and shared write entry.
|
|
600
|
+
|
|
601
|
+
Reads and root metadata use the read adapter. `list(prefix)` admits the entire validated paged
|
|
602
|
+
heads inventory before filtering, and refuses overflow. `exists` converts only ENOENT to false.
|
|
603
|
+
Every write requires an explicit `expectedVersion` (`null` for create, a content version for
|
|
604
|
+
replace) and a stable lowercase UUIDv4 `requestId`. The returned version is the host's version.
|
|
605
|
+
A valid OKF `actor` is advisory input only; host-owned attribution and normal body protection
|
|
606
|
+
remain in effect. Defined `agent`, `bodyReplace` and other unsupported options refuse. History,
|
|
607
|
+
deletion, recreation, blobs and reserved-file writes refuse. This adapter exposes neither general
|
|
608
|
+
wire capabilities nor an inventory guard.
|
|
609
|
+
|
|
610
|
+
The injected `HostedDocumentIntentPort` must atomically prepare-or-read and exclusively claim a
|
|
611
|
+
**new** descriptor, durably recording `in_flight` and attempt 1 before returning `fresh: true`
|
|
612
|
+
to exactly one caller. Every existing descriptor returns `fresh: false`, including an unattempted
|
|
613
|
+
pending record. Core validates the immutable scope/input digest and uses the original content and
|
|
614
|
+
creation instant on lookup. A lost claim acknowledgement prevents submission. Every reopened
|
|
615
|
+
record is lookup-only: absent, pending, expired or unavailable receipts never authorize another
|
|
616
|
+
send or a replacement identity. The port is a trusted persistence contract; Core supplies no
|
|
617
|
+
journal or storage implementation for it.
|
|
618
|
+
|
|
619
|
+
`settle` must durably compare the original digest and retain its descriptor and exact outcome;
|
|
620
|
+
a definitive outcome is immutable, and contradictory settlement must refuse.
|
|
621
|
+
A refusal marked `executed: "unknown"` is unresolved attempt evidence, including in older stored
|
|
622
|
+
records. It remains eligible for original-identity lookup and replacement by the recorded truth;
|
|
623
|
+
it must never be cached as a definitive refusal. Keep both until the importing consumer acknowledges
|
|
624
|
+
acceptance. Success is returned only after settlement completes. A settlement failure throws
|
|
625
|
+
`HostedDocumentBackendError` with `code: "outcome_unknown"`, the original `requestId`, and the
|
|
626
|
+
retained descriptor (including a known remote outcome). Unknown receipt results use the same error
|
|
627
|
+
classification. A `HostedDocumentVersionConflict` extends `VersionConflict` and retains the original
|
|
628
|
+
descriptor and any tombstone receipt. Deterministic refusals retain their existing transport code.
|
|
629
|
+
No matching-content read is used to manufacture success.
|
|
630
|
+
|
|
631
|
+
Callers above `StorageBackend` must forward the stable identity and immutable mutation input.
|
|
632
|
+
`mutateDocument` forwards `requestId` in `create-only` mode. Its other mutation modes reject that
|
|
633
|
+
option; identified replacements remain explicit conditional backend writes.
|
|
634
|
+
This backend is browser/Worker safe and uses the same carrier and response grammar as hosted's
|
|
635
|
+
other Core consumers.
|
|
636
|
+
|
|
552
637
|
## Hosted client
|
|
553
638
|
|
|
554
639
|
`@superbee/core/hosted-client` is the headless client of a hosted Superbee's sync routes
|
|
@@ -568,8 +653,7 @@ const client = createHostedClient({
|
|
|
568
653
|
const identity = await client.whoami();
|
|
569
654
|
```
|
|
570
655
|
|
|
571
|
-
The target is the origin and the sync prefix
|
|
572
|
-
connection. `syncRoutePrefix({ origin, audience })` derives the prefix from a protected-resource
|
|
656
|
+
The target is the origin and the sync prefix, `/sync/v1`. `syncRoutePrefix({ origin, audience })` derives the prefix from a protected-resource
|
|
573
657
|
audience and returns null when the audience has none. `credentials` is the transport carrier's
|
|
574
658
|
own credential provider: an async function returning the headers for one request. It is called
|
|
575
659
|
before every request, so it may renew a short-lived token. `bearerCredentials` builds one from a
|
|
@@ -1043,8 +1127,11 @@ or infers from instances. Its token binds candidate
|
|
|
1043
1127
|
bytes (including supplied `inferredBody`/`inferredDescription`), edition, presence statistics and
|
|
1044
1128
|
warning forecast. Pass the same prose options to `applyKindDraft`, which recomputes the plan and
|
|
1045
1129
|
checks edition and declaration-free redraft eligibility against every fresh CAS head. New
|
|
1046
|
-
conventions are expect-absent creates
|
|
1047
|
-
|
|
1130
|
+
conventions are expect-absent creates. A redraft keeps the existing record's id, authored
|
|
1131
|
+
title and every frontmatter key the draft does not own; `plan.replacesProse` names each existing
|
|
1132
|
+
description or body it overwrites and `plan.replacesFields` each other existing value it changes
|
|
1133
|
+
(current and proposed). The token binds the merged candidate and those current values, and apply
|
|
1134
|
+
reports dropped links. `dismissKind` accepts presentation-owned description/body, records no schema
|
|
1048
1135
|
obligations, refuses a real schema, and is idempotent. Definition writes retain recipe
|
|
1049
1136
|
installation's generation-clock opt-out. `KindAuthoringError.reason` identifies domain refusals;
|
|
1050
1137
|
normal mutation/storage errors retain their types.
|
package/dist/backend.d.ts
CHANGED
|
@@ -24,13 +24,21 @@
|
|
|
24
24
|
* at all — parsing is an implementation detail of THIS adapter, not of the seam.
|
|
25
25
|
*/
|
|
26
26
|
import { type InventoryGuard } from "./inventory-guard.js";
|
|
27
|
+
import type { WalkPathClass } from "./paths.js";
|
|
27
28
|
import type { BlobKey, ConceptId, DeleteOptions, OkfDocument, ReadBlobResult, ReadResult, ReservedFilename, ReservedReadResult, StorageBackend, Version, VersionInfo, WriteOptions } from "./types.js";
|
|
28
|
-
import type { FilesystemBackendOptions } from "./filesystem-host.js";
|
|
29
|
+
import type { FilesystemBackendOptions, FilesystemHostPolicy } from "./filesystem-host.js";
|
|
29
30
|
/**
|
|
30
31
|
* The default {@link StorageBackend}: a filesystem-backed OKF bundle rooted at an
|
|
31
32
|
* absolute directory. Concept documents are markdown files at `<id>.md`; reserved
|
|
32
33
|
* files live at `<dir>/index.md` and `<dir>/log.md`.
|
|
33
34
|
*/
|
|
35
|
+
/**
|
|
36
|
+
* Run `body` holding the root lock every backend write to the bundle at `root` holds, for an outside
|
|
37
|
+
* step that moves files under the root (a Git rebase, say), so writes land before or after it,
|
|
38
|
+
* never inside it. `body` receives no capability and must not write through a backend for the same
|
|
39
|
+
* root: that write would wait on this lock.
|
|
40
|
+
*/
|
|
41
|
+
export declare function withFilesystemRootMutationLock<T>(root: string, body: () => Promise<T>, hostPolicy?: FilesystemHostPolicy): Promise<T>;
|
|
34
42
|
export declare class FilesystemBackend implements StorageBackend {
|
|
35
43
|
#private;
|
|
36
44
|
get inventoryGuard(): InventoryGuard;
|
|
@@ -54,6 +62,7 @@ export declare class FilesystemBackend implements StorageBackend {
|
|
|
54
62
|
deleteBlob(key: BlobKey, options?: DeleteOptions): Promise<boolean>;
|
|
55
63
|
existsBlob(key: BlobKey): Promise<boolean>;
|
|
56
64
|
listBlobs(prefix?: string): Promise<BlobKey[]>;
|
|
65
|
+
classifyChangedPath(relPath: string): WalkPathClass;
|
|
57
66
|
capabilities(): {
|
|
58
67
|
readonly history: false;
|
|
59
68
|
readonly enforced_cas: true;
|
|
@@ -62,6 +71,13 @@ export declare class FilesystemBackend implements StorageBackend {
|
|
|
62
71
|
readonly backlinks: false;
|
|
63
72
|
};
|
|
64
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Replace one bundle-relative file whole, under the same identity lock, exact spelling and
|
|
76
|
+
* raw-bytes compare-and-swap as `writeBlob`, for a caller that owns which files it may write (a
|
|
77
|
+
* board conflict keep of a file that is not a document). `expectedVersion` is the version of the
|
|
78
|
+
* bytes the caller judged, or null when it judged the file absent.
|
|
79
|
+
*/
|
|
80
|
+
export declare function replaceFilesystemFile(backend: FilesystemBackend, rel: string, bytes: Uint8Array, expectedVersion: Version | null): Promise<Version>;
|
|
65
81
|
/** Read-only exact-spelling metadata observation for a safe blob pathname. Reads no body and
|
|
66
82
|
* creates no directories; alias/unsafe observations retain the identity owner's typed refusal. */
|
|
67
83
|
export declare function probeFilesystemPath(backend: FilesystemBackend, key: string): Promise<"exact" | "absent">;
|
package/dist/backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAmN,KAAK,cAAc,EAA6B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
|
package/dist/backend.js
CHANGED
|
@@ -29,12 +29,15 @@ import { assertInventoryGuardBound, bindInventoryGuard, captureInventoryGuardReq
|
|
|
29
29
|
import { MalformedDocumentError, parseMarkdown, stringifyDoc } from "./frontmatter.js";
|
|
30
30
|
import { readBundleOkfVersion } from "./engine.js";
|
|
31
31
|
import { resolveContentType } from "./content-type.js";
|
|
32
|
-
import { assertSafeBlobKey, assertSafeConceptId, assertSafeReservedDir, assertSafeReservedFilename, compareStorageKeys, conceptIdFromPath, isReservedFile, pathFromConceptId, toPosix, } from "./paths.js";
|
|
32
|
+
import { assertSafeBlobKey, assertSafeConceptId, assertSafeFilePath, assertSafeReservedDir, assertSafeReservedFilename, classifyWalkPath, compareStorageKeys, conceptIdFromPath, hasMarkdownExtension, isHiddenWalkEntry, isReservedFile, pathFromConceptId, toPosix, } from "./paths.js";
|
|
33
|
+
import { assertStorableReservedWrite } from "./reserved-write.js";
|
|
33
34
|
import { InvalidInputError } from "./errors.js";
|
|
34
35
|
import { mutateExact, createFilesystemMutationCoordinator, filesystemRootMutationKey, filesystemRootWitness, createNodeFilesystemIdentityPort, observeExact, openObservationPass, probeExact, } from "./filesystem-identity.js";
|
|
35
36
|
import { mutationActorFromFrontmatter } from "./mutation-attribution.js";
|
|
36
37
|
import { blobVersion, VersionConflict, versionOfBytes } from "./versioning.js";
|
|
37
38
|
const publicationContexts = new WeakMap();
|
|
39
|
+
/** Each backend's own locked exact mutation, for {@link replaceFilesystemFile}; never handed out. */
|
|
40
|
+
const fileMutations = new WeakMap();
|
|
38
41
|
/** First trimmed non-empty string among `vals`, else `undefined`. */
|
|
39
42
|
function firstString(...vals) {
|
|
40
43
|
for (const v of vals) {
|
|
@@ -79,8 +82,8 @@ async function walkFiles(port, root, keep, sub = "") {
|
|
|
79
82
|
const entries = (await port.entries(path.join(root, sub))) ?? [];
|
|
80
83
|
const out = [];
|
|
81
84
|
for (const entry of entries) {
|
|
82
|
-
if (entry.name
|
|
83
|
-
continue;
|
|
85
|
+
if (isHiddenWalkEntry(entry.name))
|
|
86
|
+
continue;
|
|
84
87
|
const rel = sub === "" ? entry.name : `${sub}/${entry.name}`;
|
|
85
88
|
if (entry.kind === "directory") {
|
|
86
89
|
out.push(...(await walkFiles(port, root, keep, rel)));
|
|
@@ -103,6 +106,15 @@ function reservedPath(dir, name) {
|
|
|
103
106
|
* absolute directory. Concept documents are markdown files at `<id>.md`; reserved
|
|
104
107
|
* files live at `<dir>/index.md` and `<dir>/log.md`.
|
|
105
108
|
*/
|
|
109
|
+
/**
|
|
110
|
+
* Run `body` holding the root lock every backend write to the bundle at `root` holds, for an outside
|
|
111
|
+
* step that moves files under the root (a Git rebase, say), so writes land before or after it,
|
|
112
|
+
* never inside it. `body` receives no capability and must not write through a backend for the same
|
|
113
|
+
* root: that write would wait on this lock.
|
|
114
|
+
*/
|
|
115
|
+
export function withFilesystemRootMutationLock(root, body, hostPolicy) {
|
|
116
|
+
return createFilesystemMutationCoordinator(createNodeFilesystemIdentityPort(hostPolicy), path.resolve(root), hostPolicy).run(body);
|
|
117
|
+
}
|
|
106
118
|
export class FilesystemBackend {
|
|
107
119
|
#root;
|
|
108
120
|
#port;
|
|
@@ -180,6 +192,7 @@ export class FilesystemBackend {
|
|
|
180
192
|
this.#root = path.resolve(root);
|
|
181
193
|
this.#coordinator = createFilesystemMutationCoordinator(this.#port, this.#root, options.hostPolicy);
|
|
182
194
|
publicationContexts.set(this, { root: this.#root, port: this.#port });
|
|
195
|
+
fileMutations.set(this, (rel, body) => this.#mutateExact(rel, body));
|
|
183
196
|
}
|
|
184
197
|
async read(id) {
|
|
185
198
|
return this.#readWithEdition(id, () => this.#readEdition());
|
|
@@ -339,8 +352,7 @@ export class FilesystemBackend {
|
|
|
339
352
|
return { content, version: versionOfBytes(content) };
|
|
340
353
|
}
|
|
341
354
|
async writeReserved(dir, name, content, options = {}) {
|
|
342
|
-
|
|
343
|
-
assertSafeReservedFilename(name);
|
|
355
|
+
assertStorableReservedWrite(dir, name, content);
|
|
344
356
|
const rel = reservedPath(dir, name);
|
|
345
357
|
// Same identity-keyed critical section as `write()`. A reserved-file read-modify-write
|
|
346
358
|
// depends on a genuine `VersionConflict` under contention.
|
|
@@ -419,12 +431,15 @@ export class FilesystemBackend {
|
|
|
419
431
|
// Skipping dot-entries is what excludes the adapter's own dot-prefixed temp files and `.git`
|
|
420
432
|
// from a blob listing (I3), not just the write-time `assertSafeBlobKey` guard. The
|
|
421
433
|
// `.md`-extension check is case-insensitive, mirroring `assertSafeBlobKey`.
|
|
422
|
-
const files = await walkFiles(this.#port, this.#root, (name) => !name
|
|
434
|
+
const files = await walkFiles(this.#port, this.#root, (name) => !hasMarkdownExtension(name));
|
|
423
435
|
const keys = files.map(toPosix);
|
|
424
436
|
const filtered = prefix ? keys.filter((k) => k.startsWith(prefix)) : keys;
|
|
425
437
|
filtered.sort(compareStorageKeys);
|
|
426
438
|
return filtered;
|
|
427
439
|
}
|
|
440
|
+
classifyChangedPath(relPath) {
|
|
441
|
+
return classifyWalkPath(relPath);
|
|
442
|
+
}
|
|
428
443
|
capabilities() {
|
|
429
444
|
return {
|
|
430
445
|
history: false,
|
|
@@ -442,6 +457,26 @@ function publicationContext(backend) {
|
|
|
442
457
|
throw new InvalidInputError("Unknown filesystem backend publication source.");
|
|
443
458
|
return context;
|
|
444
459
|
}
|
|
460
|
+
/**
|
|
461
|
+
* Replace one bundle-relative file whole, under the same identity lock, exact spelling and
|
|
462
|
+
* raw-bytes compare-and-swap as `writeBlob`, for a caller that owns which files it may write (a
|
|
463
|
+
* board conflict keep of a file that is not a document). `expectedVersion` is the version of the
|
|
464
|
+
* bytes the caller judged, or null when it judged the file absent.
|
|
465
|
+
*/
|
|
466
|
+
export async function replaceFilesystemFile(backend, rel, bytes, expectedVersion) {
|
|
467
|
+
assertSafeFilePath(rel);
|
|
468
|
+
const mutate = fileMutations.get(backend);
|
|
469
|
+
if (!mutate)
|
|
470
|
+
throw new InvalidInputError("Unknown filesystem backend.");
|
|
471
|
+
return mutate(rel, async (target) => {
|
|
472
|
+
const existing = await target.current();
|
|
473
|
+
const current = existing === null ? null : blobVersion(existing);
|
|
474
|
+
if (current !== expectedVersion)
|
|
475
|
+
throw new VersionConflict(rel, expectedVersion, current);
|
|
476
|
+
await target.replace(bytes);
|
|
477
|
+
return blobVersion(bytes);
|
|
478
|
+
});
|
|
479
|
+
}
|
|
445
480
|
/** Read-only exact-spelling metadata observation for a safe blob pathname. Reads no body and
|
|
446
481
|
* creates no directories; alias/unsafe observations retain the identity owner's typed refusal. */
|
|
447
482
|
export async function probeFilesystemPath(backend, key) {
|
package/dist/backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,sBAAsB,EAAkD,MAAM,sBAAsB,CAAC;AAEvS,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,WAAW,EACX,mCAAmC,EACnC,yBAAyB,EACzB,qBAAqB,EAErB,gCAAgC,EAEhC,YAAY,EACZ,mBAAmB,EACnB,UAAU,GAGX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAiB/E,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAqE,CAAC;AAC7G,qGAAqG;AACrG,MAAM,aAAa,GAAG,IAAI,OAAO,EAAqG,CAAC;AAEvI,qEAAqE;AACrE,SAAS,WAAW,CAAC,GAAG,IAAe;IACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,GAAY;IACrC,MAAM,IAAI,GAAI,GAA6B,EAAE,IAAI,CAAC;IAClD,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC;AACtE,CAAC;AAED,oFAAoF;AACpF,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,4CAA4C,MAAM,GAAG,CAA0B,CAAC;IACtG,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;IACpB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IACrB,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0FAA0F;AAC1F,KAAK,UAAU,SAAS,CAAC,IAA4B,EAAE,MAAkB;IACvE,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,iBAAiB,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,KAAK,UAAU,SAAS,CAAC,IAA4B,EAAE,IAAY,EAAE,IAA+B,EAAE,GAAG,GAAG,EAAE;IAC5G,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5C,MAAM,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,0FAA0F;YAC1F,2FAA2F;YAC3F,yCAAyC;YACzC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAC/E,SAAS,YAAY,CAAC,GAAW,EAAE,IAAsB;IACvD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAI,IAAY,EAAE,IAAsB,EAAE,UAAiC;IACvH,OAAO,mCAAmC,CAAC,gCAAgC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrI,CAAC;AAED,MAAM,OAAO,iBAAiB;IACnB,KAAK,CAAS;IACd,KAAK,CAAyB;IAC9B,YAAY,CAAyD;IAE9E,2FAA2F;IAC3F,iBAAiB,CAAI,IAAsB;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAI,GAAW,EAAE,IAA8C;QACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,qBAAqB;QACnB,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAiB,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAA+B,CAAC,KAAK,EAAiB,CAAC,SAAS,CAAC,IAA+B,CAAC,CAAC,EAAE,CAAC;YACpS,MAAM,IAAI,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,kBAAkB,CAAC,IAAI,EAAE;YAC9B,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAChH,wBAAwB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;gBACtC,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;oBACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBACzC,MAAM,SAAS,GAAoD,EAAE,CAAC;oBACtE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9B,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;oBAC3C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;wBACrB,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ;4BAAE,MAAM,IAAI,yBAAyB,CAAC,2BAA2B,CAAC,CAAC;wBACnG,sFAAsF;wBACtF,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACtD,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;wBAClI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/C,CAAC;oBACD,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ;wBAAE,MAAM,IAAI,yBAAyB,CAAC,2BAA2B,CAAC,CAAC;oBACnG,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;oBACrD,mFAAmF;oBACnF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;wBACpG,wBAAwB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;wBACxE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;wBACnC,IAAI,KAAK,KAAK,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC,eAAe;4BAAE,MAAM,IAAI,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;wBAC7I,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;wBAC7C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;oBAC7B,CAAC,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3E,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QACvE,oFAAoF;QACpF,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7H,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAC3H,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,QAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/J,CAAC;IAED;;;;OAIG;IACH,YAAY,IAAY,EAAE,UAAoC,EAAE;QAC9D,IAAI,CAAC,KAAK,GAAG,gCAAgC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,mCAAmC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACpG,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAa;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,OAAO,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mFAAmF;YACnF,IAAI,CAAC,CAAC,KAAK,YAAY,sBAAsB,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC5D,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,EAAa,EACb,OAA0C,EAC1C,IAAsB;QAEtB,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,MAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9G,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,EAAE,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,iEAAiE;QACjE,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,sFAAsF;QACtF,IAAI,IAAI,CAAC,IAAI,KAAK,EAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACnD,KAAK,MAAM,EAAE,IAAI,GAAG;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,yFAAyF;QACzF,0FAA0F;QAC1F,IAAI,cAAuD,CAAC;QAC5D,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,cAAc,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7D,yFAAyF;QACzF,0EAA0E;QAC1E,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;gBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAE,EAAE,OAAO,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAa,EAAE,GAAgB,EAAE,UAAwB,EAAE;QACrE,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClC,4FAA4F;QAC5F,0FAA0F;QAC1F,4DAA4D;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/E,IAAI,OAAO,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;oBACxC,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YACD,8EAA8E;YAC9E,kFAAkF;YAClF,iFAAiF;YACjF,qFAAqF;YACrF,2EAA2E;YAC3E,gFAAgF;YAChF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAa,EAAE,UAAyB,EAAE;QACrD,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC,CAAC,4CAA4C;YAC9E,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;gBACjF,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,yFAAyF;YACzF,wFAAwF;YACxF,4BAA4B;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAa;QAC1B,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxF,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/C,8EAA8E;gBAC9E,uFAAuF;gBACvF,sFAAsF;gBACtF,mFAAmF;gBACnF,wFAAwF;gBACxF,qFAAqF;gBACrF,qFAAqF;gBACrF,kBAAkB;gBAClB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC,CAAC,oCAAoC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;QACtC,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,4BAA4B,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC;QAC1E,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5E,yEAAyE;QACzE,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAa;QACxB,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAe;QACxB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,cAAc,CAAC,GAAG,CAAC;gBAAE,SAAS;YAClC,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,iBAAiB,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClC,MAAM,IAAI,iBAAiB,CACzB,iBAAiB,GAAG,+CAA+C,EAAE,0BAA0B,iBAAiB,CAAC,EAAE,CAAC,IAAI,CACzH,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,IAAsB;QACpD,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3B,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChI,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChD,qFAAqF;QACrF,wEAAwE;QACxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,GAAW,EACX,IAAsB,EACtB,OAAe,EACf,UAAwB,EAAE;QAE1B,2BAA2B,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,uFAAuF;QACvF,2DAA2D;QAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/E,IAAI,OAAO,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;oBACxC,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACnD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAE7E,KAAK,CAAC,QAAQ,CAAC,GAAY;QACzB,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,2FAA2F;QAC3F,+FAA+F;QAC/F,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5G,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,8BAA8B;QAC5D,mFAAmF;QACnF,oFAAoF;QACpF,kDAAkD;QAClD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAY,EACZ,KAAiB,EACjB,YAAqB,EACrB,UAAwB,EAAE;QAE1B,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,0FAA0F;QAC1F,uFAAuF;QACvF,8FAA8F;QAC9F,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,OAAO,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;oBACxC,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,+EAA+E;YAC/E,iFAAiF;YACjF,8EAA8E;YAC9E,6EAA6E;YAC7E,oEAAoE;YACpE,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,UAAyB,EAAE;QACxD,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC,CAAC,yDAAyD;YAC9F,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;gBACjF,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,2FAA2F;QAC3F,2FAA2F;QAC3F,4FAA4F;QAC5F,uFAAuF;QACvF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,6FAA6F;QAC7F,mFAAmF;QACnF,4EAA4E;QAC5E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,YAAY;QACV,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,KAAK;SACR,CAAC;IACb,CAAC;CACF;;AAED,SAAS,kBAAkB,CAAC,OAA0B;IACpD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,iBAAiB,CAAC,gDAAgD,CAAC,CAAC;IAC5F,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAA0B,EAAE,GAAW,EAAE,KAAiB,EAAE,eAA+B;IACrI,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,eAAe;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1F,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;kGACkG;AAClG,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAA0B,EAAE,GAAW;IAC/E,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACnD,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAA0B,EAC1B,EAAa;IAEb,OAAO,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAA0B,EAC1B,EAAa,EACb,IAAsB;IAEtB,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,MAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAClG,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;QAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7E,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAA0B;IAItE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzC,OAAO;QACL,IAAI,CAAC,EAAE;YACL,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,MAAM;YACV,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAA0B,EAC1B,GAAW,EACX,IAAsB;IAEtB,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9G,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE;QAC7B,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAA0B;IAE1B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC9F,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAqB,CAAC;QAC3D,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3B,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** A page's body bound when the caller names none, in UTF-8 bytes. */
|
|
2
|
+
export declare const PAGE_DEFAULT_BYTES = 32768;
|
|
3
|
+
/** The smallest and largest page `doc read` serves, in UTF-8 bytes. */
|
|
4
|
+
export declare const PAGE_MIN_BYTES = 1024;
|
|
5
|
+
export declare const PAGE_MAX_BYTES = 983040;
|
|
6
|
+
export interface BodyPage {
|
|
7
|
+
readonly body: string;
|
|
8
|
+
readonly range: {
|
|
9
|
+
readonly offset: number;
|
|
10
|
+
readonly end: number;
|
|
11
|
+
readonly total_chars: number;
|
|
12
|
+
readonly total_bytes: number;
|
|
13
|
+
readonly complete: boolean;
|
|
14
|
+
readonly next_offset?: number;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/** The page of `body` at `offset`, or null when `offset` is not a page start (past the end, or
|
|
18
|
+
* inside a surrogate pair). */
|
|
19
|
+
export declare function bodyPage(body: string, offset: number, maxBytes: number): BodyPage | null;
|
|
20
|
+
//# sourceMappingURL=body-pages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-pages.d.ts","sourceRoot":"","sources":["../src/body-pages.ts"],"names":[],"mappings":"AAKA,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,uEAAuE;AACvE,eAAO,MAAM,cAAc,OAAQ,CAAC;AACpC,eAAO,MAAM,cAAc,SAAU,CAAC;AAItC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAoBD;+BAC+B;AAC/B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAoBxF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Pages of a document body for agents (`doc read --offset/--max-bytes`), the same contract the
|
|
2
|
+
// hosted MCP gateway's `read_document` answers (design `document-size-cap` on the superbee-dev
|
|
3
|
+
// board, section 4): offsets in UTF-16 code units, a page bound in UTF-8 bytes, never a split
|
|
4
|
+
// character, and a page that ends just after a line where one is near its cut.
|
|
5
|
+
/** A page's body bound when the caller names none, in UTF-8 bytes. */
|
|
6
|
+
export const PAGE_DEFAULT_BYTES = 32_768;
|
|
7
|
+
/** The smallest and largest page `doc read` serves, in UTF-8 bytes. */
|
|
8
|
+
export const PAGE_MIN_BYTES = 1_024;
|
|
9
|
+
export const PAGE_MAX_BYTES = 983_040;
|
|
10
|
+
/** How far back from a page's byte cut a newline still ends the page, in UTF-16 code units. */
|
|
11
|
+
const LINE_WINDOW = 4_096;
|
|
12
|
+
function pageEnd(body, offset, maxBytes) {
|
|
13
|
+
let bytes = 0;
|
|
14
|
+
let end = offset;
|
|
15
|
+
while (end < body.length) {
|
|
16
|
+
const code = body.codePointAt(end);
|
|
17
|
+
const width = code < 0x80 ? 1 : code < 0x800 ? 2 : code < 0x10000 ? 3 : 4;
|
|
18
|
+
if (bytes + width > maxBytes)
|
|
19
|
+
break;
|
|
20
|
+
bytes += width;
|
|
21
|
+
end += code >= 0x10000 ? 2 : 1;
|
|
22
|
+
}
|
|
23
|
+
if (end === offset && end < body.length)
|
|
24
|
+
end += body.codePointAt(end) >= 0x10000 ? 2 : 1;
|
|
25
|
+
if (end < body.length) {
|
|
26
|
+
const newline = body.lastIndexOf("\n", end - 1);
|
|
27
|
+
if (newline + 1 > offset && end - (newline + 1) <= LINE_WINDOW)
|
|
28
|
+
end = newline + 1;
|
|
29
|
+
}
|
|
30
|
+
return end;
|
|
31
|
+
}
|
|
32
|
+
/** The page of `body` at `offset`, or null when `offset` is not a page start (past the end, or
|
|
33
|
+
* inside a surrogate pair). */
|
|
34
|
+
export function bodyPage(body, offset, maxBytes) {
|
|
35
|
+
const within = (index, from, to) => {
|
|
36
|
+
const code = body.charCodeAt(index);
|
|
37
|
+
return code >= from && code <= to;
|
|
38
|
+
};
|
|
39
|
+
// Inside a pair: a low surrogate right after its high one.
|
|
40
|
+
const insidePair = offset > 0 && within(offset, 0xdc00, 0xdfff) && within(offset - 1, 0xd800, 0xdbff);
|
|
41
|
+
if (offset > body.length || (offset === body.length && body.length > 0) || insidePair)
|
|
42
|
+
return null;
|
|
43
|
+
const end = pageEnd(body, offset, maxBytes);
|
|
44
|
+
return {
|
|
45
|
+
body: body.slice(offset, end),
|
|
46
|
+
range: {
|
|
47
|
+
offset,
|
|
48
|
+
end,
|
|
49
|
+
total_chars: body.length,
|
|
50
|
+
total_bytes: new TextEncoder().encode(body).length,
|
|
51
|
+
complete: offset === 0 && end === body.length,
|
|
52
|
+
...(end < body.length ? { next_offset: end } : {}),
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=body-pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-pages.js","sourceRoot":"","sources":["../src/body-pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
import { InvalidInputError } from "./errors.js";
|
|
2
2
|
import type { KindConvention } from "./kinds.js";
|
|
3
3
|
import type { Bundle, Link, OkfDocument } from "./types.js";
|
|
4
|
+
/** The preview bound, in characters, for records that may list many bodies (`doc history`,
|
|
5
|
+
* `sync show-incoming`). */
|
|
4
6
|
export declare const BODY_PREVIEW_LIMIT = 1000;
|
|
7
|
+
/** The `doc read` record's body bound, in UTF-8 bytes: a body this size or smaller arrives whole.
|
|
8
|
+
* Agents mostly read through a shell tool, and Claude Code reads back at most 30,000 characters of
|
|
9
|
+
* a command's output by default (`BASH_MAX_OUTPUT_LENGTH`); 20 KiB of body leaves room for the
|
|
10
|
+
* frontmatter, string escaping and help inside that. */
|
|
11
|
+
export declare const DOC_READ_PREVIEW_BYTES = 20480;
|
|
5
12
|
export declare const BODY_PREVIEW_TRUNCATION_MARKER = "[superbee:body-preview-truncated]";
|
|
6
13
|
export declare const BODY_PREVIEW_TRUNCATION_SIGNATURE: RegExp;
|
|
7
14
|
export declare const BODY_PREVIEW_KEY = "body_preview";
|
|
8
15
|
export declare const BODY_PREVIEW_RESERVED_KEYS: readonly string[];
|
|
9
|
-
|
|
16
|
+
/** Where a preview stops, for its help to continue from. */
|
|
17
|
+
export interface BodyPreviewCut {
|
|
18
|
+
readonly shownChars: number;
|
|
19
|
+
readonly nextOffset: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Put `body` on `rec` whole, or, when it is over the bound, as a marked `body_preview`. A truncated
|
|
23
|
+
* record leads with a `warning` sentence and `body_truncated`, so a reader who stops at the first
|
|
24
|
+
* line still learns the value is partial.
|
|
25
|
+
*/
|
|
26
|
+
export declare function attachBodyPreview(rec: Record<string, unknown>, body: string, fullBodyHelp: readonly string[] | ((cut: BodyPreviewCut) => readonly string[]), options?: {
|
|
27
|
+
pageBytes?: number;
|
|
28
|
+
}): void;
|
|
10
29
|
export type BodyPreviewFinding = {
|
|
11
30
|
reason: "preview_marker";
|
|
12
31
|
marker: string;
|
|
@@ -35,9 +54,16 @@ export interface BodyReplacePosture {
|
|
|
35
54
|
}
|
|
36
55
|
/** Capture explicit per-write intent; truthy values and unknown flags never grant an override. */
|
|
37
56
|
export declare function captureBodyReplacePosture(value: unknown): BodyReplacePosture | undefined;
|
|
38
|
-
/** Exact pairs consume first; target mode then admits retext
|
|
39
|
-
* Exact-edge mode is available to authorities that protect
|
|
57
|
+
/** Exact pairs consume first; target mode then admits retext (a standalone edge only by another
|
|
58
|
+
* standalone link) while preserving occurrence counts. Exact-edge mode is available to authorities that protect
|
|
59
|
+
* relationship text as well. */
|
|
40
60
|
export declare function computeDroppedLinks(existingLinks: readonly Link[], nextLinks: readonly Link[], mode?: "target" | "exact-edge"): Link[];
|
|
61
|
+
/**
|
|
62
|
+
* Every outbound cross-link a body carries, as the guard compares them: local document links (as
|
|
63
|
+
* `parseLinksFromDoc` reads them) and well-formed `okf:` links into another bundle outside code (as
|
|
64
|
+
* `parseQualifiedLinks` reads them). Web links are not cross-links.
|
|
65
|
+
*/
|
|
66
|
+
export declare function outboundLinks(doc: OkfDocument): Link[];
|
|
41
67
|
export declare function droppedLinks(_bundle: Bundle, existing: OkfDocument, nextBody: string): Link[];
|
|
42
68
|
export declare function guardTruncatedBodyPreview(existing: OkfDocument, nextBody: string, acceptTruncatedBody: boolean): void;
|
|
43
69
|
export declare function guardDroppedLinks(bundle: Bundle, existing: OkfDocument, nextBody: string, replaceLinks: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body-replace-guards.d.ts","sourceRoot":"","sources":["../src/body-replace-guards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"body-replace-guards.d.ts","sourceRoot":"","sources":["../src/body-replace-guards.ts"],"names":[],"mappings":"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"}
|