@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,410 @@
|
|
|
1
|
+
# Anchor Architecture Documentation: The Browser Paradigm
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The Anchor Context Engine (Anchor) implements what we call the "Browser Paradigm" for AI memory systems. Just as web browsers allow any machine to render the internet by downloading only the content needed for the current view, Anchor allows any machine to process massive AI context by retrieving only the "atoms" required for the current thought.
|
|
6
|
+
|
|
7
|
+
Anchor is fundamentally a **data atomization service** that packages data in ways that allow multiple data types to be semantically utilized. The system can be queried and parsed through the Anchor CLI into tables, CSV, or JSON structures for use by various agent harnesses.
|
|
8
|
+
|
|
9
|
+
## Core Architecture Principles
|
|
10
|
+
|
|
11
|
+
### 1. The Browser Analogy
|
|
12
|
+
|
|
13
|
+
| Component | Browser Equivalent | Anchor Implementation |
|
|
14
|
+
|-----------|-------------------|-------------------|
|
|
15
|
+
| Rendering Engine | Chromium/V8 | C++ N-API Modules |
|
|
16
|
+
| Shell/Interface | Browser UI | Node.js Application |
|
|
17
|
+
| Content Delivery | HTTP/CDN | Tag-Walker Protocol |
|
|
18
|
+
| Storage | IndexedDB/LocalStorage | PGlite (PostgreSQL-compatible) |
|
|
19
|
+
|
|
20
|
+
### 2. The "Write Once, Run Everywhere" Foundation
|
|
21
|
+
|
|
22
|
+
Anchor achieves cross-platform compatibility through:
|
|
23
|
+
|
|
24
|
+
- **Node.js Orchestration**: Handles OS-specific operations and networking
|
|
25
|
+
- **C++ N-API Modules**: Performance-critical operations compiled to native code
|
|
26
|
+
- **Standard ABI**: N-API provides a stable interface between JavaScript and C++
|
|
27
|
+
- **Universal Binaries**: Automated build system creates platform-specific native modules
|
|
28
|
+
|
|
29
|
+
### 3. The "Iron Lung" Protocol
|
|
30
|
+
|
|
31
|
+
The hybrid Node.js/C++ architecture implements the "Iron Lung" protocol:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
[User Input] -> [Node.js Layer] -> [N-API Boundary] -> [C++ Performance Layer] -> [Results]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This allows rapid development in JavaScript while maintaining performance-critical operations in C++.
|
|
38
|
+
|
|
39
|
+
## System Architecture
|
|
40
|
+
|
|
41
|
+
### High-Level Components
|
|
42
|
+
|
|
43
|
+
```mermaid
|
|
44
|
+
graph TB
|
|
45
|
+
subgraph "Application Layer"
|
|
46
|
+
A[Frontend Dashboard<br/>React + Vite]
|
|
47
|
+
B[Electron Overlay<br/>Always-on-Top]
|
|
48
|
+
C[REST API<br/>Express Server]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
subgraph "Core Engine"
|
|
52
|
+
D[Node.js Shell<br/>Orchestration & Networking]
|
|
53
|
+
|
|
54
|
+
subgraph "Native Modules (C++)"
|
|
55
|
+
E[Atomizer<br/>Content Splitting]
|
|
56
|
+
F[Key Assassin<br/>Content Sanitization]
|
|
57
|
+
G[Fingerprint<br/>SimHash Generation]
|
|
58
|
+
H[Distance<br/>Similarity Calculation]
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
subgraph "Database Layer"
|
|
62
|
+
I[PGlite<br/>PostgreSQL-Compatible]
|
|
63
|
+
J[Storage Backend<br/>Persistent Storage]
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
subgraph "Services"
|
|
67
|
+
K[Ingestion Service<br/>Atomic Pipeline]
|
|
68
|
+
L[Search Service<br/>Tag-Walker Protocol]
|
|
69
|
+
M[Watchdog<br/>File Monitoring]
|
|
70
|
+
N[Dreamer<br/>Self-Organization]
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
subgraph "Utilities"
|
|
75
|
+
O[Path Manager<br/>Cross-Platform Paths]
|
|
76
|
+
P[Native Module Manager<br/>Graceful Degradation]
|
|
77
|
+
Q[Performance Monitor<br/>Metrics Collection]
|
|
78
|
+
R[Structured Logger<br/>Context-Aware Logging]
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
A --> C
|
|
82
|
+
B --> C
|
|
83
|
+
C --> D
|
|
84
|
+
D --> E
|
|
85
|
+
D --> F
|
|
86
|
+
D --> G
|
|
87
|
+
D --> H
|
|
88
|
+
D --> I
|
|
89
|
+
D --> K
|
|
90
|
+
D --> L
|
|
91
|
+
D --> M
|
|
92
|
+
D --> N
|
|
93
|
+
I --> J
|
|
94
|
+
D --> O
|
|
95
|
+
D --> P
|
|
96
|
+
D --> Q
|
|
97
|
+
D --> R
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Data Flow Architecture
|
|
101
|
+
|
|
102
|
+
#### Ingestion Pipeline
|
|
103
|
+
```mermaid
|
|
104
|
+
flowchart TD
|
|
105
|
+
A[Raw Content<br/>Text File, Code, etc.] --> B{Content Type}
|
|
106
|
+
|
|
107
|
+
B -->|Prose| C[Prose Processing<br/>Sentence Splitting]
|
|
108
|
+
B -->|Code| D[Code Processing<br/>AST-based Splitting]
|
|
109
|
+
B -->|Data| E[Data Processing<br/>Row/Line Splitting]
|
|
110
|
+
|
|
111
|
+
C --> F[Sanitization<br/>Key Assassin Protocol]
|
|
112
|
+
D --> F
|
|
113
|
+
E --> F
|
|
114
|
+
|
|
115
|
+
F --> G[Semantic Analysis<br/>Entity Extraction]
|
|
116
|
+
G --> H[Semantic Categorization<br/>Relationship/Narrative/Technical Tags]
|
|
117
|
+
|
|
118
|
+
H --> I[Compound Creation<br/>ID: comp_[hash of content+path]<br/>Contains full content]
|
|
119
|
+
I --> J[Molecule Extraction<br/>Semantic Segments<br/>with byte coordinates]
|
|
120
|
+
|
|
121
|
+
J --> K[Molecule 1<br/>ID: mol_[hash]<br/>Content: [segment text]<br/>Start: [byte offset]<br/>End: [byte offset]<br/>Type: prose/code/data<br/>Sequence: 0]
|
|
122
|
+
|
|
123
|
+
J --> L[Molecule 2<br/>ID: mol_[hash]<br/>Content: [segment text]<br/>Start: [byte offset]<br/>End: [byte offset]<br/>Type: prose/code/data<br/>Sequence: 1]
|
|
124
|
+
|
|
125
|
+
J --> M[Other Molecules<br/>...]
|
|
126
|
+
|
|
127
|
+
G --> N[System Atoms<br/>#project, #src, #code, etc.]
|
|
128
|
+
H --> O[Semantic Atoms<br/>#Relationship, #Narrative, etc.]
|
|
129
|
+
K --> P[K-Molecule Atoms<br/>Specific entities in segment]
|
|
130
|
+
L --> Q[L-Molecule Atoms<br/>Specific entities in segment]
|
|
131
|
+
M --> R[Other Molecule Atoms<br/>...]
|
|
132
|
+
|
|
133
|
+
I --> S[Compound Atoms<br/>Aggregated from all molecules]
|
|
134
|
+
I --> T[Compound Molecules<br/>IDs of all molecules]
|
|
135
|
+
|
|
136
|
+
K --> U[Molecule-Compound Link<br/>compoundId reference]
|
|
137
|
+
L --> U
|
|
138
|
+
M --> U
|
|
139
|
+
|
|
140
|
+
N --> V[Atom Deduplication<br/>Remove duplicates across system]
|
|
141
|
+
O --> V
|
|
142
|
+
P --> V
|
|
143
|
+
Q --> V
|
|
144
|
+
R --> V
|
|
145
|
+
|
|
146
|
+
V --> W[Final Atoms<br/>Unique atom IDs with labels]
|
|
147
|
+
|
|
148
|
+
I --> X{Persist to Database}
|
|
149
|
+
K --> X
|
|
150
|
+
L --> X
|
|
151
|
+
M --> X
|
|
152
|
+
W --> X
|
|
153
|
+
|
|
154
|
+
X --> Y[PGlite Tables:<br/>- compounds table<br/>- molecules table<br/>- atoms table<br/>- atom_edges table]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
#### Search Pipeline
|
|
158
|
+
```mermaid
|
|
159
|
+
graph TD
|
|
160
|
+
A[User Query<br/>"Revenue optimization summary"] --> B[Phase 1: Intelligent Parsing<br/>Remove stopwords & detect intent]
|
|
161
|
+
|
|
162
|
+
B --> C{Strict Search<br/>GIN Index}
|
|
163
|
+
C -->|Results Found| D[Anchor set established]
|
|
164
|
+
C -->|No Results| E[Phase 3: Fuzzy Fallback<br/>Switch to OR-logic]
|
|
165
|
+
|
|
166
|
+
E -->|Results Found| D
|
|
167
|
+
E -->|No Results| F[Return Empty/Suggestions]
|
|
168
|
+
|
|
169
|
+
D --> G[Phase 4: Semantic Walk<br/>Tag-Walker Protocol]
|
|
170
|
+
|
|
171
|
+
subgraph "Walk Logic"
|
|
172
|
+
G --> H{Bucket Filter?}
|
|
173
|
+
H -->|Yes| I[Strict Sandbox<br/>Only Atoms in same Bucket]
|
|
174
|
+
H -->|No| J[Global Walk<br/>Cross-Corpus Associates]
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
I --> K[Candidate Neighbors]
|
|
178
|
+
J --> K
|
|
179
|
+
|
|
180
|
+
K --> L[Scoring & Ranking<br/>Provenance + Tag Overlap]
|
|
181
|
+
|
|
182
|
+
L --> M{Sort Intent?}
|
|
183
|
+
M -->|'Earliest'| N[Sort by Timestamp ASC]
|
|
184
|
+
M -->|Default| O[Sort by Score + Timestamp DESC]
|
|
185
|
+
|
|
186
|
+
N --> P[Final Result Set]
|
|
187
|
+
O --> P
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Performance Achievements
|
|
191
|
+
|
|
192
|
+
The Anchor system has successfully achieved **orbital velocity** with the deployment of the **Hybrid C++/Node.js Architecture**. The "Iron Lung" (Native Module Acceleration) is operational with exceptional performance metrics:
|
|
193
|
+
|
|
194
|
+
- **Distance Calculations**: 4.7M ops/sec (Batch/SIMD) - 8,000x improvement
|
|
195
|
+
- **Ingestion Pipeline**: Full pipeline (Cleanse → Fingerprint) at ~9ms
|
|
196
|
+
- **Memory Efficiency**: 30-50% reduction in memory usage
|
|
197
|
+
- **Cross-Platform**: Consistent performance across Windows, macOS, Linux
|
|
198
|
+
- **Native Acceleration**: 2.3x faster code processing with C++ modules
|
|
199
|
+
- **Tag-Walker Protocol**: Graph-based associative retrieval replacing vector search (70/30 keyword/associative split)
|
|
200
|
+
- **Database Stability**: PGlite implementation successfully debugged and stable (Replacing CozoDB)
|
|
201
|
+
|
|
202
|
+
### Architecture Validation
|
|
203
|
+
- **Code Rating**: Qwen Code model validated architecture (9/10)
|
|
204
|
+
- **Zero-Copy Operations**: Successfully implemented with `std::string_view`
|
|
205
|
+
- **Graceful Degradation**: Fallbacks working when native modules unavailable
|
|
206
|
+
- **Modular Design**: Components properly isolated for maintenance
|
|
207
|
+
|
|
208
|
+
## Agent Harness Agnosticism
|
|
209
|
+
|
|
210
|
+
### Core Philosophy: Data Atomization Service
|
|
211
|
+
|
|
212
|
+
Anchor is fundamentally a **data atomization service** that:
|
|
213
|
+
|
|
214
|
+
- Packages diverse data types into semantically meaningful units
|
|
215
|
+
- Enables semantic utilization of multiple data types
|
|
216
|
+
- Provides CLI access for querying and parsing data
|
|
217
|
+
- Outputs data in standardized formats (tables, CSV, JSON)
|
|
218
|
+
- Serves as a foundational layer for various agent systems
|
|
219
|
+
|
|
220
|
+
### Harness Agnosticism Design
|
|
221
|
+
|
|
222
|
+
The system is designed to work with multiple agent harnesses:
|
|
223
|
+
|
|
224
|
+
#### Primary Target: OpenCLAW
|
|
225
|
+
- The main agent framework currently intended for use
|
|
226
|
+
- Demonstrates the full capabilities of the Anchor service
|
|
227
|
+
- Optimized for the specific use cases Anchor targets
|
|
228
|
+
|
|
229
|
+
#### Support for Other Harnesses
|
|
230
|
+
- Generic API endpoints for context retrieval
|
|
231
|
+
- Standardized data formats (JSON, CSV, tables)
|
|
232
|
+
- Flexible query mechanisms
|
|
233
|
+
- Extensible plugin system
|
|
234
|
+
|
|
235
|
+
### Stateless Context Retrieval Architecture
|
|
236
|
+
|
|
237
|
+
The system implements a "stateless" approach where:
|
|
238
|
+
|
|
239
|
+
1. Agent harness sends query to Anchor
|
|
240
|
+
2. Query is intercepted and processed by the search system
|
|
241
|
+
3. Retrieved context (limited to configurable tokens) is returned
|
|
242
|
+
4. Agent harness combines context with its own logic
|
|
243
|
+
5. Final processing happens in the agent system
|
|
244
|
+
|
|
245
|
+
**Data Flow:**
|
|
246
|
+
```
|
|
247
|
+
Agent Query -> Anchor Context Retrieval -> Context + Agent Logic -> Response
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
This design ensures that Anchor serves as a reliable data foundation while allowing agent harnesses to maintain their own logic and state management.
|
|
251
|
+
|
|
252
|
+
## Search Logic & Query Processing
|
|
253
|
+
|
|
254
|
+
### Current State: Hybrid Powerplant Online
|
|
255
|
+
|
|
256
|
+
The system has achieved significant performance milestones with the hybrid architecture implementation. The native modules are delivering exceptional performance gains as designed. However, the search guidance system requires calibration to properly leverage these performance improvements and provide a seamless user experience that matches the engine's capabilities.
|
|
257
|
+
|
|
258
|
+
### Tag-Walker Protocol
|
|
259
|
+
|
|
260
|
+
The Tag-Walker protocol is the core search mechanism:
|
|
261
|
+
|
|
262
|
+
- **Graph-based Associative Retrieval**: Replacing legacy vector search
|
|
263
|
+
- **Semantic Category Mapping**: High-level semantic categories instead of granular tags
|
|
264
|
+
- **Entity Co-occurrence Detection**: For relationship narratives
|
|
265
|
+
- **Relationship Narrative Discovery**: Entity co-occurrence detection for relationship patterns
|
|
266
|
+
|
|
267
|
+
### Search Calibration Challenges
|
|
268
|
+
|
|
269
|
+
The system exhibits some brittleness in natural language query processing:
|
|
270
|
+
|
|
271
|
+
- **Issue**: Query "What is the latest state of the Anchor" returned 0 results
|
|
272
|
+
- **Cause**: Over-optimization in NLP parser or overly strict bucket filters
|
|
273
|
+
- **Fallback Success**: "state Anchor" query returned 42 relevant results
|
|
274
|
+
- **Diagnosis**: Semantic Shift Architecture (Standard 084) needs calibration for natural language intent mapping
|
|
275
|
+
|
|
276
|
+
### Search Improvement Strategy
|
|
277
|
+
|
|
278
|
+
#### Immediate Fixes
|
|
279
|
+
1. **Relax First-Pass Filtering**
|
|
280
|
+
- Reduce over-filtering in initial query processing
|
|
281
|
+
- Implement more permissive semantic matching on first attempt
|
|
282
|
+
- Prevent valid queries from returning 0 results when relevant content exists
|
|
283
|
+
|
|
284
|
+
2. **Enhance Natural Language Processing**
|
|
285
|
+
- Improve intent extraction for conversational queries
|
|
286
|
+
- Expand synonym mapping for common query patterns
|
|
287
|
+
- Reduce reliance on fallback strategies
|
|
288
|
+
|
|
289
|
+
3. **Optimize Query Expansion**
|
|
290
|
+
- Implement intelligent query expansion for natural language
|
|
291
|
+
- Add semantic category mapping for high-level queries
|
|
292
|
+
- Improve entity recognition for context-specific terms
|
|
293
|
+
|
|
294
|
+
#### Advanced Features
|
|
295
|
+
1. **Entity Co-occurrence Detection Improvement**
|
|
296
|
+
- Enhanced relationship indicators between entities
|
|
297
|
+
- Improved semantic category emergence
|
|
298
|
+
- Strengthened relationship historian pattern
|
|
299
|
+
|
|
300
|
+
2. **Adaptive Filtering**
|
|
301
|
+
- Query-type classification (conversational, precise, exploratory)
|
|
302
|
+
- Adaptive filtering strategies based on query type
|
|
303
|
+
- Confidence-based fallback mechanisms
|
|
304
|
+
|
|
305
|
+
## Updated UI Architecture: Glass Panel Design
|
|
306
|
+
|
|
307
|
+
**Note: The previously planned "Bright Node Protocol" and "Three Column UI" have been reverted to a simpler glass panel design for improved stability and maintainability.**
|
|
308
|
+
|
|
309
|
+
### Current UI Approach
|
|
310
|
+
|
|
311
|
+
The frontend now uses a "glass panel" aesthetic throughout, implemented in the Search UI and carried over to other components. This design provides:
|
|
312
|
+
|
|
313
|
+
- Consistent visual language across the application
|
|
314
|
+
- Improved performance compared to the complex three-column layout
|
|
315
|
+
- Better maintainability and debugging experience
|
|
316
|
+
|
|
317
|
+
### Search Interface
|
|
318
|
+
|
|
319
|
+
The SearchColumn component implements a tabbed interface with:
|
|
320
|
+
- Card view for structured results
|
|
321
|
+
- Raw view for context inspection
|
|
322
|
+
- Real-time filtering and toggles
|
|
323
|
+
- Token budget controls
|
|
324
|
+
|
|
325
|
+
## API Design
|
|
326
|
+
|
|
327
|
+
### Standardized Endpoints
|
|
328
|
+
Following the UniversalRAG API standard:
|
|
329
|
+
|
|
330
|
+
- `/v1/memory/search` - Traditional search endpoint
|
|
331
|
+
- `/v1/memory/molecule-search` - Splits query into sentence-like chunks
|
|
332
|
+
- `/v1/buckets` - Get available data buckets
|
|
333
|
+
- `/v1/tags` - Get available tags
|
|
334
|
+
- `/v1/ingest` - Ingest new content
|
|
335
|
+
|
|
336
|
+
### Context Retrieval for Agent Harnesses
|
|
337
|
+
The API is designed to support multiple agent harnesses:
|
|
338
|
+
|
|
339
|
+
- **Flexible Token Budgets**: Configurable context limits
|
|
340
|
+
- **Structured Data Formats**: JSON, CSV, and table outputs
|
|
341
|
+
- **CLI Integration**: Command-line access for automation
|
|
342
|
+
- **Plugin System**: Extensible architecture for new harnesses
|
|
343
|
+
|
|
344
|
+
## Cross-Platform Implementation
|
|
345
|
+
|
|
346
|
+
### Universal Build System
|
|
347
|
+
The build system automatically handles platform-specific compilation:
|
|
348
|
+
|
|
349
|
+
- **Windows**: Uses MSVC compiler, produces `.node` files for Windows
|
|
350
|
+
- **macOS**: Uses Clang, produces `.node` files for Darwin
|
|
351
|
+
- **Linux**: Uses GCC, produces `.node` files for Linux
|
|
352
|
+
|
|
353
|
+
### Path Management
|
|
354
|
+
The `PathManager` class handles platform-specific paths:
|
|
355
|
+
|
|
356
|
+
```typescript
|
|
357
|
+
export class PathManager {
|
|
358
|
+
public getNativePath(filename: string): string {
|
|
359
|
+
// Handle platform-specific binary names
|
|
360
|
+
switch (this.platform) {
|
|
361
|
+
case 'win32': return path.join(this.basePath, 'build', 'Release', 'anchor_native.node');
|
|
362
|
+
case 'darwin':
|
|
363
|
+
case 'linux': return path.join(this.basePath, 'build', 'Release', 'anchor_native.node');
|
|
364
|
+
default: throw new Error(`Unsupported platform: ${this.platform}`);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Resource Management
|
|
371
|
+
|
|
372
|
+
### Memory Optimization
|
|
373
|
+
The `ResourceManager` monitors and optimizes memory usage:
|
|
374
|
+
|
|
375
|
+
- **Automatic GC**: Triggers garbage collection when memory usage exceeds thresholds
|
|
376
|
+
- **Cache Management**: Clears internal caches to free up memory
|
|
377
|
+
- **Monitoring**: Continuous monitoring with configurable intervals
|
|
378
|
+
|
|
379
|
+
### Performance Considerations
|
|
380
|
+
- **C++ for Performance**: Critical path operations implemented in C++
|
|
381
|
+
- **Zero-Copy Operations**: Using `std::string_view` to avoid unnecessary allocations
|
|
382
|
+
- **Batch Processing**: Operations batched to minimize system calls
|
|
383
|
+
|
|
384
|
+
## Database Implementation
|
|
385
|
+
|
|
386
|
+
The system now uses PGlite (PostgreSQL-compatible) instead of CozoDB for improved reliability and performance:
|
|
387
|
+
|
|
388
|
+
- **Atoms Table**: Stores individual knowledge units
|
|
389
|
+
- **Tags Table**: Manages semantic tags and relationships
|
|
390
|
+
- **Edges Table**: Represents connections between atoms
|
|
391
|
+
- **Sources Table**: Tracks document origins
|
|
392
|
+
- **Molecules/Compounds Tables**: Hierarchical content organization
|
|
393
|
+
|
|
394
|
+
## Benefits of Harness Agnosticism
|
|
395
|
+
|
|
396
|
+
1. **Flexibility**: Works with multiple agent frameworks
|
|
397
|
+
2. **Future-Proofing**: Can adapt to new agent systems
|
|
398
|
+
3. **Specialization**: Different harnesses can specialize for different tasks
|
|
399
|
+
4. **Interoperability**: Multiple systems can access the same knowledge base
|
|
400
|
+
5. **Scalability**: Can support various agent architectures
|
|
401
|
+
|
|
402
|
+
## Conclusion
|
|
403
|
+
|
|
404
|
+
The Anchor architecture embodies the "Browser Paradigm" by decoupling the computational logic from the data storage, allowing the system to scale efficiently across different hardware configurations. The hybrid Node.js/C++ approach provides both the flexibility of JavaScript for rapid development and the performance of C++ for critical operations, all while maintaining cross-platform compatibility through the N-API boundary.
|
|
405
|
+
|
|
406
|
+
The updated architecture focuses on stability and maintainability by reverting complex UI features to simpler glass panel designs, while maintaining the sophisticated context management and semantic search capabilities that define the system.
|
|
407
|
+
|
|
408
|
+
Most importantly, the system is designed as a **data atomization service** that is **agent harness agnostic**, allowing it to serve as a foundational layer for multiple agent systems including OpenCLAW and others.
|
|
409
|
+
|
|
410
|
+
This architecture enables Anchor to run on any device—from smartphones to servers—while maintaining the sophisticated AI memory capabilities that users expect from modern systems.
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# ECE Architecture Diagrams
|
|
2
|
+
|
|
3
|
+
## System Architecture Overview
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
graph TB
|
|
7
|
+
subgraph "Frontend Layer"
|
|
8
|
+
UI[Web UI / Electron Overlay]
|
|
9
|
+
API[REST API Interface]
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
subgraph "Engine Layer"
|
|
13
|
+
subgraph "Services"
|
|
14
|
+
WD[Watchdog Service]
|
|
15
|
+
AS[Atomizer Service]
|
|
16
|
+
SS[Search Service]
|
|
17
|
+
IS[Ingestion Service]
|
|
18
|
+
MS[Mirror Service]
|
|
19
|
+
DS[Dreamer Service]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
subgraph "Core Components"
|
|
23
|
+
CFG[Configuration Manager]
|
|
24
|
+
DB[(PGlite<br/>PostgreSQL-Compatible)]
|
|
25
|
+
PM[Path Manager]
|
|
26
|
+
NMM[Native Module Manager]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
subgraph "Inference"
|
|
30
|
+
INF[Inference Service]
|
|
31
|
+
LW[LLM Workers]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
subgraph "Native Layer"
|
|
36
|
+
NM[C++ Native Modules<br/>Atomization & SimHash]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
subgraph "Data Sources"
|
|
40
|
+
FS[File System<br/>Notebook Directory]
|
|
41
|
+
EXT[External Sources]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
UI --> API
|
|
45
|
+
API --> WD
|
|
46
|
+
API --> SS
|
|
47
|
+
API --> IS
|
|
48
|
+
API --> DS
|
|
49
|
+
|
|
50
|
+
WD --> AS
|
|
51
|
+
AS --> NM
|
|
52
|
+
IS --> DB
|
|
53
|
+
SS --> DB
|
|
54
|
+
DS --> DB
|
|
55
|
+
MS --> DB
|
|
56
|
+
|
|
57
|
+
AS --> DB
|
|
58
|
+
INF --> LW
|
|
59
|
+
LW --> DB
|
|
60
|
+
|
|
61
|
+
FS --> WD
|
|
62
|
+
EXT --> IS
|
|
63
|
+
NM --> DB
|
|
64
|
+
|
|
65
|
+
NMM --> NM
|
|
66
|
+
PM --> AllServices
|
|
67
|
+
CFG --> AllServices
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Atomic Taxonomy: Atom -> Molecule -> Compound
|
|
71
|
+
|
|
72
|
+
```mermaid
|
|
73
|
+
graph TD
|
|
74
|
+
subgraph "Compound (Document/File)"
|
|
75
|
+
C[Compound<br/>ID: comp_xxx<br/>Path: /notebook/file.md<br/>Timestamp: 1234567890<br/>Provenance: internal<br/>Molecular Signature: abc123]
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
subgraph "Molecules (Text Segments)"
|
|
79
|
+
M1[Molecule 1<br/>ID: mol_xxx_001<br/>Content: 'This is the first segment'<br/>Sequence: 0<br/>Compound ID: comp_xxx<br/>Start Byte: 0<br/>End Byte: 25<br/>Type: prose<br/>Molecular Signature: def456]
|
|
80
|
+
|
|
81
|
+
M2[Molecule 2<br/>ID: mol_xxx_002<br/>Content: 'This is the second segment'<br/>Sequence: 1<br/>Compound ID: comp_xxx<br/>Start Byte: 26<br/>End Byte: 55<br/>Type: prose<br/>Molecular Signature: ghi789]
|
|
82
|
+
|
|
83
|
+
M3[Molecule 3<br/>ID: mol_xxx_003<br/>Content: 'Code block here'<br/>Sequence: 2<br/>Compound ID: comp_xxx<br/>Start Byte: 56<br/>End Byte: 80<br/>Type: code<br/>Molecular Signature: jkl012]
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
subgraph "Atoms (Semantic Units)"
|
|
87
|
+
A1[Atom: #project:ECE_Core<br/>Type: system<br/>Weight: 1.0]
|
|
88
|
+
A2[Atom: #src<br/>Type: system<br/>Weight: 1.0]
|
|
89
|
+
A3[Atom: #code<br/>Type: system<br/>Weight: 1.0]
|
|
90
|
+
A4[Atom: #typescript<br/>Type: concept<br/>Weight: 0.8]
|
|
91
|
+
A5[Atom: #database<br/>Type: concept<br/>Weight: 0.9]
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
C --> M1
|
|
95
|
+
C --> M2
|
|
96
|
+
C --> M3
|
|
97
|
+
M1 --> A1
|
|
98
|
+
M1 --> A2
|
|
99
|
+
M1 --> A4
|
|
100
|
+
M2 --> A1
|
|
101
|
+
M2 --> A5
|
|
102
|
+
M3 --> A3
|
|
103
|
+
M3 --> A4
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Ingestion Pipeline
|
|
107
|
+
|
|
108
|
+
```mermaid
|
|
109
|
+
sequenceDiagram
|
|
110
|
+
participant FS as File System
|
|
111
|
+
participant WD as Watchdog
|
|
112
|
+
participant AS as Atomizer
|
|
113
|
+
participant IS as Ingestion Service
|
|
114
|
+
participant DB as PGlite
|
|
115
|
+
participant NM as Native Modules
|
|
116
|
+
|
|
117
|
+
FS->>WD: File Change Detected
|
|
118
|
+
WD->>WD: Hash Check & Change Detection
|
|
119
|
+
alt File Changed
|
|
120
|
+
WD->>AS: Request Atomization
|
|
121
|
+
AS->>NM: Sanitize & Process (Native)
|
|
122
|
+
NM->>AS: Processed Content
|
|
123
|
+
AS->>AS: Create Atomic Topology
|
|
124
|
+
AS->>IS: Send Compound/Molecules/Atoms
|
|
125
|
+
IS->>DB: Persist to Database
|
|
126
|
+
IS->>WD: Confirmation
|
|
127
|
+
end
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Search Architecture (Tag-Walker Protocol)
|
|
131
|
+
|
|
132
|
+
```mermaid
|
|
133
|
+
graph LR
|
|
134
|
+
subgraph "Query Processing"
|
|
135
|
+
QP[Query Parser<br/>NLP Processing]
|
|
136
|
+
QE[Query Expander<br/>Tag Matching]
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
subgraph "Search Strategies"
|
|
140
|
+
FTS[FTS Search<br/>PGlite GIN Index]
|
|
141
|
+
TW[Tag-Walker<br/>Graph Traversal]
|
|
142
|
+
EI[Engram Lookup<br/>O(1) Access]
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
subgraph "Results Processing"
|
|
146
|
+
CI[Context Inflator<br/>Molecular Coordinates]
|
|
147
|
+
RS[Result Scorer<br/>Provenance & Type Boosting]
|
|
148
|
+
DF[Duplicate Filter<br/>SimHash Comparison]
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
subgraph "Database"
|
|
152
|
+
TBL_MEM[(atoms table)]
|
|
153
|
+
TBL_MOL[(molecules table)]
|
|
154
|
+
TBL_ATOM[(tags table)]
|
|
155
|
+
TBL_EDGE[(edges table)]
|
|
156
|
+
TBL_ENG[(engrams table)]
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
QP --> QE
|
|
160
|
+
QE --> FTS
|
|
161
|
+
QE --> TW
|
|
162
|
+
QE --> EI
|
|
163
|
+
|
|
164
|
+
FTS --> TBL_MEM
|
|
165
|
+
TW --> TBL_MEM
|
|
166
|
+
TW --> TBL_ATOM
|
|
167
|
+
TW --> TBL_EDGE
|
|
168
|
+
EI --> TBL_ENG
|
|
169
|
+
|
|
170
|
+
TBL_MEM --> CI
|
|
171
|
+
TBL_MOL --> CI
|
|
172
|
+
CI --> RS
|
|
173
|
+
RS --> DF
|
|
174
|
+
```
|