@remnic/core 9.69.16 → 9.69.17
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 +43 -39
- package/dist/access-authorization-probe.d.ts +1 -1
- package/dist/access-authorization-probe.js +44 -40
- package/dist/access-boundary.d.ts +1 -1
- package/dist/access-boundary.js +43 -39
- package/dist/access-cli.js +103 -102
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.d.ts +1 -1
- package/dist/access-extraction-force-flush.js +43 -39
- 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 +45 -41
- package/dist/access-http.d.ts +2 -2
- package/dist/access-http.js +63 -59
- package/dist/access-identity-continuity-surface.js +43 -39
- package/dist/access-lcm-surface.d.ts +1 -1
- package/dist/access-lcm-surface.js +43 -39
- package/dist/access-mcp-output-schemas.js +1 -1
- package/dist/access-mcp.d.ts +1 -1
- package/dist/access-mcp.js +54 -50
- package/dist/access-namespace-preflight.js +43 -39
- package/dist/access-observe-transcript.d.ts +147 -0
- package/dist/access-observe-transcript.js +16 -0
- package/dist/access-observe-write-surface.d.ts +2 -1
- package/dist/access-observe-write-surface.js +43 -39
- package/dist/access-offline-manifest.js +3 -3
- package/dist/access-operations-batch.js +46 -42
- package/dist/access-operations.d.ts +2 -2
- package/dist/access-operations.js +51 -47
- package/dist/access-recall-concurrency.d.ts +1 -1
- package/dist/access-recall-concurrency.js +43 -39
- package/dist/access-recall-response.d.ts +1 -1
- package/dist/access-recall-response.js +43 -39
- package/dist/access-recall-surface.d.ts +1 -1
- package/dist/access-recall-surface.js +43 -39
- package/dist/access-schema.d.ts +4 -4
- package/dist/access-schema.js +5 -5
- package/dist/{access-service-tcC_jK6C.d.ts → access-service-DmDS8Y5P.d.ts} +9 -0
- package/dist/access-service-helpers.d.ts +1 -1
- package/dist/access-service.d.ts +1 -1
- package/dist/access-service.js +43 -39
- package/dist/access-surface-catalog.d.ts +1 -1
- package/dist/access-surface-catalog.js +45 -41
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +6 -6
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/{auto-sync-Q6Q2FVSC.js → auto-sync-GRUJFD2F.js} +3 -3
- package/dist/briefing.js +13 -13
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.js +15 -15
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.js +2 -2
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-LEPOP46W.js → chunk-227UFSEQ.js} +4 -4
- package/dist/{chunk-AU7Q3LSC.js → chunk-2QSZNTDO.js} +4 -4
- package/dist/{chunk-P6GKRT2H.js → chunk-2Z3DG5CQ.js} +1 -1
- package/dist/{chunk-MSDIETFC.js → chunk-376CEAYL.js} +53 -44
- package/dist/chunk-376CEAYL.js.map +1 -0
- package/dist/{chunk-XMIAU4CO.js → chunk-3ZAZ77WB.js} +2 -2
- package/dist/{chunk-3TSU662L.js → chunk-46QMN7I7.js} +5 -5
- package/dist/{chunk-LF6SHWVV.js → chunk-5CX3NSR7.js} +2 -2
- package/dist/{chunk-QRDSXR3V.js → chunk-5DRBG5U6.js} +2 -2
- package/dist/{chunk-I4QAH4SY.js → chunk-5J36BYRI.js} +3 -3
- package/dist/{chunk-7JV4JST3.js → chunk-5Z6JYMK4.js} +44 -44
- package/dist/{chunk-JGXMA6HL.js → chunk-6FUMA6AA.js} +2 -2
- package/dist/{chunk-K2IJH4D3.js → chunk-7RRUHJPG.js} +7 -7
- package/dist/{chunk-NNBZS3DY.js → chunk-AG46P24C.js} +4 -4
- package/dist/{chunk-QUVWFZOU.js → chunk-AYHPGLG6.js} +2 -2
- package/dist/{chunk-S35IIP5P.js → chunk-B67W7CBL.js} +2 -2
- package/dist/{chunk-OLBZ2WGG.js → chunk-C2JCVZWX.js} +2 -2
- package/dist/{chunk-S5G2LAL7.js → chunk-CHWUICVY.js} +4 -4
- package/dist/{chunk-XQGFIAG7.js → chunk-CM3JBYD4.js} +2 -2
- package/dist/{chunk-F2ERDKY2.js → chunk-CWPVXVIT.js} +16 -16
- package/dist/{chunk-BE4Y6GK6.js → chunk-D35XLYQ7.js} +11 -11
- package/dist/{chunk-P7LVYPIX.js → chunk-DBLVQROL.js} +3 -3
- package/dist/{chunk-5H2G5X4R.js → chunk-DGKQVGLC.js} +3 -3
- package/dist/{chunk-M7DGN6JZ.js → chunk-EQEP23JK.js} +2 -2
- package/dist/{chunk-I6DUKBUI.js → chunk-EYKDBZB3.js} +2 -2
- package/dist/{chunk-LUDXSSTW.js → chunk-FCL6ENLF.js} +2 -2
- package/dist/{chunk-LJAP4KSW.js → chunk-FK2SJX27.js} +2 -2
- package/dist/{chunk-4WIKMOE3.js → chunk-GF7QLY6E.js} +1 -1
- package/dist/{chunk-B64IVEOH.js → chunk-GI726D4G.js} +2 -2
- package/dist/{chunk-NHLEFBE2.js → chunk-I4Y6TBD7.js} +3 -3
- package/dist/{chunk-BO4PWIJY.js → chunk-I672YBXY.js} +3 -3
- package/dist/{chunk-HODFGQGT.js → chunk-IDZU6I4H.js} +2 -2
- package/dist/{chunk-OAKATRAN.js → chunk-IO4OJ73B.js} +10 -10
- package/dist/{chunk-CTCGHNWN.js → chunk-J2R275FN.js} +4 -4
- package/dist/{chunk-C25N5HWX.js → chunk-J6HRJ37H.js} +2 -2
- package/dist/{chunk-XJJYSX6F.js → chunk-JCUG7AXZ.js} +4 -4
- package/dist/{chunk-BX6GW4KC.js → chunk-JMAG7WZ7.js} +2 -2
- package/dist/{chunk-7LCGFUMB.js → chunk-KQAFEZQX.js} +4 -4
- package/dist/{chunk-BEXFNGQ3.js → chunk-LE7B5ETE.js} +3 -3
- package/dist/chunk-LVE64P5Y.js +80 -0
- package/dist/chunk-LVE64P5Y.js.map +1 -0
- package/dist/{chunk-VAMZYOOV.js → chunk-MAIBNEB6.js} +2 -2
- package/dist/{chunk-VYD63IFH.js → chunk-N3DSSCOR.js} +2 -2
- package/dist/{chunk-IEZ6CGTW.js → chunk-N3SS45OW.js} +115 -55
- package/dist/chunk-N3SS45OW.js.map +1 -0
- package/dist/{chunk-SXHBZXHK.js → chunk-NAOAZASM.js} +5 -5
- package/dist/{chunk-3BS2OGDT.js → chunk-NCUODVUI.js} +5 -5
- package/dist/{chunk-63I7LMLG.js → chunk-NISCAOSR.js} +2 -2
- package/dist/{chunk-YWN3GYI2.js → chunk-NYFWBYY4.js} +2 -2
- package/dist/{chunk-BIJAWZYW.js → chunk-OLT3YTDH.js} +4 -4
- package/dist/{chunk-BFDOBESV.js → chunk-QFMFZILG.js} +2 -2
- package/dist/{chunk-G7VEQEMG.js → chunk-QVSRE355.js} +65 -39
- package/dist/chunk-QVSRE355.js.map +1 -0
- package/dist/{chunk-N37X5RU7.js → chunk-RACZB5HT.js} +4 -4
- package/dist/{chunk-5JQV4T5Q.js → chunk-ROHBPMWD.js} +2 -2
- package/dist/{chunk-ZKZCJRRO.js → chunk-S6ZZOFVJ.js} +2 -2
- package/dist/{chunk-KLSPKMIO.js → chunk-SJ5JGIBT.js} +2 -2
- package/dist/{chunk-JHTF22NQ.js → chunk-TA7UZZMW.js} +2 -2
- package/dist/{chunk-2XJDAEAM.js → chunk-V5RWV5DK.js} +5 -5
- package/dist/{chunk-2EHDPHMD.js → chunk-W7M7NKR7.js} +2 -2
- package/dist/{chunk-4UVDLNHQ.js → chunk-WHO6ITU7.js} +2 -2
- package/dist/{chunk-7ZMU4XQT.js → chunk-WMZ6F7GY.js} +2 -2
- package/dist/{chunk-W6GEMUZM.js → chunk-WOEKJPJG.js} +13 -13
- package/dist/{chunk-5YQ7RFSO.js → chunk-WP37SBRE.js} +2 -2
- package/dist/{chunk-RJ57OOCD.js → chunk-X66BHMAU.js} +2 -2
- package/dist/{chunk-W272SWN7.js → chunk-X73YCO3E.js} +6 -6
- package/dist/{chunk-PAWIY5OQ.js → chunk-XAJWPB2V.js} +6 -6
- package/dist/{chunk-QVI63XSO.js → chunk-XR6LLNLU.js} +48 -48
- package/dist/{chunk-GIC6BASP.js → chunk-XZBXINXZ.js} +4 -4
- package/dist/{chunk-APZXA4WI.js → chunk-Y7E5SUZ6.js} +2 -2
- package/dist/{chunk-LDOQE34V.js → chunk-YCJASQMN.js} +2 -2
- package/dist/{chunk-H5IIBGDM.js → chunk-YYE5MKRX.js} +2 -2
- package/dist/{chunk-TRLCMLX7.js → chunk-YYP5GM6J.js} +2 -2
- package/dist/{chunk-OUKBMQ2O.js → chunk-Z3SQEEB6.js} +2 -2
- package/dist/{chunk-NN5CQTAJ.js → chunk-ZEBRENA6.js} +2 -2
- package/dist/{cli-BI9YYpKx.d.ts → cli-CYQIKncA.d.ts} +1 -1
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +85 -81
- package/dist/coding/export-okf-codegraph.js +12 -12
- package/dist/coding/pre-action-gate.js +2 -2
- package/dist/compounding/engine.js +12 -12
- package/dist/config.js +6 -6
- package/dist/connectors/codex-materialize-runner.js +12 -12
- package/dist/connectors/index.js +12 -12
- package/dist/convergence-refresh.js +14 -14
- package/dist/conversation-index/backend.js +2 -2
- package/dist/corpus-watermark.js +14 -14
- package/dist/deep-recall-http-glue.d.ts +1 -1
- package/dist/deep-recall-http-glue.js +6 -6
- package/dist/deep-recall-mcp-tools.d.ts +1 -1
- package/dist/deep-recall.js +2 -2
- package/dist/entity-retrieval.js +12 -12
- package/dist/external-wiki-access.d.ts +1 -1
- package/dist/external-wiki-access.js +44 -40
- package/dist/external-wiki-mcp-tools.d.ts +1 -1
- package/dist/extraction.js +15 -15
- package/dist/{graph-edge-decay-FXGELBFA.js → graph-edge-decay-DGTBFALQ.js} +4 -4
- package/dist/graph-edge-decay-DGTBFALQ.js.map +1 -0
- package/dist/graph-snapshot.js +3 -3
- package/dist/graph.js +2 -2
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +119 -118
- package/dist/location/index.js +14 -14
- package/dist/maintenance/memory-governance.js +12 -12
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +12 -12
- package/dist/maintenance/rebuild-memory-projection.js +13 -13
- 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 +13 -13
- package/dist/namespaces/search.js +9 -9
- package/dist/namespaces/storage.js +12 -12
- package/dist/offline-sync.js +2 -2
- package/dist/operator-doctor-corpus.js +15 -15
- package/dist/operator-toolkit.js +28 -28
- package/dist/orchestration/maintenance.js +20 -20
- package/dist/orchestrator.js +103 -102
- package/dist/{public-http-Bocro5ZU.d.ts → public-http-C_hWt6I8.d.ts} +1 -1
- package/dist/resume-bundles.js +7 -7
- package/dist/search/factory.js +8 -8
- package/dist/search/index.js +13 -13
- 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 +13 -13
- package/dist/semantic-rule-promotion.js +12 -12
- package/dist/semantic-rule-verifier.js +12 -12
- package/dist/source-agent-qualifier.js +12 -12
- package/dist/standup/build.js +12 -12
- package/dist/storage.js +11 -11
- package/dist/summarizer.d.ts +29 -3
- package/dist/summarizer.js +6 -4
- package/dist/support-passport/index.d.ts +4 -4
- package/dist/support-passport/index.js +46 -42
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/export-okf.js +13 -13
- package/dist/verified-recall.js +12 -12
- package/dist/who-knows-cli.d.ts +1 -1
- package/dist/who-knows-cli.js +13 -13
- package/dist/who-knows.d.ts +1 -1
- package/dist/who-knows.js +12 -12
- package/package.json +2 -2
- package/src/access-mcp-output-schemas.ts +60 -34
- package/src/access-observe-transcript-persistence.test.ts +252 -0
- package/src/access-observe-transcript.ts +153 -0
- package/src/access-observe-write-surface.ts +234 -224
- package/src/access-service.ts +33 -28
- package/src/summarizer.ts +217 -111
- package/src/summary-snapshot.test.ts +8 -6
- package/dist/chunk-G7VEQEMG.js.map +0 -1
- package/dist/chunk-IEZ6CGTW.js.map +0 -1
- package/dist/chunk-MSDIETFC.js.map +0 -1
- /package/dist/{graph-edge-decay-FXGELBFA.js.map → access-observe-transcript.js.map} +0 -0
- /package/dist/{auto-sync-Q6Q2FVSC.js.map → auto-sync-GRUJFD2F.js.map} +0 -0
- /package/dist/{chunk-LEPOP46W.js.map → chunk-227UFSEQ.js.map} +0 -0
- /package/dist/{chunk-AU7Q3LSC.js.map → chunk-2QSZNTDO.js.map} +0 -0
- /package/dist/{chunk-P6GKRT2H.js.map → chunk-2Z3DG5CQ.js.map} +0 -0
- /package/dist/{chunk-XMIAU4CO.js.map → chunk-3ZAZ77WB.js.map} +0 -0
- /package/dist/{chunk-3TSU662L.js.map → chunk-46QMN7I7.js.map} +0 -0
- /package/dist/{chunk-LF6SHWVV.js.map → chunk-5CX3NSR7.js.map} +0 -0
- /package/dist/{chunk-QRDSXR3V.js.map → chunk-5DRBG5U6.js.map} +0 -0
- /package/dist/{chunk-I4QAH4SY.js.map → chunk-5J36BYRI.js.map} +0 -0
- /package/dist/{chunk-7JV4JST3.js.map → chunk-5Z6JYMK4.js.map} +0 -0
- /package/dist/{chunk-JGXMA6HL.js.map → chunk-6FUMA6AA.js.map} +0 -0
- /package/dist/{chunk-K2IJH4D3.js.map → chunk-7RRUHJPG.js.map} +0 -0
- /package/dist/{chunk-NNBZS3DY.js.map → chunk-AG46P24C.js.map} +0 -0
- /package/dist/{chunk-QUVWFZOU.js.map → chunk-AYHPGLG6.js.map} +0 -0
- /package/dist/{chunk-S35IIP5P.js.map → chunk-B67W7CBL.js.map} +0 -0
- /package/dist/{chunk-OLBZ2WGG.js.map → chunk-C2JCVZWX.js.map} +0 -0
- /package/dist/{chunk-S5G2LAL7.js.map → chunk-CHWUICVY.js.map} +0 -0
- /package/dist/{chunk-XQGFIAG7.js.map → chunk-CM3JBYD4.js.map} +0 -0
- /package/dist/{chunk-F2ERDKY2.js.map → chunk-CWPVXVIT.js.map} +0 -0
- /package/dist/{chunk-BE4Y6GK6.js.map → chunk-D35XLYQ7.js.map} +0 -0
- /package/dist/{chunk-P7LVYPIX.js.map → chunk-DBLVQROL.js.map} +0 -0
- /package/dist/{chunk-5H2G5X4R.js.map → chunk-DGKQVGLC.js.map} +0 -0
- /package/dist/{chunk-M7DGN6JZ.js.map → chunk-EQEP23JK.js.map} +0 -0
- /package/dist/{chunk-I6DUKBUI.js.map → chunk-EYKDBZB3.js.map} +0 -0
- /package/dist/{chunk-LUDXSSTW.js.map → chunk-FCL6ENLF.js.map} +0 -0
- /package/dist/{chunk-LJAP4KSW.js.map → chunk-FK2SJX27.js.map} +0 -0
- /package/dist/{chunk-4WIKMOE3.js.map → chunk-GF7QLY6E.js.map} +0 -0
- /package/dist/{chunk-B64IVEOH.js.map → chunk-GI726D4G.js.map} +0 -0
- /package/dist/{chunk-NHLEFBE2.js.map → chunk-I4Y6TBD7.js.map} +0 -0
- /package/dist/{chunk-BO4PWIJY.js.map → chunk-I672YBXY.js.map} +0 -0
- /package/dist/{chunk-HODFGQGT.js.map → chunk-IDZU6I4H.js.map} +0 -0
- /package/dist/{chunk-OAKATRAN.js.map → chunk-IO4OJ73B.js.map} +0 -0
- /package/dist/{chunk-CTCGHNWN.js.map → chunk-J2R275FN.js.map} +0 -0
- /package/dist/{chunk-C25N5HWX.js.map → chunk-J6HRJ37H.js.map} +0 -0
- /package/dist/{chunk-XJJYSX6F.js.map → chunk-JCUG7AXZ.js.map} +0 -0
- /package/dist/{chunk-BX6GW4KC.js.map → chunk-JMAG7WZ7.js.map} +0 -0
- /package/dist/{chunk-7LCGFUMB.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-BEXFNGQ3.js.map → chunk-LE7B5ETE.js.map} +0 -0
- /package/dist/{chunk-VAMZYOOV.js.map → chunk-MAIBNEB6.js.map} +0 -0
- /package/dist/{chunk-VYD63IFH.js.map → chunk-N3DSSCOR.js.map} +0 -0
- /package/dist/{chunk-SXHBZXHK.js.map → chunk-NAOAZASM.js.map} +0 -0
- /package/dist/{chunk-3BS2OGDT.js.map → chunk-NCUODVUI.js.map} +0 -0
- /package/dist/{chunk-63I7LMLG.js.map → chunk-NISCAOSR.js.map} +0 -0
- /package/dist/{chunk-YWN3GYI2.js.map → chunk-NYFWBYY4.js.map} +0 -0
- /package/dist/{chunk-BIJAWZYW.js.map → chunk-OLT3YTDH.js.map} +0 -0
- /package/dist/{chunk-BFDOBESV.js.map → chunk-QFMFZILG.js.map} +0 -0
- /package/dist/{chunk-N37X5RU7.js.map → chunk-RACZB5HT.js.map} +0 -0
- /package/dist/{chunk-5JQV4T5Q.js.map → chunk-ROHBPMWD.js.map} +0 -0
- /package/dist/{chunk-ZKZCJRRO.js.map → chunk-S6ZZOFVJ.js.map} +0 -0
- /package/dist/{chunk-KLSPKMIO.js.map → chunk-SJ5JGIBT.js.map} +0 -0
- /package/dist/{chunk-JHTF22NQ.js.map → chunk-TA7UZZMW.js.map} +0 -0
- /package/dist/{chunk-2XJDAEAM.js.map → chunk-V5RWV5DK.js.map} +0 -0
- /package/dist/{chunk-2EHDPHMD.js.map → chunk-W7M7NKR7.js.map} +0 -0
- /package/dist/{chunk-4UVDLNHQ.js.map → chunk-WHO6ITU7.js.map} +0 -0
- /package/dist/{chunk-7ZMU4XQT.js.map → chunk-WMZ6F7GY.js.map} +0 -0
- /package/dist/{chunk-W6GEMUZM.js.map → chunk-WOEKJPJG.js.map} +0 -0
- /package/dist/{chunk-5YQ7RFSO.js.map → chunk-WP37SBRE.js.map} +0 -0
- /package/dist/{chunk-RJ57OOCD.js.map → chunk-X66BHMAU.js.map} +0 -0
- /package/dist/{chunk-W272SWN7.js.map → chunk-X73YCO3E.js.map} +0 -0
- /package/dist/{chunk-PAWIY5OQ.js.map → chunk-XAJWPB2V.js.map} +0 -0
- /package/dist/{chunk-QVI63XSO.js.map → chunk-XR6LLNLU.js.map} +0 -0
- /package/dist/{chunk-GIC6BASP.js.map → chunk-XZBXINXZ.js.map} +0 -0
- /package/dist/{chunk-APZXA4WI.js.map → chunk-Y7E5SUZ6.js.map} +0 -0
- /package/dist/{chunk-LDOQE34V.js.map → chunk-YCJASQMN.js.map} +0 -0
- /package/dist/{chunk-H5IIBGDM.js.map → chunk-YYE5MKRX.js.map} +0 -0
- /package/dist/{chunk-TRLCMLX7.js.map → chunk-YYP5GM6J.js.map} +0 -0
- /package/dist/{chunk-OUKBMQ2O.js.map → chunk-Z3SQEEB6.js.map} +0 -0
- /package/dist/{chunk-NN5CQTAJ.js.map → chunk-ZEBRENA6.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-KJTKLXTH.js";
|
|
4
4
|
import {
|
|
5
5
|
StorageManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-N3DSSCOR.js";
|
|
7
7
|
import {
|
|
8
8
|
assertInjectedStorageRooted
|
|
9
9
|
} from "./chunk-JRRQ747T.js";
|
|
@@ -260,4 +260,4 @@ export {
|
|
|
260
260
|
backupExistingLedger,
|
|
261
261
|
rebuildMemoryLifecycleLedger
|
|
262
262
|
};
|
|
263
|
-
//# sourceMappingURL=chunk-
|
|
263
|
+
//# sourceMappingURL=chunk-EYKDBZB3.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseEntityFile
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-N3DSSCOR.js";
|
|
4
4
|
import {
|
|
5
5
|
inferMemoryStatus
|
|
6
6
|
} from "./chunk-7RJUVTVF.js";
|
|
@@ -253,4 +253,4 @@ export {
|
|
|
253
253
|
WHO_KNOWS_MCP_TOOLS,
|
|
254
254
|
handleWhoKnowsHttpQuery
|
|
255
255
|
};
|
|
256
|
-
//# sourceMappingURL=chunk-
|
|
256
|
+
//# sourceMappingURL=chunk-FCL6ENLF.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-B7RWBZXW.js";
|
|
4
4
|
import {
|
|
5
5
|
StorageManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-N3DSSCOR.js";
|
|
7
7
|
import {
|
|
8
8
|
getCachedEpisodeMap,
|
|
9
9
|
setCachedEpisodeMap
|
|
@@ -109,4 +109,4 @@ export {
|
|
|
109
109
|
compareVerifiedEpisodeResults,
|
|
110
110
|
searchVerifiedEpisodes
|
|
111
111
|
};
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
112
|
+
//# sourceMappingURL=chunk-FK2SJX27.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
getOperation,
|
|
4
4
|
operationRequiresAuthorizedNamespace,
|
|
5
5
|
operationUsesPrincipalNamespace
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-376CEAYL.js";
|
|
7
7
|
import {
|
|
8
8
|
assertOperationAuthorizationAllowed
|
|
9
9
|
} from "./chunk-MZWSOLMT.js";
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
authorizationProbeNamespaces,
|
|
61
61
|
authorizationProbeRequiresPrincipalNamespace
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-GI726D4G.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isValidCapsuleSince
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-KQAFEZQX.js";
|
|
4
4
|
import {
|
|
5
5
|
CAPSULE_ID_PATTERN
|
|
6
6
|
} from "./chunk-WEHSQBFR.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
|
|
14
14
|
OFFLINE_SYNC_MAX_MTIME_MS
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-JCUG7AXZ.js";
|
|
16
16
|
import {
|
|
17
17
|
validateArchiveRelativePath
|
|
18
18
|
} from "./chunk-GCGJW34D.js";
|
|
@@ -492,4 +492,4 @@ export {
|
|
|
492
492
|
actionConfidenceRequestSchema,
|
|
493
493
|
validateRequest
|
|
494
494
|
};
|
|
495
|
-
//# sourceMappingURL=chunk-
|
|
495
|
+
//# sourceMappingURL=chunk-I4Y6TBD7.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
hasMemoryData
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W7M7NKR7.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveNamespaceStorageRoot
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WHO6ITU7.js";
|
|
7
7
|
import {
|
|
8
8
|
getConfiguredNamespaces
|
|
9
9
|
} from "./chunk-EGALNSZ4.js";
|
|
@@ -724,4 +724,4 @@ export {
|
|
|
724
724
|
runNamespaceMaintenancePlan,
|
|
725
725
|
runNamespaceMaintenanceBatchPlan
|
|
726
726
|
};
|
|
727
|
-
//# sourceMappingURL=chunk-
|
|
727
|
+
//# sourceMappingURL=chunk-I672YBXY.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runLocationSync
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DGKQVGLC.js";
|
|
4
4
|
import {
|
|
5
5
|
log
|
|
6
6
|
} from "./chunk-3WCASNQZ.js";
|
|
@@ -58,4 +58,4 @@ export {
|
|
|
58
58
|
LOCATION_SYNC_DEFAULT_INTERVAL_MS,
|
|
59
59
|
startLocationAutoSync
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-IDZU6I4H.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
readNamespaceMaintenanceLastRanStatuses,
|
|
4
4
|
readNamespaceMaintenanceStatuses,
|
|
5
5
|
runNamespaceMaintenancePlan
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-I672YBXY.js";
|
|
7
7
|
import {
|
|
8
8
|
analyzeSessionIntegrity,
|
|
9
9
|
applySessionRepair,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-CMTINOFS.js";
|
|
15
15
|
import {
|
|
16
16
|
summarizeCorpusAndReplica
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WMZ6F7GY.js";
|
|
18
18
|
import {
|
|
19
19
|
readJudgeVerdictStats
|
|
20
20
|
} from "./chunk-OZKOPQCM.js";
|
|
@@ -38,23 +38,23 @@ import {
|
|
|
38
38
|
} from "./chunk-YBPYIAA5.js";
|
|
39
39
|
import {
|
|
40
40
|
parseConfig
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-X73YCO3E.js";
|
|
42
42
|
import {
|
|
43
43
|
readAggregateExtractionWatermark
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-AYHPGLG6.js";
|
|
45
45
|
import {
|
|
46
46
|
listMemoryGovernanceRuns,
|
|
47
47
|
readMemoryGovernanceRunArtifact
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-YCJASQMN.js";
|
|
49
49
|
import {
|
|
50
50
|
listNamespaces
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-DBLVQROL.js";
|
|
52
52
|
import {
|
|
53
53
|
analyzeGraphHealth
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-OLT3YTDH.js";
|
|
55
55
|
import {
|
|
56
56
|
StorageManager
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-N3DSSCOR.js";
|
|
58
58
|
import {
|
|
59
59
|
lintWorkspaceFiles
|
|
60
60
|
} from "./chunk-DM2T26WE.js";
|
|
@@ -1069,7 +1069,7 @@ async function summarizeBufferSurpriseDistribution(storage, config) {
|
|
|
1069
1069
|
}
|
|
1070
1070
|
}
|
|
1071
1071
|
async function summarizeGraphEdgeDecayStatus(config) {
|
|
1072
|
-
const { readGraphEdgeDecayStatus } = await import("./graph-edge-decay-
|
|
1072
|
+
const { readGraphEdgeDecayStatus } = await import("./graph-edge-decay-DGTBFALQ.js");
|
|
1073
1073
|
const { graphEdgeDecayEnabled } = config;
|
|
1074
1074
|
const enabled = graphEdgeDecayEnabled === true;
|
|
1075
1075
|
if (!enabled) {
|
|
@@ -1683,4 +1683,4 @@ export {
|
|
|
1683
1683
|
runBenchmarkRecall,
|
|
1684
1684
|
runOperatorRepair
|
|
1685
1685
|
};
|
|
1686
|
-
//# sourceMappingURL=chunk-
|
|
1686
|
+
//# sourceMappingURL=chunk-IO4OJ73B.js.map
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
requestEntityCanonicalIdReconcile,
|
|
14
14
|
withRawEntityPageMutation
|
|
15
15
|
} from "./chunk-NNZFPYYX.js";
|
|
16
|
+
import {
|
|
17
|
+
parseExportBundle
|
|
18
|
+
} from "./chunk-WEHSQBFR.js";
|
|
16
19
|
import {
|
|
17
20
|
decryptCapsuleFileInMemory,
|
|
18
21
|
isEncryptedCapsuleFile
|
|
19
22
|
} from "./chunk-X7Y7WX73.js";
|
|
20
|
-
import {
|
|
21
|
-
parseExportBundle
|
|
22
|
-
} from "./chunk-WEHSQBFR.js";
|
|
23
23
|
import {
|
|
24
24
|
assertIsDirectoryNotSymlink,
|
|
25
25
|
assertRealpathInsideRoot,
|
|
@@ -294,4 +294,4 @@ function mintForkId(capsuleId, originalId, now) {
|
|
|
294
294
|
export {
|
|
295
295
|
importCapsule
|
|
296
296
|
};
|
|
297
|
-
//# sourceMappingURL=chunk-
|
|
297
|
+
//# sourceMappingURL=chunk-J2R275FN.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-7T4TOGMS.js";
|
|
4
4
|
import {
|
|
5
5
|
defineOperation
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-376CEAYL.js";
|
|
7
7
|
|
|
8
8
|
// src/external-wiki-access.ts
|
|
9
9
|
import { z } from "zod";
|
|
@@ -26,4 +26,4 @@ var externalWikiSearchOperation = defineOperation({
|
|
|
26
26
|
export {
|
|
27
27
|
externalWikiSearchOperation
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-J6HRJ37H.js.map
|
|
@@ -7,15 +7,15 @@ import {
|
|
|
7
7
|
sha256Bytes,
|
|
8
8
|
validateArchiveRelativePath
|
|
9
9
|
} from "./chunk-GCGJW34D.js";
|
|
10
|
-
import {
|
|
11
|
-
DEFAULT_OFFLINE_SYNC_EXCLUDE_GLOBS
|
|
12
|
-
} from "./chunk-AREGMX2J.js";
|
|
13
10
|
import {
|
|
14
11
|
isEncryptedOfflineSyncFile,
|
|
15
12
|
readPlainOfflineSyncFileChunk,
|
|
16
13
|
sha256OfflineSyncFile,
|
|
17
14
|
shouldExcludeOfflineSyncFile
|
|
18
15
|
} from "./chunk-NBP4EX5N.js";
|
|
16
|
+
import {
|
|
17
|
+
DEFAULT_OFFLINE_SYNC_EXCLUDE_GLOBS
|
|
18
|
+
} from "./chunk-AREGMX2J.js";
|
|
19
19
|
import {
|
|
20
20
|
CENSUS_MAX_MTIME_MS,
|
|
21
21
|
isCensusMtimeMs,
|
|
@@ -1894,4 +1894,4 @@ export {
|
|
|
1894
1894
|
normalizeOfflineSyncState,
|
|
1895
1895
|
fileStatesFromSnapshot
|
|
1896
1896
|
};
|
|
1897
|
-
//# sourceMappingURL=chunk-
|
|
1897
|
+
//# sourceMappingURL=chunk-JCUG7AXZ.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-B7RWBZXW.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveCausalTrajectoryStoreDir
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2Z3DG5CQ.js";
|
|
7
7
|
import {
|
|
8
8
|
normalizeRecallTokens
|
|
9
9
|
} from "./chunk-YCVB7X56.js";
|
|
@@ -339,4 +339,4 @@ export {
|
|
|
339
339
|
scoreStitchCandidate,
|
|
340
340
|
stitchCausalChain
|
|
341
341
|
};
|
|
342
|
-
//# sourceMappingURL=chunk-
|
|
342
|
+
//# sourceMappingURL=chunk-JMAG7WZ7.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
encryptCapsuleFile
|
|
3
|
-
} from "./chunk-X7Y7WX73.js";
|
|
4
1
|
import {
|
|
5
2
|
CAPSULE_ID_PATTERN,
|
|
6
3
|
CapsuleBlockSchema,
|
|
7
4
|
ExportBundleV2Schema,
|
|
8
5
|
ExportManifestV2Schema
|
|
9
6
|
} from "./chunk-WEHSQBFR.js";
|
|
7
|
+
import {
|
|
8
|
+
encryptCapsuleFile
|
|
9
|
+
} from "./chunk-X7Y7WX73.js";
|
|
10
10
|
import {
|
|
11
11
|
CAPSULE_SCHEMA_VERSION,
|
|
12
12
|
EXPORT_FORMAT
|
|
@@ -261,4 +261,4 @@ export {
|
|
|
261
261
|
exportCapsule,
|
|
262
262
|
isValidCapsuleSince
|
|
263
263
|
};
|
|
264
|
-
//# sourceMappingURL=chunk-
|
|
264
|
+
//# sourceMappingURL=chunk-KQAFEZQX.js.map
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
listMemoryGovernanceRuns,
|
|
9
9
|
readMemoryGovernanceRunArtifact
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YCJASQMN.js";
|
|
11
11
|
import {
|
|
12
12
|
StorageManager
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-N3DSSCOR.js";
|
|
14
14
|
import {
|
|
15
15
|
normalizeProjectionPreview,
|
|
16
16
|
normalizeProjectionTags
|
|
@@ -1005,4 +1005,4 @@ export {
|
|
|
1005
1005
|
verifyMemoryProjection,
|
|
1006
1006
|
repairMemoryProjection
|
|
1007
1007
|
};
|
|
1008
|
-
//# sourceMappingURL=chunk-
|
|
1008
|
+
//# sourceMappingURL=chunk-LE7B5ETE.js.map
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {
|
|
2
|
+
lcmSessionKeyForNamespace
|
|
3
|
+
} from "./chunk-QBC33MPY.js";
|
|
4
|
+
import {
|
|
5
|
+
log
|
|
6
|
+
} from "./chunk-3WCASNQZ.js";
|
|
7
|
+
|
|
8
|
+
// src/access-observe-transcript.ts
|
|
9
|
+
import { createHash, randomUUID } from "crypto";
|
|
10
|
+
var OBSERVE_TRANSCRIPT_DEDUPE_MAX_ENTRIES = 8192;
|
|
11
|
+
var OBSERVE_TRANSCRIPT_MIN_CONTENT_CHARS = 10;
|
|
12
|
+
var OBSERVE_TRANSCRIPT_DEDUPE_TTL_MS = 10 * 60 * 1e3;
|
|
13
|
+
function observeTranscriptSessionKey(sessionKey, writeNamespace, config) {
|
|
14
|
+
return lcmSessionKeyForNamespace(writeNamespace, sessionKey, config.defaultNamespace) ?? sessionKey;
|
|
15
|
+
}
|
|
16
|
+
var ObserveTranscriptPersister = class {
|
|
17
|
+
seenFingerprintsAt = /* @__PURE__ */ new Map();
|
|
18
|
+
/** In-flight appends by fingerprint: an overlapping identical observe waits for the first append instead of double-writing. */
|
|
19
|
+
inflightAppends = /* @__PURE__ */ new Map();
|
|
20
|
+
/**
|
|
21
|
+
* Append every eligible message of an observe payload to the per-session
|
|
22
|
+
* transcript store. Best-effort: a failing append logs and does not fail
|
|
23
|
+
* the observe. Returns true when at least one turn was appended.
|
|
24
|
+
*/
|
|
25
|
+
async persist(orchestrator, sessionKey, messages, rawSessionKey) {
|
|
26
|
+
let persisted = false;
|
|
27
|
+
const { channelType } = orchestrator.transcript.getTranscriptPath(rawSessionKey ?? sessionKey);
|
|
28
|
+
if (orchestrator.config.transcriptSkipChannelTypes.includes(channelType)) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
for (const message of messages) {
|
|
32
|
+
if (message.content.length < OBSERVE_TRANSCRIPT_MIN_CONTENT_CHARS) continue;
|
|
33
|
+
const fingerprint = createHash("sha256").update(`${sessionKey}\0${message.role}\0${message.content}`).digest("hex");
|
|
34
|
+
for (let attempt = 0; attempt < 2; attempt++) {
|
|
35
|
+
const seenAt = this.seenFingerprintsAt.get(fingerprint);
|
|
36
|
+
if (seenAt !== void 0 && Date.now() - seenAt < OBSERVE_TRANSCRIPT_DEDUPE_TTL_MS) {
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
const inflight = this.inflightAppends.get(fingerprint);
|
|
40
|
+
if (inflight) {
|
|
41
|
+
await inflight;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const entry = {
|
|
45
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
46
|
+
role: message.role,
|
|
47
|
+
content: message.content,
|
|
48
|
+
sessionKey,
|
|
49
|
+
turnId: randomUUID()
|
|
50
|
+
};
|
|
51
|
+
const appendPromise = orchestrator.transcript.append(entry).then(() => {
|
|
52
|
+
this.remember(fingerprint);
|
|
53
|
+
persisted = true;
|
|
54
|
+
}).catch((err) => {
|
|
55
|
+
log.error(`access-observe transcript append failed: ${err}`);
|
|
56
|
+
}).finally(() => {
|
|
57
|
+
this.inflightAppends.delete(fingerprint);
|
|
58
|
+
});
|
|
59
|
+
this.inflightAppends.set(fingerprint, appendPromise);
|
|
60
|
+
await appendPromise;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return persisted;
|
|
65
|
+
}
|
|
66
|
+
remember(fingerprint) {
|
|
67
|
+
this.seenFingerprintsAt.delete(fingerprint);
|
|
68
|
+
this.seenFingerprintsAt.set(fingerprint, Date.now());
|
|
69
|
+
if (this.seenFingerprintsAt.size > OBSERVE_TRANSCRIPT_DEDUPE_MAX_ENTRIES) {
|
|
70
|
+
const oldest = this.seenFingerprintsAt.keys().next().value;
|
|
71
|
+
if (typeof oldest === "string") this.seenFingerprintsAt.delete(oldest);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export {
|
|
77
|
+
observeTranscriptSessionKey,
|
|
78
|
+
ObserveTranscriptPersister
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=chunk-LVE64P5Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/access-observe-transcript.ts"],"sourcesContent":["/**\n * Observe-derived transcript persistence (issue #2783).\n *\n * Delegate-mode gateways POST every turn to `/observe`; without a transcript\n * append in the daemon's observe path the transcript store never grows and\n * the hourly summarizer starves silently while every run reports ok. This\n * module is that append: it mirrors the embedded runtime's `agent_end`\n * handler (src/index.ts) — same `TranscriptManager`, same entry shape, same\n * `transcriptEnabled` presentation gate, same 10-char noise floor.\n *\n * Turns are deduped against a bounded process-lifetime (session, role,\n * content) fingerprint — the daemon-side equivalent of the embedded\n * runtime's `observedInboundContentFingerprints`, extended to both roles\n * because an un-keyed client re-POST always carries the whole turn — so a\n * retry cannot double-write it.\n */\n\nimport { createHash, randomUUID } from \"node:crypto\";\nimport { lcmSessionKeyForNamespace } from \"./coding/coding-namespace.js\";\nimport type { PluginConfig } from \"./types.js\";\nimport { log } from \"./logger.js\";\nimport type { Orchestrator } from \"./orchestrator.js\";\nimport type { TranscriptEntry } from \"./types.js\";\n\nconst OBSERVE_TRANSCRIPT_DEDUPE_MAX_ENTRIES = 8192;\nconst OBSERVE_TRANSCRIPT_MIN_CONTENT_CHARS = 10;\n/**\n * A fingerprint only suppresses re-POSTs inside this window. A client retry\n * lands seconds later; a session LEGITIMATELY repeating the same >10-char\n * turn usually does so minutes or hours later, and that repeat is a real\n * conversation event the transcripts must keep (review: preserve legitimate\n * repeated turns).\n */\nconst OBSERVE_TRANSCRIPT_DEDUPE_TTL_MS = 10 * 60 * 1000;\n\n/**\n * The transcript-side session identity for an observe payload (issue #2783\n * review: namespace scoping). Two authenticated principals can submit the\n * same client-controlled sessionKey while resolving to different effective\n * write namespaces; persisting through the raw key would let one\n * principal's transcript-derived summaries surface under the other's\n * session. Mirror the LCM archive's answer (rule 42 parity): prefix the\n * key with the effective write namespace whenever it diverges from the\n * default store. The summarizer lists sessions from the store itself, so\n * reads self-consistently follow the same prefixed keys.\n */\nexport function observeTranscriptSessionKey(\n sessionKey: string,\n writeNamespace: string,\n config: Pick<PluginConfig, \"defaultNamespace\">\n): string {\n return lcmSessionKeyForNamespace(writeNamespace, sessionKey, config.defaultNamespace) ?? sessionKey;\n}\n\n/** Bounded FIFO of seen fingerprints; insertion order is the eviction order. */\nexport class ObserveTranscriptPersister {\n private readonly seenFingerprintsAt = new Map<string, number>();\n /** In-flight appends by fingerprint: an overlapping identical observe waits for the first append instead of double-writing. */\n private readonly inflightAppends = new Map<string, Promise<void>>();\n\n /**\n * Append every eligible message of an observe payload to the per-session\n * transcript store. Best-effort: a failing append logs and does not fail\n * the observe. Returns true when at least one turn was appended.\n */\n async persist(\n orchestrator: Orchestrator,\n sessionKey: string,\n messages: ReadonlyArray<{ role: string; content: string }>,\n rawSessionKey?: string\n ): Promise<boolean> {\n let persisted = false;\n // TranscriptManager.append silently no-ops for skip-listed channel types\n // (cron by default) — check BEFORE appending so the response's\n // transcriptPersisted stays truthful (review: report skipped appends).\n // The channel identity must derive from the RAW session key: the legacy\n // parser requires the key to start with \"agent:\", so a namespace-prefixed\n // transcript identity would always classify as \"session\" and the skip\n // list would silently not apply to namespaced cron sessions (review r4).\n const { channelType } = orchestrator.transcript.getTranscriptPath(rawSessionKey ?? sessionKey);\n if (orchestrator.config.transcriptSkipChannelTypes.includes(channelType)) {\n return false;\n }\n for (const message of messages) {\n if (message.content.length < OBSERVE_TRANSCRIPT_MIN_CONTENT_CHARS) continue;\n // Fixed-size digest, never the raw content: 8192 retained entries of\n // full turn text is an avoidable heap-exhaustion surface on a daemon\n // that accepts arbitrary observe payloads (review round 2).\n const fingerprint = createHash(\"sha256\")\n .update(`${sessionKey}\\0${message.role}\\0${message.content}`)\n .digest(\"hex\");\n // Two identical observes can overlap before either records its\n // fingerprint; both would then append and the transcript would carry\n // the turn twice. The attempt loop serializes per fingerprint: a caller\n // that finds an in-flight append awaits it and RE-RUNS BOTH checks — on\n // success the completed-set check skips the message; on failure (no\n // fingerprint recorded) exactly ONE waiter proceeds to retry, because\n // the check-then-register sequence has no await between its steps and\n // is therefore atomic on the event loop (review r4).\n for (let attempt = 0; attempt < 2; attempt++) {\n const seenAt = this.seenFingerprintsAt.get(fingerprint);\n if (seenAt !== undefined && Date.now() - seenAt < OBSERVE_TRANSCRIPT_DEDUPE_TTL_MS) {\n break; // duplicate within the retry window — skip the message\n }\n const inflight = this.inflightAppends.get(fingerprint);\n if (inflight) {\n await inflight;\n continue; // re-run both checks with the append's outcome visible\n }\n const entry: TranscriptEntry = {\n timestamp: new Date().toISOString(),\n role: message.role as TranscriptEntry[\"role\"],\n content: message.content,\n sessionKey,\n turnId: randomUUID(),\n };\n const appendPromise = orchestrator.transcript\n .append(entry)\n .then(() => {\n // Remember only after a successful append: a transient failure\n // must not permanently swallow the turn — the client's retry has\n // to be able to re-append it (review round 2).\n this.remember(fingerprint);\n persisted = true;\n })\n .catch((err) => {\n // Same policy as the LCM enqueue in the observe path: transcript\n // persistence must never fail the observe itself.\n log.error(`access-observe transcript append failed: ${err}`);\n })\n .finally(() => {\n this.inflightAppends.delete(fingerprint);\n });\n this.inflightAppends.set(fingerprint, appendPromise);\n await appendPromise;\n break;\n }\n }\n return persisted;\n }\n\n private remember(fingerprint: string): void {\n // Map.set keeps an existing key at its ORIGINAL insertion position, so a\n // TTL-refreshed fingerprint could still be the FIFO-oldest and get\n // evicted immediately — delete first to move it to the end (review r4).\n this.seenFingerprintsAt.delete(fingerprint);\n this.seenFingerprintsAt.set(fingerprint, Date.now());\n if (this.seenFingerprintsAt.size > OBSERVE_TRANSCRIPT_DEDUPE_MAX_ENTRIES) {\n const oldest = this.seenFingerprintsAt.keys().next().value;\n if (typeof oldest === \"string\") this.seenFingerprintsAt.delete(oldest);\n }\n }\n}\n"],"mappings":";;;;;;;;AAiBA,SAAS,YAAY,kBAAkB;AAOvC,IAAM,wCAAwC;AAC9C,IAAM,uCAAuC;AAQ7C,IAAM,mCAAmC,KAAK,KAAK;AAa5C,SAAS,4BACd,YACA,gBACA,QACQ;AACR,SAAO,0BAA0B,gBAAgB,YAAY,OAAO,gBAAgB,KAAK;AAC3F;AAGO,IAAM,6BAAN,MAAiC;AAAA,EACrB,qBAAqB,oBAAI,IAAoB;AAAA;AAAA,EAE7C,kBAAkB,oBAAI,IAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlE,MAAM,QACJ,cACA,YACA,UACA,eACkB;AAClB,QAAI,YAAY;AAQhB,UAAM,EAAE,YAAY,IAAI,aAAa,WAAW,kBAAkB,iBAAiB,UAAU;AAC7F,QAAI,aAAa,OAAO,2BAA2B,SAAS,WAAW,GAAG;AACxE,aAAO;AAAA,IACT;AACA,eAAW,WAAW,UAAU;AAC9B,UAAI,QAAQ,QAAQ,SAAS,qCAAsC;AAInE,YAAM,cAAc,WAAW,QAAQ,EACpC,OAAO,GAAG,UAAU,KAAK,QAAQ,IAAI,KAAK,QAAQ,OAAO,EAAE,EAC3D,OAAO,KAAK;AASf,eAAS,UAAU,GAAG,UAAU,GAAG,WAAW;AAC5C,cAAM,SAAS,KAAK,mBAAmB,IAAI,WAAW;AACtD,YAAI,WAAW,UAAa,KAAK,IAAI,IAAI,SAAS,kCAAkC;AAClF;AAAA,QACF;AACA,cAAM,WAAW,KAAK,gBAAgB,IAAI,WAAW;AACrD,YAAI,UAAU;AACZ,gBAAM;AACN;AAAA,QACF;AACA,cAAM,QAAyB;AAAA,UAC7B,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,UAClC,MAAM,QAAQ;AAAA,UACd,SAAS,QAAQ;AAAA,UACjB;AAAA,UACA,QAAQ,WAAW;AAAA,QACrB;AACA,cAAM,gBAAgB,aAAa,WAChC,OAAO,KAAK,EACZ,KAAK,MAAM;AAIV,eAAK,SAAS,WAAW;AACzB,sBAAY;AAAA,QACd,CAAC,EACA,MAAM,CAAC,QAAQ;AAGd,cAAI,MAAM,4CAA4C,GAAG,EAAE;AAAA,QAC7D,CAAC,EACA,QAAQ,MAAM;AACb,eAAK,gBAAgB,OAAO,WAAW;AAAA,QACzC,CAAC;AACH,aAAK,gBAAgB,IAAI,aAAa,aAAa;AACnD,cAAM;AACN;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,SAAS,aAA2B;AAI1C,SAAK,mBAAmB,OAAO,WAAW;AAC1C,SAAK,mBAAmB,IAAI,aAAa,KAAK,IAAI,CAAC;AACnD,QAAI,KAAK,mBAAmB,OAAO,uCAAuC;AACxE,YAAM,SAAS,KAAK,mBAAmB,KAAK,EAAE,KAAK,EAAE;AACrD,UAAI,OAAO,WAAW,SAAU,MAAK,mBAAmB,OAAO,MAAM;AAAA,IACvE;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseFrontmatter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-N3DSSCOR.js";
|
|
4
4
|
import {
|
|
5
5
|
activityDigestPath,
|
|
6
6
|
isValidActivityDate
|
|
@@ -199,4 +199,4 @@ export {
|
|
|
199
199
|
buildStandup,
|
|
200
200
|
standupHelp
|
|
201
201
|
};
|
|
202
|
-
//# sourceMappingURL=chunk-
|
|
202
|
+
//# sourceMappingURL=chunk-MAIBNEB6.js.map
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-4ZWCQJNM.js";
|
|
18
18
|
import {
|
|
19
19
|
normalizeQmdResultPath
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-6FUMA6AA.js";
|
|
21
21
|
import {
|
|
22
22
|
withholdToolScopedFromSharedNamespace
|
|
23
23
|
} from "./chunk-S2V7RUCL.js";
|
|
@@ -11374,4 +11374,4 @@ export {
|
|
|
11374
11374
|
isValidBufferSurpriseEvent,
|
|
11375
11375
|
StorageManager3 as StorageManager
|
|
11376
11376
|
};
|
|
11377
|
-
//# sourceMappingURL=chunk-
|
|
11377
|
+
//# sourceMappingURL=chunk-N3DSSCOR.js.map
|