kiokuko 1.0.13 → 1.0.15
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/README.ja.md +35 -0
- package/README.ko.md +35 -0
- package/README.md +35 -0
- package/README.zh-CN.md +35 -0
- package/dist/akinator/agent-task.d.ts +10 -0
- package/dist/akinator/agent-task.d.ts.map +1 -1
- package/dist/akinator/agent-task.js +54 -11
- package/dist/akinator/agent-task.js.map +1 -1
- package/dist/assurance/codex-hooks.js +1 -1
- package/dist/assurance/codex-hooks.js.map +1 -1
- package/dist/assurance/contracts.d.ts +8 -1
- package/dist/assurance/contracts.d.ts.map +1 -1
- package/dist/assurance/contracts.js +2 -1
- package/dist/assurance/contracts.js.map +1 -1
- package/dist/assurance/refresh.d.ts.map +1 -1
- package/dist/assurance/refresh.js +25 -3
- package/dist/assurance/refresh.js.map +1 -1
- package/dist/assurance/service.d.ts +1 -1
- package/dist/chatgpt/memory-policy.d.ts +14 -0
- package/dist/chatgpt/memory-policy.d.ts.map +1 -0
- package/dist/chatgpt/memory-policy.js +23 -0
- package/dist/chatgpt/memory-policy.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +79 -9
- package/dist/cli.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +3 -0
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +3 -0
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/memory-index.d.ts +6 -0
- package/dist/commands/memory-index.d.ts.map +1 -0
- package/dist/commands/memory-index.js +30 -0
- package/dist/commands/memory-index.js.map +1 -0
- package/dist/commands/reranker.d.ts +9 -0
- package/dist/commands/reranker.d.ts.map +1 -0
- package/dist/commands/reranker.js +52 -0
- package/dist/commands/reranker.js.map +1 -0
- package/dist/config/paths.d.ts +2 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +10 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/context/broker.d.ts +14 -0
- package/dist/context/broker.d.ts.map +1 -1
- package/dist/context/broker.js +162 -15
- package/dist/context/broker.js.map +1 -1
- package/dist/context/ranking.d.ts +6 -2
- package/dist/context/ranking.d.ts.map +1 -1
- package/dist/context/ranking.js +23 -1
- package/dist/context/ranking.js.map +1 -1
- package/dist/context/scoped-broker.d.ts +20 -0
- package/dist/context/scoped-broker.d.ts.map +1 -1
- package/dist/context/scoped-broker.js +173 -10
- package/dist/context/scoped-broker.js.map +1 -1
- package/dist/context/selection-state.d.ts.map +1 -1
- package/dist/context/selection-state.js +2 -0
- package/dist/context/selection-state.js.map +1 -1
- package/dist/db/connection.js +1 -1
- package/dist/db/connection.js.map +1 -1
- package/dist/embedding/javascript-backend.d.ts.map +1 -1
- package/dist/embedding/javascript-backend.js +7 -1
- package/dist/embedding/javascript-backend.js.map +1 -1
- package/dist/embedding/model-download.d.ts +2 -2
- package/dist/embedding/model-download.d.ts.map +1 -1
- package/dist/embedding/model-download.js +23 -11
- package/dist/embedding/model-download.js.map +1 -1
- package/dist/embedding/model-installation.d.ts +3 -1
- package/dist/embedding/model-installation.d.ts.map +1 -1
- package/dist/embedding/model-installation.js +16 -9
- package/dist/embedding/model-installation.js.map +1 -1
- package/dist/embedding/model-manifest.d.ts +7 -7
- package/dist/embedding/model-manifest.d.ts.map +1 -1
- package/dist/embedding/model-manifest.js +28 -17
- package/dist/embedding/model-manifest.js.map +1 -1
- package/dist/embedding/presets/manifest.d.ts +20 -7
- package/dist/embedding/presets/manifest.d.ts.map +1 -1
- package/dist/embedding/presets/manifest.js.map +1 -1
- package/dist/embedding/sqlite-vec-backend.d.ts.map +1 -1
- package/dist/embedding/sqlite-vec-backend.js +7 -1
- package/dist/embedding/sqlite-vec-backend.js.map +1 -1
- package/dist/embedding/store.d.ts.map +1 -1
- package/dist/embedding/store.js +2 -0
- package/dist/embedding/store.js.map +1 -1
- package/dist/embedding/types.d.ts +2 -0
- package/dist/embedding/types.d.ts.map +1 -1
- package/dist/ledger/checkpoint-contract.d.ts +6 -6
- package/dist/mcp/chatgpt-contract.d.ts +156 -0
- package/dist/mcp/chatgpt-contract.d.ts.map +1 -0
- package/dist/mcp/chatgpt-contract.js +76 -0
- package/dist/mcp/chatgpt-contract.js.map +1 -0
- package/dist/mcp/chatgpt-runtime.d.ts +14 -0
- package/dist/mcp/chatgpt-runtime.d.ts.map +1 -0
- package/dist/mcp/chatgpt-runtime.js +106 -0
- package/dist/mcp/chatgpt-runtime.js.map +1 -0
- package/dist/mcp/chatgpt-server.d.ts +6 -0
- package/dist/mcp/chatgpt-server.d.ts.map +1 -0
- package/dist/mcp/chatgpt-server.js +81 -0
- package/dist/mcp/chatgpt-server.js.map +1 -0
- package/dist/mcp/request-deadline.d.ts +1 -1
- package/dist/mcp/request-deadline.d.ts.map +1 -1
- package/dist/mcp/request-deadline.js +3 -0
- package/dist/mcp/request-deadline.js.map +1 -1
- package/dist/mcp/runtime-owner.d.ts.map +1 -1
- package/dist/mcp/runtime-owner.js +7 -0
- package/dist/mcp/runtime-owner.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +35 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/stdio-runner.d.ts +6 -0
- package/dist/mcp/stdio-runner.d.ts.map +1 -0
- package/dist/mcp/stdio-runner.js +41 -0
- package/dist/mcp/stdio-runner.js.map +1 -0
- package/dist/memory/checkpoint-contract.d.ts +9 -9
- package/dist/memory/curator.d.ts.map +1 -1
- package/dist/memory/curator.js +2 -0
- package/dist/memory/curator.js.map +1 -1
- package/dist/memory/entries.d.ts.map +1 -1
- package/dist/memory/entries.js +2 -0
- package/dist/memory/entries.js.map +1 -1
- package/dist/memory/federated-retrieval.d.ts +16 -2
- package/dist/memory/federated-retrieval.d.ts.map +1 -1
- package/dist/memory/federated-retrieval.js +229 -45
- package/dist/memory/federated-retrieval.js.map +1 -1
- package/dist/memory/global-conversation-query.d.ts +35 -0
- package/dist/memory/global-conversation-query.d.ts.map +1 -0
- package/dist/memory/global-conversation-query.js +60 -0
- package/dist/memory/global-conversation-query.js.map +1 -0
- package/dist/memory/hybrid-retrieval.d.ts +18 -2
- package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
- package/dist/memory/hybrid-retrieval.js +180 -9
- package/dist/memory/hybrid-retrieval.js.map +1 -1
- package/dist/memory/index-service.d.ts +103 -0
- package/dist/memory/index-service.d.ts.map +1 -0
- package/dist/memory/index-service.js +196 -0
- package/dist/memory/index-service.js.map +1 -0
- package/dist/memory/index-state.d.ts +56 -0
- package/dist/memory/index-state.d.ts.map +1 -0
- package/dist/memory/index-state.js +100 -0
- package/dist/memory/index-state.js.map +1 -0
- package/dist/memory/interaction-capture.d.ts.map +1 -1
- package/dist/memory/interaction-capture.js +6 -3
- package/dist/memory/interaction-capture.js.map +1 -1
- package/dist/memory/interaction-contract.d.ts +30 -0
- package/dist/memory/interaction-contract.d.ts.map +1 -1
- package/dist/memory/interaction-contract.js +38 -0
- package/dist/memory/interaction-contract.js.map +1 -1
- package/dist/memory/interaction-recall.d.ts +14 -1
- package/dist/memory/interaction-recall.d.ts.map +1 -1
- package/dist/memory/interaction-recall.js +48 -42
- package/dist/memory/interaction-recall.js.map +1 -1
- package/dist/memory/lesson-derivation.d.ts +79 -0
- package/dist/memory/lesson-derivation.d.ts.map +1 -0
- package/dist/memory/lesson-derivation.js +302 -0
- package/dist/memory/lesson-derivation.js.map +1 -0
- package/dist/memory/lesson-reinforcement.d.ts.map +1 -1
- package/dist/memory/lesson-reinforcement.js +7 -4
- package/dist/memory/lesson-reinforcement.js.map +1 -1
- package/dist/memory/lifecycle.d.ts.map +1 -1
- package/dist/memory/lifecycle.js +4 -0
- package/dist/memory/lifecycle.js.map +1 -1
- package/dist/memory/retrieval.d.ts +14 -0
- package/dist/memory/retrieval.d.ts.map +1 -1
- package/dist/memory/retrieval.js +107 -13
- package/dist/memory/retrieval.js.map +1 -1
- package/dist/memory/scoped-memory.d.ts +5 -0
- package/dist/memory/scoped-memory.d.ts.map +1 -1
- package/dist/memory/scoped-memory.js +3 -0
- package/dist/memory/scoped-memory.js.map +1 -1
- package/dist/memory/search-extension-config.d.ts +5 -0
- package/dist/memory/search-extension-config.d.ts.map +1 -0
- package/dist/memory/search-extension-config.js +20 -0
- package/dist/memory/search-extension-config.js.map +1 -0
- package/dist/memory/temporal.d.ts +18 -0
- package/dist/memory/temporal.d.ts.map +1 -0
- package/dist/memory/temporal.js +128 -0
- package/dist/memory/temporal.js.map +1 -0
- package/dist/reranker/config.d.ts +15 -0
- package/dist/reranker/config.d.ts.map +1 -0
- package/dist/reranker/config.js +48 -0
- package/dist/reranker/config.js.map +1 -0
- package/dist/reranker/preset.d.ts +12 -0
- package/dist/reranker/preset.d.ts.map +1 -0
- package/dist/reranker/preset.js +102 -0
- package/dist/reranker/preset.js.map +1 -0
- package/dist/reranker/runtime.d.ts +40 -0
- package/dist/reranker/runtime.d.ts.map +1 -0
- package/dist/reranker/runtime.js +324 -0
- package/dist/reranker/runtime.js.map +1 -0
- package/dist/reranker/service.d.ts +36 -0
- package/dist/reranker/service.d.ts.map +1 -0
- package/dist/reranker/service.js +163 -0
- package/dist/reranker/service.js.map +1 -0
- package/dist/reranker/setup.d.ts +30 -0
- package/dist/reranker/setup.d.ts.map +1 -0
- package/dist/reranker/setup.js +50 -0
- package/dist/reranker/setup.js.map +1 -0
- package/dist/reranker/worker.d.ts +2 -0
- package/dist/reranker/worker.d.ts.map +1 -0
- package/dist/reranker/worker.js +115 -0
- package/dist/reranker/worker.js.map +1 -0
- package/dist/serialization/validate.d.ts.map +1 -1
- package/dist/serialization/validate.js +29 -1
- package/dist/serialization/validate.js.map +1 -1
- package/dist/server/routes/task-assurance.d.ts.map +1 -1
- package/dist/server/routes/task-assurance.js +11 -2
- package/dist/server/routes/task-assurance.js.map +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +47 -11
- package/dist/web/server.js.map +1 -1
- package/docs/README.ja.md +3 -0
- package/docs/README.md +3 -0
- package/docs/chatgpt-validation.md +40 -0
- package/docs/chatgpt.ja.md +41 -0
- package/docs/chatgpt.md +41 -0
- package/docs/cli-contract.md +11 -0
- package/docs/client-compatibility.md +9 -0
- package/docs/memory-assurance.md +5 -0
- package/docs/memory-index-evaluation-2026-09-30.md +50 -0
- package/docs/memory-index.md +138 -0
- package/migrations/007_revision_bound_lesson_sources.sql +33 -0
- package/migrations/008_memory_index.sql +39 -0
- package/package.json +3 -2
- package/skills/kiokuko-soul/SKILL.md +13 -0
- package/templates/chatgpt/memory-policy.json +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAA6B,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAoC,MAAM,8BAA8B,CAAC;AACtI,OAAO,EAAE,SAAS,EAAoB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAA2B,MAAM,eAAe,CAAC;AAChH,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAoDpE,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,YAAY,GAAkC;IAClD,cAAc,EAAE,CAAC;IACjB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,CAAC;IACN,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;CACb,CAAC;AACF,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAMnC,uFAAuF;AACvF,MAAM,UAAU,kBAAkB,CAAC,QAAwB,EAAE,KAAkB,EAAE,eAAe,GAAG,KAAK;IACtG,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC;IAC1J,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,sBAAsB,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnH,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;GAKpC,CAAC,CAAC,GAAG,CAAqB,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,8DAA8D,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;QACzF,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2DAA2D,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC;IAClC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,0CAA0C,CAAC,CAAC;IAChH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2DAA2D,CAAC,CAAC;IAC9H,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;AACvE,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,8BAA8B,CAAC,QAAwB,EAAE,SAAiB;IACxF,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoC9B,CAAC,CAAC,GAAG,CAAqB,SAAS,CAAC,EAAE,KAAK,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO;IACd,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;AACxG,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAyB,EAAE,QAA2B;IACnF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC3E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzE,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAuB,EAAC,SAAgB,EAAC,OAAc;IACjF,IAAI,CAAC;QAAA,OAAO,SAAS,CAAC,QAAQ,EAAC,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,CAAC;IAAA,CAAC;IACrD,OAAM,KAAK,EAAE,CAAC;QACZ,MAAM,OAAO,GAAC,QAAQ,CAAC,OAAO,CAAC,wEAAwE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtH,IAAG,OAAO,IAAI,KAAK,YAAY,YAAY,IAAI,CAAC,iBAAiB,EAAC,kBAAkB,EAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACzI,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAwB,EAAE,KAAwB,EAAE,GAAc,EAAE,KAAa;IAC9G,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAC,KAAK,CAAC,SAAS,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClE,IAAG,CAAC,KAAK;QAAC,OAAO,KAAK,CAAC;IACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB,EAAE,UAAkC;IAC7E,MAAM,OAAO,GAAG,CAAC,iBAAiB,EAAE,8SAA8S,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1X,IAAG,KAAK,CAAC,kBAAkB;QAAE,OAAO,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;IAChK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC;4DAC2C,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrG,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,kFAAkF;IAClF,mFAAmF;IACnF,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,qFAAqF;AACrF,SAAS,iBAAiB;IACxB,OAAO;;;;sBAIa,CAAC;AACvB,CAAC;AAED,SAAS,OAAO;IACd,OAAO;;mDAE0C,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,QAAwB,EAAE,KAAwB,EAAE,MAA4B;IACvG,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/E,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;SAC/D,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,UAAU,GAA2B,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC7C,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC,OAAO,CAAC;;;;;uDAK6B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO;;eAExF,iBAAiB,EAAE,iBAAiB,OAAO,EAAE;;GAEzD,CAAC,CAAC,GAAG,CAAY,GAAG,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,OAAO,CAAC,QAAwB,EAAE,KAAwB,EAAE,MAA4B;IAC/F,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;YACzB,GAAG,MAAM,CAAC,YAAY;YACtB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SACrD,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC,OAAO,CAAC;;;;;6BAKG,aAAa,SAAS,OAAO;;eAE3C,iBAAiB,EAAE,iBAAiB,OAAO,EAAE;;GAEzD,CAAC,CAAC,GAAG,CAAY,GAAG,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAAC,QAAwB,EAAE,KAAwB,EAAE,MAA4B;IACnG,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;SACzE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,UAAuB,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,UAAU,GAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrC,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;wCAII,OAAO;mBAC5B,iBAAiB,EAAE,gBAAgB,OAAO,EAAE;;OAExD,CAAC,CAAC,GAAG,CAAY,GAAG,UAAU,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1C,MAAM,UAAU,GAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAChF,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrC,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;;gBAOpB,OAAO;mBACJ,iBAAiB,EAAE,KAAK,OAAO,EAAE;;OAE7C,CAAC,CAAC,GAAG,CAAY,GAAG,UAAU,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,QAAwB,EAAE,KAAwB,EAAE,MAA4B;IACnG,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnG,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;0CAIK,OAAO;iBAChC,iBAAiB,EAAE,gBAAgB,OAAO,EAAE;;KAExD,CAAC,CAAC,GAAG,CAAY,GAAG,UAAU,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,yDAAyD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,SAAS;oBAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,QAAQ,CAAC,QAAwB,EAAE,KAAwB,EAAE,MAA4B;IAChG,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;YACzB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;YACpD,GAAG,MAAM,CAAC,cAAc;SACzB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1C,MAAM,UAAU,GAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;cAKpB,OAAO;iBACJ,iBAAiB,EAAE,KAAK,OAAO,EAAE;KAC7C,CAAC,CAAC,GAAG,CAAY,GAAG,UAAU,CAAC,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,QAAwB,EAAE,KAAwB,EAAE,OAA4B;IACpG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;WAClE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI;WAC1F,CAAC,CAAC,KAAK,CAAC,MAAM,YAAY,YAAY,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU;WACnF,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC;WAClG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;WACnE,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,WAAW,GAAG;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAC,kBAAkB,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,EAAE,mBAAmB;QAC1B,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;KACtE,CAAC;IACF,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QAAA,IAAI,GAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAC,WAAW,CAAC,CAAC;IAAA,CAAC;IAChD,OAAM,KAAK,EAAE,CAAC;QACZ,IAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,EAAC,KAAK,CAAC,SAAS,CAAC,KAAG,QAAQ,CAAC,IAAI,KAAK,YAAY,YAAY,IAAI,CAAC,iBAAiB,EAAC,qBAAqB,EAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,GAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAC,EAAC,GAAG,WAAW,EAAC,kBAAkB,EAAC,IAAI,EAAC,CAAC,CAAC;;YAC/R,MAAM,KAAK,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QAC9D,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;eACtC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;eAC3D,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,gDAAgD,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,eAAe;YAAE,SAAS;QACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,GAAG,QAAQ;YAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;SAC5B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACvF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CACf,QAAwB,EACxB,KAAwB,EACxB,MAA4B,EAC5B,OAA4B,EAC5B,cAAuB;IAEvB,MAAM,IAAI,GAAwC,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/G,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CACP,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAClD,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EACjD,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAC3C,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAC1C,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,IAAI,CAAC;AACd,CAAC;AAMD,+FAA+F;AAC/F,SAAS,WAAW,CAAC,QAAwB,EAAE,SAAiB,EAAE,OAA0B,EAAE,KAAa;IACzG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;gCACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;8DASL,QAAQ;;;;GAInE,CAAC,CAAC,GAAG,CAAkB,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;QACjF,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,0FAA0F;IAC1F,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gCACH,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;kCAcjC,QAAQ;;;GAGvC,CAAC,CAAC,GAAG,CAAkB,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;IAClE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,qCAAqC,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC,CAAC;IAC5H,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAwB,EACxB,KAAwB,EACxB,UAA+B,EAAE;IAEjC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1F,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK;QAAE,OAAO,EAAE,CAAC;IAC5F,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACpF,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACpG,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACtN,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC;IAC/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,qBAAqB,CAAC;IACzE,MAAM,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,IAAI,0BAA0B,CAAC;IACxF,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,QAAQ,CAAC;WAC/E,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,IAAI,gBAAgB,GAAG,iBAAiB;WACvG,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,qBAAqB,GAAG,CAAC,IAAI,qBAAqB,GAAG,sBAAsB;QAAE,OAAO,EAAE,CAAC;IAC5I,MAAM,eAAe,GAAsB;QACzC,GAAG,KAAK;QACR,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,WAAW;QACX,gBAAgB;QAChB,qBAAqB;KACtB,CAAC;IACF,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,cAAc,GAAG,CAAC,mEAAmE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;WAC9G,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjB,IAAI,IAAI,CAAC,CAAC;YACV,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAC1H,QAAQ,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YAC3D,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5E,IAAI,IAAI,KAAK,cAAc;gBAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzE,IAAI,IAAI,KAAK,UAAU;gBAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACzC,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI;oBAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,IAAI,KAAK,MAAM;gBAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrE,IAAI,IAAI,KAAK,KAAK;gBAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,IAAI,KAAK,UAAU;gBAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACnF,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,IAAI,IAAI,qBAAqB;gBAAE,MAAM;QAClD,CAAC;IACH,CAAC;IACD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;aAC/B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aACjH,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC;aAC1B,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAC,KAAK,CAAC,SAAS,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC7E,IAAG,CAAC,KAAK;gBAAC,OAAO,KAAK,CAAC;YACvB,OAAO,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,UAAU;mBAC9F,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACrF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1H,CAAC;aAAM,CAAC;YACR,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;gBAC1H,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;gBACvB,QAAQ,CAAC,UAAU,IAAI,YAAY,CAAC,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC7D,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/B,CAAC;QACD,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,GAAG,SAAS;QACZ,cAAc,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE;QAC7D,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;KAChD,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACrH,4EAA4E;IAC5E,gDAAgD;IAChD,MAAM,YAAY,GAAC,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,kBAAkB,GAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAC,KAAK,CAAC,SAAS,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzE,IAAG,CAAC,KAAK;YAAC,OAAO,KAAK,CAAC;QAC3B,IAAI,KAAK,CAAC,kBAAkB,IAAI,eAAe,CAAC,KAAK,CAAC;YAAC,OAAO,KAAK,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC3D,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,EAAE,CAAC;gBACzC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC;gBAC7B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO,KAAK,CAAC;QAC5E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9E,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7E,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/H,IAAI,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,KAAK,YAAY;YAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9G,IAAG,eAAe,CAAC,KAAK,CAAC;YAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;WACxH,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjG,IAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,EAAC,KAAK,CAAC,SAAS,CAAC,KAAG,QAAQ,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAA,EAAE,CAAA,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACzK,MAAM,SAAS,GAAC,YAAY,CAAC,QAAQ,EAAC,EAAC,GAAG,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,EAAC,OAAO,CAAC,CAAC;QAClF,MAAM,SAAS,GAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAA,EAAE,CAAA,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,OAAO,CAAC,GAAG,SAAS,EAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAC,KAAK,EAAC,EAAE,CAAA,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvP,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import type { SqliteDatabase } from '../db/adapter.js';
|
|
3
|
+
import { type IndexSource } from './index-state.js';
|
|
4
|
+
export declare const indexSubmitSchema: z.ZodObject<{
|
|
5
|
+
units: z.ZodArray<z.ZodObject<{
|
|
6
|
+
type: z.ZodEnum<{
|
|
7
|
+
atomic: "atomic";
|
|
8
|
+
bridge: "bridge";
|
|
9
|
+
}>;
|
|
10
|
+
title: z.ZodString;
|
|
11
|
+
text: z.ZodString;
|
|
12
|
+
sourceIds: z.ZodArray<z.ZodString>;
|
|
13
|
+
entities: z.ZodArray<z.ZodObject<{
|
|
14
|
+
kind: z.ZodEnum<{
|
|
15
|
+
symbol: "symbol";
|
|
16
|
+
path: "path";
|
|
17
|
+
package: "package";
|
|
18
|
+
concept: "concept";
|
|
19
|
+
}>;
|
|
20
|
+
namespace: z.ZodString;
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
}, z.core.$strict>>;
|
|
23
|
+
quotes: z.ZodArray<z.ZodObject<{
|
|
24
|
+
entryId: z.ZodString;
|
|
25
|
+
start: z.ZodNumber;
|
|
26
|
+
end: z.ZodNumber;
|
|
27
|
+
text: z.ZodString;
|
|
28
|
+
}, z.core.$strict>>;
|
|
29
|
+
connection: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.core.$strict>>;
|
|
31
|
+
cwd: z.ZodString;
|
|
32
|
+
runId: z.ZodString;
|
|
33
|
+
deliveryId: z.ZodString;
|
|
34
|
+
workId: z.ZodString;
|
|
35
|
+
operationId: z.ZodString;
|
|
36
|
+
expectedRevision: z.ZodNumber;
|
|
37
|
+
}, z.core.$strict>;
|
|
38
|
+
export declare const indexReviewSchema: z.ZodObject<{
|
|
39
|
+
entryId: z.ZodString;
|
|
40
|
+
entryRevision: z.ZodNumber;
|
|
41
|
+
verdict: z.ZodEnum<{
|
|
42
|
+
supported: "supported";
|
|
43
|
+
unsupported: "unsupported";
|
|
44
|
+
uncertain: "uncertain";
|
|
45
|
+
}>;
|
|
46
|
+
basis: z.ZodString;
|
|
47
|
+
cwd: z.ZodString;
|
|
48
|
+
runId: z.ZodString;
|
|
49
|
+
deliveryId: z.ZodString;
|
|
50
|
+
workId: z.ZodString;
|
|
51
|
+
operationId: z.ZodString;
|
|
52
|
+
expectedRevision: z.ZodNumber;
|
|
53
|
+
}, z.core.$strict>;
|
|
54
|
+
export declare function assertIndexingRunReady(db: SqliteDatabase, runId: string): void;
|
|
55
|
+
export declare function indexingSources(db: SqliteDatabase, workspace: string, stage: 'atomic' | 'bridge', cursor?: string): import("./entries.js").EntryRecord[];
|
|
56
|
+
export declare function createIndexWork(db: SqliteDatabase, input: {
|
|
57
|
+
runId: string;
|
|
58
|
+
deliveryId: string;
|
|
59
|
+
workspace: string;
|
|
60
|
+
stage: 'atomic' | 'bridge';
|
|
61
|
+
sourceIds: string[];
|
|
62
|
+
remainingCharacters?: number;
|
|
63
|
+
}): {
|
|
64
|
+
workId: `${string}-${string}-${string}-${string}-${string}`;
|
|
65
|
+
stage: "atomic" | "bridge";
|
|
66
|
+
sources: {
|
|
67
|
+
workspace: string;
|
|
68
|
+
entryId: string;
|
|
69
|
+
revision: number;
|
|
70
|
+
contentHash: string;
|
|
71
|
+
}[];
|
|
72
|
+
expiresAt: string;
|
|
73
|
+
templateVersion: string;
|
|
74
|
+
atomicFacts: {
|
|
75
|
+
entryId: string;
|
|
76
|
+
text: string;
|
|
77
|
+
entities: unknown;
|
|
78
|
+
sources: IndexSource[];
|
|
79
|
+
untrusted: true;
|
|
80
|
+
}[];
|
|
81
|
+
omittedAtomicFacts: string[];
|
|
82
|
+
atomicSlots: {
|
|
83
|
+
entryId: string;
|
|
84
|
+
remaining: number;
|
|
85
|
+
}[];
|
|
86
|
+
};
|
|
87
|
+
export declare function submitIndex(db: SqliteDatabase, raw: unknown): Record<string, unknown> | {
|
|
88
|
+
artifacts: {
|
|
89
|
+
entryId: string;
|
|
90
|
+
revision: number;
|
|
91
|
+
type: "atomic" | "bridge";
|
|
92
|
+
}[];
|
|
93
|
+
untrusted: boolean;
|
|
94
|
+
provenance: string;
|
|
95
|
+
};
|
|
96
|
+
export declare function reviewIndex(db: SqliteDatabase, raw: unknown): Record<string, unknown> | {
|
|
97
|
+
entryId: string;
|
|
98
|
+
verdict: "supported" | "unsupported" | "uncertain";
|
|
99
|
+
untrusted: boolean;
|
|
100
|
+
provenance: string;
|
|
101
|
+
basis: string;
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=index-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-service.d.ts","sourceRoot":"","sources":["../../src/memory/index-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,EAAgF,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMlI,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAiY,CAAC;AACha,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;kBAAiM,CAAC;AAGhO,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG9E;AACD,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,MAAM,SAAK,wCAS7G;AACD,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;;;;;;;;;;;;iBAUgB,MAAM;cACT,MAAM;kBACF,OAAO;iBACR,WAAW,EAAE;mBACX,IAAI;;;;;;;EA0BtB;AA4GD,wBAAgB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO;;;;;;;;EAkB3D;AACD,wBAAgB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO;;;;;;EA2B3D"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { withImmediateTransaction } from '../db/transaction.js';
|
|
4
|
+
import { KiokukoError } from '../errors.js';
|
|
5
|
+
import { LedgerStore } from '../ledger/store.js';
|
|
6
|
+
import { parseAssurance } from '../assurance/contracts.js';
|
|
7
|
+
import { assertAssuranceCwd } from '../assurance/service.js';
|
|
8
|
+
import { readEntry, recordEntryInTransaction } from './entries.js';
|
|
9
|
+
import { canonicalContentHash, canonicalJson, compareCanonicalStrings } from '../serialization/validate.js';
|
|
10
|
+
import { INDEX_TEMPLATE, indexMode, isIndexArtifact, indexMetadataHash, indexArtifact } from './index-state.js';
|
|
11
|
+
import { findSecretInValue } from './secrets.js';
|
|
12
|
+
const id = z.string().trim().min(1).max(256);
|
|
13
|
+
const entity = z.object({ kind: z.enum(['package', 'symbol', 'path', 'concept']), namespace: z.string().trim().min(1).max(256), name: z.string().trim().min(1).max(256) }).strict();
|
|
14
|
+
const quote = z.object({ entryId: id, start: z.number().int().nonnegative(), end: z.number().int().positive(), text: z.string().min(1).max(4000) }).strict();
|
|
15
|
+
const base = { cwd: z.string().min(1), runId: id, deliveryId: id, workId: id, operationId: id, expectedRevision: z.number().int().positive() };
|
|
16
|
+
export const indexSubmitSchema = z.object({ ...base, units: z.array(z.object({ type: z.enum(['atomic', 'bridge']), title: z.string().trim().min(1).max(200), text: z.string().trim().min(1).max(2000), sourceIds: z.array(id).min(1).max(2), entities: z.array(entity).min(1).max(16), quotes: z.array(quote).min(1).max(16), connection: z.string().trim().min(1).max(1000).optional() }).strict()).min(1).max(40) }).strict();
|
|
17
|
+
export const indexReviewSchema = z.object({ ...base, entryId: id, entryRevision: z.number().int().positive(), verdict: z.enum(['supported', 'unsupported', 'uncertain']), basis: z.string().trim().min(1).max(4000) }).strict();
|
|
18
|
+
function conflict(message) { throw new KiokukoError('CONFLICT', message); }
|
|
19
|
+
function eligible(entry) { return entry.workspace !== 'global' && entry.status !== 'superseded' && entry.kind !== 'preference' && !isIndexArtifact(entry) && !['agent_derived_lesson', 'external_skill', 'source_sync'].includes(String(entry.provenance.type)); }
|
|
20
|
+
export function assertIndexingRunReady(db, runId) {
|
|
21
|
+
if (!db.prepare("SELECT 1 FROM ledger_runs r JOIN run_intakes i ON i.run_id=r.run_id JOIN akinator_sessions s ON s.id=i.session_id WHERE r.run_id=? AND r.status='active' AND i.finalized_at IS NOT NULL AND s.status IN ('ready','exhausted')").get(runId))
|
|
22
|
+
conflict('Index maintenance requires completed intake');
|
|
23
|
+
}
|
|
24
|
+
export function indexingSources(db, workspace, stage, cursor = '') {
|
|
25
|
+
if (indexMode(db, workspace) === 'off')
|
|
26
|
+
conflict('Enable observe before maintaining the index');
|
|
27
|
+
const rows = stage === 'atomic' ? db.prepare('SELECT e.id FROM memory_index_pending p JOIN entries e ON e.id=p.entry_id WHERE e.workspace=? AND e.id>? ORDER BY e.id LIMIT 100').all(workspace, cursor) : db.prepare("SELECT DISTINCT e.id FROM entries e JOIN memory_index_sources s ON s.source_id=e.id JOIN memory_index_artifacts a ON a.entry_id=s.artifact_id WHERE e.workspace=? AND e.id>? AND a.knowledge_type='atomic' AND a.state='supported' ORDER BY e.id LIMIT 100").all(workspace, cursor);
|
|
28
|
+
return rows.map(r => readEntry(db, { workspace, entryId: r.id })).filter(eligible).slice(0, 5);
|
|
29
|
+
}
|
|
30
|
+
export function createIndexWork(db, input) {
|
|
31
|
+
const sources = input.sourceIds.map(entryId => {
|
|
32
|
+
const e = readEntry(db, { workspace: input.workspace, entryId });
|
|
33
|
+
if (!eligible(e))
|
|
34
|
+
conflict('Index source is ineligible');
|
|
35
|
+
return { workspace: e.workspace, entryId: e.id, revision: e.revision, contentHash: e.contentHash };
|
|
36
|
+
});
|
|
37
|
+
const workId = randomUUID(), expiresAt = new Date(Date.now() + 30 * 60 * 1000).toISOString();
|
|
38
|
+
db.prepare('INSERT INTO memory_index_work VALUES(?,?,?,?,?,?,?,?,?)').run(workId, input.runId, input.deliveryId, input.workspace, input.stage, canonicalJson(sources), canonicalContentHash(sources), INDEX_TEMPLATE, expiresAt);
|
|
39
|
+
const atomicFacts = [];
|
|
40
|
+
const omittedAtomicFacts = [];
|
|
41
|
+
let remaining = input.remainingCharacters ?? 0;
|
|
42
|
+
{
|
|
43
|
+
const rows = db.prepare(`SELECT a.entry_id,a.entities_json FROM memory_index_artifacts a JOIN entries e ON e.id=a.entry_id WHERE e.workspace=? AND a.knowledge_type='atomic' AND a.state='supported' AND EXISTS(SELECT 1 FROM memory_index_sources ms WHERE ms.artifact_id=a.entry_id AND ms.source_id IN (${sources.map(() => '?').join(',') || "''"})) ORDER BY a.entry_id LIMIT 40`).all(input.workspace, ...sources.map(s => s.entryId));
|
|
44
|
+
for (const row of rows) {
|
|
45
|
+
const entry = readEntry(db, { workspace: input.workspace, entryId: row.entry_id });
|
|
46
|
+
const artifact = indexArtifact(db, entry);
|
|
47
|
+
if (!artifact)
|
|
48
|
+
continue;
|
|
49
|
+
const fact = { entryId: entry.id, text: entry.body, entities: JSON.parse(row.entities_json), sources: artifact.sources, untrusted: true };
|
|
50
|
+
const cost = Array.from(canonicalJson(fact)).length;
|
|
51
|
+
if (cost > remaining) {
|
|
52
|
+
omittedAtomicFacts.push(entry.id);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
remaining -= cost;
|
|
56
|
+
atomicFacts.push(fact);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const atomicSlots = sources.map(source => ({ entryId: source.entryId, remaining: Math.max(0, 8 - liveAtomicCount(db, source)) }));
|
|
60
|
+
return { workId, stage: input.stage, sources, expiresAt, templateVersion: INDEX_TEMPLATE, atomicFacts, omittedAtomicFacts, atomicSlots };
|
|
61
|
+
}
|
|
62
|
+
function boundWork(db, input) {
|
|
63
|
+
assertIndexingRunReady(db, input.runId);
|
|
64
|
+
const state = assertAssuranceCwd(db, input.runId, input.cwd);
|
|
65
|
+
if (state.revision !== input.expectedRevision || state.delivery_id !== input.deliveryId)
|
|
66
|
+
conflict('Index assurance or delivery changed');
|
|
67
|
+
const run = new LedgerStore(db).readRun(input.runId);
|
|
68
|
+
if (run?.status !== 'active')
|
|
69
|
+
conflict('Index requires an active completed-intake run');
|
|
70
|
+
const work = db.prepare('SELECT * FROM memory_index_work WHERE work_id=?').get(input.workId);
|
|
71
|
+
if (!work || work.run_id !== input.runId || work.delivery_id !== input.deliveryId || work.workspace !== run.workspace || work.template_version !== INDEX_TEMPLATE || work.expires_at <= new Date().toISOString() || indexMode(db, work.workspace) === 'off')
|
|
72
|
+
conflict('Index batch is expired or unbound');
|
|
73
|
+
const sources = JSON.parse(work.batch_json);
|
|
74
|
+
if (canonicalContentHash(sources) !== work.batch_hash)
|
|
75
|
+
conflict('Index batch hash is invalid');
|
|
76
|
+
for (const s of sources) {
|
|
77
|
+
const e = readEntry(db, { workspace: work.workspace, entryId: s.entryId });
|
|
78
|
+
if (!eligible(e) || e.revision !== s.revision || e.contentHash !== s.contentHash)
|
|
79
|
+
conflict('Index source changed');
|
|
80
|
+
const delivered = db.prepare('SELECT 1 AS present FROM context_delivery_entries WHERE delivery_id=? AND entry_id=? AND entry_revision=? AND origin_scope=\'project\'').get(input.deliveryId, s.entryId, s.revision);
|
|
81
|
+
if (!delivered)
|
|
82
|
+
conflict('Index source was not delivered');
|
|
83
|
+
}
|
|
84
|
+
return { work, sources };
|
|
85
|
+
}
|
|
86
|
+
function replay(db, operationId, inputHash) {
|
|
87
|
+
const prior = db.prepare('SELECT input_hash,response_json FROM memory_index_operations WHERE operation_id=?').get(operationId);
|
|
88
|
+
if (prior) {
|
|
89
|
+
if (prior.input_hash !== inputHash)
|
|
90
|
+
conflict('Index operation identity conflicts');
|
|
91
|
+
return JSON.parse(prior.response_json);
|
|
92
|
+
}
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
function receipt(db, operationId, inputHash, response, workId) { db.prepare('INSERT INTO memory_index_operations VALUES(?,?,?,?)').run(operationId, workId, inputHash, canonicalJson(response)); }
|
|
96
|
+
function liveAtomicCount(db, source) {
|
|
97
|
+
return db.prepare("SELECT COUNT(*) AS count FROM memory_index_artifacts a JOIN memory_index_sources ms ON ms.artifact_id=a.entry_id JOIN memory_index_work w ON w.work_id=a.work_id JOIN ledger_runs r ON r.run_id=w.run_id WHERE ms.source_id=? AND ms.source_revision=? AND a.knowledge_type='atomic' AND (a.state='supported' OR (a.state='pending' AND w.expires_at>? AND r.status='active'))").get(source.entryId, source.revision, new Date().toISOString()).count;
|
|
98
|
+
}
|
|
99
|
+
function validateIndexUnit(db, unit, stage, workId, sources) {
|
|
100
|
+
if (unit.type !== stage)
|
|
101
|
+
conflict('Wrong indexing stage');
|
|
102
|
+
const expected = unit.type === 'atomic' ? 1 : 2;
|
|
103
|
+
if (unit.sourceIds.length !== expected || new Set(unit.sourceIds).size !== expected)
|
|
104
|
+
conflict('Wrong source count');
|
|
105
|
+
const refs = unit.sourceIds.map(id => {
|
|
106
|
+
const source = sources.find(s => s.entryId === id);
|
|
107
|
+
if (!source)
|
|
108
|
+
conflict('Source outside index batch');
|
|
109
|
+
return source;
|
|
110
|
+
}).sort((a, b) => compareCanonicalStrings(a.entryId, b.entryId));
|
|
111
|
+
const entries = refs.map(s => readEntry(db, { workspace: s.workspace, entryId: s.entryId }));
|
|
112
|
+
for (const s of refs) {
|
|
113
|
+
if (!unit.quotes.some(q => q.entryId === s.entryId))
|
|
114
|
+
conflict('Missing source quote');
|
|
115
|
+
}
|
|
116
|
+
for (const q of unit.quotes) {
|
|
117
|
+
const e = entries.find(e => e.id === q.entryId);
|
|
118
|
+
if (!e || q.end <= q.start || e.body.slice(q.start, q.end) !== q.text)
|
|
119
|
+
conflict('Quote does not match source UTF-16 span');
|
|
120
|
+
}
|
|
121
|
+
if (unit.type === 'atomic') {
|
|
122
|
+
const existing = liveAtomicCount(db, refs[0]);
|
|
123
|
+
const count = existing + 1;
|
|
124
|
+
if (count > 8)
|
|
125
|
+
conflict('Atomic limit exceeded');
|
|
126
|
+
if (unit.entities.some(e => !unit.quotes.some(q => q.text.includes(e.name))))
|
|
127
|
+
conflict('Entity absent from quote');
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
if (!unit.connection)
|
|
131
|
+
conflict('Bridge requires a complementary connection');
|
|
132
|
+
if (canonicalJson(entries[0].scope.applicability ?? null) !== canonicalJson(entries[1].scope.applicability ?? null))
|
|
133
|
+
conflict('Applicability differs');
|
|
134
|
+
if (db.prepare("SELECT 1 AS present FROM entry_links WHERE relation='contradicts' AND ((from_entry_id=? AND to_entry_id=?) OR (from_entry_id=? AND to_entry_id=?))").get(refs[0].entryId, refs[1].entryId, refs[1].entryId, refs[0].entryId))
|
|
135
|
+
conflict('Contradictory sources');
|
|
136
|
+
const shared = unit.entities.some(entity => refs.every(s => db.prepare("SELECT a.entities_json FROM memory_index_artifacts a JOIN memory_index_sources ms ON ms.artifact_id=a.entry_id WHERE ms.source_id=? AND a.knowledge_type='atomic' AND a.state='supported'").all(s.entryId).some(a => JSON.parse(a.entities_json).some(e => canonicalJson(e) === canonicalJson(entity)))));
|
|
137
|
+
if (!shared)
|
|
138
|
+
conflict('No exact qualified shared entity');
|
|
139
|
+
}
|
|
140
|
+
return { refs, entries };
|
|
141
|
+
}
|
|
142
|
+
function saveIndexUnit(db, unit, workspace, workId, binding) {
|
|
143
|
+
const { refs, entries } = binding;
|
|
144
|
+
const e = recordEntryInTransaction(db, { workspace: workspace, kind: 'fact', status: 'candidate', trustLevel: 'untrusted', confidence: Math.min(.5, ...entries.map(e => e.confidence)), title: unit.title, body: unit.text, scope: { ...entries[0].scope, visibility: "project", retrievalScope: "project-only" }, provenance: { type: 'memory_index', reference: workId + ':' + indexMetadataHash(unit.type, refs, unit.entities, unit.quotes, unit.connection ?? null), sourceSetHash: canonicalContentHash(refs), requirementScopeHash: indexMetadataHash(unit.type, refs, unit.entities, unit.quotes, unit.connection ?? null) }, createdBy: 'kiokuko-memory-index' });
|
|
145
|
+
if (db.prepare('SELECT 1 FROM memory_index_artifacts WHERE entry_id=?').get(e.id))
|
|
146
|
+
conflict('Duplicate index candidate');
|
|
147
|
+
db.prepare('INSERT INTO memory_index_artifacts VALUES(?,?,?,?,?,?,?,?,?)').run(e.id, workId, unit.type, e.contentHash, canonicalJson(refs), canonicalJson(unit.entities), canonicalJson(unit.quotes), unit.connection ?? null, 'pending');
|
|
148
|
+
for (const s of refs)
|
|
149
|
+
db.prepare('INSERT INTO memory_index_sources VALUES(?,?,?)').run(e.id, s.entryId, s.revision);
|
|
150
|
+
return { entryId: e.id, revision: e.revision, type: unit.type };
|
|
151
|
+
}
|
|
152
|
+
export function submitIndex(db, raw) {
|
|
153
|
+
const input = parseAssurance(indexSubmitSchema, raw);
|
|
154
|
+
if (findSecretInValue(input))
|
|
155
|
+
throw new KiokukoError('SECURITY_REJECTION', 'Index content resembles a secret');
|
|
156
|
+
return withImmediateTransaction(db, () => {
|
|
157
|
+
const { work, sources } = boundWork(db, input), hash = canonicalContentHash(input);
|
|
158
|
+
const old = replay(db, input.operationId, hash);
|
|
159
|
+
if (old)
|
|
160
|
+
return old;
|
|
161
|
+
const saved = [];
|
|
162
|
+
for (const unit of input.units) {
|
|
163
|
+
const binding = validateIndexUnit(db, unit, work.stage, input.workId, sources);
|
|
164
|
+
saved.push(saveIndexUnit(db, unit, work.workspace, input.workId, binding));
|
|
165
|
+
}
|
|
166
|
+
const result = { artifacts: saved, untrusted: true, provenance: 'model_reported' };
|
|
167
|
+
receipt(db, input.operationId, hash, result, input.workId);
|
|
168
|
+
return result;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
export function reviewIndex(db, raw) {
|
|
172
|
+
const input = parseAssurance(indexReviewSchema, raw);
|
|
173
|
+
if (findSecretInValue(input))
|
|
174
|
+
throw new KiokukoError('SECURITY_REJECTION', 'Review resembles a secret');
|
|
175
|
+
return withImmediateTransaction(db, () => {
|
|
176
|
+
const { work } = boundWork(db, input), hash = canonicalContentHash(input);
|
|
177
|
+
const old = replay(db, input.operationId, hash);
|
|
178
|
+
if (old)
|
|
179
|
+
return old;
|
|
180
|
+
const e = readEntry(db, { workspace: work.workspace, entryId: input.entryId });
|
|
181
|
+
const a = db.prepare('SELECT * FROM memory_index_artifacts WHERE entry_id=? AND work_id=?').get(e.id, input.workId);
|
|
182
|
+
if (!a || e.revision !== input.entryRevision || a.state !== 'pending')
|
|
183
|
+
conflict('Index artifact changed or already reviewed');
|
|
184
|
+
db.prepare('UPDATE memory_index_artifacts SET state=? WHERE entry_id=?').run('supported', e.id);
|
|
185
|
+
if (!indexArtifact(db, e))
|
|
186
|
+
conflict('Index artifact integrity changed');
|
|
187
|
+
db.prepare('UPDATE memory_index_artifacts SET state=? WHERE entry_id=?').run(input.verdict, e.id);
|
|
188
|
+
if (input.verdict === 'supported')
|
|
189
|
+
for (const s of JSON.parse(a.sources_json))
|
|
190
|
+
db.prepare("DELETE FROM memory_index_pending WHERE entry_id=? AND revision=? AND NOT EXISTS(SELECT 1 FROM memory_index_artifacts a JOIN memory_index_sources ms ON ms.artifact_id=a.entry_id JOIN memory_index_work w ON w.work_id=a.work_id JOIN ledger_runs r ON r.run_id=w.run_id WHERE ms.source_id=? AND ms.source_revision=? AND a.state='pending' AND w.expires_at>? AND r.status='active')").run(s.entryId, s.revision, s.entryId, s.revision, new Date().toISOString());
|
|
191
|
+
const result = { entryId: e.id, verdict: input.verdict, untrusted: true, provenance: 'model_reported', basis: input.basis };
|
|
192
|
+
receipt(db, input.operationId, hash, result, input.workId);
|
|
193
|
+
return result;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=index-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-service.js","sourceRoot":"","sources":["../../src/memory/index-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type HybridSearchRuntime } from './hybrid-retrieval.js';
|
|
2
|
+
import type { SqliteDatabase } from '../db/adapter.js';
|
|
3
|
+
import { type EntryRecord } from './entries.js';
|
|
4
|
+
export declare const INDEX_TEMPLATE = "memory-index-v1";
|
|
5
|
+
export type IndexMode = 'off' | 'observe' | 'active';
|
|
6
|
+
export interface IndexSource {
|
|
7
|
+
workspace: string;
|
|
8
|
+
entryId: string;
|
|
9
|
+
revision: number;
|
|
10
|
+
contentHash: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function indexMode(db: SqliteDatabase, workspace: string): IndexMode;
|
|
13
|
+
export declare function isIndexArtifact(entry: EntryRecord): boolean;
|
|
14
|
+
export declare function assertNotIndexArtifact(entry: EntryRecord): void;
|
|
15
|
+
export declare function indexArtifact(db: SqliteDatabase, entry: EntryRecord): {
|
|
16
|
+
knowledgeType: "atomic" | "bridge";
|
|
17
|
+
sources: {
|
|
18
|
+
workspace: string;
|
|
19
|
+
entryId: string;
|
|
20
|
+
revision: number;
|
|
21
|
+
contentHash: string;
|
|
22
|
+
}[];
|
|
23
|
+
quotes: {
|
|
24
|
+
entryId: string;
|
|
25
|
+
start: number;
|
|
26
|
+
end: number;
|
|
27
|
+
text: string;
|
|
28
|
+
}[];
|
|
29
|
+
connection: string | null;
|
|
30
|
+
} | undefined;
|
|
31
|
+
export declare function indexMetadataHash(type: 'atomic' | 'bridge', sources: IndexSource[], entities: unknown, quotes: unknown, connection?: string | null): string;
|
|
32
|
+
export declare function indexStateHash(db: SqliteDatabase, workspaces: readonly string[]): string;
|
|
33
|
+
/** Shadow diagnostics never alter ordinary ranking, delivery or trust. */
|
|
34
|
+
export declare function observeIndex(db: SqliteDatabase, workspace: string, query: string, runtime?: HybridSearchRuntime): {
|
|
35
|
+
mode: "observe";
|
|
36
|
+
candidates: number;
|
|
37
|
+
generated: {
|
|
38
|
+
entryId: string;
|
|
39
|
+
knowledgeType: "atomic" | "bridge";
|
|
40
|
+
rank: number;
|
|
41
|
+
score: number;
|
|
42
|
+
sources: {
|
|
43
|
+
workspace: string;
|
|
44
|
+
entryId: string;
|
|
45
|
+
revision: number;
|
|
46
|
+
contentHash: string;
|
|
47
|
+
}[];
|
|
48
|
+
}[];
|
|
49
|
+
elapsedMs: number;
|
|
50
|
+
deliveredGeneratedCount: 0;
|
|
51
|
+
} | undefined;
|
|
52
|
+
/** Apply before vector top-k so disabled artifacts cannot displace originals. */
|
|
53
|
+
export declare function indexVectorFilter(evaluation: boolean, originalsOnly?: boolean): string;
|
|
54
|
+
export declare function validIndexVector(db: SqliteDatabase, workspace: string, entryId: string): boolean;
|
|
55
|
+
export declare function formatIndexSourceReferences(artifact: NonNullable<ReturnType<typeof indexArtifact>>): string;
|
|
56
|
+
//# sourceMappingURL=index-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-state.d.ts","sourceRoot":"","sources":["../../src/memory/index-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AACrD,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACvB;AAGD,wBAAgB,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAI1E;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAmG;AAC/J,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAG/D;AACD,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;cA8DnE;AACD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAEjK;AACD,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAExF;AACD,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;;;;;;;;;;;;;;;;;cAWnH;AACD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,UAAQ,GAAG,MAAM,CAIpF;AACD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAShG;AACD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG,MAAM,CAE3G"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { hybridSearch } from './hybrid-retrieval.js';
|
|
2
|
+
import * as z from 'zod/v4';
|
|
3
|
+
import { readEntry } from './entries.js';
|
|
4
|
+
import { canonicalContentHash, compareCanonicalStrings } from '../serialization/validate.js';
|
|
5
|
+
import { KiokukoError } from '../errors.js';
|
|
6
|
+
export const INDEX_TEMPLATE = 'memory-index-v1';
|
|
7
|
+
const sourceReferenceSchema = z.object({ workspace: z.string().min(1), entryId: z.string().min(1), revision: z.number().int().positive(), contentHash: z.string().regex(/^[0-9a-f]{64}$/u) }).strict();
|
|
8
|
+
const sourceBatchSchema = z.array(sourceReferenceSchema).min(1).max(5);
|
|
9
|
+
export function indexMode(db, workspace) {
|
|
10
|
+
return db.prepare('SELECT mode FROM memory_index_settings WHERE workspace=?').get(workspace)?.mode ?? 'off';
|
|
11
|
+
}
|
|
12
|
+
export function isIndexArtifact(entry) { return entry.createdBy === 'kiokuko-memory-index' || entry.provenance.type === 'memory_index'; }
|
|
13
|
+
export function assertNotIndexArtifact(entry) {
|
|
14
|
+
if (isIndexArtifact(entry))
|
|
15
|
+
throw new KiokukoError('CONFLICT', 'Managed index artifacts require the memory-index workflow');
|
|
16
|
+
}
|
|
17
|
+
export function indexArtifact(db, entry) {
|
|
18
|
+
if (entry.kind !== 'fact' || entry.status !== 'candidate' || entry.trustLevel !== 'untrusted' || entry.confidence > .5 || entry.createdBy !== 'kiokuko-memory-index' || entry.provenance.type !== 'memory_index')
|
|
19
|
+
return undefined;
|
|
20
|
+
const row = db.prepare('SELECT * FROM memory_index_artifacts WHERE entry_id=?').get(entry.id);
|
|
21
|
+
if (!row || row.output_hash !== entry.contentHash || row.state !== 'supported')
|
|
22
|
+
return undefined;
|
|
23
|
+
const work = db.prepare('SELECT template_version,workspace,batch_json,batch_hash FROM memory_index_work WHERE work_id=?').get(row.work_id);
|
|
24
|
+
if (work?.template_version !== INDEX_TEMPLATE || work.workspace !== entry.workspace)
|
|
25
|
+
return undefined;
|
|
26
|
+
try {
|
|
27
|
+
const sources = sourceBatchSchema.parse(JSON.parse(row.sources_json));
|
|
28
|
+
const batch = sourceBatchSchema.parse(JSON.parse(work.batch_json));
|
|
29
|
+
if (canonicalContentHash(batch) !== work.batch_hash || !sources.every(source => batch.some(s => canonicalContentHash(s) === canonicalContentHash(source))))
|
|
30
|
+
return undefined;
|
|
31
|
+
const entities = JSON.parse(row.entities_json);
|
|
32
|
+
const quotes = z.array(z.object({ entryId: z.string(), start: z.number().int().nonnegative(), end: z.number().int().positive(), text: z.string().min(1) }).strict()).min(1).max(16).parse(JSON.parse(row.quotes_json));
|
|
33
|
+
if (sources.length !== (row.knowledge_type === 'atomic' ? 1 : 2) || new Set(sources.map(s => s.entryId)).size !== sources.length
|
|
34
|
+
|| entry.provenance.reference !== row.work_id + ':' + indexMetadataHash(row.knowledge_type, sources, entities, quotes, row.connection)
|
|
35
|
+
|| entry.provenance.sourceSetHash !== canonicalContentHash(sources)
|
|
36
|
+
|| entry.provenance.requirementScopeHash !== indexMetadataHash(row.knowledge_type, sources, entities, quotes, row.connection))
|
|
37
|
+
return undefined;
|
|
38
|
+
const mapped = db.prepare('SELECT source_id,source_revision FROM memory_index_sources WHERE artifact_id=? ORDER BY source_id').all(entry.id);
|
|
39
|
+
if (canonicalContentHash(mapped.sort((a, b) => compareCanonicalStrings(a.source_id, b.source_id))) !== canonicalContentHash(sources.map(s => ({ source_id: s.entryId, source_revision: s.revision }))))
|
|
40
|
+
return undefined;
|
|
41
|
+
for (const s of sources) {
|
|
42
|
+
const current = readEntry(db, { workspace: s.workspace, entryId: s.entryId });
|
|
43
|
+
if (s.workspace !== entry.workspace || current.revision !== s.revision || current.contentHash !== s.contentHash || current.status === 'superseded' || isIndexArtifact(current)
|
|
44
|
+
|| !quotes.some(q => q.entryId === s.entryId))
|
|
45
|
+
return undefined;
|
|
46
|
+
for (const q of quotes.filter(q => q.entryId === s.entryId))
|
|
47
|
+
if (q.end <= q.start || current.body.slice(q.start, q.end) !== q.text)
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
if (row.knowledge_type === 'bridge' && db.prepare("SELECT 1 FROM entry_links WHERE relation='contradicts' AND ((from_entry_id=? AND to_entry_id=?) OR (from_entry_id=? AND to_entry_id=?))").get(sources[0].entryId, sources[1].entryId, sources[1].entryId, sources[0].entryId))
|
|
51
|
+
return undefined;
|
|
52
|
+
if (quotes.some(q => !sources.some(s => s.entryId === q.entryId)))
|
|
53
|
+
return undefined;
|
|
54
|
+
return { knowledgeType: row.knowledge_type, sources, quotes, connection: row.connection };
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
if (error instanceof SyntaxError || error instanceof z.ZodError || error instanceof KiokukoError && ['NOT_FOUND', 'INTEGRITY_ERROR', 'VALIDATION_ERROR'].includes(error.code))
|
|
58
|
+
return undefined;
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export function indexMetadataHash(type, sources, entities, quotes, connection = null) {
|
|
63
|
+
return canonicalContentHash({ type, sources, entities, quotes, connection, template: INDEX_TEMPLATE });
|
|
64
|
+
}
|
|
65
|
+
export function indexStateHash(db, workspaces) {
|
|
66
|
+
return canonicalContentHash(workspaces.map(workspace => ({ workspace, mode: indexMode(db, workspace), template: INDEX_TEMPLATE, artifacts: db.prepare('SELECT a.* FROM memory_index_artifacts a JOIN entries e ON e.id=a.entry_id WHERE e.workspace=? ORDER BY a.entry_id').all(workspace) })));
|
|
67
|
+
}
|
|
68
|
+
/** Shadow diagnostics never alter ordinary ranking, delivery or trust. */
|
|
69
|
+
export function observeIndex(db, workspace, query, runtime = {}) {
|
|
70
|
+
if (indexMode(db, workspace) !== 'observe')
|
|
71
|
+
return undefined;
|
|
72
|
+
const started = performance.now();
|
|
73
|
+
const ranked = hybridSearch(db, { workspace, query, limit: 120, indexEvaluation: true }, runtime);
|
|
74
|
+
const generated = ranked.flatMap((hit, index) => {
|
|
75
|
+
const entry = readEntry(db, { workspace, entryId: hit.entryId });
|
|
76
|
+
const artifact = indexArtifact(db, entry);
|
|
77
|
+
return artifact ? [{ entryId: entry.id, knowledgeType: artifact.knowledgeType, rank: index + 1, score: hit.fusedScore, sources: artifact.sources }] : [];
|
|
78
|
+
});
|
|
79
|
+
return { mode: 'observe', candidates: ranked.length, generated, elapsedMs: performance.now() - started, deliveredGeneratedCount: 0 };
|
|
80
|
+
}
|
|
81
|
+
/** Apply before vector top-k so disabled artifacts cannot displace originals. */
|
|
82
|
+
export function indexVectorFilter(evaluation, originalsOnly = false) {
|
|
83
|
+
if (originalsOnly)
|
|
84
|
+
return "e.created_by <> 'kiokuko-memory-index' AND COALESCE(json_extract(r.provenance_json,'$.type'),'') <> 'memory_index'";
|
|
85
|
+
return `((e.created_by <> 'kiokuko-memory-index' AND COALESCE(json_extract(r.provenance_json,'$.type'),'') <> 'memory_index') OR EXISTS(SELECT 1 FROM memory_index_artifacts a JOIN memory_index_settings ims ON ims.workspace=e.workspace WHERE a.entry_id=e.id AND a.state='supported' AND (ims.mode='active' OR ${evaluation ? '1' : '0'})))`;
|
|
86
|
+
}
|
|
87
|
+
export function validIndexVector(db, workspace, entryId) {
|
|
88
|
+
try {
|
|
89
|
+
return indexArtifact(db, readEntry(db, { workspace, entryId })) !== undefined;
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
if (error instanceof KiokukoError && ['NOT_FOUND', 'INTEGRITY_ERROR', 'VALIDATION_ERROR'].includes(error.code))
|
|
93
|
+
return false;
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export function formatIndexSourceReferences(artifact) {
|
|
98
|
+
return `\n\nSources: ${JSON.stringify(artifact.sources)}\nQuotes: ${JSON.stringify(artifact.quotes)}${artifact.connection ? `\nConnection: ${artifact.connection}` : ''}`;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=index-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-state.js","sourceRoot":"","sources":["../../src/memory/index-state.ts"],"names":[],"mappings":"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"}
|