@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,445 @@
|
|
|
1
|
+
|
|
2
|
+
# STAR: Semantic Temporal Associative Retrieval
|
|
3
|
+
## The Browser Paradigm for AI Memory
|
|
4
|
+
|
|
5
|
+
### Authors
|
|
6
|
+
Robert S Balch II - Independent Researcher
|
|
7
|
+
|
|
8
|
+
### Abstract
|
|
9
|
+
|
|
10
|
+
AI memory is broken. To achieve serious context retrieval, practitioners need server racks, GPU budgets, and cloud subscriptions. Intelligence is locked in black boxes—massive vector indices consuming gigabytes of RAM and tying users to proprietary systems.
|
|
11
|
+
|
|
12
|
+
This paper presents **STAR** (Semantic Temporal Associative Retrieval), a novel retrieval algorithm implementing the "Browser Paradigm" for AI memory. Like a browser rendering websites by loading only necessary shards, STAR enables any device from $200 laptops to supercomputers to navigate massive context by retrieving only atoms required for the current query.
|
|
13
|
+
|
|
14
|
+
We present the mathematical foundation, implementation details, and production benchmarks from real workloads: 91MB chat history ingested in under 3 minutes, 280,000 molecules indexed, zero data loss. STAR achieves **O(k·d̄)** retrieval complexity where *k* = query tags and *d̄* = average tag degree, compared to **O(n log n)** for dense vector ANN.
|
|
15
|
+
|
|
16
|
+
**v4.8.0 Update (March 2026):** Added MCP write operations, session index for two-tier retrieval, and comprehensive documentation. Philosophy: AI memory should work like the human brain—forgetting noise, remembering relationships, clarifying over time.
|
|
17
|
+
|
|
18
|
+
**Keywords:** Information Retrieval, Graph-Based Search, SimHash, Local-First AI, Explainable AI, PGlite, MCP
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Introduction
|
|
23
|
+
|
|
24
|
+
Web browsers are universal. The same website renders identically on a $300 Chromebook and a $5000 MacBook Pro because browsers download only necessary shards (HTML, CSS, JS) for the current view—not the entire internet.
|
|
25
|
+
|
|
26
|
+
AI memory should operate similarly. Current Retrieval-Augmented Generation (RAG) systems require loading complete HNSW indices into RAM—gigabytes of vector data—before searching. This restricts deployment to high-spec servers, creating artificial scarcity.
|
|
27
|
+
|
|
28
|
+
**Contributions:**
|
|
29
|
+
1. **STAR Algorithm**: Physics-based graph traversal with temporal decay and SimHash fingerprinting
|
|
30
|
+
2. **Browser Paradigm**: Sharded atomization architecturally designed for 4GB RAM laptops to navigate 10TB+ datasets
|
|
31
|
+
3. **Production Benchmarks**: Real-world performance on 100MB dataset (280K molecules, 151K atoms)
|
|
32
|
+
4. **SQL-Native Implementation**: Unified Field Equation executed in PGlite (pure TypeScript + WASM, ~50-150ms latency)
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Mathematical Foundation
|
|
37
|
+
|
|
38
|
+
### 2.1 Bipartite Graph Formalization
|
|
39
|
+
|
|
40
|
+
Let $G = (A, T, E)$ be a bipartite graph where:
|
|
41
|
+
|
|
42
|
+
- **$A = \{a_1, a_2, ..., a_n\}$**: Set of *Atoms* (text/code/data chunks with byte-offset pointers)
|
|
43
|
+
- **$T = \{t_1, t_2, ..., t_m\}$**: Set of *Tags* (extracted semantic entities/concepts)
|
|
44
|
+
- **$E \subseteq A \times T$**: Sparse edges where $|E| \ll |A| \times |T|$
|
|
45
|
+
|
|
46
|
+
Each atom $a_i \in A$ has:
|
|
47
|
+
- **Content pointer**: $(source_i, start_i, end_i)$ — file path and byte offsets
|
|
48
|
+
- **Tag set**: $T(a_i) = \{t \in T : (a_i, t) \in E\}$
|
|
49
|
+
- **Timestamp**: $\tau_i \in \mathbb{R}^+$ (Unix epoch)
|
|
50
|
+
- **SimHash fingerprint**: $h_i \in \{0,1\}^{64}$
|
|
51
|
+
|
|
52
|
+
### 2.2 The Unified Field Equation
|
|
53
|
+
|
|
54
|
+
For query $q$ with tag set $T(q)$ and candidate atom $a$, the **gravity score** is:
|
|
55
|
+
|
|
56
|
+
$$W(q, a) = \underbrace{\left(\sum_{t \in T(q) \cap T(a)} 1\right) \cdot \gamma^{d(q,a)}}_{\text{Semantic Gravity}} \times \underbrace{e^{-\lambda \Delta t}}_{\text{Temporal Decay}} \times \underbrace{\left(1 - \frac{H(h_q, h_a)}{64}\right)}_{\text{Structural Gravity}}$$
|
|
57
|
+
|
|
58
|
+
Where:
|
|
59
|
+
|
|
60
|
+
| Symbol | Meaning | Default |
|
|
61
|
+
|--------|---------|---------|
|
|
62
|
+
| $\gamma$ | Damping factor (controls walk viscosity) | 0.85 |
|
|
63
|
+
| $\lambda$ | Decay constant (half-life ≈ 115 min) | 0.0001 s⁻¹ |
|
|
64
|
+
| $d(q,a)$ | Graph hop distance (0 = direct, 1 = 1-hop neighbor) | ∈ {0,1,2,3} |
|
|
65
|
+
| $\Delta t$ | Time difference $|\tau_q - \tau_a|$ in seconds | — |
|
|
66
|
+
| $H(\cdot,\cdot)$ | Hamming distance on 64-bit SimHash | 0–63 |
|
|
67
|
+
| $h_q, h_a$ | SimHash fingerprints of query and atom | $\{0,1\}^{64}$ |
|
|
68
|
+
|
|
69
|
+
**Component Breakdown:**
|
|
70
|
+
|
|
71
|
+
1. **Semantic Gravity**: $|T(q) \cap T(a)| \cdot \gamma^{d(q,a)}$
|
|
72
|
+
- Shared tag count weighted by graph distance
|
|
73
|
+
- Exponential decay with hop distance (damping)
|
|
74
|
+
|
|
75
|
+
2. **Temporal Decay**: $e^{-\lambda \Delta t}$
|
|
76
|
+
- Recent memories exert stronger gravitational pull
|
|
77
|
+
- Half-life: $t_{1/2} = \ln(2)/\lambda \approx 6,931$ seconds ≈ 115 minutes
|
|
78
|
+
|
|
79
|
+
3. **Structural Gravity**: $1 - \frac{H(h_q, h_a)}{64}$
|
|
80
|
+
- SimHash proximity (1 = identical, 0.5 = uncorrelated, 0 = completely different)
|
|
81
|
+
- Hamming distance normalized to [0,1]; lower distance = higher similarity
|
|
82
|
+
|
|
83
|
+
### 2.3 SQL-Native Implementation
|
|
84
|
+
|
|
85
|
+
The Unified Field Equation executes as a single SQL operation in PGlite:
|
|
86
|
+
|
|
87
|
+
```sql
|
|
88
|
+
WITH anchor_stats AS (
|
|
89
|
+
SELECT id, timestamp, simhash
|
|
90
|
+
FROM atoms WHERE id IN ($1::text[])
|
|
91
|
+
),
|
|
92
|
+
candidates AS (
|
|
93
|
+
SELECT t.atom_id, a.timestamp, a.simhash,
|
|
94
|
+
COUNT(DISTINCT t.tag) as shared_tags
|
|
95
|
+
FROM tags t
|
|
96
|
+
JOIN atoms a ON t.atom_id = a.id
|
|
97
|
+
WHERE t.tag IN (SELECT DISTINCT tag FROM tags
|
|
98
|
+
WHERE atom_id IN (SELECT id FROM anchor_stats))
|
|
99
|
+
GROUP BY t.atom_id, a.timestamp, a.simhash
|
|
100
|
+
)
|
|
101
|
+
SELECT atom_id,
|
|
102
|
+
MAX(
|
|
103
|
+
GREATEST(0.0, LEAST(1.0,
|
|
104
|
+
((shared_tags / 10.0) * POWER(0.85, 1)) * -- simplified 1-hop assumed here
|
|
105
|
+
EXP(-0.0001 * ABS(timestamp - anchor_ts)) *
|
|
106
|
+
(1.0 - (bit_count(('x' || LPAD(simhash, 16, '0'))::bit(64)
|
|
107
|
+
# ('x' || LPAD(anchor_sh, 16, '0'))::bit(64)) / 64.0))
|
|
108
|
+
))
|
|
109
|
+
) as gravity_score
|
|
110
|
+
FROM candidates
|
|
111
|
+
CROSS JOIN anchor_stats
|
|
112
|
+
GROUP BY atom_id
|
|
113
|
+
HAVING gravity_score > 0.01
|
|
114
|
+
ORDER BY gravity_score DESC
|
|
115
|
+
LIMIT 200;
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Implementation Notes:**
|
|
119
|
+
- **Normalization:** The `shared_tags / 10.0` term normalizes tag counts, assuming ~10 shared tags maximum
|
|
120
|
+
- **Damping:** The 0.85 factor applies per-hop; multi-hop traversal compounds this decay via exponentiation (γ^hop_distance). This simplified query shows the single-hop case; the full recursive CTE (shown in the paper) includes hop-distance exponentiation.
|
|
121
|
+
- **Physical Bonus:** Production implementations may add proximity-based bonuses for co-located atoms
|
|
122
|
+
- **Bitwise Operations:** SimHash distance uses XOR (`#`) and `bit_count` for O(1) computation
|
|
123
|
+
|
|
124
|
+
**Performance Characteristics:**
|
|
125
|
+
- Sparse matrix multiplication via `JOIN` operations
|
|
126
|
+
- Bitwise XOR and `bit_count` for SimHash distance
|
|
127
|
+
- Zero transport overhead (only weighted results returned)
|
|
128
|
+
- **Latency**: ~50-150ms for 1M+ atoms on consumer hardware (TypeScript + PGlite WASM; v4.3.0+)
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 3. System Architecture
|
|
133
|
+
|
|
134
|
+
### 3.1 Data Hierarchy
|
|
135
|
+
|
|
136
|
+
| Level | Role | Content Stored | Example |
|
|
137
|
+
|-------|------|----------------|---------|
|
|
138
|
+
| **Compound** | Document reference | File path + metadata | `ChatSessions.yaml` (91.88MB) |
|
|
139
|
+
| **Molecule** | Semantic chunk | Chunk text + byte offsets | Bytes 1024–2048 |
|
|
140
|
+
| **Atom** | Content unit | Byte-offset pointer + tags | Text chunk with `#auth` tag |
|
|
141
|
+
| **Tag** | Concept/label | Semantic label only | `#authentication`, `#session` |
|
|
142
|
+
|
|
143
|
+
**Key Design Decision:** Content lives in `mirrored_brain/` filesystem. Database stores pointers only (byte offsets + tags), creating a **disposable, rebuildable index**.
|
|
144
|
+
|
|
145
|
+
### 3.2 The Browser Paradigm
|
|
146
|
+
|
|
147
|
+
| Component | Browser Equivalent | Anchor Engine Implementation |
|
|
148
|
+
|-----------|-------------------|------------------------------|
|
|
149
|
+
| **HTML/CSS/JS shards** | Web page components | Atoms (content with tags + byte offsets) |
|
|
150
|
+
| **DOM tree** | Document structure | Tag graph $G = (A, T, E)$ |
|
|
151
|
+
| **Lazy loading** | On-demand resource fetch | Radial inflation from disk |
|
|
152
|
+
| **Cache** | Browser cache | Ephemeral PGlite index |
|
|
153
|
+
|
|
154
|
+
**Universality Principle:** Just as browsers render any website on any machine by loading necessary shards, Anchor Engine navigates any dataset by loading only relevant atoms.
|
|
155
|
+
|
|
156
|
+
### 3.3 Complexity Analysis
|
|
157
|
+
|
|
158
|
+
| Method | Time Complexity | Space Complexity | Explainability | Hardware |
|
|
159
|
+
|--------|----------------|------------------|----------------|----------|
|
|
160
|
+
| **Dense Vector ANN (HNSW)** | $O(n \log n)$ or $O(n)$ | $O(n \cdot d)$ | Opaque (black box) | GPU preferred |
|
|
161
|
+
| **STAR (Sparse Graph)** | **$O(k \cdot \bar{d})$** | **$O(|E|)$** | **Native (tag paths)** | **CPU-only** |
|
|
162
|
+
|
|
163
|
+
Where:
|
|
164
|
+
- $n$ = total atoms
|
|
165
|
+
- $k$ = query tags (typically 5–20)
|
|
166
|
+
- $\bar{d}$ = average tag degree (typically 10–100)
|
|
167
|
+
- $d$ = vector dimension (typically 768–1536)
|
|
168
|
+
- $|E|$ = sparse edges (typically $10 \cdot n$)
|
|
169
|
+
|
|
170
|
+
**Key Insight:** For personal knowledge graphs, $k \cdot \bar{d} \ll n$, making STAR asymptotically faster than dense retrieval.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 4. Retrieval Protocol: Planets and Moons
|
|
175
|
+
|
|
176
|
+
### 4.1 Phase 1 — Anchor Discovery (Planets)
|
|
177
|
+
|
|
178
|
+
**Goal:** High-precision seed set via direct matching.
|
|
179
|
+
|
|
180
|
+
**Strategies:**
|
|
181
|
+
1. **Full-Text Search (BM25-style)**: `to_tsvector() @@ to_tsquery()` in PGlite
|
|
182
|
+
2. **Radial Inflation**: Query `atom_positions` table for keyword occurrences
|
|
183
|
+
3. **Engram Lookup:** O(1) cache for frequent entities
|
|
184
|
+
|
|
185
|
+
**Output:** 20–200 anchor atoms with $d(q,a) = 0$
|
|
186
|
+
|
|
187
|
+
### 4.2 Phase 2 — Radial Inflation (Moons)
|
|
188
|
+
|
|
189
|
+
**Goal:** High-recall expansion via tag-walker graph traversal.
|
|
190
|
+
|
|
191
|
+
**Algorithm:**
|
|
192
|
+
```python
|
|
193
|
+
def radial_inflation(anchors, radius=1, max_per_hop=50):
|
|
194
|
+
current_hop = anchors
|
|
195
|
+
all_results = set(anchors)
|
|
196
|
+
|
|
197
|
+
for hop in range(radius):
|
|
198
|
+
candidates = get_connected_nodes(current_hop)
|
|
199
|
+
weighted = apply_unified_field_equation(candidates, anchors)
|
|
200
|
+
top_k = select_by_gravity(weighted, max_per_hop)
|
|
201
|
+
|
|
202
|
+
all_results.update(top_k)
|
|
203
|
+
current_hop = top_k
|
|
204
|
+
|
|
205
|
+
return all_results
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**PhysicsMetadata Schema:**
|
|
209
|
+
```json
|
|
210
|
+
{
|
|
211
|
+
"atom_id": "a7f3c2e1-4b5d-6789-abcd-ef0123456789",
|
|
212
|
+
"gravity_score": 0.82,
|
|
213
|
+
"decomposition": {
|
|
214
|
+
"semantic_overlap": 3,
|
|
215
|
+
"temporal_multiplier": 0.94,
|
|
216
|
+
"structural_similarity": 1.0,
|
|
217
|
+
"hop_distance": 1
|
|
218
|
+
},
|
|
219
|
+
"link_reason": "3 shared tags: #authentication, #session, #token",
|
|
220
|
+
"time_drift": "2h 14m ago",
|
|
221
|
+
"source_byte_range": [45210, 46890]
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### 4.3 Phase 3 — Elastic Context Assembly
|
|
226
|
+
|
|
227
|
+
**Goal:** Token-budget compliance with maximal coherence.
|
|
228
|
+
|
|
229
|
+
**Snippets Coalescing:**
|
|
230
|
+
- Merge atoms within 500-byte proximity from same source
|
|
231
|
+
- Snap to sentence boundaries for narrative flow
|
|
232
|
+
- **Result:** 40–100 atoms → 8–12 coherent paragraphs (500–1000 chars each)
|
|
233
|
+
|
|
234
|
+
**Progressive Inflation:**
|
|
235
|
+
- Top 10% results: 2× inflation radius (1000 bytes)
|
|
236
|
+
- Next 40%: 1.5× radius (750 bytes)
|
|
237
|
+
- Remaining 50%: 1× radius (500 bytes)
|
|
238
|
+
|
|
239
|
+
**Metadata Headers:**
|
|
240
|
+
```
|
|
241
|
+
[GROUP:1] [File:2025-07-16_to_2025-07-30.json] [Range: 0x4A20-0x4F80]
|
|
242
|
+
[Time: 2025-07-22T07:15:00Z] [Atoms: 5] [Chars: 847]
|
|
243
|
+
<atom id="abc12345" relevance="0.875" timestamp="..." persona="#work">
|
|
244
|
+
Full coherent paragraph content...
|
|
245
|
+
</atom>
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 5. Production Performance Benchmarks
|
|
251
|
+
|
|
252
|
+
### 5.1 Dataset Characteristics (February 2026)
|
|
253
|
+
|
|
254
|
+
| Metric | Value |
|
|
255
|
+
|--------|-------|
|
|
256
|
+
| **Total Files** | 436 |
|
|
257
|
+
| **Total Size** | ~100MB |
|
|
258
|
+
| **Molecules** | 280,000 |
|
|
259
|
+
| **Atoms** | 151,876 |
|
|
260
|
+
| **Tags** | ~1,500 |
|
|
261
|
+
| **Edges** | ~450,000 |
|
|
262
|
+
|
|
263
|
+
### 5.2 Ingestion Performance
|
|
264
|
+
|
|
265
|
+
| Dataset | Size | Molecules | Atoms | Time | Throughput |
|
|
266
|
+
|---------|------|-----------|-------|------|------------|
|
|
267
|
+
| **Chat Sessions** (monolith) | 91.88MB | 214,000 | 776 | 177.8s | 1,203 mol/s |
|
|
268
|
+
| **GitHub Archive** | 2.66MB | 36,793 | 497 | 22.4s | 1,642 mol/s |
|
|
269
|
+
| **Code Repository** | 0.94MB | 20,916 | 199 | 25.0s | 836 mol/s |
|
|
270
|
+
| **Total System** | ~100MB | **280,000** | **1,500** | **~4 min** | **1,200 mol/s** |
|
|
271
|
+
|
|
272
|
+
**Optimization:** Monolithic files (single YAML) ingest 2× faster than hundreds of small files due to reduced I/O overhead and transaction batching.
|
|
273
|
+
|
|
274
|
+
### 5.3 Search Performance
|
|
275
|
+
|
|
276
|
+
| Search Type | Budget | Results | Latency (p95) | Use Case |
|
|
277
|
+
|-------------|--------|---------|---------------|----------|
|
|
278
|
+
| **Standard** (70/30) | 16k tokens | 40–100 atoms | **150ms** | Daily queries |
|
|
279
|
+
| **Max Recall** (3-hop) | 65k+ tokens | 200–500 atoms | **690ms** | Research |
|
|
280
|
+
| **Keyword** (direct FTS) | 4k tokens | 20–50 atoms | **100ms** | High precision |
|
|
281
|
+
|
|
282
|
+
**Scaling Behavior (151K atoms):**
|
|
283
|
+
- Standard Search: **7.7s** (50× increase for 100× data growth)
|
|
284
|
+
- Max Recall: **25–50s** (acceptable for 618k chars retrieved)
|
|
285
|
+
|
|
286
|
+
**Trade-off Analysis:**
|
|
287
|
+
- **Vector RAG (HNSW):** Stable latency, memory-bound (4–8GB for 100MB)
|
|
288
|
+
- **STAR:** Linear latency scaling, constant memory (<2GB)
|
|
289
|
+
|
|
290
|
+
For sovereign, local-first deployments on consumer hardware, latency scaling is acceptable.
|
|
291
|
+
|
|
292
|
+
### 5.4 Memory Management
|
|
293
|
+
|
|
294
|
+
| Phase | RSS Memory | Notes |
|
|
295
|
+
|-------|------------|-------|
|
|
296
|
+
| **Peak (ingestion)** | 1,657MB | During 91MB file processing |
|
|
297
|
+
| **Idle (post-cleanup)** | 510MB | After 5min idle |
|
|
298
|
+
| **Reduction** | **-69%** | 1,147MB saved via GC |
|
|
299
|
+
|
|
300
|
+
**Ephemeral Index Architecture (Standard 110):**
|
|
301
|
+
- Database wiped on shutdown
|
|
302
|
+
- `mirrored_brain/` preserved as source of truth
|
|
303
|
+
- 338 files rehydrated from YAML on restart
|
|
304
|
+
- Zero data loss guarantee
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## 6. Comparison with Vector-Based RAG and Graph Memory
|
|
309
|
+
|
|
310
|
+
| Metric | Anchor Engine (STAR) | Vector RAG (HNSW) |
|
|
311
|
+
|--------|---------------------|-------------------|
|
|
312
|
+
| **90MB Ingestion** | **~178s** ✓ 2× faster | ~360s (batch) |
|
|
313
|
+
| **Memory Peak** | **<1.7GB** ✓ 60–80% less | 4–8GB |
|
|
314
|
+
| **Search (1.5K atoms)** | **~150ms** ✓ Comparable | ~100ms |
|
|
315
|
+
| **Search (151K atoms)** | **~7.7s** ⚠️ Linear scaling | ~150ms (stable) |
|
|
316
|
+
| **Hardware** | **CPU-only** ✓ No GPU | GPU preferred |
|
|
317
|
+
| **Explainability** | **Native (tag paths)** ✓ | Opaque (black box) |
|
|
318
|
+
| **Sovereignty** | **Local-first** ✓ No cloud | Cloud-dependent |
|
|
319
|
+
|
|
320
|
+
**Use Case Fit:**
|
|
321
|
+
|
|
322
|
+
| Scenario | Recommended Approach |
|
|
323
|
+
|----------|---------------------|
|
|
324
|
+
| High-throughput cloud deployment | Vector RAG (HNSW) |
|
|
325
|
+
| Sovereign, local-first operation | **STAR (Anchor Engine)** |
|
|
326
|
+
| 4GB RAM laptop | **STAR** |
|
|
327
|
+
| Explainable retrieval required | **STAR** |
|
|
328
|
+
| GPU infrastructure available | Vector RAG |
|
|
329
|
+
|
|
330
|
+
### 6.1 Comparison with Graph Memory Systems
|
|
331
|
+
|
|
332
|
+
While recent systems like TOBUGraph (arXiv:2412.05447) and Mem0 (arXiv:2504.19413) explore graph-based personal memory, they typically rely on LLM-based extractions, dense graph representations, and additive scoring.
|
|
333
|
+
|
|
334
|
+
STAR differentiates itself through:
|
|
335
|
+
- **Deterministic Scoring**: Utilizing a physics-based multiplicative equation rather than opaque LLM extractions.
|
|
336
|
+
- **Resource Constraints**: Architected exclusively for local-first, minimal-hardware environments (CPU-only, 4GB RAM footprints).
|
|
337
|
+
- **Multiplicative Noise Elimination**: The multiplicative nature of the Unified Field Equation ensures that any zero factor (e.g., zero shared tags, or orthogonal SimHash) eliminates the result entirely, significantly reducing hallucination-inducing noise.
|
|
338
|
+
- **Explainability**: Native tag paths directly explain why an atom was retrieved.
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 7. Economic Impact and Democratization
|
|
343
|
+
|
|
344
|
+
### 7.1 Breaking Down Silos
|
|
345
|
+
|
|
346
|
+
Current AI memory landscape:
|
|
347
|
+
- **Proprietary systems**: Black boxes, artificial scarcity
|
|
348
|
+
- **Cloud dependency**: Recurring costs, vendor lock-in
|
|
349
|
+
- **Hardware barriers**: GPU requirements exclude most users
|
|
350
|
+
|
|
351
|
+
STAR enables:
|
|
352
|
+
- **Cognitive Sovereignty**: Users own data, context, memories
|
|
353
|
+
- **Economic Efficiency**: No cloud bills, no GPU rentals
|
|
354
|
+
- **Innovation Acceleration**: Open architecture (AGPL-3.0), extensible
|
|
355
|
+
|
|
356
|
+
### 7.2 Public Research Foundation
|
|
357
|
+
|
|
358
|
+
Foundational AI research was publicly funded. STAR builds on:
|
|
359
|
+
- **SimHash** (Charikar, 1997) — Stanford University
|
|
360
|
+
- **PageRank** (Brin & Page, 1998) — Stanford University
|
|
361
|
+
- **Transformer architecture** (Vaswani et al., 2017) — Google Brain
|
|
362
|
+
|
|
363
|
+
This is a return on public investment: tools serving individuals, not corporations.
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## 8. Conclusion
|
|
368
|
+
|
|
369
|
+
STAR proves that "Write Once, Run Everywhere" applies to AI infrastructure. Decouple logic from data. Shard context into atoms. Implement universal distribution.
|
|
370
|
+
|
|
371
|
+
**Key Achievements:**
|
|
372
|
+
- ✓ **1,200 molecules/second** ingestion throughput
|
|
373
|
+
- ✓ **<200ms** search latency (p95, standard queries)
|
|
374
|
+
- ✓ **69% memory reduction** after idle cleanup
|
|
375
|
+
- ✓ **Zero data loss** with ephemeral index architecture
|
|
376
|
+
- ✓ **151K atoms** navigable on 4GB RAM laptop
|
|
377
|
+
|
|
378
|
+
**Future Work:**
|
|
379
|
+
1. **Caching Layer**: Frequent query result caching (target: 50% latency reduction)
|
|
380
|
+
2. **Diffusion Models**: Graph-based reasoning over knowledge structures
|
|
381
|
+
3. **Mobile Applications**: iOS/Android ports via React Native
|
|
382
|
+
4. **Plugin Marketplace**: Community-contributed atomizers and taggers
|
|
383
|
+
|
|
384
|
+
**Availability:**
|
|
385
|
+
- **Repository**: https://github.com/RSBalchII/anchor-engine-node
|
|
386
|
+
- **License**: AGPL-3.0
|
|
387
|
+
- **Production Verified**: February 23, 2026
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## Appendix A: Recursive CTE for Tag-Walker
|
|
392
|
+
|
|
393
|
+
```sql
|
|
394
|
+
WITH RECURSIVE tag_walk AS (
|
|
395
|
+
-- Base case: anchor atoms
|
|
396
|
+
SELECT
|
|
397
|
+
a.id as atom_id,
|
|
398
|
+
a.simhash,
|
|
399
|
+
a.timestamp,
|
|
400
|
+
0 as hop_distance,
|
|
401
|
+
1.0 as gravity_score
|
|
402
|
+
FROM atoms a
|
|
403
|
+
WHERE a.id IN ($1::text[])
|
|
404
|
+
|
|
405
|
+
UNION ALL
|
|
406
|
+
|
|
407
|
+
-- Recursive case: 1-hop neighbors via shared tags
|
|
408
|
+
SELECT
|
|
409
|
+
t2.atom_id,
|
|
410
|
+
a2.simhash,
|
|
411
|
+
a2.timestamp,
|
|
412
|
+
tw.hop_distance + 1,
|
|
413
|
+
((COUNT(DISTINCT t1.tag) / 10.0) * POWER(0.85, tw.hop_distance + 1)) *
|
|
414
|
+
EXP(-0.00001 * ABS(a2.timestamp - tw.timestamp) / 3600000.0) *
|
|
415
|
+
(1.0 - (bit_count(('x' || LPAD(a2.simhash, 16, '0'))::bit(64)
|
|
416
|
+
# ('x' || LPAD(tw.simhash, 16, '0'))::bit(64)) / 64.0))
|
|
417
|
+
FROM tag_walk tw
|
|
418
|
+
JOIN atoms a1 ON tw.atom_id = a1.id
|
|
419
|
+
JOIN tags t1 ON a1.id = t1.atom_id
|
|
420
|
+
JOIN tags t2 ON t1.tag = t2.tag
|
|
421
|
+
JOIN atoms a2 ON t2.atom_id = a2.id
|
|
422
|
+
WHERE tw.hop_distance < 3
|
|
423
|
+
AND a2.id NOT IN (SELECT atom_id FROM tag_walk)
|
|
424
|
+
GROUP BY t2.atom_id, a2.simhash, a2.timestamp, tw.hop_distance, tw.timestamp, tw.simhash
|
|
425
|
+
)
|
|
426
|
+
SELECT * FROM tag_walk
|
|
427
|
+
WHERE gravity_score > 0.01
|
|
428
|
+
ORDER BY gravity_score DESC
|
|
429
|
+
LIMIT 200;
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## References
|
|
435
|
+
|
|
436
|
+
1. Charikar, M. (1997). *Similarity estimation techniques from rounding algorithms*. STOC '97.
|
|
437
|
+
2. Brin, S., & Page, L. (1998). *The anatomy of a large-scale hypertextual web search engine*. Computer Networks.
|
|
438
|
+
3. Vaswani, A., et al. (2017). *Attention is all you need*. NeurIPS '17.
|
|
439
|
+
4. Malkov, Y.A., & Yashunin, D.A. (2018). *Efficient and robust approximate nearest neighbor search using hierarchical navigable small world graphs*. IEEE TPAMI.
|
|
440
|
+
5. ElectricSQL. (2024). *PGlite: Embedded PostgreSQL for the browser and Node.js*. https://github.com/electric-sql/pglite
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
444
|
+
**Author Note:** This whitepaper represents the foundational architecture of Anchor Engine v4.3.0 (February 2026). The v4.3.0 migration to pure TypeScript + PGlite WASM eliminated all native C++ dependencies, enabling seamless deployment on ARM64 Windows and other platforms without platform-specific builds. All benchmarks are from production workloads on consumer hardware (Windows 11 ARM64, XPS 13, 16GB RAM, NVMe SSD).
|
|
445
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export type AgentEvent = {
|
|
2
|
+
type: 'thought';
|
|
3
|
+
content: string;
|
|
4
|
+
id?: string;
|
|
5
|
+
} | {
|
|
6
|
+
type: 'token';
|
|
7
|
+
content: string;
|
|
8
|
+
} | {
|
|
9
|
+
type: 'answer';
|
|
10
|
+
content: string;
|
|
11
|
+
} | {
|
|
12
|
+
type: 'error';
|
|
13
|
+
content: string;
|
|
14
|
+
};
|
|
15
|
+
interface AgentRuntimeOptions {
|
|
16
|
+
model?: string;
|
|
17
|
+
verbose?: boolean;
|
|
18
|
+
maxIterations?: number;
|
|
19
|
+
onEvent?: (event: AgentEvent) => void;
|
|
20
|
+
messages?: Array<{
|
|
21
|
+
role: string;
|
|
22
|
+
content: string;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
export declare class AgentRuntime {
|
|
26
|
+
private inferenceService;
|
|
27
|
+
private verbose;
|
|
28
|
+
private maxIterations;
|
|
29
|
+
private onEvent?;
|
|
30
|
+
private messages?;
|
|
31
|
+
constructor(options?: AgentRuntimeOptions);
|
|
32
|
+
private emit;
|
|
33
|
+
/**
|
|
34
|
+
* Basic Chat Flow (User Requested Validation Mode)
|
|
35
|
+
* Context -> User Prompt -> Model -> Stream Output
|
|
36
|
+
* Uses provided context instead of chat session history.
|
|
37
|
+
*/
|
|
38
|
+
runLoop(objective: string): Promise<string>;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/agent/runtime.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CACnD;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAC,CAA8B;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAyC;gBAE9C,OAAO,GAAE,mBAAwB;IAiB7C,OAAO,CAAC,IAAI;IAuBZ;;;;OAIG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA4BlD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { wasmModuleLoader } from '../utils/wasm-module-loader.js';
|
|
2
|
+
import { InferenceService } from '../services/inference/inference-service.js';
|
|
3
|
+
export class AgentRuntime {
|
|
4
|
+
inferenceService;
|
|
5
|
+
verbose;
|
|
6
|
+
maxIterations;
|
|
7
|
+
onEvent;
|
|
8
|
+
messages;
|
|
9
|
+
constructor(options = {}) {
|
|
10
|
+
this.verbose = options.verbose ?? false;
|
|
11
|
+
this.maxIterations = options.maxIterations ?? 4;
|
|
12
|
+
this.onEvent = options.onEvent;
|
|
13
|
+
this.messages = options.messages;
|
|
14
|
+
// WASM modules are auto-initialized in wasm-module-loader.js
|
|
15
|
+
// No manual loading needed - all modules ready on import
|
|
16
|
+
console.log('[AgentRuntime] WASM modules ready:', Array.from(wasmModuleLoader.getAllStatus().keys()).join(', '));
|
|
17
|
+
// Initialize inference service
|
|
18
|
+
this.inferenceService = new InferenceService({
|
|
19
|
+
modelPath: options.model
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
emit(event) {
|
|
23
|
+
if (this.onEvent) {
|
|
24
|
+
this.onEvent(event);
|
|
25
|
+
}
|
|
26
|
+
if (this.verbose) {
|
|
27
|
+
switch (event.type) {
|
|
28
|
+
case 'thought':
|
|
29
|
+
process.stdout.write(`\x1b[36m[Thought ${event.id || ''}]\x1b[0m ${event.content}`);
|
|
30
|
+
break;
|
|
31
|
+
case 'token':
|
|
32
|
+
process.stdout.write(event.content);
|
|
33
|
+
break;
|
|
34
|
+
case 'answer':
|
|
35
|
+
console.log(`\n\x1b[35m[Answer]\x1b[0m ${event.content}`);
|
|
36
|
+
break;
|
|
37
|
+
case 'error':
|
|
38
|
+
console.log(`\x1b[31m[Error]\x1b[0m ${event.content}`);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Basic Chat Flow (User Requested Validation Mode)
|
|
45
|
+
* Context -> User Prompt -> Model -> Stream Output
|
|
46
|
+
* Uses provided context instead of chat session history.
|
|
47
|
+
*/
|
|
48
|
+
async runLoop(objective) {
|
|
49
|
+
if (this.verbose) {
|
|
50
|
+
console.log(`[AgentRuntime] Starting Basic Chat for: "${objective}"`);
|
|
51
|
+
}
|
|
52
|
+
let fullAnswer = "";
|
|
53
|
+
// Use provided contextual messages if available, otherwise use default
|
|
54
|
+
const chatMessages = this.messages && this.messages.length > 0
|
|
55
|
+
? this.messages
|
|
56
|
+
: [
|
|
57
|
+
{ role: 'system', content: "You are a helpful AI assistant." },
|
|
58
|
+
{ role: 'user', content: objective }
|
|
59
|
+
];
|
|
60
|
+
// Direct Chat Call with contextual messages
|
|
61
|
+
await this.inferenceService.chat(chatMessages, {
|
|
62
|
+
temperature: 0.7,
|
|
63
|
+
onToken: (token) => {
|
|
64
|
+
fullAnswer += token;
|
|
65
|
+
// Stream directly to frontend as 'token'
|
|
66
|
+
this.emit({ type: 'token', content: token });
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
this.emit({ type: 'answer', content: fullAnswer });
|
|
70
|
+
return fullAnswer;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/agent/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAgB9E,MAAM,OAAO,YAAY;IACf,gBAAgB,CAAmB;IACnC,OAAO,CAAU;IACjB,aAAa,CAAS;IACtB,OAAO,CAA+B;IACtC,QAAQ,CAA0C;IAE1D,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,6DAA6D;QAC7D,yDAAyD;QACzD,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAC9C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,+BAA+B;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,SAAS,EAAE,OAAO,CAAC,KAAK;SACzB,CAAC,CAAC;IACL,CAAC;IAEO,IAAI,CAAC,KAAiB;QAC5B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,SAAS;oBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpF,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACpC,MAAM;gBACR,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1D,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvD,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,4CAA4C,SAAS,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,uEAAuE;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,QAAQ;YACf,CAAC,CAAC;gBACE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iCAAiC,EAAE;gBAC9D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;aACrC,CAAC;QAEN,4CAA4C;QAC5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE;YAC7C,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzB,UAAU,IAAI,KAAK,CAAC;gBACpB,yCAAyC;gBACzC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,CAAC;SACK,CAAC,CAAC;QAEV,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Tag Quality Audit CLI
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* node --loader ts-node/esm src/commands/audit-tags.ts [options]
|
|
7
|
+
*
|
|
8
|
+
* Options:
|
|
9
|
+
* --interactive, -i Interactive review mode
|
|
10
|
+
* --output, -o Output report file (default: ./reports/tag-audit.md)
|
|
11
|
+
* --json Output as JSON instead of markdown
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=audit-tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-tags.d.ts","sourceRoot":"","sources":["../../src/commands/audit-tags.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}
|