@psiclawops/hypermem 0.9.1 → 0.9.3
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/CHANGELOG.md +8 -1
- package/INSTALL.md +11 -2
- package/README.md +24 -24
- package/dist/adaptive-lifecycle.d.ts +81 -0
- package/dist/adaptive-lifecycle.d.ts.map +1 -0
- package/dist/adaptive-lifecycle.js +190 -0
- package/dist/background-indexer.d.ts +161 -0
- package/dist/background-indexer.d.ts.map +1 -0
- package/dist/background-indexer.js +1263 -0
- package/dist/budget-policy.d.ts +22 -0
- package/dist/budget-policy.d.ts.map +1 -0
- package/dist/budget-policy.js +32 -0
- package/dist/cache.d.ts +148 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +571 -0
- package/dist/compaction-fence.d.ts +97 -0
- package/dist/compaction-fence.d.ts.map +1 -0
- package/dist/compaction-fence.js +174 -0
- package/dist/composition-snapshot-integrity.d.ts +36 -0
- package/dist/composition-snapshot-integrity.d.ts.map +1 -0
- package/dist/composition-snapshot-integrity.js +131 -0
- package/dist/composition-snapshot-runtime.d.ts +59 -0
- package/dist/composition-snapshot-runtime.d.ts.map +1 -0
- package/dist/composition-snapshot-runtime.js +250 -0
- package/dist/composition-snapshot-store.d.ts +44 -0
- package/dist/composition-snapshot-store.d.ts.map +1 -0
- package/dist/composition-snapshot-store.js +117 -0
- package/dist/compositor.d.ts +518 -0
- package/dist/compositor.d.ts.map +1 -0
- package/dist/compositor.js +4280 -0
- package/dist/content-type-classifier.d.ts +41 -0
- package/dist/content-type-classifier.d.ts.map +1 -0
- package/dist/content-type-classifier.js +181 -0
- package/dist/context-backfill.d.ts +46 -0
- package/dist/context-backfill.d.ts.map +1 -0
- package/dist/context-backfill.js +113 -0
- package/dist/context-store.d.ts +131 -0
- package/dist/context-store.d.ts.map +1 -0
- package/dist/context-store.js +279 -0
- package/dist/contradiction-audit-store.d.ts +54 -0
- package/dist/contradiction-audit-store.d.ts.map +1 -0
- package/dist/contradiction-audit-store.js +88 -0
- package/dist/contradiction-detector.d.ts +78 -0
- package/dist/contradiction-detector.d.ts.map +1 -0
- package/dist/contradiction-detector.js +362 -0
- package/dist/contradiction-resolution-policy.d.ts +21 -0
- package/dist/contradiction-resolution-policy.d.ts.map +1 -0
- package/dist/contradiction-resolution-policy.js +17 -0
- package/dist/cross-agent.d.ts +74 -0
- package/dist/cross-agent.d.ts.map +1 -0
- package/dist/cross-agent.js +271 -0
- package/dist/db.d.ts +131 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +410 -0
- package/dist/degradation.d.ts +102 -0
- package/dist/degradation.d.ts.map +1 -0
- package/dist/degradation.js +141 -0
- package/dist/desired-state-store.d.ts +100 -0
- package/dist/desired-state-store.d.ts.map +1 -0
- package/dist/desired-state-store.js +222 -0
- package/dist/doc-chunk-store.d.ts +159 -0
- package/dist/doc-chunk-store.d.ts.map +1 -0
- package/dist/doc-chunk-store.js +441 -0
- package/dist/doc-chunker.d.ts +99 -0
- package/dist/doc-chunker.d.ts.map +1 -0
- package/dist/doc-chunker.js +324 -0
- package/dist/dreaming-promoter.d.ts +124 -0
- package/dist/dreaming-promoter.d.ts.map +1 -0
- package/dist/dreaming-promoter.js +447 -0
- package/dist/episode-store.d.ts +49 -0
- package/dist/episode-store.d.ts.map +1 -0
- package/dist/episode-store.js +135 -0
- package/dist/expertise-store.d.ts +129 -0
- package/dist/expertise-store.d.ts.map +1 -0
- package/dist/expertise-store.js +342 -0
- package/dist/fact-store.d.ts +90 -0
- package/dist/fact-store.d.ts.map +1 -0
- package/dist/fact-store.js +283 -0
- package/dist/fleet-store.d.ts +144 -0
- package/dist/fleet-store.d.ts.map +1 -0
- package/dist/fleet-store.js +276 -0
- package/dist/fos-mod.d.ts +178 -0
- package/dist/fos-mod.d.ts.map +1 -0
- package/dist/fos-mod.js +416 -0
- package/dist/hybrid-retrieval.d.ts +102 -0
- package/dist/hybrid-retrieval.d.ts.map +1 -0
- package/dist/hybrid-retrieval.js +429 -0
- package/dist/image-eviction.d.ts +49 -0
- package/dist/image-eviction.d.ts.map +1 -0
- package/dist/image-eviction.js +251 -0
- package/dist/index.d.ts +735 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1542 -0
- package/dist/keystone-scorer.d.ts +51 -0
- package/dist/keystone-scorer.d.ts.map +1 -0
- package/dist/keystone-scorer.js +52 -0
- package/dist/knowledge-graph.d.ts +110 -0
- package/dist/knowledge-graph.d.ts.map +1 -0
- package/dist/knowledge-graph.js +305 -0
- package/dist/knowledge-lint.d.ts +31 -0
- package/dist/knowledge-lint.d.ts.map +1 -0
- package/dist/knowledge-lint.js +155 -0
- package/dist/knowledge-store.d.ts +75 -0
- package/dist/knowledge-store.d.ts.map +1 -0
- package/dist/knowledge-store.js +270 -0
- package/dist/library-schema.d.ts +31 -0
- package/dist/library-schema.d.ts.map +1 -0
- package/dist/library-schema.js +1357 -0
- package/dist/message-store.d.ts +181 -0
- package/dist/message-store.d.ts.map +1 -0
- package/dist/message-store.js +577 -0
- package/dist/metrics-dashboard.d.ts +131 -0
- package/dist/metrics-dashboard.d.ts.map +1 -0
- package/dist/metrics-dashboard.js +298 -0
- package/dist/obsidian-exporter.d.ts +57 -0
- package/dist/obsidian-exporter.d.ts.map +1 -0
- package/dist/obsidian-exporter.js +274 -0
- package/dist/obsidian-watcher.d.ts +147 -0
- package/dist/obsidian-watcher.d.ts.map +1 -0
- package/dist/obsidian-watcher.js +403 -0
- package/dist/open-domain.d.ts +46 -0
- package/dist/open-domain.d.ts.map +1 -0
- package/dist/open-domain.js +125 -0
- package/dist/preference-store.d.ts +54 -0
- package/dist/preference-store.d.ts.map +1 -0
- package/dist/preference-store.js +109 -0
- package/dist/preservation-gate.d.ts +82 -0
- package/dist/preservation-gate.d.ts.map +1 -0
- package/dist/preservation-gate.js +150 -0
- package/dist/proactive-pass.d.ts +63 -0
- package/dist/proactive-pass.d.ts.map +1 -0
- package/dist/proactive-pass.js +293 -0
- package/dist/profiles.d.ts +46 -0
- package/dist/profiles.d.ts.map +1 -0
- package/dist/profiles.js +262 -0
- package/dist/provider-translator.d.ts +50 -0
- package/dist/provider-translator.d.ts.map +1 -0
- package/dist/provider-translator.js +403 -0
- package/dist/rate-limiter.d.ts +76 -0
- package/dist/rate-limiter.d.ts.map +1 -0
- package/dist/rate-limiter.js +179 -0
- package/dist/repair-tool-pairs.d.ts +38 -0
- package/dist/repair-tool-pairs.d.ts.map +1 -0
- package/dist/repair-tool-pairs.js +209 -0
- package/dist/replay-recovery.d.ts +29 -0
- package/dist/replay-recovery.d.ts.map +1 -0
- package/dist/replay-recovery.js +82 -0
- package/dist/reranker.d.ts +95 -0
- package/dist/reranker.d.ts.map +1 -0
- package/dist/reranker.js +308 -0
- package/dist/retrieval-policy.d.ts +51 -0
- package/dist/retrieval-policy.d.ts.map +1 -0
- package/dist/retrieval-policy.js +77 -0
- package/dist/schema.d.ts +15 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +327 -0
- package/dist/secret-scanner.d.ts +51 -0
- package/dist/secret-scanner.d.ts.map +1 -0
- package/dist/secret-scanner.js +248 -0
- package/dist/seed.d.ts +108 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +179 -0
- package/dist/session-flusher.d.ts +53 -0
- package/dist/session-flusher.d.ts.map +1 -0
- package/dist/session-flusher.js +69 -0
- package/dist/session-topic-map.d.ts +41 -0
- package/dist/session-topic-map.d.ts.map +1 -0
- package/dist/session-topic-map.js +77 -0
- package/dist/spawn-context.d.ts +54 -0
- package/dist/spawn-context.d.ts.map +1 -0
- package/dist/spawn-context.js +159 -0
- package/dist/system-store.d.ts +73 -0
- package/dist/system-store.d.ts.map +1 -0
- package/dist/system-store.js +182 -0
- package/dist/temporal-store.d.ts +81 -0
- package/dist/temporal-store.d.ts.map +1 -0
- package/dist/temporal-store.js +149 -0
- package/dist/tool-artifact-store.d.ts +98 -0
- package/dist/tool-artifact-store.d.ts.map +1 -0
- package/dist/tool-artifact-store.js +244 -0
- package/dist/topic-detector.d.ts +35 -0
- package/dist/topic-detector.d.ts.map +1 -0
- package/dist/topic-detector.js +249 -0
- package/dist/topic-store.d.ts +51 -0
- package/dist/topic-store.d.ts.map +1 -0
- package/dist/topic-store.js +175 -0
- package/dist/topic-synthesizer.d.ts +71 -0
- package/dist/topic-synthesizer.d.ts.map +1 -0
- package/dist/topic-synthesizer.js +426 -0
- package/dist/trigger-registry.d.ts +63 -0
- package/dist/trigger-registry.d.ts.map +1 -0
- package/dist/trigger-registry.js +171 -0
- package/dist/types.d.ts +1085 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/vector-store.d.ts +180 -0
- package/dist/vector-store.d.ts.map +1 -0
- package/dist/vector-store.js +1041 -0
- package/dist/version.d.ts +34 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +44 -0
- package/dist/wiki-page-emitter.d.ts +65 -0
- package/dist/wiki-page-emitter.d.ts.map +1 -0
- package/dist/wiki-page-emitter.js +258 -0
- package/dist/work-store.d.ts +112 -0
- package/dist/work-store.d.ts.map +1 -0
- package/dist/work-store.js +273 -0
- package/docs/MEMORY_MD_AUTHORING.md +3 -3
- package/docs/ROADMAP.md +2 -2
- package/install.sh +34 -0
- package/memory-plugin/dist/index.d.ts +24 -0
- package/memory-plugin/dist/index.js +378 -0
- package/memory-plugin/package.json +4 -2
- package/node_modules/sqlite-vec/README.md +1 -0
- package/node_modules/sqlite-vec/index.cjs +46 -0
- package/node_modules/sqlite-vec/index.d.ts +17 -0
- package/node_modules/sqlite-vec/index.mjs +47 -0
- package/node_modules/sqlite-vec/package.json +1 -0
- package/node_modules/sqlite-vec-linux-x64/README.md +1 -0
- package/node_modules/sqlite-vec-linux-x64/package.json +1 -0
- package/node_modules/sqlite-vec-linux-x64/vec0.so +0 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +208 -0
- package/node_modules/zod/index.cjs +33 -0
- package/node_modules/zod/index.d.cts +4 -0
- package/node_modules/zod/index.d.ts +4 -0
- package/node_modules/zod/index.js +4 -0
- package/node_modules/zod/locales/index.cjs +17 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +6 -0
- package/node_modules/zod/mini/index.cjs +32 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +6 -0
- package/node_modules/zod/package.json +135 -0
- package/node_modules/zod/src/index.ts +4 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/zod/src/v4/classic/external.ts +51 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1798 -0
- package/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/zod/src/v4/core/core.ts +138 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +448 -0
- package/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/zod/src/v4/core/regexes.ts +183 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4538 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
- package/node_modules/zod/src/v4/core/util.ts +966 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/zod/src/v4/locales/en.ts +119 -0
- package/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/zod/src/v4/locales/fr.ts +116 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/zod/src/v4/locales/index.ts +49 -0
- package/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/zod/src/v4/locales/uz.ts +116 -0
- package/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/external.ts +40 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +138 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +133 -0
- package/node_modules/zod/v3/errors.cjs +17 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +22 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +33 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +6 -0
- package/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3777 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3695 -0
- package/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/v4/classic/errors.js +48 -0
- package/node_modules/zod/v4/classic/external.cjs +73 -0
- package/node_modules/zod/v4/classic/external.d.cts +15 -0
- package/node_modules/zod/v4/classic/external.d.ts +15 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +584 -0
- package/node_modules/zod/v4/classic/index.cjs +33 -0
- package/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/v4/classic/iso.js +30 -0
- package/node_modules/zod/v4/classic/package.json +6 -0
- package/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/node_modules/zod/v4/classic/parse.js +15 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1272 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +739 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +739 -0
- package/node_modules/zod/v4/classic/schemas.js +1157 -0
- package/node_modules/zod/v4/core/api.cjs +1222 -0
- package/node_modules/zod/v4/core/api.d.cts +304 -0
- package/node_modules/zod/v4/core/api.d.ts +304 -0
- package/node_modules/zod/v4/core/api.js +1082 -0
- package/node_modules/zod/v4/core/checks.cjs +601 -0
- package/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/node_modules/zod/v4/core/checks.js +575 -0
- package/node_modules/zod/v4/core/core.cjs +83 -0
- package/node_modules/zod/v4/core/core.d.cts +70 -0
- package/node_modules/zod/v4/core/core.d.ts +70 -0
- package/node_modules/zod/v4/core/core.js +76 -0
- package/node_modules/zod/v4/core/doc.cjs +39 -0
- package/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/v4/core/doc.js +35 -0
- package/node_modules/zod/v4/core/errors.cjs +213 -0
- package/node_modules/zod/v4/core/errors.d.cts +220 -0
- package/node_modules/zod/v4/core/errors.d.ts +220 -0
- package/node_modules/zod/v4/core/errors.js +182 -0
- package/node_modules/zod/v4/core/index.cjs +47 -0
- package/node_modules/zod/v4/core/index.d.cts +16 -0
- package/node_modules/zod/v4/core/index.d.ts +16 -0
- package/node_modules/zod/v4/core/index.js +16 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +605 -0
- package/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/package.json +6 -0
- package/node_modules/zod/v4/core/parse.cjs +131 -0
- package/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/node_modules/zod/v4/core/parse.js +93 -0
- package/node_modules/zod/v4/core/regexes.cjs +166 -0
- package/node_modules/zod/v4/core/regexes.d.cts +79 -0
- package/node_modules/zod/v4/core/regexes.d.ts +79 -0
- package/node_modules/zod/v4/core/regexes.js +133 -0
- package/node_modules/zod/v4/core/registries.cjs +56 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2124 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1146 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1146 -0
- package/node_modules/zod/v4/core/schemas.js +2093 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.js +437 -0
- package/node_modules/zod/v4/core/util.cjs +710 -0
- package/node_modules/zod/v4/core/util.d.cts +199 -0
- package/node_modules/zod/v4/core/util.d.ts +199 -0
- package/node_modules/zod/v4/core/util.js +651 -0
- package/node_modules/zod/v4/core/versions.cjs +8 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/index.cjs +22 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +3 -0
- package/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +106 -0
- package/node_modules/zod/v4/locales/az.cjs +132 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +105 -0
- package/node_modules/zod/v4/locales/be.cjs +183 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +156 -0
- package/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +120 -0
- package/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +107 -0
- package/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +111 -0
- package/node_modules/zod/v4/locales/da.cjs +142 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +115 -0
- package/node_modules/zod/v4/locales/de.cjs +135 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +108 -0
- package/node_modules/zod/v4/locales/en.cjs +136 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +109 -0
- package/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +109 -0
- package/node_modules/zod/v4/locales/es.cjs +159 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +132 -0
- package/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +114 -0
- package/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +112 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/node_modules/zod/v4/locales/fr.cjs +135 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +108 -0
- package/node_modules/zod/v4/locales/he.cjs +241 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +214 -0
- package/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +108 -0
- package/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +147 -0
- package/node_modules/zod/v4/locales/id.cjs +133 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +106 -0
- package/node_modules/zod/v4/locales/index.cjs +104 -0
- package/node_modules/zod/v4/locales/index.d.cts +49 -0
- package/node_modules/zod/v4/locales/index.d.ts +49 -0
- package/node_modules/zod/v4/locales/index.js +49 -0
- package/node_modules/zod/v4/locales/is.cjs +136 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +109 -0
- package/node_modules/zod/v4/locales/it.cjs +135 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +108 -0
- package/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +107 -0
- package/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +112 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +137 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +110 -0
- package/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +111 -0
- package/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +203 -0
- package/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +109 -0
- package/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +107 -0
- package/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +110 -0
- package/node_modules/zod/v4/locales/no.cjs +135 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +108 -0
- package/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +109 -0
- package/node_modules/zod/v4/locales/package.json +6 -0
- package/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +109 -0
- package/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +114 -0
- package/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +108 -0
- package/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +156 -0
- package/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +109 -0
- package/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +110 -0
- package/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +110 -0
- package/node_modules/zod/v4/locales/th.cjs +137 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +110 -0
- package/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +105 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +108 -0
- package/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +110 -0
- package/node_modules/zod/v4/locales/uz.cjs +136 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +109 -0
- package/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +108 -0
- package/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +107 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/external.cjs +63 -0
- package/node_modules/zod/v4/mini/external.d.cts +12 -0
- package/node_modules/zod/v4/mini/external.d.ts +12 -0
- package/node_modules/zod/v4/mini/external.js +14 -0
- package/node_modules/zod/v4/mini/index.cjs +32 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +6 -0
- package/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1046 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +427 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +427 -0
- package/node_modules/zod/v4/mini/schemas.js +925 -0
- package/node_modules/zod/v4/package.json +6 -0
- package/node_modules/zod/v4-mini/index.cjs +32 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +6 -0
- package/package.json +5 -2
- package/plugin/dist/index.d.ts +208 -0
- package/plugin/dist/index.d.ts.map +1 -0
- package/plugin/dist/index.js +3474 -0
- package/plugin/dist/index.js.map +1 -0
- package/plugin/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to hypermem are documented here.
|
|
4
4
|
|
|
5
|
-
## 0.9.
|
|
5
|
+
## 0.9.2 - 0.9.1 republish + publish-path hardening
|
|
6
|
+
|
|
7
|
+
- **0.9.1 was a broken publish.** The npm tarballs for `@psiclawops/hypermem@0.9.1`, `@psiclawops/hypercompositor@0.9.1`, and `@psiclawops/hypermem-memory@0.9.1` shipped without `dist/`, so `import` against the registry artifact fails with `ERR_MODULE_NOT_FOUND`. **Skip 0.9.1.** Operators currently on 0.9.1 should upgrade to 0.9.2.
|
|
8
|
+
- **Same code intent as 0.9.1.** Plugin singleton registry on `globalThis`, memory plugin loads user config, vector-store init log shows resolved provider/model/dims, tool artifact API arity + hydration docs aligned. (See 0.9.1 entry below for detail.)
|
|
9
|
+
- **`prepublishOnly` and `prepack` hooks added** to root, plugin/, and memory-plugin/ `package.json`. `npm publish` now refuses to ship without first running `npm run build`. The 0.9.1 packaging defect (gitignored `dist/` + no build hook → empty tarball) cannot recur.
|
|
10
|
+
- **0.9.1 deprecated on the registry** for all three packages, with a pointer to 0.9.2.
|
|
11
|
+
|
|
12
|
+
## 0.9.1 - plugin singleton + memory-plugin config patch (BROKEN PUBLISH — use 0.9.2)
|
|
6
13
|
|
|
7
14
|
- **HyperMem singleton registry is now backed by `globalThis`.** Multiple module instances loaded from `node_modules` would each construct a private singleton, so HyperCompositor and the memory plugin could end up writing to different SQLite/vector stores. The registry now lives on `globalThis`, guaranteeing one instance per `dataDir` regardless of how many copies of the module are resolved.
|
|
8
15
|
- **Memory plugin loads user config.** The memory plugin entrypoint now reads operator config (provider, embedding model, dimensions) instead of falling back to library defaults, so a 768d nomic embedder in OpenClaw config no longer collides with a 4096d default at write time.
|
package/INSTALL.md
CHANGED
|
@@ -51,7 +51,7 @@ No gateway, plugin load path, or OpenClaw config is required in library mode. Op
|
|
|
51
51
|
|
|
52
52
|
This guide is deliberately declarative. Follow the steps in order and verify each install state before moving on.
|
|
53
53
|
|
|
54
|
-
> **Release note:**
|
|
54
|
+
> **Release note:** current releases ship `hypermem-install`, `install:runtime`, and `hypermem-model-audit`. If your installed package does not contain them, upgrade to the latest `@psiclawops/hypermem` before following this guide.
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
57
|
npm install @psiclawops/hypermem
|
|
@@ -529,7 +529,7 @@ npm install
|
|
|
529
529
|
npm run build
|
|
530
530
|
```
|
|
531
531
|
|
|
532
|
-
Build both plugins, then install the runtime payload into 's durable plugin directory:
|
|
532
|
+
Build both plugins, then install the runtime payload into OpenClaw's durable plugin directory:
|
|
533
533
|
|
|
534
534
|
```bash
|
|
535
535
|
npm --prefix plugin install && npm --prefix plugin run build
|
|
@@ -1071,3 +1071,12 @@ openclaw gateway restart
|
|
|
1071
1071
|
---
|
|
1072
1072
|
|
|
1073
1073
|
_Questions or issues: file against [the repo](https://github.com/PsiClawOps/hypermem) or ask in `#hypermem`._
|
|
1074
|
+
|
|
1075
|
+
### Preview installer actions
|
|
1076
|
+
|
|
1077
|
+
Run the installer with `--dry-run` to print package install, runtime staging, config, activation, and verification steps without installing, staging, or writing config:
|
|
1078
|
+
|
|
1079
|
+
```bash
|
|
1080
|
+
curl -fsSL https://raw.githubusercontent.com/PsiClawOps/hypermem/main/install.sh | bash -s -- --dry-run
|
|
1081
|
+
```
|
|
1082
|
+
|
package/README.md
CHANGED
|
@@ -20,13 +20,13 @@ Or via the shell installer:
|
|
|
20
20
|
curl -fsSL https://raw.githubusercontent.com/PsiClawOps/hypermem/main/install.sh | bash
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
Or install manually via `npm install @psiclawops/hypermem
|
|
23
|
+
Or install manually via `npm install @psiclawops/hypermem`: see [Installation](#installation) for the full declarative plugin path, verification checkpoints, and setup variants.
|
|
24
24
|
|
|
25
25
|
Release operators should also read:
|
|
26
26
|
|
|
27
|
-
- [INSTALL.md](./INSTALL.md)
|
|
28
|
-
- [docs/INTEGRATION_VALIDATION.md](./docs/INTEGRATION_VALIDATION.md)
|
|
29
|
-
- [docs/DIAGNOSTICS.md](./docs/DIAGNOSTICS.md)
|
|
27
|
+
- [INSTALL.md](./INSTALL.md): canonical fresh install and upgrade guide
|
|
28
|
+
- [docs/INTEGRATION_VALIDATION.md](./docs/INTEGRATION_VALIDATION.md): end-to-end integration validation contract
|
|
29
|
+
- [docs/DIAGNOSTICS.md](./docs/DIAGNOSTICS.md): status, model audit, compose, trim, and release diagnostics
|
|
30
30
|
|
|
31
31
|
A successful `hypermem-install` only stages the runtime. HyperMem is active only after OpenClaw config is wired, the gateway restarts, and logs show compose activity.
|
|
32
32
|
|
|
@@ -57,7 +57,7 @@ The difference is not intelligence. It is prompt access. Three failure modes fol
|
|
|
57
57
|
|
|
58
58
|
## What OpenClaw provides today
|
|
59
59
|
|
|
60
|
-
OpenClaw already gives agents a
|
|
60
|
+
OpenClaw already gives agents a strong baseline. It injects structured guidance into every session:
|
|
61
61
|
|
|
62
62
|
| File | What it contributes | Survives session restart? |
|
|
63
63
|
|---|---|---|
|
|
@@ -78,16 +78,16 @@ OpenClaw gives agents a strong starting shape: identity files, user guidance, ta
|
|
|
78
78
|
|
|
79
79
|
hypermem closes that gap with four SQLite-backed memory layers that stay local, run in-process, and remain queryable across sessions. No external database service. No retrieval stack to babysit.
|
|
80
80
|
|
|
81
|
-
| Layer | What it holds |
|
|
81
|
+
| Layer | What it holds | Representative local read |
|
|
82
82
|
|---|---|---|
|
|
83
|
-
| **L1 SQLite `:memory:`** | What the agent needs right now. Identity, recent history, active state. | 0.08ms |
|
|
84
|
-
| **L2 History** | Every conversation, queryable and concurrent-safe. Per-agent. | 0.13ms |
|
|
85
|
-
| **L3 Semantic** | Finds related content even when the words don't match. |
|
|
86
|
-
| **L4 Knowledge** | Facts, wiki pages, episodes, preferences. Shared across agents. | 0.09ms |
|
|
83
|
+
| **L1 SQLite `:memory:`** | What the agent needs right now. Identity, recent history, active state. | L1 slot GET: 0.08ms avg |
|
|
84
|
+
| **L2 History** | Every conversation, queryable and concurrent-safe. Per-agent. | L2 history window: 0.13ms avg |
|
|
85
|
+
| **L3 Semantic** | Finds related content even when the words don't match. | async/cached; provider-dependent. See [Speed](#speed) and [Diagnostics](./docs/DIAGNOSTICS.md#memory-access-benchmark). |
|
|
86
|
+
| **L4 Knowledge** | Facts, wiki pages, episodes, preferences. Shared across agents. | L4 knowledge query: 0.09ms avg |
|
|
87
87
|
|
|
88
88
|
Durable context stays in SQLite and remains queryable across session boundaries. The retry logic decision from last week, the deployment preferences from last month, and the architecture choices from day one can be pulled back in when they matter.
|
|
89
89
|
|
|
90
|
-
That changes OpenClaw in a few concrete ways. Starts are warm instead of blank because recent history, ranked facts, active topics, and cached semantic state are loaded before the first turn. Recall survives wording drift because FTS5, sqlite-vec, RRF fusion, and an optional reranker can recover the same idea through different phrasing. Time-aware facts can answer
|
|
90
|
+
That changes OpenClaw in a few concrete ways. Starts are warm instead of blank because recent history, ranked facts, active topics, and cached semantic state are loaded before the first turn. Recall survives wording drift because FTS5, sqlite-vec, RRF fusion, and an optional reranker can recover the same idea through different phrasing. Time-aware facts can answer "last week" and "before the release" as retrieval problems instead of vague prompt guessing. Shared knowledge stops living in one agent’s scratchpad because `library.db` holds facts, docs, episodes, preferences, fleet state, and output standards with visibility controls.
|
|
91
91
|
|
|
92
92
|
---
|
|
93
93
|
|
|
@@ -189,11 +189,11 @@ Behavior standards define how your agents write. Anti-sycophancy rules prevent f
|
|
|
189
189
|
|
|
190
190
|
### Model adaptation
|
|
191
191
|
|
|
192
|
-
Different
|
|
192
|
+
Different providers and model families have different default answer shapes. Model adaptation applies operator-defined output standards per model so those defaults do not leak into every response.
|
|
193
193
|
|
|
194
194
|
Adaptation entries are stored in the `model_output_directives` table and matched by model ID using exact match, then glob pattern (longest wins), then wildcard fallback. Each entry contains:
|
|
195
195
|
|
|
196
|
-
- **Calibration:** known model tendencies and specific adjustments (e.g., "
|
|
196
|
+
- **Calibration:** known model tendencies and specific adjustments (e.g., "prefer concise first drafts")
|
|
197
197
|
- **Corrections:** hard/medium/soft severity rules applied in order (e.g., "No preamble before the answer")
|
|
198
198
|
- **Task overrides:** per-task-type adjustments
|
|
199
199
|
|
|
@@ -208,7 +208,7 @@ The example below shows the intended effect of `hyperformProfile: "light"`. hype
|
|
|
208
208
|
```
|
|
209
209
|
Prompt: "How should I size my context window budget for a long-running agent session?"
|
|
210
210
|
|
|
211
|
-
WITHOUT hyperform shaping (
|
|
211
|
+
WITHOUT hyperform shaping (generic verbose default):
|
|
212
212
|
Here are the key factors to consider when sizing your context window budget:
|
|
213
213
|
|
|
214
214
|
**1. Session depth**
|
|
@@ -276,7 +276,7 @@ Reference run, production database: 5,104 facts, 28,441 episodes, 847 knowledge
|
|
|
276
276
|
| Operation | avg | p50 | p95 |
|
|
277
277
|
|---|---|---|---|
|
|
278
278
|
| L1 slot GET (SQLite in-memory) | 0.08ms | 0.07ms | 0.13ms |
|
|
279
|
-
|
|
|
279
|
+
| L2 history window (100 messages) | 0.13ms | 0.11ms | 0.19ms |
|
|
280
280
|
| L4 facts (top-28, confidence × decay) | 0.28ms | 0.26ms | 0.36ms |
|
|
281
281
|
| L4 facts + agentId filter | 0.31ms | 0.29ms | 0.40ms |
|
|
282
282
|
| L4 FTS5 keyword search | 0.06ms | 0.05ms | 0.08ms |
|
|
@@ -357,13 +357,13 @@ Facts are ranked by `confidence × recencyDecay`, where decay is exponential wit
|
|
|
357
357
|
│
|
|
358
358
|
topic detection ──► scope retrieval to active thread
|
|
359
359
|
│
|
|
360
|
-
|
|
361
|
-
│
|
|
362
|
-
│
|
|
363
|
-
│ L1 in-memory L2 History
|
|
364
|
-
│ hot state
|
|
365
|
-
│ 0.
|
|
366
|
-
|
|
360
|
+
┌────┴────────────────────────────────────────────────────────────────┐
|
|
361
|
+
│ query 4 layers (parallel) │
|
|
362
|
+
│ │
|
|
363
|
+
│ L1 in-memory L2 History L3 Vectors L4 Library │
|
|
364
|
+
│ hot state durable history semantic recall facts/wiki │
|
|
365
|
+
│ 0.08ms avg 0.13ms avg async/cached 0.09ms avg │
|
|
366
|
+
└────┬────────────────────────────────────────────────────────────────┘
|
|
367
367
|
│
|
|
368
368
|
budget allocator ──► 10 slots, fixed token cap
|
|
369
369
|
│
|
|
@@ -386,7 +386,7 @@ Slot-level budget allocation is shown in the [hypercompositor diagram](#what-the
|
|
|
386
386
|
|
|
387
387
|
## Requirements
|
|
388
388
|
|
|
389
|
-
**Current release: hypermem 0.9.
|
|
389
|
+
**Current release: hypermem 0.9.2.** Changelog: [CHANGELOG.md](./CHANGELOG.md)
|
|
390
390
|
|
|
391
391
|
| Requirement | Version | Notes |
|
|
392
392
|
|---|---|---|
|
|
@@ -398,7 +398,7 @@ SQLite is a library, not a service. All four layers run in-process with no exter
|
|
|
398
398
|
**Runtime version constants** (importable from the package):
|
|
399
399
|
```typescript
|
|
400
400
|
import {
|
|
401
|
-
ENGINE_VERSION, // '0.9.
|
|
401
|
+
ENGINE_VERSION, // '0.9.2'
|
|
402
402
|
MIN_NODE_VERSION, // '22.0.0'
|
|
403
403
|
SQLITE_VEC_VERSION, // '0.1.9'
|
|
404
404
|
MAIN_SCHEMA_VERSION, // 10 (messages.db)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HyperMem 0.9.0 adaptive context lifecycle policy kernel.
|
|
3
|
+
*
|
|
4
|
+
* This module intentionally stays pure: it does not fetch history, mutate
|
|
5
|
+
* stores, or own trimming. Runtime paths can call it to choose warming,
|
|
6
|
+
* recall, trim, compaction, and eviction posture from the same pressure band
|
|
7
|
+
* so 0.9.0 does not grow another independent trim brain.
|
|
8
|
+
*/
|
|
9
|
+
export type AdaptiveLifecycleBand = 'bootstrap' | 'warmup' | 'steady' | 'elevated' | 'high' | 'critical';
|
|
10
|
+
export interface AdaptiveLifecycleInput {
|
|
11
|
+
/** Tokens already resident or projected in the active context. */
|
|
12
|
+
usedTokens?: number;
|
|
13
|
+
/** Effective context budget after model-aware reserve handling. */
|
|
14
|
+
effectiveBudget?: number;
|
|
15
|
+
/** Optional precomputed pressure fraction. Overrides usedTokens/effectiveBudget. */
|
|
16
|
+
pressureFraction?: number;
|
|
17
|
+
/** Number of user turns observed in the session. */
|
|
18
|
+
userTurnCount?: number;
|
|
19
|
+
/** True when the incoming user turn explicitly starts with /new. */
|
|
20
|
+
explicitNewSession?: boolean;
|
|
21
|
+
/** Topic-shift confidence from the detector, 0..1. */
|
|
22
|
+
topicShiftConfidence?: number;
|
|
23
|
+
/** True when this context was forked from a parent OpenClaw session. */
|
|
24
|
+
forkedContext?: boolean;
|
|
25
|
+
/** Parent-session pressure observed when the fork was prepared, 0..1+. */
|
|
26
|
+
forkedParentPressureFraction?: number;
|
|
27
|
+
/** Parent-session user turns observed when the fork was prepared. */
|
|
28
|
+
forkedParentUserTurnCount?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Eviction-pipeline step labels. The order in `AdaptiveEvictionPlan.steps`
|
|
32
|
+
* is the order the compose-window cluster-drop path should attempt them.
|
|
33
|
+
*
|
|
34
|
+
* `tool-gradient`, `oversized-artifacts`, and `stale-tool-stubs` are
|
|
35
|
+
* ballast-reduction steps already implemented in the compositor; the plan
|
|
36
|
+
* just records that they precede cluster drop. `topic-aware-cluster-drop`
|
|
37
|
+
* and `oldest-cluster-drop` describe how the compositor's existing
|
|
38
|
+
* cluster-drop pass should be ordered: topic-aware-first when the band
|
|
39
|
+
* elevates, otherwise the historical newest-first/oldest-drop sweep.
|
|
40
|
+
*/
|
|
41
|
+
export type AdaptiveEvictionStep = 'tool-gradient' | 'oversized-artifacts' | 'stale-tool-stubs' | 'topic-aware-cluster-drop' | 'oldest-cluster-drop';
|
|
42
|
+
export interface AdaptiveEvictionPlan {
|
|
43
|
+
band: AdaptiveLifecycleBand;
|
|
44
|
+
steps: readonly AdaptiveEvictionStep[];
|
|
45
|
+
/** Drop inactive-topic clusters before falling back to oldest-first. */
|
|
46
|
+
preferTopicAwareDrop: boolean;
|
|
47
|
+
/** Ballast-reduction steps run before any cluster drop. Always true today. */
|
|
48
|
+
preferBallastFirst: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface AdaptiveLifecyclePolicy {
|
|
51
|
+
band: AdaptiveLifecycleBand;
|
|
52
|
+
pressureFraction: number;
|
|
53
|
+
pressurePct: number;
|
|
54
|
+
warmHistoryBudgetFraction: number;
|
|
55
|
+
smartRecallMultiplier: number;
|
|
56
|
+
trimSoftTarget: number;
|
|
57
|
+
compactionTargetFraction: number;
|
|
58
|
+
emitBreadcrumbPackage: boolean;
|
|
59
|
+
enableTopicCentroidEviction: boolean;
|
|
60
|
+
triggerProactiveCompaction: boolean;
|
|
61
|
+
evictionPlan: AdaptiveEvictionPlan;
|
|
62
|
+
reasons: string[];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Pure helper: derive the eviction plan from band only. No new pressure
|
|
66
|
+
* constants — every band-sensitive decision routes through the existing
|
|
67
|
+
* AdaptiveLifecycleBand classification.
|
|
68
|
+
*
|
|
69
|
+
* - bootstrap/warmup/steady: preserve the historical eviction order.
|
|
70
|
+
* - elevated: prefer topic-aware stale cluster drop before generic
|
|
71
|
+
* oldest-first cluster drop.
|
|
72
|
+
* - high/critical: same plan shape as elevated. Ballast-first is already
|
|
73
|
+
* the default order in the compositor; topic-aware drop kicks in to
|
|
74
|
+
* avoid evicting active-topic recent clusters under saturation.
|
|
75
|
+
*/
|
|
76
|
+
export declare function resolveAdaptiveEvictionPlan(band: AdaptiveLifecycleBand): AdaptiveEvictionPlan;
|
|
77
|
+
/**
|
|
78
|
+
* Resolve the adaptive lifecycle posture for one compose/afterTurn cycle.
|
|
79
|
+
*/
|
|
80
|
+
export declare function resolveAdaptiveLifecyclePolicy(input?: AdaptiveLifecycleInput): AdaptiveLifecyclePolicy;
|
|
81
|
+
//# sourceMappingURL=adaptive-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptive-lifecycle.d.ts","sourceRoot":"","sources":["../src/adaptive-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,MAAM,GACN,UAAU,CAAC;AAEf,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,qEAAqE;IACrE,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,qBAAqB,GACrB,kBAAkB,GAClB,0BAA0B,GAC1B,qBAAqB,CAAC;AAE1B,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvC,wEAAwE;IACxE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,8EAA8E;IAC9E,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,2BAA2B,EAAE,OAAO,CAAC;IACrC,0BAA0B,EAAE,OAAO,CAAC;IACpC,YAAY,EAAE,oBAAoB,CAAC;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,qBAAqB,GAAG,oBAAoB,CAsB7F;AAyGD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,GAAE,sBAA2B,GACjC,uBAAuB,CAoBzB"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HyperMem 0.9.0 adaptive context lifecycle policy kernel.
|
|
3
|
+
*
|
|
4
|
+
* This module intentionally stays pure: it does not fetch history, mutate
|
|
5
|
+
* stores, or own trimming. Runtime paths can call it to choose warming,
|
|
6
|
+
* recall, trim, compaction, and eviction posture from the same pressure band
|
|
7
|
+
* so 0.9.0 does not grow another independent trim brain.
|
|
8
|
+
*/
|
|
9
|
+
const BASELINE_EVICTION_STEPS = Object.freeze([
|
|
10
|
+
'tool-gradient',
|
|
11
|
+
'oversized-artifacts',
|
|
12
|
+
'stale-tool-stubs',
|
|
13
|
+
'oldest-cluster-drop',
|
|
14
|
+
]);
|
|
15
|
+
const TOPIC_AWARE_EVICTION_STEPS = Object.freeze([
|
|
16
|
+
'tool-gradient',
|
|
17
|
+
'oversized-artifacts',
|
|
18
|
+
'stale-tool-stubs',
|
|
19
|
+
'topic-aware-cluster-drop',
|
|
20
|
+
'oldest-cluster-drop',
|
|
21
|
+
]);
|
|
22
|
+
/**
|
|
23
|
+
* Pure helper: derive the eviction plan from band only. No new pressure
|
|
24
|
+
* constants — every band-sensitive decision routes through the existing
|
|
25
|
+
* AdaptiveLifecycleBand classification.
|
|
26
|
+
*
|
|
27
|
+
* - bootstrap/warmup/steady: preserve the historical eviction order.
|
|
28
|
+
* - elevated: prefer topic-aware stale cluster drop before generic
|
|
29
|
+
* oldest-first cluster drop.
|
|
30
|
+
* - high/critical: same plan shape as elevated. Ballast-first is already
|
|
31
|
+
* the default order in the compositor; topic-aware drop kicks in to
|
|
32
|
+
* avoid evicting active-topic recent clusters under saturation.
|
|
33
|
+
*/
|
|
34
|
+
export function resolveAdaptiveEvictionPlan(band) {
|
|
35
|
+
switch (band) {
|
|
36
|
+
case 'bootstrap':
|
|
37
|
+
case 'warmup':
|
|
38
|
+
case 'steady':
|
|
39
|
+
return Object.freeze({
|
|
40
|
+
band,
|
|
41
|
+
steps: BASELINE_EVICTION_STEPS,
|
|
42
|
+
preferTopicAwareDrop: false,
|
|
43
|
+
preferBallastFirst: true,
|
|
44
|
+
});
|
|
45
|
+
case 'elevated':
|
|
46
|
+
case 'high':
|
|
47
|
+
case 'critical':
|
|
48
|
+
default:
|
|
49
|
+
return Object.freeze({
|
|
50
|
+
band,
|
|
51
|
+
steps: TOPIC_AWARE_EVICTION_STEPS,
|
|
52
|
+
preferTopicAwareDrop: true,
|
|
53
|
+
preferBallastFirst: true,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const PRESSURE_BANDS = Object.freeze({
|
|
58
|
+
steadyMax: 0.65,
|
|
59
|
+
elevatedMax: 0.75,
|
|
60
|
+
highMax: 0.85,
|
|
61
|
+
});
|
|
62
|
+
const WARMING_BY_BAND = Object.freeze({
|
|
63
|
+
bootstrap: 0.55,
|
|
64
|
+
warmup: 0.48,
|
|
65
|
+
steady: 0.40,
|
|
66
|
+
elevated: 0.34,
|
|
67
|
+
high: 0.28,
|
|
68
|
+
critical: 0.20,
|
|
69
|
+
});
|
|
70
|
+
const TRIM_TARGET_BY_BAND = Object.freeze({
|
|
71
|
+
bootstrap: 0.72,
|
|
72
|
+
warmup: 0.68,
|
|
73
|
+
steady: 0.65,
|
|
74
|
+
elevated: 0.60,
|
|
75
|
+
high: 0.54,
|
|
76
|
+
critical: 0.48,
|
|
77
|
+
});
|
|
78
|
+
const COMPACTION_TARGET_BY_BAND = Object.freeze({
|
|
79
|
+
bootstrap: 0.70,
|
|
80
|
+
warmup: 0.66,
|
|
81
|
+
steady: 0.62,
|
|
82
|
+
elevated: 0.56,
|
|
83
|
+
high: 0.50,
|
|
84
|
+
critical: 0.42,
|
|
85
|
+
});
|
|
86
|
+
function clampPressure(value) {
|
|
87
|
+
if (!Number.isFinite(value) || value < 0)
|
|
88
|
+
return 0;
|
|
89
|
+
return value;
|
|
90
|
+
}
|
|
91
|
+
function pressureFromInput(input) {
|
|
92
|
+
if (input.pressureFraction != null) {
|
|
93
|
+
return clampPressure(input.pressureFraction);
|
|
94
|
+
}
|
|
95
|
+
const used = Math.max(0, Math.floor(input.usedTokens ?? 0));
|
|
96
|
+
const budget = Math.max(0, Math.floor(input.effectiveBudget ?? 0));
|
|
97
|
+
if (budget <= 0)
|
|
98
|
+
return 0;
|
|
99
|
+
return clampPressure(used / budget);
|
|
100
|
+
}
|
|
101
|
+
function isTopicShift(input) {
|
|
102
|
+
return (input.topicShiftConfidence ?? 0) >= 0.75;
|
|
103
|
+
}
|
|
104
|
+
function classifyBand(input, pressure) {
|
|
105
|
+
const userTurns = Math.max(0, Math.floor(input.userTurnCount ?? 0));
|
|
106
|
+
if (input.explicitNewSession)
|
|
107
|
+
return 'bootstrap';
|
|
108
|
+
if (input.forkedContext) {
|
|
109
|
+
const parentPressure = clampPressure(input.forkedParentPressureFraction ?? pressure);
|
|
110
|
+
const parentTurns = Math.max(0, Math.floor(input.forkedParentUserTurnCount ?? 0));
|
|
111
|
+
// A forked child is not cold: it starts with inherited working context.
|
|
112
|
+
// Keep initial posture conservative and bounded to warmup/steady so a
|
|
113
|
+
// saturated parent does not immediately trigger child compaction before the
|
|
114
|
+
// child has produced its own post-fork turns. Callers should only pass this
|
|
115
|
+
// seed for the initial forked assemble.
|
|
116
|
+
if (parentTurns >= 5 || parentPressure >= 0.35)
|
|
117
|
+
return 'steady';
|
|
118
|
+
return 'warmup';
|
|
119
|
+
}
|
|
120
|
+
if (userTurns === 0)
|
|
121
|
+
return 'bootstrap';
|
|
122
|
+
if (userTurns <= 4 && pressure < PRESSURE_BANDS.elevatedMax)
|
|
123
|
+
return 'warmup';
|
|
124
|
+
if (pressure < PRESSURE_BANDS.steadyMax)
|
|
125
|
+
return 'steady';
|
|
126
|
+
if (pressure < PRESSURE_BANDS.elevatedMax)
|
|
127
|
+
return 'elevated';
|
|
128
|
+
if (pressure < PRESSURE_BANDS.highMax)
|
|
129
|
+
return 'high';
|
|
130
|
+
return 'critical';
|
|
131
|
+
}
|
|
132
|
+
function smartRecallMultiplier(input, band) {
|
|
133
|
+
if (input.explicitNewSession || isTopicShift(input))
|
|
134
|
+
return 1.5;
|
|
135
|
+
if (band === 'bootstrap' || band === 'warmup')
|
|
136
|
+
return 1.25;
|
|
137
|
+
if (band === 'high')
|
|
138
|
+
return 0.85;
|
|
139
|
+
if (band === 'critical')
|
|
140
|
+
return 0.65;
|
|
141
|
+
return 1.0;
|
|
142
|
+
}
|
|
143
|
+
function reasonsFor(input, band, pressure) {
|
|
144
|
+
const reasons = [`band:${band}`, `pressure:${Math.round(pressure * 100)}%`];
|
|
145
|
+
const turns = Math.max(0, Math.floor(input.userTurnCount ?? 0));
|
|
146
|
+
if (input.explicitNewSession)
|
|
147
|
+
reasons.push('explicit-new-session');
|
|
148
|
+
if (input.forkedContext) {
|
|
149
|
+
reasons.push('forked-context');
|
|
150
|
+
if (input.forkedParentPressureFraction != null) {
|
|
151
|
+
reasons.push(`forked-parent-pressure:${Math.round(clampPressure(input.forkedParentPressureFraction) * 100)}%`);
|
|
152
|
+
}
|
|
153
|
+
if (input.forkedParentUserTurnCount != null) {
|
|
154
|
+
reasons.push(`forked-parent-turns:${Math.max(0, Math.floor(input.forkedParentUserTurnCount))}`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (turns === 0)
|
|
158
|
+
reasons.push('cold-start');
|
|
159
|
+
if (turns > 0 && turns <= 4)
|
|
160
|
+
reasons.push(`early-session:${turns}`);
|
|
161
|
+
if (isTopicShift(input))
|
|
162
|
+
reasons.push(`topic-shift:${(input.topicShiftConfidence ?? 0).toFixed(2)}`);
|
|
163
|
+
if (band === 'high' || band === 'critical')
|
|
164
|
+
reasons.push('pressure-gated-recall');
|
|
165
|
+
return reasons;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Resolve the adaptive lifecycle posture for one compose/afterTurn cycle.
|
|
169
|
+
*/
|
|
170
|
+
export function resolveAdaptiveLifecyclePolicy(input = {}) {
|
|
171
|
+
const pressureFraction = pressureFromInput(input);
|
|
172
|
+
const band = classifyBand(input, pressureFraction);
|
|
173
|
+
const pressurePct = Math.round(pressureFraction * 100);
|
|
174
|
+
const triggerProactiveCompaction = band === 'high' || band === 'critical';
|
|
175
|
+
return Object.freeze({
|
|
176
|
+
band,
|
|
177
|
+
pressureFraction,
|
|
178
|
+
pressurePct,
|
|
179
|
+
warmHistoryBudgetFraction: WARMING_BY_BAND[band],
|
|
180
|
+
smartRecallMultiplier: smartRecallMultiplier(input, band),
|
|
181
|
+
trimSoftTarget: TRIM_TARGET_BY_BAND[band],
|
|
182
|
+
compactionTargetFraction: COMPACTION_TARGET_BY_BAND[band],
|
|
183
|
+
emitBreadcrumbPackage: Boolean(input.explicitNewSession || band === 'bootstrap'),
|
|
184
|
+
enableTopicCentroidEviction: band === 'elevated' || triggerProactiveCompaction,
|
|
185
|
+
triggerProactiveCompaction,
|
|
186
|
+
evictionPlan: resolveAdaptiveEvictionPlan(band),
|
|
187
|
+
reasons: reasonsFor(input, band, pressureFraction),
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=adaptive-lifecycle.js.map
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hypermem Background Indexer
|
|
3
|
+
*
|
|
4
|
+
* Processes message history to extract structured knowledge:
|
|
5
|
+
* - Facts: atomic pieces of learned information
|
|
6
|
+
* - Episodes: significant events worth remembering
|
|
7
|
+
* - Topics: conversation threads and their lifecycle
|
|
8
|
+
* - Knowledge: durable structured entries (domain + key)
|
|
9
|
+
*
|
|
10
|
+
* Runs as a periodic background task, processing unindexed messages
|
|
11
|
+
* in batches. Each batch is scored, classified, and stored in L4 (library.db).
|
|
12
|
+
*
|
|
13
|
+
* Design principles:
|
|
14
|
+
* - No LLM dependency: extraction uses pattern matching + heuristics
|
|
15
|
+
* - Idempotent: tracks watermarks per agent to avoid reprocessing
|
|
16
|
+
* - Bounded: processes N messages per tick to avoid blocking
|
|
17
|
+
* - Observable: logs extraction stats for monitoring
|
|
18
|
+
*/
|
|
19
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
20
|
+
import type { IndexerConfig, SessionCursor, MaintenanceTickDiagnostics } from './types.js';
|
|
21
|
+
import { type DreamerConfig } from './dreaming-promoter.js';
|
|
22
|
+
import { type ContradictionResolutionPolicy } from './contradiction-resolution-policy.js';
|
|
23
|
+
import type { VectorStore } from './vector-store.js';
|
|
24
|
+
export interface IndexerStats {
|
|
25
|
+
agentId: string;
|
|
26
|
+
messagesProcessed: number;
|
|
27
|
+
factsExtracted: number;
|
|
28
|
+
episodesRecorded: number;
|
|
29
|
+
topicsUpdated: number;
|
|
30
|
+
knowledgeUpserted: number;
|
|
31
|
+
/** Number of superseded fact vectors tombstoned from the vector index this tick. */
|
|
32
|
+
tombstoned: number;
|
|
33
|
+
/** Number of contradiction audits recorded for review this tick. */
|
|
34
|
+
contradictionAuditsLogged: number;
|
|
35
|
+
/** Number of old facts auto-superseded via contradiction policy this tick. */
|
|
36
|
+
contradictionsAutoSuperseded: number;
|
|
37
|
+
/** Number of old facts auto-invalidated via contradiction policy this tick. */
|
|
38
|
+
contradictionsAutoInvalidated: number;
|
|
39
|
+
elapsedMs: number;
|
|
40
|
+
/** Number of messages that were post-cursor (unseen by model, high-signal priority). */
|
|
41
|
+
postCursorMessages: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Optional callback to fetch the session cursor for an agent+session.
|
|
45
|
+
* When provided, the indexer uses the cursor to prioritize unseen messages.
|
|
46
|
+
* The cursor boundary separates "model has seen this" from "new since last compose".
|
|
47
|
+
*/
|
|
48
|
+
export type CursorFetcher = (agentId: string, sessionKey: string) => Promise<SessionCursor | null>;
|
|
49
|
+
export interface WatermarkState {
|
|
50
|
+
agentId: string;
|
|
51
|
+
lastMessageId: number;
|
|
52
|
+
lastRunAt: string;
|
|
53
|
+
}
|
|
54
|
+
export declare class BackgroundIndexer {
|
|
55
|
+
private getMessageDb?;
|
|
56
|
+
private getLibraryDb?;
|
|
57
|
+
private listAgents?;
|
|
58
|
+
private getCursor?;
|
|
59
|
+
private readonly config;
|
|
60
|
+
private readonly dreamerConfig;
|
|
61
|
+
private readonly globalWritePolicy;
|
|
62
|
+
private readonly contradictionPolicy;
|
|
63
|
+
private intervalHandle;
|
|
64
|
+
private running;
|
|
65
|
+
private vectorStore;
|
|
66
|
+
private synthesizer;
|
|
67
|
+
private tickCount;
|
|
68
|
+
/** Circuit breaker: consecutive tick failure count. Resets on success. */
|
|
69
|
+
private consecutiveFailures;
|
|
70
|
+
/** True when the indexer is running in backoff mode due to repeated failures. */
|
|
71
|
+
private inBackoff;
|
|
72
|
+
private readonly _conversationLastProcessed;
|
|
73
|
+
lastMaintenanceDiagnostics: MaintenanceTickDiagnostics | null;
|
|
74
|
+
constructor(config?: Partial<IndexerConfig>, getMessageDb?: ((agentId: string) => DatabaseSync) | undefined, getLibraryDb?: (() => DatabaseSync) | undefined, listAgents?: (() => string[]) | undefined, getCursor?: CursorFetcher | undefined, dreamerConfig?: Partial<DreamerConfig>, globalWritePolicy?: import('./types.js').GlobalWritePolicy, contradictionPolicy?: ContradictionResolutionPolicy);
|
|
75
|
+
/**
|
|
76
|
+
* Set the vector store for embedding new facts/episodes at index time.
|
|
77
|
+
* Optional — if not set, indexer runs without embedding (FTS5-only mode).
|
|
78
|
+
*/
|
|
79
|
+
setVectorStore(vs: VectorStore): void;
|
|
80
|
+
/**
|
|
81
|
+
* Start periodic indexing.
|
|
82
|
+
*/
|
|
83
|
+
start(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Circuit breaker for tick failures.
|
|
86
|
+
*
|
|
87
|
+
* - Tracks consecutive failures.
|
|
88
|
+
* - After 3 failures, logs actionable recovery guidance once, then switches
|
|
89
|
+
* the indexer to 10× backoff interval so it stops spamming the log.
|
|
90
|
+
* - On the next successful tick, resets state and restores normal interval.
|
|
91
|
+
*/
|
|
92
|
+
private _handleTickError;
|
|
93
|
+
/**
|
|
94
|
+
* Reset the circuit breaker and restore normal interval after a successful tick.
|
|
95
|
+
* Called at the end of a successful tick().
|
|
96
|
+
*/
|
|
97
|
+
private _resetCircuitBreaker;
|
|
98
|
+
/**
|
|
99
|
+
* Stop periodic indexing.
|
|
100
|
+
*/
|
|
101
|
+
stop(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Run one indexing pass across all agents.
|
|
104
|
+
*/
|
|
105
|
+
tick(): Promise<IndexerStats[]>;
|
|
106
|
+
/**
|
|
107
|
+
* Process a single agent's unindexed messages.
|
|
108
|
+
*
|
|
109
|
+
* When a cursor fetcher is available, messages are split into two tiers:
|
|
110
|
+
* - Post-cursor (id > cursor.lastSentId): "unseen" by the model, high-signal priority
|
|
111
|
+
* - Pre-cursor (id <= cursor.lastSentId): already in the model's context window, lower priority
|
|
112
|
+
* Post-cursor messages are processed first. This ensures the indexer prioritizes
|
|
113
|
+
* content the model hasn't seen yet — decisions, incidents, and discoveries that
|
|
114
|
+
* happened between context windows.
|
|
115
|
+
*/
|
|
116
|
+
private processAgent;
|
|
117
|
+
/**
|
|
118
|
+
* Fetch unindexed messages for an agent.
|
|
119
|
+
*/
|
|
120
|
+
private getUnindexedMessages;
|
|
121
|
+
/**
|
|
122
|
+
* Get the session key for a conversation ID.
|
|
123
|
+
*/
|
|
124
|
+
private getSessionKeyForMessage;
|
|
125
|
+
/**
|
|
126
|
+
* Get the indexing watermark for an agent.
|
|
127
|
+
*/
|
|
128
|
+
private getWatermark;
|
|
129
|
+
/**
|
|
130
|
+
* Set the indexing watermark for an agent.
|
|
131
|
+
*/
|
|
132
|
+
private setWatermark;
|
|
133
|
+
/**
|
|
134
|
+
* Apply time-based decay to facts.
|
|
135
|
+
* Increases decay_score for older facts, making them less relevant.
|
|
136
|
+
*/
|
|
137
|
+
private applyDecay;
|
|
138
|
+
/**
|
|
139
|
+
* Parse a duration string like "24h", "7d" into seconds.
|
|
140
|
+
*/
|
|
141
|
+
private parseDuration;
|
|
142
|
+
/**
|
|
143
|
+
* One-time backfill: embed episodes with sig>=0.5 that were missed by the
|
|
144
|
+
* old >=0.7 vectorization threshold.
|
|
145
|
+
*
|
|
146
|
+
* Gated by a system_state flag 'indexer:episode_backfill_v1' so it runs
|
|
147
|
+
* exactly once even across gateway restarts. Safe to re-run manually
|
|
148
|
+
* (delete the flag row first) if re-backfill is ever needed.
|
|
149
|
+
*/
|
|
150
|
+
backfillEpisodeVectors(): Promise<void>;
|
|
151
|
+
/**
|
|
152
|
+
* Get current watermarks for all agents.
|
|
153
|
+
*/
|
|
154
|
+
getWatermarks(libraryDb: DatabaseSync): WatermarkState[];
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Create and start a background indexer connected to hypermem databases.
|
|
158
|
+
* Used by the hook or a standalone daemon.
|
|
159
|
+
*/
|
|
160
|
+
export declare function createIndexer(getMessageDb: (agentId: string) => DatabaseSync, getLibraryDb: () => DatabaseSync, listAgents: () => string[], config?: Partial<IndexerConfig>, getCursor?: CursorFetcher, vectorStore?: VectorStore, dreamerConfig?: Partial<DreamerConfig>, globalWritePolicy?: import('./types.js').GlobalWritePolicy): BackgroundIndexer;
|
|
161
|
+
//# sourceMappingURL=background-indexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-indexer.d.ts","sourceRoot":"","sources":["../src/background-indexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAiB,aAAa,EAAe,aAAa,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAKvH,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQrF,OAAO,EAAgC,KAAK,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAExH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA+CrD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,yBAAyB,EAAE,MAAM,CAAC;IAClC,8EAA8E;IAC9E,4BAA4B,EAAE,MAAM,CAAC;IACrC,+EAA+E;IAC/E,6BAA6B,EAAE,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;AAEnG,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AA+XD,qBAAa,iBAAiB;IAmB1B,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,SAAS,CAAC;IArBpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAC3E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgC;IACpE,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,SAAS,CAAa;IAC9B,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB,CAAa;IACxC,iFAAiF;IACjF,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA6B;IACxE,0BAA0B,EAAE,0BAA0B,GAAG,IAAI,CAAQ;gBAGnE,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EACvB,YAAY,CAAC,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,aAAA,EAChD,YAAY,CAAC,GAAE,MAAM,YAAY,aAAA,EACjC,UAAU,CAAC,GAAE,MAAM,MAAM,EAAE,aAAA,EAC3B,SAAS,CAAC,EAAE,aAAa,YAAA,EACjC,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EACtC,iBAAiB,CAAC,EAAE,OAAO,YAAY,EAAE,iBAAiB,EAC1D,mBAAmB,CAAC,EAAE,6BAA6B;IAmCrD;;;OAGG;IACH,cAAc,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAIrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAkDb;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA4LrC;;;;;;;;;OASG;YACW,YAAY;IA0Q1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;;OAGG;IACH,OAAO,CAAC,UAAU;IA8ClB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;;;;;;OAOG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgF7C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,YAAY,GAAG,cAAc,EAAE;CAezD;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,EAC/C,YAAY,EAAE,MAAM,YAAY,EAChC,UAAU,EAAE,MAAM,MAAM,EAAE,EAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EAC/B,SAAS,CAAC,EAAE,aAAa,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EACtC,iBAAiB,CAAC,EAAE,OAAO,YAAY,EAAE,iBAAiB,GACzD,iBAAiB,CAInB"}
|