@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-findings.js","sourceRoot":"","sources":["../src/link-findings.ts"],"names":[],"mappings":"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"}
|
package/dist/link-types.d.ts
CHANGED
|
@@ -17,6 +17,13 @@ export declare function collectLinkDeclarations(registry: KindRegistry): Map<str
|
|
|
17
17
|
* `KindConvention.links` stays raw strings.
|
|
18
18
|
*/
|
|
19
19
|
export declare function localEdgeQualifiedDeclaration(declared: readonly LinkTypeDeclaration[] | undefined, sourceType: string): LinkTypeDeclaration | null;
|
|
20
|
+
/**
|
|
21
|
+
* A LOCAL edge whose text is a declared type: the declaration it violates (wrong source kind, or a
|
|
22
|
+
* resolved target of another kind), else null. `targetType` undefined means the target has no
|
|
23
|
+
* document, so only the source half is checked; an empty string is an untyped target. The caller
|
|
24
|
+
* checks {@link localEdgeQualifiedDeclaration} first; this compares kinds only.
|
|
25
|
+
*/
|
|
26
|
+
export declare function localEdgeViolation(declared: readonly LinkTypeDeclaration[] | undefined, sourceType: string, targetType: string | undefined): LinkTypeDeclaration | null;
|
|
20
27
|
/**
|
|
21
28
|
* A qualified edge (`okf://<alias>/...`) whose text is a declared type: the declaration it violates
|
|
22
29
|
* (wrong source kind, or a target that is local or names another alias), else null. The target's
|
package/dist/link-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-types.d.ts","sourceRoot":"","sources":["../src/link-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"link-types.d.ts","sourceRoot":"","sources":["../src/link-types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,mHAAmH;AACnH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAWlG;AAUD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,EACpD,UAAU,EAAE,MAAM,GACjB,mBAAmB,GAAG,IAAI,CAI5B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,EACpD,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,mBAAmB,GAAG,IAAI,CAM5B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,EACpD,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,gBAAgB,CAAC,EAAE,MAAM,GACxB,mBAAmB,GAAG,IAAI,CAQ5B"}
|
package/dist/link-types.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Shared typed-edge vocabulary derivation: flattens a loaded `KindRegistry`'s per-kind `links`
|
|
2
|
-
// declarations into one `link-type text -> declaring kind(s)` index. Consumed by
|
|
3
|
-
// (write-time lint
|
|
2
|
+
// declarations into one `link-type text -> declaring kind(s)` index. Consumed by link findings
|
|
3
|
+
// (`link-findings.ts`, the write-time lint every surface renders) and `status` (bundle-wide
|
|
4
|
+
// `link_type_violations` sweep),
|
|
4
5
|
// and by recipe evolution's link-type addition check, so every consumer shares ONE derivation
|
|
5
6
|
// instead of each carrying its own copy (one registry, no parallel logic).
|
|
6
7
|
import { parseQualifiedKindTarget } from "./qualified-links.js";
|
|
@@ -41,6 +42,20 @@ export function localEdgeQualifiedDeclaration(declared, sourceType) {
|
|
|
41
42
|
const matched = declarationFor(declared, sourceType);
|
|
42
43
|
return parseQualifiedKindTarget(matched.target) === null ? null : matched;
|
|
43
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* A LOCAL edge whose text is a declared type: the declaration it violates (wrong source kind, or a
|
|
47
|
+
* resolved target of another kind), else null. `targetType` undefined means the target has no
|
|
48
|
+
* document, so only the source half is checked; an empty string is an untyped target. The caller
|
|
49
|
+
* checks {@link localEdgeQualifiedDeclaration} first; this compares kinds only.
|
|
50
|
+
*/
|
|
51
|
+
export function localEdgeViolation(declared, sourceType, targetType) {
|
|
52
|
+
if (!declared || declared.length === 0)
|
|
53
|
+
return null;
|
|
54
|
+
const matched = declarationFor(declared, sourceType);
|
|
55
|
+
const sourceOk = declared.some((d) => d.governs === sourceType);
|
|
56
|
+
const targetOk = targetType === undefined || targetType === matched.target;
|
|
57
|
+
return sourceOk && targetOk ? null : matched;
|
|
58
|
+
}
|
|
44
59
|
/**
|
|
45
60
|
* A qualified edge (`okf://<alias>/...`) whose text is a declared type: the declaration it violates
|
|
46
61
|
* (wrong source kind, or a target that is local or names another alias), else null. The target's
|
package/dist/link-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-types.js","sourceRoot":"","sources":["../src/link-types.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"link-types.js","sourceRoot":"","sources":["../src/link-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-backend.d.ts","sourceRoot":"","sources":["../src/memory-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAA2L,KAAK,cAAc,EAA6B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-backend.d.ts","sourceRoot":"","sources":["../src/memory-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAA2L,KAAK,cAAc,EAA6B,MAAM,sBAAsB,CAAC;AAO/Q,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAuCpB;;;;GAIG;AACH,qBAAa,aAAc,YAAW,cAAc;;IASlD,IAAI,cAAc,IAAI,cAAc,CAenC;IAYD,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEjD,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBxC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOjD,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsCpF,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBpE,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAM3C,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAW/C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IASrF,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC;IAeb,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAatD,SAAS,CACb,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC;IAyBb,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAYvE,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAKrD"}
|
package/dist/memory-backend.js
CHANGED
|
@@ -30,6 +30,7 @@ import { resolveContentType } from "./content-type.js";
|
|
|
30
30
|
import { readBundleOkfVersion } from "./engine.js";
|
|
31
31
|
import { MalformedDocumentError, normalizeDocumentBodyForStorage, parseFrontmatter, stringifyFrontmatter, stringifyWithSerializedFrontmatter } from "./frontmatter.js";
|
|
32
32
|
import { assertSafeBlobKey, assertSafeConceptId, assertSafeReservedDir, assertSafeReservedFilename, compareStorageKeys } from "./paths.js";
|
|
33
|
+
import { assertStorableReservedWrite } from "./reserved-write.js";
|
|
33
34
|
import { blobVersion, defaultActor, VersionConflict, versionOfBytes } from "./versioning.js";
|
|
34
35
|
/** An ENOENT-shaped rejection so missing-document handling matches {@link FilesystemBackend}. */
|
|
35
36
|
function notFound(id) {
|
|
@@ -192,8 +193,7 @@ export class MemoryBackend {
|
|
|
192
193
|
return { content, version: versionOfBytes(content) };
|
|
193
194
|
}
|
|
194
195
|
async writeReserved(dir, name, content, options = {}) {
|
|
195
|
-
|
|
196
|
-
assertSafeReservedFilename(name);
|
|
196
|
+
assertStorableReservedWrite(dir, name, content);
|
|
197
197
|
const key = reservedKey(dir, name);
|
|
198
198
|
const existing = this.reserved.get(key);
|
|
199
199
|
const current = existing === undefined ? null : versionOfBytes(existing);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-backend.js","sourceRoot":"","sources":["../src/memory-backend.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"memory-backend.js","sourceRoot":"","sources":["../src/memory-backend.ts"],"names":[],"mappings":"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"}
|
package/dist/page.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pure View registry/entry path grammar shared by every producer and consumer.
|
|
3
3
|
*
|
|
4
|
-
* `View` is the ONLY accepted kind name: the legacy `Page` spelling is no longer read
|
|
5
|
-
* (the repo's `migrate-legacy-view-names` script renames legacy content in place). Registry ids
|
|
4
|
+
* `View` is the ONLY accepted kind name: the legacy `Page` spelling is no longer read. Registry ids
|
|
6
5
|
* are concept ids under `views-registry/` (legacy `pages-registry/` LOCATIONS stay recognized;
|
|
7
6
|
* relocation is a separate open decision); entries are opaque blob keys under
|
|
8
7
|
* `views/` (legacy `pages/`). Both retain exact, case-preserving nested paths while
|
|
@@ -20,8 +19,7 @@ export declare const VIEW_ENTRY_PREFIX = "views/";
|
|
|
20
19
|
/**
|
|
21
20
|
* The kind names the launcher/registry surfaces accept: exactly `View`. Exact, case-sensitive
|
|
22
21
|
* match. The legacy `Page` name is deliberately NOT here — a Page-typed doc no longer registers
|
|
23
|
-
* anywhere
|
|
24
|
-
* and `migrate-legacy-view-names` is the remedy).
|
|
22
|
+
* anywhere.
|
|
25
23
|
*/
|
|
26
24
|
export declare const PAGE_TYPE_NAMES: readonly ["View"];
|
|
27
25
|
export type PageTypeName = (typeof PAGE_TYPE_NAMES)[number];
|
|
@@ -36,9 +34,7 @@ export declare function resolveBridgeCapability(value: unknown): BridgeCapabilit
|
|
|
36
34
|
/**
|
|
37
35
|
* THE one reader of the registry-doc capability FIELD: `access`, and ONLY `access`. The legacy
|
|
38
36
|
* `bridge` spelling is no longer read — a doc declaring only `bridge` resolves to `undefined`
|
|
39
|
-
* here and fails closed to `none` downstream
|
|
40
|
-
* existing stock in place; the CLI's `status` legacy_naming finding flags leftover `bridge`
|
|
41
|
-
* fields loudly).
|
|
37
|
+
* here and fails closed to `none` downstream.
|
|
42
38
|
*/
|
|
43
39
|
export declare function declaredAccessValue(frontmatter: Record<string, unknown>): unknown;
|
|
44
40
|
/** Resolve a registry doc's declared capability: {@link declaredAccessValue} through the fail-closed {@link resolveBridgeCapability} — an absent or unrecognized `access` yields `none`. */
|
package/dist/page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,wGAAwG;AACxG,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,eAAe,mBAAoB,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEzE,mGAAmG;AACnG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAExE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAIjF;AAED,4LAA4L;AAC5L,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAE5F;AAED,uGAAuG;AACvG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AA4CD,4IAA4I;AAC5I,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAE1D;AAED,uIAAuI;AACvI,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAE1D;AAED,yHAAyH;AACzH,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAEzD;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE9D;AAED,0HAA0H;AAC1H,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE9D;AAED,wGAAwG;AACxG,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAElE;AAED,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,IAAI,EAAE,YAAY,CAAC;IACnB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAiB5G"}
|
package/dist/page.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pure View registry/entry path grammar shared by every producer and consumer.
|
|
3
3
|
*
|
|
4
|
-
* `View` is the ONLY accepted kind name: the legacy `Page` spelling is no longer read
|
|
5
|
-
* (the repo's `migrate-legacy-view-names` script renames legacy content in place). Registry ids
|
|
4
|
+
* `View` is the ONLY accepted kind name: the legacy `Page` spelling is no longer read. Registry ids
|
|
6
5
|
* are concept ids under `views-registry/` (legacy `pages-registry/` LOCATIONS stay recognized;
|
|
7
6
|
* relocation is a separate open decision); entries are opaque blob keys under
|
|
8
7
|
* `views/` (legacy `pages/`). Both retain exact, case-preserving nested paths while
|
|
@@ -22,8 +21,7 @@ export const VIEW_ENTRY_PREFIX = "views/";
|
|
|
22
21
|
/**
|
|
23
22
|
* The kind names the launcher/registry surfaces accept: exactly `View`. Exact, case-sensitive
|
|
24
23
|
* match. The legacy `Page` name is deliberately NOT here — a Page-typed doc no longer registers
|
|
25
|
-
* anywhere
|
|
26
|
-
* and `migrate-legacy-view-names` is the remedy).
|
|
24
|
+
* anywhere.
|
|
27
25
|
*/
|
|
28
26
|
export const PAGE_TYPE_NAMES = ["View"];
|
|
29
27
|
/** One capability resolver shared by registry parsing and the loopback server's security gates. */
|
|
@@ -33,9 +31,7 @@ export function resolveBridgeCapability(value) {
|
|
|
33
31
|
/**
|
|
34
32
|
* THE one reader of the registry-doc capability FIELD: `access`, and ONLY `access`. The legacy
|
|
35
33
|
* `bridge` spelling is no longer read — a doc declaring only `bridge` resolves to `undefined`
|
|
36
|
-
* here and fails closed to `none` downstream
|
|
37
|
-
* existing stock in place; the CLI's `status` legacy_naming finding flags leftover `bridge`
|
|
38
|
-
* fields loudly).
|
|
34
|
+
* here and fails closed to `none` downstream.
|
|
39
35
|
*/
|
|
40
36
|
export function declaredAccessValue(frontmatter) {
|
|
41
37
|
// Own-property-gated: an INHERITED field (a crafted prototype, or a polluted
|
package/dist/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
|
package/dist/path-fold.d.ts
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The one fold for "would these two paths land on the same file?". The portable export's
|
|
3
|
-
* collision check uses it here,
|
|
4
|
-
*
|
|
3
|
+
* collision check uses it here, the filesystem backend's lock keys and spelling checks and the
|
|
4
|
+
* document transfer's collision checks derive from it (`identity-fold.ts`), and hosts that fence
|
|
5
|
+
* writes or gate pushes import it from `@superbee/core/path-fold`, so the checks cannot drift apart.
|
|
5
6
|
*
|
|
6
|
-
* One definition:
|
|
7
|
+
* One definition: NFD, then `toLowerCase()`, `toUpperCase()`, `toLowerCase()`, then NFC.
|
|
7
8
|
*
|
|
8
|
-
* -
|
|
9
|
-
* `e` + U+0301) as one name
|
|
9
|
+
* - NFD first: macOS filesystems, ext4 casefold and Git checkouts treat canonically equivalent
|
|
10
|
+
* spellings (`é` and `e` + U+0301) as one name, and APFS, HFS+ and ext4 casefold all decompose
|
|
11
|
+
* before they compare case. Folding the decomposed form keeps every combining mark in the
|
|
12
|
+
* canonical order those filesystems compare in. That matters for the iota subscript (U+0345,
|
|
13
|
+
* and the precomposed Greek letters that carry it): it sorts after the other marks on its
|
|
14
|
+
* base, and its case mapping is a spacing iota, so folding a composed letter would put a
|
|
15
|
+
* following mark after the iota while the decomposing filesystems keep it before. `ᾩ` + U+034D
|
|
16
|
+
* and `ὡ` + U+034D + `ι` are one name on those filesystems and fold together here.
|
|
10
17
|
* - The uppercase step: case-insensitive filesystems compare through an uppercase table (NTFS's
|
|
11
18
|
* `$UpCase`), so any character whose uppercase is an ASCII letter meets that letter. `ſ` (U+017F,
|
|
12
19
|
* long s) uppercases to `S`, so `referenceſ` is `REFERENCES` to Windows; `toLowerCase()` alone
|
|
@@ -15,20 +22,26 @@
|
|
|
15
22
|
* the same form as its lowercase. `ẞ` (U+1E9E, capital sharp s) is its own uppercase and
|
|
16
23
|
* lowercases to `ß`, whose uppercase is `SS`; uppercasing first would stop at `ß` while `ß`
|
|
17
24
|
* itself folds to `ss`. Lowercasing first sends `ẞ`, `ß`, `SS` and `ss` to one `ss`.
|
|
18
|
-
* - The trailing NFC:
|
|
19
|
-
*
|
|
25
|
+
* - The trailing NFC: the result is one canonical spelling, so equal folds are equal strings and
|
|
26
|
+
* the fold is idempotent.
|
|
20
27
|
*
|
|
21
28
|
* Every code point then meets its own uppercase and lowercase, and `foldPath(foldPath(p))` is
|
|
22
|
-
* `foldPath(p)`. The
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* fence and for the export's collision check.
|
|
29
|
+
* `foldPath(p)`. The case mapping of the iota subscript still leaves one pair apart: a subscript
|
|
30
|
+
* followed by another mark and a spacing iota followed by that mark. The decomposing filesystems
|
|
31
|
+
* keep that pair apart too. Turkish `İ` (U+0130) lowercases to `i` + U+0307 and keeps its dot, so
|
|
32
|
+
* it never meets ASCII `i`; that matches every filesystem, none of which applies Turkish casing.
|
|
33
|
+
* Folding more than a filesystem does only refuses more, which is the safe direction for a fence,
|
|
34
|
+
* a lock key and the export's collision check.
|
|
29
35
|
*
|
|
30
|
-
* NFKC is deliberately not used. No filesystem
|
|
31
|
-
*
|
|
36
|
+
* Compatibility decomposition (NFKD, NFKC) is deliberately not used. No supported filesystem
|
|
37
|
+
* applies it: APFS and HFS+ store and compare canonical decompositions, ext4 casefold builds its
|
|
38
|
+
* tables from canonical decompositions only and skips the compatibility-tagged ones, and NTFS
|
|
39
|
+
* applies no normalization. Fullwidth `r` and circled `①` stay names distinct from `r` and `1`
|
|
40
|
+
* everywhere, and a compatibility fold would make the export refuse archives that extract cleanly.
|
|
41
|
+
*
|
|
42
|
+
* Not covered: case-insensitive HFS+ also ignores some code points inside a name (U+200C, U+200D,
|
|
43
|
+
* U+FEFF, U+206A and their kind), so it joins `a` + U+200D + `b` with `ab`. This fold keeps
|
|
44
|
+
* those apart.
|
|
32
45
|
*
|
|
33
46
|
* `/` has no case mapping and no decomposition, so folding a whole path equals folding each segment.
|
|
34
47
|
* The agreement rows in `string-identity-agreement.ts` pin this definition for every host.
|
package/dist/path-fold.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-fold.d.ts","sourceRoot":"","sources":["../src/path-fold.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"path-fold.d.ts","sourceRoot":"","sources":["../src/path-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C"}
|
package/dist/path-fold.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The one fold for "would these two paths land on the same file?". The portable export's
|
|
3
|
-
* collision check uses it here,
|
|
4
|
-
*
|
|
3
|
+
* collision check uses it here, the filesystem backend's lock keys and spelling checks and the
|
|
4
|
+
* document transfer's collision checks derive from it (`identity-fold.ts`), and hosts that fence
|
|
5
|
+
* writes or gate pushes import it from `@superbee/core/path-fold`, so the checks cannot drift apart.
|
|
5
6
|
*
|
|
6
|
-
* One definition:
|
|
7
|
+
* One definition: NFD, then `toLowerCase()`, `toUpperCase()`, `toLowerCase()`, then NFC.
|
|
7
8
|
*
|
|
8
|
-
* -
|
|
9
|
-
* `e` + U+0301) as one name
|
|
9
|
+
* - NFD first: macOS filesystems, ext4 casefold and Git checkouts treat canonically equivalent
|
|
10
|
+
* spellings (`é` and `e` + U+0301) as one name, and APFS, HFS+ and ext4 casefold all decompose
|
|
11
|
+
* before they compare case. Folding the decomposed form keeps every combining mark in the
|
|
12
|
+
* canonical order those filesystems compare in. That matters for the iota subscript (U+0345,
|
|
13
|
+
* and the precomposed Greek letters that carry it): it sorts after the other marks on its
|
|
14
|
+
* base, and its case mapping is a spacing iota, so folding a composed letter would put a
|
|
15
|
+
* following mark after the iota while the decomposing filesystems keep it before. `ᾩ` + U+034D
|
|
16
|
+
* and `ὡ` + U+034D + `ι` are one name on those filesystems and fold together here.
|
|
10
17
|
* - The uppercase step: case-insensitive filesystems compare through an uppercase table (NTFS's
|
|
11
18
|
* `$UpCase`), so any character whose uppercase is an ASCII letter meets that letter. `ſ` (U+017F,
|
|
12
19
|
* long s) uppercases to `S`, so `referenceſ` is `REFERENCES` to Windows; `toLowerCase()` alone
|
|
@@ -15,20 +22,26 @@
|
|
|
15
22
|
* the same form as its lowercase. `ẞ` (U+1E9E, capital sharp s) is its own uppercase and
|
|
16
23
|
* lowercases to `ß`, whose uppercase is `SS`; uppercasing first would stop at `ß` while `ß`
|
|
17
24
|
* itself folds to `ss`. Lowercasing first sends `ẞ`, `ß`, `SS` and `ss` to one `ss`.
|
|
18
|
-
* - The trailing NFC:
|
|
19
|
-
*
|
|
25
|
+
* - The trailing NFC: the result is one canonical spelling, so equal folds are equal strings and
|
|
26
|
+
* the fold is idempotent.
|
|
20
27
|
*
|
|
21
28
|
* Every code point then meets its own uppercase and lowercase, and `foldPath(foldPath(p))` is
|
|
22
|
-
* `foldPath(p)`. The
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* fence and for the export's collision check.
|
|
29
|
+
* `foldPath(p)`. The case mapping of the iota subscript still leaves one pair apart: a subscript
|
|
30
|
+
* followed by another mark and a spacing iota followed by that mark. The decomposing filesystems
|
|
31
|
+
* keep that pair apart too. Turkish `İ` (U+0130) lowercases to `i` + U+0307 and keeps its dot, so
|
|
32
|
+
* it never meets ASCII `i`; that matches every filesystem, none of which applies Turkish casing.
|
|
33
|
+
* Folding more than a filesystem does only refuses more, which is the safe direction for a fence,
|
|
34
|
+
* a lock key and the export's collision check.
|
|
29
35
|
*
|
|
30
|
-
* NFKC is deliberately not used. No filesystem
|
|
31
|
-
*
|
|
36
|
+
* Compatibility decomposition (NFKD, NFKC) is deliberately not used. No supported filesystem
|
|
37
|
+
* applies it: APFS and HFS+ store and compare canonical decompositions, ext4 casefold builds its
|
|
38
|
+
* tables from canonical decompositions only and skips the compatibility-tagged ones, and NTFS
|
|
39
|
+
* applies no normalization. Fullwidth `r` and circled `①` stay names distinct from `r` and `1`
|
|
40
|
+
* everywhere, and a compatibility fold would make the export refuse archives that extract cleanly.
|
|
41
|
+
*
|
|
42
|
+
* Not covered: case-insensitive HFS+ also ignores some code points inside a name (U+200C, U+200D,
|
|
43
|
+
* U+FEFF, U+206A and their kind), so it joins `a` + U+200D + `b` with `ab`. This fold keeps
|
|
44
|
+
* those apart.
|
|
32
45
|
*
|
|
33
46
|
* `/` has no case mapping and no decomposition, so folding a whole path equals folding each segment.
|
|
34
47
|
* The agreement rows in `string-identity-agreement.ts` pin this definition for every host.
|
|
@@ -36,6 +49,6 @@
|
|
|
36
49
|
* Dependency-free on purpose, so pure modules and browser bundles can import it.
|
|
37
50
|
*/
|
|
38
51
|
export function foldPath(path) {
|
|
39
|
-
return path.normalize("
|
|
52
|
+
return path.normalize("NFD").toLowerCase().toUpperCase().toLowerCase().normalize("NFC");
|
|
40
53
|
}
|
|
41
54
|
//# sourceMappingURL=path-fold.js.map
|
package/dist/path-fold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-fold.js","sourceRoot":"","sources":["../src/path-fold.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"path-fold.js","sourceRoot":"","sources":["../src/path-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC"}
|
package/dist/paths.d.ts
CHANGED
|
@@ -13,6 +13,12 @@ import type { ConceptId } from "./types.js";
|
|
|
13
13
|
export declare const RESERVED_FILENAMES: readonly ["index.md", "log.md"];
|
|
14
14
|
/** Keep locale ordering, but never let distinct spellings depend on insertion order. */
|
|
15
15
|
export declare function compareStorageKeys(a: string, b: string): number;
|
|
16
|
+
/**
|
|
17
|
+
* Guard a bundle-relative file path that is neither a concept document nor a blob key (a board's
|
|
18
|
+
* conflicted non-document file): canonical and portable, with no traversal or absolute escape.
|
|
19
|
+
* Which files may be written is the caller's rule; this only keeps the path inside the bundle.
|
|
20
|
+
*/
|
|
21
|
+
export declare function assertSafeFilePath(rel: string): void;
|
|
16
22
|
/** Runtime callers must obey the same finite reserved-name type as TypeScript callers. */
|
|
17
23
|
export declare function assertSafeReservedFilename(name: unknown): asserts name is typeof RESERVED_FILENAMES[number];
|
|
18
24
|
/** Normalize any separators to forward slashes and collapse duplicate slashes. */
|
|
@@ -22,6 +28,14 @@ export declare function toPosix(p: string): string;
|
|
|
22
28
|
* (`index.md` / `log.md`) at ANY directory level.
|
|
23
29
|
*/
|
|
24
30
|
export declare function isReservedFile(relPath: string): boolean;
|
|
31
|
+
/** True for a name the filesystem walk never lists or descends into: `.git`, temp files, dot-dirs. */
|
|
32
|
+
export declare function isHiddenWalkEntry(name: string): boolean;
|
|
33
|
+
/** True for a file name in the concept-document namespace, case-insensitively, which a blob listing excludes. */
|
|
34
|
+
export declare function hasMarkdownExtension(name: string): boolean;
|
|
35
|
+
/** Where a bundle-relative path sits relative to the filesystem walk. */
|
|
36
|
+
export type WalkPathClass = "hidden" | "markdown" | "other";
|
|
37
|
+
/** Classify a bundle-relative path by the walk's own rules: any hidden segment hides it, then the final segment's extension decides. */
|
|
38
|
+
export declare function classifyWalkPath(relPath: string): WalkPathClass;
|
|
25
39
|
/**
|
|
26
40
|
* Concept ID from a bundle-relative markdown file path: normalize separators,
|
|
27
41
|
* drop a leading `./` or `/`, and strip the trailing `.md`.
|
|
@@ -60,6 +74,20 @@ export type NonCanonicalDocumentId = "segment_whitespace" | "format_character" |
|
|
|
60
74
|
* while storage keys them as two.
|
|
61
75
|
*/
|
|
62
76
|
export declare function nonCanonicalDocumentId(id: string): NonCanonicalDocumentId | null;
|
|
77
|
+
/**
|
|
78
|
+
* Refuse a NEW document id outside its canonical spelling (see {@link nonCanonicalDocumentId}).
|
|
79
|
+
* Callers apply this only where a document is about to be created; existing ids stay readable,
|
|
80
|
+
* writable and deletable. `exists` reports whether the suggested spelling is already a document,
|
|
81
|
+
* so the refusal never steers a create onto it.
|
|
82
|
+
*/
|
|
83
|
+
export declare function assertCanonicalNewDocumentId(id: ConceptId, exists?: (candidate: ConceptId) => boolean): void;
|
|
84
|
+
/**
|
|
85
|
+
* Clean `text` toward the canonical spelling: NFC, no format characters except interior joiners,
|
|
86
|
+
* and no whitespace or format character at a segment edge. Canonical text is returned unchanged.
|
|
87
|
+
*/
|
|
88
|
+
export declare function canonicalizeIdText(text: string): string;
|
|
89
|
+
/** A canonical, safe spelling of `id`, or undefined when cleaning it leaves no usable id. */
|
|
90
|
+
export declare function suggestCanonicalDocumentId(id: string): string | undefined;
|
|
63
91
|
/**
|
|
64
92
|
* Guard a blob key before it is joined onto the bundle root for a filesystem read or
|
|
65
93
|
* write. Same traversal/absolute-escape shape as {@link assertSafeConceptId}, PLUS
|
package/dist/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,iCAAkC,CAAC;AAElE,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS/D;AAYD,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAI3G;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAO5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAGvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAWvD;AAED,wGAAwG;AACxG,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAK3F;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAMhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBnD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKvD;AAED,2IAA2I;AAC3I,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzD"}
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,iCAAkC,CAAC;AAElE,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS/D;AAYD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQpD;AAID,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAI3G;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED,sGAAsG;AACtG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,iHAAiH;AACjH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE5D,wIAAwI;AACxI,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAI/D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAO5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAGvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAWvD;AAED,wGAAwG;AACxG,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAK3F;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAMhF;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAqB,GAAG,IAAI,CAKzH;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvD;AAcD,6FAA6F;AAC7F,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBnD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKvD;AAED,2IAA2I;AAC3I,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzD"}
|
package/dist/paths.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Everything here is pure and dependency-free, hence directly unit-testable.
|
|
10
10
|
*/
|
|
11
|
-
import { InvalidInputError } from "./errors.js";
|
|
11
|
+
import { InvalidInputError, NonCanonicalDocumentIdError } from "./errors.js";
|
|
12
12
|
/** The two OKF reserved filenames, valid at any directory level (§3.1). */
|
|
13
13
|
export const RESERVED_FILENAMES = ["index.md", "log.md"];
|
|
14
14
|
/** Keep locale ordering, but never let distinct spellings depend on insertion order. */
|
|
@@ -33,6 +33,23 @@ function assertPortablePath(value, label) {
|
|
|
33
33
|
throw new InvalidInputError(`${label} must be canonical and bundle-relative.`);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Guard a bundle-relative file path that is neither a concept document nor a blob key (a board's
|
|
38
|
+
* conflicted non-document file): canonical and portable, with no traversal or absolute escape.
|
|
39
|
+
* Which files may be written is the caller's rule; this only keeps the path inside the bundle.
|
|
40
|
+
*/
|
|
41
|
+
export function assertSafeFilePath(rel) {
|
|
42
|
+
if (typeof rel !== "string" || rel.trim() === "")
|
|
43
|
+
throw new InvalidInputError("File path must be a non-empty string.");
|
|
44
|
+
assertPortablePath(rel, "File path");
|
|
45
|
+
// Never a repository's metadata, a private-state root, or a reserved OKF file, whatever the case.
|
|
46
|
+
if (rel.split("/").some((segment) => UNWRITABLE_FILE_SEGMENTS.has(segment.toLowerCase()))) {
|
|
47
|
+
throw new InvalidInputError("File path must not enter .git or a private-state folder.");
|
|
48
|
+
}
|
|
49
|
+
if (isReservedFile(rel.toLowerCase()))
|
|
50
|
+
throw new InvalidInputError("File path must not name a reserved OKF file.");
|
|
51
|
+
}
|
|
52
|
+
const UNWRITABLE_FILE_SEGMENTS = new Set([".git", ".superbee-state", ".agentstate"]);
|
|
36
53
|
/** Runtime callers must obey the same finite reserved-name type as TypeScript callers. */
|
|
37
54
|
export function assertSafeReservedFilename(name) {
|
|
38
55
|
if (!RESERVED_FILENAMES.includes(name)) {
|
|
@@ -51,6 +68,21 @@ export function isReservedFile(relPath) {
|
|
|
51
68
|
const base = toPosix(relPath).split("/").pop() ?? "";
|
|
52
69
|
return RESERVED_FILENAMES.includes(base);
|
|
53
70
|
}
|
|
71
|
+
/** True for a name the filesystem walk never lists or descends into: `.git`, temp files, dot-dirs. */
|
|
72
|
+
export function isHiddenWalkEntry(name) {
|
|
73
|
+
return name.startsWith(".");
|
|
74
|
+
}
|
|
75
|
+
/** True for a file name in the concept-document namespace, case-insensitively, which a blob listing excludes. */
|
|
76
|
+
export function hasMarkdownExtension(name) {
|
|
77
|
+
return name.toLowerCase().endsWith(".md");
|
|
78
|
+
}
|
|
79
|
+
/** Classify a bundle-relative path by the walk's own rules: any hidden segment hides it, then the final segment's extension decides. */
|
|
80
|
+
export function classifyWalkPath(relPath) {
|
|
81
|
+
const segments = toPosix(relPath).split("/").filter((segment) => segment !== "");
|
|
82
|
+
if (segments.some(isHiddenWalkEntry))
|
|
83
|
+
return "hidden";
|
|
84
|
+
return hasMarkdownExtension(segments.at(-1) ?? "") ? "markdown" : "other";
|
|
85
|
+
}
|
|
54
86
|
/**
|
|
55
87
|
* Concept ID from a bundle-relative markdown file path: normalize separators,
|
|
56
88
|
* drop a leading `./` or `/`, and strip the trailing `.md`.
|
|
@@ -117,6 +149,55 @@ export function nonCanonicalDocumentId(id) {
|
|
|
117
149
|
return "not_nfc";
|
|
118
150
|
return null;
|
|
119
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Refuse a NEW document id outside its canonical spelling (see {@link nonCanonicalDocumentId}).
|
|
154
|
+
* Callers apply this only where a document is about to be created; existing ids stay readable,
|
|
155
|
+
* writable and deletable. `exists` reports whether the suggested spelling is already a document,
|
|
156
|
+
* so the refusal never steers a create onto it.
|
|
157
|
+
*/
|
|
158
|
+
export function assertCanonicalNewDocumentId(id, exists = () => false) {
|
|
159
|
+
const why = nonCanonicalDocumentId(id);
|
|
160
|
+
if (why === null)
|
|
161
|
+
return;
|
|
162
|
+
const suggested = suggestCanonicalDocumentId(id);
|
|
163
|
+
throw new NonCanonicalDocumentIdError(id, why, suggested === undefined ? undefined : { id: suggested, exists: exists(suggested) });
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Clean `text` toward the canonical spelling: NFC, no format characters except interior joiners,
|
|
167
|
+
* and no whitespace or format character at a segment edge. Canonical text is returned unchanged.
|
|
168
|
+
*/
|
|
169
|
+
export function canonicalizeIdText(text) {
|
|
170
|
+
return text
|
|
171
|
+
.normalize("NFC")
|
|
172
|
+
.split("/")
|
|
173
|
+
.map((segment) => trimIdEdge(trimIdEdge(segment).replace(/(?![\u200c\u200d])\p{Cf}/gu, "")))
|
|
174
|
+
.join("/");
|
|
175
|
+
}
|
|
176
|
+
const ID_EDGE_CHAR = /^[\s\p{Cf}]$/u;
|
|
177
|
+
/** Trim whitespace and format characters from both ends in linear time (no backtracking regex). */
|
|
178
|
+
function trimIdEdge(segment) {
|
|
179
|
+
const chars = Array.from(segment);
|
|
180
|
+
let start = 0;
|
|
181
|
+
let end = chars.length;
|
|
182
|
+
while (start < end && ID_EDGE_CHAR.test(chars[start]))
|
|
183
|
+
start += 1;
|
|
184
|
+
while (end > start && ID_EDGE_CHAR.test(chars[end - 1]))
|
|
185
|
+
end -= 1;
|
|
186
|
+
return chars.slice(start, end).join("");
|
|
187
|
+
}
|
|
188
|
+
/** A canonical, safe spelling of `id`, or undefined when cleaning it leaves no usable id. */
|
|
189
|
+
export function suggestCanonicalDocumentId(id) {
|
|
190
|
+
const candidate = canonicalizeIdText(id);
|
|
191
|
+
if (candidate === id || nonCanonicalDocumentId(candidate) !== null)
|
|
192
|
+
return undefined;
|
|
193
|
+
try {
|
|
194
|
+
assertSafeConceptId(candidate);
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
return undefined;
|
|
198
|
+
}
|
|
199
|
+
return isReservedFile(pathFromConceptId(candidate)) ? undefined : candidate;
|
|
200
|
+
}
|
|
120
201
|
/**
|
|
121
202
|
* Guard a blob key before it is joined onto the bundle root for a filesystem read or
|
|
122
203
|
* write. Same traversal/absolute-escape shape as {@link assertSafeConceptId}, PLUS
|