@remnic/core 1.0.0
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/abstraction-nodes.d.ts +52 -0
- package/dist/abstraction-nodes.js +15 -0
- package/dist/abstraction-nodes.js.map +1 -0
- package/dist/access-cli.d.ts +5 -0
- package/dist/access-cli.js +308 -0
- package/dist/access-cli.js.map +1 -0
- package/dist/access-http.d.ts +158 -0
- package/dist/access-http.js +32 -0
- package/dist/access-http.js.map +1 -0
- package/dist/access-idempotency.d.ts +31 -0
- package/dist/access-idempotency.js +11 -0
- package/dist/access-idempotency.js.map +1 -0
- package/dist/access-mcp.d.ts +76 -0
- package/dist/access-mcp.js +8 -0
- package/dist/access-mcp.js.map +1 -0
- package/dist/access-schema.d.ts +266 -0
- package/dist/access-schema.js +29 -0
- package/dist/access-schema.js.map +1 -0
- package/dist/access-service.d.ts +614 -0
- package/dist/access-service.js +32 -0
- package/dist/access-service.js.map +1 -0
- package/dist/behavior-learner.d.ts +16 -0
- package/dist/behavior-learner.js +124 -0
- package/dist/behavior-learner.js.map +1 -0
- package/dist/behavior-signals.d.ts +15 -0
- package/dist/behavior-signals.js +11 -0
- package/dist/behavior-signals.js.map +1 -0
- package/dist/bootstrap.d.ts +46 -0
- package/dist/bootstrap.js +9 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/boxes.d.ts +93 -0
- package/dist/boxes.js +14 -0
- package/dist/boxes.js.map +1 -0
- package/dist/buffer.d.ts +22 -0
- package/dist/buffer.js +9 -0
- package/dist/buffer.js.map +1 -0
- package/dist/calibration.d.ts +81 -0
- package/dist/calibration.js +239 -0
- package/dist/calibration.js.map +1 -0
- package/dist/causal-behavior.d.ts +79 -0
- package/dist/causal-behavior.js +190 -0
- package/dist/causal-behavior.js.map +1 -0
- package/dist/causal-chain.d.ts +61 -0
- package/dist/causal-chain.js +24 -0
- package/dist/causal-chain.js.map +1 -0
- package/dist/causal-consolidation.d.ts +71 -0
- package/dist/causal-consolidation.js +211 -0
- package/dist/causal-consolidation.js.map +1 -0
- package/dist/causal-retrieval.d.ts +44 -0
- package/dist/causal-retrieval.js +184 -0
- package/dist/causal-retrieval.js.map +1 -0
- package/dist/causal-trajectory-graph.d.ts +13 -0
- package/dist/causal-trajectory-graph.js +59 -0
- package/dist/causal-trajectory-graph.js.map +1 -0
- package/dist/causal-trajectory.d.ts +68 -0
- package/dist/causal-trajectory.js +18 -0
- package/dist/causal-trajectory.js.map +1 -0
- package/dist/chunk-2CJCWDMR.js +87 -0
- package/dist/chunk-2CJCWDMR.js.map +1 -0
- package/dist/chunk-2NMMFZ5T.js +216 -0
- package/dist/chunk-2NMMFZ5T.js.map +1 -0
- package/dist/chunk-2PO5ZRKV.js +103 -0
- package/dist/chunk-2PO5ZRKV.js.map +1 -0
- package/dist/chunk-3QKK7QOS.js +154 -0
- package/dist/chunk-3QKK7QOS.js.map +1 -0
- package/dist/chunk-3SLRNYNG.js +26 -0
- package/dist/chunk-3SLRNYNG.js.map +1 -0
- package/dist/chunk-4A24LIM2.js +68 -0
- package/dist/chunk-4A24LIM2.js.map +1 -0
- package/dist/chunk-6HZ6AO2P.js +164 -0
- package/dist/chunk-6HZ6AO2P.js.map +1 -0
- package/dist/chunk-763GUIOU.js +302 -0
- package/dist/chunk-763GUIOU.js.map +1 -0
- package/dist/chunk-AAI7JARD.js +173 -0
- package/dist/chunk-AAI7JARD.js.map +1 -0
- package/dist/chunk-B7LOFDVE.js +112 -0
- package/dist/chunk-B7LOFDVE.js.map +1 -0
- package/dist/chunk-BDFZXRSO.js +318 -0
- package/dist/chunk-BDFZXRSO.js.map +1 -0
- package/dist/chunk-BOUYNNYD.js +707 -0
- package/dist/chunk-BOUYNNYD.js.map +1 -0
- package/dist/chunk-BRK4ODMI.js +60 -0
- package/dist/chunk-BRK4ODMI.js.map +1 -0
- package/dist/chunk-C6QPK5GG.js +111 -0
- package/dist/chunk-C6QPK5GG.js.map +1 -0
- package/dist/chunk-C7VW7C3F.js +117 -0
- package/dist/chunk-C7VW7C3F.js.map +1 -0
- package/dist/chunk-CDW777AI.js +621 -0
- package/dist/chunk-CDW777AI.js.map +1 -0
- package/dist/chunk-CULXMQJH.js +185 -0
- package/dist/chunk-CULXMQJH.js.map +1 -0
- package/dist/chunk-CXWFUJR2.js +1203 -0
- package/dist/chunk-CXWFUJR2.js.map +1 -0
- package/dist/chunk-DGXUHMOV.js +61 -0
- package/dist/chunk-DGXUHMOV.js.map +1 -0
- package/dist/chunk-DM2T26WE.js +61 -0
- package/dist/chunk-DM2T26WE.js.map +1 -0
- package/dist/chunk-DORBM6OB.js +81 -0
- package/dist/chunk-DORBM6OB.js.map +1 -0
- package/dist/chunk-DT5TVLJE.js +32 -0
- package/dist/chunk-DT5TVLJE.js.map +1 -0
- package/dist/chunk-EEQLFRUM.js +89 -0
- package/dist/chunk-EEQLFRUM.js.map +1 -0
- package/dist/chunk-EQINRHYR.js +672 -0
- package/dist/chunk-EQINRHYR.js.map +1 -0
- package/dist/chunk-ESSMF2FR.js +146 -0
- package/dist/chunk-ESSMF2FR.js.map +1 -0
- package/dist/chunk-ETOW6ACV.js +158 -0
- package/dist/chunk-ETOW6ACV.js.map +1 -0
- package/dist/chunk-FYIYMQ5N.js +221 -0
- package/dist/chunk-FYIYMQ5N.js.map +1 -0
- package/dist/chunk-G3AG3KZN.js +78 -0
- package/dist/chunk-G3AG3KZN.js.map +1 -0
- package/dist/chunk-GJR6D6KC.js +61 -0
- package/dist/chunk-GJR6D6KC.js.map +1 -0
- package/dist/chunk-GPGBSNKM.js +380 -0
- package/dist/chunk-GPGBSNKM.js.map +1 -0
- package/dist/chunk-H63EDPFJ.js +57 -0
- package/dist/chunk-H63EDPFJ.js.map +1 -0
- package/dist/chunk-HG2NKWR2.js +185 -0
- package/dist/chunk-HG2NKWR2.js.map +1 -0
- package/dist/chunk-HL4DB7TO.js +13 -0
- package/dist/chunk-HL4DB7TO.js.map +1 -0
- package/dist/chunk-HLBYLYRD.js +346 -0
- package/dist/chunk-HLBYLYRD.js.map +1 -0
- package/dist/chunk-HLXVTBF3.js +109 -0
- package/dist/chunk-HLXVTBF3.js.map +1 -0
- package/dist/chunk-IFFFR3MR.js +68 -0
- package/dist/chunk-IFFFR3MR.js.map +1 -0
- package/dist/chunk-ISY75RLM.js +1027 -0
- package/dist/chunk-ISY75RLM.js.map +1 -0
- package/dist/chunk-IZME7KW2.js +1886 -0
- package/dist/chunk-IZME7KW2.js.map +1 -0
- package/dist/chunk-J3BT33K7.js +720 -0
- package/dist/chunk-J3BT33K7.js.map +1 -0
- package/dist/chunk-J47FNDR7.js +113 -0
- package/dist/chunk-J47FNDR7.js.map +1 -0
- package/dist/chunk-JWPLJLDU.js +63 -0
- package/dist/chunk-JWPLJLDU.js.map +1 -0
- package/dist/chunk-K6WK37A6.js +865 -0
- package/dist/chunk-K6WK37A6.js.map +1 -0
- package/dist/chunk-KL4CP4SB.js +130 -0
- package/dist/chunk-KL4CP4SB.js.map +1 -0
- package/dist/chunk-KT4NEUNF.js +315 -0
- package/dist/chunk-KT4NEUNF.js.map +1 -0
- package/dist/chunk-KWBU5S5U.js +42 -0
- package/dist/chunk-KWBU5S5U.js.map +1 -0
- package/dist/chunk-L5RPWGFK.js +59 -0
- package/dist/chunk-L5RPWGFK.js.map +1 -0
- package/dist/chunk-L7WO3MZ4.js +128 -0
- package/dist/chunk-L7WO3MZ4.js.map +1 -0
- package/dist/chunk-LIRZNNUP.js +74 -0
- package/dist/chunk-LIRZNNUP.js.map +1 -0
- package/dist/chunk-LK6SGL53.js +22 -0
- package/dist/chunk-LK6SGL53.js.map +1 -0
- package/dist/chunk-LOBRX7VD.js +200 -0
- package/dist/chunk-LOBRX7VD.js.map +1 -0
- package/dist/chunk-LPSF4OQH.js +47 -0
- package/dist/chunk-LPSF4OQH.js.map +1 -0
- package/dist/chunk-LU3GQNDQ.js +152 -0
- package/dist/chunk-LU3GQNDQ.js.map +1 -0
- package/dist/chunk-M5KEYE5E.js +350 -0
- package/dist/chunk-M5KEYE5E.js.map +1 -0
- package/dist/chunk-M62O4P4T.js +41 -0
- package/dist/chunk-M62O4P4T.js.map +1 -0
- package/dist/chunk-MARWOCVP.js +48 -0
- package/dist/chunk-MARWOCVP.js.map +1 -0
- package/dist/chunk-MDDAA2AO.js +925 -0
- package/dist/chunk-MDDAA2AO.js.map +1 -0
- package/dist/chunk-MWGVGUIS.js +198 -0
- package/dist/chunk-MWGVGUIS.js.map +1 -0
- package/dist/chunk-N5AKDXAI.js +74 -0
- package/dist/chunk-N5AKDXAI.js.map +1 -0
- package/dist/chunk-NGAVDO7E.js +115 -0
- package/dist/chunk-NGAVDO7E.js.map +1 -0
- package/dist/chunk-NTTLPF7F.js +283 -0
- package/dist/chunk-NTTLPF7F.js.map +1 -0
- package/dist/chunk-ONRU4L2N.js +240 -0
- package/dist/chunk-ONRU4L2N.js.map +1 -0
- package/dist/chunk-ORZMT74A.js +209 -0
- package/dist/chunk-ORZMT74A.js.map +1 -0
- package/dist/chunk-OTAVQCSF.js +268 -0
- package/dist/chunk-OTAVQCSF.js.map +1 -0
- package/dist/chunk-PGK3VUHN.js +160 -0
- package/dist/chunk-PGK3VUHN.js.map +1 -0
- package/dist/chunk-Q6FETXJA.js +1362 -0
- package/dist/chunk-Q6FETXJA.js.map +1 -0
- package/dist/chunk-QANCTXQF.js +271 -0
- package/dist/chunk-QANCTXQF.js.map +1 -0
- package/dist/chunk-QCCCQT3O.js +189 -0
- package/dist/chunk-QCCCQT3O.js.map +1 -0
- package/dist/chunk-QDOSNLB4.js +1048 -0
- package/dist/chunk-QDOSNLB4.js.map +1 -0
- package/dist/chunk-QFQVZOGA.js +2168 -0
- package/dist/chunk-QFQVZOGA.js.map +1 -0
- package/dist/chunk-QPKFPHOO.js +178 -0
- package/dist/chunk-QPKFPHOO.js.map +1 -0
- package/dist/chunk-QSVPYQPG.js +268 -0
- package/dist/chunk-QSVPYQPG.js.map +1 -0
- package/dist/chunk-QWUUMMIK.js +3045 -0
- package/dist/chunk-QWUUMMIK.js.map +1 -0
- package/dist/chunk-QY2BHY5O.js +2378 -0
- package/dist/chunk-QY2BHY5O.js.map +1 -0
- package/dist/chunk-SCHEKPYH.js +349 -0
- package/dist/chunk-SCHEKPYH.js.map +1 -0
- package/dist/chunk-SCU65EZI.js +15 -0
- package/dist/chunk-SCU65EZI.js.map +1 -0
- package/dist/chunk-T4WRIV2C.js +170 -0
- package/dist/chunk-T4WRIV2C.js.map +1 -0
- package/dist/chunk-TKO4HZCK.js +1852 -0
- package/dist/chunk-TKO4HZCK.js.map +1 -0
- package/dist/chunk-TP4FZJIZ.js +93 -0
- package/dist/chunk-TP4FZJIZ.js.map +1 -0
- package/dist/chunk-TPB3I2AC.js +403 -0
- package/dist/chunk-TPB3I2AC.js.map +1 -0
- package/dist/chunk-TVVVQQAK.js +1431 -0
- package/dist/chunk-TVVVQQAK.js.map +1 -0
- package/dist/chunk-U4PV25RD.js +14 -0
- package/dist/chunk-U4PV25RD.js.map +1 -0
- package/dist/chunk-UCYSTFZR.js +284 -0
- package/dist/chunk-UCYSTFZR.js.map +1 -0
- package/dist/chunk-UHGBNIOS.js +205 -0
- package/dist/chunk-UHGBNIOS.js.map +1 -0
- package/dist/chunk-UIYZ5T3I.js +108 -0
- package/dist/chunk-UIYZ5T3I.js.map +1 -0
- package/dist/chunk-UV2FO7J4.js +747 -0
- package/dist/chunk-UV2FO7J4.js.map +1 -0
- package/dist/chunk-UZB5KHKX.js +63 -0
- package/dist/chunk-UZB5KHKX.js.map +1 -0
- package/dist/chunk-V3RXWQIE.js +626 -0
- package/dist/chunk-V3RXWQIE.js.map +1 -0
- package/dist/chunk-V4YC4LUK.js +444 -0
- package/dist/chunk-V4YC4LUK.js.map +1 -0
- package/dist/chunk-VEWZZM3H.js +133 -0
- package/dist/chunk-VEWZZM3H.js.map +1 -0
- package/dist/chunk-WWIQTB2Y.js +98 -0
- package/dist/chunk-WWIQTB2Y.js.map +1 -0
- package/dist/chunk-X7XN6YU4.js +24 -0
- package/dist/chunk-X7XN6YU4.js.map +1 -0
- package/dist/chunk-XKECPATV.js +202 -0
- package/dist/chunk-XKECPATV.js.map +1 -0
- package/dist/chunk-XYIK4LF6.js +75 -0
- package/dist/chunk-XYIK4LF6.js.map +1 -0
- package/dist/chunk-Y27UJK6V.js +39 -0
- package/dist/chunk-Y27UJK6V.js.map +1 -0
- package/dist/chunk-Y4Z4I6WK.js +9 -0
- package/dist/chunk-Y4Z4I6WK.js.map +1 -0
- package/dist/chunk-YAPUAHAY.js +10761 -0
- package/dist/chunk-YAPUAHAY.js.map +1 -0
- package/dist/chunk-YAZNBMNF.js +92 -0
- package/dist/chunk-YAZNBMNF.js.map +1 -0
- package/dist/chunk-YCN4BVDK.js +66 -0
- package/dist/chunk-YCN4BVDK.js.map +1 -0
- package/dist/chunk-YNCQ7E4M.js +388 -0
- package/dist/chunk-YNCQ7E4M.js.map +1 -0
- package/dist/chunk-YNI4S5WT.js +143 -0
- package/dist/chunk-YNI4S5WT.js.map +1 -0
- package/dist/chunk-YRMVARQP.js +406 -0
- package/dist/chunk-YRMVARQP.js.map +1 -0
- package/dist/chunk-Z5AAYHUC.js +79 -0
- package/dist/chunk-Z5AAYHUC.js.map +1 -0
- package/dist/chunk-Z5LAYHGJ.js +15 -0
- package/dist/chunk-Z5LAYHGJ.js.map +1 -0
- package/dist/chunk-ZJLY4QSU.js +823 -0
- package/dist/chunk-ZJLY4QSU.js.map +1 -0
- package/dist/chunk-ZKYI7UVO.js +276 -0
- package/dist/chunk-ZKYI7UVO.js.map +1 -0
- package/dist/chunk-ZPKBYX2F.js +297 -0
- package/dist/chunk-ZPKBYX2F.js.map +1 -0
- package/dist/chunking.d.ts +48 -0
- package/dist/chunking.js +11 -0
- package/dist/chunking.js.map +1 -0
- package/dist/cli.d.ts +1162 -0
- package/dist/cli.js +7187 -0
- package/dist/cli.js.map +1 -0
- package/dist/commitment-ledger.d.ts +83 -0
- package/dist/commitment-ledger.js +19 -0
- package/dist/commitment-ledger.js.map +1 -0
- package/dist/compression-optimizer.d.ts +37 -0
- package/dist/compression-optimizer.js +13 -0
- package/dist/compression-optimizer.js.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.js +12 -0
- package/dist/config.js.map +1 -0
- package/dist/cue-anchors.d.ts +50 -0
- package/dist/cue-anchors.js +15 -0
- package/dist/cue-anchors.js.map +1 -0
- package/dist/dashboard-runtime.d.ts +46 -0
- package/dist/dashboard-runtime.js +10 -0
- package/dist/dashboard-runtime.js.map +1 -0
- package/dist/day-summary.d.ts +6 -0
- package/dist/day-summary.js +10 -0
- package/dist/day-summary.js.map +1 -0
- package/dist/delinearize.d.ts +34 -0
- package/dist/delinearize.js +11 -0
- package/dist/delinearize.js.map +1 -0
- package/dist/embedding-fallback.d.ts +22 -0
- package/dist/embedding-fallback.js +8 -0
- package/dist/embedding-fallback.js.map +1 -0
- package/dist/engine-P26JFSVY.js +19 -0
- package/dist/engine-P26JFSVY.js.map +1 -0
- package/dist/entity-retrieval.d.ts +23 -0
- package/dist/entity-retrieval.js +24 -0
- package/dist/entity-retrieval.js.map +1 -0
- package/dist/evals.d.ts +282 -0
- package/dist/evals.js +32 -0
- package/dist/evals.js.map +1 -0
- package/dist/explicit-capture.d.ts +60 -0
- package/dist/explicit-capture.js +23 -0
- package/dist/explicit-capture.js.map +1 -0
- package/dist/extraction.d.ts +141 -0
- package/dist/extraction.js +22 -0
- package/dist/extraction.js.map +1 -0
- package/dist/fallback-llm.d.ts +95 -0
- package/dist/fallback-llm.js +12 -0
- package/dist/fallback-llm.js.map +1 -0
- package/dist/graph-dashboard-diff.d.ts +12 -0
- package/dist/graph-dashboard-diff.js +8 -0
- package/dist/graph-dashboard-diff.js.map +1 -0
- package/dist/graph-dashboard-key.d.ts +5 -0
- package/dist/graph-dashboard-key.js +7 -0
- package/dist/graph-dashboard-key.js.map +1 -0
- package/dist/graph-dashboard-parser.d.ts +20 -0
- package/dist/graph-dashboard-parser.js +8 -0
- package/dist/graph-dashboard-parser.js.map +1 -0
- package/dist/graph.d.ts +157 -0
- package/dist/graph.js +27 -0
- package/dist/graph.js.map +1 -0
- package/dist/harmonic-retrieval.d.ts +27 -0
- package/dist/harmonic-retrieval.js +12 -0
- package/dist/harmonic-retrieval.js.map +1 -0
- package/dist/himem.d.ts +23 -0
- package/dist/himem.js +7 -0
- package/dist/himem.js.map +1 -0
- package/dist/hygiene.d.ts +24 -0
- package/dist/hygiene.js +9 -0
- package/dist/hygiene.js.map +1 -0
- package/dist/identity-continuity.d.ts +17 -0
- package/dist/identity-continuity.js +19 -0
- package/dist/identity-continuity.js.map +1 -0
- package/dist/importance.d.ts +25 -0
- package/dist/importance.js +11 -0
- package/dist/importance.js.map +1 -0
- package/dist/index.d.ts +923 -0
- package/dist/index.js +2512 -0
- package/dist/index.js.map +1 -0
- package/dist/intent.d.ts +8 -0
- package/dist/intent.js +13 -0
- package/dist/intent.js.map +1 -0
- package/dist/json-extract.d.ts +14 -0
- package/dist/json-extract.js +9 -0
- package/dist/json-extract.js.map +1 -0
- package/dist/json-store.d.ts +5 -0
- package/dist/json-store.js +11 -0
- package/dist/json-store.js.map +1 -0
- package/dist/legacy-hook-compat.d.ts +3 -0
- package/dist/legacy-hook-compat.js +35 -0
- package/dist/legacy-hook-compat.js.map +1 -0
- package/dist/lifecycle.d.ts +52 -0
- package/dist/lifecycle.js +21 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/local-llm.d.ts +154 -0
- package/dist/local-llm.js +10 -0
- package/dist/local-llm.js.map +1 -0
- package/dist/logger.d.ts +15 -0
- package/dist/logger.js +9 -0
- package/dist/logger.js.map +1 -0
- package/dist/memory-action-policy.d.ts +13 -0
- package/dist/memory-action-policy.js +7 -0
- package/dist/memory-action-policy.js.map +1 -0
- package/dist/memory-cache.d.ts +35 -0
- package/dist/memory-cache.js +37 -0
- package/dist/memory-cache.js.map +1 -0
- package/dist/memory-lifecycle-ledger-utils.d.ts +13 -0
- package/dist/memory-lifecycle-ledger-utils.js +23 -0
- package/dist/memory-lifecycle-ledger-utils.js.map +1 -0
- package/dist/memory-projection-format.d.ts +4 -0
- package/dist/memory-projection-format.js +9 -0
- package/dist/memory-projection-format.js.map +1 -0
- package/dist/memory-projection-store-NxMkbocT.d.ts +221 -0
- package/dist/memory-projection-store.d.ts +3 -0
- package/dist/memory-projection-store.js +31 -0
- package/dist/memory-projection-store.js.map +1 -0
- package/dist/model-registry.d.ts +60 -0
- package/dist/model-registry.js +8 -0
- package/dist/model-registry.js.map +1 -0
- package/dist/native-knowledge.d.ts +94 -0
- package/dist/native-knowledge.js +26 -0
- package/dist/native-knowledge.js.map +1 -0
- package/dist/negative.d.ts +26 -0
- package/dist/negative.js +8 -0
- package/dist/negative.js.map +1 -0
- package/dist/objective-state-writers.d.ts +22 -0
- package/dist/objective-state-writers.js +313 -0
- package/dist/objective-state-writers.js.map +1 -0
- package/dist/objective-state.d.ts +75 -0
- package/dist/objective-state.js +17 -0
- package/dist/objective-state.js.map +1 -0
- package/dist/openai-chat-compat.d.ts +13 -0
- package/dist/openai-chat-compat.js +11 -0
- package/dist/openai-chat-compat.js.map +1 -0
- package/dist/operator-toolkit.d.ts +304 -0
- package/dist/operator-toolkit.js +41 -0
- package/dist/operator-toolkit.js.map +1 -0
- package/dist/opik-exporter.d.ts +72 -0
- package/dist/opik-exporter.js +361 -0
- package/dist/opik-exporter.js.map +1 -0
- package/dist/orchestrator-zTa-Qo-1.d.ts +1104 -0
- package/dist/orchestrator.d.ts +21 -0
- package/dist/orchestrator.js +145 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/policy-runtime.d.ts +37 -0
- package/dist/policy-runtime.js +13 -0
- package/dist/policy-runtime.js.map +1 -0
- package/dist/port-C1GZFv8h.d.ts +41 -0
- package/dist/profiling.d.ts +80 -0
- package/dist/profiling.js +10 -0
- package/dist/profiling.js.map +1 -0
- package/dist/qmd-recall-cache.d.ts +29 -0
- package/dist/qmd-recall-cache.js +13 -0
- package/dist/qmd-recall-cache.js.map +1 -0
- package/dist/qmd.d.ts +105 -0
- package/dist/qmd.js +13 -0
- package/dist/qmd.js.map +1 -0
- package/dist/recall-qos.d.ts +33 -0
- package/dist/recall-qos.js +10 -0
- package/dist/recall-qos.js.map +1 -0
- package/dist/recall-query-policy.d.ts +20 -0
- package/dist/recall-query-policy.js +11 -0
- package/dist/recall-query-policy.js.map +1 -0
- package/dist/recall-state.d.ts +113 -0
- package/dist/recall-state.js +12 -0
- package/dist/recall-state.js.map +1 -0
- package/dist/recall-tokenization.d.ts +4 -0
- package/dist/recall-tokenization.js +9 -0
- package/dist/recall-tokenization.js.map +1 -0
- package/dist/reconstruct.d.ts +16 -0
- package/dist/reconstruct.js +7 -0
- package/dist/reconstruct.js.map +1 -0
- package/dist/release-changelog.d.ts +7 -0
- package/dist/release-changelog.js +30 -0
- package/dist/release-changelog.js.map +1 -0
- package/dist/relevance.d.ts +18 -0
- package/dist/relevance.js +8 -0
- package/dist/relevance.js.map +1 -0
- package/dist/rerank.d.ts +57 -0
- package/dist/rerank.js +11 -0
- package/dist/rerank.js.map +1 -0
- package/dist/resolve-provider-secret.d.ts +16 -0
- package/dist/resolve-provider-secret.js +11 -0
- package/dist/resolve-provider-secret.js.map +1 -0
- package/dist/resume-bundles.d.ts +66 -0
- package/dist/resume-bundles.js +27 -0
- package/dist/resume-bundles.js.map +1 -0
- package/dist/retrieval-agents.d.ts +129 -0
- package/dist/retrieval-agents.js +23 -0
- package/dist/retrieval-agents.js.map +1 -0
- package/dist/retrieval.d.ts +19 -0
- package/dist/retrieval.js +10 -0
- package/dist/retrieval.js.map +1 -0
- package/dist/sanitize.d.ts +9 -0
- package/dist/sanitize.js +9 -0
- package/dist/sanitize.js.map +1 -0
- package/dist/schemas.d.ts +688 -0
- package/dist/schemas.js +51 -0
- package/dist/schemas.js.map +1 -0
- package/dist/sdk-compat.d.ts +21 -0
- package/dist/sdk-compat.js +28 -0
- package/dist/sdk-compat.js.map +1 -0
- package/dist/semantic-consolidation.d.ts +42 -0
- package/dist/semantic-consolidation.js +12 -0
- package/dist/semantic-consolidation.js.map +1 -0
- package/dist/semantic-rule-promotion.d.ts +28 -0
- package/dist/semantic-rule-promotion.js +17 -0
- package/dist/semantic-rule-promotion.js.map +1 -0
- package/dist/semantic-rule-verifier.d.ts +19 -0
- package/dist/semantic-rule-verifier.js +18 -0
- package/dist/semantic-rule-verifier.js.map +1 -0
- package/dist/session-integrity.d.ts +67 -0
- package/dist/session-integrity.js +11 -0
- package/dist/session-integrity.js.map +1 -0
- package/dist/session-observer-bands.d.ts +6 -0
- package/dist/session-observer-bands.js +9 -0
- package/dist/session-observer-bands.js.map +1 -0
- package/dist/session-observer-state.d.ts +40 -0
- package/dist/session-observer-state.js +11 -0
- package/dist/session-observer-state.js.map +1 -0
- package/dist/signal.d.ts +6 -0
- package/dist/signal.js +9 -0
- package/dist/signal.js.map +1 -0
- package/dist/storage.d.ts +453 -0
- package/dist/storage.js +24 -0
- package/dist/storage.js.map +1 -0
- package/dist/store-contract.d.ts +10 -0
- package/dist/store-contract.js +21 -0
- package/dist/store-contract.js.map +1 -0
- package/dist/summarizer.d.ts +35 -0
- package/dist/summarizer.js +17 -0
- package/dist/summarizer.js.map +1 -0
- package/dist/summary-snapshot.d.ts +8 -0
- package/dist/summary-snapshot.js +13 -0
- package/dist/summary-snapshot.js.map +1 -0
- package/dist/temporal-index.d.ts +139 -0
- package/dist/temporal-index.js +29 -0
- package/dist/temporal-index.js.map +1 -0
- package/dist/threading.d.ts +62 -0
- package/dist/threading.js +8 -0
- package/dist/threading.js.map +1 -0
- package/dist/tier-migration.d.ts +44 -0
- package/dist/tier-migration.js +7 -0
- package/dist/tier-migration.js.map +1 -0
- package/dist/tier-routing.d.ts +21 -0
- package/dist/tier-routing.js +10 -0
- package/dist/tier-routing.js.map +1 -0
- package/dist/tmt.d.ts +79 -0
- package/dist/tmt.js +29 -0
- package/dist/tmt.js.map +1 -0
- package/dist/tokens.d.ts +24 -0
- package/dist/tokens.js +21 -0
- package/dist/tokens.js.map +1 -0
- package/dist/topics.d.ts +29 -0
- package/dist/topics.js +9 -0
- package/dist/topics.js.map +1 -0
- package/dist/transcript.d.ts +171 -0
- package/dist/transcript.js +9 -0
- package/dist/transcript.js.map +1 -0
- package/dist/trust-zones.d.ts +170 -0
- package/dist/trust-zones.js +32 -0
- package/dist/trust-zones.js.map +1 -0
- package/dist/types.d.ts +1243 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/dist/utility-learner.d.ts +59 -0
- package/dist/utility-learner.js +17 -0
- package/dist/utility-learner.js.map +1 -0
- package/dist/utility-runtime.d.ts +21 -0
- package/dist/utility-runtime.js +16 -0
- package/dist/utility-runtime.js.map +1 -0
- package/dist/utility-telemetry.d.ts +68 -0
- package/dist/utility-telemetry.js +17 -0
- package/dist/utility-telemetry.js.map +1 -0
- package/dist/verified-recall.d.ts +17 -0
- package/dist/verified-recall.js +19 -0
- package/dist/verified-recall.js.map +1 -0
- package/dist/version-utils.d.ts +4 -0
- package/dist/version-utils.js +7 -0
- package/dist/version-utils.js.map +1 -0
- package/dist/work-product-ledger.d.ts +65 -0
- package/dist/work-product-ledger.js +18 -0
- package/dist/work-product-ledger.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
// src/identity-continuity.ts
|
|
2
|
+
function parseFrontmatterValue(raw) {
|
|
3
|
+
try {
|
|
4
|
+
return JSON.parse(raw);
|
|
5
|
+
} catch {
|
|
6
|
+
return raw;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function parseFrontmatter(raw) {
|
|
10
|
+
const parsed = {};
|
|
11
|
+
for (const line of raw.split("\n")) {
|
|
12
|
+
const idx = line.indexOf(":");
|
|
13
|
+
if (idx <= 0) continue;
|
|
14
|
+
const key = line.slice(0, idx).trim();
|
|
15
|
+
const value = line.slice(idx + 1).trim();
|
|
16
|
+
parsed[key] = parseFrontmatterValue(value);
|
|
17
|
+
}
|
|
18
|
+
return parsed;
|
|
19
|
+
}
|
|
20
|
+
function emitSection(lines, title, value) {
|
|
21
|
+
if (!value || value.trim().length === 0) return;
|
|
22
|
+
lines.push(`## ${title}`, "", value.trim(), "");
|
|
23
|
+
}
|
|
24
|
+
function parseSection(body, title) {
|
|
25
|
+
const escaped = title.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
26
|
+
const re = new RegExp(`## ${escaped}\\n\\n([\\s\\S]*?)(?=\\n## |$)`);
|
|
27
|
+
const match = body.match(re);
|
|
28
|
+
if (!match) return void 0;
|
|
29
|
+
const value = match[1].trim();
|
|
30
|
+
return value.length > 0 ? value : void 0;
|
|
31
|
+
}
|
|
32
|
+
function serializeContinuityIncident(incident) {
|
|
33
|
+
const lines = [
|
|
34
|
+
"---",
|
|
35
|
+
`id: ${JSON.stringify(incident.id)}`,
|
|
36
|
+
`state: ${JSON.stringify(incident.state)}`,
|
|
37
|
+
`openedAt: ${JSON.stringify(incident.openedAt)}`,
|
|
38
|
+
`updatedAt: ${JSON.stringify(incident.updatedAt)}`
|
|
39
|
+
];
|
|
40
|
+
if (incident.closedAt) lines.push(`closedAt: ${JSON.stringify(incident.closedAt)}`);
|
|
41
|
+
if (incident.triggerWindow) lines.push(`triggerWindow: ${JSON.stringify(incident.triggerWindow)}`);
|
|
42
|
+
lines.push("---", "");
|
|
43
|
+
emitSection(lines, "Symptom", incident.symptom);
|
|
44
|
+
emitSection(lines, "Suspected Cause", incident.suspectedCause);
|
|
45
|
+
emitSection(lines, "Fix Applied", incident.fixApplied);
|
|
46
|
+
emitSection(lines, "Verification Result", incident.verificationResult);
|
|
47
|
+
emitSection(lines, "Preventive Rule", incident.preventiveRule);
|
|
48
|
+
return lines.join("\n").trimEnd() + "\n";
|
|
49
|
+
}
|
|
50
|
+
function parseContinuityIncident(raw) {
|
|
51
|
+
const match = raw.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
|
|
52
|
+
if (!match) return null;
|
|
53
|
+
const frontmatter = parseFrontmatter(match[1]);
|
|
54
|
+
const body = match[2] ?? "";
|
|
55
|
+
const id = typeof frontmatter.id === "string" ? frontmatter.id : "";
|
|
56
|
+
const stateRaw = frontmatter.state;
|
|
57
|
+
const state = stateRaw === "closed" ? "closed" : "open";
|
|
58
|
+
const openedAt = typeof frontmatter.openedAt === "string" ? frontmatter.openedAt : "";
|
|
59
|
+
const updatedAt = typeof frontmatter.updatedAt === "string" ? frontmatter.updatedAt : openedAt;
|
|
60
|
+
const symptom = parseSection(body, "Symptom");
|
|
61
|
+
if (!id || !openedAt || !updatedAt || !symptom) return null;
|
|
62
|
+
return {
|
|
63
|
+
id,
|
|
64
|
+
state,
|
|
65
|
+
openedAt,
|
|
66
|
+
updatedAt,
|
|
67
|
+
triggerWindow: typeof frontmatter.triggerWindow === "string" ? frontmatter.triggerWindow : void 0,
|
|
68
|
+
symptom,
|
|
69
|
+
suspectedCause: parseSection(body, "Suspected Cause"),
|
|
70
|
+
fixApplied: parseSection(body, "Fix Applied"),
|
|
71
|
+
verificationResult: parseSection(body, "Verification Result"),
|
|
72
|
+
preventiveRule: parseSection(body, "Preventive Rule"),
|
|
73
|
+
closedAt: typeof frontmatter.closedAt === "string" ? frontmatter.closedAt : void 0
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function createContinuityIncidentRecord(id, input, nowIso) {
|
|
77
|
+
return {
|
|
78
|
+
id,
|
|
79
|
+
state: "open",
|
|
80
|
+
openedAt: nowIso,
|
|
81
|
+
updatedAt: nowIso,
|
|
82
|
+
triggerWindow: input.triggerWindow?.trim() || void 0,
|
|
83
|
+
symptom: input.symptom.trim(),
|
|
84
|
+
suspectedCause: input.suspectedCause?.trim() || void 0
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function closeContinuityIncidentRecord(incident, closure, nowIso) {
|
|
88
|
+
return {
|
|
89
|
+
...incident,
|
|
90
|
+
state: "closed",
|
|
91
|
+
updatedAt: nowIso,
|
|
92
|
+
closedAt: nowIso,
|
|
93
|
+
fixApplied: closure.fixApplied.trim(),
|
|
94
|
+
verificationResult: closure.verificationResult.trim(),
|
|
95
|
+
preventiveRule: closure.preventiveRule?.trim() || incident.preventiveRule
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
var LOOP_HEADER = "# Continuity Improvement Loops";
|
|
99
|
+
var LOOP_CADENCES = /* @__PURE__ */ new Set(["daily", "weekly", "monthly", "quarterly"]);
|
|
100
|
+
var LOOP_STATUSES = /* @__PURE__ */ new Set(["active", "paused", "retired"]);
|
|
101
|
+
var STALE_LAST_REVIEWED_FALLBACK = "1970-01-01T00:00:00.000Z";
|
|
102
|
+
function normalizeLoopField(value) {
|
|
103
|
+
if (typeof value !== "string") return void 0;
|
|
104
|
+
const trimmed = value.trim();
|
|
105
|
+
if (trimmed.length === 0) return void 0;
|
|
106
|
+
return trimmed.replace(/\s+/g, " ");
|
|
107
|
+
}
|
|
108
|
+
function isValidIso(value) {
|
|
109
|
+
const ts = Date.parse(value);
|
|
110
|
+
return Number.isFinite(ts);
|
|
111
|
+
}
|
|
112
|
+
function normalizeContinuityLoop(input, nowIso) {
|
|
113
|
+
const id = normalizeLoopField(input.id);
|
|
114
|
+
const cadence = normalizeLoopField(input.cadence);
|
|
115
|
+
const status = normalizeLoopField(input.status);
|
|
116
|
+
const purpose = normalizeLoopField(input.purpose);
|
|
117
|
+
const killCondition = normalizeLoopField(input.killCondition);
|
|
118
|
+
const notes = normalizeLoopField(input.notes);
|
|
119
|
+
const lastReviewedRaw = "lastReviewed" in input && typeof input.lastReviewed === "string" ? input.lastReviewed : void 0;
|
|
120
|
+
const lastReviewed = normalizeLoopField(lastReviewedRaw) ?? nowIso;
|
|
121
|
+
if (!id || !cadence || !status || !purpose || !killCondition) return null;
|
|
122
|
+
if (!LOOP_CADENCES.has(cadence)) return null;
|
|
123
|
+
if (!LOOP_STATUSES.has(status)) return null;
|
|
124
|
+
if (!isValidIso(lastReviewed)) return null;
|
|
125
|
+
return {
|
|
126
|
+
id,
|
|
127
|
+
cadence,
|
|
128
|
+
purpose,
|
|
129
|
+
status,
|
|
130
|
+
killCondition,
|
|
131
|
+
lastReviewed,
|
|
132
|
+
notes
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
function serializeContinuityLoopSection(loop) {
|
|
136
|
+
const lines = [
|
|
137
|
+
`## ${loop.id}`,
|
|
138
|
+
`cadence: ${loop.cadence}`,
|
|
139
|
+
`purpose: ${loop.purpose}`,
|
|
140
|
+
`status: ${loop.status}`,
|
|
141
|
+
`killCondition: ${loop.killCondition}`,
|
|
142
|
+
`lastReviewed: ${loop.lastReviewed}`
|
|
143
|
+
];
|
|
144
|
+
if (loop.notes) lines.push(`notes: ${loop.notes}`);
|
|
145
|
+
return lines.join("\n");
|
|
146
|
+
}
|
|
147
|
+
function splitLoopMarkdown(raw) {
|
|
148
|
+
const text = (raw ?? "").replace(/\r/g, "");
|
|
149
|
+
const lines = text.split("\n");
|
|
150
|
+
const headerLines = [];
|
|
151
|
+
const sections = [];
|
|
152
|
+
let current = null;
|
|
153
|
+
for (const line of lines) {
|
|
154
|
+
const sectionMatch = line.match(/^##\s+(.+?)\s*$/);
|
|
155
|
+
if (sectionMatch) {
|
|
156
|
+
if (current) sections.push({ title: current.title, body: current.body.trimEnd() });
|
|
157
|
+
current = { title: sectionMatch[1].trim(), body: "" };
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
if (!current) {
|
|
161
|
+
headerLines.push(line);
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
current.body += current.body.length > 0 ? `
|
|
165
|
+
${line}` : line;
|
|
166
|
+
}
|
|
167
|
+
if (current) sections.push({ title: current.title, body: current.body.trimEnd() });
|
|
168
|
+
const headerRaw = headerLines.join("\n").trim();
|
|
169
|
+
const header = headerRaw.length > 0 ? headerRaw : LOOP_HEADER;
|
|
170
|
+
return { header, sections };
|
|
171
|
+
}
|
|
172
|
+
function parseLoopFromSection(section, nowIso) {
|
|
173
|
+
const fields = {};
|
|
174
|
+
for (const line of section.body.split("\n")) {
|
|
175
|
+
const kv = line.match(/^([A-Za-z][A-Za-z0-9_]*):\s*(.+?)\s*$/);
|
|
176
|
+
if (!kv) continue;
|
|
177
|
+
fields[kv[1]] = kv[2];
|
|
178
|
+
}
|
|
179
|
+
const parsedLastReviewed = normalizeLoopField(fields.lastReviewed);
|
|
180
|
+
const safeLastReviewed = parsedLastReviewed && isValidIso(parsedLastReviewed) ? parsedLastReviewed : STALE_LAST_REVIEWED_FALLBACK;
|
|
181
|
+
return normalizeContinuityLoop(
|
|
182
|
+
{
|
|
183
|
+
id: section.title,
|
|
184
|
+
cadence: fields.cadence ?? "",
|
|
185
|
+
purpose: fields.purpose ?? "",
|
|
186
|
+
status: fields.status ?? "",
|
|
187
|
+
killCondition: fields.killCondition ?? "",
|
|
188
|
+
lastReviewed: safeLastReviewed,
|
|
189
|
+
notes: fields.notes
|
|
190
|
+
},
|
|
191
|
+
nowIso
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
function joinLoopMarkdown(header, sections) {
|
|
195
|
+
const lines = [header.trim(), ""];
|
|
196
|
+
for (const section of sections) {
|
|
197
|
+
lines.push(`## ${section.title}`);
|
|
198
|
+
if (section.body.trim().length > 0) {
|
|
199
|
+
lines.push(section.body.trimEnd());
|
|
200
|
+
}
|
|
201
|
+
lines.push("");
|
|
202
|
+
}
|
|
203
|
+
return lines.join("\n").replace(/\n{3,}/g, "\n\n").trimEnd() + "\n";
|
|
204
|
+
}
|
|
205
|
+
function parseContinuityImprovementLoops(raw) {
|
|
206
|
+
const parsed = splitLoopMarkdown(raw);
|
|
207
|
+
const nowIso = (/* @__PURE__ */ new Date()).toISOString();
|
|
208
|
+
return parsed.sections.map((section) => parseLoopFromSection(section, nowIso)).filter((loop) => loop !== null);
|
|
209
|
+
}
|
|
210
|
+
function upsertContinuityLoopInMarkdown(raw, input, nowIso) {
|
|
211
|
+
const normalized = normalizeContinuityLoop(input, nowIso);
|
|
212
|
+
if (!normalized) {
|
|
213
|
+
throw new Error("Invalid continuity loop input");
|
|
214
|
+
}
|
|
215
|
+
const parsed = splitLoopMarkdown(raw);
|
|
216
|
+
let replaced = false;
|
|
217
|
+
const nextSections = parsed.sections.map((section) => {
|
|
218
|
+
if (normalizeLoopField(section.title) !== normalized.id) return section;
|
|
219
|
+
replaced = true;
|
|
220
|
+
return { title: normalized.id, body: serializeContinuityLoopSection(normalized).split("\n").slice(1).join("\n") };
|
|
221
|
+
});
|
|
222
|
+
if (!replaced) {
|
|
223
|
+
nextSections.push({
|
|
224
|
+
title: normalized.id,
|
|
225
|
+
body: serializeContinuityLoopSection(normalized).split("\n").slice(1).join("\n")
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
return { markdown: joinLoopMarkdown(parsed.header, nextSections), loop: normalized };
|
|
229
|
+
}
|
|
230
|
+
function reviewContinuityLoopInMarkdown(raw, id, input, nowIso) {
|
|
231
|
+
const parsed = splitLoopMarkdown(raw);
|
|
232
|
+
const normalizedId = normalizeLoopField(id);
|
|
233
|
+
if (!normalizedId) {
|
|
234
|
+
return { markdown: joinLoopMarkdown(parsed.header, parsed.sections), loop: null };
|
|
235
|
+
}
|
|
236
|
+
let updatedLoop = null;
|
|
237
|
+
const nextSections = parsed.sections.map((section) => {
|
|
238
|
+
if (normalizeLoopField(section.title) !== normalizedId) return section;
|
|
239
|
+
const existing = parseLoopFromSection(section, nowIso);
|
|
240
|
+
if (!existing) return section;
|
|
241
|
+
const reviewed = applyContinuityLoopReview(existing, input, nowIso);
|
|
242
|
+
updatedLoop = reviewed;
|
|
243
|
+
return { title: reviewed.id, body: serializeContinuityLoopSection(reviewed).split("\n").slice(1).join("\n") };
|
|
244
|
+
});
|
|
245
|
+
return { markdown: joinLoopMarkdown(parsed.header, nextSections), loop: updatedLoop };
|
|
246
|
+
}
|
|
247
|
+
function applyContinuityLoopReview(existing, input, nowIso) {
|
|
248
|
+
const nextStatus = normalizeLoopField(input.status);
|
|
249
|
+
const nextNotes = normalizeLoopField(input.notes);
|
|
250
|
+
const reviewedAt = normalizeLoopField(input.reviewedAt) ?? nowIso;
|
|
251
|
+
return {
|
|
252
|
+
...existing,
|
|
253
|
+
status: nextStatus && LOOP_STATUSES.has(nextStatus) ? nextStatus : existing.status,
|
|
254
|
+
notes: nextNotes ?? existing.notes,
|
|
255
|
+
lastReviewed: isValidIso(reviewedAt) ? reviewedAt : nowIso
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export {
|
|
260
|
+
serializeContinuityIncident,
|
|
261
|
+
parseContinuityIncident,
|
|
262
|
+
createContinuityIncidentRecord,
|
|
263
|
+
closeContinuityIncidentRecord,
|
|
264
|
+
parseContinuityImprovementLoops,
|
|
265
|
+
upsertContinuityLoopInMarkdown,
|
|
266
|
+
reviewContinuityLoopInMarkdown
|
|
267
|
+
};
|
|
268
|
+
//# sourceMappingURL=chunk-QSVPYQPG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/identity-continuity.ts"],"sourcesContent":["import type {\n ContinuityIncidentCloseInput,\n ContinuityIncidentOpenInput,\n ContinuityImprovementLoop,\n ContinuityLoopCadence,\n ContinuityLoopReviewInput,\n ContinuityLoopStatus,\n ContinuityLoopUpsertInput,\n ContinuityIncidentRecord,\n ContinuityIncidentState,\n} from \"./types.js\";\n\nfunction parseFrontmatterValue(raw: string): unknown {\n try {\n return JSON.parse(raw);\n } catch {\n return raw;\n }\n}\n\nfunction parseFrontmatter(raw: string): Record<string, unknown> {\n const parsed: Record<string, unknown> = {};\n for (const line of raw.split(\"\\n\")) {\n const idx = line.indexOf(\":\");\n if (idx <= 0) continue;\n const key = line.slice(0, idx).trim();\n const value = line.slice(idx + 1).trim();\n parsed[key] = parseFrontmatterValue(value);\n }\n return parsed;\n}\n\nfunction emitSection(lines: string[], title: string, value?: string): void {\n if (!value || value.trim().length === 0) return;\n lines.push(`## ${title}`, \"\", value.trim(), \"\");\n}\n\nfunction parseSection(body: string, title: string): string | undefined {\n const escaped = title.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n const re = new RegExp(`## ${escaped}\\\\n\\\\n([\\\\s\\\\S]*?)(?=\\\\n## |$)`);\n const match = body.match(re);\n if (!match) return undefined;\n const value = match[1].trim();\n return value.length > 0 ? value : undefined;\n}\n\nexport function serializeContinuityIncident(incident: ContinuityIncidentRecord): string {\n const lines = [\n \"---\",\n `id: ${JSON.stringify(incident.id)}`,\n `state: ${JSON.stringify(incident.state)}`,\n `openedAt: ${JSON.stringify(incident.openedAt)}`,\n `updatedAt: ${JSON.stringify(incident.updatedAt)}`,\n ];\n if (incident.closedAt) lines.push(`closedAt: ${JSON.stringify(incident.closedAt)}`);\n if (incident.triggerWindow) lines.push(`triggerWindow: ${JSON.stringify(incident.triggerWindow)}`);\n lines.push(\"---\", \"\");\n\n emitSection(lines, \"Symptom\", incident.symptom);\n emitSection(lines, \"Suspected Cause\", incident.suspectedCause);\n emitSection(lines, \"Fix Applied\", incident.fixApplied);\n emitSection(lines, \"Verification Result\", incident.verificationResult);\n emitSection(lines, \"Preventive Rule\", incident.preventiveRule);\n\n return lines.join(\"\\n\").trimEnd() + \"\\n\";\n}\n\nexport function parseContinuityIncident(raw: string): ContinuityIncidentRecord | null {\n const match = raw.match(/^---\\n([\\s\\S]*?)\\n---\\n?([\\s\\S]*)$/);\n if (!match) return null;\n const frontmatter = parseFrontmatter(match[1]);\n const body = match[2] ?? \"\";\n\n const id = typeof frontmatter.id === \"string\" ? frontmatter.id : \"\";\n const stateRaw = frontmatter.state;\n const state: ContinuityIncidentState = stateRaw === \"closed\" ? \"closed\" : \"open\";\n const openedAt = typeof frontmatter.openedAt === \"string\" ? frontmatter.openedAt : \"\";\n const updatedAt = typeof frontmatter.updatedAt === \"string\" ? frontmatter.updatedAt : openedAt;\n const symptom = parseSection(body, \"Symptom\");\n\n if (!id || !openedAt || !updatedAt || !symptom) return null;\n\n return {\n id,\n state,\n openedAt,\n updatedAt,\n triggerWindow: typeof frontmatter.triggerWindow === \"string\" ? frontmatter.triggerWindow : undefined,\n symptom,\n suspectedCause: parseSection(body, \"Suspected Cause\"),\n fixApplied: parseSection(body, \"Fix Applied\"),\n verificationResult: parseSection(body, \"Verification Result\"),\n preventiveRule: parseSection(body, \"Preventive Rule\"),\n closedAt: typeof frontmatter.closedAt === \"string\" ? frontmatter.closedAt : undefined,\n };\n}\n\nexport function createContinuityIncidentRecord(\n id: string,\n input: ContinuityIncidentOpenInput,\n nowIso: string,\n): ContinuityIncidentRecord {\n return {\n id,\n state: \"open\",\n openedAt: nowIso,\n updatedAt: nowIso,\n triggerWindow: input.triggerWindow?.trim() || undefined,\n symptom: input.symptom.trim(),\n suspectedCause: input.suspectedCause?.trim() || undefined,\n };\n}\n\nexport function closeContinuityIncidentRecord(\n incident: ContinuityIncidentRecord,\n closure: ContinuityIncidentCloseInput,\n nowIso: string,\n): ContinuityIncidentRecord {\n return {\n ...incident,\n state: \"closed\",\n updatedAt: nowIso,\n closedAt: nowIso,\n fixApplied: closure.fixApplied.trim(),\n verificationResult: closure.verificationResult.trim(),\n preventiveRule: closure.preventiveRule?.trim() || incident.preventiveRule,\n };\n}\n\nconst LOOP_HEADER = \"# Continuity Improvement Loops\";\nconst LOOP_CADENCES = new Set<ContinuityLoopCadence>([\"daily\", \"weekly\", \"monthly\", \"quarterly\"]);\nconst LOOP_STATUSES = new Set<ContinuityLoopStatus>([\"active\", \"paused\", \"retired\"]);\nconst STALE_LAST_REVIEWED_FALLBACK = \"1970-01-01T00:00:00.000Z\";\n\nfunction normalizeLoopField(value: string | undefined): string | undefined {\n if (typeof value !== \"string\") return undefined;\n const trimmed = value.trim();\n if (trimmed.length === 0) return undefined;\n return trimmed.replace(/\\s+/g, \" \");\n}\n\nfunction isValidIso(value: string): boolean {\n const ts = Date.parse(value);\n return Number.isFinite(ts);\n}\n\nfunction normalizeContinuityLoop(\n input: ContinuityLoopUpsertInput | ContinuityImprovementLoop,\n nowIso: string,\n): ContinuityImprovementLoop | null {\n const id = normalizeLoopField(input.id);\n const cadence = normalizeLoopField(input.cadence) as ContinuityLoopCadence | undefined;\n const status = normalizeLoopField(input.status) as ContinuityLoopStatus | undefined;\n const purpose = normalizeLoopField(input.purpose);\n const killCondition = normalizeLoopField(input.killCondition);\n const notes = normalizeLoopField(input.notes);\n const lastReviewedRaw =\n \"lastReviewed\" in input && typeof input.lastReviewed === \"string\" ? input.lastReviewed : undefined;\n const lastReviewed = normalizeLoopField(lastReviewedRaw) ?? nowIso;\n\n if (!id || !cadence || !status || !purpose || !killCondition) return null;\n if (!LOOP_CADENCES.has(cadence)) return null;\n if (!LOOP_STATUSES.has(status)) return null;\n if (!isValidIso(lastReviewed)) return null;\n\n return {\n id,\n cadence,\n purpose,\n status,\n killCondition,\n lastReviewed,\n notes,\n };\n}\n\nfunction serializeContinuityLoopSection(loop: ContinuityImprovementLoop): string {\n const lines = [\n `## ${loop.id}`,\n `cadence: ${loop.cadence}`,\n `purpose: ${loop.purpose}`,\n `status: ${loop.status}`,\n `killCondition: ${loop.killCondition}`,\n `lastReviewed: ${loop.lastReviewed}`,\n ];\n if (loop.notes) lines.push(`notes: ${loop.notes}`);\n return lines.join(\"\\n\");\n}\n\ntype MarkdownSection = {\n title: string;\n body: string;\n};\n\nfunction splitLoopMarkdown(raw: string | null): { header: string; sections: MarkdownSection[] } {\n const text = (raw ?? \"\").replace(/\\r/g, \"\");\n const lines = text.split(\"\\n\");\n const headerLines: string[] = [];\n const sections: MarkdownSection[] = [];\n let current: MarkdownSection | null = null;\n\n for (const line of lines) {\n const sectionMatch = line.match(/^##\\s+(.+?)\\s*$/);\n if (sectionMatch) {\n if (current) sections.push({ title: current.title, body: current.body.trimEnd() });\n current = { title: sectionMatch[1].trim(), body: \"\" };\n continue;\n }\n if (!current) {\n headerLines.push(line);\n continue;\n }\n current.body += current.body.length > 0 ? `\\n${line}` : line;\n }\n if (current) sections.push({ title: current.title, body: current.body.trimEnd() });\n\n const headerRaw = headerLines.join(\"\\n\").trim();\n const header = headerRaw.length > 0 ? headerRaw : LOOP_HEADER;\n return { header, sections };\n}\n\nfunction parseLoopFromSection(section: MarkdownSection, nowIso: string): ContinuityImprovementLoop | null {\n const fields: Record<string, string> = {};\n for (const line of section.body.split(\"\\n\")) {\n const kv = line.match(/^([A-Za-z][A-Za-z0-9_]*):\\s*(.+?)\\s*$/);\n if (!kv) continue;\n fields[kv[1]] = kv[2];\n }\n const parsedLastReviewed = normalizeLoopField(fields.lastReviewed);\n const safeLastReviewed =\n parsedLastReviewed && isValidIso(parsedLastReviewed) ? parsedLastReviewed : STALE_LAST_REVIEWED_FALLBACK;\n return normalizeContinuityLoop(\n {\n id: section.title,\n cadence: (fields.cadence ?? \"\") as ContinuityLoopCadence,\n purpose: fields.purpose ?? \"\",\n status: (fields.status ?? \"\") as ContinuityLoopStatus,\n killCondition: fields.killCondition ?? \"\",\n lastReviewed: safeLastReviewed,\n notes: fields.notes,\n },\n nowIso,\n );\n}\n\nfunction joinLoopMarkdown(header: string, sections: MarkdownSection[]): string {\n const lines: string[] = [header.trim(), \"\"];\n for (const section of sections) {\n lines.push(`## ${section.title}`);\n if (section.body.trim().length > 0) {\n lines.push(section.body.trimEnd());\n }\n lines.push(\"\");\n }\n return lines.join(\"\\n\").replace(/\\n{3,}/g, \"\\n\\n\").trimEnd() + \"\\n\";\n}\n\nexport function parseContinuityImprovementLoops(raw: string): ContinuityImprovementLoop[] {\n const parsed = splitLoopMarkdown(raw);\n const nowIso = new Date().toISOString();\n return parsed.sections\n .map((section) => parseLoopFromSection(section, nowIso))\n .filter((loop): loop is ContinuityImprovementLoop => loop !== null);\n}\n\nexport function upsertContinuityLoopInMarkdown(\n raw: string | null,\n input: ContinuityLoopUpsertInput,\n nowIso: string,\n): { markdown: string; loop: ContinuityImprovementLoop } {\n const normalized = normalizeContinuityLoop(input, nowIso);\n if (!normalized) {\n throw new Error(\"Invalid continuity loop input\");\n }\n\n const parsed = splitLoopMarkdown(raw);\n let replaced = false;\n const nextSections = parsed.sections.map((section) => {\n if (normalizeLoopField(section.title) !== normalized.id) return section;\n replaced = true;\n return { title: normalized.id, body: serializeContinuityLoopSection(normalized).split(\"\\n\").slice(1).join(\"\\n\") };\n });\n\n if (!replaced) {\n nextSections.push({\n title: normalized.id,\n body: serializeContinuityLoopSection(normalized).split(\"\\n\").slice(1).join(\"\\n\"),\n });\n }\n\n return { markdown: joinLoopMarkdown(parsed.header, nextSections), loop: normalized };\n}\n\nexport function reviewContinuityLoopInMarkdown(\n raw: string | null,\n id: string,\n input: ContinuityLoopReviewInput,\n nowIso: string,\n): { markdown: string; loop: ContinuityImprovementLoop | null } {\n const parsed = splitLoopMarkdown(raw);\n const normalizedId = normalizeLoopField(id);\n if (!normalizedId) {\n return { markdown: joinLoopMarkdown(parsed.header, parsed.sections), loop: null };\n }\n let updatedLoop: ContinuityImprovementLoop | null = null;\n const nextSections = parsed.sections.map((section) => {\n if (normalizeLoopField(section.title) !== normalizedId) return section;\n const existing = parseLoopFromSection(section, nowIso);\n if (!existing) return section;\n const reviewed = applyContinuityLoopReview(existing, input, nowIso);\n updatedLoop = reviewed;\n return { title: reviewed.id, body: serializeContinuityLoopSection(reviewed).split(\"\\n\").slice(1).join(\"\\n\") };\n });\n\n return { markdown: joinLoopMarkdown(parsed.header, nextSections), loop: updatedLoop };\n}\n\nfunction applyContinuityLoopReview(\n existing: ContinuityImprovementLoop,\n input: ContinuityLoopReviewInput,\n nowIso: string,\n): ContinuityImprovementLoop {\n const nextStatus = normalizeLoopField(input.status) as ContinuityLoopStatus | undefined;\n const nextNotes = normalizeLoopField(input.notes);\n const reviewedAt = normalizeLoopField(input.reviewedAt) ?? nowIso;\n\n return {\n ...existing,\n status: nextStatus && LOOP_STATUSES.has(nextStatus) ? nextStatus : existing.status,\n notes: nextNotes ?? existing.notes,\n lastReviewed: isValidIso(reviewedAt) ? reviewedAt : nowIso,\n };\n}\n"],"mappings":"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","names":[]}
|