@rbalchii/anchor-engine 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +609 -0
- package/README.md +317 -0
- package/anchor.bat +5 -0
- package/docs/API.md +314 -0
- package/docs/DEPLOYMENT.md +448 -0
- package/docs/INDEX.md +226 -0
- package/docs/STAR_Whitepaper_Executive.md +216 -0
- package/docs/TROUBLESHOOTING.md +535 -0
- package/docs/archive/GIT_BACKUP_VERIFICATION.md +297 -0
- package/docs/archive/adoption-guide.md +264 -0
- package/docs/archive/adoption-preparation.md +179 -0
- package/docs/archive/agent-harness-integration.md +227 -0
- package/docs/archive/api-reference.md +106 -0
- package/docs/archive/api_flows_diagram.md +118 -0
- package/docs/archive/architecture.md +410 -0
- package/docs/archive/architecture_diagram.md +174 -0
- package/docs/archive/broader-adoption-preparation.md +175 -0
- package/docs/archive/browser-paradigm-architecture.md +163 -0
- package/docs/archive/chat-integration.md +124 -0
- package/docs/archive/community-adoption-materials.md +103 -0
- package/docs/archive/community-adoption.md +147 -0
- package/docs/archive/comparison-with-siloed-solutions.md +192 -0
- package/docs/archive/comprehensive-docs.md +156 -0
- package/docs/archive/data_flow_diagram.md +251 -0
- package/docs/archive/enhancement-implementation-summary.md +146 -0
- package/docs/archive/evolution-summary.md +141 -0
- package/docs/archive/ingestion_pipeline_diagram.md +198 -0
- package/docs/archive/native-module-profiling-results.md +135 -0
- package/docs/archive/positioning-document.md +158 -0
- package/docs/archive/positioning.md +175 -0
- package/docs/archive/query-builder-documentation.md +218 -0
- package/docs/archive/quick-reference.md +40 -0
- package/docs/archive/quickstart.md +63 -0
- package/docs/archive/relationship-narrative-discovery.md +141 -0
- package/docs/archive/search-logic-improvement-plan.md +336 -0
- package/docs/archive/search_architecture_diagram.md +212 -0
- package/docs/archive/semantic-architecture-guide.md +97 -0
- package/docs/archive/sequence-diagrams.md +128 -0
- package/docs/archive/system_components_diagram.md +296 -0
- package/docs/archive/test-framework-integration.md +109 -0
- package/docs/archive/testing-framework-documentation.md +397 -0
- package/docs/archive/testing-framework-summary.md +121 -0
- package/docs/archive/testing-framework.md +377 -0
- package/docs/archive/ui-architecture.md +75 -0
- package/docs/arxiv/BIBLIOGRAPHY.bib +145 -0
- package/docs/arxiv/RELATED_WORK.tex +39 -0
- package/docs/arxiv/compile.bat +48 -0
- package/docs/arxiv/joss_response.md +33 -0
- package/docs/arxiv/prepare-submission.bat +46 -0
- package/docs/arxiv/review.md +128 -0
- package/docs/arxiv/star-whitepaper.tex +657 -0
- package/docs/code-patterns.md +289 -0
- package/docs/whitepaper.md +445 -0
- package/engine/dist/agent/runtime.d.ts +41 -0
- package/engine/dist/agent/runtime.d.ts.map +1 -0
- package/engine/dist/agent/runtime.js +73 -0
- package/engine/dist/agent/runtime.js.map +1 -0
- package/engine/dist/commands/audit-tags.d.ts +14 -0
- package/engine/dist/commands/audit-tags.d.ts.map +1 -0
- package/engine/dist/commands/audit-tags.js +180 -0
- package/engine/dist/commands/audit-tags.js.map +1 -0
- package/engine/dist/commands/distill.d.ts +19 -0
- package/engine/dist/commands/distill.d.ts.map +1 -0
- package/engine/dist/commands/distill.js +114 -0
- package/engine/dist/commands/distill.js.map +1 -0
- package/engine/dist/commands/generate-synonyms.d.ts +14 -0
- package/engine/dist/commands/generate-synonyms.d.ts.map +1 -0
- package/engine/dist/commands/generate-synonyms.js +91 -0
- package/engine/dist/commands/generate-synonyms.js.map +1 -0
- package/engine/dist/config/index.d.ts +115 -0
- package/engine/dist/config/index.d.ts.map +1 -0
- package/engine/dist/config/index.js +326 -0
- package/engine/dist/config/index.js.map +1 -0
- package/engine/dist/config/max-recall-config.d.ts +102 -0
- package/engine/dist/config/max-recall-config.d.ts.map +1 -0
- package/engine/dist/config/max-recall-config.js +102 -0
- package/engine/dist/config/max-recall-config.js.map +1 -0
- package/engine/dist/config/paths.d.ts +40 -0
- package/engine/dist/config/paths.d.ts.map +1 -0
- package/engine/dist/config/paths.js +49 -0
- package/engine/dist/config/paths.js.map +1 -0
- package/engine/dist/core/batch.d.ts +19 -0
- package/engine/dist/core/batch.d.ts.map +1 -0
- package/engine/dist/core/batch.js +37 -0
- package/engine/dist/core/batch.js.map +1 -0
- package/engine/dist/core/db.d.ts +58 -0
- package/engine/dist/core/db.d.ts.map +1 -0
- package/engine/dist/core/db.js +563 -0
- package/engine/dist/core/db.js.map +1 -0
- package/engine/dist/core/inference/ChatWorker.d.ts +2 -0
- package/engine/dist/core/inference/ChatWorker.d.ts.map +1 -0
- package/engine/dist/core/inference/ChatWorker.js +28 -0
- package/engine/dist/core/inference/ChatWorker.js.map +1 -0
- package/engine/dist/core/inference/context_manager.d.ts +49 -0
- package/engine/dist/core/inference/context_manager.d.ts.map +1 -0
- package/engine/dist/core/inference/context_manager.js +199 -0
- package/engine/dist/core/inference/context_manager.js.map +1 -0
- package/engine/dist/core/inference/llamaLoaderWorker.d.ts +2 -0
- package/engine/dist/core/inference/llamaLoaderWorker.d.ts.map +1 -0
- package/engine/dist/core/inference/llamaLoaderWorker.js +23 -0
- package/engine/dist/core/inference/llamaLoaderWorker.js.map +1 -0
- package/engine/dist/core/vector.d.ts +40 -0
- package/engine/dist/core/vector.d.ts.map +1 -0
- package/engine/dist/core/vector.js +167 -0
- package/engine/dist/core/vector.js.map +1 -0
- package/engine/dist/index.d.ts +4 -0
- package/engine/dist/index.d.ts.map +1 -0
- package/engine/dist/index.js +400 -0
- package/engine/dist/index.js.map +1 -0
- package/engine/dist/middleware/auth.d.ts +14 -0
- package/engine/dist/middleware/auth.d.ts.map +1 -0
- package/engine/dist/middleware/auth.js +44 -0
- package/engine/dist/middleware/auth.js.map +1 -0
- package/engine/dist/middleware/request-tracing.d.ts +29 -0
- package/engine/dist/middleware/request-tracing.d.ts.map +1 -0
- package/engine/dist/middleware/request-tracing.js +115 -0
- package/engine/dist/middleware/request-tracing.js.map +1 -0
- package/engine/dist/middleware/validate.d.ts +30 -0
- package/engine/dist/middleware/validate.d.ts.map +1 -0
- package/engine/dist/middleware/validate.js +117 -0
- package/engine/dist/middleware/validate.js.map +1 -0
- package/engine/dist/native/index.d.ts +106 -0
- package/engine/dist/native/index.d.ts.map +1 -0
- package/engine/dist/native/index.js +230 -0
- package/engine/dist/native/index.js.map +1 -0
- package/engine/dist/native/types.d.ts +45 -0
- package/engine/dist/native/types.d.ts.map +1 -0
- package/engine/dist/native/types.js +6 -0
- package/engine/dist/native/types.js.map +1 -0
- package/engine/dist/profiling/atomization-profiling.d.ts +8 -0
- package/engine/dist/profiling/atomization-profiling.d.ts.map +1 -0
- package/engine/dist/profiling/atomization-profiling.js +108 -0
- package/engine/dist/profiling/atomization-profiling.js.map +1 -0
- package/engine/dist/profiling/bottleneck-identification.d.ts +8 -0
- package/engine/dist/profiling/bottleneck-identification.d.ts.map +1 -0
- package/engine/dist/profiling/bottleneck-identification.js +249 -0
- package/engine/dist/profiling/bottleneck-identification.js.map +1 -0
- package/engine/dist/profiling/content-sanitization-profiling.d.ts +12 -0
- package/engine/dist/profiling/content-sanitization-profiling.d.ts.map +1 -0
- package/engine/dist/profiling/content-sanitization-profiling.js +266 -0
- package/engine/dist/profiling/content-sanitization-profiling.js.map +1 -0
- package/engine/dist/profiling/simhash-profiling.d.ts +11 -0
- package/engine/dist/profiling/simhash-profiling.d.ts.map +1 -0
- package/engine/dist/profiling/simhash-profiling.js +168 -0
- package/engine/dist/profiling/simhash-profiling.js.map +1 -0
- package/engine/dist/routes/api.d.ts +9 -0
- package/engine/dist/routes/api.d.ts.map +1 -0
- package/engine/dist/routes/api.js +37 -0
- package/engine/dist/routes/api.js.map +1 -0
- package/engine/dist/routes/enhanced-api.d.ts +9 -0
- package/engine/dist/routes/enhanced-api.d.ts.map +1 -0
- package/engine/dist/routes/enhanced-api.js +139 -0
- package/engine/dist/routes/enhanced-api.js.map +1 -0
- package/engine/dist/routes/health.d.ts +8 -0
- package/engine/dist/routes/health.d.ts.map +1 -0
- package/engine/dist/routes/health.js +89 -0
- package/engine/dist/routes/health.js.map +1 -0
- package/engine/dist/routes/monitoring.d.ts +8 -0
- package/engine/dist/routes/monitoring.d.ts.map +1 -0
- package/engine/dist/routes/monitoring.js +509 -0
- package/engine/dist/routes/monitoring.js.map +1 -0
- package/engine/dist/routes/v1/admin.d.ts +3 -0
- package/engine/dist/routes/v1/admin.d.ts.map +1 -0
- package/engine/dist/routes/v1/admin.js +261 -0
- package/engine/dist/routes/v1/admin.js.map +1 -0
- package/engine/dist/routes/v1/atoms.d.ts +3 -0
- package/engine/dist/routes/v1/atoms.d.ts.map +1 -0
- package/engine/dist/routes/v1/atoms.js +172 -0
- package/engine/dist/routes/v1/atoms.js.map +1 -0
- package/engine/dist/routes/v1/backup.d.ts +3 -0
- package/engine/dist/routes/v1/backup.d.ts.map +1 -0
- package/engine/dist/routes/v1/backup.js +100 -0
- package/engine/dist/routes/v1/backup.js.map +1 -0
- package/engine/dist/routes/v1/git.d.ts +3 -0
- package/engine/dist/routes/v1/git.d.ts.map +1 -0
- package/engine/dist/routes/v1/git.js +316 -0
- package/engine/dist/routes/v1/git.js.map +1 -0
- package/engine/dist/routes/v1/ingest.d.ts +3 -0
- package/engine/dist/routes/v1/ingest.d.ts.map +1 -0
- package/engine/dist/routes/v1/ingest.js +66 -0
- package/engine/dist/routes/v1/ingest.js.map +1 -0
- package/engine/dist/routes/v1/memory.d.ts +14 -0
- package/engine/dist/routes/v1/memory.d.ts.map +1 -0
- package/engine/dist/routes/v1/memory.js +87 -0
- package/engine/dist/routes/v1/memory.js.map +1 -0
- package/engine/dist/routes/v1/research.d.ts +3 -0
- package/engine/dist/routes/v1/research.d.ts.map +1 -0
- package/engine/dist/routes/v1/research.js +109 -0
- package/engine/dist/routes/v1/research.js.map +1 -0
- package/engine/dist/routes/v1/search.d.ts +3 -0
- package/engine/dist/routes/v1/search.d.ts.map +1 -0
- package/engine/dist/routes/v1/search.js +180 -0
- package/engine/dist/routes/v1/search.js.map +1 -0
- package/engine/dist/routes/v1/settings.d.ts +8 -0
- package/engine/dist/routes/v1/settings.d.ts.map +1 -0
- package/engine/dist/routes/v1/settings.js +211 -0
- package/engine/dist/routes/v1/settings.js.map +1 -0
- package/engine/dist/routes/v1/system.d.ts +3 -0
- package/engine/dist/routes/v1/system.d.ts.map +1 -0
- package/engine/dist/routes/v1/system.js +326 -0
- package/engine/dist/routes/v1/system.js.map +1 -0
- package/engine/dist/routes/v1/tags.d.ts +3 -0
- package/engine/dist/routes/v1/tags.d.ts.map +1 -0
- package/engine/dist/routes/v1/tags.js +102 -0
- package/engine/dist/routes/v1/tags.js.map +1 -0
- package/engine/dist/server-8080.d.ts +2 -0
- package/engine/dist/server-8080.d.ts.map +1 -0
- package/engine/dist/server-8080.js +74 -0
- package/engine/dist/server-8080.js.map +1 -0
- package/engine/dist/services/backup/backup-restore.d.ts +37 -0
- package/engine/dist/services/backup/backup-restore.d.ts.map +1 -0
- package/engine/dist/services/backup/backup-restore.js +385 -0
- package/engine/dist/services/backup/backup-restore.js.map +1 -0
- package/engine/dist/services/backup/backup.d.ts +14 -0
- package/engine/dist/services/backup/backup.d.ts.map +1 -0
- package/engine/dist/services/backup/backup.js +442 -0
- package/engine/dist/services/backup/backup.js.map +1 -0
- package/engine/dist/services/distillation/radial-distiller-v2.d.ts +127 -0
- package/engine/dist/services/distillation/radial-distiller-v2.d.ts.map +1 -0
- package/engine/dist/services/distillation/radial-distiller-v2.js +503 -0
- package/engine/dist/services/distillation/radial-distiller-v2.js.map +1 -0
- package/engine/dist/services/distillation/radial-distiller.d.ts +63 -0
- package/engine/dist/services/distillation/radial-distiller.d.ts.map +1 -0
- package/engine/dist/services/distillation/radial-distiller.js +394 -0
- package/engine/dist/services/distillation/radial-distiller.js.map +1 -0
- package/engine/dist/services/health-check-enhanced.d.ts +89 -0
- package/engine/dist/services/health-check-enhanced.d.ts.map +1 -0
- package/engine/dist/services/health-check-enhanced.js +417 -0
- package/engine/dist/services/health-check-enhanced.js.map +1 -0
- package/engine/dist/services/idle-manager.d.ts +56 -0
- package/engine/dist/services/idle-manager.d.ts.map +1 -0
- package/engine/dist/services/idle-manager.js +210 -0
- package/engine/dist/services/idle-manager.js.map +1 -0
- package/engine/dist/services/inference/inference-service.d.ts +27 -0
- package/engine/dist/services/inference/inference-service.d.ts.map +1 -0
- package/engine/dist/services/inference/inference-service.js +89 -0
- package/engine/dist/services/inference/inference-service.js.map +1 -0
- package/engine/dist/services/inference/inference.d.ts +59 -0
- package/engine/dist/services/inference/inference.d.ts.map +1 -0
- package/engine/dist/services/inference/inference.js +131 -0
- package/engine/dist/services/inference/inference.js.map +1 -0
- package/engine/dist/services/ingest/atomizer-service.d.ts +74 -0
- package/engine/dist/services/ingest/atomizer-service.d.ts.map +1 -0
- package/engine/dist/services/ingest/atomizer-service.js +982 -0
- package/engine/dist/services/ingest/atomizer-service.js.map +1 -0
- package/engine/dist/services/ingest/content-cleaner.d.ts +43 -0
- package/engine/dist/services/ingest/content-cleaner.d.ts.map +1 -0
- package/engine/dist/services/ingest/content-cleaner.js +166 -0
- package/engine/dist/services/ingest/content-cleaner.js.map +1 -0
- package/engine/dist/services/ingest/github-ingest-service.d.ts +103 -0
- package/engine/dist/services/ingest/github-ingest-service.d.ts.map +1 -0
- package/engine/dist/services/ingest/github-ingest-service.js +537 -0
- package/engine/dist/services/ingest/github-ingest-service.js.map +1 -0
- package/engine/dist/services/ingest/ingest-atomic.d.ts +16 -0
- package/engine/dist/services/ingest/ingest-atomic.d.ts.map +1 -0
- package/engine/dist/services/ingest/ingest-atomic.js +437 -0
- package/engine/dist/services/ingest/ingest-atomic.js.map +1 -0
- package/engine/dist/services/ingest/ingest.d.ts +50 -0
- package/engine/dist/services/ingest/ingest.d.ts.map +1 -0
- package/engine/dist/services/ingest/ingest.js +230 -0
- package/engine/dist/services/ingest/ingest.js.map +1 -0
- package/engine/dist/services/ingest/watchdog.d.ts +31 -0
- package/engine/dist/services/ingest/watchdog.d.ts.map +1 -0
- package/engine/dist/services/ingest/watchdog.js +400 -0
- package/engine/dist/services/ingest/watchdog.js.map +1 -0
- package/engine/dist/services/llm/context.d.ts +6 -0
- package/engine/dist/services/llm/context.d.ts.map +1 -0
- package/engine/dist/services/llm/context.js +80 -0
- package/engine/dist/services/llm/context.js.map +1 -0
- package/engine/dist/services/llm/provider.d.ts +23 -0
- package/engine/dist/services/llm/provider.d.ts.map +1 -0
- package/engine/dist/services/llm/provider.js +338 -0
- package/engine/dist/services/llm/provider.js.map +1 -0
- package/engine/dist/services/llm/reader.d.ts +12 -0
- package/engine/dist/services/llm/reader.d.ts.map +1 -0
- package/engine/dist/services/llm/reader.js +40 -0
- package/engine/dist/services/llm/reader.js.map +1 -0
- package/engine/dist/services/mirror/mirror.d.ts +28 -0
- package/engine/dist/services/mirror/mirror.d.ts.map +1 -0
- package/engine/dist/services/mirror/mirror.js +208 -0
- package/engine/dist/services/mirror/mirror.js.map +1 -0
- package/engine/dist/services/nlp/nlp-service.d.ts +70 -0
- package/engine/dist/services/nlp/nlp-service.d.ts.map +1 -0
- package/engine/dist/services/nlp/nlp-service.js +151 -0
- package/engine/dist/services/nlp/nlp-service.js.map +1 -0
- package/engine/dist/services/nlp/query-parser.d.ts +9 -0
- package/engine/dist/services/nlp/query-parser.d.ts.map +1 -0
- package/engine/dist/services/nlp/query-parser.js +29 -0
- package/engine/dist/services/nlp/query-parser.js.map +1 -0
- package/engine/dist/services/query-builder/DataFrame.d.ts +95 -0
- package/engine/dist/services/query-builder/DataFrame.d.ts.map +1 -0
- package/engine/dist/services/query-builder/DataFrame.js +263 -0
- package/engine/dist/services/query-builder/DataFrame.js.map +1 -0
- package/engine/dist/services/query-builder/QueryBuilder.d.ts +106 -0
- package/engine/dist/services/query-builder/QueryBuilder.d.ts.map +1 -0
- package/engine/dist/services/query-builder/QueryBuilder.js +235 -0
- package/engine/dist/services/query-builder/QueryBuilder.js.map +1 -0
- package/engine/dist/services/query-builder/utils/export.d.ts +11 -0
- package/engine/dist/services/query-builder/utils/export.d.ts.map +1 -0
- package/engine/dist/services/query-builder/utils/export.js +130 -0
- package/engine/dist/services/query-builder/utils/export.js.map +1 -0
- package/engine/dist/services/research/researcher.d.ts +15 -0
- package/engine/dist/services/research/researcher.d.ts.map +1 -0
- package/engine/dist/services/research/researcher.js +123 -0
- package/engine/dist/services/research/researcher.js.map +1 -0
- package/engine/dist/services/scribe/scribe.d.ts +43 -0
- package/engine/dist/services/scribe/scribe.d.ts.map +1 -0
- package/engine/dist/services/scribe/scribe.js +135 -0
- package/engine/dist/services/scribe/scribe.js.map +1 -0
- package/engine/dist/services/search/bright-nodes.d.ts +41 -0
- package/engine/dist/services/search/bright-nodes.d.ts.map +1 -0
- package/engine/dist/services/search/bright-nodes.js +117 -0
- package/engine/dist/services/search/bright-nodes.js.map +1 -0
- package/engine/dist/services/search/context-inflator.d.ts +63 -0
- package/engine/dist/services/search/context-inflator.d.ts.map +1 -0
- package/engine/dist/services/search/context-inflator.js +649 -0
- package/engine/dist/services/search/context-inflator.js.map +1 -0
- package/engine/dist/services/search/context-manager.d.ts +34 -0
- package/engine/dist/services/search/context-manager.d.ts.map +1 -0
- package/engine/dist/services/search/context-manager.js +124 -0
- package/engine/dist/services/search/context-manager.js.map +1 -0
- package/engine/dist/services/search/distributed-query.d.ts +38 -0
- package/engine/dist/services/search/distributed-query.d.ts.map +1 -0
- package/engine/dist/services/search/distributed-query.js +105 -0
- package/engine/dist/services/search/distributed-query.js.map +1 -0
- package/engine/dist/services/search/explore.d.ts +73 -0
- package/engine/dist/services/search/explore.d.ts.map +1 -0
- package/engine/dist/services/search/explore.js +388 -0
- package/engine/dist/services/search/explore.js.map +1 -0
- package/engine/dist/services/search/graph-context-serializer.d.ts +76 -0
- package/engine/dist/services/search/graph-context-serializer.d.ts.map +1 -0
- package/engine/dist/services/search/graph-context-serializer.js +435 -0
- package/engine/dist/services/search/graph-context-serializer.js.map +1 -0
- package/engine/dist/services/search/llm-context-formatter.d.ts +122 -0
- package/engine/dist/services/search/llm-context-formatter.d.ts.map +1 -0
- package/engine/dist/services/search/llm-context-formatter.js +394 -0
- package/engine/dist/services/search/llm-context-formatter.js.map +1 -0
- package/engine/dist/services/search/physics-tag-walker.d.ts +115 -0
- package/engine/dist/services/search/physics-tag-walker.d.ts.map +1 -0
- package/engine/dist/services/search/physics-tag-walker.js +611 -0
- package/engine/dist/services/search/physics-tag-walker.js.map +1 -0
- package/engine/dist/services/search/query-parser.d.ts +66 -0
- package/engine/dist/services/search/query-parser.d.ts.map +1 -0
- package/engine/dist/services/search/query-parser.js +346 -0
- package/engine/dist/services/search/query-parser.js.map +1 -0
- package/engine/dist/services/search/search-utils.d.ts +100 -0
- package/engine/dist/services/search/search-utils.d.ts.map +1 -0
- package/engine/dist/services/search/search-utils.js +473 -0
- package/engine/dist/services/search/search-utils.js.map +1 -0
- package/engine/dist/services/search/search.d.ts +116 -0
- package/engine/dist/services/search/search.d.ts.map +1 -0
- package/engine/dist/services/search/search.js +1286 -0
- package/engine/dist/services/search/search.js.map +1 -0
- package/engine/dist/services/search/sovereign-system-prompt.d.ts +48 -0
- package/engine/dist/services/search/sovereign-system-prompt.d.ts.map +1 -0
- package/engine/dist/services/search/sovereign-system-prompt.js +101 -0
- package/engine/dist/services/search/sovereign-system-prompt.js.map +1 -0
- package/engine/dist/services/search/streaming-search.d.ts +51 -0
- package/engine/dist/services/search/streaming-search.d.ts.map +1 -0
- package/engine/dist/services/search/streaming-search.js +94 -0
- package/engine/dist/services/search/streaming-search.js.map +1 -0
- package/engine/dist/services/semantic/semantic-ingestion-service.d.ts +53 -0
- package/engine/dist/services/semantic/semantic-ingestion-service.d.ts.map +1 -0
- package/engine/dist/services/semantic/semantic-ingestion-service.js +625 -0
- package/engine/dist/services/semantic/semantic-ingestion-service.js.map +1 -0
- package/engine/dist/services/semantic/semantic-molecule-processor.d.ts +68 -0
- package/engine/dist/services/semantic/semantic-molecule-processor.d.ts.map +1 -0
- package/engine/dist/services/semantic/semantic-molecule-processor.js +176 -0
- package/engine/dist/services/semantic/semantic-molecule-processor.js.map +1 -0
- package/engine/dist/services/semantic/semantic-search.d.ts +52 -0
- package/engine/dist/services/semantic/semantic-search.d.ts.map +1 -0
- package/engine/dist/services/semantic/semantic-search.js +649 -0
- package/engine/dist/services/semantic/semantic-search.js.map +1 -0
- package/engine/dist/services/semantic/semantic-tag-deriver.d.ts +64 -0
- package/engine/dist/services/semantic/semantic-tag-deriver.d.ts.map +1 -0
- package/engine/dist/services/semantic/semantic-tag-deriver.js +191 -0
- package/engine/dist/services/semantic/semantic-tag-deriver.js.map +1 -0
- package/engine/dist/services/semantic/types/semantic.d.ts +26 -0
- package/engine/dist/services/semantic/types/semantic.d.ts.map +1 -0
- package/engine/dist/services/semantic/types/semantic.js +7 -0
- package/engine/dist/services/semantic/types/semantic.js.map +1 -0
- package/engine/dist/services/synonyms/auto-synonym-generator.d.ts +79 -0
- package/engine/dist/services/synonyms/auto-synonym-generator.d.ts.map +1 -0
- package/engine/dist/services/synonyms/auto-synonym-generator.js +415 -0
- package/engine/dist/services/synonyms/auto-synonym-generator.js.map +1 -0
- package/engine/dist/services/system-status.d.ts +68 -0
- package/engine/dist/services/system-status.d.ts.map +1 -0
- package/engine/dist/services/system-status.js +107 -0
- package/engine/dist/services/system-status.js.map +1 -0
- package/engine/dist/services/tags/discovery.d.ts +16 -0
- package/engine/dist/services/tags/discovery.d.ts.map +1 -0
- package/engine/dist/services/tags/discovery.js +206 -0
- package/engine/dist/services/tags/discovery.js.map +1 -0
- package/engine/dist/services/tags/gliner.d.ts +18 -0
- package/engine/dist/services/tags/gliner.d.ts.map +1 -0
- package/engine/dist/services/tags/gliner.js +119 -0
- package/engine/dist/services/tags/gliner.js.map +1 -0
- package/engine/dist/services/tags/infector.d.ts +21 -0
- package/engine/dist/services/tags/infector.d.ts.map +1 -0
- package/engine/dist/services/tags/infector.js +168 -0
- package/engine/dist/services/tags/infector.js.map +1 -0
- package/engine/dist/services/tags/tag-auditor.d.ts +77 -0
- package/engine/dist/services/tags/tag-auditor.d.ts.map +1 -0
- package/engine/dist/services/tags/tag-auditor.js +283 -0
- package/engine/dist/services/tags/tag-auditor.js.map +1 -0
- package/engine/dist/services/taxonomy/taxonomy-manager.d.ts +50 -0
- package/engine/dist/services/taxonomy/taxonomy-manager.d.ts.map +1 -0
- package/engine/dist/services/taxonomy/taxonomy-manager.js +291 -0
- package/engine/dist/services/taxonomy/taxonomy-manager.js.map +1 -0
- package/engine/dist/services/vision/vision_service.d.ts +4 -0
- package/engine/dist/services/vision/vision_service.d.ts.map +1 -0
- package/engine/dist/services/vision/vision_service.js +197 -0
- package/engine/dist/services/vision/vision_service.js.map +1 -0
- package/engine/dist/test-framework/core.d.ts +133 -0
- package/engine/dist/test-framework/core.d.ts.map +1 -0
- package/engine/dist/test-framework/core.js +313 -0
- package/engine/dist/test-framework/core.js.map +1 -0
- package/engine/dist/test-framework/dataset-runner.d.ts +78 -0
- package/engine/dist/test-framework/dataset-runner.d.ts.map +1 -0
- package/engine/dist/test-framework/dataset-runner.js +223 -0
- package/engine/dist/test-framework/dataset-runner.js.map +1 -0
- package/engine/dist/test-framework/diagnostic-tests.d.ts +38 -0
- package/engine/dist/test-framework/diagnostic-tests.d.ts.map +1 -0
- package/engine/dist/test-framework/diagnostic-tests.js +283 -0
- package/engine/dist/test-framework/diagnostic-tests.js.map +1 -0
- package/engine/dist/test-framework/performance-regression-tests.d.ts +30 -0
- package/engine/dist/test-framework/performance-regression-tests.d.ts.map +1 -0
- package/engine/dist/test-framework/performance-regression-tests.js +331 -0
- package/engine/dist/test-framework/performance-regression-tests.js.map +1 -0
- package/engine/dist/types/api.d.ts +53 -0
- package/engine/dist/types/api.d.ts.map +1 -0
- package/engine/dist/types/api.js +2 -0
- package/engine/dist/types/api.js.map +1 -0
- package/engine/dist/types/atomic.d.ts +42 -0
- package/engine/dist/types/atomic.d.ts.map +1 -0
- package/engine/dist/types/atomic.js +10 -0
- package/engine/dist/types/atomic.js.map +1 -0
- package/engine/dist/types/context-protocol.d.ts +137 -0
- package/engine/dist/types/context-protocol.d.ts.map +1 -0
- package/engine/dist/types/context-protocol.js +28 -0
- package/engine/dist/types/context-protocol.js.map +1 -0
- package/engine/dist/types/context.d.ts +2 -0
- package/engine/dist/types/context.d.ts.map +1 -0
- package/engine/dist/types/context.js +2 -0
- package/engine/dist/types/context.js.map +1 -0
- package/engine/dist/types/index.d.ts +20 -0
- package/engine/dist/types/index.d.ts.map +1 -0
- package/engine/dist/types/index.js +18 -0
- package/engine/dist/types/index.js.map +1 -0
- package/engine/dist/types/search.d.ts +31 -0
- package/engine/dist/types/search.d.ts.map +1 -0
- package/engine/dist/types/search.js +2 -0
- package/engine/dist/types/search.js.map +1 -0
- package/engine/dist/types/taxonomy.d.ts +137 -0
- package/engine/dist/types/taxonomy.d.ts.map +1 -0
- package/engine/dist/types/taxonomy.js +138 -0
- package/engine/dist/types/taxonomy.js.map +1 -0
- package/engine/dist/types/taxonomy.simple.d.ts +131 -0
- package/engine/dist/types/taxonomy.simple.d.ts.map +1 -0
- package/engine/dist/types/taxonomy.simple.js +132 -0
- package/engine/dist/types/taxonomy.simple.js.map +1 -0
- package/engine/dist/types/tool-call.d.ts +16 -0
- package/engine/dist/types/tool-call.d.ts.map +1 -0
- package/engine/dist/types/tool-call.js +6 -0
- package/engine/dist/types/tool-call.js.map +1 -0
- package/engine/dist/types/trace.d.ts +25 -0
- package/engine/dist/types/trace.d.ts.map +1 -0
- package/engine/dist/types/trace.js +5 -0
- package/engine/dist/types/trace.js.map +1 -0
- package/engine/dist/utils/adaptive-concurrency.d.ts +81 -0
- package/engine/dist/utils/adaptive-concurrency.d.ts.map +1 -0
- package/engine/dist/utils/adaptive-concurrency.js +266 -0
- package/engine/dist/utils/adaptive-concurrency.js.map +1 -0
- package/engine/dist/utils/date_extractor.d.ts +2 -0
- package/engine/dist/utils/date_extractor.d.ts.map +1 -0
- package/engine/dist/utils/date_extractor.js +32 -0
- package/engine/dist/utils/date_extractor.js.map +1 -0
- package/engine/dist/utils/native-module-manager.d.ts +48 -0
- package/engine/dist/utils/native-module-manager.d.ts.map +1 -0
- package/engine/dist/utils/native-module-manager.js +265 -0
- package/engine/dist/utils/native-module-manager.js.map +1 -0
- package/engine/dist/utils/native-module-profiler.d.ts +66 -0
- package/engine/dist/utils/native-module-profiler.d.ts.map +1 -0
- package/engine/dist/utils/native-module-profiler.js +182 -0
- package/engine/dist/utils/native-module-profiler.js.map +1 -0
- package/engine/dist/utils/path-manager.d.ts +59 -0
- package/engine/dist/utils/path-manager.d.ts.map +1 -0
- package/engine/dist/utils/path-manager.js +154 -0
- package/engine/dist/utils/path-manager.js.map +1 -0
- package/engine/dist/utils/performance-monitor.d.ts +92 -0
- package/engine/dist/utils/performance-monitor.d.ts.map +1 -0
- package/engine/dist/utils/performance-monitor.js +221 -0
- package/engine/dist/utils/performance-monitor.js.map +1 -0
- package/engine/dist/utils/process-manager.d.ts +18 -0
- package/engine/dist/utils/process-manager.d.ts.map +1 -0
- package/engine/dist/utils/process-manager.js +100 -0
- package/engine/dist/utils/process-manager.js.map +1 -0
- package/engine/dist/utils/request-tracer.d.ts +131 -0
- package/engine/dist/utils/request-tracer.d.ts.map +1 -0
- package/engine/dist/utils/request-tracer.js +414 -0
- package/engine/dist/utils/request-tracer.js.map +1 -0
- package/engine/dist/utils/resource-manager.d.ts +108 -0
- package/engine/dist/utils/resource-manager.d.ts.map +1 -0
- package/engine/dist/utils/resource-manager.js +235 -0
- package/engine/dist/utils/resource-manager.js.map +1 -0
- package/engine/dist/utils/safe-dns.d.ts +14 -0
- package/engine/dist/utils/safe-dns.d.ts.map +1 -0
- package/engine/dist/utils/safe-dns.js +105 -0
- package/engine/dist/utils/safe-dns.js.map +1 -0
- package/engine/dist/utils/structured-logger.d.ts +124 -0
- package/engine/dist/utils/structured-logger.d.ts.map +1 -0
- package/engine/dist/utils/structured-logger.js +332 -0
- package/engine/dist/utils/structured-logger.js.map +1 -0
- package/engine/dist/utils/tag-cleanup.d.ts +11 -0
- package/engine/dist/utils/tag-cleanup.d.ts.map +1 -0
- package/engine/dist/utils/tag-cleanup.js +111 -0
- package/engine/dist/utils/tag-cleanup.js.map +1 -0
- package/engine/dist/utils/tag-filter.d.ts +19 -0
- package/engine/dist/utils/tag-filter.d.ts.map +1 -0
- package/engine/dist/utils/tag-filter.js +147 -0
- package/engine/dist/utils/tag-filter.js.map +1 -0
- package/engine/dist/utils/tag-modulation.d.ts +80 -0
- package/engine/dist/utils/tag-modulation.d.ts.map +1 -0
- package/engine/dist/utils/tag-modulation.js +284 -0
- package/engine/dist/utils/tag-modulation.js.map +1 -0
- package/engine/dist/utils/timer.d.ts +40 -0
- package/engine/dist/utils/timer.d.ts.map +1 -0
- package/engine/dist/utils/timer.js +76 -0
- package/engine/dist/utils/timer.js.map +1 -0
- package/engine/dist/utils/token-utils.d.ts +19 -0
- package/engine/dist/utils/token-utils.d.ts.map +1 -0
- package/engine/dist/utils/token-utils.js +71 -0
- package/engine/dist/utils/token-utils.js.map +1 -0
- package/engine/dist/utils/wasm-module-loader.d.ts +50 -0
- package/engine/dist/utils/wasm-module-loader.d.ts.map +1 -0
- package/engine/dist/utils/wasm-module-loader.js +136 -0
- package/engine/dist/utils/wasm-module-loader.js.map +1 -0
- package/engine/package.json +105 -0
- package/package.json +106 -0
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database Module for Sovereign Context Engine
|
|
3
|
+
*
|
|
4
|
+
* This module manages the PGlite database connection and provides
|
|
5
|
+
* database operations for the context engine.
|
|
6
|
+
*/
|
|
7
|
+
console.log("[DB] Loading Config...");
|
|
8
|
+
import { config } from "../config/index.js";
|
|
9
|
+
import fs from "fs";
|
|
10
|
+
import { fileURLToPath } from "url";
|
|
11
|
+
import { PGlite } from "@electric-sql/pglite";
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
import { pathManager } from '../utils/path-manager.js';
|
|
14
|
+
export class Database {
|
|
15
|
+
dbInstance = null;
|
|
16
|
+
_isInitialized = false;
|
|
17
|
+
inTransaction = false;
|
|
18
|
+
preparedStatements = new Map();
|
|
19
|
+
constructor() {
|
|
20
|
+
// Database connection is now established in init()
|
|
21
|
+
}
|
|
22
|
+
get isInitialized() {
|
|
23
|
+
return this._isInitialized;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Begin a transaction
|
|
27
|
+
*
|
|
28
|
+
* NOTE: Nested transactions are not supported. If a transaction is already
|
|
29
|
+
* open, this call is a no-op. PGlite does not support SAVEPOINTs via this
|
|
30
|
+
* wrapper. For nested transactional logic, use raw SQL SAVEPOINTs:
|
|
31
|
+
* await db.run('SAVEPOINT my_save');
|
|
32
|
+
* ...on error... await db.run('ROLLBACK TO SAVEPOINT my_save');
|
|
33
|
+
*/
|
|
34
|
+
async beginTransaction() {
|
|
35
|
+
if (!this.inTransaction) {
|
|
36
|
+
await this.run('BEGIN');
|
|
37
|
+
this.inTransaction = true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Commit a transaction
|
|
42
|
+
*/
|
|
43
|
+
async commit() {
|
|
44
|
+
if (this.inTransaction) {
|
|
45
|
+
await this.run('COMMIT');
|
|
46
|
+
this.inTransaction = false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Rollback a transaction
|
|
51
|
+
*/
|
|
52
|
+
async rollback() {
|
|
53
|
+
if (this.inTransaction) {
|
|
54
|
+
await this.run('ROLLBACK');
|
|
55
|
+
this.inTransaction = false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Execute a function within a transaction
|
|
60
|
+
*/
|
|
61
|
+
async transaction(fn) {
|
|
62
|
+
await this.beginTransaction();
|
|
63
|
+
try {
|
|
64
|
+
const result = await fn();
|
|
65
|
+
await this.commit();
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
await this.rollback();
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Initialize the database with required schemas
|
|
75
|
+
* Wipes existing database on startup to prevent corruption
|
|
76
|
+
*/
|
|
77
|
+
async init() {
|
|
78
|
+
// 0. Initialize the database connection
|
|
79
|
+
if (this.dbInstance === null) {
|
|
80
|
+
// Use pathManager for consistent absolute path (Standard 051)
|
|
81
|
+
const dbPath = process.env.PGLITE_DB_PATH || pathManager.getDatabasePath();
|
|
82
|
+
// Wipe and recreate the database directory on every startup (Standard 051 - Ephemeral Index)
|
|
83
|
+
// Controlled by user_settings.json: database.wipe_on_startup (default: true)
|
|
84
|
+
const shouldWipe = config.DATABASE?.WIPE_ON_STARTUP !== false;
|
|
85
|
+
try {
|
|
86
|
+
console.log(`[DB] Using database directory: ${dbPath}`);
|
|
87
|
+
if (shouldWipe) {
|
|
88
|
+
// Remove existing database directory to prevent corruption from unclean shutdowns
|
|
89
|
+
if (fs.existsSync(dbPath)) {
|
|
90
|
+
console.log(`[DB] Removing existing database directory (preventing corruption): ${dbPath}`);
|
|
91
|
+
try {
|
|
92
|
+
fs.rmSync(dbPath, { recursive: true, force: true });
|
|
93
|
+
console.log(`[DB] Old database directory removed successfully`);
|
|
94
|
+
}
|
|
95
|
+
catch (rmError) {
|
|
96
|
+
console.warn(`[DB] Warning: Could not remove old database directory: ${rmError.message}`);
|
|
97
|
+
console.warn(`[DB] Will attempt to overwrite on init`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
console.log(`[DB] Retaining existing database (wipe_on_startup=false). Index may be stale.`);
|
|
103
|
+
}
|
|
104
|
+
console.log(`[DB] Database directory ready: ${dbPath}`);
|
|
105
|
+
}
|
|
106
|
+
catch (cleanupError) {
|
|
107
|
+
console.error(`[DB] Error during database directory preparation:`, cleanupError);
|
|
108
|
+
// Don't crash if wipe fails, just try to continue
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
console.log(`[DB] Initializing PGlite at: ${dbPath}`);
|
|
112
|
+
// Initialize PGlite with optimized memory settings (Standard 127)
|
|
113
|
+
// Memory reduction tactics for embedded deployment (phones + laptops)
|
|
114
|
+
this.dbInstance = await new PGlite(dbPath, {
|
|
115
|
+
// Don't set maxMemory limit - let Node.js GC manage heap (6GB from --max-old-space-size)
|
|
116
|
+
// OOM prevention is handled by:
|
|
117
|
+
// 1. Search serialization (one search at a time)
|
|
118
|
+
// 2. Memory pressure detection (downgrade max-recall if heap >3.2GB)
|
|
119
|
+
// 3. Forced GC after ingestion and search completion
|
|
120
|
+
relaxedDurability: true, // Skip fsync during ingestion (Standard 059)
|
|
121
|
+
settings: {
|
|
122
|
+
// Reduce PGlite WASM buffer cache from default 1GB
|
|
123
|
+
'shared_buffers': '256MB',
|
|
124
|
+
// Bound planner's estimate to prevent unbounded CTE memory
|
|
125
|
+
'effective_cache_size': '512MB',
|
|
126
|
+
// Per-operation memory for sorts/hashes (physics walker CTEs)
|
|
127
|
+
'work_mem': '16MB',
|
|
128
|
+
// Memory for VACUUM, CREATE INDEX, etc.
|
|
129
|
+
'maintenance_work_mem': '64MB',
|
|
130
|
+
// WAL buffer size
|
|
131
|
+
'wal_buffers': '4MB',
|
|
132
|
+
// Spread checkpoint writes over 90% of checkpoint interval
|
|
133
|
+
'checkpoint_completion_target': 0.9,
|
|
134
|
+
// Random page access cost estimate (helps planner choose seq scans)
|
|
135
|
+
'random_page_cost': 1.1,
|
|
136
|
+
// Sequential scan cost estimate
|
|
137
|
+
'seq_page_cost': 1.0,
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
console.log(`[DB] PGlite initialized successfully: ${dbPath}`);
|
|
141
|
+
console.log(`[DB] Memory settings: shared_buffers=256MB, effective_cache_size=512MB, work_mem=16MB`);
|
|
142
|
+
// Additional runtime memory bounds (applied after init)
|
|
143
|
+
// These complement the constructor settings above
|
|
144
|
+
await this.dbInstance.exec("SET effective_cache_size = '512MB'");
|
|
145
|
+
await this.dbInstance.exec("SET work_mem = '16MB'");
|
|
146
|
+
await this.dbInstance.exec("SET maintenance_work_mem = '64MB'");
|
|
147
|
+
}
|
|
148
|
+
catch (e) {
|
|
149
|
+
console.error(`[DB] Failed to initialize PGlite: ${e.message}`);
|
|
150
|
+
throw e;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// Create Synonyms table for automatic query expansion
|
|
154
|
+
try {
|
|
155
|
+
await this.run(`
|
|
156
|
+
CREATE TABLE IF NOT EXISTS synonyms (
|
|
157
|
+
term TEXT PRIMARY KEY,
|
|
158
|
+
synonyms TEXT,
|
|
159
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
160
|
+
);
|
|
161
|
+
`);
|
|
162
|
+
console.log("[DB] 'synonyms' table initialized.");
|
|
163
|
+
}
|
|
164
|
+
catch (e) {
|
|
165
|
+
console.error("[DB] Error creating synonyms table:", e);
|
|
166
|
+
throw e;
|
|
167
|
+
}
|
|
168
|
+
// Create atoms table schema - simplified for PGlite compatibility
|
|
169
|
+
try {
|
|
170
|
+
// Create sequence for vector_ids
|
|
171
|
+
await this.run('CREATE SEQUENCE IF NOT EXISTS vector_id_seq START 1;');
|
|
172
|
+
await this.run(`
|
|
173
|
+
CREATE TABLE IF NOT EXISTS atoms (
|
|
174
|
+
id TEXT PRIMARY KEY,
|
|
175
|
+
content TEXT,
|
|
176
|
+
source_path TEXT,
|
|
177
|
+
timestamp REAL,
|
|
178
|
+
simhash TEXT,
|
|
179
|
+
embedding TEXT,
|
|
180
|
+
vector_id BIGINT,
|
|
181
|
+
provenance TEXT,
|
|
182
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
183
|
+
);
|
|
184
|
+
`);
|
|
185
|
+
console.log("[DB] 'atoms' table initialized.");
|
|
186
|
+
// Add missing columns if they don't exist (for existing databases)
|
|
187
|
+
const columnsToAdd = [
|
|
188
|
+
{ name: 'vector_id', type: 'BIGINT' },
|
|
189
|
+
{ name: 'buckets', type: 'TEXT[]' },
|
|
190
|
+
{ name: 'tags', type: 'TEXT[]' },
|
|
191
|
+
{ name: 'epochs', type: 'TEXT[]' },
|
|
192
|
+
{ name: 'sequence', type: 'INTEGER' },
|
|
193
|
+
{ name: 'type', type: 'TEXT' },
|
|
194
|
+
{ name: 'hash', type: 'TEXT' },
|
|
195
|
+
{ name: 'molecular_signature', type: 'TEXT' },
|
|
196
|
+
{ name: 'compound_id', type: 'TEXT' },
|
|
197
|
+
{ name: 'start_byte', type: 'INTEGER' },
|
|
198
|
+
{ name: 'end_byte', type: 'INTEGER' },
|
|
199
|
+
{ name: 'numeric_value', type: 'REAL' },
|
|
200
|
+
{ name: 'numeric_unit', type: 'TEXT' },
|
|
201
|
+
{ name: 'source_id', type: 'TEXT' },
|
|
202
|
+
{ name: 'tags', type: 'JSONB' },
|
|
203
|
+
{ name: 'entities', type: 'JSONB' },
|
|
204
|
+
{ name: 'payload', type: 'JSONB' } // Crystal Atom Structure (Hybrid Architecture)
|
|
205
|
+
];
|
|
206
|
+
for (const col of columnsToAdd) {
|
|
207
|
+
try {
|
|
208
|
+
await this.run(`ALTER TABLE atoms ADD COLUMN IF NOT EXISTS ${col.name} ${col.type};`);
|
|
209
|
+
}
|
|
210
|
+
catch (alterErr) {
|
|
211
|
+
// Column might already exist, which is fine
|
|
212
|
+
console.debug(`[DB] Column ${col.name} addition:`, alterErr.message);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
// Add index for compound_id (CRITICAL for Physics Walker)
|
|
216
|
+
try {
|
|
217
|
+
await this.run('CREATE INDEX IF NOT EXISTS idx_atoms_compound_id ON atoms(compound_id);');
|
|
218
|
+
}
|
|
219
|
+
catch (idxErr) {
|
|
220
|
+
console.warn("[DB] Could not create compound_id index:", idxErr.message);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (e) {
|
|
224
|
+
console.error("[DB] Error initializing atoms table:", e);
|
|
225
|
+
throw e;
|
|
226
|
+
}
|
|
227
|
+
// Create the tags table (The "Nervous System")
|
|
228
|
+
try {
|
|
229
|
+
await this.run(`
|
|
230
|
+
CREATE TABLE IF NOT EXISTS tags (
|
|
231
|
+
atom_id TEXT,
|
|
232
|
+
tag TEXT,
|
|
233
|
+
bucket TEXT,
|
|
234
|
+
PRIMARY KEY (atom_id, tag, bucket)
|
|
235
|
+
);
|
|
236
|
+
`);
|
|
237
|
+
// Create indexes - optimized for PhysicsWalker queries
|
|
238
|
+
try {
|
|
239
|
+
await this.run('CREATE INDEX IF NOT EXISTS idx_tags_tag ON tags(tag);');
|
|
240
|
+
}
|
|
241
|
+
catch (indexErr) {
|
|
242
|
+
console.warn("[DB] Could not create tag index:", indexErr.message);
|
|
243
|
+
}
|
|
244
|
+
try {
|
|
245
|
+
await this.run('CREATE INDEX IF NOT EXISTS idx_tags_bucket ON tags(bucket);');
|
|
246
|
+
}
|
|
247
|
+
catch (indexErr) {
|
|
248
|
+
console.warn("[DB] Could not create bucket index:", indexErr.message);
|
|
249
|
+
}
|
|
250
|
+
// NEW INDEX (2026-02-23): For fast atom_id lookups in PhysicsWalker
|
|
251
|
+
try {
|
|
252
|
+
await this.run('CREATE INDEX IF NOT EXISTS idx_tags_atom_id ON tags(atom_id);');
|
|
253
|
+
}
|
|
254
|
+
catch (indexErr) {
|
|
255
|
+
console.warn("[DB] Could not create atom_id index:", indexErr.message);
|
|
256
|
+
}
|
|
257
|
+
console.log("[DB] 'tags' table initialized.");
|
|
258
|
+
}
|
|
259
|
+
catch (e) {
|
|
260
|
+
console.error("[DB] Error creating tags table:", e);
|
|
261
|
+
throw e;
|
|
262
|
+
}
|
|
263
|
+
// Create Edges table (The Graph Connections)
|
|
264
|
+
try {
|
|
265
|
+
await this.run(`
|
|
266
|
+
CREATE TABLE IF NOT EXISTS edges (
|
|
267
|
+
source_id TEXT,
|
|
268
|
+
target_id TEXT,
|
|
269
|
+
relation TEXT,
|
|
270
|
+
weight REAL,
|
|
271
|
+
PRIMARY KEY (source_id, target_id, relation)
|
|
272
|
+
);
|
|
273
|
+
`);
|
|
274
|
+
console.log("[DB] 'edges' table initialized.");
|
|
275
|
+
}
|
|
276
|
+
catch (e) {
|
|
277
|
+
console.error("[DB] Error creating edges table:", e);
|
|
278
|
+
throw e;
|
|
279
|
+
}
|
|
280
|
+
// Create Source Table (Container)
|
|
281
|
+
try {
|
|
282
|
+
await this.run(`
|
|
283
|
+
CREATE TABLE IF NOT EXISTS sources (
|
|
284
|
+
path TEXT PRIMARY KEY,
|
|
285
|
+
hash TEXT,
|
|
286
|
+
total_atoms INTEGER,
|
|
287
|
+
last_ingest REAL
|
|
288
|
+
);
|
|
289
|
+
`);
|
|
290
|
+
console.log("[DB] 'sources' table initialized.");
|
|
291
|
+
}
|
|
292
|
+
catch (e) {
|
|
293
|
+
console.error("[DB] Error creating sources table:", e);
|
|
294
|
+
throw e;
|
|
295
|
+
}
|
|
296
|
+
// Create molecules table (The Document Sentences)
|
|
297
|
+
try {
|
|
298
|
+
await this.run(`
|
|
299
|
+
CREATE TABLE IF NOT EXISTS molecules (
|
|
300
|
+
id TEXT PRIMARY KEY,
|
|
301
|
+
content TEXT,
|
|
302
|
+
compound_id TEXT,
|
|
303
|
+
sequence INTEGER,
|
|
304
|
+
start_byte INTEGER,
|
|
305
|
+
end_byte INTEGER,
|
|
306
|
+
type TEXT,
|
|
307
|
+
numeric_value REAL,
|
|
308
|
+
numeric_unit TEXT,
|
|
309
|
+
molecular_signature TEXT,
|
|
310
|
+
embedding TEXT,
|
|
311
|
+
timestamp REAL,
|
|
312
|
+
tags JSONB,
|
|
313
|
+
entities JSONB
|
|
314
|
+
);
|
|
315
|
+
`);
|
|
316
|
+
// Add indices for molecules
|
|
317
|
+
try {
|
|
318
|
+
await this.run('CREATE INDEX IF NOT EXISTS idx_molecules_compound ON molecules(compound_id);');
|
|
319
|
+
}
|
|
320
|
+
catch (idxErr) {
|
|
321
|
+
console.warn("[DB] Could not create molecule compound index:", idxErr.message);
|
|
322
|
+
}
|
|
323
|
+
// Ensure new columns exist for existing databases
|
|
324
|
+
const molColumnsToAdd = [
|
|
325
|
+
{ name: 'tags', type: 'JSONB' },
|
|
326
|
+
{ name: 'entities', type: 'JSONB' }
|
|
327
|
+
];
|
|
328
|
+
for (const col of molColumnsToAdd) {
|
|
329
|
+
try {
|
|
330
|
+
await this.run(`ALTER TABLE molecules ADD COLUMN IF NOT EXISTS ${col.name} ${col.type};`);
|
|
331
|
+
}
|
|
332
|
+
catch (alterErr) {
|
|
333
|
+
// Column might already exist
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
console.log("[DB] 'molecules' table initialized.");
|
|
337
|
+
}
|
|
338
|
+
catch (e) {
|
|
339
|
+
console.error("[DB] Error creating molecules table:", e);
|
|
340
|
+
throw e;
|
|
341
|
+
}
|
|
342
|
+
// Create Compounds table (Atomic Architecture)
|
|
343
|
+
try {
|
|
344
|
+
await this.run(`
|
|
345
|
+
CREATE TABLE IF NOT EXISTS compounds (
|
|
346
|
+
id TEXT PRIMARY KEY,
|
|
347
|
+
compound_body TEXT,
|
|
348
|
+
path TEXT,
|
|
349
|
+
timestamp REAL,
|
|
350
|
+
provenance TEXT,
|
|
351
|
+
molecular_signature TEXT,
|
|
352
|
+
atoms TEXT,
|
|
353
|
+
molecules TEXT,
|
|
354
|
+
embedding TEXT
|
|
355
|
+
);
|
|
356
|
+
`);
|
|
357
|
+
console.log("[DB] 'compounds' table initialized.");
|
|
358
|
+
}
|
|
359
|
+
catch (e) {
|
|
360
|
+
console.error("[DB] Error creating compounds table:", e);
|
|
361
|
+
throw e;
|
|
362
|
+
}
|
|
363
|
+
// Create Engrams table (Lexical Sidecar)
|
|
364
|
+
try {
|
|
365
|
+
await this.run(`
|
|
366
|
+
CREATE TABLE IF NOT EXISTS engrams (
|
|
367
|
+
key TEXT PRIMARY KEY,
|
|
368
|
+
value TEXT
|
|
369
|
+
);
|
|
370
|
+
`);
|
|
371
|
+
console.log("[DB] 'engrams' table initialized.");
|
|
372
|
+
}
|
|
373
|
+
catch (e) {
|
|
374
|
+
console.error("[DB] Error creating engrams table:", e);
|
|
375
|
+
throw e;
|
|
376
|
+
}
|
|
377
|
+
// Create Atom Positions table (Lazy Molecule Inflation)
|
|
378
|
+
// Tracks where atoms (keywords) appear in compounds for radial inflation
|
|
379
|
+
try {
|
|
380
|
+
await this.run(`
|
|
381
|
+
CREATE TABLE IF NOT EXISTS atom_positions (
|
|
382
|
+
compound_id TEXT NOT NULL,
|
|
383
|
+
atom_label TEXT NOT NULL,
|
|
384
|
+
byte_offset INTEGER NOT NULL,
|
|
385
|
+
PRIMARY KEY (compound_id, atom_label, byte_offset)
|
|
386
|
+
);
|
|
387
|
+
`);
|
|
388
|
+
await this.run(`
|
|
389
|
+
CREATE INDEX IF NOT EXISTS idx_atom_positions_label
|
|
390
|
+
ON atom_positions(atom_label);
|
|
391
|
+
`);
|
|
392
|
+
console.log("[DB] 'atom_positions' table initialized.");
|
|
393
|
+
}
|
|
394
|
+
catch (e) {
|
|
395
|
+
console.error("[DB] Error creating atom_positions table:", e);
|
|
396
|
+
throw e;
|
|
397
|
+
}
|
|
398
|
+
// Create Summary Nodes Table (Dreamer Abstractions)
|
|
399
|
+
try {
|
|
400
|
+
await this.run(`
|
|
401
|
+
CREATE TABLE IF NOT EXISTS summary_nodes (
|
|
402
|
+
id TEXT PRIMARY KEY,
|
|
403
|
+
type TEXT,
|
|
404
|
+
content TEXT,
|
|
405
|
+
span_start REAL,
|
|
406
|
+
span_end REAL,
|
|
407
|
+
embedding TEXT
|
|
408
|
+
);
|
|
409
|
+
`);
|
|
410
|
+
console.log("[DB] 'summary_nodes' table initialized.");
|
|
411
|
+
}
|
|
412
|
+
catch (e) {
|
|
413
|
+
console.error("[DB] Error creating summary_nodes table:", e);
|
|
414
|
+
throw e;
|
|
415
|
+
}
|
|
416
|
+
// Create GitHub Repos Table (Standard 115: GitHub Repository Ingestion)
|
|
417
|
+
try {
|
|
418
|
+
await this.run(`
|
|
419
|
+
CREATE TABLE IF NOT EXISTS github_repos (
|
|
420
|
+
id TEXT PRIMARY KEY,
|
|
421
|
+
owner TEXT NOT NULL,
|
|
422
|
+
repo TEXT NOT NULL,
|
|
423
|
+
branch TEXT DEFAULT 'main',
|
|
424
|
+
bucket TEXT NOT NULL,
|
|
425
|
+
github_url TEXT NOT NULL,
|
|
426
|
+
last_synced_at TIMESTAMP,
|
|
427
|
+
last_sync_status TEXT,
|
|
428
|
+
last_error TEXT,
|
|
429
|
+
total_files INTEGER DEFAULT 0,
|
|
430
|
+
total_atoms INTEGER DEFAULT 0,
|
|
431
|
+
total_size_bytes INTEGER DEFAULT 0,
|
|
432
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
433
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
434
|
+
);
|
|
435
|
+
`);
|
|
436
|
+
console.log("[DB] 'github_repos' table initialized.");
|
|
437
|
+
// Create index for owner/repo lookup
|
|
438
|
+
await this.run(`
|
|
439
|
+
CREATE INDEX IF NOT EXISTS idx_github_repos_owner_repo
|
|
440
|
+
ON github_repos(owner, repo);
|
|
441
|
+
`);
|
|
442
|
+
}
|
|
443
|
+
catch (e) {
|
|
444
|
+
console.error("[DB] Error creating github_repos table:", e);
|
|
445
|
+
throw e;
|
|
446
|
+
}
|
|
447
|
+
// Create FTS index for content search
|
|
448
|
+
try {
|
|
449
|
+
await this.run(`
|
|
450
|
+
CREATE INDEX IF NOT EXISTS idx_atoms_content_gin
|
|
451
|
+
ON atoms
|
|
452
|
+
USING GIN(to_tsvector('simple', content));
|
|
453
|
+
`);
|
|
454
|
+
console.log("[DB] FTS index created for content search.");
|
|
455
|
+
}
|
|
456
|
+
catch (e) {
|
|
457
|
+
console.warn("[DB] Could not create FTS index:", e.message);
|
|
458
|
+
// Try creating a simpler index if GIN fails
|
|
459
|
+
try {
|
|
460
|
+
await this.run(`
|
|
461
|
+
CREATE INDEX IF NOT EXISTS idx_atoms_content_text
|
|
462
|
+
ON atoms (content);
|
|
463
|
+
`);
|
|
464
|
+
console.log("[DB] Text index created as fallback.");
|
|
465
|
+
}
|
|
466
|
+
catch (fallbackErr) {
|
|
467
|
+
console.warn("[DB] Could not create fallback text index:", fallbackErr.message);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
// Create FTS index for molecules content search (Tag-Walker anchor stage)
|
|
471
|
+
try {
|
|
472
|
+
await this.run(`
|
|
473
|
+
CREATE INDEX IF NOT EXISTS idx_molecules_content_gin
|
|
474
|
+
ON molecules
|
|
475
|
+
USING GIN(to_tsvector('simple', content));
|
|
476
|
+
`);
|
|
477
|
+
console.log("[DB] FTS index created for molecules content search.");
|
|
478
|
+
}
|
|
479
|
+
catch (e) {
|
|
480
|
+
console.warn("[DB] Could not create molecules FTS index:", e.message);
|
|
481
|
+
// Try creating a simpler index if GIN fails
|
|
482
|
+
try {
|
|
483
|
+
await this.run(`
|
|
484
|
+
CREATE INDEX IF NOT EXISTS idx_molecules_content_text
|
|
485
|
+
ON molecules (content);
|
|
486
|
+
`);
|
|
487
|
+
console.log("[DB] Molecules text index created as fallback.");
|
|
488
|
+
}
|
|
489
|
+
catch (fallbackErr) {
|
|
490
|
+
console.warn("[DB] Could not create molecules fallback text index:", fallbackErr.message);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
// Create JSONB GIN Index (Crystal Atom Optimization)
|
|
494
|
+
try {
|
|
495
|
+
await this.run(`
|
|
496
|
+
CREATE INDEX IF NOT EXISTS idx_atoms_payload_gin
|
|
497
|
+
ON atoms
|
|
498
|
+
USING GIN (payload);
|
|
499
|
+
`);
|
|
500
|
+
console.log("[DB] GIN index created for payload (Crystal Atom).");
|
|
501
|
+
}
|
|
502
|
+
catch (e) {
|
|
503
|
+
console.warn("[DB] Could not create payload GIN index:", e.message);
|
|
504
|
+
}
|
|
505
|
+
// Mark as initialized after all setup is complete
|
|
506
|
+
this._isInitialized = true;
|
|
507
|
+
console.log("Database initialized successfully");
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Close the database connection
|
|
511
|
+
*/
|
|
512
|
+
async close() {
|
|
513
|
+
// Close the database connection
|
|
514
|
+
if (this.dbInstance) {
|
|
515
|
+
await this.dbInstance.close();
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Run a query against the database
|
|
520
|
+
*/
|
|
521
|
+
async run(query, params) {
|
|
522
|
+
const { config } = await import("../config/index.js");
|
|
523
|
+
if (config.LOG_LEVEL === "DEBUG") {
|
|
524
|
+
console.log(`[DB] Executing Query: ${query.substring(0, 80)}...`);
|
|
525
|
+
if (params && params.length > 0)
|
|
526
|
+
console.log(`[DB] Params:`, params);
|
|
527
|
+
}
|
|
528
|
+
try {
|
|
529
|
+
if (this.dbInstance === null) {
|
|
530
|
+
throw new Error("Database not initialized");
|
|
531
|
+
}
|
|
532
|
+
// PGlite returns objects by default which works with our named fields
|
|
533
|
+
const result = await this.dbInstance.query(query, params || []);
|
|
534
|
+
return result;
|
|
535
|
+
}
|
|
536
|
+
catch (e) {
|
|
537
|
+
// Don't log transaction control statements as errors
|
|
538
|
+
if (!query.trim().match(/^(BEGIN|COMMIT|ROLLBACK)/i)) {
|
|
539
|
+
console.error(`[DB] Query Failed: ${e.message}`);
|
|
540
|
+
console.error(`[DB] Query: ${query}`);
|
|
541
|
+
}
|
|
542
|
+
throw e;
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Run a FTS search query
|
|
547
|
+
*/
|
|
548
|
+
async search(query) {
|
|
549
|
+
if (this.dbInstance === null) {
|
|
550
|
+
throw new Error("Database not initialized");
|
|
551
|
+
}
|
|
552
|
+
// For now, use a simple LIKE query since full-text search may not be available
|
|
553
|
+
const result = await this.dbInstance.query(`SELECT * FROM atoms WHERE content LIKE ?`, [`%${query}%`]);
|
|
554
|
+
return result;
|
|
555
|
+
}
|
|
556
|
+
// Helper methods for file system operations
|
|
557
|
+
existsSync = fs.existsSync;
|
|
558
|
+
rmdirSync = fs.rmSync;
|
|
559
|
+
mkdirSync = fs.mkdirSync;
|
|
560
|
+
}
|
|
561
|
+
// Export a singleton instance
|
|
562
|
+
export const db = new Database();
|
|
563
|
+
//# sourceMappingURL=db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWorker.d.ts","sourceRoot":"","sources":["../../../src/core/inference/ChatWorker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatWorker — Local inference stub.
|
|
3
|
+
*
|
|
4
|
+
* node-llama-cpp has been removed from this project (user intent: pare to working core).
|
|
5
|
+
* Local LLM inference is NOT available. Configure LLM_PROVIDER=remote in user_settings.json
|
|
6
|
+
* to use a remote OpenAI-compatible endpoint instead.
|
|
7
|
+
*
|
|
8
|
+
* To restore local inference:
|
|
9
|
+
* 1. Re-add node-llama-cpp to engine/package.json
|
|
10
|
+
* 2. Restore the original ChatWorker implementation from git history
|
|
11
|
+
*/
|
|
12
|
+
import { parentPort } from 'worker_threads';
|
|
13
|
+
// Worker stub — signals ready immediately, returns errors for all requests
|
|
14
|
+
async function init() {
|
|
15
|
+
console.warn('[ChatWorker] Local inference is disabled. node-llama-cpp has been removed.');
|
|
16
|
+
parentPort?.postMessage({ type: 'ready' });
|
|
17
|
+
}
|
|
18
|
+
parentPort?.on('message', (message) => {
|
|
19
|
+
const err = 'Local inference not available. node-llama-cpp removed. Use LLM_PROVIDER=remote.';
|
|
20
|
+
if (message.type === 'dispose') {
|
|
21
|
+
parentPort?.postMessage({ type: 'disposed' });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
parentPort?.postMessage({ type: 'error', error: err });
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
init();
|
|
28
|
+
//# sourceMappingURL=ChatWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatWorker.js","sourceRoot":"","sources":["../../../src/core/inference/ChatWorker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,2EAA2E;AAC3E,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IAC3F,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,iFAAiF,CAAC;IAC9F,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACJ,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { UserContext } from '../../types/context-protocol.js';
|
|
2
|
+
export interface ContextAtom {
|
|
3
|
+
id: string;
|
|
4
|
+
content: string;
|
|
5
|
+
source: string;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
score: number;
|
|
8
|
+
tags?: string[];
|
|
9
|
+
type?: string;
|
|
10
|
+
provenance?: string;
|
|
11
|
+
connections?: string[];
|
|
12
|
+
}
|
|
13
|
+
export interface ContextResult {
|
|
14
|
+
prompt: string;
|
|
15
|
+
stats: {
|
|
16
|
+
tokenCount: number;
|
|
17
|
+
charCount: number;
|
|
18
|
+
filledPercent: number;
|
|
19
|
+
atomCount: number;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Rolling Context Slicer (Feature 8) - Neuro-Symbolic Bridge Edition
|
|
24
|
+
*
|
|
25
|
+
* Implements "Middle-Out" Context Budgeting with Structured Graph Output.
|
|
26
|
+
* Prioritizes atoms based on a mix of Relevance (Vector Similarity) and Recency.
|
|
27
|
+
*
|
|
28
|
+
* Strategy:
|
|
29
|
+
* 1. Rank Candidates: Score = (Relevance * 0.7) + (RecencyNorm * 0.3).
|
|
30
|
+
* 2. Select: Fill budget with highest ranked atoms.
|
|
31
|
+
* 3. Smart Slice: If an atom fits partially, slice around the keyword match (windowing).
|
|
32
|
+
* 4. Order: Sort selected atoms Chronologically (or by Sequence) for linear readability.
|
|
33
|
+
*/
|
|
34
|
+
export declare function composeRollingContext(query: string, results: ContextAtom[], tokenBudget?: number): ContextResult;
|
|
35
|
+
/**
|
|
36
|
+
* Compose context using the Graph-Context Protocol.
|
|
37
|
+
*
|
|
38
|
+
* This produces the sovereign prompt format:
|
|
39
|
+
* System: "You are the interface for Anchor OS..."
|
|
40
|
+
* User: [CONTEXT_GRAPH_START]...[CONTEXT_GRAPH_END] + query
|
|
41
|
+
*
|
|
42
|
+
* Use this instead of composeRollingContext when you have physics metadata.
|
|
43
|
+
*/
|
|
44
|
+
export declare function composeGraphContext(query: string, anchors: ContextAtom[], walkerResults: ContextAtom[], user: UserContext, tokenBudget?: number): {
|
|
45
|
+
system: string;
|
|
46
|
+
user: string;
|
|
47
|
+
stats: ContextResult['stats'];
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=context_manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context_manager.d.ts","sourceRoot":"","sources":["../../../src/core/inference/context_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAA2B,MAAM,iCAAiC,CAAC;AAY5G,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EAAE,EACtB,WAAW,GAAE,MAAa,GAC3B,aAAa,CAoIf;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EAAE,EACtB,aAAa,EAAE,WAAW,EAAE,EAC5B,IAAI,EAAE,WAAW,EACjB,WAAW,GAAE,MAAa,GAC3B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAAE,CA+DjE"}
|