@remnic/core 9.57.4 → 9.57.5
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/dist/access-admin-ops-surface.js +23 -23
- package/dist/access-authorization-probe.js +24 -24
- package/dist/access-boundary.js +23 -23
- package/dist/access-cli.js +57 -57
- package/dist/access-extraction-force-flush.js +23 -23
- package/dist/access-http-query.js +23 -23
- package/dist/access-http.js +34 -34
- package/dist/access-identity-continuity-surface.js +23 -23
- package/dist/access-lcm-surface.js +23 -23
- package/dist/access-mcp.js +30 -30
- package/dist/access-memory-search-fanout.js +4 -3
- package/dist/access-namespace-preflight.js +23 -23
- package/dist/access-observe-write-surface.js +23 -23
- package/dist/access-offline-manifest.js +10 -10
- package/dist/access-operations-batch.js +26 -26
- package/dist/access-operations.js +29 -29
- package/dist/access-recall-concurrency.js +23 -23
- package/dist/access-recall-response.js +23 -23
- package/dist/access-recall-surface.js +23 -23
- package/dist/access-service.js +23 -23
- package/dist/access-surface-catalog.js +25 -25
- package/dist/active-memory-bridge.js +5 -5
- package/dist/briefing.js +5 -5
- package/dist/buffer.js +6 -5
- package/dist/causal-consolidation.js +7 -7
- package/dist/{chunk-O54B5YNM.js → chunk-24PNX2GF.js} +3 -3
- package/dist/{chunk-ONCWJBWV.js → chunk-3AJOJOFP.js} +2 -2
- package/dist/{chunk-QSDPVZPD.js → chunk-4O6R3GPK.js} +8 -8
- package/dist/{chunk-IXGQP4RZ.js → chunk-4SGDYYWV.js} +4 -4
- package/dist/{chunk-UTDMY476.js → chunk-4UUF2EX3.js} +3 -3
- package/dist/{chunk-T6EQPZ6E.js → chunk-4YZCIK5E.js} +16 -14
- package/dist/chunk-4YZCIK5E.js.map +1 -0
- package/dist/{chunk-S6AH7WSF.js → chunk-5PGYCWA7.js} +5 -5
- package/dist/{chunk-7NSC4IVA.js → chunk-6RK2X7BR.js} +3 -3
- package/dist/{chunk-VWP5DEHU.js → chunk-6SX4MY5Q.js} +2 -2
- package/dist/{chunk-GUNIXT36.js → chunk-7BY7V4YX.js} +2 -2
- package/dist/{chunk-R7UHWPYI.js → chunk-7PJARJS4.js} +3 -3
- package/dist/{chunk-V3IT3XNG.js → chunk-7VSHDLJQ.js} +6 -6
- package/dist/{chunk-SFCJCMZQ.js → chunk-A7266TRJ.js} +2 -2
- package/dist/{chunk-4THNU7OF.js → chunk-AW4A4XOP.js} +22 -22
- package/dist/{chunk-IFFW25NG.js → chunk-C5B3CIMJ.js} +34 -34
- package/dist/{chunk-TF3LMM5E.js → chunk-CSV34HIW.js} +3 -3
- package/dist/{chunk-FK7T55BA.js → chunk-CZUHNJHX.js} +19 -19
- package/dist/{chunk-NFQB6RJT.js → chunk-D4OCJSLV.js} +3 -3
- package/dist/{chunk-JKL53MOY.js → chunk-DLQQU4EG.js} +3 -3
- package/dist/{chunk-CME347TM.js → chunk-DNC4A7RS.js} +2 -2
- package/dist/{chunk-F2JRDPON.js → chunk-EGBDFJ36.js} +2 -2
- package/dist/{chunk-TFXYQNBH.js → chunk-FI3PIOOI.js} +9 -9
- package/dist/{chunk-CKSEJD7K.js → chunk-FKTD7IVS.js} +2 -2
- package/dist/{chunk-FONW766A.js → chunk-GXIY65UH.js} +2 -2
- package/dist/{chunk-2YREVL4T.js → chunk-HZC3OECF.js} +2 -2
- package/dist/{chunk-X5OIPQME.js → chunk-HZNYJN77.js} +6 -6
- package/dist/{chunk-LYPG7GOO.js → chunk-I2GIYTRU.js} +2 -2
- package/dist/{chunk-FR3FNPCJ.js → chunk-IT57AOMC.js} +4 -4
- package/dist/{chunk-CMRUIKVA.js → chunk-KCT36JAW.js} +25 -9
- package/dist/chunk-KCT36JAW.js.map +1 -0
- package/dist/{chunk-KJH6W2I7.js → chunk-L3CHRBHE.js} +4 -4
- package/dist/{chunk-PSH3VFZ7.js → chunk-L3LRWDJW.js} +7 -7
- package/dist/{chunk-JFPZEWY3.js → chunk-LIF6DO6U.js} +37 -13
- package/dist/chunk-LIF6DO6U.js.map +1 -0
- package/dist/{chunk-QZR3WT3L.js → chunk-LJJWFV2Q.js} +2 -2
- package/dist/{chunk-TLVLJSWS.js → chunk-LRDP2AC2.js} +2 -2
- package/dist/{chunk-QV7OEHFN.js → chunk-LTBKKSCX.js} +2 -2
- package/dist/{chunk-IGWVMA4Y.js → chunk-MRV7VSQK.js} +20 -10
- package/dist/chunk-MRV7VSQK.js.map +1 -0
- package/dist/{chunk-6P2NUVM5.js → chunk-NEJQ65NV.js} +2 -2
- package/dist/{chunk-7PKNOXYB.js → chunk-NTJ6TY44.js} +2 -2
- package/dist/{chunk-HYVBJLEK.js → chunk-O5AFC5KM.js} +2 -2
- package/dist/{chunk-U3PN77QT.js → chunk-PCXDUHQH.js} +11 -4
- package/dist/chunk-PCXDUHQH.js.map +1 -0
- package/dist/{chunk-N655QIA2.js → chunk-PEDYKCJI.js} +3 -3
- package/dist/{chunk-TVKWT2CY.js → chunk-Q57GOHLF.js} +11 -9
- package/dist/{chunk-TVKWT2CY.js.map → chunk-Q57GOHLF.js.map} +1 -1
- package/dist/{chunk-4QFCAKNM.js → chunk-RUZM6Z52.js} +1 -1
- package/dist/{chunk-O4TTIMOP.js → chunk-SFR7J2G6.js} +2 -2
- package/dist/{chunk-ION47U3Z.js → chunk-SNW3YRO6.js} +2 -2
- package/dist/{chunk-XL24QQ63.js → chunk-TBUEE7XF.js} +2 -2
- package/dist/{chunk-TAPFJ3ET.js → chunk-U7XLOSG2.js} +3 -3
- package/dist/{chunk-T3HC7RJ7.js → chunk-USAUBGBC.js} +2 -2
- package/dist/{chunk-TAMY4NKO.js → chunk-USGKHF36.js} +2 -2
- package/dist/{chunk-XRPPHIRI.js → chunk-VUDALPI5.js} +2 -2
- package/dist/{chunk-EGGE52UU.js → chunk-VUFL7X3H.js} +13 -6
- package/dist/chunk-VUFL7X3H.js.map +1 -0
- package/dist/{chunk-HC55YCNK.js → chunk-VYIXCMUP.js} +4 -4
- package/dist/{chunk-HQ2VGCGP.js → chunk-XBGLEOID.js} +8 -8
- package/dist/{chunk-XX4HPFFM.js → chunk-XDL5CYZN.js} +4 -4
- package/dist/{chunk-THACANBI.js → chunk-YOKSRIFI.js} +3 -3
- package/dist/{chunk-BWJMBJCY.js → chunk-YTZA7U6Q.js} +6 -6
- package/dist/{chunk-4KM3V6VS.js → chunk-ZN7SMKAK.js} +2 -2
- package/dist/cli.js +45 -45
- package/dist/compounding/engine.js +5 -5
- package/dist/connectors/codex-materialize-runner.js +6 -6
- package/dist/connectors/index.js +6 -6
- package/dist/contradiction/index.js +3 -3
- package/dist/{contradiction-scan-522AYLQC.js → contradiction-scan-VOTQRRSX.js} +4 -4
- package/dist/convergence-refresh.js +7 -7
- package/dist/corpus-watermark.js +8 -8
- package/dist/entity-retrieval.js +5 -5
- package/dist/explicit-capture.js +4 -4
- package/dist/external-wiki-access.js +24 -24
- package/dist/extraction.js +11 -11
- package/dist/{first-start-migration-HZ4VPRFQ.js → first-start-migration-4NETATFF.js} +4 -4
- package/dist/{graph-edge-decay-ZXGBXNPW.js → graph-edge-decay-A4SDFMMS.js} +4 -3
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/index.js +57 -57
- package/dist/maintenance/memory-governance.js +5 -5
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +5 -5
- package/dist/maintenance/rebuild-memory-projection.js +6 -6
- package/dist/namespaces/migrate.js +7 -7
- package/dist/namespaces/principal.js +3 -2
- package/dist/namespaces/search.js +2 -2
- package/dist/namespaces/storage.js +6 -6
- package/dist/offline-sync-impression-drain.js +6 -6
- package/dist/operator-doctor-corpus.js +9 -9
- package/dist/operator-toolkit.js +16 -16
- package/dist/orchestration/maintenance.js +14 -14
- package/dist/orchestrator.js +57 -57
- package/dist/reconcile/manifest.js +3 -3
- package/dist/reconcile/plan.js +2 -2
- package/dist/routing/engine.js +2 -1
- package/dist/routing/store.js +3 -2
- package/dist/semantic-consolidation.js +7 -7
- package/dist/semantic-rule-promotion.js +5 -5
- package/dist/semantic-rule-verifier.js +5 -5
- package/dist/source-agent-qualifier.js +10 -10
- package/dist/storage.js +4 -4
- package/dist/support-passport/index.js +26 -26
- package/dist/tier-routing.js +3 -3
- package/dist/{tier-stats-7E6OBUSD.js → tier-stats-4B5IJ3NE.js} +4 -4
- package/dist/verified-recall.js +5 -5
- package/package.json +2 -2
- package/src/namespaces/catalog.ts +9 -9
- package/src/namespaces/identity.ts +15 -6
- package/src/namespaces/principal.test.ts +10 -1
- package/src/namespaces/principal.ts +17 -9
- package/src/namespaces/scope-profiles.ts +35 -13
- package/src/namespaces/storage.ts +63 -13
- package/src/namespaces/unicode-routing.test.ts +71 -0
- package/src/routing/engine.test.ts +30 -0
- package/src/routing/engine.ts +12 -3
- package/src/scopes/scope-plan.ts +8 -2
- package/src/storage-contract/namespace-routing.test.ts +18 -1
- package/dist/chunk-CMRUIKVA.js.map +0 -1
- package/dist/chunk-EGGE52UU.js.map +0 -1
- package/dist/chunk-IGWVMA4Y.js.map +0 -1
- package/dist/chunk-JFPZEWY3.js.map +0 -1
- package/dist/chunk-T6EQPZ6E.js.map +0 -1
- package/dist/chunk-U3PN77QT.js.map +0 -1
- /package/dist/{chunk-O54B5YNM.js.map → chunk-24PNX2GF.js.map} +0 -0
- /package/dist/{chunk-ONCWJBWV.js.map → chunk-3AJOJOFP.js.map} +0 -0
- /package/dist/{chunk-QSDPVZPD.js.map → chunk-4O6R3GPK.js.map} +0 -0
- /package/dist/{chunk-IXGQP4RZ.js.map → chunk-4SGDYYWV.js.map} +0 -0
- /package/dist/{chunk-UTDMY476.js.map → chunk-4UUF2EX3.js.map} +0 -0
- /package/dist/{chunk-S6AH7WSF.js.map → chunk-5PGYCWA7.js.map} +0 -0
- /package/dist/{chunk-7NSC4IVA.js.map → chunk-6RK2X7BR.js.map} +0 -0
- /package/dist/{chunk-VWP5DEHU.js.map → chunk-6SX4MY5Q.js.map} +0 -0
- /package/dist/{chunk-GUNIXT36.js.map → chunk-7BY7V4YX.js.map} +0 -0
- /package/dist/{chunk-R7UHWPYI.js.map → chunk-7PJARJS4.js.map} +0 -0
- /package/dist/{chunk-V3IT3XNG.js.map → chunk-7VSHDLJQ.js.map} +0 -0
- /package/dist/{chunk-SFCJCMZQ.js.map → chunk-A7266TRJ.js.map} +0 -0
- /package/dist/{chunk-4THNU7OF.js.map → chunk-AW4A4XOP.js.map} +0 -0
- /package/dist/{chunk-IFFW25NG.js.map → chunk-C5B3CIMJ.js.map} +0 -0
- /package/dist/{chunk-TF3LMM5E.js.map → chunk-CSV34HIW.js.map} +0 -0
- /package/dist/{chunk-FK7T55BA.js.map → chunk-CZUHNJHX.js.map} +0 -0
- /package/dist/{chunk-NFQB6RJT.js.map → chunk-D4OCJSLV.js.map} +0 -0
- /package/dist/{chunk-JKL53MOY.js.map → chunk-DLQQU4EG.js.map} +0 -0
- /package/dist/{chunk-CME347TM.js.map → chunk-DNC4A7RS.js.map} +0 -0
- /package/dist/{chunk-F2JRDPON.js.map → chunk-EGBDFJ36.js.map} +0 -0
- /package/dist/{chunk-TFXYQNBH.js.map → chunk-FI3PIOOI.js.map} +0 -0
- /package/dist/{chunk-CKSEJD7K.js.map → chunk-FKTD7IVS.js.map} +0 -0
- /package/dist/{chunk-FONW766A.js.map → chunk-GXIY65UH.js.map} +0 -0
- /package/dist/{chunk-2YREVL4T.js.map → chunk-HZC3OECF.js.map} +0 -0
- /package/dist/{chunk-X5OIPQME.js.map → chunk-HZNYJN77.js.map} +0 -0
- /package/dist/{chunk-LYPG7GOO.js.map → chunk-I2GIYTRU.js.map} +0 -0
- /package/dist/{chunk-FR3FNPCJ.js.map → chunk-IT57AOMC.js.map} +0 -0
- /package/dist/{chunk-KJH6W2I7.js.map → chunk-L3CHRBHE.js.map} +0 -0
- /package/dist/{chunk-PSH3VFZ7.js.map → chunk-L3LRWDJW.js.map} +0 -0
- /package/dist/{chunk-QZR3WT3L.js.map → chunk-LJJWFV2Q.js.map} +0 -0
- /package/dist/{chunk-TLVLJSWS.js.map → chunk-LRDP2AC2.js.map} +0 -0
- /package/dist/{chunk-QV7OEHFN.js.map → chunk-LTBKKSCX.js.map} +0 -0
- /package/dist/{chunk-6P2NUVM5.js.map → chunk-NEJQ65NV.js.map} +0 -0
- /package/dist/{chunk-7PKNOXYB.js.map → chunk-NTJ6TY44.js.map} +0 -0
- /package/dist/{chunk-HYVBJLEK.js.map → chunk-O5AFC5KM.js.map} +0 -0
- /package/dist/{chunk-N655QIA2.js.map → chunk-PEDYKCJI.js.map} +0 -0
- /package/dist/{chunk-4QFCAKNM.js.map → chunk-RUZM6Z52.js.map} +0 -0
- /package/dist/{chunk-O4TTIMOP.js.map → chunk-SFR7J2G6.js.map} +0 -0
- /package/dist/{chunk-ION47U3Z.js.map → chunk-SNW3YRO6.js.map} +0 -0
- /package/dist/{chunk-XL24QQ63.js.map → chunk-TBUEE7XF.js.map} +0 -0
- /package/dist/{chunk-TAPFJ3ET.js.map → chunk-U7XLOSG2.js.map} +0 -0
- /package/dist/{chunk-T3HC7RJ7.js.map → chunk-USAUBGBC.js.map} +0 -0
- /package/dist/{chunk-TAMY4NKO.js.map → chunk-USGKHF36.js.map} +0 -0
- /package/dist/{chunk-XRPPHIRI.js.map → chunk-VUDALPI5.js.map} +0 -0
- /package/dist/{chunk-HC55YCNK.js.map → chunk-VYIXCMUP.js.map} +0 -0
- /package/dist/{chunk-HQ2VGCGP.js.map → chunk-XBGLEOID.js.map} +0 -0
- /package/dist/{chunk-XX4HPFFM.js.map → chunk-XDL5CYZN.js.map} +0 -0
- /package/dist/{chunk-THACANBI.js.map → chunk-YOKSRIFI.js.map} +0 -0
- /package/dist/{chunk-BWJMBJCY.js.map → chunk-YTZA7U6Q.js.map} +0 -0
- /package/dist/{chunk-4KM3V6VS.js.map → chunk-ZN7SMKAK.js.map} +0 -0
- /package/dist/{contradiction-scan-522AYLQC.js.map → contradiction-scan-VOTQRRSX.js.map} +0 -0
- /package/dist/{first-start-migration-HZ4VPRFQ.js.map → first-start-migration-4NETATFF.js.map} +0 -0
- /package/dist/{graph-edge-decay-ZXGBXNPW.js.map → graph-edge-decay-A4SDFMMS.js.map} +0 -0
- /package/dist/{tier-stats-7E6OBUSD.js.map → tier-stats-4B5IJ3NE.js.map} +0 -0
|
@@ -4,14 +4,13 @@ import {
|
|
|
4
4
|
buildReconcileManifest,
|
|
5
5
|
buildReconcileManifestFile,
|
|
6
6
|
collapseActiveFactDuplicates
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-VUDALPI5.js";
|
|
8
|
+
import "../chunk-L3CHRBHE.js";
|
|
9
9
|
import "../chunk-J6A3CX5N.js";
|
|
10
10
|
import "../chunk-7RJUVTVF.js";
|
|
11
11
|
import "../chunk-NRFU5MVH.js";
|
|
12
12
|
import "../chunk-5FVVY2EB.js";
|
|
13
13
|
import "../chunk-FFAZ2XFU.js";
|
|
14
|
-
import "../chunk-EGGE52UU.js";
|
|
15
14
|
import "../chunk-JDSVLVCG.js";
|
|
16
15
|
import "../chunk-HBVPYRDW.js";
|
|
17
16
|
import "../chunk-5GKPFL3S.js";
|
|
@@ -22,6 +21,7 @@ import "../chunk-GCGJW34D.js";
|
|
|
22
21
|
import "../chunk-AREGMX2J.js";
|
|
23
22
|
import "../chunk-LC2BDILZ.js";
|
|
24
23
|
import "../chunk-P7FMDTKL.js";
|
|
24
|
+
import "../chunk-VUFL7X3H.js";
|
|
25
25
|
import "../chunk-XQ3HXAQH.js";
|
|
26
26
|
import "../chunk-A6XUJE5D.js";
|
|
27
27
|
import "../chunk-5UZXUTVO.js";
|
package/dist/reconcile/plan.js
CHANGED
|
@@ -3,8 +3,7 @@ import {
|
|
|
3
3
|
planNamespaceReconciliation,
|
|
4
4
|
planReconciliation,
|
|
5
5
|
summarizeReconcilePlan
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-EGGE52UU.js";
|
|
6
|
+
} from "../chunk-L3CHRBHE.js";
|
|
8
7
|
import "../chunk-HBVPYRDW.js";
|
|
9
8
|
import "../chunk-Z4N7SVVF.js";
|
|
10
9
|
import "../chunk-UI3NYK34.js";
|
|
@@ -12,6 +11,7 @@ import "../chunk-GCGJW34D.js";
|
|
|
12
11
|
import "../chunk-AREGMX2J.js";
|
|
13
12
|
import "../chunk-LC2BDILZ.js";
|
|
14
13
|
import "../chunk-P7FMDTKL.js";
|
|
14
|
+
import "../chunk-VUFL7X3H.js";
|
|
15
15
|
import "../chunk-XQ3HXAQH.js";
|
|
16
16
|
import "../chunk-A6XUJE5D.js";
|
|
17
17
|
import "../chunk-5UZXUTVO.js";
|
package/dist/routing/engine.js
CHANGED
package/dist/routing/store.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RoutingRulesStore
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-TBUEE7XF.js";
|
|
4
|
+
import "../chunk-PCXDUHQH.js";
|
|
5
|
+
import "../chunk-VUFL7X3H.js";
|
|
5
6
|
import "../chunk-3WCASNQZ.js";
|
|
6
7
|
import "../chunk-PZ5AY32C.js";
|
|
7
8
|
export {
|
|
@@ -7,17 +7,17 @@ import {
|
|
|
7
7
|
materializeAfterSemanticConsolidation,
|
|
8
8
|
parseConsolidationResponse,
|
|
9
9
|
parseOperatorAwareConsolidationResponse
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3AJOJOFP.js";
|
|
11
11
|
import {
|
|
12
12
|
resolveExtensionsRoot
|
|
13
13
|
} from "./chunk-JLNBQWZ2.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-VYIXCMUP.js";
|
|
15
15
|
import "./chunk-KSXJOC4F.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-YTZA7U6Q.js";
|
|
17
17
|
import "./chunk-UHVXE24Y.js";
|
|
18
18
|
import "./chunk-KHQ57QLJ.js";
|
|
19
19
|
import "./chunk-SXIMQLGV.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-SNW3YRO6.js";
|
|
21
21
|
import "./chunk-F7M36OG2.js";
|
|
22
22
|
import "./chunk-XL3TATMJ.js";
|
|
23
23
|
import "./chunk-VANZKHTN.js";
|
|
@@ -92,13 +92,13 @@ import "./chunk-2LWQSV6A.js";
|
|
|
92
92
|
import "./chunk-RL6NEVXT.js";
|
|
93
93
|
import "./chunk-5FVVY2EB.js";
|
|
94
94
|
import "./chunk-FFAZ2XFU.js";
|
|
95
|
-
import "./chunk-
|
|
96
|
-
import "./chunk-EGGE52UU.js";
|
|
95
|
+
import "./chunk-XDL5CYZN.js";
|
|
97
96
|
import "./chunk-JDSVLVCG.js";
|
|
98
97
|
import "./chunk-5GKPFL3S.js";
|
|
99
98
|
import "./chunk-JAKIDQB2.js";
|
|
100
99
|
import "./chunk-P7FMDTKL.js";
|
|
101
|
-
import "./chunk-
|
|
100
|
+
import "./chunk-PCXDUHQH.js";
|
|
101
|
+
import "./chunk-VUFL7X3H.js";
|
|
102
102
|
import "./chunk-JUOZ62Y7.js";
|
|
103
103
|
import "./chunk-O75CRYGF.js";
|
|
104
104
|
import "./chunk-EYIEWJNI.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
promoteSemanticRuleFromMemory,
|
|
3
3
|
setSemanticRulePromotionTestHooks
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-I2GIYTRU.js";
|
|
5
|
+
import "./chunk-YTZA7U6Q.js";
|
|
6
6
|
import "./chunk-UHVXE24Y.js";
|
|
7
7
|
import "./chunk-KHQ57QLJ.js";
|
|
8
8
|
import "./chunk-SXIMQLGV.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-SNW3YRO6.js";
|
|
10
10
|
import "./chunk-F7M36OG2.js";
|
|
11
11
|
import "./chunk-XL3TATMJ.js";
|
|
12
12
|
import "./chunk-VANZKHTN.js";
|
|
@@ -75,12 +75,12 @@ import "./chunk-2LWQSV6A.js";
|
|
|
75
75
|
import "./chunk-RL6NEVXT.js";
|
|
76
76
|
import "./chunk-5FVVY2EB.js";
|
|
77
77
|
import "./chunk-FFAZ2XFU.js";
|
|
78
|
-
import "./chunk-
|
|
79
|
-
import "./chunk-EGGE52UU.js";
|
|
78
|
+
import "./chunk-XDL5CYZN.js";
|
|
80
79
|
import "./chunk-JDSVLVCG.js";
|
|
81
80
|
import "./chunk-5GKPFL3S.js";
|
|
82
81
|
import "./chunk-JAKIDQB2.js";
|
|
83
82
|
import "./chunk-P7FMDTKL.js";
|
|
83
|
+
import "./chunk-VUFL7X3H.js";
|
|
84
84
|
import "./chunk-JUOZ62Y7.js";
|
|
85
85
|
import "./chunk-O75CRYGF.js";
|
|
86
86
|
import "./chunk-EYIEWJNI.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareVerifiedSemanticRuleResults,
|
|
3
3
|
searchVerifiedSemanticRules
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-USGKHF36.js";
|
|
5
|
+
import "./chunk-YTZA7U6Q.js";
|
|
6
6
|
import "./chunk-UHVXE24Y.js";
|
|
7
7
|
import "./chunk-KHQ57QLJ.js";
|
|
8
8
|
import "./chunk-SXIMQLGV.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-SNW3YRO6.js";
|
|
10
10
|
import "./chunk-F7M36OG2.js";
|
|
11
11
|
import "./chunk-XL3TATMJ.js";
|
|
12
12
|
import "./chunk-VANZKHTN.js";
|
|
@@ -76,12 +76,12 @@ import "./chunk-2LWQSV6A.js";
|
|
|
76
76
|
import "./chunk-RL6NEVXT.js";
|
|
77
77
|
import "./chunk-5FVVY2EB.js";
|
|
78
78
|
import "./chunk-FFAZ2XFU.js";
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-EGGE52UU.js";
|
|
79
|
+
import "./chunk-XDL5CYZN.js";
|
|
81
80
|
import "./chunk-JDSVLVCG.js";
|
|
82
81
|
import "./chunk-5GKPFL3S.js";
|
|
83
82
|
import "./chunk-JAKIDQB2.js";
|
|
84
83
|
import "./chunk-P7FMDTKL.js";
|
|
84
|
+
import "./chunk-VUFL7X3H.js";
|
|
85
85
|
import "./chunk-JUOZ62Y7.js";
|
|
86
86
|
import "./chunk-O75CRYGF.js";
|
|
87
87
|
import "./chunk-EYIEWJNI.js";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
headerConnector,
|
|
4
4
|
renderExtractionConversation,
|
|
5
5
|
resolveSourceConnector
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-A7266TRJ.js";
|
|
7
7
|
import "./chunk-L4DLLKPN.js";
|
|
8
8
|
import "./chunk-4POAMKV6.js";
|
|
9
9
|
import "./chunk-WAS4HV46.js";
|
|
@@ -11,16 +11,16 @@ import "./chunk-VEWZZM3H.js";
|
|
|
11
11
|
import "./chunk-4OW2T32G.js";
|
|
12
12
|
import "./chunk-ANMIOQPU.js";
|
|
13
13
|
import "./chunk-EMDLM3LW.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-4UUF2EX3.js";
|
|
15
15
|
import "./chunk-PD6O7AXF.js";
|
|
16
16
|
import "./chunk-OD4FM2U7.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-VYIXCMUP.js";
|
|
18
18
|
import "./chunk-KSXJOC4F.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-YTZA7U6Q.js";
|
|
20
20
|
import "./chunk-UHVXE24Y.js";
|
|
21
21
|
import "./chunk-KHQ57QLJ.js";
|
|
22
22
|
import "./chunk-SXIMQLGV.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-SNW3YRO6.js";
|
|
24
24
|
import "./chunk-F7M36OG2.js";
|
|
25
25
|
import "./chunk-XL3TATMJ.js";
|
|
26
26
|
import "./chunk-VANZKHTN.js";
|
|
@@ -81,7 +81,7 @@ import "./chunk-TBBDFYXW.js";
|
|
|
81
81
|
import "./chunk-BJMBJZ2Y.js";
|
|
82
82
|
import "./chunk-UKJAGEXH.js";
|
|
83
83
|
import "./chunk-FP2373TW.js";
|
|
84
|
-
import "./chunk-
|
|
84
|
+
import "./chunk-KCT36JAW.js";
|
|
85
85
|
import "./chunk-J6A3CX5N.js";
|
|
86
86
|
import "./chunk-DVYRD4HY.js";
|
|
87
87
|
import "./chunk-ZA53AZND.js";
|
|
@@ -92,15 +92,15 @@ import "./chunk-2LWQSV6A.js";
|
|
|
92
92
|
import "./chunk-RL6NEVXT.js";
|
|
93
93
|
import "./chunk-5FVVY2EB.js";
|
|
94
94
|
import "./chunk-FFAZ2XFU.js";
|
|
95
|
-
import "./chunk-
|
|
96
|
-
import "./chunk-EGGE52UU.js";
|
|
95
|
+
import "./chunk-XDL5CYZN.js";
|
|
97
96
|
import "./chunk-JDSVLVCG.js";
|
|
98
97
|
import "./chunk-5GKPFL3S.js";
|
|
99
98
|
import "./chunk-JAKIDQB2.js";
|
|
100
99
|
import "./chunk-P7FMDTKL.js";
|
|
101
100
|
import "./chunk-MZWSOLMT.js";
|
|
102
|
-
import "./chunk-
|
|
103
|
-
import "./chunk-
|
|
101
|
+
import "./chunk-MRV7VSQK.js";
|
|
102
|
+
import "./chunk-PCXDUHQH.js";
|
|
103
|
+
import "./chunk-VUFL7X3H.js";
|
|
104
104
|
import "./chunk-JUOZ62Y7.js";
|
|
105
105
|
import "./chunk-J2WC5LF4.js";
|
|
106
106
|
import "./chunk-O75CRYGF.js";
|
package/dist/storage.js
CHANGED
|
@@ -13,11 +13,11 @@ import {
|
|
|
13
13
|
parseFrontmatter,
|
|
14
14
|
parseFrontmatterStringValue,
|
|
15
15
|
serializeEntityFile
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-YTZA7U6Q.js";
|
|
17
17
|
import "./chunk-UHVXE24Y.js";
|
|
18
18
|
import "./chunk-KHQ57QLJ.js";
|
|
19
19
|
import "./chunk-SXIMQLGV.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-SNW3YRO6.js";
|
|
21
21
|
import "./chunk-F7M36OG2.js";
|
|
22
22
|
import "./chunk-XL3TATMJ.js";
|
|
23
23
|
import "./chunk-VANZKHTN.js";
|
|
@@ -91,8 +91,7 @@ import "./chunk-2LWQSV6A.js";
|
|
|
91
91
|
import "./chunk-RL6NEVXT.js";
|
|
92
92
|
import "./chunk-5FVVY2EB.js";
|
|
93
93
|
import "./chunk-FFAZ2XFU.js";
|
|
94
|
-
import "./chunk-
|
|
95
|
-
import "./chunk-EGGE52UU.js";
|
|
94
|
+
import "./chunk-XDL5CYZN.js";
|
|
96
95
|
import {
|
|
97
96
|
normalizeAttributePairs,
|
|
98
97
|
stripAttributesSuffix
|
|
@@ -100,6 +99,7 @@ import {
|
|
|
100
99
|
import "./chunk-5GKPFL3S.js";
|
|
101
100
|
import "./chunk-JAKIDQB2.js";
|
|
102
101
|
import "./chunk-P7FMDTKL.js";
|
|
102
|
+
import "./chunk-VUFL7X3H.js";
|
|
103
103
|
import "./chunk-JUOZ62Y7.js";
|
|
104
104
|
import "./chunk-O75CRYGF.js";
|
|
105
105
|
import "./chunk-EYIEWJNI.js";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
SUPPORT_PASSPORT_MODEL_RESULT_PATH,
|
|
5
5
|
SupportPassportModelBridge,
|
|
6
6
|
parseSupportPassportModelJob
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-U7XLOSG2.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_SUPPORT_PASSPORT_CONFIG,
|
|
10
10
|
parseSupportPassportConfig
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
buildSupportPassportPublicRequestHandler,
|
|
15
15
|
composeSupportPassportExternalRequestHandlers,
|
|
16
16
|
normalizeSupportPassportNetworkAddress
|
|
17
|
-
} from "../chunk-
|
|
18
|
-
import "../chunk-
|
|
17
|
+
} from "../chunk-LRDP2AC2.js";
|
|
18
|
+
import "../chunk-7PJARJS4.js";
|
|
19
19
|
import {
|
|
20
20
|
SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
|
|
21
21
|
SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
notifySupportPassportCommitted,
|
|
57
57
|
resolveSupportPassportModelRoutePlan,
|
|
58
58
|
syncDirectoryForDurability
|
|
59
|
-
} from "../chunk-
|
|
59
|
+
} from "../chunk-CZUHNJHX.js";
|
|
60
60
|
import "../chunk-GDASG7NC.js";
|
|
61
61
|
import "../chunk-GDB4J2H3.js";
|
|
62
62
|
import "../chunk-PPUTUOC3.js";
|
|
@@ -71,7 +71,7 @@ import "../chunk-H7XKCNR6.js";
|
|
|
71
71
|
import "../chunk-U7BMN33M.js";
|
|
72
72
|
import "../chunk-SOBJ6NEY.js";
|
|
73
73
|
import "../chunk-QKPDN325.js";
|
|
74
|
-
import "../chunk-
|
|
74
|
+
import "../chunk-5PGYCWA7.js";
|
|
75
75
|
import "../chunk-CVILPI77.js";
|
|
76
76
|
import "../chunk-2HIJHXB3.js";
|
|
77
77
|
import "../chunk-AQEJKOKI.js";
|
|
@@ -89,31 +89,31 @@ import "../chunk-WKDFJXW5.js";
|
|
|
89
89
|
import "../chunk-JUXOTY6J.js";
|
|
90
90
|
import "../chunk-QDW3E4RD.js";
|
|
91
91
|
import "../chunk-LTHVM4XN.js";
|
|
92
|
-
import "../chunk-
|
|
92
|
+
import "../chunk-DLQQU4EG.js";
|
|
93
93
|
import "../chunk-7ZNJN5WZ.js";
|
|
94
94
|
import "../chunk-C37ZRXX7.js";
|
|
95
|
-
import "../chunk-
|
|
96
|
-
import "../chunk-
|
|
97
|
-
import "../chunk-
|
|
98
|
-
import "../chunk-
|
|
95
|
+
import "../chunk-6RK2X7BR.js";
|
|
96
|
+
import "../chunk-LJJWFV2Q.js";
|
|
97
|
+
import "../chunk-L3LRWDJW.js";
|
|
98
|
+
import "../chunk-LIF6DO6U.js";
|
|
99
99
|
import "../chunk-UFGFMWAD.js";
|
|
100
100
|
import "../chunk-YMOPYG3K.js";
|
|
101
101
|
import "../chunk-2LSZVONP.js";
|
|
102
102
|
import "../chunk-DEUNUKTD.js";
|
|
103
103
|
import "../chunk-LXY5VVGM.js";
|
|
104
|
-
import "../chunk-
|
|
104
|
+
import "../chunk-4UUF2EX3.js";
|
|
105
105
|
import "../chunk-PD6O7AXF.js";
|
|
106
106
|
import "../chunk-OD4FM2U7.js";
|
|
107
107
|
import "../chunk-ZY2MNJR6.js";
|
|
108
|
-
import "../chunk-
|
|
108
|
+
import "../chunk-VYIXCMUP.js";
|
|
109
109
|
import "../chunk-KSXJOC4F.js";
|
|
110
110
|
import "../chunk-HXXGZ4KV.js";
|
|
111
|
-
import "../chunk-
|
|
112
|
-
import "../chunk-
|
|
111
|
+
import "../chunk-CSV34HIW.js";
|
|
112
|
+
import "../chunk-YTZA7U6Q.js";
|
|
113
113
|
import "../chunk-UHVXE24Y.js";
|
|
114
114
|
import "../chunk-KHQ57QLJ.js";
|
|
115
115
|
import "../chunk-SXIMQLGV.js";
|
|
116
|
-
import "../chunk-
|
|
116
|
+
import "../chunk-SNW3YRO6.js";
|
|
117
117
|
import "../chunk-F7M36OG2.js";
|
|
118
118
|
import "../chunk-XL3TATMJ.js";
|
|
119
119
|
import "../chunk-VANZKHTN.js";
|
|
@@ -190,15 +190,15 @@ import "../chunk-I4WBNM3M.js";
|
|
|
190
190
|
import "../chunk-SOAU2OE2.js";
|
|
191
191
|
import "../chunk-3QL24R5Y.js";
|
|
192
192
|
import "../chunk-SYOIVK7K.js";
|
|
193
|
-
import "../chunk-
|
|
193
|
+
import "../chunk-ZN7SMKAK.js";
|
|
194
194
|
import "../chunk-LNEWDF2A.js";
|
|
195
|
-
import "../chunk-
|
|
196
|
-
import "../chunk-
|
|
197
|
-
import "../chunk-
|
|
198
|
-
import "../chunk-
|
|
199
|
-
import "../chunk-
|
|
195
|
+
import "../chunk-4SGDYYWV.js";
|
|
196
|
+
import "../chunk-VUDALPI5.js";
|
|
197
|
+
import "../chunk-L3CHRBHE.js";
|
|
198
|
+
import "../chunk-HZNYJN77.js";
|
|
199
|
+
import "../chunk-Q57GOHLF.js";
|
|
200
200
|
import "../chunk-AW4QUFQF.js";
|
|
201
|
-
import "../chunk-
|
|
201
|
+
import "../chunk-KCT36JAW.js";
|
|
202
202
|
import "../chunk-J6A3CX5N.js";
|
|
203
203
|
import "../chunk-DVYRD4HY.js";
|
|
204
204
|
import "../chunk-ZA53AZND.js";
|
|
@@ -238,8 +238,7 @@ import {
|
|
|
238
238
|
hasLiveSupportPassportCard,
|
|
239
239
|
isSupportPassportPrivateMemory,
|
|
240
240
|
projectSupportPassportCard
|
|
241
|
-
} from "../chunk-
|
|
242
|
-
import "../chunk-EGGE52UU.js";
|
|
241
|
+
} from "../chunk-XDL5CYZN.js";
|
|
243
242
|
import "../chunk-JDSVLVCG.js";
|
|
244
243
|
import "../chunk-HBVPYRDW.js";
|
|
245
244
|
import "../chunk-5GKPFL3S.js";
|
|
@@ -251,8 +250,9 @@ import "../chunk-AREGMX2J.js";
|
|
|
251
250
|
import "../chunk-LC2BDILZ.js";
|
|
252
251
|
import "../chunk-P7FMDTKL.js";
|
|
253
252
|
import "../chunk-MZWSOLMT.js";
|
|
254
|
-
import "../chunk-
|
|
255
|
-
import "../chunk-
|
|
253
|
+
import "../chunk-MRV7VSQK.js";
|
|
254
|
+
import "../chunk-PCXDUHQH.js";
|
|
255
|
+
import "../chunk-VUFL7X3H.js";
|
|
256
256
|
import "../chunk-JUOZ62Y7.js";
|
|
257
257
|
import "../chunk-VFUEZZBS.js";
|
|
258
258
|
import "../chunk-773TRRGT.js";
|
package/dist/tier-routing.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computeTierValueScore,
|
|
3
3
|
decideTierTransition
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EGBDFJ36.js";
|
|
5
5
|
import "./chunk-TBBDFYXW.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-EGGE52UU.js";
|
|
6
|
+
import "./chunk-XDL5CYZN.js";
|
|
8
7
|
import "./chunk-JDSVLVCG.js";
|
|
9
8
|
import "./chunk-5GKPFL3S.js";
|
|
10
9
|
import "./chunk-JAKIDQB2.js";
|
|
11
10
|
import "./chunk-P7FMDTKL.js";
|
|
11
|
+
import "./chunk-VUFL7X3H.js";
|
|
12
12
|
import "./chunk-PZ5AY32C.js";
|
|
13
13
|
export {
|
|
14
14
|
computeTierValueScore,
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
computeTierValueScore,
|
|
7
7
|
decideTierTransition
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-EGBDFJ36.js";
|
|
9
9
|
import "./chunk-HDQUQBPW.js";
|
|
10
10
|
import "./chunk-6FC3IZ26.js";
|
|
11
11
|
import {
|
|
12
12
|
computeLifecycleValueInputs
|
|
13
13
|
} from "./chunk-TBBDFYXW.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-EGGE52UU.js";
|
|
14
|
+
import "./chunk-XDL5CYZN.js";
|
|
16
15
|
import "./chunk-JDSVLVCG.js";
|
|
17
16
|
import "./chunk-5GKPFL3S.js";
|
|
18
17
|
import "./chunk-JAKIDQB2.js";
|
|
19
18
|
import "./chunk-P7FMDTKL.js";
|
|
19
|
+
import "./chunk-VUFL7X3H.js";
|
|
20
20
|
import {
|
|
21
21
|
resolveQmdCapabilities,
|
|
22
22
|
resolveUtilityLearningCapabilities
|
|
@@ -159,4 +159,4 @@ export {
|
|
|
159
159
|
formatTierSummaryText,
|
|
160
160
|
summarizeTiers
|
|
161
161
|
};
|
|
162
|
-
//# sourceMappingURL=tier-stats-
|
|
162
|
+
//# sourceMappingURL=tier-stats-4B5IJ3NE.js.map
|
package/dist/verified-recall.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareVerifiedEpisodeResults,
|
|
3
3
|
searchVerifiedEpisodes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-GXIY65UH.js";
|
|
5
5
|
import "./chunk-B7RWBZXW.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-YTZA7U6Q.js";
|
|
7
7
|
import "./chunk-UHVXE24Y.js";
|
|
8
8
|
import "./chunk-KHQ57QLJ.js";
|
|
9
9
|
import "./chunk-SXIMQLGV.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-SNW3YRO6.js";
|
|
11
11
|
import "./chunk-F7M36OG2.js";
|
|
12
12
|
import "./chunk-XL3TATMJ.js";
|
|
13
13
|
import "./chunk-VANZKHTN.js";
|
|
@@ -77,12 +77,12 @@ import "./chunk-2LWQSV6A.js";
|
|
|
77
77
|
import "./chunk-RL6NEVXT.js";
|
|
78
78
|
import "./chunk-5FVVY2EB.js";
|
|
79
79
|
import "./chunk-FFAZ2XFU.js";
|
|
80
|
-
import "./chunk-
|
|
81
|
-
import "./chunk-EGGE52UU.js";
|
|
80
|
+
import "./chunk-XDL5CYZN.js";
|
|
82
81
|
import "./chunk-JDSVLVCG.js";
|
|
83
82
|
import "./chunk-5GKPFL3S.js";
|
|
84
83
|
import "./chunk-JAKIDQB2.js";
|
|
85
84
|
import "./chunk-P7FMDTKL.js";
|
|
85
|
+
import "./chunk-VUFL7X3H.js";
|
|
86
86
|
import "./chunk-JUOZ62Y7.js";
|
|
87
87
|
import "./chunk-O75CRYGF.js";
|
|
88
88
|
import "./chunk-EYIEWJNI.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.57.
|
|
3
|
+
"version": "9.57.5",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3136,7 +3136,7 @@
|
|
|
3136
3136
|
"core"
|
|
3137
3137
|
],
|
|
3138
3138
|
"peerDependencies": {
|
|
3139
|
-
"@remnic/coding-graph": "^9.57.
|
|
3139
|
+
"@remnic/coding-graph": "^9.57.5"
|
|
3140
3140
|
},
|
|
3141
3141
|
"peerDependenciesMeta": {
|
|
3142
3142
|
"@remnic/coding-graph": {
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
withHeldFileLock,
|
|
20
20
|
} from "../utils/serialize-mutations.js";
|
|
21
21
|
import { isSafeRouteNamespace } from "../routing/engine.js";
|
|
22
|
-
import { namespaceIdentityFromToken, namespaceIdentityToken, normalizeNamespaceIdentity } from "./identity.js";
|
|
22
|
+
import { namespaceIdentityFromToken, namespaceIdentityLegacyToken, namespaceIdentityToken, normalizeNamespaceIdentity } from "./identity.js";
|
|
23
23
|
import { resolveDefaultNamespaceRoot, resolveNamespaceStorageRoot } from "./storage.js";
|
|
24
24
|
import { ALL_CATEGORY_DIRS } from "../utils/category-dir.js";
|
|
25
25
|
|
|
@@ -1721,8 +1721,7 @@ export class NamespaceCatalog {
|
|
|
1721
1721
|
// sourced from their tokenized dir so a later legacy-named `readdir` entry
|
|
1722
1722
|
// cannot overwrite the tokenized record (and vice-versa: a tokenized entry
|
|
1723
1723
|
// always wins over a previously-set legacy one).
|
|
1724
|
-
const scannedFromTokenized = new
|
|
1725
|
-
|
|
1724
|
+
const scannedFromTokenized = new Map<string, number>();
|
|
1726
1725
|
for (const entry of entries) {
|
|
1727
1726
|
const token = entry.name;
|
|
1728
1727
|
const fullPath = path.join(namespacesDir, token);
|
|
@@ -1798,7 +1797,7 @@ export class NamespaceCatalog {
|
|
|
1798
1797
|
const tokenDecoded = literalOwnsRoot ? null : namespaceIdentityFromToken(token);
|
|
1799
1798
|
const rawDecoded = tokenDecoded && tokenDecoded.length > 0 ? tokenDecoded : token;
|
|
1800
1799
|
const decoded = normalizeNamespaceIdentity(rawDecoded);
|
|
1801
|
-
if (decoded.length === 0 || rawDecoded !== decoded) {
|
|
1800
|
+
if (decoded.length === 0 || (rawDecoded !== decoded && rawDecoded.normalize("NFC") !== decoded)) {
|
|
1802
1801
|
skipped.push({ token, reason: "unsafe", detail: rawDecoded });
|
|
1803
1802
|
continue;
|
|
1804
1803
|
}
|
|
@@ -1841,11 +1840,12 @@ export class NamespaceCatalog {
|
|
|
1841
1840
|
// is the on-disk dir name; it is the tokenized dir iff it equals the
|
|
1842
1841
|
// namespace's identity token. If we already recorded this namespace from
|
|
1843
1842
|
// its tokenized dir, a later legacy-named entry must not clobber it.
|
|
1844
|
-
const
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
if (
|
|
1843
|
+
const canonicalToken = namespaceIdentityToken(decoded);
|
|
1844
|
+
const legacyToken = namespaceIdentityLegacyToken(decoded.normalize("NFD"));
|
|
1845
|
+
const tokenKind = token === canonicalToken ? 2 : token === legacyToken ? 1 : 0;
|
|
1846
|
+
const priorTokenKind = scannedFromTokenized.get(decoded) ?? 0;
|
|
1847
|
+
if (rebuilt.has(decoded) && priorTokenKind > tokenKind) continue;
|
|
1848
|
+
if (tokenKind > 0) scannedFromTokenized.set(decoded, tokenKind);
|
|
1849
1849
|
|
|
1850
1850
|
const prior = existing.get(decoded);
|
|
1851
1851
|
rebuilt.set(
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
export function normalizeNamespaceIdentity(namespace: string | null | undefined): string {
|
|
2
|
-
return namespace?.trim() ?? "";
|
|
2
|
+
return namespace?.trim().normalize("NFC") ?? "";
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const bytes = new TextEncoder().encode(normalized);
|
|
5
|
+
function encodeNamespaceIdentityToken(namespace: string): string {
|
|
6
|
+
const bytes = new TextEncoder().encode(namespace);
|
|
8
7
|
const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
9
8
|
return `ns-${hex || "default"}`;
|
|
10
9
|
}
|
|
11
10
|
|
|
11
|
+
export function namespaceIdentityToken(namespace: string): string {
|
|
12
|
+
return encodeNamespaceIdentityToken(normalizeNamespaceIdentity(namespace));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function namespaceIdentityLegacyToken(namespace: string): string {
|
|
16
|
+
return encodeNamespaceIdentityToken(namespace.trim());
|
|
17
|
+
}
|
|
18
|
+
|
|
12
19
|
export function namespaceIdentityFromToken(token: string): string | null {
|
|
13
20
|
if (!token.startsWith("ns-")) return null;
|
|
14
21
|
const hex = token.slice(3);
|
|
@@ -17,7 +24,9 @@ export function namespaceIdentityFromToken(token: string): string | null {
|
|
|
17
24
|
return null;
|
|
18
25
|
}
|
|
19
26
|
const decoded = Buffer.from(hex, "hex").toString("utf8");
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
const normalized = normalizeNamespaceIdentity(decoded);
|
|
28
|
+
return namespaceIdentityToken(decoded).toLowerCase() === token.toLowerCase() ||
|
|
29
|
+
namespaceIdentityLegacyToken(decoded).toLowerCase() === token.toLowerCase()
|
|
30
|
+
? normalized
|
|
22
31
|
: null;
|
|
23
32
|
}
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
import assert from "node:assert/strict";
|
|
13
13
|
import test from "node:test";
|
|
14
14
|
|
|
15
|
-
import { canReadNamespace, isNamespacePolicyCovered, resolvePrincipal } from "./principal.js";
|
|
16
15
|
import type { PluginConfig } from "../types.js";
|
|
16
|
+
import { canReadNamespace, canWriteNamespace, isNamespacePolicyCovered, resolvePrincipal } from "./principal.js";
|
|
17
17
|
|
|
18
18
|
// ──────────────────────────────────────────────────────────────────────────
|
|
19
19
|
// Helpers
|
|
@@ -285,3 +285,12 @@ test("isNamespacePolicyCovered: an explicit default-namespace policy overrides t
|
|
|
285
285
|
const grantedDefault = makeConfig(true, [{ name: "default", readPrincipals: [], writePrincipals: ["alice"] }]);
|
|
286
286
|
assert.equal(isNamespacePolicyCovered("default", grantedDefault), true);
|
|
287
287
|
});
|
|
288
|
+
|
|
289
|
+
test("namespace ACL matches canonically equivalent Unicode identities", () => {
|
|
290
|
+
const config = makeConfig(true, [
|
|
291
|
+
{ name: "Cafe\u0301", readPrincipals: ["reader"], writePrincipals: ["writer"] },
|
|
292
|
+
]);
|
|
293
|
+
|
|
294
|
+
assert.equal(canReadNamespace("reader", "Café", config), true);
|
|
295
|
+
assert.equal(canWriteNamespace("writer", "Café", config), true);
|
|
296
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { resolveNamespaceCapabilities } from "../capabilities.js";
|
|
2
2
|
import type { PluginConfig } from "../types.js";
|
|
3
3
|
import { isLikelyUnsafeRegex } from "../routing/engine.js";
|
|
4
|
-
|
|
4
|
+
import { normalizeNamespaceIdentity } from "./identity.js";
|
|
5
5
|
const MAX_REGEX_SESSION_KEY_LENGTH = 512;
|
|
6
6
|
|
|
7
7
|
function compileSafePrincipalRegex(pattern: string): RegExp | null {
|
|
@@ -54,16 +54,21 @@ export function resolvePrincipal(sessionKey: string | undefined, config: PluginC
|
|
|
54
54
|
export function canReadNamespace(principal: string | undefined, namespace: string, config: PluginConfig): boolean {
|
|
55
55
|
if (!resolveNamespaceCapabilities(config).namespaces) return true;
|
|
56
56
|
if (!principal) return false;
|
|
57
|
-
const
|
|
58
|
-
|
|
57
|
+
const identity = normalizeNamespaceIdentity(namespace);
|
|
58
|
+
const policy = config.namespacePolicies.find((p) => normalizeNamespaceIdentity(p.name) === identity);
|
|
59
|
+
if (!policy) {
|
|
60
|
+
return identity === normalizeNamespaceIdentity(config.defaultNamespace) ||
|
|
61
|
+
identity === normalizeNamespaceIdentity(config.sharedNamespace);
|
|
62
|
+
}
|
|
59
63
|
return policy.readPrincipals.includes(principal) || policy.readPrincipals.includes("*");
|
|
60
64
|
}
|
|
61
65
|
|
|
62
66
|
export function canWriteNamespace(principal: string | undefined, namespace: string, config: PluginConfig): boolean {
|
|
63
67
|
if (!resolveNamespaceCapabilities(config).namespaces) return true;
|
|
64
68
|
if (!principal) return false;
|
|
65
|
-
const
|
|
66
|
-
|
|
69
|
+
const identity = normalizeNamespaceIdentity(namespace);
|
|
70
|
+
const policy = config.namespacePolicies.find((p) => normalizeNamespaceIdentity(p.name) === identity);
|
|
71
|
+
if (!policy) return identity === normalizeNamespaceIdentity(config.defaultNamespace);
|
|
67
72
|
return policy.writePrincipals.includes(principal) || policy.writePrincipals.includes("*");
|
|
68
73
|
}
|
|
69
74
|
|
|
@@ -87,8 +92,9 @@ export function isNamespacePolicyCovered(namespace: string, config: PluginConfig
|
|
|
87
92
|
// An explicit policy wins over the default fallback (exactly as
|
|
88
93
|
// canWriteNamespace), so a policy naming the default with no writers is NOT
|
|
89
94
|
// covered. Only fall back to defaultNamespace when no policy matches.
|
|
90
|
-
const
|
|
91
|
-
|
|
95
|
+
const identity = normalizeNamespaceIdentity(namespace);
|
|
96
|
+
const policy = config.namespacePolicies.find((p) => normalizeNamespaceIdentity(p.name) === identity);
|
|
97
|
+
if (!policy) return identity === normalizeNamespaceIdentity(config.defaultNamespace);
|
|
92
98
|
return policy.writePrincipals.some((w) => w.trim().length > 0);
|
|
93
99
|
}
|
|
94
100
|
|
|
@@ -102,8 +108,10 @@ export function isNamespacePolicyCovered(namespace: string, config: PluginConfig
|
|
|
102
108
|
export function defaultNamespaceForPrincipal(principal: string | undefined, config: PluginConfig): string {
|
|
103
109
|
if (!resolveNamespaceCapabilities(config).namespaces) return config.defaultNamespace;
|
|
104
110
|
if (!principal) return config.defaultNamespace;
|
|
105
|
-
const
|
|
106
|
-
|
|
111
|
+
const policy = config.namespacePolicies.find(
|
|
112
|
+
(p) => normalizeNamespaceIdentity(p.name) === normalizeNamespaceIdentity(principal),
|
|
113
|
+
);
|
|
114
|
+
return policy ? normalizeNamespaceIdentity(policy.name) : config.defaultNamespace;
|
|
107
115
|
}
|
|
108
116
|
|
|
109
117
|
export function recallNamespacesForPrincipal(principal: string | undefined, config: PluginConfig): string[] {
|