@remnic/core 9.69.0 → 9.69.1
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.d.ts +1 -1
- package/dist/access-admin-ops-surface.js +19 -19
- package/dist/access-authorization-probe.d.ts +1 -1
- package/dist/access-authorization-probe.js +20 -20
- package/dist/access-boundary.d.ts +1 -1
- package/dist/access-boundary.js +19 -19
- package/dist/access-cli.js +65 -65
- package/dist/access-extraction-force-flush.d.ts +1 -1
- package/dist/access-extraction-force-flush.js +19 -19
- package/dist/access-http-lcm-compaction.d.ts +1 -1
- package/dist/access-http-lifecycle-flush.d.ts +1 -1
- package/dist/access-http-offline-stream.d.ts +1 -1
- package/dist/access-http-query.js +21 -21
- package/dist/access-http.d.ts +2 -2
- package/dist/access-http.js +33 -33
- package/dist/access-identity-continuity-surface.js +19 -19
- package/dist/access-lcm-surface.d.ts +1 -1
- package/dist/access-lcm-surface.js +19 -19
- package/dist/access-mcp.d.ts +1 -1
- package/dist/access-mcp.js +26 -26
- package/dist/access-namespace-preflight.js +19 -19
- package/dist/access-observe-write-surface.d.ts +1 -1
- package/dist/access-observe-write-surface.js +19 -19
- package/dist/access-operations-batch.js +20 -20
- package/dist/access-operations.d.ts +2 -2
- package/dist/access-operations.js +25 -25
- package/dist/access-recall-concurrency.d.ts +1 -1
- package/dist/access-recall-concurrency.js +19 -19
- package/dist/access-recall-response.d.ts +1 -1
- package/dist/access-recall-response.js +19 -19
- package/dist/access-recall-surface.d.ts +1 -1
- package/dist/access-recall-surface.js +19 -19
- package/dist/access-service-helpers.d.ts +1 -1
- package/dist/access-service.d.ts +1 -1
- package/dist/access-service.js +19 -19
- package/dist/access-surface-catalog.d.ts +1 -1
- package/dist/access-surface-catalog.js +21 -21
- package/dist/briefing.js +10 -10
- package/dist/causal-consolidation.js +11 -11
- package/dist/{chunk-KAY2C6VX.js → chunk-2D7S3FZW.js} +2 -2
- package/dist/{chunk-BZ26443Y.js → chunk-2FEBD4LN.js} +89 -41
- package/dist/chunk-2FEBD4LN.js.map +1 -0
- package/dist/{chunk-HDQQRRCZ.js → chunk-5DSPAWXQ.js} +3 -3
- package/dist/{chunk-VLSUKXCJ.js → chunk-5JUSOMNO.js} +3 -3
- package/dist/{chunk-P342D5BP.js → chunk-626ILV6J.js} +2 -2
- package/dist/{chunk-I6T4SYFW.js → chunk-63Z7D2YJ.js} +3 -3
- package/dist/{chunk-XW3G4BJI.js → chunk-6DPAZEGK.js} +7 -7
- package/dist/{chunk-XPDWNWH6.js → chunk-6LIILOP3.js} +3 -3
- package/dist/{chunk-3IRH5MYM.js → chunk-6OX6SNRC.js} +5 -5
- package/dist/{chunk-FOT5GP2U.js → chunk-73CA45TG.js} +2 -2
- package/dist/{chunk-2MHMHF76.js → chunk-7GFLU63V.js} +2 -2
- package/dist/{chunk-A7NMS5II.js → chunk-7HAZ6GZE.js} +3 -3
- package/dist/{chunk-X2NFFBTO.js → chunk-A7GQBJP5.js} +4 -4
- package/dist/{chunk-7KG5V4VV.js → chunk-BZFHCRO6.js} +2 -2
- package/dist/{chunk-4PEZMGZD.js → chunk-CUQI6DR3.js} +2 -2
- package/dist/{chunk-NFITGYMQ.js → chunk-CX6J53S5.js} +3 -3
- package/dist/{chunk-DJ7TZLGU.js → chunk-DHXPZZ5U.js} +2 -2
- package/dist/{chunk-XZBXINXZ.js → chunk-GIC6BASP.js} +4 -4
- package/dist/{chunk-ABPCF4MW.js → chunk-HB3GEHGF.js} +1 -1
- package/dist/{chunk-6FUMA6AA.js → chunk-JFPUQ3E2.js} +2 -2
- package/dist/{chunk-BTRY6UH3.js → chunk-JMMG5K7H.js} +2 -2
- package/dist/{chunk-ZDJMCXC7.js → chunk-JRLDQ6WS.js} +12 -12
- package/dist/{chunk-BGD3T743.js → chunk-JRYINMLF.js} +2 -2
- package/dist/{chunk-F25CL3IQ.js → chunk-KSTLZCR5.js} +2 -2
- package/dist/{chunk-363VZTVH.js → chunk-L5QVIATR.js} +2 -2
- package/dist/{chunk-BS5BD3DF.js → chunk-LFGSIMFS.js} +2 -2
- package/dist/{chunk-YYAWJRGL.js → chunk-MYMME2VL.js} +2 -2
- package/dist/{chunk-RACZB5HT.js → chunk-N37X5RU7.js} +4 -4
- package/dist/{chunk-Z2FXSE5P.js → chunk-NFZUZL44.js} +2 -2
- package/dist/{chunk-AG46P24C.js → chunk-NNBZS3DY.js} +4 -4
- package/dist/{chunk-L7MJJAG2.js → chunk-NRDLOFAI.js} +2 -2
- package/dist/{chunk-PIBQIYF2.js → chunk-NX2ECBRG.js} +2 -2
- package/dist/{chunk-QOE3EM5Z.js → chunk-PVN6DVWU.js} +8 -8
- package/dist/{chunk-327JMA2N.js → chunk-PZY4DLLO.js} +2 -2
- package/dist/{chunk-ZVW724ZK.js → chunk-Q4OITLPA.js} +2 -2
- package/dist/{chunk-ND6NL2YR.js → chunk-QBZMUF54.js} +2 -2
- package/dist/{chunk-25P3LW6U.js → chunk-QLT74C2M.js} +2 -2
- package/dist/{chunk-KJUH3QIQ.js → chunk-TITZPONM.js} +2 -2
- package/dist/{chunk-YFK64FYK.js → chunk-TPIO36PJ.js} +2 -2
- package/dist/{chunk-5UI7WQA6.js → chunk-TX55UTJT.js} +2 -2
- package/dist/{chunk-D35XLYQ7.js → chunk-UF65P4GF.js} +6 -6
- package/dist/{chunk-BHH736UQ.js → chunk-UJYNT3R2.js} +3 -3
- package/dist/{chunk-4PMPOZK3.js → chunk-V5I36Y2F.js} +2 -2
- package/dist/{chunk-WQCET3N3.js → chunk-VK7YWP5Q.js} +2 -2
- package/dist/{chunk-USQAH6PN.js → chunk-VPYAQYD5.js} +2 -2
- package/dist/{chunk-KRNFJKMH.js → chunk-VTEO5T6Z.js} +2 -2
- package/dist/{chunk-WSYACIKD.js → chunk-W6PZQY4L.js} +2 -2
- package/dist/{chunk-52GQNSLC.js → chunk-WM2N5DRB.js} +7 -7
- package/dist/{chunk-ERKFG4RV.js → chunk-XRT7ZG5B.js} +33 -33
- package/dist/{chunk-NYQHD7H4.js → chunk-YTWEK6CU.js} +17 -17
- package/dist/{cli-CFpMhqz5.d.ts → cli-DDHGtWI1.d.ts} +1 -1
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +48 -48
- package/dist/coding/export-okf-codegraph.js +10 -10
- package/dist/compounding/engine.js +10 -10
- package/dist/connectors/codex-materialize-runner.js +10 -10
- package/dist/connectors/index.js +10 -10
- package/dist/convergence-refresh.js +12 -12
- package/dist/corpus-watermark.js +12 -12
- package/dist/entity-retrieval.js +10 -10
- package/dist/external-wiki-access.d.ts +1 -1
- package/dist/external-wiki-access.js +20 -20
- package/dist/external-wiki-mcp-tools.d.ts +1 -1
- package/dist/extraction.js +10 -10
- package/dist/{first-start-migration-KHIMCBIC.js → first-start-migration-UG32BSG2.js} +4 -4
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/index.d.ts +28 -7
- package/dist/index.js +78 -72
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.js +7 -7
- package/dist/location/index.js +12 -12
- package/dist/maintenance/memory-governance.js +10 -10
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -10
- package/dist/maintenance/rebuild-memory-projection.js +11 -11
- package/dist/mcp-memory-inspector-app.d.ts +1 -1
- package/dist/memory-subject-cli.d.ts +1 -1
- package/dist/memory-subject.d.ts +1 -1
- package/dist/namespaces/migrate.js +11 -11
- package/dist/namespaces/search.js +7 -7
- package/dist/namespaces/storage.js +10 -10
- package/dist/operator-doctor-corpus.js +13 -13
- package/dist/operator-toolkit.js +18 -18
- package/dist/orchestration/maintenance.js +18 -18
- package/dist/orchestrator.js +65 -65
- package/dist/{public-http-C9-CHc40.d.ts → public-http-Bab7S0ED.d.ts} +1 -1
- package/dist/recall-navigate-disclosure.d.ts +44 -0
- package/dist/recall-navigate-disclosure.js +30 -0
- package/dist/recall-navigate-disclosure.js.map +1 -0
- package/dist/recall-state-view-packet.d.ts +30 -0
- package/dist/recall-state-view-packet.js +69 -0
- package/dist/recall-state-view-packet.js.map +1 -0
- package/dist/schemas.d.ts +42 -42
- package/dist/search/factory.js +6 -6
- package/dist/search/index.js +10 -10
- package/dist/search/lancedb-backend.js +2 -2
- package/dist/search/meilisearch-backend.js +2 -2
- package/dist/search/orama-backend.js +2 -2
- package/dist/semantic-consolidation.js +11 -11
- package/dist/semantic-rule-promotion.js +10 -10
- package/dist/semantic-rule-verifier.js +10 -10
- package/dist/source-agent-qualifier.js +10 -10
- package/dist/standup/build.js +10 -10
- package/dist/storage.js +9 -9
- package/dist/support-passport/index.d.ts +4 -4
- package/dist/support-passport/index.js +22 -22
- package/dist/transfer/export-okf.js +11 -11
- package/dist/transfer/types.d.ts +12 -12
- package/dist/verified-recall.js +10 -10
- package/dist/who-knows-cli.d.ts +1 -1
- package/dist/who-knows-cli.js +11 -11
- package/dist/who-knows.d.ts +1 -1
- package/dist/who-knows.js +10 -10
- package/package.json +2 -2
- package/src/activity/timeline/index.ts +1 -0
- package/src/activity/timeline/week-recurring.test.ts +177 -0
- package/src/activity/timeline/week-recurring.ts +88 -0
- package/src/dedup/index.ts +7 -0
- package/src/dedup/merge-provenance.test.ts +185 -0
- package/src/dedup/merge-provenance.ts +151 -0
- package/src/recall-navigate-disclosure.test.ts +128 -0
- package/src/recall-navigate-disclosure.ts +45 -0
- package/src/recall-state-view-packet.test.ts +158 -0
- package/src/recall-state-view-packet.ts +128 -0
- package/dist/chunk-BZ26443Y.js.map +0 -1
- package/dist/{access-service-DcfM0Vf0.d.ts → access-service-CRZHXClX.d.ts} +6 -6
- /package/dist/{chunk-KAY2C6VX.js.map → chunk-2D7S3FZW.js.map} +0 -0
- /package/dist/{chunk-HDQQRRCZ.js.map → chunk-5DSPAWXQ.js.map} +0 -0
- /package/dist/{chunk-VLSUKXCJ.js.map → chunk-5JUSOMNO.js.map} +0 -0
- /package/dist/{chunk-P342D5BP.js.map → chunk-626ILV6J.js.map} +0 -0
- /package/dist/{chunk-I6T4SYFW.js.map → chunk-63Z7D2YJ.js.map} +0 -0
- /package/dist/{chunk-XW3G4BJI.js.map → chunk-6DPAZEGK.js.map} +0 -0
- /package/dist/{chunk-XPDWNWH6.js.map → chunk-6LIILOP3.js.map} +0 -0
- /package/dist/{chunk-3IRH5MYM.js.map → chunk-6OX6SNRC.js.map} +0 -0
- /package/dist/{chunk-FOT5GP2U.js.map → chunk-73CA45TG.js.map} +0 -0
- /package/dist/{chunk-2MHMHF76.js.map → chunk-7GFLU63V.js.map} +0 -0
- /package/dist/{chunk-A7NMS5II.js.map → chunk-7HAZ6GZE.js.map} +0 -0
- /package/dist/{chunk-X2NFFBTO.js.map → chunk-A7GQBJP5.js.map} +0 -0
- /package/dist/{chunk-7KG5V4VV.js.map → chunk-BZFHCRO6.js.map} +0 -0
- /package/dist/{chunk-4PEZMGZD.js.map → chunk-CUQI6DR3.js.map} +0 -0
- /package/dist/{chunk-NFITGYMQ.js.map → chunk-CX6J53S5.js.map} +0 -0
- /package/dist/{chunk-DJ7TZLGU.js.map → chunk-DHXPZZ5U.js.map} +0 -0
- /package/dist/{chunk-XZBXINXZ.js.map → chunk-GIC6BASP.js.map} +0 -0
- /package/dist/{chunk-ABPCF4MW.js.map → chunk-HB3GEHGF.js.map} +0 -0
- /package/dist/{chunk-6FUMA6AA.js.map → chunk-JFPUQ3E2.js.map} +0 -0
- /package/dist/{chunk-BTRY6UH3.js.map → chunk-JMMG5K7H.js.map} +0 -0
- /package/dist/{chunk-ZDJMCXC7.js.map → chunk-JRLDQ6WS.js.map} +0 -0
- /package/dist/{chunk-BGD3T743.js.map → chunk-JRYINMLF.js.map} +0 -0
- /package/dist/{chunk-F25CL3IQ.js.map → chunk-KSTLZCR5.js.map} +0 -0
- /package/dist/{chunk-363VZTVH.js.map → chunk-L5QVIATR.js.map} +0 -0
- /package/dist/{chunk-BS5BD3DF.js.map → chunk-LFGSIMFS.js.map} +0 -0
- /package/dist/{chunk-YYAWJRGL.js.map → chunk-MYMME2VL.js.map} +0 -0
- /package/dist/{chunk-RACZB5HT.js.map → chunk-N37X5RU7.js.map} +0 -0
- /package/dist/{chunk-Z2FXSE5P.js.map → chunk-NFZUZL44.js.map} +0 -0
- /package/dist/{chunk-AG46P24C.js.map → chunk-NNBZS3DY.js.map} +0 -0
- /package/dist/{chunk-L7MJJAG2.js.map → chunk-NRDLOFAI.js.map} +0 -0
- /package/dist/{chunk-PIBQIYF2.js.map → chunk-NX2ECBRG.js.map} +0 -0
- /package/dist/{chunk-QOE3EM5Z.js.map → chunk-PVN6DVWU.js.map} +0 -0
- /package/dist/{chunk-327JMA2N.js.map → chunk-PZY4DLLO.js.map} +0 -0
- /package/dist/{chunk-ZVW724ZK.js.map → chunk-Q4OITLPA.js.map} +0 -0
- /package/dist/{chunk-ND6NL2YR.js.map → chunk-QBZMUF54.js.map} +0 -0
- /package/dist/{chunk-25P3LW6U.js.map → chunk-QLT74C2M.js.map} +0 -0
- /package/dist/{chunk-KJUH3QIQ.js.map → chunk-TITZPONM.js.map} +0 -0
- /package/dist/{chunk-YFK64FYK.js.map → chunk-TPIO36PJ.js.map} +0 -0
- /package/dist/{chunk-5UI7WQA6.js.map → chunk-TX55UTJT.js.map} +0 -0
- /package/dist/{chunk-D35XLYQ7.js.map → chunk-UF65P4GF.js.map} +0 -0
- /package/dist/{chunk-BHH736UQ.js.map → chunk-UJYNT3R2.js.map} +0 -0
- /package/dist/{chunk-4PMPOZK3.js.map → chunk-V5I36Y2F.js.map} +0 -0
- /package/dist/{chunk-WQCET3N3.js.map → chunk-VK7YWP5Q.js.map} +0 -0
- /package/dist/{chunk-USQAH6PN.js.map → chunk-VPYAQYD5.js.map} +0 -0
- /package/dist/{chunk-KRNFJKMH.js.map → chunk-VTEO5T6Z.js.map} +0 -0
- /package/dist/{chunk-WSYACIKD.js.map → chunk-W6PZQY4L.js.map} +0 -0
- /package/dist/{chunk-52GQNSLC.js.map → chunk-WM2N5DRB.js.map} +0 -0
- /package/dist/{chunk-ERKFG4RV.js.map → chunk-XRT7ZG5B.js.map} +0 -0
- /package/dist/{chunk-NYQHD7H4.js.map → chunk-YTWEK6CU.js.map} +0 -0
- /package/dist/{first-start-migration-KHIMCBIC.js.map → first-start-migration-UG32BSG2.js.map} +0 -0
package/dist/orchestrator.js
CHANGED
|
@@ -3,53 +3,53 @@ import {
|
|
|
3
3
|
blendGraphExpandedRecallScore,
|
|
4
4
|
graphPathRelativeToStorage,
|
|
5
5
|
mergeGraphExpandedResults
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2FEBD4LN.js";
|
|
7
7
|
import "./chunk-3TSU662L.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-KSTLZCR5.js";
|
|
9
9
|
import {
|
|
10
10
|
formatCompressionGuidelinesForRecall
|
|
11
11
|
} from "./chunk-UXREWVW4.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-WM2N5DRB.js";
|
|
13
13
|
import "./chunk-I74SUMNI.js";
|
|
14
14
|
import "./chunk-ILNPU5W5.js";
|
|
15
15
|
import "./chunk-7HYPN2GC.js";
|
|
16
|
+
import "./chunk-2D7S3FZW.js";
|
|
16
17
|
import "./chunk-666A3MOW.js";
|
|
17
18
|
import "./chunk-VDC6RZI4.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-UWK5OXUJ.js";
|
|
20
|
+
import "./chunk-A7GQBJP5.js";
|
|
21
|
+
import "./chunk-7N4KAIGN.js";
|
|
19
22
|
import "./chunk-TPDBFYEG.js";
|
|
20
23
|
import "./chunk-UXPUUL3G.js";
|
|
21
24
|
import "./chunk-DDA47TES.js";
|
|
22
25
|
import "./chunk-KOLJJN5G.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-WVP2I6C5.js";
|
|
27
|
+
import "./chunk-TECVW3JP.js";
|
|
25
28
|
import "./chunk-C5JF6EZ7.js";
|
|
26
29
|
import "./chunk-KBL3JJR6.js";
|
|
27
30
|
import "./chunk-FQ7HAWWC.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-7N4KAIGN.js";
|
|
30
|
-
import "./chunk-WSYACIKD.js";
|
|
31
|
+
import "./chunk-W6PZQY4L.js";
|
|
31
32
|
import "./chunk-VI637ILW.js";
|
|
32
33
|
import "./chunk-V5OCT34X.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-ND6NL2YR.js";
|
|
34
|
+
import "./chunk-QBZMUF54.js";
|
|
35
35
|
import "./chunk-47DU4SGJ.js";
|
|
36
36
|
import "./chunk-SEF4IOFE.js";
|
|
37
|
+
import "./chunk-DD5JFCWM.js";
|
|
38
|
+
import "./chunk-ECZU5BJH.js";
|
|
37
39
|
import "./chunk-KVDUKH5E.js";
|
|
38
40
|
import "./chunk-2NKY7OC6.js";
|
|
39
41
|
import "./chunk-4EX5WZ4M.js";
|
|
40
42
|
import "./chunk-YRFAYOFQ.js";
|
|
41
|
-
import "./chunk-DD5JFCWM.js";
|
|
42
|
-
import "./chunk-ECZU5BJH.js";
|
|
43
43
|
import "./chunk-HCM7ZYJD.js";
|
|
44
44
|
import "./chunk-6DNMUYEE.js";
|
|
45
45
|
import "./chunk-T67LUYCR.js";
|
|
46
46
|
import "./chunk-ODZKV2F7.js";
|
|
47
|
+
import "./chunk-5IZL4DCV.js";
|
|
47
48
|
import "./chunk-N4F7ZSSG.js";
|
|
48
49
|
import "./chunk-LUDXM7MD.js";
|
|
49
50
|
import "./chunk-6TCXIRP5.js";
|
|
50
51
|
import "./chunk-QJ622LTI.js";
|
|
51
52
|
import "./chunk-ZOKZIR5K.js";
|
|
52
|
-
import "./chunk-5IZL4DCV.js";
|
|
53
53
|
import "./chunk-X7XN6YU4.js";
|
|
54
54
|
import "./chunk-KATEWTQJ.js";
|
|
55
55
|
import "./chunk-FYDW33ZB.js";
|
|
@@ -96,7 +96,7 @@ import "./chunk-LUPVCGYK.js";
|
|
|
96
96
|
import "./chunk-BUYVPUEM.js";
|
|
97
97
|
import "./chunk-IAIPNEHD.js";
|
|
98
98
|
import "./chunk-DGFU5MSX.js";
|
|
99
|
-
import "./chunk-
|
|
99
|
+
import "./chunk-TX55UTJT.js";
|
|
100
100
|
import "./chunk-GKUA4MGB.js";
|
|
101
101
|
import "./chunk-5AUY5Z5E.js";
|
|
102
102
|
import "./chunk-SVH57F5Z.js";
|
|
@@ -107,12 +107,13 @@ import "./chunk-VEWZZM3H.js";
|
|
|
107
107
|
import "./chunk-VY47VI2T.js";
|
|
108
108
|
import "./chunk-PYIR4SSB.js";
|
|
109
109
|
import "./chunk-DFEODULB.js";
|
|
110
|
-
import "./chunk-
|
|
111
|
-
import "./chunk-
|
|
112
|
-
import "./chunk-MMACM5G2.js";
|
|
110
|
+
import "./chunk-QLT74C2M.js";
|
|
111
|
+
import "./chunk-XRT7ZG5B.js";
|
|
113
112
|
import "./chunk-54BGIBCR.js";
|
|
114
113
|
import "./chunk-H4CKS5B2.js";
|
|
114
|
+
import "./chunk-MMACM5G2.js";
|
|
115
115
|
import "./chunk-FXZTL7F7.js";
|
|
116
|
+
import "./chunk-CX6J53S5.js";
|
|
116
117
|
import "./chunk-BV2TIZ4F.js";
|
|
117
118
|
import "./chunk-HDDRVXX4.js";
|
|
118
119
|
import "./chunk-PYHOAXTI.js";
|
|
@@ -121,51 +122,50 @@ import "./chunk-OZKVVUJB.js";
|
|
|
121
122
|
import "./chunk-2DL3OFLD.js";
|
|
122
123
|
import "./chunk-G4IAEX6D.js";
|
|
123
124
|
import "./chunk-2NLLXCJG.js";
|
|
124
|
-
import "./chunk-UP6MOYCB.js";
|
|
125
125
|
import "./chunk-765K3SAT.js";
|
|
126
|
-
import "./chunk-
|
|
126
|
+
import "./chunk-UP6MOYCB.js";
|
|
127
127
|
import "./chunk-FGDKJJZS.js";
|
|
128
128
|
import "./chunk-AJVLDJU6.js";
|
|
129
129
|
import "./chunk-TBUEE7XF.js";
|
|
130
130
|
import "./chunk-EEC4PCG5.js";
|
|
131
131
|
import "./chunk-PYIFUBRK.js";
|
|
132
|
+
import "./chunk-LFGSIMFS.js";
|
|
132
133
|
import "./chunk-DQTCGVFK.js";
|
|
133
134
|
import "./chunk-YLBE6PLR.js";
|
|
134
135
|
import "./chunk-IIFFC3RL.js";
|
|
135
136
|
import "./chunk-AXFWMRKI.js";
|
|
136
|
-
import "./chunk-BS5BD3DF.js";
|
|
137
|
-
import "./chunk-Z2FXSE5P.js";
|
|
138
|
-
import "./chunk-CDKHKZL5.js";
|
|
139
137
|
import "./chunk-HSSERO3E.js";
|
|
140
138
|
import "./chunk-NOUJNHWG.js";
|
|
139
|
+
import "./chunk-NFZUZL44.js";
|
|
140
|
+
import "./chunk-CDKHKZL5.js";
|
|
141
|
+
import "./chunk-73CA45TG.js";
|
|
141
142
|
import "./chunk-HL4DB7TO.js";
|
|
142
143
|
import "./chunk-HDQUQBPW.js";
|
|
143
144
|
import "./chunk-6FC3IZ26.js";
|
|
144
|
-
import "./chunk-FOT5GP2U.js";
|
|
145
145
|
import "./chunk-OJP3N7UK.js";
|
|
146
|
-
import "./chunk-
|
|
147
|
-
import "./chunk-
|
|
146
|
+
import "./chunk-7GFLU63V.js";
|
|
147
|
+
import "./chunk-VK7YWP5Q.js";
|
|
148
148
|
import "./chunk-52I6AHO6.js";
|
|
149
149
|
import "./chunk-NRLELHAY.js";
|
|
150
150
|
import "./chunk-AM4T6CHX.js";
|
|
151
151
|
import "./chunk-X5PIDJ3L.js";
|
|
152
152
|
import "./chunk-3T74IZB3.js";
|
|
153
153
|
import "./chunk-2LA3H54D.js";
|
|
154
|
-
import "./chunk-
|
|
155
|
-
import "./chunk-
|
|
154
|
+
import "./chunk-6DPAZEGK.js";
|
|
155
|
+
import "./chunk-5DSPAWXQ.js";
|
|
156
156
|
import "./chunk-KFY3SGN7.js";
|
|
157
157
|
import "./chunk-CMTINOFS.js";
|
|
158
|
-
import "./chunk-
|
|
158
|
+
import "./chunk-VPYAQYD5.js";
|
|
159
159
|
import "./chunk-RMMVQQA6.js";
|
|
160
160
|
import "./chunk-UR6PBX2J.js";
|
|
161
161
|
import "./chunk-6GUG4YNM.js";
|
|
162
162
|
import "./chunk-UOBPK2OS.js";
|
|
163
|
-
import "./chunk-
|
|
163
|
+
import "./chunk-HB3GEHGF.js";
|
|
164
164
|
import "./chunk-C7SRUWBW.js";
|
|
165
165
|
import "./chunk-OZKOPQCM.js";
|
|
166
166
|
import "./chunk-MCA2X4WH.js";
|
|
167
167
|
import "./chunk-CIO7GCWE.js";
|
|
168
|
-
import "./chunk-
|
|
168
|
+
import "./chunk-7HAZ6GZE.js";
|
|
169
169
|
import "./chunk-KJTKLXTH.js";
|
|
170
170
|
import "./chunk-2DQ2XREU.js";
|
|
171
171
|
import "./chunk-ACPCA4NO.js";
|
|
@@ -177,7 +177,7 @@ import "./chunk-OKTXM5H4.js";
|
|
|
177
177
|
import "./chunk-DUAJKRR2.js";
|
|
178
178
|
import "./chunk-NOB2T2FC.js";
|
|
179
179
|
import "./chunk-3I4FUAVJ.js";
|
|
180
|
-
import "./chunk-
|
|
180
|
+
import "./chunk-Q4OITLPA.js";
|
|
181
181
|
import "./chunk-5JMAGU26.js";
|
|
182
182
|
import "./chunk-YBPYIAA5.js";
|
|
183
183
|
import "./chunk-HK6KYIF6.js";
|
|
@@ -216,8 +216,9 @@ import "./chunk-JI7U6AS3.js";
|
|
|
216
216
|
import "./chunk-KFZY2OFH.js";
|
|
217
217
|
import "./chunk-B32WYRXX.js";
|
|
218
218
|
import "./chunk-QW27DOHG.js";
|
|
219
|
-
import "./chunk-
|
|
219
|
+
import "./chunk-JRLDQ6WS.js";
|
|
220
220
|
import "./chunk-V7IZKJI3.js";
|
|
221
|
+
import "./chunk-TB6CBZ5V.js";
|
|
221
222
|
import "./chunk-SEDEKFYQ.js";
|
|
222
223
|
import "./chunk-RKNJBZ55.js";
|
|
223
224
|
import "./chunk-J64TK33U.js";
|
|
@@ -225,23 +226,22 @@ import "./chunk-RSUYKGGZ.js";
|
|
|
225
226
|
import "./chunk-42NQ7AVG.js";
|
|
226
227
|
import "./chunk-TMSXWOBZ.js";
|
|
227
228
|
import "./chunk-7RXCMVFQ.js";
|
|
228
|
-
import "./chunk-TB6CBZ5V.js";
|
|
229
229
|
import "./chunk-3HSRWJTC.js";
|
|
230
|
-
import "./chunk-
|
|
231
|
-
import "./chunk-
|
|
232
|
-
import "./chunk-
|
|
230
|
+
import "./chunk-L5QVIATR.js";
|
|
231
|
+
import "./chunk-NX2ECBRG.js";
|
|
232
|
+
import "./chunk-5JUSOMNO.js";
|
|
233
233
|
import "./chunk-4OFKZAJG.js";
|
|
234
234
|
import "./chunk-A5KNZSNA.js";
|
|
235
235
|
import "./chunk-D24OXEPB.js";
|
|
236
|
-
import "./chunk-
|
|
237
|
-
import "./chunk-
|
|
238
|
-
import "./chunk-
|
|
239
|
-
import "./chunk-
|
|
240
|
-
import "./chunk-
|
|
236
|
+
import "./chunk-6OX6SNRC.js";
|
|
237
|
+
import "./chunk-V5I36Y2F.js";
|
|
238
|
+
import "./chunk-VTEO5T6Z.js";
|
|
239
|
+
import "./chunk-6LIILOP3.js";
|
|
240
|
+
import "./chunk-TITZPONM.js";
|
|
241
241
|
import "./chunk-7T4TOGMS.js";
|
|
242
242
|
import "./chunk-7YQ6ESEA.js";
|
|
243
243
|
import "./chunk-ZQUVBZI4.js";
|
|
244
|
-
import "./chunk-
|
|
244
|
+
import "./chunk-UJYNT3R2.js";
|
|
245
245
|
import "./chunk-LTBKKSCX.js";
|
|
246
246
|
import "./chunk-EQWEIIKQ.js";
|
|
247
247
|
import "./chunk-JTWZKNUH.js";
|
|
@@ -250,8 +250,8 @@ import "./chunk-CTVWELNK.js";
|
|
|
250
250
|
import "./chunk-CEN6DW6X.js";
|
|
251
251
|
import "./chunk-E4RMZGRS.js";
|
|
252
252
|
import "./chunk-D6Q5EPOV.js";
|
|
253
|
-
import "./chunk-
|
|
254
|
-
import "./chunk-
|
|
253
|
+
import "./chunk-PZY4DLLO.js";
|
|
254
|
+
import "./chunk-626ILV6J.js";
|
|
255
255
|
import "./chunk-AB3A7EFH.js";
|
|
256
256
|
import "./chunk-K4E3Y3ZX.js";
|
|
257
257
|
import "./chunk-SRT6SHVZ.js";
|
|
@@ -260,22 +260,22 @@ import "./chunk-GZ3R6XOE.js";
|
|
|
260
260
|
import "./chunk-CK5KOVHW.js";
|
|
261
261
|
import "./chunk-DJUKBGAD.js";
|
|
262
262
|
import "./chunk-G73MCJKL.js";
|
|
263
|
-
import "./chunk-
|
|
263
|
+
import "./chunk-NRDLOFAI.js";
|
|
264
264
|
import {
|
|
265
265
|
filterRecallCandidates,
|
|
266
266
|
hasIdentityRecoveryIntent,
|
|
267
267
|
resolveEffectiveIdentityInjectionMode
|
|
268
|
-
} from "./chunk-
|
|
268
|
+
} from "./chunk-YTWEK6CU.js";
|
|
269
269
|
import "./chunk-GDASG7NC.js";
|
|
270
270
|
import "./chunk-GDB4J2H3.js";
|
|
271
271
|
import "./chunk-J2R275FN.js";
|
|
272
272
|
import "./chunk-QJCWK2A7.js";
|
|
273
273
|
import "./chunk-VQ7B2Q6M.js";
|
|
274
|
-
import "./chunk-7KG5V4VV.js";
|
|
275
274
|
import "./chunk-PJSK6OJM.js";
|
|
275
|
+
import "./chunk-BZFHCRO6.js";
|
|
276
|
+
import "./chunk-5QZR2RA3.js";
|
|
276
277
|
import "./chunk-GNVZQ5JN.js";
|
|
277
278
|
import "./chunk-YN2UN7N3.js";
|
|
278
|
-
import "./chunk-5QZR2RA3.js";
|
|
279
279
|
import "./chunk-P5FPO2BR.js";
|
|
280
280
|
import "./chunk-S4DDLTPX.js";
|
|
281
281
|
import "./chunk-ZVZHG7AI.js";
|
|
@@ -283,7 +283,7 @@ import "./chunk-H7XKCNR6.js";
|
|
|
283
283
|
import "./chunk-H6RSANGQ.js";
|
|
284
284
|
import "./chunk-SOBJ6NEY.js";
|
|
285
285
|
import "./chunk-LK4TOYPU.js";
|
|
286
|
-
import "./chunk-
|
|
286
|
+
import "./chunk-JRYINMLF.js";
|
|
287
287
|
import "./chunk-CVILPI77.js";
|
|
288
288
|
import "./chunk-2HIJHXB3.js";
|
|
289
289
|
import "./chunk-AQEJKOKI.js";
|
|
@@ -304,33 +304,33 @@ import "./chunk-LTHVM4XN.js";
|
|
|
304
304
|
import "./chunk-X5YYSAZX.js";
|
|
305
305
|
import "./chunk-C37ZRXX7.js";
|
|
306
306
|
import "./chunk-7ZNJN5WZ.js";
|
|
307
|
-
import "./chunk-
|
|
308
|
-
import "./chunk-
|
|
309
|
-
import "./chunk-
|
|
310
|
-
import "./chunk-
|
|
307
|
+
import "./chunk-CUQI6DR3.js";
|
|
308
|
+
import "./chunk-JMMG5K7H.js";
|
|
309
|
+
import "./chunk-63Z7D2YJ.js";
|
|
310
|
+
import "./chunk-MYMME2VL.js";
|
|
311
311
|
import "./chunk-UFGFMWAD.js";
|
|
312
|
-
import "./chunk-
|
|
312
|
+
import "./chunk-DHXPZZ5U.js";
|
|
313
313
|
import "./chunk-3UXOZBHV.js";
|
|
314
314
|
import "./chunk-ZXBTTMGZ.js";
|
|
315
315
|
import "./chunk-YMOPYG3K.js";
|
|
316
316
|
import "./chunk-2LSZVONP.js";
|
|
317
317
|
import "./chunk-DEUNUKTD.js";
|
|
318
318
|
import "./chunk-LXY5VVGM.js";
|
|
319
|
-
import "./chunk-
|
|
320
|
-
import "./chunk-
|
|
321
|
-
import "./chunk-UHVXE24Y.js";
|
|
319
|
+
import "./chunk-TPIO36PJ.js";
|
|
320
|
+
import "./chunk-PVN6DVWU.js";
|
|
322
321
|
import "./chunk-4ZWCQJNM.js";
|
|
322
|
+
import "./chunk-UHVXE24Y.js";
|
|
323
323
|
import "./chunk-WVGXCBOC.js";
|
|
324
|
-
import "./chunk-
|
|
325
|
-
import "./chunk-
|
|
324
|
+
import "./chunk-JFPUQ3E2.js";
|
|
325
|
+
import "./chunk-UF65P4GF.js";
|
|
326
|
+
import "./chunk-GIC6BASP.js";
|
|
326
327
|
import "./chunk-YQNNHLCG.js";
|
|
327
328
|
import "./chunk-6KTXE6A3.js";
|
|
328
|
-
import "./chunk-
|
|
329
|
-
import "./chunk-
|
|
330
|
-
import "./chunk-CYEPCZN5.js";
|
|
331
|
-
import "./chunk-XZBXINXZ.js";
|
|
332
|
-
import "./chunk-GUMZC2BO.js";
|
|
329
|
+
import "./chunk-N37X5RU7.js";
|
|
330
|
+
import "./chunk-NNBZS3DY.js";
|
|
333
331
|
import "./chunk-W7IGLX4G.js";
|
|
332
|
+
import "./chunk-GUMZC2BO.js";
|
|
333
|
+
import "./chunk-CYEPCZN5.js";
|
|
334
334
|
import "./chunk-227UFSEQ.js";
|
|
335
335
|
import "./chunk-ET356KSB.js";
|
|
336
336
|
import "./chunk-72A4L5JJ.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { f as EngramAccessService } from './access-service-
|
|
2
|
+
import { f as EngramAccessService } from './access-service-CRZHXClX.js';
|
|
3
3
|
|
|
4
4
|
declare const SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES: readonly [{
|
|
5
5
|
readonly method: "GET";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { o as RecallDisclosure } from './types-eM7QIcX2.js';
|
|
2
|
+
import './message-parts/index.js';
|
|
3
|
+
import './bounded-jsonl-state.js';
|
|
4
|
+
import './operator-doctor-types.js';
|
|
5
|
+
import './external-wiki-config.js';
|
|
6
|
+
import './contradiction-config.js';
|
|
7
|
+
import './graph-path-scoring-config.js';
|
|
8
|
+
import './causal-trajectory.js';
|
|
9
|
+
import './objective-state.js';
|
|
10
|
+
import './active-context-config.js';
|
|
11
|
+
import './types-continuity.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Disclosure-step planning for recall navigation (issue #1956).
|
|
15
|
+
*
|
|
16
|
+
* The ladder itself is NOT redefined here: `types.ts` designates
|
|
17
|
+
* `RECALL_DISCLOSURE_LEVELS` the single source of truth and forbids
|
|
18
|
+
* hard-coding disclosure strings elsewhere, so a second copy could drift out
|
|
19
|
+
* of agreement with recall validation and rendering. This module only adds
|
|
20
|
+
* the rule that an expansion must go strictly deeper, so a caller cannot
|
|
21
|
+
* re-pay recall budget for output it already holds. Pure — no I/O.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
type DisclosureStepResult = {
|
|
25
|
+
ok: true;
|
|
26
|
+
from: RecallDisclosure;
|
|
27
|
+
to: RecallDisclosure;
|
|
28
|
+
steps: number;
|
|
29
|
+
} | {
|
|
30
|
+
ok: false;
|
|
31
|
+
error: "unknown_level" | "not_deeper";
|
|
32
|
+
};
|
|
33
|
+
/** Index in the canonical shallow-to-deep ladder. Throws for a non-level. */
|
|
34
|
+
declare function disclosureRank(level: string): number;
|
|
35
|
+
/**
|
|
36
|
+
* Plan one expansion. A bad level from an agent is a typed refusal rather
|
|
37
|
+
* than a throw; equal or shallower targets are `not_deeper`.
|
|
38
|
+
*/
|
|
39
|
+
declare function planDisclosureStep(input: {
|
|
40
|
+
from: string;
|
|
41
|
+
to: string;
|
|
42
|
+
}): DisclosureStepResult;
|
|
43
|
+
|
|
44
|
+
export { type DisclosureStepResult, disclosureRank, planDisclosureStep };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RECALL_DISCLOSURE_LEVELS,
|
|
3
|
+
isRecallDisclosure
|
|
4
|
+
} from "./chunk-XXW32OL7.js";
|
|
5
|
+
import "./chunk-PZ5AY32C.js";
|
|
6
|
+
|
|
7
|
+
// src/recall-navigate-disclosure.ts
|
|
8
|
+
function disclosureRank(level) {
|
|
9
|
+
const index = RECALL_DISCLOSURE_LEVELS.indexOf(level);
|
|
10
|
+
if (index < 0) {
|
|
11
|
+
throw new RangeError(
|
|
12
|
+
`unknown disclosure level ${JSON.stringify(level)}; expected one of ${RECALL_DISCLOSURE_LEVELS.join(", ")}`
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
return index;
|
|
16
|
+
}
|
|
17
|
+
function planDisclosureStep(input) {
|
|
18
|
+
if (!isRecallDisclosure(input.from) || !isRecallDisclosure(input.to)) {
|
|
19
|
+
return { ok: false, error: "unknown_level" };
|
|
20
|
+
}
|
|
21
|
+
const fromRank = disclosureRank(input.from);
|
|
22
|
+
const toRank = disclosureRank(input.to);
|
|
23
|
+
if (toRank <= fromRank) return { ok: false, error: "not_deeper" };
|
|
24
|
+
return { ok: true, from: input.from, to: input.to, steps: toRank - fromRank };
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
disclosureRank,
|
|
28
|
+
planDisclosureStep
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=recall-navigate-disclosure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/recall-navigate-disclosure.ts"],"sourcesContent":["/**\n * Disclosure-step planning for recall navigation (issue #1956).\n *\n * The ladder itself is NOT redefined here: `types.ts` designates\n * `RECALL_DISCLOSURE_LEVELS` the single source of truth and forbids\n * hard-coding disclosure strings elsewhere, so a second copy could drift out\n * of agreement with recall validation and rendering. This module only adds\n * the rule that an expansion must go strictly deeper, so a caller cannot\n * re-pay recall budget for output it already holds. Pure — no I/O.\n */\n\nimport {\n isRecallDisclosure,\n RECALL_DISCLOSURE_LEVELS,\n type RecallDisclosure,\n} from \"./types.js\";\n\nexport type DisclosureStepResult =\n | { ok: true; from: RecallDisclosure; to: RecallDisclosure; steps: number }\n | { ok: false; error: \"unknown_level\" | \"not_deeper\" };\n\n/** Index in the canonical shallow-to-deep ladder. Throws for a non-level. */\nexport function disclosureRank(level: string): number {\n const index = (RECALL_DISCLOSURE_LEVELS as readonly string[]).indexOf(level);\n if (index < 0) {\n throw new RangeError(\n `unknown disclosure level ${JSON.stringify(level)}; expected one of ${RECALL_DISCLOSURE_LEVELS.join(\", \")}`,\n );\n }\n return index;\n}\n\n/**\n * Plan one expansion. A bad level from an agent is a typed refusal rather\n * than a throw; equal or shallower targets are `not_deeper`.\n */\nexport function planDisclosureStep(input: { from: string; to: string }): DisclosureStepResult {\n if (!isRecallDisclosure(input.from) || !isRecallDisclosure(input.to)) {\n return { ok: false, error: \"unknown_level\" };\n }\n const fromRank = disclosureRank(input.from);\n const toRank = disclosureRank(input.to);\n if (toRank <= fromRank) return { ok: false, error: \"not_deeper\" };\n return { ok: true, from: input.from, to: input.to, steps: toRank - fromRank };\n}\n"],"mappings":";;;;;;;AAsBO,SAAS,eAAe,OAAuB;AACpD,QAAM,QAAS,yBAA+C,QAAQ,KAAK;AAC3E,MAAI,QAAQ,GAAG;AACb,UAAM,IAAI;AAAA,MACR,4BAA4B,KAAK,UAAU,KAAK,CAAC,qBAAqB,yBAAyB,KAAK,IAAI,CAAC;AAAA,IAC3G;AAAA,EACF;AACA,SAAO;AACT;AAMO,SAAS,mBAAmB,OAA2D;AAC5F,MAAI,CAAC,mBAAmB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,GAAG;AACpE,WAAO,EAAE,IAAI,OAAO,OAAO,gBAAgB;AAAA,EAC7C;AACA,QAAM,WAAW,eAAe,MAAM,IAAI;AAC1C,QAAM,SAAS,eAAe,MAAM,EAAE;AACtC,MAAI,UAAU,SAAU,QAAO,EAAE,IAAI,OAAO,OAAO,aAAa;AAChE,SAAO,EAAE,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,OAAO,SAAS,SAAS;AAC9E;","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { StateLabel } from './recall-state-view.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Recall state-view evidence packets (issue #1952).
|
|
5
|
+
*
|
|
6
|
+
* Groups labeled state-view entries into per-head evidence packets so
|
|
7
|
+
* superseded records stay visible as ordered history instead of being
|
|
8
|
+
* hidden or interleaved with another packet's entries. Pure. Surfaces wait.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
interface StateViewEntry {
|
|
12
|
+
memoryId: string;
|
|
13
|
+
stateLabel: StateLabel;
|
|
14
|
+
/** Id of the entry that superseded this one, when any. */
|
|
15
|
+
supersededById?: string;
|
|
16
|
+
}
|
|
17
|
+
interface StateEvidencePacket {
|
|
18
|
+
/** The current (or transition) entry this packet is about. */
|
|
19
|
+
headId: string;
|
|
20
|
+
/** Predecessors, nearest to head first. Never interleaved with other packets. */
|
|
21
|
+
historyIds: string[];
|
|
22
|
+
}
|
|
23
|
+
interface StateEvidencePackets {
|
|
24
|
+
packets: StateEvidencePacket[];
|
|
25
|
+
/** Historical entries whose successor is absent from the input. */
|
|
26
|
+
orphanHistoryIds: string[];
|
|
27
|
+
}
|
|
28
|
+
declare function buildStateEvidencePackets(entries: readonly StateViewEntry[]): StateEvidencePackets;
|
|
29
|
+
|
|
30
|
+
export { type StateEvidencePacket, type StateEvidencePackets, StateLabel, type StateViewEntry, buildStateEvidencePackets };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import "./chunk-PZ5AY32C.js";
|
|
2
|
+
|
|
3
|
+
// src/recall-state-view-packet.ts
|
|
4
|
+
var STATE_LABELS = ["current", "historical", "transition"];
|
|
5
|
+
function resolveHead(entry, byId) {
|
|
6
|
+
const visited = /* @__PURE__ */ new Set();
|
|
7
|
+
let current = entry;
|
|
8
|
+
let depth = 0;
|
|
9
|
+
for (; ; ) {
|
|
10
|
+
const successorId = current.supersededById;
|
|
11
|
+
if (successorId === void 0 || successorId.trim() === "") return void 0;
|
|
12
|
+
const successor = byId.get(successorId);
|
|
13
|
+
if (successor === void 0) return void 0;
|
|
14
|
+
depth += 1;
|
|
15
|
+
if (successor.stateLabel !== "historical") return { headId: successorId, depth };
|
|
16
|
+
if (visited.has(successorId)) return void 0;
|
|
17
|
+
visited.add(successorId);
|
|
18
|
+
current = successor;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function compareStrings(a, b) {
|
|
22
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
23
|
+
}
|
|
24
|
+
function compareAttachments(a, b) {
|
|
25
|
+
if (a.headId !== b.headId) return compareStrings(a.headId, b.headId);
|
|
26
|
+
if (a.depth !== b.depth) return a.depth < b.depth ? -1 : 1;
|
|
27
|
+
return compareStrings(a.historyId, b.historyId);
|
|
28
|
+
}
|
|
29
|
+
function buildStateEvidencePackets(entries) {
|
|
30
|
+
for (const entry of entries) {
|
|
31
|
+
if (!STATE_LABELS.includes(entry.stateLabel)) {
|
|
32
|
+
throw new TypeError(
|
|
33
|
+
`unknown state label ${JSON.stringify(entry.stateLabel)}; expected one of "current", "historical", "transition"`
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const byId = /* @__PURE__ */ new Map();
|
|
38
|
+
for (const entry of entries) {
|
|
39
|
+
if (typeof entry.memoryId !== "string" || entry.memoryId.trim() === "") continue;
|
|
40
|
+
if (!byId.has(entry.memoryId)) byId.set(entry.memoryId, entry);
|
|
41
|
+
}
|
|
42
|
+
const packets = [];
|
|
43
|
+
const packetByHead = /* @__PURE__ */ new Map();
|
|
44
|
+
const attachments = [];
|
|
45
|
+
const orphanHistoryIds = [];
|
|
46
|
+
for (const [id, entry] of byId) {
|
|
47
|
+
if (entry.stateLabel !== "historical") {
|
|
48
|
+
const packet = { headId: id, historyIds: [] };
|
|
49
|
+
packetByHead.set(id, packet);
|
|
50
|
+
packets.push(packet);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const head = resolveHead(entry, byId);
|
|
54
|
+
if (head === void 0) orphanHistoryIds.push(id);
|
|
55
|
+
else attachments.push({ headId: head.headId, historyId: id, depth: head.depth });
|
|
56
|
+
}
|
|
57
|
+
attachments.sort(compareAttachments);
|
|
58
|
+
for (const attachment of attachments) {
|
|
59
|
+
const packet = packetByHead.get(attachment.headId);
|
|
60
|
+
if (packet) packet.historyIds.push(attachment.historyId);
|
|
61
|
+
}
|
|
62
|
+
packets.sort((a, b) => compareStrings(a.headId, b.headId));
|
|
63
|
+
orphanHistoryIds.sort(compareStrings);
|
|
64
|
+
return { packets, orphanHistoryIds };
|
|
65
|
+
}
|
|
66
|
+
export {
|
|
67
|
+
buildStateEvidencePackets
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=recall-state-view-packet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/recall-state-view-packet.ts"],"sourcesContent":["/**\n * Recall state-view evidence packets (issue #1952).\n *\n * Groups labeled state-view entries into per-head evidence packets so\n * superseded records stay visible as ordered history instead of being\n * hidden or interleaved with another packet's entries. Pure. Surfaces wait.\n */\nimport type { StateLabel } from \"./recall-state-view.js\";\n\nexport type { StateLabel };\n\nexport interface StateViewEntry {\n memoryId: string;\n stateLabel: StateLabel;\n /** Id of the entry that superseded this one, when any. */\n supersededById?: string;\n}\n\nexport interface StateEvidencePacket {\n /** The current (or transition) entry this packet is about. */\n headId: string;\n /** Predecessors, nearest to head first. Never interleaved with other packets. */\n historyIds: string[];\n}\n\nexport interface StateEvidencePackets {\n packets: StateEvidencePacket[];\n /** Historical entries whose successor is absent from the input. */\n orphanHistoryIds: string[];\n}\n\nconst STATE_LABELS: readonly StateLabel[] = [\"current\", \"historical\", \"transition\"];\n\ninterface HeadResolution {\n headId: string;\n depth: number;\n}\n\ninterface Attachment {\n headId: string;\n historyId: string;\n depth: number;\n}\n\n/**\n * Walk supersededById forward through intermediate historical entries and\n * stop at the first current/transition successor. Returns undefined when the\n * walk dead-ends (no or blank successor, successor id absent from the input)\n * or revisits an id (cycle), so callers treat the entry as an orphan.\n */\nfunction resolveHead(\n entry: StateViewEntry,\n byId: ReadonlyMap<string, StateViewEntry>,\n): HeadResolution | undefined {\n const visited = new Set<string>();\n let current = entry;\n let depth = 0;\n for (;;) {\n const successorId = current.supersededById;\n if (successorId === undefined || successorId.trim() === \"\") return undefined;\n const successor = byId.get(successorId);\n if (successor === undefined) return undefined;\n depth += 1;\n if (successor.stateLabel !== \"historical\") return { headId: successorId, depth };\n if (visited.has(successorId)) return undefined;\n visited.add(successorId);\n current = successor;\n }\n}\n\nfunction compareStrings(a: string, b: string): number {\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\nfunction compareAttachments(a: Attachment, b: Attachment): number {\n if (a.headId !== b.headId) return compareStrings(a.headId, b.headId);\n if (a.depth !== b.depth) return a.depth < b.depth ? -1 : 1;\n return compareStrings(a.historyId, b.historyId);\n}\n\nexport function buildStateEvidencePackets(\n entries: readonly StateViewEntry[],\n): StateEvidencePackets {\n // Validate every label before any skip, dedup, or walk.\n for (const entry of entries) {\n if (!(STATE_LABELS as readonly string[]).includes(entry.stateLabel)) {\n throw new TypeError(\n `unknown state label ${JSON.stringify(entry.stateLabel)}; expected one of \"current\", \"historical\", \"transition\"`,\n );\n }\n }\n\n // Blank ids are ignored; on duplicate ids the first entry wins.\n const byId = new Map<string, StateViewEntry>();\n for (const entry of entries) {\n if (typeof entry.memoryId !== \"string\" || entry.memoryId.trim() === \"\") continue;\n if (!byId.has(entry.memoryId)) byId.set(entry.memoryId, entry);\n }\n\n // ponytail: per-entry chain walks are O(n^2) on one long chain; recall-sized\n // result sets stay tiny, memoize if packet building ever moves offline.\n const packets: StateEvidencePacket[] = [];\n const packetByHead = new Map<string, StateEvidencePacket>();\n const attachments: Attachment[] = [];\n const orphanHistoryIds: string[] = [];\n\n for (const [id, entry] of byId) {\n if (entry.stateLabel !== \"historical\") {\n const packet: StateEvidencePacket = { headId: id, historyIds: [] };\n packetByHead.set(id, packet);\n packets.push(packet);\n continue;\n }\n const head = resolveHead(entry, byId);\n if (head === undefined) orphanHistoryIds.push(id);\n else attachments.push({ headId: head.headId, historyId: id, depth: head.depth });\n }\n\n attachments.sort(compareAttachments);\n for (const attachment of attachments) {\n const packet = packetByHead.get(attachment.headId);\n if (packet) packet.historyIds.push(attachment.historyId);\n }\n\n packets.sort((a, b) => compareStrings(a.headId, b.headId));\n orphanHistoryIds.sort(compareStrings);\n return { packets, orphanHistoryIds };\n}\n"],"mappings":";;;AA+BA,IAAM,eAAsC,CAAC,WAAW,cAAc,YAAY;AAmBlF,SAAS,YACP,OACA,MAC4B;AAC5B,QAAM,UAAU,oBAAI,IAAY;AAChC,MAAI,UAAU;AACd,MAAI,QAAQ;AACZ,aAAS;AACP,UAAM,cAAc,QAAQ;AAC5B,QAAI,gBAAgB,UAAa,YAAY,KAAK,MAAM,GAAI,QAAO;AACnE,UAAM,YAAY,KAAK,IAAI,WAAW;AACtC,QAAI,cAAc,OAAW,QAAO;AACpC,aAAS;AACT,QAAI,UAAU,eAAe,aAAc,QAAO,EAAE,QAAQ,aAAa,MAAM;AAC/E,QAAI,QAAQ,IAAI,WAAW,EAAG,QAAO;AACrC,YAAQ,IAAI,WAAW;AACvB,cAAU;AAAA,EACZ;AACF;AAEA,SAAS,eAAe,GAAW,GAAmB;AACpD,SAAO,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI;AAClC;AAEA,SAAS,mBAAmB,GAAe,GAAuB;AAChE,MAAI,EAAE,WAAW,EAAE,OAAQ,QAAO,eAAe,EAAE,QAAQ,EAAE,MAAM;AACnE,MAAI,EAAE,UAAU,EAAE,MAAO,QAAO,EAAE,QAAQ,EAAE,QAAQ,KAAK;AACzD,SAAO,eAAe,EAAE,WAAW,EAAE,SAAS;AAChD;AAEO,SAAS,0BACd,SACsB;AAEtB,aAAW,SAAS,SAAS;AAC3B,QAAI,CAAE,aAAmC,SAAS,MAAM,UAAU,GAAG;AACnE,YAAM,IAAI;AAAA,QACR,uBAAuB,KAAK,UAAU,MAAM,UAAU,CAAC;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AAGA,QAAM,OAAO,oBAAI,IAA4B;AAC7C,aAAW,SAAS,SAAS;AAC3B,QAAI,OAAO,MAAM,aAAa,YAAY,MAAM,SAAS,KAAK,MAAM,GAAI;AACxE,QAAI,CAAC,KAAK,IAAI,MAAM,QAAQ,EAAG,MAAK,IAAI,MAAM,UAAU,KAAK;AAAA,EAC/D;AAIA,QAAM,UAAiC,CAAC;AACxC,QAAM,eAAe,oBAAI,IAAiC;AAC1D,QAAM,cAA4B,CAAC;AACnC,QAAM,mBAA6B,CAAC;AAEpC,aAAW,CAAC,IAAI,KAAK,KAAK,MAAM;AAC9B,QAAI,MAAM,eAAe,cAAc;AACrC,YAAM,SAA8B,EAAE,QAAQ,IAAI,YAAY,CAAC,EAAE;AACjE,mBAAa,IAAI,IAAI,MAAM;AAC3B,cAAQ,KAAK,MAAM;AACnB;AAAA,IACF;AACA,UAAM,OAAO,YAAY,OAAO,IAAI;AACpC,QAAI,SAAS,OAAW,kBAAiB,KAAK,EAAE;AAAA,QAC3C,aAAY,KAAK,EAAE,QAAQ,KAAK,QAAQ,WAAW,IAAI,OAAO,KAAK,MAAM,CAAC;AAAA,EACjF;AAEA,cAAY,KAAK,kBAAkB;AACnC,aAAW,cAAc,aAAa;AACpC,UAAM,SAAS,aAAa,IAAI,WAAW,MAAM;AACjD,QAAI,OAAQ,QAAO,WAAW,KAAK,WAAW,SAAS;AAAA,EACzD;AAEA,UAAQ,KAAK,CAAC,GAAG,MAAM,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC;AACzD,mBAAiB,KAAK,cAAc;AACpC,SAAO,EAAE,SAAS,iBAAiB;AACrC;","names":[]}
|