@remnic/core 10.0.0 → 10.0.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.js +35 -33
- package/dist/access-authorization-probe.js +36 -34
- package/dist/access-boundary.js +35 -33
- package/dist/access-cli.js +96 -94
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.js +35 -33
- package/dist/access-http-briefing.js +36 -34
- package/dist/access-http-query.js +37 -35
- package/dist/access-http.js +54 -52
- package/dist/access-identity-continuity-surface.js +35 -33
- package/dist/access-lcm-surface.js +35 -33
- package/dist/access-mcp.js +44 -42
- package/dist/access-namespace-preflight.js +35 -33
- package/dist/access-observe-write-category.js +4 -4
- package/dist/access-observe-write-surface.js +35 -33
- package/dist/access-operations-batch.js +36 -34
- package/dist/access-operations.js +43 -41
- package/dist/access-recall-concurrency.js +35 -33
- package/dist/access-recall-response.js +35 -33
- package/dist/access-recall-surface.js +35 -33
- package/dist/access-schema.js +3 -3
- package/dist/access-service.js +35 -33
- package/dist/access-surface-catalog.js +37 -35
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +11 -9
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/briefing.js +10 -8
- package/dist/buffer.js +7 -5
- package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
- package/dist/causal-consolidation.js +11 -9
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/{chunk-JWFTPRYD.js → chunk-2EZB2DL5.js} +2 -2
- package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
- package/dist/{chunk-QKCGOECM.js → chunk-34G4U6HS.js} +2 -2
- package/dist/{chunk-YI6XIFQV.js → chunk-34TSXVQS.js} +2 -2
- package/dist/{chunk-7YQR6XHY.js → chunk-3I375S4J.js} +58 -58
- package/dist/{chunk-XQWKB6PY.js → chunk-3UP6NP4C.js} +2 -2
- package/dist/{chunk-OFGTRDWX.js → chunk-47I2EK6G.js} +2 -2
- package/dist/{chunk-HWGFTTPS.js → chunk-5FLFPTDK.js} +2 -2
- package/dist/{chunk-LHDSCWDK.js → chunk-7AUC2YSU.js} +13 -13
- package/dist/{chunk-AU43D3IT.js → chunk-7DB7KYSR.js} +4 -4
- package/dist/{chunk-VDX2J7OX.js → chunk-7LCGFUMB.js} +4 -4
- package/dist/{chunk-CNBGAFDY.js → chunk-A7V7GZ7F.js} +2 -2
- package/dist/{chunk-SWXPR5SE.js → chunk-B2UCJX76.js} +2 -2
- package/dist/{chunk-KYUVFCT2.js → chunk-BCTDTVSR.js} +2 -2
- package/dist/{chunk-6WRHNA4I.js → chunk-BKPV47BK.js} +36 -36
- package/dist/{chunk-QAIVTLL2.js → chunk-BLHPADUX.js} +2 -2
- package/dist/{chunk-PRNR47DI.js → chunk-BOT276JC.js} +2 -2
- package/dist/{chunk-O43AAJFQ.js → chunk-CRZ7BU6R.js} +2 -2
- package/dist/{chunk-2OFDC3AK.js → chunk-DDPPV3KA.js} +2 -2
- package/dist/{chunk-VYIBRCVW.js → chunk-DHQUQ34W.js} +2 -2
- package/dist/{chunk-7NBUE5VY.js → chunk-DPX3J2N4.js} +2 -2
- package/dist/{chunk-EWWK65CI.js → chunk-DX3ZODO3.js} +2 -2
- package/dist/{chunk-SFDBLCZV.js → chunk-DYZHVVJM.js} +30 -30
- package/dist/{chunk-B454SHPU.js → chunk-E7FN5N5E.js} +2 -2
- package/dist/{chunk-AWSP3WNM.js → chunk-EJJMDLVB.js} +2 -2
- package/dist/{chunk-KFHEZJQZ.js → chunk-EPFNPPWH.js} +2 -2
- package/dist/{chunk-VDVHIRCK.js → chunk-EUYNHJTK.js} +2 -2
- package/dist/{chunk-T32YYUT2.js → chunk-FB6FQT4P.js} +2 -2
- package/dist/{chunk-XTN54NML.js → chunk-G3T6YMBO.js} +4 -4
- package/dist/{chunk-JC7QQ2DJ.js → chunk-GS6LTJFW.js} +2 -2
- package/dist/{chunk-WR66CTVU.js → chunk-GYLDYYRA.js} +4 -4
- package/dist/{chunk-PQKZLBCJ.js → chunk-GZRTH3WZ.js} +1 -1
- package/dist/{chunk-STQC2FYQ.js → chunk-HNU5CZ7E.js} +6 -6
- package/dist/{chunk-E4XLFYHV.js → chunk-HPEONBM3.js} +2 -2
- package/dist/{chunk-B3OFQP5Y.js → chunk-IB63OVUB.js} +24 -249
- package/dist/chunk-IB63OVUB.js.map +1 -0
- package/dist/chunk-IM2GO42H.js +312 -0
- package/dist/chunk-IM2GO42H.js.map +1 -0
- package/dist/{chunk-EZ3F4YIN.js → chunk-JLUS56YZ.js} +5 -5
- package/dist/{chunk-UHESJ6TQ.js → chunk-KEGUXZNY.js} +3 -3
- package/dist/{chunk-UHESJ6TQ.js.map → chunk-KEGUXZNY.js.map} +1 -1
- package/dist/{chunk-J3ZJBX7I.js → chunk-KM2HQZR3.js} +2 -2
- package/dist/{chunk-2MMBJE53.js → chunk-LI3OM3NP.js} +7 -7
- package/dist/{chunk-MZOQ26LH.js → chunk-LQGX5TCI.js} +2 -2
- package/dist/{chunk-KMN2JE4D.js → chunk-LTDWZ2HC.js} +2 -2
- package/dist/{chunk-T6RQNV7E.js → chunk-MJ737UIA.js} +2 -2
- package/dist/{chunk-7X7A7KVN.js → chunk-NLYOOGZ7.js} +2 -2
- package/dist/{chunk-PZ2QQULY.js → chunk-NVZRIHW5.js} +8 -8
- package/dist/{chunk-NT2Q6AHC.js → chunk-PCO3P7WJ.js} +2 -2
- package/dist/{chunk-VO2BNAA2.js → chunk-PXDEIJL5.js} +2 -2
- package/dist/{chunk-LXJZUNLX.js → chunk-QHHWJVVW.js} +2 -2
- package/dist/{chunk-XLWMNDQR.js → chunk-QJWZJ7HL.js} +3 -3
- package/dist/{chunk-73R4HOOK.js → chunk-QPG72IPU.js} +3 -3
- package/dist/{chunk-SIGDETMB.js → chunk-R4NGLTUS.js} +2 -2
- package/dist/{chunk-TRN56SPQ.js → chunk-R6NHHKXE.js} +2 -2
- package/dist/{chunk-ATFFWIKL.js → chunk-RGGXSN5A.js} +2 -2
- package/dist/{chunk-IOMLGJHG.js → chunk-RWZXVCGX.js} +5 -5
- package/dist/{chunk-PQ7EB5AD.js → chunk-S3BB34NI.js} +3 -3
- package/dist/{chunk-QX3K3INR.js → chunk-SBBZXDVJ.js} +2 -2
- package/dist/{chunk-G5I5ZT6O.js → chunk-SFDKLEIY.js} +2 -2
- package/dist/{chunk-ZLQ37WJX.js → chunk-SIGAGKNE.js} +8 -2
- package/dist/{chunk-ZLQ37WJX.js.map → chunk-SIGAGKNE.js.map} +1 -1
- package/dist/chunk-TPSLVZHS.js +102 -0
- package/dist/chunk-TPSLVZHS.js.map +1 -0
- package/dist/{chunk-TXTRHF3B.js → chunk-TVPDF6CZ.js} +2 -2
- package/dist/{chunk-A6WNTVA7.js → chunk-UP3XXGEN.js} +2 -2
- package/dist/{chunk-S2GR3T7W.js → chunk-UT7WE7RM.js} +2 -2
- package/dist/{chunk-BKVCTTEN.js → chunk-V3NKVYUD.js} +2 -2
- package/dist/{chunk-CGBE3N7T.js → chunk-VH76UQK3.js} +2 -2
- package/dist/{chunk-Z6EZCN6Z.js → chunk-VKQI47DJ.js} +8 -8
- package/dist/{chunk-KV7LFOPF.js → chunk-VSPBXHGR.js} +2 -2
- package/dist/{chunk-ZRUC7FD3.js → chunk-VXCTQ3B3.js} +2 -2
- package/dist/{chunk-QUNCLKHM.js → chunk-WIVBNNA3.js} +2 -2
- package/dist/{chunk-OWV6LKNZ.js → chunk-WWUFQ3AG.js} +2 -2
- package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
- package/dist/{chunk-GQ6ZF4LD.js → chunk-XG4XXI66.js} +2 -2
- package/dist/{chunk-ISX7GVZE.js → chunk-YRULQW5J.js} +4 -4
- package/dist/{chunk-VV2MVHCJ.js → chunk-YX5F4V7H.js} +2 -2
- package/dist/{chunk-JRDL3FGM.js → chunk-YY5FM5M7.js} +3 -3
- package/dist/cli.js +70 -68
- package/dist/coding/export-okf-codegraph.js +9 -7
- package/dist/coding/export-okf-codegraph.js.map +1 -1
- package/dist/compounding/engine.js +10 -8
- package/dist/config-qmd.js +1 -1
- package/dist/config.js +11 -9
- package/dist/connectors/codex-materialize-runner.js +10 -8
- package/dist/connectors/index.js +10 -8
- package/dist/convergence-refresh.js +12 -10
- package/dist/corpus-watermark.js +12 -10
- package/dist/deep-recall-http-glue.js +4 -4
- package/dist/deep-recall.js +2 -2
- package/dist/entity-retrieval.js +10 -8
- package/dist/external-wiki-access.js +36 -34
- package/dist/extraction.js +14 -12
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/index.js +118 -116
- package/dist/lcm/engine.js +3 -3
- package/dist/lcm/index.js +9 -9
- package/dist/location/index.js +12 -10
- package/dist/maintenance/memory-governance.js +10 -8
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -8
- package/dist/maintenance/rebuild-memory-projection.js +11 -9
- package/dist/memory-browse-operations.js +36 -34
- package/dist/memory-browse.js +7 -5
- package/dist/namespaces/migrate.js +11 -9
- package/dist/namespaces/search.js +8 -6
- package/dist/namespaces/storage.js +10 -8
- package/dist/operator-doctor-corpus.js +13 -11
- package/dist/operator-toolkit.js +20 -18
- package/dist/orchestration/maintenance.js +18 -16
- package/dist/orchestrator.js +98 -96
- package/dist/qmd-daemon-session.d.ts +45 -0
- package/dist/qmd-daemon-session.d.ts.map +1 -0
- package/dist/qmd-daemon-session.js +12 -0
- package/dist/qmd-daemon-session.js.map +1 -0
- package/dist/qmd-mcp-cancel.d.ts +21 -0
- package/dist/qmd-mcp-cancel.d.ts.map +1 -0
- package/dist/qmd-mcp-cancel.js +11 -0
- package/dist/qmd-mcp-cancel.js.map +1 -0
- package/dist/qmd-preflight.d.ts +3 -1
- package/dist/qmd-preflight.d.ts.map +1 -1
- package/dist/qmd-preflight.js +3 -1
- package/dist/qmd.d.ts +5 -29
- package/dist/qmd.d.ts.map +1 -1
- package/dist/qmd.js +6 -2
- package/dist/recall-navigation-operations.js +36 -34
- package/dist/recall-navigation.js +35 -33
- package/dist/recall-state-view-admission.js +7 -5
- package/dist/recall-why-service.js +7 -5
- package/dist/resume-bundles.js +12 -10
- package/dist/search/factory.js +7 -5
- package/dist/search/index.js +11 -9
- package/dist/semantic-consolidation.js +11 -9
- package/dist/semantic-rule-promotion.js +10 -8
- package/dist/semantic-rule-verifier.js +10 -8
- package/dist/source-agent-qualifier.js +13 -11
- package/dist/standup/build.js +10 -8
- package/dist/storage.js +9 -7
- package/dist/support-passport/index.js +38 -36
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/export-okf.js +10 -8
- package/dist/verified-recall.js +10 -8
- package/dist/who-knows-cli.js +11 -9
- package/dist/who-knows.js +10 -8
- package/package.json +2 -2
- package/src/config-qmd.ts +2 -2
- package/src/qmd-daemon-session.ts +369 -0
- package/src/qmd-mcp-cancel.test.ts +408 -0
- package/src/qmd-mcp-cancel.ts +130 -0
- package/src/qmd-preflight.ts +10 -1
- package/src/qmd-rank-compare.test.ts +100 -0
- package/src/qmd.test.ts +16 -1
- package/src/qmd.ts +18 -297
- package/dist/chunk-B3OFQP5Y.js.map +0 -1
- /package/dist/{capsule-crypto-YO5QJ6L3.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
- /package/dist/{chunk-JWFTPRYD.js.map → chunk-2EZB2DL5.js.map} +0 -0
- /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
- /package/dist/{chunk-QKCGOECM.js.map → chunk-34G4U6HS.js.map} +0 -0
- /package/dist/{chunk-YI6XIFQV.js.map → chunk-34TSXVQS.js.map} +0 -0
- /package/dist/{chunk-7YQR6XHY.js.map → chunk-3I375S4J.js.map} +0 -0
- /package/dist/{chunk-XQWKB6PY.js.map → chunk-3UP6NP4C.js.map} +0 -0
- /package/dist/{chunk-OFGTRDWX.js.map → chunk-47I2EK6G.js.map} +0 -0
- /package/dist/{chunk-HWGFTTPS.js.map → chunk-5FLFPTDK.js.map} +0 -0
- /package/dist/{chunk-LHDSCWDK.js.map → chunk-7AUC2YSU.js.map} +0 -0
- /package/dist/{chunk-AU43D3IT.js.map → chunk-7DB7KYSR.js.map} +0 -0
- /package/dist/{chunk-VDX2J7OX.js.map → chunk-7LCGFUMB.js.map} +0 -0
- /package/dist/{chunk-CNBGAFDY.js.map → chunk-A7V7GZ7F.js.map} +0 -0
- /package/dist/{chunk-SWXPR5SE.js.map → chunk-B2UCJX76.js.map} +0 -0
- /package/dist/{chunk-KYUVFCT2.js.map → chunk-BCTDTVSR.js.map} +0 -0
- /package/dist/{chunk-6WRHNA4I.js.map → chunk-BKPV47BK.js.map} +0 -0
- /package/dist/{chunk-QAIVTLL2.js.map → chunk-BLHPADUX.js.map} +0 -0
- /package/dist/{chunk-PRNR47DI.js.map → chunk-BOT276JC.js.map} +0 -0
- /package/dist/{chunk-O43AAJFQ.js.map → chunk-CRZ7BU6R.js.map} +0 -0
- /package/dist/{chunk-2OFDC3AK.js.map → chunk-DDPPV3KA.js.map} +0 -0
- /package/dist/{chunk-VYIBRCVW.js.map → chunk-DHQUQ34W.js.map} +0 -0
- /package/dist/{chunk-7NBUE5VY.js.map → chunk-DPX3J2N4.js.map} +0 -0
- /package/dist/{chunk-EWWK65CI.js.map → chunk-DX3ZODO3.js.map} +0 -0
- /package/dist/{chunk-SFDBLCZV.js.map → chunk-DYZHVVJM.js.map} +0 -0
- /package/dist/{chunk-B454SHPU.js.map → chunk-E7FN5N5E.js.map} +0 -0
- /package/dist/{chunk-AWSP3WNM.js.map → chunk-EJJMDLVB.js.map} +0 -0
- /package/dist/{chunk-KFHEZJQZ.js.map → chunk-EPFNPPWH.js.map} +0 -0
- /package/dist/{chunk-VDVHIRCK.js.map → chunk-EUYNHJTK.js.map} +0 -0
- /package/dist/{chunk-T32YYUT2.js.map → chunk-FB6FQT4P.js.map} +0 -0
- /package/dist/{chunk-XTN54NML.js.map → chunk-G3T6YMBO.js.map} +0 -0
- /package/dist/{chunk-JC7QQ2DJ.js.map → chunk-GS6LTJFW.js.map} +0 -0
- /package/dist/{chunk-WR66CTVU.js.map → chunk-GYLDYYRA.js.map} +0 -0
- /package/dist/{chunk-PQKZLBCJ.js.map → chunk-GZRTH3WZ.js.map} +0 -0
- /package/dist/{chunk-STQC2FYQ.js.map → chunk-HNU5CZ7E.js.map} +0 -0
- /package/dist/{chunk-E4XLFYHV.js.map → chunk-HPEONBM3.js.map} +0 -0
- /package/dist/{chunk-EZ3F4YIN.js.map → chunk-JLUS56YZ.js.map} +0 -0
- /package/dist/{chunk-J3ZJBX7I.js.map → chunk-KM2HQZR3.js.map} +0 -0
- /package/dist/{chunk-2MMBJE53.js.map → chunk-LI3OM3NP.js.map} +0 -0
- /package/dist/{chunk-MZOQ26LH.js.map → chunk-LQGX5TCI.js.map} +0 -0
- /package/dist/{chunk-KMN2JE4D.js.map → chunk-LTDWZ2HC.js.map} +0 -0
- /package/dist/{chunk-T6RQNV7E.js.map → chunk-MJ737UIA.js.map} +0 -0
- /package/dist/{chunk-7X7A7KVN.js.map → chunk-NLYOOGZ7.js.map} +0 -0
- /package/dist/{chunk-PZ2QQULY.js.map → chunk-NVZRIHW5.js.map} +0 -0
- /package/dist/{chunk-NT2Q6AHC.js.map → chunk-PCO3P7WJ.js.map} +0 -0
- /package/dist/{chunk-VO2BNAA2.js.map → chunk-PXDEIJL5.js.map} +0 -0
- /package/dist/{chunk-LXJZUNLX.js.map → chunk-QHHWJVVW.js.map} +0 -0
- /package/dist/{chunk-XLWMNDQR.js.map → chunk-QJWZJ7HL.js.map} +0 -0
- /package/dist/{chunk-73R4HOOK.js.map → chunk-QPG72IPU.js.map} +0 -0
- /package/dist/{chunk-SIGDETMB.js.map → chunk-R4NGLTUS.js.map} +0 -0
- /package/dist/{chunk-TRN56SPQ.js.map → chunk-R6NHHKXE.js.map} +0 -0
- /package/dist/{chunk-ATFFWIKL.js.map → chunk-RGGXSN5A.js.map} +0 -0
- /package/dist/{chunk-IOMLGJHG.js.map → chunk-RWZXVCGX.js.map} +0 -0
- /package/dist/{chunk-PQ7EB5AD.js.map → chunk-S3BB34NI.js.map} +0 -0
- /package/dist/{chunk-QX3K3INR.js.map → chunk-SBBZXDVJ.js.map} +0 -0
- /package/dist/{chunk-G5I5ZT6O.js.map → chunk-SFDKLEIY.js.map} +0 -0
- /package/dist/{chunk-TXTRHF3B.js.map → chunk-TVPDF6CZ.js.map} +0 -0
- /package/dist/{chunk-A6WNTVA7.js.map → chunk-UP3XXGEN.js.map} +0 -0
- /package/dist/{chunk-S2GR3T7W.js.map → chunk-UT7WE7RM.js.map} +0 -0
- /package/dist/{chunk-BKVCTTEN.js.map → chunk-V3NKVYUD.js.map} +0 -0
- /package/dist/{chunk-CGBE3N7T.js.map → chunk-VH76UQK3.js.map} +0 -0
- /package/dist/{chunk-Z6EZCN6Z.js.map → chunk-VKQI47DJ.js.map} +0 -0
- /package/dist/{chunk-KV7LFOPF.js.map → chunk-VSPBXHGR.js.map} +0 -0
- /package/dist/{chunk-ZRUC7FD3.js.map → chunk-VXCTQ3B3.js.map} +0 -0
- /package/dist/{chunk-QUNCLKHM.js.map → chunk-WIVBNNA3.js.map} +0 -0
- /package/dist/{chunk-OWV6LKNZ.js.map → chunk-WWUFQ3AG.js.map} +0 -0
- /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
- /package/dist/{chunk-GQ6ZF4LD.js.map → chunk-XG4XXI66.js.map} +0 -0
- /package/dist/{chunk-ISX7GVZE.js.map → chunk-YRULQW5J.js.map} +0 -0
- /package/dist/{chunk-VV2MVHCJ.js.map → chunk-YX5F4V7H.js.map} +0 -0
- /package/dist/{chunk-JRDL3FGM.js.map → chunk-YY5FM5M7.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/causal-consolidation.ts"],"sourcesContent":["/**\n * causal-consolidation.ts — CMC Phase 2: LLM-Assisted Causal Consolidation\n *\n * Uses an LLM to analyze causal trajectory patterns across sessions.\n * The LLM receives the causal chain graph as context — connected trajectories\n * from different sessions — and identifies recurring behavioral patterns,\n * preference signals, and actionable rules.\n *\n * This is the core CMC innovation: the LLM gets cross-session causal context\n * that no other memory system provides. It can see that a user investigated\n * a bug in session 1, attempted a fix in session 2, and succeeded in session 3 —\n * and synthesize a rule or preference from that chain.\n */\n\nimport { createHash } from \"node:crypto\";\nimport { resolveCausalTrajectoryStoreDir, type CausalTrajectoryRecord } from \"./causal-trajectory.js\";\nimport { readChainIndex, resolveChainsDir, type CausalChainIndex, type CausalEdge } from \"./causal-chain.js\";\nimport { listJsonFiles, readJsonFile } from \"./json-store.js\";\nimport { isRecord } from \"./store-contract.js\";\nimport { FallbackLlmClient, fallbackLlmRuntimeContextFromConfig } from \"./fallback-llm.js\";\nimport type { AgentPersonaModelConfig, GatewayConfig, MemoryFile, PluginConfig } from \"./types.js\";\nimport path from \"node:path\";\nimport { log } from \"./logger.js\";\nimport { runPostConsolidationMaterialize } from \"./connectors/codex-materialize-runner.js\";\nimport type { MaterializeResult, RolloutSummaryInput } from \"./connectors/codex-materialize.js\";\nimport { buildExtensionsBlockForConsolidation } from \"./semantic-consolidation.js\";\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n\nexport interface CausalPatternCandidate {\n id: string;\n sourceType: \"causal-pattern\";\n subject: string;\n category: \"principle\" | \"rule\" | \"preference\";\n content: string;\n score: number;\n rationale: string;\n outcome: null;\n provenance: string[];\n agent: string | null;\n workflow: string | null;\n}\n\nexport interface ConsolidationConfig {\n minRecurrence: number;\n minSessions: number;\n successThreshold: number;\n}\n\nexport interface LlmConsolidationResult {\n rules: Array<{\n content: string;\n category: \"rule\" | \"principle\" | \"preference\";\n confidence: number;\n evidence: string[];\n }>;\n preferences: Array<{\n statement: string;\n confidence: number;\n evidence: string[];\n }>;\n}\n\nconst CAUSAL_RULE_CATEGORIES = new Set([\"rule\", \"principle\", \"preference\"]);\n\ninterface ConsolidationLlmClient {\n isAvailable(options?: { agentId?: string; modelChain?: AgentPersonaModelConfig }): boolean;\n chatCompletion(\n messages: Array<{ role: \"system\" | \"user\" | \"assistant\"; content: string }>,\n options?: { temperature?: number; maxTokens?: number; agentId?: string; modelChain?: AgentPersonaModelConfig },\n ): Promise<{ content: string } | null>;\n}\n\n// ─── Trajectory Reading ──────────────────────────────────────────────────────\n\nasync function readAllTrajectories(\n memoryDir: string,\n causalTrajectoryStoreDir?: string,\n): Promise<CausalTrajectoryRecord[]> {\n const root = resolveCausalTrajectoryStoreDir(memoryDir, causalTrajectoryStoreDir);\n const trajectoriesDir = path.join(root, \"trajectories\");\n\n const files = await listJsonFiles(trajectoriesDir).catch(() => [] as string[]);\n const results: CausalTrajectoryRecord[] = [];\n\n for (const filePath of files) {\n try {\n const raw = await readJsonFile(filePath);\n if (isRecord(raw) && typeof raw.trajectoryId === \"string\") {\n results.push(raw as unknown as CausalTrajectoryRecord);\n }\n } catch {\n // skip invalid\n }\n }\n\n return results;\n}\n\n// ─── Context Formatting ──────────────────────────────────────────────────────\n\n/**\n * Format trajectories and their causal connections as a readable context\n * for the LLM. Groups by session and shows chain connections.\n */\nfunction formatCausalContext(\n trajectories: CausalTrajectoryRecord[],\n chainIndex: CausalChainIndex,\n maxChars: number = 8000,\n): string {\n // Group trajectories by session\n const bySession = new Map<string, CausalTrajectoryRecord[]>();\n for (const t of trajectories) {\n const list = bySession.get(t.sessionKey) ?? [];\n list.push(t);\n bySession.set(t.sessionKey, list);\n }\n\n const lines: string[] = [];\n lines.push(`## Causal Trajectories (${trajectories.length} across ${bySession.size} sessions)`);\n lines.push(\"\");\n\n // Format each session's trajectories\n for (const [sessionKey, sessionTrajs] of bySession) {\n lines.push(`### Session: ${sessionKey}`);\n for (const t of sessionTrajs.slice(0, 5)) {\n const outcome = t.outcomeKind === \"success\" ? \"+\" : t.outcomeKind === \"failure\" ? \"-\" : \"~\";\n lines.push(`[${outcome}] Goal: ${t.goal}`);\n lines.push(` Action: ${t.actionSummary}`);\n lines.push(` Outcome: ${t.outcomeSummary}`);\n if (t.followUpSummary) lines.push(` Follow-up: ${t.followUpSummary}`);\n if (t.entityRefs?.length) lines.push(` Entities: ${t.entityRefs.join(\", \")}`);\n }\n lines.push(\"\");\n }\n\n // Format causal chain connections\n const edgeCount = Object.keys(chainIndex.edges).length;\n if (edgeCount > 0) {\n lines.push(`## Cross-Session Causal Chains (${edgeCount} connections)`);\n lines.push(\"\");\n\n const trajectoryMap = new Map(trajectories.map((t) => [t.trajectoryId, t]));\n const shown = new Set<string>();\n\n for (const [edgeId, edge] of Object.entries(chainIndex.edges)) {\n if (shown.size >= 10) break; // limit output size\n const from = trajectoryMap.get(edge.fromTrajectoryId);\n const to = trajectoryMap.get(edge.toTrajectoryId);\n if (!from || !to) continue;\n\n lines.push(`${edge.edgeType}: \"${from.goal}\" (${from.sessionKey}) → \"${to.goal}\" (${to.sessionKey})`);\n shown.add(edgeId);\n }\n lines.push(\"\");\n }\n\n const result = lines.join(\"\\n\");\n return result.length > maxChars ? result.slice(0, maxChars) + \"\\n[truncated]\" : result;\n}\n\n// ─── LLM Consolidation ──────────────────────────────────────────────────────\n\nconst CONSOLIDATION_PROMPT = `You are analyzing a user's causal trajectory history across multiple sessions. Trajectories record what the user tried to do (goal), what they did (action), and what happened (outcome).\n\nYour job is to identify:\n1. BEHAVIORAL RULES: Recurring patterns where the same approach consistently succeeds or fails. These should be actionable guidance for future sessions.\n2. PREFERENCES: What the user cares about, prefers, or consistently chooses — even if never explicitly stated. Infer preferences from what they repeatedly do, retry until successful, or always include in their workflow.\n\nIMPORTANT:\n- Look for CROSS-SESSION patterns — things that repeat across different sessions are more significant than within-session patterns.\n- A user who retries the same goal across sessions has a strong implicit preference for that outcome.\n- Consistent action choices reveal preferences even when the user never says \"I prefer X.\"\n- Frame preferences as \"The user would prefer responses that...\" when applicable.\n\nOutput valid JSON only:\n{\n \"rules\": [\n {\"content\": \"actionable rule text\", \"category\": \"rule|principle\", \"confidence\": 0.0-1.0, \"evidence\": [\"trajectory IDs\"]}\n ],\n \"preferences\": [\n {\"statement\": \"The user would prefer...\", \"confidence\": 0.0-1.0, \"evidence\": [\"trajectory IDs\"]}\n ]\n}\n\nIf no clear patterns exist, return {\"rules\": [], \"preferences\": []}.`;\n\nasync function consolidateWithLlm(\n context: string,\n llm: ConsolidationLlmClient,\n options: { agentId?: string; modelChain?: AgentPersonaModelConfig } = {},\n): Promise<LlmConsolidationResult> {\n const response = await llm.chatCompletion(\n [\n { role: \"system\", content: CONSOLIDATION_PROMPT },\n { role: \"user\", content: context },\n ],\n { temperature: 0.2, maxTokens: 2000, agentId: options.agentId, modelChain: options.modelChain },\n );\n\n if (!response?.content) {\n return { rules: [], preferences: [] };\n }\n\n try {\n // Extract JSON from response (may have markdown code fences)\n let jsonStr = response.content.trim();\n const fenceMatch = jsonStr.match(/```(?:json)?\\s*\\n?([\\s\\S]*?)\\n?\\s*```/);\n if (fenceMatch) jsonStr = fenceMatch[1];\n\n const parsed = JSON.parse(jsonStr);\n const rawRules: unknown[] = Array.isArray(parsed.rules) ? parsed.rules : [];\n const rawPreferences: unknown[] = Array.isArray(parsed.preferences) ? parsed.preferences : [];\n return {\n rules: rawRules\n .map(parseLlmRule)\n .filter((rule): rule is LlmConsolidationResult[\"rules\"][number] => !!rule),\n preferences: rawPreferences\n .map(parseLlmPreference)\n .filter((pref): pref is LlmConsolidationResult[\"preferences\"][number] => !!pref),\n };\n } catch {\n log.warn(\"[cmc] failed to parse LLM consolidation response\");\n return { rules: [], preferences: [] };\n }\n}\n\n// ─── Candidate Generation ────────────────────────────────────────────────────\n\nfunction stablePatternId(content: string): string {\n const digest = createHash(\"sha256\")\n .update(`causal-pattern\\0${content}`)\n .digest(\"hex\")\n .slice(0, 16);\n return `causal-pattern:${digest}`;\n}\n\nfunction parseConfidence(value: unknown): number | undefined {\n if (typeof value !== \"number\" || !Number.isFinite(value)) return undefined;\n return Math.max(0, Math.min(1, value));\n}\n\nfunction parseEvidence(value: unknown): string[] {\n if (!Array.isArray(value)) return [];\n return value.filter((item): item is string => typeof item === \"string\" && item.trim().length > 0);\n}\n\nfunction parseLlmRule(raw: unknown): LlmConsolidationResult[\"rules\"][number] | undefined {\n if (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return undefined;\n const r = raw as Record<string, unknown>;\n const content = typeof r.content === \"string\" ? r.content.trim() : \"\";\n const category = typeof r.category === \"string\" ? r.category : \"\";\n const confidence = parseConfidence(r.confidence);\n if (content.length <= 5 || !CAUSAL_RULE_CATEGORIES.has(category) || confidence === undefined) {\n return undefined;\n }\n return {\n content,\n category: category as \"rule\" | \"principle\" | \"preference\",\n confidence,\n evidence: parseEvidence(r.evidence),\n };\n}\n\nfunction parseLlmPreference(raw: unknown): LlmConsolidationResult[\"preferences\"][number] | undefined {\n if (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return undefined;\n const p = raw as Record<string, unknown>;\n const statement = typeof p.statement === \"string\" ? p.statement.trim() : \"\";\n const confidence = parseConfidence(p.confidence);\n if (statement.length <= 5 || confidence === undefined) return undefined;\n return {\n statement,\n confidence,\n evidence: parseEvidence(p.evidence),\n };\n}\n\nfunction llmResultToCandidates(result: LlmConsolidationResult): CausalPatternCandidate[] {\n const candidates: CausalPatternCandidate[] = [];\n\n for (const rule of result.rules) {\n const category =\n rule.category === \"principle\" || rule.category === \"preference\"\n ? rule.category\n : \"rule\";\n candidates.push({\n id: stablePatternId(rule.content),\n sourceType: \"causal-pattern\",\n subject: rule.content.slice(0, 80),\n category,\n content: rule.content,\n score: Math.min(1, rule.confidence ?? 0.7),\n rationale: \"LLM-identified causal pattern from cross-session trajectory analysis\",\n outcome: null,\n provenance: (rule.evidence ?? []).slice(0, 5),\n agent: null,\n workflow: null,\n });\n }\n\n for (const preference of result.preferences) {\n candidates.push({\n id: stablePatternId(preference.statement),\n sourceType: \"causal-pattern\",\n subject: preference.statement.slice(0, 80),\n category: \"preference\",\n content: preference.statement,\n score: Math.min(1, preference.confidence ?? 0.7),\n rationale: \"LLM-identified preference from cross-session trajectory analysis\",\n outcome: null,\n provenance: (preference.evidence ?? []).slice(0, 5),\n agent: null,\n workflow: null,\n });\n }\n\n return candidates;\n}\n\nfunction normalizePositiveInteger(value: number, fallback: number): number {\n return Number.isFinite(value) && value > 0 ? Math.floor(value) : fallback;\n}\n\nfunction normalizeSuccessThreshold(value: number): number {\n if (!Number.isFinite(value) || value <= 0) return 0;\n return Math.min(1, value);\n}\n\nfunction trajectorySuccessScore(trajectory: CausalTrajectoryRecord): number {\n if (trajectory.outcomeKind === \"success\") return 1;\n if (trajectory.outcomeKind === \"partial\") return 0.5;\n return 0;\n}\n\nfunction averageSuccessScore(trajectories: CausalTrajectoryRecord[]): number {\n if (trajectories.length === 0) return 0;\n const total = trajectories.reduce((sum, trajectory) => sum + trajectorySuccessScore(trajectory), 0);\n return total / trajectories.length;\n}\n\nfunction passesConsolidationGates(\n trajectories: CausalTrajectoryRecord[],\n config: ConsolidationConfig,\n): boolean {\n const minRecurrence = normalizePositiveInteger(config.minRecurrence, 1);\n if (trajectories.length < minRecurrence) return false;\n\n const minSessions = normalizePositiveInteger(config.minSessions, 1);\n const sessionCount = new Set(trajectories.map((trajectory) => trajectory.sessionKey)).size;\n if (sessionCount < minSessions) return false;\n\n const successThreshold = normalizeSuccessThreshold(config.successThreshold);\n if (successThreshold > 0 && averageSuccessScore(trajectories) < successThreshold) {\n return false;\n }\n\n return true;\n}\n\n// ─── Public API ──────────────────────────────────────────────────────────────\n\n/**\n * Run LLM-assisted consolidation: read trajectories, format causal context,\n * ask LLM to identify patterns and preferences.\n */\nexport async function deriveCausalPromotionCandidates(options: {\n memoryDir: string;\n causalTrajectoryStoreDir?: string;\n config: ConsolidationConfig;\n gatewayConfig?: GatewayConfig;\n gatewayAgentId?: string;\n modelChain?: AgentPersonaModelConfig;\n workspaceDir?: string;\n pluginConfig?: PluginConfig;\n llmClient?: ConsolidationLlmClient;\n}): Promise<CausalPatternCandidate[]> {\n try {\n const trajectories = await readAllTrajectories(options.memoryDir, options.causalTrajectoryStoreDir);\n if (!passesConsolidationGates(trajectories, options.config)) return [];\n\n const chainsDir = resolveChainsDir(options.memoryDir, options.causalTrajectoryStoreDir);\n const chainIndex = await readChainIndex(chainsDir);\n\n // Format the causal context for the LLM\n let context = formatCausalContext(trajectories, chainIndex);\n\n // Append memory extensions block if available (#382)\n if (options.pluginConfig) {\n const extBlock = await buildExtensionsBlockForConsolidation(options.pluginConfig);\n if (extBlock.length > 0) {\n context += \"\\n\\n\" + extBlock;\n }\n }\n\n // If no LLM available, fall back to empty (no deterministic fallback)\n const llm = options.llmClient ?? new FallbackLlmClient(\n options.gatewayConfig,\n options.pluginConfig\n ? fallbackLlmRuntimeContextFromConfig(options.pluginConfig, {\n workspaceDir: options.workspaceDir ?? options.pluginConfig.workspaceDir,\n })\n : { workspaceDir: options.workspaceDir },\n );\n const llmOptions = { agentId: options.gatewayAgentId, modelChain: options.modelChain };\n if (!llm.isAvailable(llmOptions)) {\n log.debug(\"[cmc] no LLM available for consolidation — skipping\");\n return [];\n }\n\n // Call LLM for pattern analysis\n const result = await consolidateWithLlm(context, llm, llmOptions);\n const candidates = llmResultToCandidates(result);\n\n log.debug(`[cmc] LLM consolidation produced ${candidates.length} rule(s) and ${result.preferences.length} preference(s)`);\n return candidates;\n } catch (error) {\n log.warn(`[cmc] consolidation failed (non-fatal): ${error instanceof Error ? error.message : String(error)}`);\n return [];\n }\n}\n\n/**\n * Get LLM-synthesized preferences from causal trajectory analysis.\n * Returns formatted preference statements for recall injection.\n */\nexport async function synthesizeCausalPreferencesViaLlm(options: {\n memoryDir: string;\n causalTrajectoryStoreDir?: string;\n gatewayConfig?: GatewayConfig;\n gatewayAgentId?: string;\n modelChain?: AgentPersonaModelConfig;\n workspaceDir?: string;\n minTrajectories?: number;\n}): Promise<string | null> {\n try {\n const trajectories = await readAllTrajectories(options.memoryDir, options.causalTrajectoryStoreDir);\n if (trajectories.length < (options.minTrajectories ?? 2)) return null;\n\n const chainsDir = resolveChainsDir(options.memoryDir, options.causalTrajectoryStoreDir);\n const chainIndex = await readChainIndex(chainsDir);\n const context = formatCausalContext(trajectories, chainIndex);\n\n const llm = new FallbackLlmClient(options.gatewayConfig, {\n workspaceDir: options.workspaceDir,\n });\n const llmOptions = { agentId: options.gatewayAgentId, modelChain: options.modelChain };\n if (!llm.isAvailable(llmOptions)) return null;\n\n const result = await consolidateWithLlm(context, llm, llmOptions);\n if (result.preferences.length === 0 && result.rules.length === 0) return null;\n\n const lines: string[] = [\"## Behavioral Insights (from Causal Chain Analysis)\", \"\"];\n\n for (const pref of result.preferences) {\n lines.push(`- ${pref.statement}`);\n }\n\n for (const rule of result.rules) {\n lines.push(`- ${rule.content}`);\n }\n\n lines.push(\"\");\n return lines.join(\"\\n\");\n } catch (error) {\n log.warn(`[cmc] preference synthesis failed (non-fatal): ${error instanceof Error ? error.message : String(error)}`);\n return null;\n }\n}\n\n/**\n * Optional post-consolidation hook — materializes Codex-native memory artifacts\n * after a causal consolidation run. Guarded by `codexMaterializeMemories` and\n * `codexMaterializeOnConsolidation`. Returns `null` when disabled or when the\n * sentinel is missing (honors user hand-edits).\n *\n * Split from the orchestrator-owned flow so #378 avoids touching\n * orchestrator.ts while Wave 1 edits are in flight.\n */\nexport async function materializeAfterCausalConsolidation(options: {\n config: PluginConfig;\n namespace?: string;\n memories?: MemoryFile[];\n memoryDir?: string;\n codexHome?: string;\n rolloutSummaries?: RolloutSummaryInput[];\n now?: Date;\n}): Promise<MaterializeResult | null> {\n // Delegates to the shared post-consolidation helper — see\n // runPostConsolidationMaterialize in codex-materialize-runner.ts.\n return runPostConsolidationMaterialize(\"[cmc]\", options);\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/causal-consolidation.ts"],"sourcesContent":["/**\n * causal-consolidation.ts — CMC Phase 2: LLM-Assisted Causal Consolidation\n *\n * Uses an LLM to analyze causal trajectory patterns across sessions.\n * The LLM receives the causal chain graph as context — connected trajectories\n * from different sessions — and identifies recurring behavioral patterns,\n * preference signals, and actionable rules.\n *\n * This is the core CMC innovation: the LLM gets cross-session causal context\n * that no other memory system provides. It can see that a user investigated\n * a bug in session 1, attempted a fix in session 2, and succeeded in session 3 —\n * and synthesize a rule or preference from that chain.\n */\n\nimport { createHash } from \"node:crypto\";\nimport { resolveCausalTrajectoryStoreDir, type CausalTrajectoryRecord } from \"./causal-trajectory.js\";\nimport { readChainIndex, resolveChainsDir, type CausalChainIndex, type CausalEdge } from \"./causal-chain.js\";\nimport { listJsonFiles, readJsonFile } from \"./json-store.js\";\nimport { isRecord } from \"./store-contract.js\";\nimport { FallbackLlmClient, fallbackLlmRuntimeContextFromConfig } from \"./fallback-llm.js\";\nimport type { AgentPersonaModelConfig, GatewayConfig, MemoryFile, PluginConfig } from \"./types.js\";\nimport path from \"node:path\";\nimport { log } from \"./logger.js\";\nimport { runPostConsolidationMaterialize } from \"./connectors/codex-materialize-runner.js\";\nimport type { MaterializeResult, RolloutSummaryInput } from \"./connectors/codex-materialize.js\";\nimport { buildExtensionsBlockForConsolidation } from \"./semantic-consolidation.js\";\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n\nexport interface CausalPatternCandidate {\n id: string;\n sourceType: \"causal-pattern\";\n subject: string;\n category: \"principle\" | \"rule\" | \"preference\";\n content: string;\n score: number;\n rationale: string;\n outcome: null;\n provenance: string[];\n agent: string | null;\n workflow: string | null;\n}\n\nexport interface ConsolidationConfig {\n minRecurrence: number;\n minSessions: number;\n successThreshold: number;\n}\n\nexport interface LlmConsolidationResult {\n rules: Array<{\n content: string;\n category: \"rule\" | \"principle\" | \"preference\";\n confidence: number;\n evidence: string[];\n }>;\n preferences: Array<{\n statement: string;\n confidence: number;\n evidence: string[];\n }>;\n}\n\nconst CAUSAL_RULE_CATEGORIES = new Set([\"rule\", \"principle\", \"preference\"]);\n\ninterface ConsolidationLlmClient {\n isAvailable(options?: { agentId?: string; modelChain?: AgentPersonaModelConfig }): boolean;\n chatCompletion(\n messages: Array<{ role: \"system\" | \"user\" | \"assistant\"; content: string }>,\n options?: { temperature?: number; maxTokens?: number; agentId?: string; modelChain?: AgentPersonaModelConfig },\n ): Promise<{ content: string } | null>;\n}\n\n// ─── Trajectory Reading ──────────────────────────────────────────────────────\n\nasync function readAllTrajectories(\n memoryDir: string,\n causalTrajectoryStoreDir?: string,\n): Promise<CausalTrajectoryRecord[]> {\n const root = resolveCausalTrajectoryStoreDir(memoryDir, causalTrajectoryStoreDir);\n const trajectoriesDir = path.join(root, \"trajectories\");\n\n const files = await listJsonFiles(trajectoriesDir).catch(() => [] as string[]);\n const results: CausalTrajectoryRecord[] = [];\n\n for (const filePath of files) {\n try {\n const raw = await readJsonFile(filePath);\n if (isRecord(raw) && typeof raw.trajectoryId === \"string\") {\n results.push(raw as unknown as CausalTrajectoryRecord);\n }\n } catch {\n // skip invalid\n }\n }\n\n return results;\n}\n\n// ─── Context Formatting ──────────────────────────────────────────────────────\n\n/**\n * Format trajectories and their causal connections as a readable context\n * for the LLM. Groups by session and shows chain connections.\n */\nfunction formatCausalContext(\n trajectories: CausalTrajectoryRecord[],\n chainIndex: CausalChainIndex,\n maxChars: number = 8000,\n): string {\n // Group trajectories by session\n const bySession = new Map<string, CausalTrajectoryRecord[]>();\n for (const t of trajectories) {\n const list = bySession.get(t.sessionKey) ?? [];\n list.push(t);\n bySession.set(t.sessionKey, list);\n }\n\n const lines: string[] = [];\n lines.push(`## Causal Trajectories (${trajectories.length} across ${bySession.size} sessions)`);\n lines.push(\"\");\n\n // Format each session's trajectories\n for (const [sessionKey, sessionTrajs] of bySession) {\n lines.push(`### Session: ${sessionKey}`);\n for (const t of sessionTrajs.slice(0, 5)) {\n const outcome = t.outcomeKind === \"success\" ? \"+\" : t.outcomeKind === \"failure\" ? \"-\" : \"~\";\n lines.push(`[${outcome}] Goal: ${t.goal}`);\n lines.push(` Action: ${t.actionSummary}`);\n lines.push(` Outcome: ${t.outcomeSummary}`);\n if (t.followUpSummary) lines.push(` Follow-up: ${t.followUpSummary}`);\n if (t.entityRefs?.length) lines.push(` Entities: ${t.entityRefs.join(\", \")}`);\n }\n lines.push(\"\");\n }\n\n // Format causal chain connections\n const edgeCount = Object.keys(chainIndex.edges).length;\n if (edgeCount > 0) {\n lines.push(`## Cross-Session Causal Chains (${edgeCount} connections)`);\n lines.push(\"\");\n\n const trajectoryMap = new Map(trajectories.map((t) => [t.trajectoryId, t]));\n const shown = new Set<string>();\n\n for (const [edgeId, edge] of Object.entries(chainIndex.edges)) {\n if (shown.size >= 10) break; // limit output size\n const from = trajectoryMap.get(edge.fromTrajectoryId);\n const to = trajectoryMap.get(edge.toTrajectoryId);\n if (!from || !to) continue;\n\n lines.push(`${edge.edgeType}: \"${from.goal}\" (${from.sessionKey}) → \"${to.goal}\" (${to.sessionKey})`);\n shown.add(edgeId);\n }\n lines.push(\"\");\n }\n\n const result = lines.join(\"\\n\");\n return result.length > maxChars ? result.slice(0, maxChars) + \"\\n[truncated]\" : result;\n}\n\n// ─── LLM Consolidation ──────────────────────────────────────────────────────\n\nconst CONSOLIDATION_PROMPT = `You are analyzing a user's causal trajectory history across multiple sessions. Trajectories record what the user tried to do (goal), what they did (action), and what happened (outcome).\n\nYour job is to identify:\n1. BEHAVIORAL RULES: Recurring patterns where the same approach consistently succeeds or fails. These should be actionable guidance for future sessions.\n2. PREFERENCES: What the user cares about, prefers, or consistently chooses — even if never explicitly stated. Infer preferences from what they repeatedly do, retry until successful, or always include in their workflow.\n\nIMPORTANT:\n- Look for CROSS-SESSION patterns — things that repeat across different sessions are more significant than within-session patterns.\n- A user who retries the same goal across sessions has a strong implicit preference for that outcome.\n- Consistent action choices reveal preferences even when the user never says \"I prefer X.\"\n- Frame preferences as \"The user would prefer responses that...\" when applicable.\n\nOutput valid JSON only:\n{\n \"rules\": [\n {\"content\": \"actionable rule text\", \"category\": \"rule|principle\", \"confidence\": 0.0-1.0, \"evidence\": [\"trajectory IDs\"]}\n ],\n \"preferences\": [\n {\"statement\": \"The user would prefer...\", \"confidence\": 0.0-1.0, \"evidence\": [\"trajectory IDs\"]}\n ]\n}\n\nIf no clear patterns exist, return {\"rules\": [], \"preferences\": []}.`;\n\nasync function consolidateWithLlm(\n context: string,\n llm: ConsolidationLlmClient,\n options: { agentId?: string; modelChain?: AgentPersonaModelConfig } = {},\n): Promise<LlmConsolidationResult> {\n const response = await llm.chatCompletion(\n [\n { role: \"system\", content: CONSOLIDATION_PROMPT },\n { role: \"user\", content: context },\n ],\n { temperature: 0.2, maxTokens: 2000, agentId: options.agentId, modelChain: options.modelChain },\n );\n\n if (!response?.content) {\n return { rules: [], preferences: [] };\n }\n\n try {\n // Extract JSON from response (may have markdown code fences)\n let jsonStr = response.content.trim();\n const fenceMatch = jsonStr.match(/```(?:json)?\\s*\\n?([\\s\\S]*?)\\n?\\s*```/);\n if (fenceMatch) jsonStr = fenceMatch[1];\n\n const parsed = JSON.parse(jsonStr);\n const rawRules: unknown[] = Array.isArray(parsed.rules) ? parsed.rules : [];\n const rawPreferences: unknown[] = Array.isArray(parsed.preferences) ? parsed.preferences : [];\n return {\n rules: rawRules\n .map(parseLlmRule)\n .filter((rule): rule is LlmConsolidationResult[\"rules\"][number] => !!rule),\n preferences: rawPreferences\n .map(parseLlmPreference)\n .filter((pref): pref is LlmConsolidationResult[\"preferences\"][number] => !!pref),\n };\n } catch {\n log.warn(\"[cmc] failed to parse LLM consolidation response\");\n return { rules: [], preferences: [] };\n }\n}\n\n// ─── Candidate Generation ────────────────────────────────────────────────────\n\nfunction stablePatternId(content: string): string {\n const digest = createHash(\"sha256\")\n .update(`causal-pattern\\0${content}`)\n .digest(\"hex\")\n .slice(0, 16);\n return `causal-pattern:${digest}`;\n}\n\nfunction parseConfidence(value: unknown): number | undefined {\n if (typeof value !== \"number\" || !Number.isFinite(value)) return undefined;\n return Math.max(0, Math.min(1, value));\n}\n\nfunction parseEvidence(value: unknown): string[] {\n if (!Array.isArray(value)) return [];\n return value.filter((item): item is string => typeof item === \"string\" && item.trim().length > 0);\n}\n\nfunction parseLlmRule(raw: unknown): LlmConsolidationResult[\"rules\"][number] | undefined {\n if (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return undefined;\n const r = raw as Record<string, unknown>;\n const content = typeof r.content === \"string\" ? r.content.trim() : \"\";\n const category = typeof r.category === \"string\" ? r.category : \"\";\n const confidence = parseConfidence(r.confidence);\n if (content.length <= 5 || !CAUSAL_RULE_CATEGORIES.has(category) || confidence === undefined) {\n return undefined;\n }\n return {\n content,\n category: category as \"rule\" | \"principle\" | \"preference\",\n confidence,\n evidence: parseEvidence(r.evidence),\n };\n}\n\nfunction parseLlmPreference(raw: unknown): LlmConsolidationResult[\"preferences\"][number] | undefined {\n if (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return undefined;\n const p = raw as Record<string, unknown>;\n const statement = typeof p.statement === \"string\" ? p.statement.trim() : \"\";\n const confidence = parseConfidence(p.confidence);\n if (statement.length <= 5 || confidence === undefined) return undefined;\n return {\n statement,\n confidence,\n evidence: parseEvidence(p.evidence),\n };\n}\n\nfunction llmResultToCandidates(result: LlmConsolidationResult): CausalPatternCandidate[] {\n const candidates: CausalPatternCandidate[] = [];\n\n for (const rule of result.rules) {\n const category =\n rule.category === \"principle\" || rule.category === \"preference\"\n ? rule.category\n : \"rule\";\n candidates.push({\n id: stablePatternId(rule.content),\n sourceType: \"causal-pattern\",\n subject: rule.content.slice(0, 80),\n category,\n content: rule.content,\n score: Math.min(1, rule.confidence ?? 0.7),\n rationale: \"LLM-identified causal pattern from cross-session trajectory analysis\",\n outcome: null,\n provenance: (rule.evidence ?? []).slice(0, 5),\n agent: null,\n workflow: null,\n });\n }\n\n for (const preference of result.preferences) {\n candidates.push({\n id: stablePatternId(preference.statement),\n sourceType: \"causal-pattern\",\n subject: preference.statement.slice(0, 80),\n category: \"preference\",\n content: preference.statement,\n score: Math.min(1, preference.confidence ?? 0.7),\n rationale: \"LLM-identified preference from cross-session trajectory analysis\",\n outcome: null,\n provenance: (preference.evidence ?? []).slice(0, 5),\n agent: null,\n workflow: null,\n });\n }\n\n return candidates;\n}\n\nfunction normalizePositiveInteger(value: number, fallback: number): number {\n return Number.isFinite(value) && value > 0 ? Math.floor(value) : fallback;\n}\n\nfunction normalizeSuccessThreshold(value: number): number {\n if (!Number.isFinite(value) || value <= 0) return 0;\n return Math.min(1, value);\n}\n\nfunction trajectorySuccessScore(trajectory: CausalTrajectoryRecord): number {\n if (trajectory.outcomeKind === \"success\") return 1;\n if (trajectory.outcomeKind === \"partial\") return 0.5;\n return 0;\n}\n\nfunction averageSuccessScore(trajectories: CausalTrajectoryRecord[]): number {\n if (trajectories.length === 0) return 0;\n const total = trajectories.reduce((sum, trajectory) => sum + trajectorySuccessScore(trajectory), 0);\n return total / trajectories.length;\n}\n\nfunction passesConsolidationGates(\n trajectories: CausalTrajectoryRecord[],\n config: ConsolidationConfig,\n): boolean {\n const minRecurrence = normalizePositiveInteger(config.minRecurrence, 1);\n if (trajectories.length < minRecurrence) return false;\n\n const minSessions = normalizePositiveInteger(config.minSessions, 1);\n const sessionCount = new Set(trajectories.map((trajectory) => trajectory.sessionKey)).size;\n if (sessionCount < minSessions) return false;\n\n const successThreshold = normalizeSuccessThreshold(config.successThreshold);\n if (successThreshold > 0 && averageSuccessScore(trajectories) < successThreshold) {\n return false;\n }\n\n return true;\n}\n\n// ─── Public API ──────────────────────────────────────────────────────────────\n\n/**\n * Run LLM-assisted consolidation: read trajectories, format causal context,\n * ask LLM to identify patterns and preferences.\n */\nexport async function deriveCausalPromotionCandidates(options: {\n memoryDir: string;\n causalTrajectoryStoreDir?: string;\n config: ConsolidationConfig;\n gatewayConfig?: GatewayConfig;\n gatewayAgentId?: string;\n modelChain?: AgentPersonaModelConfig;\n workspaceDir?: string;\n pluginConfig?: PluginConfig;\n llmClient?: ConsolidationLlmClient;\n}): Promise<CausalPatternCandidate[]> {\n try {\n const trajectories = await readAllTrajectories(options.memoryDir, options.causalTrajectoryStoreDir);\n if (!passesConsolidationGates(trajectories, options.config)) return [];\n\n const chainsDir = resolveChainsDir(options.memoryDir, options.causalTrajectoryStoreDir);\n const chainIndex = await readChainIndex(chainsDir);\n\n // Format the causal context for the LLM\n let context = formatCausalContext(trajectories, chainIndex);\n\n // Append memory extensions block if available (#382)\n if (options.pluginConfig) {\n const extBlock = await buildExtensionsBlockForConsolidation(options.pluginConfig);\n if (extBlock.length > 0) {\n context += \"\\n\\n\" + extBlock;\n }\n }\n\n // If no LLM available, fall back to empty (no deterministic fallback)\n const llm = options.llmClient ?? new FallbackLlmClient(\n options.gatewayConfig,\n options.pluginConfig\n ? fallbackLlmRuntimeContextFromConfig(options.pluginConfig, {\n workspaceDir: options.workspaceDir ?? options.pluginConfig.workspaceDir,\n })\n : { workspaceDir: options.workspaceDir },\n );\n const llmOptions = { agentId: options.gatewayAgentId, modelChain: options.modelChain };\n if (!llm.isAvailable(llmOptions)) {\n log.debug(\"[cmc] no LLM available for consolidation — skipping\");\n return [];\n }\n\n // Call LLM for pattern analysis\n const result = await consolidateWithLlm(context, llm, llmOptions);\n const candidates = llmResultToCandidates(result);\n\n log.debug(`[cmc] LLM consolidation produced ${candidates.length} rule(s) and ${result.preferences.length} preference(s)`);\n return candidates;\n } catch (error) {\n log.warn(`[cmc] consolidation failed (non-fatal): ${error instanceof Error ? error.message : String(error)}`);\n return [];\n }\n}\n\n/**\n * Get LLM-synthesized preferences from causal trajectory analysis.\n * Returns formatted preference statements for recall injection.\n */\nexport async function synthesizeCausalPreferencesViaLlm(options: {\n memoryDir: string;\n causalTrajectoryStoreDir?: string;\n gatewayConfig?: GatewayConfig;\n gatewayAgentId?: string;\n modelChain?: AgentPersonaModelConfig;\n workspaceDir?: string;\n minTrajectories?: number;\n}): Promise<string | null> {\n try {\n const trajectories = await readAllTrajectories(options.memoryDir, options.causalTrajectoryStoreDir);\n if (trajectories.length < (options.minTrajectories ?? 2)) return null;\n\n const chainsDir = resolveChainsDir(options.memoryDir, options.causalTrajectoryStoreDir);\n const chainIndex = await readChainIndex(chainsDir);\n const context = formatCausalContext(trajectories, chainIndex);\n\n const llm = new FallbackLlmClient(options.gatewayConfig, {\n workspaceDir: options.workspaceDir,\n });\n const llmOptions = { agentId: options.gatewayAgentId, modelChain: options.modelChain };\n if (!llm.isAvailable(llmOptions)) return null;\n\n const result = await consolidateWithLlm(context, llm, llmOptions);\n if (result.preferences.length === 0 && result.rules.length === 0) return null;\n\n const lines: string[] = [\"## Behavioral Insights (from Causal Chain Analysis)\", \"\"];\n\n for (const pref of result.preferences) {\n lines.push(`- ${pref.statement}`);\n }\n\n for (const rule of result.rules) {\n lines.push(`- ${rule.content}`);\n }\n\n lines.push(\"\");\n return lines.join(\"\\n\");\n } catch (error) {\n log.warn(`[cmc] preference synthesis failed (non-fatal): ${error instanceof Error ? error.message : String(error)}`);\n return null;\n }\n}\n\n/**\n * Optional post-consolidation hook — materializes Codex-native memory artifacts\n * after a causal consolidation run. Guarded by `codexMaterializeMemories` and\n * `codexMaterializeOnConsolidation`. Returns `null` when disabled or when the\n * sentinel is missing (honors user hand-edits).\n *\n * Split from the orchestrator-owned flow so #378 avoids touching\n * orchestrator.ts while Wave 1 edits are in flight.\n */\nexport async function materializeAfterCausalConsolidation(options: {\n config: PluginConfig;\n namespace?: string;\n memories?: MemoryFile[];\n memoryDir?: string;\n codexHome?: string;\n rolloutSummaries?: RolloutSummaryInput[];\n now?: Date;\n}): Promise<MaterializeResult | null> {\n // Delegates to the shared post-consolidation helper — see\n // runPostConsolidationMaterialize in codex-materialize-runner.ts.\n return runPostConsolidationMaterialize(\"[cmc]\", options);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
isArtifactMemoryPath,
|
|
4
4
|
isLocationDayPath,
|
|
5
5
|
isMeetingRecordPath
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PCO3P7WJ.js";
|
|
7
7
|
import {
|
|
8
8
|
isExternalWikiCollectionName
|
|
9
9
|
} from "./chunk-JV3C2MNQ.js";
|
|
@@ -211,4 +211,4 @@ export {
|
|
|
211
211
|
isGenericRecallExcludedPath,
|
|
212
212
|
filterRecallCandidates
|
|
213
213
|
};
|
|
214
|
-
//# sourceMappingURL=chunk-
|
|
214
|
+
//# sourceMappingURL=chunk-2EZB2DL5.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-765K3SAT.js";
|
|
4
4
|
import {
|
|
5
5
|
encryptCapsuleFile
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-X7Y7WX73.js";
|
|
7
7
|
import {
|
|
8
8
|
computeTransferOutputRel,
|
|
9
9
|
isTransferPathExcluded
|
|
@@ -109,4 +109,4 @@ async function enforceRetention(outDirAbs, retentionDays) {
|
|
|
109
109
|
export {
|
|
110
110
|
backupMemoryDir
|
|
111
111
|
};
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
112
|
+
//# sourceMappingURL=chunk-2NLLXCJG.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-WL7N5VGG.js";
|
|
11
11
|
import {
|
|
12
12
|
deriveSourceConnector
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-NLYOOGZ7.js";
|
|
14
14
|
import {
|
|
15
15
|
resolvePipelineProcessingCapabilities
|
|
16
16
|
} from "./chunk-2EMROIXS.js";
|
|
@@ -112,4 +112,4 @@ export {
|
|
|
112
112
|
renderExtractionConversation,
|
|
113
113
|
applyGroundingWithConnector
|
|
114
114
|
};
|
|
115
|
-
//# sourceMappingURL=chunk-
|
|
115
|
+
//# sourceMappingURL=chunk-34G4U6HS.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
SupportPassportError,
|
|
3
3
|
SupportPassportOwnerCreateGrantRequestSchema,
|
|
4
4
|
getOperation
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BKPV47BK.js";
|
|
6
6
|
|
|
7
7
|
// src/support-passport/access-http.ts
|
|
8
8
|
var OWNER_ROOT = "/engram/v1/support-passport";
|
|
@@ -137,4 +137,4 @@ export {
|
|
|
137
137
|
SUPPORT_PASSPORT_OWNER_HTTP_ROUTES,
|
|
138
138
|
handleSupportPassportOwnerHttp
|
|
139
139
|
};
|
|
140
|
-
//# sourceMappingURL=chunk-
|
|
140
|
+
//# sourceMappingURL=chunk-34TSXVQS.js.map
|
|
@@ -7,22 +7,22 @@ import {
|
|
|
7
7
|
syncWearableSource,
|
|
8
8
|
wearableSourceLabel
|
|
9
9
|
} from "./chunk-JDOBIFBK.js";
|
|
10
|
-
import {
|
|
11
|
-
CompressionGuidelineCoordinator
|
|
12
|
-
} from "./chunk-VAOC6GHN.js";
|
|
13
10
|
import {
|
|
14
11
|
ActivityStore,
|
|
15
12
|
MaintenanceScheduler
|
|
16
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-LI3OM3NP.js";
|
|
17
14
|
import {
|
|
18
15
|
runPeerProfileReasoner
|
|
19
16
|
} from "./chunk-I74SUMNI.js";
|
|
20
17
|
import {
|
|
21
18
|
migrateFromEngram
|
|
22
19
|
} from "./chunk-VZAKYDMJ.js";
|
|
20
|
+
import {
|
|
21
|
+
CompressionGuidelineCoordinator
|
|
22
|
+
} from "./chunk-VAOC6GHN.js";
|
|
23
23
|
import {
|
|
24
24
|
LcmEngine
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-VKQI47DJ.js";
|
|
26
26
|
import {
|
|
27
27
|
chunkTranscriptEntries
|
|
28
28
|
} from "./chunk-TECVW3JP.js";
|
|
@@ -32,18 +32,24 @@ import {
|
|
|
32
32
|
import {
|
|
33
33
|
CompoundingEngine,
|
|
34
34
|
defaultTierMigrationCycleBudget
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-BCTDTVSR.js";
|
|
36
36
|
import {
|
|
37
37
|
SharedContextManager
|
|
38
38
|
} from "./chunk-77HNHT6S.js";
|
|
39
|
-
import {
|
|
40
|
-
cleanArchivedUserMessage
|
|
41
|
-
} from "./chunk-47DU4SGJ.js";
|
|
42
39
|
import {
|
|
43
40
|
applyUtilityPromotionRuntimePolicy,
|
|
44
41
|
applyUtilityRankingRuntimeDelta,
|
|
45
42
|
loadUtilityRuntimeValues
|
|
46
43
|
} from "./chunk-SWIKABKI.js";
|
|
44
|
+
import {
|
|
45
|
+
cleanArchivedUserMessage
|
|
46
|
+
} from "./chunk-47DU4SGJ.js";
|
|
47
|
+
import {
|
|
48
|
+
TierMigrationExecutor
|
|
49
|
+
} from "./chunk-YRFAYOFQ.js";
|
|
50
|
+
import {
|
|
51
|
+
decideTierTransition
|
|
52
|
+
} from "./chunk-GCBIXUPT.js";
|
|
47
53
|
import {
|
|
48
54
|
TmtBuilder
|
|
49
55
|
} from "./chunk-ECZU5BJH.js";
|
|
@@ -56,12 +62,6 @@ import {
|
|
|
56
62
|
import {
|
|
57
63
|
CODEX_THREAD_KEY_PREFIX
|
|
58
64
|
} from "./chunk-4EX5WZ4M.js";
|
|
59
|
-
import {
|
|
60
|
-
TierMigrationExecutor
|
|
61
|
-
} from "./chunk-YRFAYOFQ.js";
|
|
62
|
-
import {
|
|
63
|
-
decideTierTransition
|
|
64
|
-
} from "./chunk-GCBIXUPT.js";
|
|
65
65
|
import {
|
|
66
66
|
buildTargetedFactRecallSection,
|
|
67
67
|
shouldRecallTargetedFactEvidence
|
|
@@ -102,6 +102,9 @@ import {
|
|
|
102
102
|
import {
|
|
103
103
|
applyRuntimeRetrievalPolicy
|
|
104
104
|
} from "./chunk-5IZL4DCV.js";
|
|
105
|
+
import {
|
|
106
|
+
findUnresolvedEntityRefs
|
|
107
|
+
} from "./chunk-X7XN6YU4.js";
|
|
105
108
|
import {
|
|
106
109
|
RelevanceStore
|
|
107
110
|
} from "./chunk-KATEWTQJ.js";
|
|
@@ -111,32 +114,29 @@ import {
|
|
|
111
114
|
rerankLocalOrNoop
|
|
112
115
|
} from "./chunk-LUDXM7MD.js";
|
|
113
116
|
import {
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
StateViewAnchorTracker,
|
|
118
|
+
filterRecentScanMemories,
|
|
119
|
+
stateViewPacketActive
|
|
120
|
+
} from "./chunk-G2DF5MI7.js";
|
|
116
121
|
import {
|
|
117
122
|
indexStateViewAnnotatedResults,
|
|
118
123
|
resolveRecallStateViewActive
|
|
119
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-5FLFPTDK.js";
|
|
120
125
|
import {
|
|
121
126
|
applyRecallStateViews
|
|
122
127
|
} from "./chunk-DBB5JPSL.js";
|
|
123
|
-
import {
|
|
124
|
-
StateViewAnchorTracker,
|
|
125
|
-
filterRecentScanMemories,
|
|
126
|
-
stateViewPacketActive
|
|
127
|
-
} from "./chunk-G2DF5MI7.js";
|
|
128
128
|
import {
|
|
129
129
|
reorderRecallResultsWithMmr
|
|
130
130
|
} from "./chunk-YDBIWGNI.js";
|
|
131
|
+
import {
|
|
132
|
+
applyReasoningTraceBoost
|
|
133
|
+
} from "./chunk-ZZTOURJI.js";
|
|
131
134
|
import {
|
|
132
135
|
compactRecallContextFromBuckets,
|
|
133
136
|
decideRecallContextComposition,
|
|
134
137
|
notifyContextComposition,
|
|
135
138
|
recallFailureComposition
|
|
136
139
|
} from "./chunk-HPWJ5B7D.js";
|
|
137
|
-
import {
|
|
138
|
-
applyReasoningTraceBoost
|
|
139
|
-
} from "./chunk-ZZTOURJI.js";
|
|
140
140
|
import {
|
|
141
141
|
installPrioritizedEmbedding
|
|
142
142
|
} from "./chunk-ROI7BK7H.js";
|
|
@@ -173,7 +173,7 @@ import {
|
|
|
173
173
|
} from "./chunk-OH7QLI6W.js";
|
|
174
174
|
import {
|
|
175
175
|
ExtractionEngine
|
|
176
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-E7FN5N5E.js";
|
|
177
177
|
import {
|
|
178
178
|
parseMemoryActionEligibilityContext
|
|
179
179
|
} from "./chunk-JHU4EYDV.js";
|
|
@@ -204,7 +204,7 @@ import {
|
|
|
204
204
|
buildEntityRecallSection,
|
|
205
205
|
entityRecentTranscriptLookbackHours,
|
|
206
206
|
readRecentEntityTranscriptEntries
|
|
207
|
-
} from "./chunk-
|
|
207
|
+
} from "./chunk-DHQUQ34W.js";
|
|
208
208
|
import {
|
|
209
209
|
planEpisodeWindowsWithFallback
|
|
210
210
|
} from "./chunk-T3GIETKV.js";
|
|
@@ -219,7 +219,7 @@ import {
|
|
|
219
219
|
} from "./chunk-4G2YCKLT.js";
|
|
220
220
|
import {
|
|
221
221
|
refreshConvergedNamespaces
|
|
222
|
-
} from "./chunk-
|
|
222
|
+
} from "./chunk-3UP6NP4C.js";
|
|
223
223
|
import {
|
|
224
224
|
builtInConnectorPackageSpecifier,
|
|
225
225
|
ensureBuiltInWearableConnectors,
|
|
@@ -228,24 +228,24 @@ import {
|
|
|
228
228
|
runTimelinePublishCli,
|
|
229
229
|
screenCandidateFact,
|
|
230
230
|
summarizeVaultPublish
|
|
231
|
-
} from "./chunk-
|
|
232
|
-
import {
|
|
233
|
-
normalizeReplaySessionKey
|
|
234
|
-
} from "./chunk-AJVLDJU6.js";
|
|
231
|
+
} from "./chunk-DYZHVVJM.js";
|
|
235
232
|
import {
|
|
236
233
|
RoutingRulesStore
|
|
237
234
|
} from "./chunk-TBUEE7XF.js";
|
|
235
|
+
import {
|
|
236
|
+
normalizeReplaySessionKey
|
|
237
|
+
} from "./chunk-AJVLDJU6.js";
|
|
238
238
|
import {
|
|
239
239
|
compareVerifiedEpisodeResults,
|
|
240
240
|
searchVerifiedEpisodes
|
|
241
|
-
} from "./chunk-
|
|
241
|
+
} from "./chunk-B2UCJX76.js";
|
|
242
242
|
import {
|
|
243
243
|
ThreadingManager
|
|
244
244
|
} from "./chunk-OJP3N7UK.js";
|
|
245
245
|
import {
|
|
246
246
|
compareVerifiedSemanticRuleResults,
|
|
247
247
|
searchVerifiedSemanticRules
|
|
248
|
-
} from "./chunk-
|
|
248
|
+
} from "./chunk-DDPPV3KA.js";
|
|
249
249
|
import {
|
|
250
250
|
searchWorkProductLedgerEntries
|
|
251
251
|
} from "./chunk-G7NYVKD6.js";
|
|
@@ -258,10 +258,10 @@ import {
|
|
|
258
258
|
import {
|
|
259
259
|
runNamespaceMaintenanceFanout,
|
|
260
260
|
summarizeNamespaceMaintenanceHealth
|
|
261
|
-
} from "./chunk-
|
|
261
|
+
} from "./chunk-NVZRIHW5.js";
|
|
262
262
|
import {
|
|
263
263
|
planNamespaceMaintenance
|
|
264
|
-
} from "./chunk-
|
|
264
|
+
} from "./chunk-YY5FM5M7.js";
|
|
265
265
|
import {
|
|
266
266
|
isAboveImportanceThreshold,
|
|
267
267
|
scoreImportance
|
|
@@ -290,7 +290,7 @@ import {
|
|
|
290
290
|
materializeAfterSemanticConsolidation,
|
|
291
291
|
parseConsolidationResponse,
|
|
292
292
|
parseOperatorAwareConsolidationResponse
|
|
293
|
-
} from "./chunk-
|
|
293
|
+
} from "./chunk-WWUFQ3AG.js";
|
|
294
294
|
import {
|
|
295
295
|
semanticChunkContent
|
|
296
296
|
} from "./chunk-2GBFKHBZ.js";
|
|
@@ -299,7 +299,7 @@ import {
|
|
|
299
299
|
} from "./chunk-6TBIWIAG.js";
|
|
300
300
|
import {
|
|
301
301
|
SmartBuffer
|
|
302
|
-
} from "./chunk-
|
|
302
|
+
} from "./chunk-XG4XXI66.js";
|
|
303
303
|
import {
|
|
304
304
|
buildRecallQueryPolicy
|
|
305
305
|
} from "./chunk-C6WMSXCJ.js";
|
|
@@ -329,7 +329,7 @@ import {
|
|
|
329
329
|
embeddingsFromCosineHits,
|
|
330
330
|
normalizeConnectorScope,
|
|
331
331
|
runSeedGraduationPass
|
|
332
|
-
} from "./chunk-
|
|
332
|
+
} from "./chunk-BLHPADUX.js";
|
|
333
333
|
import {
|
|
334
334
|
compileCorrectionRule,
|
|
335
335
|
correctionsFilePath,
|
|
@@ -367,7 +367,7 @@ import {
|
|
|
367
367
|
} from "./chunk-QW27DOHG.js";
|
|
368
368
|
import {
|
|
369
369
|
MeetingsInputError
|
|
370
|
-
} from "./chunk-
|
|
370
|
+
} from "./chunk-7AUC2YSU.js";
|
|
371
371
|
import {
|
|
372
372
|
WearablesInputError,
|
|
373
373
|
describeErrorForOperator
|
|
@@ -385,7 +385,7 @@ import {
|
|
|
385
385
|
} from "./chunk-MFZACYZ6.js";
|
|
386
386
|
import {
|
|
387
387
|
NamespaceCatalog
|
|
388
|
-
} from "./chunk-
|
|
388
|
+
} from "./chunk-A7V7GZ7F.js";
|
|
389
389
|
import {
|
|
390
390
|
RecallResultFormatter,
|
|
391
391
|
SessionContextCoordinator,
|
|
@@ -394,17 +394,13 @@ import {
|
|
|
394
394
|
detectPassiveCorrections,
|
|
395
395
|
renderSessionExperiencePreview,
|
|
396
396
|
scoreSessionExperienceForPrompt
|
|
397
|
-
} from "./chunk-
|
|
397
|
+
} from "./chunk-BKPV47BK.js";
|
|
398
398
|
import {
|
|
399
399
|
importCapsule
|
|
400
|
-
} from "./chunk-
|
|
400
|
+
} from "./chunk-RWZXVCGX.js";
|
|
401
401
|
import {
|
|
402
402
|
isCodingGraphInstalled
|
|
403
403
|
} from "./chunk-VQ7B2Q6M.js";
|
|
404
|
-
import {
|
|
405
|
-
listTrustZoneRecords,
|
|
406
|
-
searchTrustZoneRecords
|
|
407
|
-
} from "./chunk-ROBHL3GL.js";
|
|
408
404
|
import {
|
|
409
405
|
applyTrustScoreStage,
|
|
410
406
|
buildTrustSignalsForRerank,
|
|
@@ -412,6 +408,10 @@ import {
|
|
|
412
408
|
trustResultFor,
|
|
413
409
|
trustResultKey
|
|
414
410
|
} from "./chunk-GNVZQ5JN.js";
|
|
411
|
+
import {
|
|
412
|
+
listTrustZoneRecords,
|
|
413
|
+
searchTrustZoneRecords
|
|
414
|
+
} from "./chunk-ROBHL3GL.js";
|
|
415
415
|
import {
|
|
416
416
|
HourlySummarizer
|
|
417
417
|
} from "./chunk-U46P4UAR.js";
|
|
@@ -434,10 +434,10 @@ import {
|
|
|
434
434
|
isTopLevelArchivePath,
|
|
435
435
|
journalPath,
|
|
436
436
|
writeJournalFile
|
|
437
|
-
} from "./chunk-
|
|
437
|
+
} from "./chunk-2EZB2DL5.js";
|
|
438
438
|
import {
|
|
439
439
|
searchHarmonicRetrieval
|
|
440
|
-
} from "./chunk-
|
|
440
|
+
} from "./chunk-GZRTH3WZ.js";
|
|
441
441
|
import {
|
|
442
442
|
ProfilingCollector
|
|
443
443
|
} from "./chunk-BLVHDY2U.js";
|
|
@@ -466,7 +466,7 @@ import {
|
|
|
466
466
|
} from "./chunk-BMWN7B3Y.js";
|
|
467
467
|
import {
|
|
468
468
|
NamespaceStorageRouter
|
|
469
|
-
} from "./chunk-
|
|
469
|
+
} from "./chunk-LTDWZ2HC.js";
|
|
470
470
|
import {
|
|
471
471
|
GraphIndex
|
|
472
472
|
} from "./chunk-2U3R3DDH.js";
|
|
@@ -475,12 +475,12 @@ import {
|
|
|
475
475
|
} from "./chunk-GKCXTSFF.js";
|
|
476
476
|
import {
|
|
477
477
|
buildChainFollowupGenerator
|
|
478
|
-
} from "./chunk-
|
|
478
|
+
} from "./chunk-VXCTQ3B3.js";
|
|
479
479
|
import {
|
|
480
480
|
ExtractionDeadlineError,
|
|
481
481
|
ExtractionRunCoordinator,
|
|
482
482
|
classifyExtractionOrigin
|
|
483
|
-
} from "./chunk-
|
|
483
|
+
} from "./chunk-NLYOOGZ7.js";
|
|
484
484
|
import {
|
|
485
485
|
ARTIFACT_STATUS_CACHE_TTL_MS,
|
|
486
486
|
BulkImportBatchPartialFailureError,
|
|
@@ -520,7 +520,7 @@ import {
|
|
|
520
520
|
throwIfRecallAborted,
|
|
521
521
|
tokenizeRecallQuery,
|
|
522
522
|
utcDateKeysForLocalDay
|
|
523
|
-
} from "./chunk-
|
|
523
|
+
} from "./chunk-PCO3P7WJ.js";
|
|
524
524
|
import {
|
|
525
525
|
inferIntentFromText,
|
|
526
526
|
intentCompatibilityScore,
|
|
@@ -570,7 +570,7 @@ import {
|
|
|
570
570
|
reconstructFusionInputs,
|
|
571
571
|
selfDeps,
|
|
572
572
|
serializeFusionDay
|
|
573
|
-
} from "./chunk-
|
|
573
|
+
} from "./chunk-HPEONBM3.js";
|
|
574
574
|
import {
|
|
575
575
|
bodyIsEscaped,
|
|
576
576
|
decodeTranscriptBody,
|
|
@@ -587,12 +587,12 @@ import {
|
|
|
587
587
|
import {
|
|
588
588
|
NamespaceSearchRouter,
|
|
589
589
|
namespaceCollectionName
|
|
590
|
-
} from "./chunk-
|
|
590
|
+
} from "./chunk-V3NKVYUD.js";
|
|
591
591
|
import {
|
|
592
592
|
createConversationIndexRuntime,
|
|
593
593
|
createSearchBackend,
|
|
594
594
|
isSearchBackendEnabled
|
|
595
|
-
} from "./chunk-
|
|
595
|
+
} from "./chunk-JLUS56YZ.js";
|
|
596
596
|
import {
|
|
597
597
|
NoopSearchBackend
|
|
598
598
|
} from "./chunk-CYEPCZN5.js";
|
|
@@ -31096,4 +31096,4 @@ export {
|
|
|
31096
31096
|
qmdStartupCollectionChecksWithTimeout,
|
|
31097
31097
|
Orchestrator
|
|
31098
31098
|
};
|
|
31099
|
-
//# sourceMappingURL=chunk-
|
|
31099
|
+
//# sourceMappingURL=chunk-3I375S4J.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
rebuildMemoryProjection
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-QJWZJ7HL.js";
|
|
4
4
|
|
|
5
5
|
// src/convergence-refresh.ts
|
|
6
6
|
async function refreshConvergedNamespaces(namespaces, namespaceSearchRouter, getStorage, searchEnabled) {
|
|
@@ -32,4 +32,4 @@ async function refreshConvergedNamespaces(namespaces, namespaceSearchRouter, get
|
|
|
32
32
|
export {
|
|
33
33
|
refreshConvergedNamespaces
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
35
|
+
//# sourceMappingURL=chunk-3UP6NP4C.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isValidCapsuleSince
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7LCGFUMB.js";
|
|
4
4
|
import {
|
|
5
5
|
CAPSULE_ID_PATTERN
|
|
6
6
|
} from "./chunk-WEHSQBFR.js";
|
|
@@ -563,4 +563,4 @@ export {
|
|
|
563
563
|
actionConfidenceRequestSchema,
|
|
564
564
|
validateRequest
|
|
565
565
|
};
|
|
566
|
-
//# sourceMappingURL=chunk-
|
|
566
|
+
//# sourceMappingURL=chunk-47I2EK6G.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-DBB5JPSL.js";
|
|
4
4
|
import {
|
|
5
5
|
isGenericRecallExcludedPath
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2EZB2DL5.js";
|
|
7
7
|
import {
|
|
8
8
|
isChangeOrientedQuery
|
|
9
9
|
} from "./chunk-EH3HNCAM.js";
|
|
@@ -69,4 +69,4 @@ export {
|
|
|
69
69
|
filterRecentScanMemoriesForStateView,
|
|
70
70
|
indexStateViewAnnotatedResults
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-5FLFPTDK.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-TB6CBZ5V.js";
|
|
7
7
|
import {
|
|
8
8
|
AdapterRegistry
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-G3T6YMBO.js";
|
|
10
10
|
import {
|
|
11
11
|
maybeRespondRecallNavigation
|
|
12
12
|
} from "./chunk-ZSEFGDCI.js";
|
|
@@ -18,13 +18,13 @@ import {
|
|
|
18
18
|
} from "./chunk-3HSRWJTC.js";
|
|
19
19
|
import {
|
|
20
20
|
respondDeepRecall
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-RGGXSN5A.js";
|
|
22
22
|
import {
|
|
23
23
|
handleSupportPassportOwnerHttp
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-34TSXVQS.js";
|
|
25
25
|
import {
|
|
26
26
|
buildSupportPassportPublicRequestHandler
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-EUYNHJTK.js";
|
|
28
28
|
import {
|
|
29
29
|
handleMcpGetSse
|
|
30
30
|
} from "./chunk-SRT6SHVZ.js";
|
|
@@ -37,10 +37,10 @@ import {
|
|
|
37
37
|
processChatMessage,
|
|
38
38
|
sessionBelongsToPrincipal,
|
|
39
39
|
subscribeChatTranscript
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-7DB7KYSR.js";
|
|
41
41
|
import {
|
|
42
42
|
RelayMissionStoreError
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-HNU5CZ7E.js";
|
|
44
44
|
import {
|
|
45
45
|
executeResolution,
|
|
46
46
|
isValidResolutionVerb
|
|
@@ -61,10 +61,10 @@ import {
|
|
|
61
61
|
optionalNamespaceKindQueryParam,
|
|
62
62
|
optionalQueryString,
|
|
63
63
|
positiveIntQueryParam
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-BOT276JC.js";
|
|
65
65
|
import {
|
|
66
66
|
respondBriefingHttp
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-DPX3J2N4.js";
|
|
68
68
|
import {
|
|
69
69
|
maybeHandleLifecycleFlush
|
|
70
70
|
} from "./chunk-2BPPGNAQ.js";
|
|
@@ -75,14 +75,14 @@ import {
|
|
|
75
75
|
authorizationProbeNamespaces,
|
|
76
76
|
authorizationProbeRequiresPrincipalNamespace,
|
|
77
77
|
probeOperationAuthorization
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-VH76UQK3.js";
|
|
79
79
|
import {
|
|
80
80
|
getOperation,
|
|
81
81
|
resolveQueryNamespaceWritablePreflight
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-BKPV47BK.js";
|
|
83
83
|
import {
|
|
84
84
|
handleWhoKnowsHttpQuery
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-MJ737UIA.js";
|
|
86
86
|
import {
|
|
87
87
|
isTrustZoneName
|
|
88
88
|
} from "./chunk-ROBHL3GL.js";
|
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
} from "./chunk-QLK3SL7Q.js";
|
|
95
95
|
import {
|
|
96
96
|
validateRequest
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-47I2EK6G.js";
|
|
98
98
|
import {
|
|
99
99
|
peerManifestRevision
|
|
100
100
|
} from "./chunk-N7QV3CMX.js";
|
|
@@ -3564,4 +3564,4 @@ export {
|
|
|
3564
3564
|
resolveDefaultAdminConsolePublicDir,
|
|
3565
3565
|
EngramAccessHttpServer
|
|
3566
3566
|
};
|
|
3567
|
-
//# sourceMappingURL=chunk-
|
|
3567
|
+
//# sourceMappingURL=chunk-7AUC2YSU.js.map
|