@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 @@
|
|
|
1
|
+
{"version":3,"file":"context-inflator.js","sourceRoot":"","sources":["../../../src/services/search/context-inflator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rolling Context Slicer - Context Budgeting for Search Results
|
|
3
|
+
*
|
|
4
|
+
* Implements "Middle-Out" Context Budgeting with Structured Graph Output.
|
|
5
|
+
* Prioritizes atoms based on a mix of Relevance (Vector Similarity) and Recency.
|
|
6
|
+
*
|
|
7
|
+
* Strategy:
|
|
8
|
+
* 1. Rank Candidates: Score = (Relevance * 0.7) + (Recency * 0.3).
|
|
9
|
+
* 2. Select: Fill budget with highest ranked atoms.
|
|
10
|
+
* 3. Smart Slice: If an atom fits partially, slice around the keyword match (windowing).
|
|
11
|
+
* 4. Order: Sort selected atoms Chronologically (or by Sequence) for linear readability.
|
|
12
|
+
*/
|
|
13
|
+
interface SearchResult {
|
|
14
|
+
id: string;
|
|
15
|
+
content: string;
|
|
16
|
+
source: string;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
tags: string[];
|
|
19
|
+
provenance: string;
|
|
20
|
+
score: number;
|
|
21
|
+
type?: string;
|
|
22
|
+
}
|
|
23
|
+
interface ContextCompositionResult {
|
|
24
|
+
prompt: string;
|
|
25
|
+
stats: {
|
|
26
|
+
tokenCount: number;
|
|
27
|
+
charCount: number;
|
|
28
|
+
filledPercent: number;
|
|
29
|
+
atomCount: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export declare function composeRollingContext(query: string, results: SearchResult[], tokenBudget?: number): ContextCompositionResult;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=context-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../../../src/services/search/context-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,wBAAwB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EAAE,EACvB,WAAW,GAAE,MAAa,GACzB,wBAAwB,CAwH1B"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rolling Context Slicer - Context Budgeting for Search Results
|
|
3
|
+
*
|
|
4
|
+
* Implements "Middle-Out" Context Budgeting with Structured Graph Output.
|
|
5
|
+
* Prioritizes atoms based on a mix of Relevance (Vector Similarity) and Recency.
|
|
6
|
+
*
|
|
7
|
+
* Strategy:
|
|
8
|
+
* 1. Rank Candidates: Score = (Relevance * 0.7) + (Recency * 0.3).
|
|
9
|
+
* 2. Select: Fill budget with highest ranked atoms.
|
|
10
|
+
* 3. Smart Slice: If an atom fits partially, slice around the keyword match (windowing).
|
|
11
|
+
* 4. Order: Sort selected atoms Chronologically (or by Sequence) for linear readability.
|
|
12
|
+
*/
|
|
13
|
+
import { config } from '../../config/index.js';
|
|
14
|
+
export function composeRollingContext(query, results, tokenBudget = 4096) {
|
|
15
|
+
// Constants
|
|
16
|
+
const CHARS_PER_TOKEN = 4; // Rough estimate
|
|
17
|
+
// Safety Buffer: Target 95% of budget to account for multibyte chars / math errors
|
|
18
|
+
const SAFE_BUDGET = Math.floor(tokenBudget * 0.95);
|
|
19
|
+
const charBudget = SAFE_BUDGET * CHARS_PER_TOKEN;
|
|
20
|
+
// 1. Dynamic Recency Analysis
|
|
21
|
+
// Check for temporal signals in query
|
|
22
|
+
const temporalSignals = ["recent", "latest", "new", "today", "now", "current", "last"];
|
|
23
|
+
const hasTemporalSignal = temporalSignals.some(signal => query.toLowerCase().includes(signal));
|
|
24
|
+
// Adjust weights based on intent
|
|
25
|
+
// Default: Relevance 70%, Recency 30%
|
|
26
|
+
// Temporal: Relevance 40%, Recency 60%
|
|
27
|
+
const RELEVANCE_WEIGHT = hasTemporalSignal ? 0.4 : config.CONTEXT_RELEVANCE_WEIGHT;
|
|
28
|
+
const RECENCY_WEIGHT = hasTemporalSignal ? 0.6 : config.CONTEXT_RECENCY_WEIGHT;
|
|
29
|
+
// 2. Normalize Recency & Score
|
|
30
|
+
const now = Date.now();
|
|
31
|
+
const oneMonth = 30 * 24 * 60 * 60 * 1000;
|
|
32
|
+
const candidates = results.map(atom => {
|
|
33
|
+
const atomTimestamp = typeof atom.timestamp === 'number' && !isNaN(atom.timestamp)
|
|
34
|
+
? atom.timestamp
|
|
35
|
+
: now;
|
|
36
|
+
const age = Math.max(0, now - atomTimestamp);
|
|
37
|
+
// Recency Score: 1.0 = Brand new, 0.0 = >1 Month old (clamped)
|
|
38
|
+
const recencyScore = Math.max(0, 1.0 - (age / oneMonth));
|
|
39
|
+
// Final Mixed Score
|
|
40
|
+
const mixedScore = (atom.score * RELEVANCE_WEIGHT) + (recencyScore * RECENCY_WEIGHT);
|
|
41
|
+
return { ...atom, timestamp: atomTimestamp, mixedScore, recencyScore };
|
|
42
|
+
});
|
|
43
|
+
// 3. Sort by Mixed Score (Descending)
|
|
44
|
+
candidates.sort((a, b) => b.mixedScore - a.mixedScore);
|
|
45
|
+
// 4. Selection (Fill Budget)
|
|
46
|
+
const selectedAtoms = [];
|
|
47
|
+
let currentChars = 0;
|
|
48
|
+
for (const atom of candidates) {
|
|
49
|
+
if (currentChars >= charBudget)
|
|
50
|
+
break;
|
|
51
|
+
const atomLen = atom.content.length;
|
|
52
|
+
if (currentChars + atomLen <= charBudget) {
|
|
53
|
+
selectedAtoms.push(atom);
|
|
54
|
+
currentChars += atomLen;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// Partial Fill with Smart Slicing
|
|
58
|
+
const remaining = charBudget - currentChars;
|
|
59
|
+
if (remaining > 200) {
|
|
60
|
+
// Slice to nearest punctuation to keep thought intact
|
|
61
|
+
const safeContent = atom.content.substring(0, remaining);
|
|
62
|
+
// Find last punctuation before the hard limit
|
|
63
|
+
const lastDot = safeContent.lastIndexOf('.');
|
|
64
|
+
const lastBang = safeContent.lastIndexOf('!');
|
|
65
|
+
const lastQ = safeContent.lastIndexOf('?');
|
|
66
|
+
const lastNew = safeContent.lastIndexOf('\n');
|
|
67
|
+
const bestCut = Math.max(lastDot, lastBang, lastQ, lastNew);
|
|
68
|
+
if (bestCut > (remaining * 0.5)) {
|
|
69
|
+
// If punctuation is reasonably far in, use it
|
|
70
|
+
const slicedContent = atom.content.substring(0, bestCut + 1) + " [Truncated]";
|
|
71
|
+
selectedAtoms.push({ ...atom, content: slicedContent });
|
|
72
|
+
currentChars += slicedContent.length;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// Fallback to hard cut if no punctuation found nearby
|
|
76
|
+
const slicedContent = atom.content.substring(0, remaining) + "...";
|
|
77
|
+
selectedAtoms.push({ ...atom, content: slicedContent });
|
|
78
|
+
currentChars += slicedContent.length;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
break; // Filled
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// 5. Final Sort (Chronological / Flow)
|
|
85
|
+
// Preservation of narrative flow is key.
|
|
86
|
+
selectedAtoms.sort((a, b) => a.timestamp - b.timestamp);
|
|
87
|
+
// 6. Assemble JSON Graph (Neuro-Symbolic Output)
|
|
88
|
+
const graphNodes = selectedAtoms.map(a => ({
|
|
89
|
+
id: a.id,
|
|
90
|
+
type: a.type || 'thought',
|
|
91
|
+
content: a.content,
|
|
92
|
+
meta: {
|
|
93
|
+
score: Number(a.mixedScore.toFixed(3)),
|
|
94
|
+
tags: a.tags || [],
|
|
95
|
+
source: a.source,
|
|
96
|
+
timestamp: (() => {
|
|
97
|
+
try {
|
|
98
|
+
return new Date(a.timestamp).toISOString();
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
return new Date().toISOString();
|
|
102
|
+
}
|
|
103
|
+
})(),
|
|
104
|
+
provenance: a.provenance || 'internal'
|
|
105
|
+
}
|
|
106
|
+
}));
|
|
107
|
+
const graph = {
|
|
108
|
+
intent: query,
|
|
109
|
+
nodes: graphNodes
|
|
110
|
+
};
|
|
111
|
+
const jsonString = JSON.stringify(graph, null, 2);
|
|
112
|
+
// Wrap with the Neuro-Symbolic Directive
|
|
113
|
+
const promptWrapper = `Here is a graph of thoughts from my memory, ranked by mathematical relevance (Time + Logic). Use these nodes to answer my question. Do not use outside knowledge unless necessary.\n\n\`\`\`json\n${jsonString}\n\`\`\``;
|
|
114
|
+
return {
|
|
115
|
+
prompt: promptWrapper,
|
|
116
|
+
stats: {
|
|
117
|
+
tokenCount: Math.ceil(currentChars / CHARS_PER_TOKEN),
|
|
118
|
+
charCount: currentChars,
|
|
119
|
+
filledPercent: Math.min(100, (currentChars / charBudget) * 100),
|
|
120
|
+
atomCount: selectedAtoms.length
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=context-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../../src/services/search/context-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Distributed Query Budget Allocation
|
|
3
|
+
*
|
|
4
|
+
* Implements 70/30 split:
|
|
5
|
+
* - 70% for direct query terms (evenly distributed)
|
|
6
|
+
* - 30% for related terms from synonym ring (5 per original term)
|
|
7
|
+
*/
|
|
8
|
+
export interface TermBudget {
|
|
9
|
+
term: string;
|
|
10
|
+
budget: number;
|
|
11
|
+
isRelated: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface QueryBudget {
|
|
14
|
+
directTerms: TermBudget[];
|
|
15
|
+
relatedTerms: TermBudget[];
|
|
16
|
+
totalBudget: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Distribute query budget across terms
|
|
20
|
+
*
|
|
21
|
+
* For query "Rob Jade Dory" with 10000 char budget:
|
|
22
|
+
* - Rob: 23% (2300 chars)
|
|
23
|
+
* - Jade: 23% (2300 chars)
|
|
24
|
+
* - Dory: 23% (2300 chars)
|
|
25
|
+
* - Rob related (5 terms): 9.5% total (1.9% each = 190 chars)
|
|
26
|
+
* - Jade related (5 terms): 9.5% total
|
|
27
|
+
* - Dory related (5 terms): 9.5% total
|
|
28
|
+
*/
|
|
29
|
+
export declare function distributeQueryBudget(query: string, totalBudget: number): Promise<QueryBudget>;
|
|
30
|
+
/**
|
|
31
|
+
* Calculate how many characters to allocate for a term
|
|
32
|
+
*/
|
|
33
|
+
export declare function getBudgetForTerm(budget: QueryBudget, term: string): number;
|
|
34
|
+
/**
|
|
35
|
+
* Get all terms from budget (for parallel search)
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAllTerms(budget: QueryBudget): string[];
|
|
38
|
+
//# sourceMappingURL=distributed-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distributed-query.d.ts","sourceRoot":"","sources":["../../../src/services/search/distributed-query.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACvB;AA4BD;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACvC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CAgDtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAIzD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Distributed Query Budget Allocation
|
|
3
|
+
*
|
|
4
|
+
* Implements 70/30 split:
|
|
5
|
+
* - 70% for direct query terms (evenly distributed)
|
|
6
|
+
* - 30% for related terms from synonym ring (5 per original term)
|
|
7
|
+
*/
|
|
8
|
+
import { expandTerms as getSynonyms } from '@rbalchii/dse';
|
|
9
|
+
/**
|
|
10
|
+
* Parse query into distinct search terms
|
|
11
|
+
*/
|
|
12
|
+
function parseQueryTerms(query) {
|
|
13
|
+
// Split on spaces, filter short words, dedupe
|
|
14
|
+
const terms = query
|
|
15
|
+
.toLowerCase()
|
|
16
|
+
.split(/\s+/)
|
|
17
|
+
.filter(t => t.length > 2)
|
|
18
|
+
.filter((t, i, arr) => arr.indexOf(t) === i);
|
|
19
|
+
return terms.slice(0, 5); // Max 5 primary terms
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get related terms for a given term using synonym ring
|
|
23
|
+
*/
|
|
24
|
+
async function getRelatedTerms(term, count = 5) {
|
|
25
|
+
try {
|
|
26
|
+
const synonyms = await getSynonyms([term]); // expandTerms expects array
|
|
27
|
+
return synonyms.slice(0, count);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Distribute query budget across terms
|
|
35
|
+
*
|
|
36
|
+
* For query "Rob Jade Dory" with 10000 char budget:
|
|
37
|
+
* - Rob: 23% (2300 chars)
|
|
38
|
+
* - Jade: 23% (2300 chars)
|
|
39
|
+
* - Dory: 23% (2300 chars)
|
|
40
|
+
* - Rob related (5 terms): 9.5% total (1.9% each = 190 chars)
|
|
41
|
+
* - Jade related (5 terms): 9.5% total
|
|
42
|
+
* - Dory related (5 terms): 9.5% total
|
|
43
|
+
*/
|
|
44
|
+
export async function distributeQueryBudget(query, totalBudget) {
|
|
45
|
+
const terms = parseQueryTerms(query);
|
|
46
|
+
if (terms.length === 0) {
|
|
47
|
+
return { directTerms: [], relatedTerms: [], totalBudget };
|
|
48
|
+
}
|
|
49
|
+
const DIRECT_RATIO = 0.70; // 70% for direct terms
|
|
50
|
+
const RELATED_RATIO = 0.30; // 30% for related terms
|
|
51
|
+
const RELATED_TERMS_PER = 5;
|
|
52
|
+
const directBudget = totalBudget * DIRECT_RATIO;
|
|
53
|
+
const relatedBudget = totalBudget * RELATED_RATIO;
|
|
54
|
+
const directTerms = [];
|
|
55
|
+
const relatedTerms = [];
|
|
56
|
+
// Distribute direct budget evenly across terms
|
|
57
|
+
const directPerTerm = directBudget / terms.length;
|
|
58
|
+
for (const term of terms) {
|
|
59
|
+
directTerms.push({
|
|
60
|
+
term,
|
|
61
|
+
budget: directPerTerm / totalBudget,
|
|
62
|
+
isRelated: false
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// Get related terms for each primary term
|
|
66
|
+
const relatedPerPrimaryTerm = relatedBudget / terms.length;
|
|
67
|
+
const relatedPerSecondaryTerm = relatedPerPrimaryTerm / RELATED_TERMS_PER;
|
|
68
|
+
for (const term of terms) {
|
|
69
|
+
const related = await getRelatedTerms(term, RELATED_TERMS_PER);
|
|
70
|
+
for (const relatedTerm of related) {
|
|
71
|
+
relatedTerms.push({
|
|
72
|
+
term: relatedTerm,
|
|
73
|
+
budget: relatedPerSecondaryTerm / totalBudget,
|
|
74
|
+
isRelated: true
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
console.log(`[DistributedQuery] Budget: ${terms.length} direct terms (${(DIRECT_RATIO * 100).toFixed(0)}%), ${relatedTerms.length} related terms (${(RELATED_RATIO * 100).toFixed(0)}%)`);
|
|
79
|
+
return {
|
|
80
|
+
directTerms,
|
|
81
|
+
relatedTerms,
|
|
82
|
+
totalBudget
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Calculate how many characters to allocate for a term
|
|
87
|
+
*/
|
|
88
|
+
export function getBudgetForTerm(budget, term) {
|
|
89
|
+
const direct = budget.directTerms.find(t => t.term === term);
|
|
90
|
+
if (direct)
|
|
91
|
+
return Math.floor(direct.budget * budget.totalBudget);
|
|
92
|
+
const related = budget.relatedTerms.find(t => t.term === term);
|
|
93
|
+
if (related)
|
|
94
|
+
return Math.floor(related.budget * budget.totalBudget);
|
|
95
|
+
return 0;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get all terms from budget (for parallel search)
|
|
99
|
+
*/
|
|
100
|
+
export function getAllTerms(budget) {
|
|
101
|
+
const direct = budget.directTerms.map(t => t.term);
|
|
102
|
+
const related = budget.relatedTerms.map(t => t.term);
|
|
103
|
+
return [...direct, ...related];
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=distributed-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distributed-query.js","sourceRoot":"","sources":["../../../src/services/search/distributed-query.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAmB,WAAW,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAc5E;;GAEG;AACH,SAAS,eAAe,CAAC,KAAa;IAClC,8CAA8C;IAC9C,MAAM,KAAK,GAAG,KAAK;SACd,WAAW,EAAE;SACb,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB;AACpD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,QAAgB,CAAC;IAC1D,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B;QACxE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,KAAa,EACb,WAAmB;IAEnB,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,CAAE,uBAAuB;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,wBAAwB;IACpD,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;IAChD,MAAM,aAAa,GAAG,WAAW,GAAG,aAAa,CAAC;IAElD,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,YAAY,GAAiB,EAAE,CAAC;IAEtC,+CAA+C;IAC/C,MAAM,aAAa,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,MAAM,EAAE,aAAa,GAAG,WAAW;YACnC,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;IACP,CAAC;IAED,0CAA0C;IAC1C,MAAM,qBAAqB,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3D,MAAM,uBAAuB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;IAE1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC/D,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,uBAAuB,GAAG,WAAW;gBAC7C,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,MAAM,kBAAkB,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,MAAM,mBAAmB,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1L,OAAO;QACH,WAAW;QACX,YAAY;QACZ,WAAW;KACd,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmB,EAAE,IAAY;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7D,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/D,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAEpE,OAAO,CAAC,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Explore Service — Illuminate / BFS Graph Traversal
|
|
3
|
+
*
|
|
4
|
+
* Given seed concepts or atom IDs, performs a breadth-first traversal of the
|
|
5
|
+
* STAR co-occurrence graph and returns the reachable subgraph. This is
|
|
6
|
+
* "structural corpus compression": the returned molecule set is the distilled
|
|
7
|
+
* meaning of the seed topic, extracted from the full knowledge graph.
|
|
8
|
+
*
|
|
9
|
+
* Two traversal strategies:
|
|
10
|
+
* 1. Edge-based — follows the `edges` table (source_id / target_id / weight)
|
|
11
|
+
* 2. Tag-based — follows shared tags in the `tags` table (fallback if no edges)
|
|
12
|
+
*/
|
|
13
|
+
export interface ExploreRequest {
|
|
14
|
+
seed: {
|
|
15
|
+
query?: string;
|
|
16
|
+
atom_ids?: string[];
|
|
17
|
+
limit_seeds?: number;
|
|
18
|
+
/** Global mode: use top-degree nodes as seeds, no query required */
|
|
19
|
+
global?: boolean;
|
|
20
|
+
/** How many top-degree nodes to use as seeds (global mode only, default 10) */
|
|
21
|
+
seed_count?: number;
|
|
22
|
+
};
|
|
23
|
+
max_depth?: number;
|
|
24
|
+
min_weight?: number;
|
|
25
|
+
max_nodes?: number;
|
|
26
|
+
format?: 'flat' | 'graph';
|
|
27
|
+
/**
|
|
28
|
+
* Character budget for output content. BFS collects freely then trims to
|
|
29
|
+
* fit. Most-connected nodes (by subgraph degree) are kept first.
|
|
30
|
+
* ~4 chars ≈ 1 token, so 200_000 chars ≈ 50k tokens.
|
|
31
|
+
*/
|
|
32
|
+
max_chars?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Auto-derive max_chars from corpus size.
|
|
35
|
+
* Budget = (total corpus chars) / compression_ratio (default 1000).
|
|
36
|
+
* e.g. 500M-token corpus (~2B chars) → 2M chars at ratio 1000.
|
|
37
|
+
*/
|
|
38
|
+
auto_budget?: boolean;
|
|
39
|
+
/** Compression ratio for auto_budget (default 1000) */
|
|
40
|
+
compression_ratio?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface ExploreNode {
|
|
43
|
+
id: string;
|
|
44
|
+
content: string;
|
|
45
|
+
source: string;
|
|
46
|
+
tags: string[];
|
|
47
|
+
/** Hub-rank score: 1.0 = most connected node, approaches 0 for least connected.
|
|
48
|
+
* Only present for illuminate-global results; undefined for BFS results. */
|
|
49
|
+
score?: number;
|
|
50
|
+
/** Source content timestamp (epoch ms). Reflects date of original content,
|
|
51
|
+
* not ingestion time. Use to reconstruct chronology. */
|
|
52
|
+
timestamp?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface ExploreEdge {
|
|
55
|
+
source: string;
|
|
56
|
+
target: string;
|
|
57
|
+
weight: number;
|
|
58
|
+
}
|
|
59
|
+
export interface ExploreResult {
|
|
60
|
+
nodes: ExploreNode[];
|
|
61
|
+
edges?: ExploreEdge[];
|
|
62
|
+
stats: {
|
|
63
|
+
nodes_count: number;
|
|
64
|
+
edges_count?: number;
|
|
65
|
+
seed_nodes: number;
|
|
66
|
+
max_depth_achieved: number;
|
|
67
|
+
strategy: string;
|
|
68
|
+
chars_used?: number;
|
|
69
|
+
char_budget?: number;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export declare function exploreMemory(req: ExploreRequest): Promise<ExploreResult>;
|
|
73
|
+
//# sourceMappingURL=explore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../../src/services/search/explore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oEAAoE;QACpE,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,+EAA+E;QAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;iFAC6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;6DACyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AA6QD,wBAAsB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA+J/E"}
|