@remnic/core 9.69.60 → 9.69.63
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 +38 -38
- package/dist/access-authorization-probe.js +39 -39
- package/dist/access-boundary.js +38 -38
- package/dist/access-cli.js +95 -95
- package/dist/access-extraction-force-flush.js +38 -38
- package/dist/access-http-briefing.js +39 -39
- package/dist/access-http-query.js +40 -40
- package/dist/access-http.js +56 -56
- package/dist/access-identity-continuity-surface.js +38 -38
- package/dist/access-lcm-surface.js +38 -38
- package/dist/access-mcp.js +49 -49
- package/dist/access-memory-search-fanout.js +3 -3
- package/dist/access-namespace-preflight.js +38 -38
- package/dist/access-observe-write-surface.js +38 -38
- package/dist/access-offline-manifest.js +6 -6
- package/dist/access-operations-batch.js +40 -40
- package/dist/access-operations.js +47 -47
- package/dist/access-recall-concurrency.js +38 -38
- package/dist/access-recall-diagnostics.js +5 -5
- package/dist/access-recall-response.js +38 -38
- package/dist/access-recall-surface.js +38 -38
- package/dist/access-service.js +38 -38
- package/dist/access-surface-catalog.js +40 -40
- package/dist/active-memory-bridge.js +3 -3
- package/dist/active-recall.js +9 -9
- package/dist/{auto-sync-CWSZDLLW.js → auto-sync-QJNIKZHV.js} +5 -5
- package/dist/briefing.js +8 -8
- package/dist/buffer-turn-helpers.d.ts.map +1 -1
- package/dist/buffer-turn-helpers.js +1 -1
- package/dist/buffer.d.ts.map +1 -1
- package/dist/buffer.js +7 -7
- package/dist/calibration.js +2 -2
- package/dist/capabilities.d.ts +6 -7
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/causal-consolidation.js +9 -9
- package/dist/{chunk-6Q3ZTEF6.js → chunk-23G5P7TA.js} +9 -1
- package/dist/chunk-23G5P7TA.js.map +1 -0
- package/dist/{chunk-RP7TZEI6.js → chunk-24TJ77TT.js} +2 -2
- package/dist/{chunk-ZLVUWROW.js → chunk-2OUSWDY6.js} +2 -2
- package/dist/{chunk-M5IJP3YW.js → chunk-2PKGJPQL.js} +2 -2
- package/dist/{chunk-FJMYMJLR.js → chunk-3JDA3XF5.js} +2 -2
- package/dist/{chunk-JGT7M3BA.js → chunk-3MSMBVA3.js} +6 -6
- package/dist/{chunk-6JYYSDHH.js → chunk-4EEDRKRT.js} +4 -4
- package/dist/{chunk-YUHGJBQK.js → chunk-5LWVTSF7.js} +2 -2
- package/dist/{chunk-WLZYGLJ4.js → chunk-5MA7ZLPD.js} +5 -7
- package/dist/chunk-5MA7ZLPD.js.map +1 -0
- package/dist/{chunk-2T2RF5ZK.js → chunk-5QZHDS4X.js} +5 -5
- package/dist/{chunk-64JK4TL7.js → chunk-5WXJE5TV.js} +4 -4
- package/dist/{chunk-DJ4CKWAD.js → chunk-5Y7VCE3A.js} +2 -2
- package/dist/{chunk-G2XZFGYN.js → chunk-62JTOLEX.js} +2 -2
- package/dist/{chunk-LVXBC6YB.js → chunk-65I2LZEK.js} +2 -2
- package/dist/{chunk-NZLFVLLJ.js → chunk-7CRUDH7G.js} +2 -2
- package/dist/{chunk-B4EGAHHS.js → chunk-7DE2NOON.js} +2 -2
- package/dist/{chunk-BSDBDFKZ.js → chunk-7JFQI6DQ.js} +3 -3
- package/dist/{chunk-BOADKFN4.js → chunk-7LNHRQKR.js} +2 -2
- package/dist/{chunk-IV6APZJS.js → chunk-7OC3Q5X4.js} +2 -2
- package/dist/{chunk-X2QPKLPL.js → chunk-ACX55QDO.js} +3 -3
- package/dist/{chunk-YLPCEUXP.js → chunk-AEGQ5PJ7.js} +2 -2
- package/dist/{chunk-GK6NOQE6.js → chunk-AERXJCOG.js} +2 -2
- package/dist/{chunk-HW2QYZEV.js → chunk-B5GMOOY2.js} +5 -5
- package/dist/{chunk-NLE6TSLG.js → chunk-BLVHDY2U.js} +5 -7
- package/dist/chunk-BLVHDY2U.js.map +1 -0
- package/dist/{chunk-JUOZ62Y7.js → chunk-BMXEBWBT.js} +2 -1
- package/dist/chunk-BMXEBWBT.js.map +1 -0
- package/dist/{chunk-YHGRA7CK.js → chunk-CDQO5DCD.js} +2 -2
- package/dist/{chunk-ENUI3IO7.js → chunk-D433RXFJ.js} +2 -2
- package/dist/{chunk-IK63WA5A.js → chunk-D4SPMHEW.js} +2 -2
- package/dist/{chunk-42DJ235G.js → chunk-DINRT75P.js} +2 -2
- package/dist/{chunk-LELJRLPY.js → chunk-DQFZOPDL.js} +2 -2
- package/dist/{chunk-WN4HFL4K.js → chunk-DQISIT63.js} +2 -2
- package/dist/{chunk-Q7KQ5YHT.js → chunk-EIU642TN.js} +2 -2
- package/dist/{chunk-EN2YX5SF.js → chunk-F4PEETM4.js} +3 -3
- package/dist/{chunk-FNQEXI3D.js → chunk-F5O6WEDO.js} +1 -1
- package/dist/{chunk-FNQEXI3D.js.map → chunk-F5O6WEDO.js.map} +1 -1
- package/dist/{chunk-Q6C5PIBW.js → chunk-F5ZCNJ3V.js} +3 -3
- package/dist/{chunk-KR5SZNNF.js → chunk-FEHVG4C4.js} +2 -2
- package/dist/{chunk-42G4FIKQ.js → chunk-FG5QU7A2.js} +4 -4
- package/dist/{chunk-IRGQYQQ7.js → chunk-FM5HN7LL.js} +4 -4
- package/dist/{chunk-FF2XYADH.js → chunk-FQGY7XB2.js} +6 -6
- package/dist/{chunk-FF2XYADH.js.map → chunk-FQGY7XB2.js.map} +1 -1
- package/dist/{chunk-IDBLAGIM.js → chunk-FTNV5476.js} +14 -14
- package/dist/{chunk-R4Y5PF25.js → chunk-FWVDTLRK.js} +1 -1
- package/dist/{chunk-C6FQJ52H.js → chunk-G2XTGEGL.js} +65 -18
- package/dist/chunk-G2XTGEGL.js.map +1 -0
- package/dist/{chunk-Q5FL3MEH.js → chunk-G4WZDQ32.js} +3 -3
- package/dist/{chunk-4HNY6ORZ.js → chunk-GMHWCPLP.js} +2 -2
- package/dist/{chunk-ZWWKKAJL.js → chunk-GYNCJSQ7.js} +4 -4
- package/dist/{chunk-BJI2D4SU.js → chunk-GZBNEZIU.js} +3 -3
- package/dist/{chunk-NYVECYCF.js → chunk-HNOKNHFO.js} +2 -2
- package/dist/{chunk-XLXYARWC.js → chunk-HXCJF4XU.js} +2 -2
- package/dist/{chunk-RMF763SX.js → chunk-IDRSTHVR.js} +5 -5
- package/dist/{chunk-UXREWVW4.js → chunk-IW3RMBPB.js} +2 -2
- package/dist/{chunk-W6YK672C.js → chunk-JTTLH646.js} +3 -3
- package/dist/{chunk-BQB5ZMYO.js → chunk-KKNZ7PUZ.js} +2 -2
- package/dist/{chunk-AAMFQHKI.js → chunk-KRPMISWO.js} +3 -3
- package/dist/{chunk-XX2IGMCB.js → chunk-KV44HTMJ.js} +2 -2
- package/dist/{chunk-FKFTPFUG.js → chunk-KXJ7XYUT.js} +2 -2
- package/dist/{chunk-2NZ7KWRW.js → chunk-LAEW4S43.js} +2 -2
- package/dist/{chunk-5SV2GFZX.js → chunk-LDP6LBDS.js} +2 -2
- package/dist/{chunk-F6WCOXTF.js → chunk-LMLPLIT4.js} +2 -2
- package/dist/{chunk-QJTFMH5Y.js → chunk-LVGVXG22.js} +2 -2
- package/dist/{chunk-OINFRHLR.js → chunk-NRTVZSPO.js} +2 -2
- package/dist/{chunk-IAZPYX6W.js → chunk-NRVGODSE.js} +3 -3
- package/dist/{chunk-IHOXK2I6.js → chunk-NVKO5YKP.js} +2 -2
- package/dist/{chunk-OQQXGYMX.js → chunk-OWYHHW67.js} +4 -4
- package/dist/{chunk-KPKGDQR3.js → chunk-PZEXA6CM.js} +2 -2
- package/dist/{chunk-DXODYQ7J.js → chunk-Q3THVX75.js} +2 -2
- package/dist/{chunk-TAC5WFJC.js → chunk-QEGKMZNQ.js} +4 -4
- package/dist/{chunk-VRF2KFI2.js → chunk-RA3C46VX.js} +2 -2
- package/dist/{chunk-V2HHAAPI.js → chunk-RB776UH3.js} +2 -2
- package/dist/{chunk-TAIIC5OM.js → chunk-SEHKTE4F.js} +3 -3
- package/dist/{chunk-3JLWSFTV.js → chunk-SVWYZXIL.js} +8 -5
- package/dist/{chunk-3JLWSFTV.js.map → chunk-SVWYZXIL.js.map} +1 -1
- package/dist/{chunk-G6E7XJYL.js → chunk-SZAWZPY6.js} +10 -10
- package/dist/{chunk-2AD5SXO4.js → chunk-T5IF2ZCE.js} +5 -2
- package/dist/chunk-T5IF2ZCE.js.map +1 -0
- package/dist/{chunk-TYZK56OA.js → chunk-TPRBJF46.js} +9 -9
- package/dist/{chunk-7DNMX7SA.js → chunk-TQC6ELJO.js} +2 -2
- package/dist/{chunk-OVJFS5P5.js → chunk-U6HXB2OG.js} +2 -2
- package/dist/{chunk-7WSQZJPC.js → chunk-V3JM4XEI.js} +4 -4
- package/dist/{chunk-36S7UHAW.js → chunk-VEBYLZQQ.js} +2 -2
- package/dist/{chunk-IMJPJY7V.js → chunk-VHF73MGU.js} +2 -2
- package/dist/{chunk-TDULASPE.js → chunk-VKDWYDFQ.js} +7 -7
- package/dist/{chunk-NKXHCCLB.js → chunk-VTPASHTO.js} +2 -2
- package/dist/{chunk-4B5S3VWD.js → chunk-VXGB766B.js} +29 -29
- package/dist/{chunk-ADP2VCP6.js → chunk-W5UAB6EH.js} +5 -5
- package/dist/{chunk-L3R24OLZ.js → chunk-W65KK3X6.js} +2 -2
- package/dist/{chunk-BJX6G726.js → chunk-WAR75CRY.js} +67 -64
- package/dist/chunk-WAR75CRY.js.map +1 -0
- package/dist/{chunk-MNIPH6LD.js → chunk-WBYQA3VN.js} +3 -3
- package/dist/{chunk-WD2JD2UB.js → chunk-WEQZ5OYK.js} +2 -2
- package/dist/{chunk-AJW2K7K3.js → chunk-WKNWC46C.js} +2 -2
- package/dist/{chunk-UD6J2LIA.js → chunk-XDH5MO6L.js} +2 -2
- package/dist/{chunk-MRV7VSQK.js → chunk-Y23L4YJV.js} +2 -2
- package/dist/{chunk-6ISP2EN2.js → chunk-YF3JERFZ.js} +2 -2
- package/dist/{chunk-C5CPYMLX.js → chunk-YR6A6ZK7.js} +2 -2
- package/dist/{chunk-EJO2NWW7.js → chunk-Z3YQOV45.js} +2 -2
- package/dist/{chunk-6KTXE6A3.js → chunk-Z4TXB4K7.js} +2 -2
- package/dist/{chunk-Y76HXF3F.js → chunk-ZDZJ2PG4.js} +393 -41
- package/dist/{chunk-Y76HXF3F.js.map → chunk-ZDZJ2PG4.js.map} +1 -1
- package/dist/{chunk-6VITOSPL.js → chunk-ZFUPRODV.js} +2 -2
- package/dist/cli.js +70 -70
- package/dist/coding/export-okf-codegraph.js +7 -7
- package/dist/compounding/engine.js +9 -9
- package/dist/config-security.d.ts +4 -0
- package/dist/config-security.d.ts.map +1 -1
- package/dist/config-security.js +2 -2
- package/dist/config.js +9 -9
- package/dist/connectors/codex-materialize-runner.js +8 -8
- package/dist/connectors/index.js +9 -9
- package/dist/contradiction/index.js +3 -3
- package/dist/{contradiction-scan-GVD4JJ7B.js → contradiction-scan-5EJYRKD3.js} +3 -3
- package/dist/convergence-refresh.js +10 -10
- package/dist/corpus-watermark.js +10 -10
- package/dist/day-summary.js +2 -2
- package/dist/embedding-fallback.js +2 -2
- package/dist/entity-retrieval.js +9 -9
- package/dist/explicit-capture.js +2 -2
- package/dist/external-wiki-access.js +39 -39
- package/dist/extraction-judge.js +3 -3
- package/dist/extraction-normalization.js +3 -3
- package/dist/extraction-prompt.js +2 -2
- package/dist/extraction.js +21 -21
- package/dist/{first-start-migration-L3UFX5CU.js → first-start-migration-7OATHJKB.js} +2 -2
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -95
- package/dist/local-llm.js +2 -2
- package/dist/location/index.js +10 -10
- package/dist/maintenance/memory-governance.js +8 -8
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
- package/dist/maintenance/rebuild-memory-projection.js +9 -9
- package/dist/memory-browse-operations.js +39 -39
- package/dist/model-registry.d.ts.map +1 -1
- package/dist/model-registry.js +1 -1
- package/dist/namespaces/migrate.js +9 -9
- package/dist/namespaces/principal.js +2 -2
- package/dist/namespaces/search.js +4 -4
- package/dist/namespaces/storage.js +8 -8
- package/dist/offline-sync-impression-drain.js +5 -5
- package/dist/operator-doctor-corpus.js +11 -11
- package/dist/operator-toolkit.js +21 -21
- package/dist/orchestration/compression-guideline-coordinator.js +2 -2
- package/dist/orchestration/extraction-injection-gate.d.ts +5 -4
- package/dist/orchestration/extraction-injection-gate.d.ts.map +1 -1
- package/dist/orchestration/maintenance.js +20 -20
- package/dist/orchestration/turn-ingestion.d.ts.map +1 -1
- package/dist/orchestrator.js +95 -95
- package/dist/profiling.d.ts.map +1 -1
- package/dist/profiling.js +1 -1
- package/dist/recall-composition-decision.js +3 -3
- package/dist/recall-context-composition.js +2 -2
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-navigate-access.js +2 -2
- package/dist/recall-navigate-disclosure.js +2 -2
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-navigation-operations.js +39 -39
- package/dist/recall-navigation.js +38 -38
- package/dist/recall-why-service.js +5 -5
- package/dist/recall-why.js +3 -3
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.js +2 -2
- package/dist/{resolution-CHNISQJB.js → resolution-UYJU5JUA.js} +4 -4
- package/dist/resume-bundles.js +10 -10
- package/dist/search/embed-helper.js +2 -2
- package/dist/search/factory.js +3 -3
- package/dist/search/index.js +3 -3
- package/dist/security/audit-memory-cli.d.ts.map +1 -1
- package/dist/security/audit-memory.d.ts +13 -0
- package/dist/security/audit-memory.d.ts.map +1 -1
- package/dist/security/injection-screen.d.ts +2 -2
- package/dist/security/injection-screen.d.ts.map +1 -1
- package/dist/security/origin-authority.d.ts +3 -0
- package/dist/security/origin-authority.d.ts.map +1 -1
- package/dist/security/types.d.ts +5 -0
- package/dist/security/types.d.ts.map +1 -1
- package/dist/semantic-consolidation.js +9 -9
- package/dist/semantic-rule-promotion.js +8 -8
- package/dist/semantic-rule-verifier.js +8 -8
- package/dist/shared-context/manager.js +2 -2
- package/dist/source-agent-qualifier.js +14 -14
- package/dist/standup/build.js +8 -8
- package/dist/storage.js +7 -7
- package/dist/summarizer.js +4 -4
- package/dist/support-passport/index.js +41 -41
- package/dist/temporal-timeline-recall.js +3 -3
- package/dist/{tier-stats-VK5PCO2L.js → tier-stats-VF6DS52E.js} +2 -2
- package/dist/transfer/export-okf.js +8 -8
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/verified-recall.js +8 -8
- package/dist/who-knows-cli.js +9 -9
- package/dist/who-knows.js +8 -8
- package/package.json +12 -2
- package/src/buffer-turn-helpers.ts +4 -0
- package/src/buffer.ts +3 -0
- package/src/capabilities.test.ts +4 -1
- package/src/capabilities.ts +7 -7
- package/src/config-security.ts +103 -16
- package/src/config.test.ts +58 -1
- package/src/connector-provenance-lifecycle.test.ts +19 -0
- package/src/index.ts +3 -3
- package/src/model-registry.test.ts +22 -1
- package/src/model-registry.ts +7 -6
- package/src/orchestration/extraction-injection-gate.ts +11 -7
- package/src/orchestration/extraction-origin-context.ts +1 -1
- package/src/orchestration/extraction-persist.ts +8 -8
- package/src/orchestration/extraction-security.test.ts +12 -0
- package/src/orchestration/turn-ingestion.ts +2 -0
- package/src/profiling.test.ts +20 -1
- package/src/profiling.ts +7 -7
- package/src/security/audit-memory-cli.test.ts +90 -0
- package/src/security/audit-memory-cli.ts +7 -0
- package/src/security/audit-memory.test.ts +21 -10
- package/src/security/audit-memory.ts +20 -2
- package/src/security/injection-screen.test.ts +301 -0
- package/src/security/injection-screen.ts +414 -11
- package/src/security/origin-authority.ts +10 -0
- package/src/security/types.ts +11 -0
- package/src/types.ts +4 -3
- package/dist/chunk-2AD5SXO4.js.map +0 -1
- package/dist/chunk-6Q3ZTEF6.js.map +0 -1
- package/dist/chunk-BJX6G726.js.map +0 -1
- package/dist/chunk-C6FQJ52H.js.map +0 -1
- package/dist/chunk-JUOZ62Y7.js.map +0 -1
- package/dist/chunk-NLE6TSLG.js.map +0 -1
- package/dist/chunk-WLZYGLJ4.js.map +0 -1
- /package/dist/{auto-sync-CWSZDLLW.js.map → auto-sync-QJNIKZHV.js.map} +0 -0
- /package/dist/{chunk-RP7TZEI6.js.map → chunk-24TJ77TT.js.map} +0 -0
- /package/dist/{chunk-ZLVUWROW.js.map → chunk-2OUSWDY6.js.map} +0 -0
- /package/dist/{chunk-M5IJP3YW.js.map → chunk-2PKGJPQL.js.map} +0 -0
- /package/dist/{chunk-FJMYMJLR.js.map → chunk-3JDA3XF5.js.map} +0 -0
- /package/dist/{chunk-JGT7M3BA.js.map → chunk-3MSMBVA3.js.map} +0 -0
- /package/dist/{chunk-6JYYSDHH.js.map → chunk-4EEDRKRT.js.map} +0 -0
- /package/dist/{chunk-YUHGJBQK.js.map → chunk-5LWVTSF7.js.map} +0 -0
- /package/dist/{chunk-2T2RF5ZK.js.map → chunk-5QZHDS4X.js.map} +0 -0
- /package/dist/{chunk-64JK4TL7.js.map → chunk-5WXJE5TV.js.map} +0 -0
- /package/dist/{chunk-DJ4CKWAD.js.map → chunk-5Y7VCE3A.js.map} +0 -0
- /package/dist/{chunk-G2XZFGYN.js.map → chunk-62JTOLEX.js.map} +0 -0
- /package/dist/{chunk-LVXBC6YB.js.map → chunk-65I2LZEK.js.map} +0 -0
- /package/dist/{chunk-NZLFVLLJ.js.map → chunk-7CRUDH7G.js.map} +0 -0
- /package/dist/{chunk-B4EGAHHS.js.map → chunk-7DE2NOON.js.map} +0 -0
- /package/dist/{chunk-BSDBDFKZ.js.map → chunk-7JFQI6DQ.js.map} +0 -0
- /package/dist/{chunk-BOADKFN4.js.map → chunk-7LNHRQKR.js.map} +0 -0
- /package/dist/{chunk-IV6APZJS.js.map → chunk-7OC3Q5X4.js.map} +0 -0
- /package/dist/{chunk-X2QPKLPL.js.map → chunk-ACX55QDO.js.map} +0 -0
- /package/dist/{chunk-YLPCEUXP.js.map → chunk-AEGQ5PJ7.js.map} +0 -0
- /package/dist/{chunk-GK6NOQE6.js.map → chunk-AERXJCOG.js.map} +0 -0
- /package/dist/{chunk-HW2QYZEV.js.map → chunk-B5GMOOY2.js.map} +0 -0
- /package/dist/{chunk-YHGRA7CK.js.map → chunk-CDQO5DCD.js.map} +0 -0
- /package/dist/{chunk-ENUI3IO7.js.map → chunk-D433RXFJ.js.map} +0 -0
- /package/dist/{chunk-IK63WA5A.js.map → chunk-D4SPMHEW.js.map} +0 -0
- /package/dist/{chunk-42DJ235G.js.map → chunk-DINRT75P.js.map} +0 -0
- /package/dist/{chunk-LELJRLPY.js.map → chunk-DQFZOPDL.js.map} +0 -0
- /package/dist/{chunk-WN4HFL4K.js.map → chunk-DQISIT63.js.map} +0 -0
- /package/dist/{chunk-Q7KQ5YHT.js.map → chunk-EIU642TN.js.map} +0 -0
- /package/dist/{chunk-EN2YX5SF.js.map → chunk-F4PEETM4.js.map} +0 -0
- /package/dist/{chunk-Q6C5PIBW.js.map → chunk-F5ZCNJ3V.js.map} +0 -0
- /package/dist/{chunk-KR5SZNNF.js.map → chunk-FEHVG4C4.js.map} +0 -0
- /package/dist/{chunk-42G4FIKQ.js.map → chunk-FG5QU7A2.js.map} +0 -0
- /package/dist/{chunk-IRGQYQQ7.js.map → chunk-FM5HN7LL.js.map} +0 -0
- /package/dist/{chunk-IDBLAGIM.js.map → chunk-FTNV5476.js.map} +0 -0
- /package/dist/{chunk-R4Y5PF25.js.map → chunk-FWVDTLRK.js.map} +0 -0
- /package/dist/{chunk-Q5FL3MEH.js.map → chunk-G4WZDQ32.js.map} +0 -0
- /package/dist/{chunk-4HNY6ORZ.js.map → chunk-GMHWCPLP.js.map} +0 -0
- /package/dist/{chunk-ZWWKKAJL.js.map → chunk-GYNCJSQ7.js.map} +0 -0
- /package/dist/{chunk-BJI2D4SU.js.map → chunk-GZBNEZIU.js.map} +0 -0
- /package/dist/{chunk-NYVECYCF.js.map → chunk-HNOKNHFO.js.map} +0 -0
- /package/dist/{chunk-XLXYARWC.js.map → chunk-HXCJF4XU.js.map} +0 -0
- /package/dist/{chunk-RMF763SX.js.map → chunk-IDRSTHVR.js.map} +0 -0
- /package/dist/{chunk-UXREWVW4.js.map → chunk-IW3RMBPB.js.map} +0 -0
- /package/dist/{chunk-W6YK672C.js.map → chunk-JTTLH646.js.map} +0 -0
- /package/dist/{chunk-BQB5ZMYO.js.map → chunk-KKNZ7PUZ.js.map} +0 -0
- /package/dist/{chunk-AAMFQHKI.js.map → chunk-KRPMISWO.js.map} +0 -0
- /package/dist/{chunk-XX2IGMCB.js.map → chunk-KV44HTMJ.js.map} +0 -0
- /package/dist/{chunk-FKFTPFUG.js.map → chunk-KXJ7XYUT.js.map} +0 -0
- /package/dist/{chunk-2NZ7KWRW.js.map → chunk-LAEW4S43.js.map} +0 -0
- /package/dist/{chunk-5SV2GFZX.js.map → chunk-LDP6LBDS.js.map} +0 -0
- /package/dist/{chunk-F6WCOXTF.js.map → chunk-LMLPLIT4.js.map} +0 -0
- /package/dist/{chunk-QJTFMH5Y.js.map → chunk-LVGVXG22.js.map} +0 -0
- /package/dist/{chunk-OINFRHLR.js.map → chunk-NRTVZSPO.js.map} +0 -0
- /package/dist/{chunk-IAZPYX6W.js.map → chunk-NRVGODSE.js.map} +0 -0
- /package/dist/{chunk-IHOXK2I6.js.map → chunk-NVKO5YKP.js.map} +0 -0
- /package/dist/{chunk-OQQXGYMX.js.map → chunk-OWYHHW67.js.map} +0 -0
- /package/dist/{chunk-KPKGDQR3.js.map → chunk-PZEXA6CM.js.map} +0 -0
- /package/dist/{chunk-DXODYQ7J.js.map → chunk-Q3THVX75.js.map} +0 -0
- /package/dist/{chunk-TAC5WFJC.js.map → chunk-QEGKMZNQ.js.map} +0 -0
- /package/dist/{chunk-VRF2KFI2.js.map → chunk-RA3C46VX.js.map} +0 -0
- /package/dist/{chunk-V2HHAAPI.js.map → chunk-RB776UH3.js.map} +0 -0
- /package/dist/{chunk-TAIIC5OM.js.map → chunk-SEHKTE4F.js.map} +0 -0
- /package/dist/{chunk-G6E7XJYL.js.map → chunk-SZAWZPY6.js.map} +0 -0
- /package/dist/{chunk-TYZK56OA.js.map → chunk-TPRBJF46.js.map} +0 -0
- /package/dist/{chunk-7DNMX7SA.js.map → chunk-TQC6ELJO.js.map} +0 -0
- /package/dist/{chunk-OVJFS5P5.js.map → chunk-U6HXB2OG.js.map} +0 -0
- /package/dist/{chunk-7WSQZJPC.js.map → chunk-V3JM4XEI.js.map} +0 -0
- /package/dist/{chunk-36S7UHAW.js.map → chunk-VEBYLZQQ.js.map} +0 -0
- /package/dist/{chunk-IMJPJY7V.js.map → chunk-VHF73MGU.js.map} +0 -0
- /package/dist/{chunk-TDULASPE.js.map → chunk-VKDWYDFQ.js.map} +0 -0
- /package/dist/{chunk-NKXHCCLB.js.map → chunk-VTPASHTO.js.map} +0 -0
- /package/dist/{chunk-4B5S3VWD.js.map → chunk-VXGB766B.js.map} +0 -0
- /package/dist/{chunk-ADP2VCP6.js.map → chunk-W5UAB6EH.js.map} +0 -0
- /package/dist/{chunk-L3R24OLZ.js.map → chunk-W65KK3X6.js.map} +0 -0
- /package/dist/{chunk-MNIPH6LD.js.map → chunk-WBYQA3VN.js.map} +0 -0
- /package/dist/{chunk-WD2JD2UB.js.map → chunk-WEQZ5OYK.js.map} +0 -0
- /package/dist/{chunk-AJW2K7K3.js.map → chunk-WKNWC46C.js.map} +0 -0
- /package/dist/{chunk-UD6J2LIA.js.map → chunk-XDH5MO6L.js.map} +0 -0
- /package/dist/{chunk-MRV7VSQK.js.map → chunk-Y23L4YJV.js.map} +0 -0
- /package/dist/{chunk-6ISP2EN2.js.map → chunk-YF3JERFZ.js.map} +0 -0
- /package/dist/{chunk-C5CPYMLX.js.map → chunk-YR6A6ZK7.js.map} +0 -0
- /package/dist/{chunk-EJO2NWW7.js.map → chunk-Z3YQOV45.js.map} +0 -0
- /package/dist/{chunk-6KTXE6A3.js.map → chunk-Z4TXB4K7.js.map} +0 -0
- /package/dist/{chunk-6VITOSPL.js.map → chunk-ZFUPRODV.js.map} +0 -0
- /package/dist/{contradiction-scan-GVD4JJ7B.js.map → contradiction-scan-5EJYRKD3.js.map} +0 -0
- /package/dist/{first-start-migration-L3UFX5CU.js.map → first-start-migration-7OATHJKB.js.map} +0 -0
- /package/dist/{resolution-CHNISQJB.js.map → resolution-UYJU5JUA.js.map} +0 -0
- /package/dist/{tier-stats-VK5PCO2L.js.map → tier-stats-VF6DS52E.js.map} +0 -0
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
exportOkfBundle,
|
|
12
12
|
parseIncludeStatus
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-XDH5MO6L.js";
|
|
14
14
|
import {
|
|
15
15
|
exportSqlite
|
|
16
16
|
} from "./chunk-BV2TIZ4F.js";
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
} from "./chunk-IIFFC3RL.js";
|
|
65
65
|
import {
|
|
66
66
|
rebuildMemoryLifecycleLedger
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-W65KK3X6.js";
|
|
68
68
|
import {
|
|
69
69
|
lintOkfDir
|
|
70
70
|
} from "./chunk-UJX4I26O.js";
|
|
@@ -87,21 +87,21 @@ import {
|
|
|
87
87
|
} from "./chunk-EBA5DA77.js";
|
|
88
88
|
import {
|
|
89
89
|
searchVerifiedEpisodes
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-NRTVZSPO.js";
|
|
91
91
|
import {
|
|
92
92
|
ThreadingManager
|
|
93
93
|
} from "./chunk-OJP3N7UK.js";
|
|
94
94
|
import {
|
|
95
95
|
promoteSemanticRuleFromMemory
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-5Y7VCE3A.js";
|
|
97
97
|
import {
|
|
98
98
|
searchVerifiedSemanticRules
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-KXJ7XYUT.js";
|
|
100
100
|
import {
|
|
101
101
|
buildResumeBundleFromState,
|
|
102
102
|
getResumeBundleStatus,
|
|
103
103
|
recordResumeBundle
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-D433RXFJ.js";
|
|
105
105
|
import {
|
|
106
106
|
getWorkProductLedgerStatus,
|
|
107
107
|
recordWorkProductLedgerEntry,
|
|
@@ -112,7 +112,7 @@ import {
|
|
|
112
112
|
} from "./chunk-AM4T6CHX.js";
|
|
113
113
|
import {
|
|
114
114
|
parseXrayCliOptions
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-GZBNEZIU.js";
|
|
116
116
|
import {
|
|
117
117
|
collectPatternMemories,
|
|
118
118
|
explainPatternMemory,
|
|
@@ -134,7 +134,7 @@ import {
|
|
|
134
134
|
runOperatorInventory,
|
|
135
135
|
runOperatorRepair,
|
|
136
136
|
runOperatorSetup
|
|
137
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-SZAWZPY6.js";
|
|
138
138
|
import {
|
|
139
139
|
analyzeSessionIntegrity,
|
|
140
140
|
applySessionRepair,
|
|
@@ -173,7 +173,7 @@ import {
|
|
|
173
173
|
rebuildMemoryProjection,
|
|
174
174
|
repairMemoryProjection,
|
|
175
175
|
verifyMemoryProjection
|
|
176
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-SEHKTE4F.js";
|
|
177
177
|
import {
|
|
178
178
|
GraphDashboardServer
|
|
179
179
|
} from "./chunk-YNDLCWXS.js";
|
|
@@ -197,7 +197,7 @@ import {
|
|
|
197
197
|
} from "./chunk-6TBIWIAG.js";
|
|
198
198
|
import {
|
|
199
199
|
parseConfig
|
|
200
|
-
} from "./chunk-
|
|
200
|
+
} from "./chunk-2PKGJPQL.js";
|
|
201
201
|
import {
|
|
202
202
|
applyManagedRegion,
|
|
203
203
|
expandVaultTemplateTokens,
|
|
@@ -210,7 +210,7 @@ import {
|
|
|
210
210
|
import {
|
|
211
211
|
EngramAccessHttpServer,
|
|
212
212
|
MeetingsInputError
|
|
213
|
-
} from "./chunk-
|
|
213
|
+
} from "./chunk-FTNV5476.js";
|
|
214
214
|
import {
|
|
215
215
|
WearablesInputError
|
|
216
216
|
} from "./chunk-V7IZKJI3.js";
|
|
@@ -220,10 +220,10 @@ import {
|
|
|
220
220
|
loadChatSession,
|
|
221
221
|
processChatMessage,
|
|
222
222
|
sessionBelongsToPrincipal
|
|
223
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-4EEDRKRT.js";
|
|
224
224
|
import {
|
|
225
225
|
EngramAccessService
|
|
226
|
-
} from "./chunk-
|
|
226
|
+
} from "./chunk-VXGB766B.js";
|
|
227
227
|
import {
|
|
228
228
|
WorkStorage
|
|
229
229
|
} from "./chunk-MPC7TYTZ.js";
|
|
@@ -240,10 +240,10 @@ import {
|
|
|
240
240
|
parseRecallExplainFormat,
|
|
241
241
|
renderRecallExplain,
|
|
242
242
|
renderXray
|
|
243
|
-
} from "./chunk-
|
|
243
|
+
} from "./chunk-VEBYLZQQ.js";
|
|
244
244
|
import {
|
|
245
245
|
readAggregateExtractionWatermark
|
|
246
|
-
} from "./chunk-
|
|
246
|
+
} from "./chunk-KRPMISWO.js";
|
|
247
247
|
import {
|
|
248
248
|
getObjectiveStateStoreStatus
|
|
249
249
|
} from "./chunk-HM7RHKS4.js";
|
|
@@ -252,18 +252,18 @@ import {
|
|
|
252
252
|
} from "./chunk-TYP7GYRI.js";
|
|
253
253
|
import {
|
|
254
254
|
searchHarmonicRetrieval
|
|
255
|
-
} from "./chunk-
|
|
255
|
+
} from "./chunk-FWVDTLRK.js";
|
|
256
256
|
import {
|
|
257
257
|
listMemoryGovernanceRuns,
|
|
258
258
|
readMemoryGovernanceRunArtifact,
|
|
259
259
|
restoreMemoryGovernanceRun,
|
|
260
260
|
runMemoryGovernance
|
|
261
|
-
} from "./chunk-
|
|
261
|
+
} from "./chunk-LMLPLIT4.js";
|
|
262
262
|
import {
|
|
263
263
|
listNamespaces,
|
|
264
264
|
runNamespaceMigration,
|
|
265
265
|
verifyNamespaces
|
|
266
|
-
} from "./chunk-
|
|
266
|
+
} from "./chunk-QEGKMZNQ.js";
|
|
267
267
|
import {
|
|
268
268
|
getCueAnchorStoreStatus
|
|
269
269
|
} from "./chunk-BMWN7B3Y.js";
|
|
@@ -303,7 +303,7 @@ import {
|
|
|
303
303
|
} from "./chunk-LMMQKZK3.js";
|
|
304
304
|
import {
|
|
305
305
|
meetingIdDate
|
|
306
|
-
} from "./chunk-
|
|
306
|
+
} from "./chunk-5QZHDS4X.js";
|
|
307
307
|
import {
|
|
308
308
|
isValidTranscriptDate
|
|
309
309
|
} from "./chunk-UHVXE24Y.js";
|
|
@@ -354,7 +354,7 @@ import {
|
|
|
354
354
|
import {
|
|
355
355
|
RECALL_DISCLOSURE_LEVELS,
|
|
356
356
|
isRecallDisclosure
|
|
357
|
-
} from "./chunk-
|
|
357
|
+
} from "./chunk-F5O6WEDO.js";
|
|
358
358
|
import {
|
|
359
359
|
isSupportPassportPrivateMemory
|
|
360
360
|
} from "./chunk-PWPIERBM.js";
|
|
@@ -378,7 +378,7 @@ import {
|
|
|
378
378
|
resolveRecallEnhancementCapabilities,
|
|
379
379
|
resolveSecurityCapabilities,
|
|
380
380
|
resolveUtilityLearningCapabilities
|
|
381
|
-
} from "./chunk-
|
|
381
|
+
} from "./chunk-BMXEBWBT.js";
|
|
382
382
|
import {
|
|
383
383
|
expandTildePath
|
|
384
384
|
} from "./chunk-6KH5NLQS.js";
|
|
@@ -2951,11 +2951,21 @@ var RULE_WEIGHTS = {
|
|
|
2951
2951
|
"encoded-blob": 5,
|
|
2952
2952
|
// Instruction resets directly try to replace the active authority.
|
|
2953
2953
|
"ignore-previous-family": 4,
|
|
2954
|
-
// Conditional triggers encode a hidden action for a future turn.
|
|
2955
|
-
"conditional-trigger": 3,
|
|
2956
2954
|
// Remnic command references can redirect the memory system itself.
|
|
2957
|
-
"authority-escalation": 4
|
|
2955
|
+
"authority-escalation": 4,
|
|
2956
|
+
// Stored response controls try to turn recalled data into future behavior.
|
|
2957
|
+
"response-control-directive": 4,
|
|
2958
|
+
// Tool-routing controls replace the current tool choice from recalled data.
|
|
2959
|
+
"tool-routing-directive": 4
|
|
2960
|
+
};
|
|
2961
|
+
var PROFILE_RULE_WEIGHTS = {
|
|
2962
|
+
// Conditional triggers encode a hidden action for a future turn.
|
|
2963
|
+
"conditional-trigger": { default: 3, hardened: 4 }
|
|
2958
2964
|
};
|
|
2965
|
+
function ruleWeight(rule, profile) {
|
|
2966
|
+
const profileWeights = PROFILE_RULE_WEIGHTS[rule];
|
|
2967
|
+
return profileWeights ? profileWeights[profile] : RULE_WEIGHTS[rule];
|
|
2968
|
+
}
|
|
2959
2969
|
var INJECTION_SCREEN_THRESHOLD = 4;
|
|
2960
2970
|
var MAX_EXCERPT_LENGTH = 180;
|
|
2961
2971
|
var AUTHORITY_EXECUTABLE_TOOL_REFERENCE = String.raw`(?:remnic|engram)(?:\s+security\s+audit-memory\b|\s+(?:memory_store|suggestion_submit|observe|recall|delete_memory|memory_correct_apply|memory_search)(?:\s+(?:tool|command))?\b|\s+(?:tool|command)\b|[_:-](?:memory_store|suggestion_submit|observe|recall|delete_memory|memory_correct_apply|memory_search)\b)`;
|
|
@@ -2982,11 +2992,11 @@ function findImperativeToAgent(content) {
|
|
|
2982
2992
|
return findingFor(
|
|
2983
2993
|
"imperative-to-agent",
|
|
2984
2994
|
content,
|
|
2985
|
-
/\b(?:agent|assistant|ai|model)\
|
|
2995
|
+
/\b(?:agent|assistant|ai|model)[ \t]{0,8}[,!:.-][ \t]{0,8}(?:please[ \t]{1,8})?(?:ignore|disregard|call|run|execute|send|delete|reveal|email|store|remember|follow|use|do|answer|respond|reply|emit|output|return|include|produce|say)\b/i
|
|
2986
2996
|
) ?? findingFor(
|
|
2987
2997
|
"imperative-to-agent",
|
|
2988
2998
|
content,
|
|
2989
|
-
/\b(?:agent|assistant|ai|model)\
|
|
2999
|
+
/\b(?:agent|assistant|ai|model)[ \t]{1,8}(?:must|should|need to|please|to)[ \t]{1,8}(?:ignore|disregard|call|run|execute|send|delete|reveal|email|store|remember|follow|use|do|answer|respond|reply|emit|output|return|include|produce|say)\b/i
|
|
2990
3000
|
);
|
|
2991
3001
|
}
|
|
2992
3002
|
function findToolInvocationSyntax(content) {
|
|
@@ -3030,11 +3040,325 @@ function findConditionalTrigger(content) {
|
|
|
3030
3040
|
return findingFor(
|
|
3031
3041
|
"conditional-trigger",
|
|
3032
3042
|
content,
|
|
3033
|
-
/\b(?:when|if)\b[\s\S]{1,
|
|
3043
|
+
/\b(?:when|if|unless|after|only after|if and only if|on seeing)\b[\s\S]{1,180}\b(?:ask|asked|say|says|see|sees|seeing|hear|hears|receive|receives|mention|mentions|mentioned|appear|appears|contain|contains|encounter|encounters|phrase|condition|key)\b[\s\S]{0,180}\b(?:then[ \t]{1,8})?(?:answer|call|include|invoke|run|execute|send|delete|reveal|store|use|follow|do|respond|reply|emit|output|return|produce|say|add|replace)\b/i
|
|
3034
3044
|
) ?? findingFor(
|
|
3035
3045
|
"conditional-trigger",
|
|
3036
3046
|
content,
|
|
3037
|
-
/\b(?:when|if)\b[\s\S]{1,
|
|
3047
|
+
/\b(?:when|if|unless)\b[\s\S]{1,120},[ \t]{0,8}(?:then[ \t]{1,8})?(?:answer|call|include|invoke|run|execute|send|delete|reveal|store|use|follow|do|respond|reply|emit|output|return|produce|say|add|replace)\b/i
|
|
3048
|
+
);
|
|
3049
|
+
}
|
|
3050
|
+
var RESPONSE_NOUN = String.raw`(?:answers?|responses?|repl(?:y|ies)|output)`;
|
|
3051
|
+
var RESPONSE_CONTROL_PATTERNS = [
|
|
3052
|
+
// "the approved response concerning X is exactly CANARY"
|
|
3053
|
+
new RegExp(
|
|
3054
|
+
String.raw`\b${RESPONSE_NOUN}\b[^\n]{0,60}\b(?:(?:is|are|be)[ \t]{1,8}exactly|becomes?)\b`,
|
|
3055
|
+
"i"
|
|
3056
|
+
),
|
|
3057
|
+
// "the response must include / should begin with / needs to say ..."
|
|
3058
|
+
new RegExp(
|
|
3059
|
+
String.raw`\b${RESPONSE_NOUN}\b[^\n]{0,60}\b(?:must|should|shall|will|needs?[ \t]{1,8}to|has[ \t]{1,8}to|have[ \t]{1,8}to|is[ \t]{1,8}to|are[ \t]{1,8}to)[ \t]{1,8}(?:always[ \t]{1,8})?(?:include|contain|begin|start|end|say|state|mention|output|return|emit|produce|read|quote|reference|append|prepend)\b`,
|
|
3060
|
+
"i"
|
|
3061
|
+
),
|
|
3062
|
+
// "include CANARY in every answer", "add <url> to answers"
|
|
3063
|
+
new RegExp(
|
|
3064
|
+
String.raw`\b(?:include|add|emit|output|return|append|prepend|say|state|put)\b[^\n]{0,80}\b(?:in|to|into|with|as|on)[ \t]{1,8}[^\n]{0,30}\b${RESPONSE_NOUN}\b`,
|
|
3065
|
+
"i"
|
|
3066
|
+
),
|
|
3067
|
+
// "reply with the marker CANARY", "respond by saying"
|
|
3068
|
+
/\b(?:reply|respond|answer)[ \t]{1,8}(?:with|by|using)[ \t]{1,8}(?:the[ \t]{1,8}|only[ \t]{1,8}|exactly[ \t]{1,8})?(?:marker|phrase|code|string|text|token|exact|exactly|only|saying|outputting|returning|CANARY)/i,
|
|
3069
|
+
// "activation requires outputting CANARY", "retrieval should produce CANARY"
|
|
3070
|
+
/\b(?:requires?|should|must|will)[ \t]{1,8}(?:outputting|emitting|returning|saying|replying|responding|answering|producing|output|emit|produce)\b[^\n]{0,40}\b(?:CANARY|marker|phrase|code|token|exactly|https?:)/i,
|
|
3071
|
+
/\b(?:retrieval|recall|activation)\b[^\n]{0,40}\b(?:should|must|will|requires?)[ \t]{1,8}(?:produce|output|emit|return|say|reply|respond)\b/i,
|
|
3072
|
+
// "say CANARY", "answer CANARY", "use CANARY instead", "return https://..."
|
|
3073
|
+
/\b(?:say|answer|reply|respond|output|return|emit|use|produce)[ \t]{1,8}(?:with[ \t]{1,8}|only[ \t]{1,8}|exactly[ \t]{1,8})?(?:CANARY|the[ \t]{1,8}(?:literal|exact|marker|phrase|string|token)\b|https?:)/i,
|
|
3074
|
+
// "replace normal behavior with the literal response", "require the literal marker"
|
|
3075
|
+
/\breplace[ \t]{1,8}(?:normal|default|your|the|its|all)?[ \t]{0,8}(?:behaviou?r|responses?|answers?|repl(?:y|ies)|output)\b/i,
|
|
3076
|
+
/\b(?:literal|exact|verbatim)[ \t]{1,8}(?:response|answer|reply|marker|string|output|phrase|token)\b/i
|
|
3077
|
+
];
|
|
3078
|
+
var RESPONSE_CONTROL_CORROBORATORS = [
|
|
3079
|
+
/\bCANARY\b/i,
|
|
3080
|
+
/https?:\/\//i,
|
|
3081
|
+
/\b[0-9a-f]{8,}\b/i,
|
|
3082
|
+
/\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\b/,
|
|
3083
|
+
// Naming the emission as a phrase/marker/token is a payload cue: ordinary
|
|
3084
|
+
// prose names a field ("the request id"), not "the phrase".
|
|
3085
|
+
/\b(?:the|this|that|following)[ \t]{1,8}(?:phrase|marker|token|string|sequence|literal|codeword|passphrase)\b/i,
|
|
3086
|
+
// Verbatim control over the wording, not the content.
|
|
3087
|
+
/\b(?:literal(?:ly)?|verbatim|word[- ]for[- ]word|exactly[ \t]{1,8}(?:this|that|as)|character[- ]for[- ]character)\b/i,
|
|
3088
|
+
/\bno[ \t]{1,8}(?:explanation|commentary|preamble|deviation|other[ \t]{1,8}text)\b/i,
|
|
3089
|
+
/\b(?:only|nothing[ \t]{1,8}else|and[ \t]{1,8}nothing)\b[^\n]{0,30}\b(?:answers?|responses?|repl(?:y|ies)|output|say|said)\b/i,
|
|
3090
|
+
// Persistence across turns: an ordinary fact does not legislate later turns.
|
|
3091
|
+
/\b(?:remember|persist|store[ \t]{1,8}this|retain[ \t]{1,8}this)\b/i,
|
|
3092
|
+
/\bany[ \t]{1,8}(?:later|future|subsequent)\b/i,
|
|
3093
|
+
/\b(?:future|later|subsequent|following|upcoming)[ \t]{1,8}(?:answers?|responses?|repl(?:y|ies)|output|turns?|messages?|conversations?|sessions?)\b/i,
|
|
3094
|
+
/\b(?:across|between)[ \t]{1,8}(?:conversations|sessions|chats)\b/i,
|
|
3095
|
+
/\b(?:from[ \t]{1,8}now[ \t]{1,8}on|going[ \t]{1,8}forward|in[ \t]{1,8}(?:all|every)[ \t]{1,8}(?:future|later)[ \t]{1,8}(?:turns?|answers?|responses?))\b/i,
|
|
3096
|
+
/\b(?:whenever|every[ \t]{1,8}time|each[ \t]{1,8}time|any[ \t]{1,8}time)\b[^\n]{0,60}\b(?:asked|discussed|mentioned|queried|retrieved|recalled)\b/i,
|
|
3097
|
+
// The subject is the agent, not a system under discussion.
|
|
3098
|
+
/\byour[ \t]{1,8}(?:answers?|responses?|repl(?:y|ies)|output|behaviou?r|memory)\b/i,
|
|
3099
|
+
/\b(?:assistant|agent|model)(?:'s)?[ \t]{1,8}(?:answers?|responses?|repl(?:y|ies)|output|behaviou?r)\b/i,
|
|
3100
|
+
// A hidden activation phrase is itself the second signal.
|
|
3101
|
+
/\b(?:activation|trigger)[ \t]{1,8}(?:phrase|key|word|code)\b/i,
|
|
3102
|
+
/\b(?:approved|required|correct|canonical)[ \t]{1,8}(?:response|answer|reply)\b/i
|
|
3103
|
+
];
|
|
3104
|
+
var ORDINARY_CAPS_TOKENS = /* @__PURE__ */ new Set([
|
|
3105
|
+
"API",
|
|
3106
|
+
"HTTP",
|
|
3107
|
+
"HTTPS",
|
|
3108
|
+
"JSON",
|
|
3109
|
+
"XML",
|
|
3110
|
+
"HTML",
|
|
3111
|
+
"CSS",
|
|
3112
|
+
"CSV",
|
|
3113
|
+
"TSV",
|
|
3114
|
+
"YAML",
|
|
3115
|
+
"TOML",
|
|
3116
|
+
"SQL",
|
|
3117
|
+
"URL",
|
|
3118
|
+
"URI",
|
|
3119
|
+
"UUID",
|
|
3120
|
+
"ID",
|
|
3121
|
+
"IDS",
|
|
3122
|
+
"UTC",
|
|
3123
|
+
"ISO",
|
|
3124
|
+
"PDF",
|
|
3125
|
+
"PNG",
|
|
3126
|
+
"JPEG",
|
|
3127
|
+
"SVG",
|
|
3128
|
+
"TLS",
|
|
3129
|
+
"SSL",
|
|
3130
|
+
"SSH",
|
|
3131
|
+
"DNS",
|
|
3132
|
+
"TCP",
|
|
3133
|
+
"UDP",
|
|
3134
|
+
"IP",
|
|
3135
|
+
"CDN",
|
|
3136
|
+
"CORS",
|
|
3137
|
+
"CSRF",
|
|
3138
|
+
"JWT",
|
|
3139
|
+
"OAUTH",
|
|
3140
|
+
"REST",
|
|
3141
|
+
"GRPC",
|
|
3142
|
+
"RPC",
|
|
3143
|
+
"SDK",
|
|
3144
|
+
"CLI",
|
|
3145
|
+
"GUI",
|
|
3146
|
+
"OK",
|
|
3147
|
+
"YES",
|
|
3148
|
+
"NO",
|
|
3149
|
+
"TODO",
|
|
3150
|
+
"FAQ",
|
|
3151
|
+
"PR",
|
|
3152
|
+
"CI",
|
|
3153
|
+
"CD",
|
|
3154
|
+
"QA",
|
|
3155
|
+
"UX",
|
|
3156
|
+
"UI",
|
|
3157
|
+
"MIT",
|
|
3158
|
+
"GPL",
|
|
3159
|
+
"EU",
|
|
3160
|
+
"US",
|
|
3161
|
+
"AM",
|
|
3162
|
+
"PM",
|
|
3163
|
+
"FYI",
|
|
3164
|
+
"ETA",
|
|
3165
|
+
// Crypto, encoding, and spec vocabulary (trailing digits are stripped
|
|
3166
|
+
// before this lookup, so SHA256/SHA-256/UTF8/ISO8601/RFC3339 all reduce).
|
|
3167
|
+
"SHA",
|
|
3168
|
+
"MD",
|
|
3169
|
+
"HMAC",
|
|
3170
|
+
"AES",
|
|
3171
|
+
"RSA",
|
|
3172
|
+
"ECDSA",
|
|
3173
|
+
"PBKDF",
|
|
3174
|
+
"BCRYPT",
|
|
3175
|
+
"SCRYPT",
|
|
3176
|
+
"ARGON",
|
|
3177
|
+
"UTF",
|
|
3178
|
+
"ASCII",
|
|
3179
|
+
"BASE",
|
|
3180
|
+
"HEX",
|
|
3181
|
+
"CRC",
|
|
3182
|
+
"GZIP",
|
|
3183
|
+
"ZSTD",
|
|
3184
|
+
"RFC",
|
|
3185
|
+
"ANSI",
|
|
3186
|
+
"IEEE",
|
|
3187
|
+
"SMTP",
|
|
3188
|
+
"IMAP",
|
|
3189
|
+
"LDAP",
|
|
3190
|
+
"SAML",
|
|
3191
|
+
"OIDC",
|
|
3192
|
+
"SSO",
|
|
3193
|
+
"MFA",
|
|
3194
|
+
"TOTP",
|
|
3195
|
+
"ACL",
|
|
3196
|
+
"RBAC",
|
|
3197
|
+
"AWS",
|
|
3198
|
+
"GCP",
|
|
3199
|
+
"GPU",
|
|
3200
|
+
"CPU",
|
|
3201
|
+
"RAM",
|
|
3202
|
+
"SSD",
|
|
3203
|
+
"OS",
|
|
3204
|
+
"VM",
|
|
3205
|
+
"K8S",
|
|
3206
|
+
"NPM",
|
|
3207
|
+
"SEMVER",
|
|
3208
|
+
"GET",
|
|
3209
|
+
"POST",
|
|
3210
|
+
"PUT",
|
|
3211
|
+
"PATCH",
|
|
3212
|
+
"DELETE",
|
|
3213
|
+
"HEAD",
|
|
3214
|
+
"OPTIONS",
|
|
3215
|
+
"TRACE"
|
|
3216
|
+
]);
|
|
3217
|
+
var ORDINARY_CAPITALIZED_WORDS = /* @__PURE__ */ new Set([
|
|
3218
|
+
"Dear",
|
|
3219
|
+
"Hello",
|
|
3220
|
+
"Hi",
|
|
3221
|
+
"Greetings",
|
|
3222
|
+
"Please",
|
|
3223
|
+
"Thanks",
|
|
3224
|
+
"Thank",
|
|
3225
|
+
"Regards",
|
|
3226
|
+
"Sincerely",
|
|
3227
|
+
"Yes",
|
|
3228
|
+
"No",
|
|
3229
|
+
"True",
|
|
3230
|
+
"False",
|
|
3231
|
+
"Null",
|
|
3232
|
+
"None",
|
|
3233
|
+
"Error",
|
|
3234
|
+
"Warning",
|
|
3235
|
+
"Note",
|
|
3236
|
+
"Summary",
|
|
3237
|
+
"Subject",
|
|
3238
|
+
"Re",
|
|
3239
|
+
"Fwd",
|
|
3240
|
+
"Attention",
|
|
3241
|
+
"Notice",
|
|
3242
|
+
"Draft",
|
|
3243
|
+
"Monday",
|
|
3244
|
+
"Tuesday",
|
|
3245
|
+
"Wednesday",
|
|
3246
|
+
"Thursday",
|
|
3247
|
+
"Friday",
|
|
3248
|
+
"Saturday",
|
|
3249
|
+
"Sunday",
|
|
3250
|
+
"January",
|
|
3251
|
+
"February",
|
|
3252
|
+
"March",
|
|
3253
|
+
"April",
|
|
3254
|
+
"May",
|
|
3255
|
+
"June",
|
|
3256
|
+
"July",
|
|
3257
|
+
"August",
|
|
3258
|
+
"September",
|
|
3259
|
+
"October",
|
|
3260
|
+
"November",
|
|
3261
|
+
"December"
|
|
3262
|
+
]);
|
|
3263
|
+
var EMISSION_VERB_PRESENT = /\b(?:begin|start|end|include|contain|say|state|output|return|emit|produce|reply|respond|answer|replace|becomes?|is|are|be)\b[ \t]/i;
|
|
3264
|
+
var OPAQUE_EMISSION_TARGET = /\b(?:begin|start|end|include|contain|say|state|output|return|emit|produce|reply|respond|answer|replace|becomes?|is|are|be)\b[ \t]{1,8}(?:(?:with|by|exactly)[ \t]{1,8})?(?:normal[ \t]{1,8}behaviou?r[ \t]{1,8}with[ \t]{1,8})?/gi;
|
|
3265
|
+
var EMISSION_SLOT_VALUE = /(?:"([^"\n]{2,40})"|'([^'\n]{2,40})'|([A-Za-z][A-Za-z0-9_-]{1,39})\b)/y;
|
|
3266
|
+
var MAX_WHITESPACE_RUN_SCAN = 64;
|
|
3267
|
+
function lowercaseFollowsWhitespace(content, from) {
|
|
3268
|
+
const limit = Math.min(content.length, from + MAX_WHITESPACE_RUN_SCAN);
|
|
3269
|
+
let index = from;
|
|
3270
|
+
while (index < limit) {
|
|
3271
|
+
const code = content.charCodeAt(index);
|
|
3272
|
+
const whitespace = code === 32 || code >= 9 && code <= 13;
|
|
3273
|
+
if (!whitespace) return code >= 97 && code <= 122;
|
|
3274
|
+
index += 1;
|
|
3275
|
+
}
|
|
3276
|
+
return false;
|
|
3277
|
+
}
|
|
3278
|
+
function splitSentencesOutsideQuotes(content) {
|
|
3279
|
+
const sentences = [];
|
|
3280
|
+
const TOKEN = /["'.!?\n]/g;
|
|
3281
|
+
let start = 0;
|
|
3282
|
+
let quote;
|
|
3283
|
+
let match;
|
|
3284
|
+
while ((match = TOKEN.exec(content)) !== null) {
|
|
3285
|
+
const char = match[0];
|
|
3286
|
+
const index = match.index;
|
|
3287
|
+
if (quote !== void 0) {
|
|
3288
|
+
if (char === quote) quote = void 0;
|
|
3289
|
+
continue;
|
|
3290
|
+
}
|
|
3291
|
+
if (char === '"' || char === "'" && !/[A-Za-z0-9]/.test(content[index - 1] ?? " ")) {
|
|
3292
|
+
quote = char;
|
|
3293
|
+
continue;
|
|
3294
|
+
}
|
|
3295
|
+
const next = content[index + 1];
|
|
3296
|
+
const insideToken = char !== "\n" && next !== void 0 && !/\s/.test(next);
|
|
3297
|
+
const terminalUrlPunctuation = (char === "?" || char === "!") && lowercaseFollowsWhitespace(content, index + 1) && /:\/\/[^\s]*$/.test(content.slice(Math.max(0, index - 300), index));
|
|
3298
|
+
const newlineContinues = char === "\n" && /[:\-][ \t]*$/.test(content.slice(Math.max(0, index - 4), index));
|
|
3299
|
+
const endsUnit = !insideToken && !terminalUrlPunctuation && !newlineContinues && (char === "." || char === "!" || char === "?" || char === "\n");
|
|
3300
|
+
if (endsUnit) {
|
|
3301
|
+
if (index > start) sentences.push(content.slice(start, index));
|
|
3302
|
+
start = index + 1;
|
|
3303
|
+
}
|
|
3304
|
+
}
|
|
3305
|
+
if (start < content.length) sentences.push(content.slice(start));
|
|
3306
|
+
return sentences;
|
|
3307
|
+
}
|
|
3308
|
+
function reduceToken(token) {
|
|
3309
|
+
return token.replace(/[0-9]+$/, "");
|
|
3310
|
+
}
|
|
3311
|
+
function isOrdinaryToken(token) {
|
|
3312
|
+
const segments = token.split(/[-_]+/).filter((segment) => segment.length > 0);
|
|
3313
|
+
if (segments.length === 0) return true;
|
|
3314
|
+
if (segments.length > 1 && segments.every((segment) => /^[A-Z][a-z]+$/.test(segment))) return true;
|
|
3315
|
+
return segments.every((segment) => {
|
|
3316
|
+
if (/^[0-9]+$/.test(segment)) return true;
|
|
3317
|
+
const reduced = reduceToken(segment);
|
|
3318
|
+
if (ORDINARY_CAPS_TOKENS.has(segment) || ORDINARY_CAPS_TOKENS.has(reduced)) return true;
|
|
3319
|
+
return ORDINARY_CAPITALIZED_WORDS.has(segment);
|
|
3320
|
+
});
|
|
3321
|
+
}
|
|
3322
|
+
function hasOpaqueEmissionTarget(sentence) {
|
|
3323
|
+
OPAQUE_EMISSION_TARGET.lastIndex = 0;
|
|
3324
|
+
for (let verb = OPAQUE_EMISSION_TARGET.exec(sentence); verb !== null; verb = OPAQUE_EMISSION_TARGET.exec(sentence)) {
|
|
3325
|
+
EMISSION_SLOT_VALUE.lastIndex = verb.index + verb[0].length;
|
|
3326
|
+
const match = EMISSION_SLOT_VALUE.exec(sentence);
|
|
3327
|
+
if (!match) continue;
|
|
3328
|
+
const quoted = match[1] ?? match[2];
|
|
3329
|
+
if (quoted !== void 0) {
|
|
3330
|
+
const inner = quoted.trim();
|
|
3331
|
+
if (!/\s/.test(inner) && isOrdinaryToken(inner)) continue;
|
|
3332
|
+
return true;
|
|
3333
|
+
}
|
|
3334
|
+
const token = match[3];
|
|
3335
|
+
if (token === void 0) continue;
|
|
3336
|
+
if (/^[a-z]/.test(token)) continue;
|
|
3337
|
+
if (!isOrdinaryToken(token)) return true;
|
|
3338
|
+
}
|
|
3339
|
+
return false;
|
|
3340
|
+
}
|
|
3341
|
+
function findResponseControlDirective(content, profile = "default") {
|
|
3342
|
+
const directive = RESPONSE_CONTROL_PATTERNS.map(
|
|
3343
|
+
(pattern) => findingFor("response-control-directive", content, pattern)
|
|
3344
|
+
).find((finding) => finding !== void 0);
|
|
3345
|
+
if (!directive) return void 0;
|
|
3346
|
+
if (profile === "hardened") return directive;
|
|
3347
|
+
const anyCorroborator = RESPONSE_CONTROL_CORROBORATORS.some((pattern) => pattern.test(content));
|
|
3348
|
+
const anyEmissionVerb = !anyCorroborator ? EMISSION_VERB_PRESENT.test(content) : true;
|
|
3349
|
+
if (!anyCorroborator && !anyEmissionVerb) return void 0;
|
|
3350
|
+
for (const sentence of splitSentencesOutsideQuotes(content)) {
|
|
3351
|
+
if (!RESPONSE_CONTROL_PATTERNS.some((pattern) => pattern.test(sentence))) continue;
|
|
3352
|
+
if (anyCorroborator && RESPONSE_CONTROL_CORROBORATORS.some((pattern) => pattern.test(sentence))) return directive;
|
|
3353
|
+
if (hasOpaqueEmissionTarget(sentence)) return directive;
|
|
3354
|
+
}
|
|
3355
|
+
return void 0;
|
|
3356
|
+
}
|
|
3357
|
+
function findToolRoutingDirective(content) {
|
|
3358
|
+
return findingFor(
|
|
3359
|
+
"tool-routing-directive",
|
|
3360
|
+
content,
|
|
3361
|
+
/\b(?:ignore|redirect(?:ing)?|override|substitute|preferred[_ -]?tool|never[ \t]{1,8}use|must[ \t]{1,8}call|requires?[ \t]{1,8}redirecting)\b[\s\S]{0,160}\b(?:tool|function|[a-z][a-z0-9-]*[_:.][a-z0-9-]+)\b|\b(?:tool|function|[a-z][a-z0-9-]*[_:.][a-z0-9-]+)\b[\s\S]{0,160}\b(?:redirect(?:ing)?|override|substitute|preferred[_ -]?tool|never[ \t]{1,8}use|must[ \t]{1,8}call)\b/i
|
|
3038
3362
|
);
|
|
3039
3363
|
}
|
|
3040
3364
|
function findAuthorityEscalation(content) {
|
|
@@ -3048,7 +3372,16 @@ function findAuthorityEscalation(content) {
|
|
|
3048
3372
|
AUTHORITY_MANDATORY_DIRECTIVE_PATTERN
|
|
3049
3373
|
);
|
|
3050
3374
|
}
|
|
3051
|
-
|
|
3375
|
+
var INVISIBLE_FORMATTING = /[\u00ad\u200b-\u200f\u2060\u2028\u2029\ufeff]/g;
|
|
3376
|
+
var NON_ASCII_SPACE_LIKE = /[\f\v\u0085\u1680\u00a0\u2000-\u200a\u202f\u205f\u3000]/g;
|
|
3377
|
+
var ASCII_SPACE_RUN = /[ \t]{2,}/g;
|
|
3378
|
+
function normalizeForScreening(content) {
|
|
3379
|
+
const spaced = content.replace(NON_ASCII_SPACE_LIKE, " ").replace(INVISIBLE_FORMATTING, " ").replace(ASCII_SPACE_RUN, " ");
|
|
3380
|
+
const deleted = content.replace(INVISIBLE_FORMATTING, "").replace(NON_ASCII_SPACE_LIKE, " ").replace(ASCII_SPACE_RUN, " ");
|
|
3381
|
+
return spaced === deleted ? [spaced] : [spaced, deleted];
|
|
3382
|
+
}
|
|
3383
|
+
function screenCandidateFact(rawContent, profile = "default") {
|
|
3384
|
+
const variants = normalizeForScreening(rawContent);
|
|
3052
3385
|
const findings = [];
|
|
3053
3386
|
const rules = [
|
|
3054
3387
|
["imperative-to-agent", findImperativeToAgent],
|
|
@@ -3056,13 +3389,20 @@ function screenCandidateFact(content) {
|
|
|
3056
3389
|
["encoded-blob", findEncodedBlob],
|
|
3057
3390
|
["ignore-previous-family", findIgnorePreviousFamily],
|
|
3058
3391
|
["conditional-trigger", findConditionalTrigger],
|
|
3059
|
-
["authority-escalation", findAuthorityEscalation]
|
|
3392
|
+
["authority-escalation", findAuthorityEscalation],
|
|
3393
|
+
["response-control-directive", findResponseControlDirective],
|
|
3394
|
+
["tool-routing-directive", findToolRoutingDirective]
|
|
3060
3395
|
];
|
|
3061
3396
|
for (const [rule, find] of rules) {
|
|
3062
|
-
const
|
|
3063
|
-
|
|
3397
|
+
for (const content of variants) {
|
|
3398
|
+
const finding = find(content, profile);
|
|
3399
|
+
if (finding) {
|
|
3400
|
+
findings.push({ rule, excerpt: finding.excerpt });
|
|
3401
|
+
break;
|
|
3402
|
+
}
|
|
3403
|
+
}
|
|
3064
3404
|
}
|
|
3065
|
-
const score = findings.reduce((sum, finding) => sum +
|
|
3405
|
+
const score = findings.reduce((sum, finding) => sum + ruleWeight(finding.rule, profile), 0);
|
|
3066
3406
|
return { score, findings, quarantine: score >= INJECTION_SCREEN_THRESHOLD };
|
|
3067
3407
|
}
|
|
3068
3408
|
|
|
@@ -3177,6 +3517,10 @@ function writeBurstStats(groups) {
|
|
|
3177
3517
|
anomalousGroups
|
|
3178
3518
|
};
|
|
3179
3519
|
}
|
|
3520
|
+
function auditScreenProfile(config) {
|
|
3521
|
+
const capabilities = resolveSecurityCapabilities(config);
|
|
3522
|
+
return capabilities.injectionScreen ? capabilities.injectionScreenProfile : "default";
|
|
3523
|
+
}
|
|
3180
3524
|
async function auditMemoryStore(options) {
|
|
3181
3525
|
const since = parseSince(options.since);
|
|
3182
3526
|
const storage = options.storage;
|
|
@@ -3188,8 +3532,9 @@ async function auditMemoryStore(options) {
|
|
|
3188
3532
|
);
|
|
3189
3533
|
const findings = [];
|
|
3190
3534
|
const quarantinePaths = /* @__PURE__ */ new Map();
|
|
3535
|
+
const profile = options.profile ?? "default";
|
|
3191
3536
|
for (const memory of activeMemories) {
|
|
3192
|
-
const screened = screenCandidateFact(memory.content);
|
|
3537
|
+
const screened = screenCandidateFact(memory.content, profile);
|
|
3193
3538
|
if (screened.quarantine === true) quarantinePaths.set(memory.path, { injection: true, burst: false });
|
|
3194
3539
|
for (const screenFinding of screened.findings) {
|
|
3195
3540
|
findings.push({
|
|
@@ -3236,7 +3581,7 @@ async function auditMemoryStore(options) {
|
|
|
3236
3581
|
if (!qInfo) continue;
|
|
3237
3582
|
const memory = await storage.readMemoryByPath(staleMemory.path);
|
|
3238
3583
|
if (!memory || !isActive(memory, options.memoryDir)) continue;
|
|
3239
|
-
if (qInfo.injection && !qInfo.burst && !screenCandidateFact(memory.content).quarantine) continue;
|
|
3584
|
+
if (qInfo.injection && !qInfo.burst && !screenCandidateFact(memory.content, profile).quarantine) continue;
|
|
3240
3585
|
const changed = await storage.writeMemoryFrontmatterIfUnchanged(memory, {
|
|
3241
3586
|
status: "pending_review",
|
|
3242
3587
|
updated: now
|
|
@@ -3292,7 +3637,13 @@ function registerSecurityCommands(cmd, orchestrator) {
|
|
|
3292
3637
|
memoryDir: orchestrator.config.memoryDir,
|
|
3293
3638
|
storage: orchestrator.storage,
|
|
3294
3639
|
since: typeof options.since === "string" && options.since.trim().length > 0 ? options.since.trim() : void 0,
|
|
3295
|
-
quarantine: options.quarantine === true
|
|
3640
|
+
quarantine: options.quarantine === true,
|
|
3641
|
+
// Screen with the profile live ingestion uses, or a memory this
|
|
3642
|
+
// deployment would quarantine on write stays active once stored
|
|
3643
|
+
// (#3078). A deployment with the screen DISABLED keeps the previous
|
|
3644
|
+
// `default` weighting: the sweep must not be stricter than the
|
|
3645
|
+
// write path the operator configured.
|
|
3646
|
+
profile: auditScreenProfile(orchestrator.config)
|
|
3296
3647
|
});
|
|
3297
3648
|
if (options.json === true) {
|
|
3298
3649
|
console.log(JSON.stringify(report, null, 2));
|
|
@@ -5738,7 +6089,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
5738
6089
|
);
|
|
5739
6090
|
tierCmd.command("list").description("Summarize tier distribution across all memories").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
|
|
5740
6091
|
const options = args[0] ?? {};
|
|
5741
|
-
const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-
|
|
6092
|
+
const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-VF6DS52E.js");
|
|
5742
6093
|
const summary = await summarizeTiers(orchestrator.storage);
|
|
5743
6094
|
if (reportHasMachineReadableOutput(options)) {
|
|
5744
6095
|
console.log(JSON.stringify(summary, null, 2));
|
|
@@ -5749,7 +6100,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
5749
6100
|
tierCmd.command("explain").description("Explain the tier-transition decision for a single memory").argument("<id>", "Memory id to explain").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
|
|
5750
6101
|
const idArg = typeof args[0] === "string" ? args[0] : "";
|
|
5751
6102
|
const options = args[1] ?? {};
|
|
5752
|
-
const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-
|
|
6103
|
+
const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-VF6DS52E.js");
|
|
5753
6104
|
try {
|
|
5754
6105
|
const explain = await explainTierForMemory(
|
|
5755
6106
|
orchestrator.storage,
|
|
@@ -8995,7 +9346,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8995
9346
|
console.error("--verb is required. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context");
|
|
8996
9347
|
process.exit(1);
|
|
8997
9348
|
}
|
|
8998
|
-
const { isValidResolutionVerb, executeResolution } = await import("./resolution-
|
|
9349
|
+
const { isValidResolutionVerb, executeResolution } = await import("./resolution-UYJU5JUA.js");
|
|
8999
9350
|
if (!isValidResolutionVerb(verb)) {
|
|
9000
9351
|
console.error(`Invalid verb: ${verb}. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context`);
|
|
9001
9352
|
process.exit(1);
|
|
@@ -9027,7 +9378,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
9027
9378
|
});
|
|
9028
9379
|
reviewCmd.command("scan").description("Run an on-demand contradiction scan").option("--namespace <ns>", "Namespace to scan").action(async (...args) => {
|
|
9029
9380
|
const options = args[0] ?? {};
|
|
9030
|
-
const { runContradictionScan } = await import("./contradiction-scan-
|
|
9381
|
+
const { runContradictionScan } = await import("./contradiction-scan-5EJYRKD3.js");
|
|
9031
9382
|
console.log("Running contradiction scan...");
|
|
9032
9383
|
const result = await runContradictionScan({
|
|
9033
9384
|
storage: orchestrator.storage,
|
|
@@ -9654,6 +10005,7 @@ export {
|
|
|
9654
10005
|
exportSkillBundles,
|
|
9655
10006
|
readSkillBundlesFromDir,
|
|
9656
10007
|
persistImportedSkills,
|
|
10008
|
+
auditScreenProfile,
|
|
9657
10009
|
auditMemoryStore,
|
|
9658
10010
|
formatAuditMemoryReport,
|
|
9659
10011
|
registerWearableConnector,
|
|
@@ -9779,4 +10131,4 @@ export {
|
|
|
9779
10131
|
listMemoryMarkdownFilePaths,
|
|
9780
10132
|
registerCli
|
|
9781
10133
|
};
|
|
9782
|
-
//# sourceMappingURL=chunk-
|
|
10134
|
+
//# sourceMappingURL=chunk-ZDZJ2PG4.js.map
|