@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,397 @@
|
|
|
1
|
+
# ECE_Core Testing Framework Documentation
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The ECE_Core testing framework provides a comprehensive suite of tests to ensure system reliability, performance, and correctness. This framework includes:
|
|
6
|
+
|
|
7
|
+
- Unit tests for individual components
|
|
8
|
+
- Integration tests for system workflows
|
|
9
|
+
- Performance regression tests
|
|
10
|
+
- Diagnostic tests for issue reproduction
|
|
11
|
+
- Dataset-specific configuration tests
|
|
12
|
+
|
|
13
|
+
## Architecture
|
|
14
|
+
|
|
15
|
+
### Core Components
|
|
16
|
+
|
|
17
|
+
1. **Test Framework Core** (`test-framework/core.ts`)
|
|
18
|
+
- Provides the foundational test execution infrastructure
|
|
19
|
+
- Manages test lifecycle, execution, and reporting
|
|
20
|
+
- Supports parallel execution and dependency management
|
|
21
|
+
|
|
22
|
+
2. **Dataset Test Runner** (`test-framework/dataset-runner.ts`)
|
|
23
|
+
- Manages configurable test setups for different data sizes and types
|
|
24
|
+
- Supports small, medium, large, and XL datasets
|
|
25
|
+
- Provides performance thresholds and validation
|
|
26
|
+
|
|
27
|
+
3. **Diagnostic Test Suite** (`test-framework/diagnostic-tests.ts`)
|
|
28
|
+
- Implements quick diagnostic tests for rapid issue reproduction
|
|
29
|
+
- Covers health checks, ingestion, search, and native module validation
|
|
30
|
+
- Designed for continuous integration and deployment pipelines
|
|
31
|
+
|
|
32
|
+
4. **Performance Regression Tests** (`test-framework/performance-regression-tests.ts`)
|
|
33
|
+
- Tests to detect performance degradation between releases
|
|
34
|
+
- Compares current performance against established baselines
|
|
35
|
+
- Includes ingestion rate, search latency, and memory usage tests
|
|
36
|
+
|
|
37
|
+
## Running Tests
|
|
38
|
+
|
|
39
|
+
### All Tests
|
|
40
|
+
```bash
|
|
41
|
+
npm test
|
|
42
|
+
# or
|
|
43
|
+
pnpm test
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Specific Test Types
|
|
47
|
+
|
|
48
|
+
#### Diagnostic Tests (Quick Health Check)
|
|
49
|
+
```bash
|
|
50
|
+
npm run test:diagnostic
|
|
51
|
+
# Runs quick diagnostic tests to verify system health
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Performance Regression Tests
|
|
55
|
+
```bash
|
|
56
|
+
npm run test:performance
|
|
57
|
+
# Runs comprehensive performance tests comparing against baselines
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### Dataset-Specific Tests
|
|
61
|
+
```bash
|
|
62
|
+
npm run test:dataset -- --dataset=small
|
|
63
|
+
npm run test:dataset -- --dataset=large
|
|
64
|
+
# Runs tests with specific dataset configurations
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### Unit Tests Only
|
|
68
|
+
```bash
|
|
69
|
+
npm run test:unit
|
|
70
|
+
# Runs only unit tests (fastest option)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Filter Tests by Tag
|
|
74
|
+
```bash
|
|
75
|
+
npm run test -- --tag=search
|
|
76
|
+
npm run test -- --tag=ingestion
|
|
77
|
+
npm run test -- --tag=performance
|
|
78
|
+
# Runs only tests with specific tags
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Test Structure
|
|
82
|
+
|
|
83
|
+
### Test Configuration
|
|
84
|
+
Each test follows this structure:
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
const testConfig: TestConfig = {
|
|
88
|
+
name: 'Descriptive Test Name',
|
|
89
|
+
description: 'What the test verifies',
|
|
90
|
+
testFn: async () => {
|
|
91
|
+
// Test implementation
|
|
92
|
+
// Use assertions to verify expected behavior
|
|
93
|
+
},
|
|
94
|
+
timeout: 30000, // Maximum time for test to complete
|
|
95
|
+
tags: ['search', 'integration'], // Categories for filtering
|
|
96
|
+
dependencies: ['database'], // Other tests that must pass first
|
|
97
|
+
skip: false, // Set to true to skip this test
|
|
98
|
+
only: false // Set to true to run only this test (for debugging)
|
|
99
|
+
};
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Test Categories
|
|
103
|
+
|
|
104
|
+
#### 1. Health Tests
|
|
105
|
+
- Verify system endpoints are accessible
|
|
106
|
+
- Check database connectivity
|
|
107
|
+
- Validate native module availability
|
|
108
|
+
- Confirm basic functionality
|
|
109
|
+
|
|
110
|
+
#### 2. Ingestion Tests
|
|
111
|
+
- Test content ingestion pipeline
|
|
112
|
+
- Verify atomization process
|
|
113
|
+
- Validate content sanitization
|
|
114
|
+
- Check database persistence
|
|
115
|
+
|
|
116
|
+
#### 3. Search Tests
|
|
117
|
+
- Test search functionality
|
|
118
|
+
- Verify result relevance
|
|
119
|
+
- Validate query expansion
|
|
120
|
+
- Check performance under load
|
|
121
|
+
|
|
122
|
+
#### 4. Performance Tests
|
|
123
|
+
- Measure ingestion rates
|
|
124
|
+
- Test search latency
|
|
125
|
+
- Monitor memory usage
|
|
126
|
+
- Validate throughput under load
|
|
127
|
+
|
|
128
|
+
#### 5. Integration Tests
|
|
129
|
+
- End-to-end workflow validation
|
|
130
|
+
- Cross-component functionality
|
|
131
|
+
- API contract verification
|
|
132
|
+
- Data flow validation
|
|
133
|
+
|
|
134
|
+
## Creating New Tests
|
|
135
|
+
|
|
136
|
+
### Adding a Simple Unit Test
|
|
137
|
+
```typescript
|
|
138
|
+
import { testFramework } from './test-framework/core.js';
|
|
139
|
+
|
|
140
|
+
const myUnitTest: TestConfig = {
|
|
141
|
+
name: 'My Feature Functionality',
|
|
142
|
+
description: 'Verify that my feature works correctly',
|
|
143
|
+
testFn: async () => {
|
|
144
|
+
// Arrange
|
|
145
|
+
const input = 'test input';
|
|
146
|
+
|
|
147
|
+
// Act
|
|
148
|
+
const result = myFeatureFunction(input);
|
|
149
|
+
|
|
150
|
+
// Assert
|
|
151
|
+
if (result !== 'expected output') {
|
|
152
|
+
throw new Error(`Expected 'expected output', got '${result}'`);
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
timeout: 5000,
|
|
156
|
+
tags: ['unit', 'my-feature']
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
// Register the test
|
|
160
|
+
testFramework.addTest(myUnitTest);
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Adding an Integration Test
|
|
164
|
+
```typescript
|
|
165
|
+
import axios from 'axios';
|
|
166
|
+
|
|
167
|
+
const myIntegrationTest: TestConfig = {
|
|
168
|
+
name: 'API Endpoint Integration',
|
|
169
|
+
description: 'Verify API endpoint works with database',
|
|
170
|
+
testFn: async () => {
|
|
171
|
+
// Setup
|
|
172
|
+
const testData = { content: 'integration test content', source: 'test' };
|
|
173
|
+
|
|
174
|
+
// Ingest data
|
|
175
|
+
const ingestResponse = await axios.post('/v1/ingest', testData);
|
|
176
|
+
if (ingestResponse.status !== 200) {
|
|
177
|
+
throw new Error(`Ingest failed: ${ingestResponse.status}`);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Wait for processing
|
|
181
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
182
|
+
|
|
183
|
+
// Verify retrieval
|
|
184
|
+
const searchResponse = await axios.post('/v1/memory/search', {
|
|
185
|
+
query: 'integration test content'
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
if (searchResponse.status !== 200) {
|
|
189
|
+
throw new Error(`Search failed: ${searchResponse.status}`);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (!searchResponse.data.context?.includes('integration test content')) {
|
|
193
|
+
throw new Error('Search did not return expected content');
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
timeout: 30000,
|
|
197
|
+
tags: ['integration', 'api', 'search']
|
|
198
|
+
};
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Test Data Management
|
|
202
|
+
|
|
203
|
+
### Dataset Configuration
|
|
204
|
+
Tests can be configured to run with different dataset sizes:
|
|
205
|
+
|
|
206
|
+
```typescript
|
|
207
|
+
const datasetConfig: DatasetConfig = {
|
|
208
|
+
name: 'stress-test',
|
|
209
|
+
description: 'Large dataset for performance testing',
|
|
210
|
+
size: 'xl', // 'small', 'medium', 'large', or 'xl'
|
|
211
|
+
path: './test-data/stress',
|
|
212
|
+
tags: ['performance', 'stress'],
|
|
213
|
+
timeout: 120000, // Longer timeout for large datasets
|
|
214
|
+
setup: async () => {
|
|
215
|
+
// Setup function to prepare test environment
|
|
216
|
+
},
|
|
217
|
+
teardown: async () => {
|
|
218
|
+
// Teardown function to clean up after test
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Test Data Generation
|
|
224
|
+
For performance tests, use representative data:
|
|
225
|
+
|
|
226
|
+
```typescript
|
|
227
|
+
function generateTestContent(count: number, size: 'small' | 'medium' | 'large'): string[] {
|
|
228
|
+
const content: string[] = [];
|
|
229
|
+
|
|
230
|
+
for (let i = 0; i < count; i++) {
|
|
231
|
+
switch (size) {
|
|
232
|
+
case 'small':
|
|
233
|
+
content.push(`Test content block ${i}`);
|
|
234
|
+
break;
|
|
235
|
+
case 'medium':
|
|
236
|
+
content.push(`Medium length content block ${i} with more text to process. This includes multiple sentences and some complexity to properly test the system under realistic conditions.`);
|
|
237
|
+
break;
|
|
238
|
+
case 'large':
|
|
239
|
+
content.push(`Large content block ${i} with substantial text to process. This includes multiple paragraphs, code snippets, and various content types to thoroughly test the system's capabilities. The content is designed to be representative of real-world usage patterns and to stress-test the ingestion and search capabilities. Additional text to increase size and complexity: ${'Lorem ipsum dolor sit amet. '.repeat(50)}`);
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
return content;
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## Performance Baselines
|
|
249
|
+
|
|
250
|
+
### Current Performance Targets
|
|
251
|
+
- **Ingestion Rate**: ≥ 50 atoms/second
|
|
252
|
+
- **Search Latency**: ≤ 200ms average
|
|
253
|
+
- **Memory Usage**: ≤ 500MB during normal operation
|
|
254
|
+
- **Startup Time**: ≤ 10 seconds
|
|
255
|
+
|
|
256
|
+
### Adding Performance Tests
|
|
257
|
+
```typescript
|
|
258
|
+
const performanceTest: TestConfig = {
|
|
259
|
+
name: 'Feature Performance',
|
|
260
|
+
description: 'Verify feature meets performance requirements',
|
|
261
|
+
testFn: async () => {
|
|
262
|
+
const startTime = Date.now();
|
|
263
|
+
|
|
264
|
+
// Execute operation to measure
|
|
265
|
+
await myFeatureFunction(largeInput);
|
|
266
|
+
|
|
267
|
+
const duration = Date.now() - startTime;
|
|
268
|
+
|
|
269
|
+
// Verify performance requirements
|
|
270
|
+
if (duration > 1000) { // 1 second max
|
|
271
|
+
throw new Error(`Operation took ${duration}ms, exceeding 1000ms limit`);
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
timeout: 5000,
|
|
275
|
+
tags: ['performance', 'regression']
|
|
276
|
+
};
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
## Continuous Integration
|
|
280
|
+
|
|
281
|
+
### GitHub Actions Configuration
|
|
282
|
+
The testing framework is designed to work with CI/CD pipelines:
|
|
283
|
+
|
|
284
|
+
```yaml
|
|
285
|
+
name: Test Suite
|
|
286
|
+
on: [push, pull_request]
|
|
287
|
+
|
|
288
|
+
jobs:
|
|
289
|
+
test:
|
|
290
|
+
runs-on: ubuntu-latest
|
|
291
|
+
steps:
|
|
292
|
+
- uses: actions/checkout@v3
|
|
293
|
+
- uses: actions/setup-node@v3
|
|
294
|
+
with:
|
|
295
|
+
node-version: '18'
|
|
296
|
+
- run: npm ci
|
|
297
|
+
- run: npm run test:diagnostic # Quick health check
|
|
298
|
+
- run: npm run test:performance # Performance regression tests
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Test Reports
|
|
302
|
+
Tests generate reports in multiple formats:
|
|
303
|
+
- Console output for immediate feedback
|
|
304
|
+
- JSON reports for CI/CD integration
|
|
305
|
+
- JUnit XML for test aggregation tools
|
|
306
|
+
|
|
307
|
+
## Troubleshooting
|
|
308
|
+
|
|
309
|
+
### Common Issues
|
|
310
|
+
|
|
311
|
+
#### Test Timeout
|
|
312
|
+
- Increase the timeout value in the test configuration
|
|
313
|
+
- Check for infinite loops or blocking operations
|
|
314
|
+
- Verify database connectivity and performance
|
|
315
|
+
|
|
316
|
+
#### Memory Issues
|
|
317
|
+
- Large dataset tests may require more memory
|
|
318
|
+
- Check for memory leaks in the code being tested
|
|
319
|
+
- Use smaller datasets for initial validation
|
|
320
|
+
|
|
321
|
+
#### Native Module Issues
|
|
322
|
+
- Verify native modules are properly built
|
|
323
|
+
- Check platform compatibility
|
|
324
|
+
- Ensure fallback implementations work when native modules unavailable
|
|
325
|
+
|
|
326
|
+
### Debugging Tips
|
|
327
|
+
|
|
328
|
+
#### Run Single Test
|
|
329
|
+
Add `only: true` to a test configuration to run only that test:
|
|
330
|
+
```typescript
|
|
331
|
+
{
|
|
332
|
+
name: 'Debug Test',
|
|
333
|
+
testFn: async () => { /* ... */ },
|
|
334
|
+
only: true // Only run this test
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
#### Enable Verbose Logging
|
|
339
|
+
Run tests with verbose output to see detailed execution information:
|
|
340
|
+
```bash
|
|
341
|
+
npm run test -- --verbose
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
#### Skip Specific Tests
|
|
345
|
+
Use `skip: true` to temporarily disable a test:
|
|
346
|
+
```typescript
|
|
347
|
+
{
|
|
348
|
+
name: 'Flaky Test',
|
|
349
|
+
testFn: async () => { /* ... */ },
|
|
350
|
+
skip: true // Skip this test temporarily
|
|
351
|
+
}
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
## Best Practices
|
|
355
|
+
|
|
356
|
+
### Writing Effective Tests
|
|
357
|
+
1. **Be Specific**: Each test should verify one specific behavior
|
|
358
|
+
2. **Use Descriptive Names**: Test names should clearly indicate what is being tested
|
|
359
|
+
3. **Include Assertions**: Every test should have clear pass/fail criteria
|
|
360
|
+
4. **Handle Cleanup**: Ensure tests clean up after themselves
|
|
361
|
+
5. **Consider Performance**: Avoid unnecessary delays in tests
|
|
362
|
+
|
|
363
|
+
### Performance Testing Guidelines
|
|
364
|
+
1. **Establish Baselines**: Record performance metrics for reference
|
|
365
|
+
2. **Test Under Load**: Verify performance with concurrent operations
|
|
366
|
+
3. **Monitor Resources**: Track memory and CPU usage during tests
|
|
367
|
+
4. **Compare Results**: Track performance changes over time
|
|
368
|
+
5. **Use Representative Data**: Test with data similar to production
|
|
369
|
+
|
|
370
|
+
### Diagnostic Testing Guidelines
|
|
371
|
+
1. **Fast Execution**: Diagnostic tests should run quickly
|
|
372
|
+
2. **Targeted Scope**: Focus on specific system components
|
|
373
|
+
3. **Clear Failure Modes**: Provide clear error messages when tests fail
|
|
374
|
+
4. **Issue Reproduction**: Create tests that reproduce known issues
|
|
375
|
+
5. **Health Verification**: Verify system health after operations
|
|
376
|
+
|
|
377
|
+
## Maintenance
|
|
378
|
+
|
|
379
|
+
### Adding New Test Categories
|
|
380
|
+
1. Create a new test configuration file
|
|
381
|
+
2. Follow the established patterns for test structure
|
|
382
|
+
3. Add appropriate tags for filtering
|
|
383
|
+
4. Update documentation if needed
|
|
384
|
+
5. Add to the main test runner
|
|
385
|
+
|
|
386
|
+
### Updating Performance Baselines
|
|
387
|
+
1. Run comprehensive performance tests on stable release
|
|
388
|
+
2. Record new baseline metrics
|
|
389
|
+
3. Update BASELINE_PERFORMANCE constants
|
|
390
|
+
4. Update documentation with new values
|
|
391
|
+
5. Verify all performance tests pass with new baselines
|
|
392
|
+
|
|
393
|
+
### Test Data Management
|
|
394
|
+
1. Keep test data representative of real usage
|
|
395
|
+
2. Regularly update test datasets to reflect new features
|
|
396
|
+
3. Maintain datasets of different sizes for different test types
|
|
397
|
+
4. Ensure test data is properly licensed and doesn't contain sensitive information
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# ECE_Core Testing Framework Implementation Summary
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
This document summarizes the implementation of the comprehensive testing framework for ECE_Core, which was completed as part of the standardization initiative to improve system reliability, performance monitoring, and issue reproduction capabilities.
|
|
5
|
+
|
|
6
|
+
## Completed Components
|
|
7
|
+
|
|
8
|
+
### 1. Centralized Test Framework (`test-framework/core.ts`)
|
|
9
|
+
- Implemented a flexible test framework with support for different test types
|
|
10
|
+
- Added support for parallel execution and dependency management
|
|
11
|
+
- Created interfaces for test cases, test suites, and reporters
|
|
12
|
+
- Implemented timeout handling and error management
|
|
13
|
+
- Added support for test tagging and filtering
|
|
14
|
+
|
|
15
|
+
### 2. Configuration Management (`test-framework/config.ts`)
|
|
16
|
+
- Created a centralized configuration system for test environments
|
|
17
|
+
- Implemented dataset-specific configuration management
|
|
18
|
+
- Added support for different test data sizes (small, medium, large, XL)
|
|
19
|
+
- Created configuration validation and error handling
|
|
20
|
+
- Implemented environment-specific settings (development, staging, production)
|
|
21
|
+
|
|
22
|
+
### 3. Diagnostic Test Suite (`test-framework/diagnostic-tests.ts`)
|
|
23
|
+
- Developed quick diagnostic tests for rapid issue reproduction
|
|
24
|
+
- Created health checks for core system components (database, native modules, API endpoints)
|
|
25
|
+
- Implemented tests for content ingestion, sanitization, and retrieval
|
|
26
|
+
- Added memory usage and performance validation tests
|
|
27
|
+
- Created targeted tests for specific failure modes
|
|
28
|
+
|
|
29
|
+
### 4. Performance Regression Tests (`test-framework/performance-tests.ts`)
|
|
30
|
+
- Implemented comprehensive performance benchmarking
|
|
31
|
+
- Created tests for ingestion performance with different content sizes
|
|
32
|
+
- Added search performance validation with various query complexities
|
|
33
|
+
- Developed memory usage analysis and leak detection tests
|
|
34
|
+
- Created database performance tests for query and transaction efficiency
|
|
35
|
+
- Added native module performance validation
|
|
36
|
+
- Implemented concurrency and load testing capabilities
|
|
37
|
+
|
|
38
|
+
### 5. Dataset-Specific Test Configurations (`test-framework/dataset-runner.ts`)
|
|
39
|
+
- Created framework for dataset-specific test configurations
|
|
40
|
+
- Implemented different test strategies for various data sizes
|
|
41
|
+
- Added support for content type-specific testing (code, prose, data)
|
|
42
|
+
- Created configuration templates for different testing scenarios
|
|
43
|
+
- Implemented dataset loading and validation
|
|
44
|
+
|
|
45
|
+
### 6. Documentation (`docs/testing-framework.md`)
|
|
46
|
+
- Created comprehensive documentation for the testing framework
|
|
47
|
+
- Documented architecture, components, and usage patterns
|
|
48
|
+
- Provided examples for different test types
|
|
49
|
+
- Included configuration guidelines and best practices
|
|
50
|
+
- Added troubleshooting and maintenance guides
|
|
51
|
+
|
|
52
|
+
## Key Features
|
|
53
|
+
|
|
54
|
+
### Modular Architecture
|
|
55
|
+
- Pluggable test runners for different test types
|
|
56
|
+
- Extensible reporter system (console, JSON, JUnit, HTML)
|
|
57
|
+
- Flexible configuration system
|
|
58
|
+
- Support for custom test validators
|
|
59
|
+
|
|
60
|
+
### Performance Monitoring
|
|
61
|
+
- Built-in performance metrics collection
|
|
62
|
+
- Baseline establishment and regression detection
|
|
63
|
+
- Resource usage tracking (memory, CPU)
|
|
64
|
+
- Response time monitoring
|
|
65
|
+
|
|
66
|
+
### Diagnostic Capabilities
|
|
67
|
+
- Rapid issue reproduction tests
|
|
68
|
+
- Component-specific health checks
|
|
69
|
+
- Configuration validation
|
|
70
|
+
- Environment verification
|
|
71
|
+
|
|
72
|
+
### Scalability
|
|
73
|
+
- Parallel test execution support
|
|
74
|
+
- Configurable worker pools
|
|
75
|
+
- Resource-efficient test execution
|
|
76
|
+
- Dataset-appropriate test strategies
|
|
77
|
+
|
|
78
|
+
## Implementation Benefits
|
|
79
|
+
|
|
80
|
+
1. **Improved Reliability**: Comprehensive test coverage reduces bugs in production
|
|
81
|
+
2. **Performance Visibility**: Clear performance metrics help identify bottlenecks
|
|
82
|
+
3. **Faster Issue Resolution**: Diagnostic tests enable rapid problem identification
|
|
83
|
+
4. **Regression Prevention**: Performance tests catch performance degradation early
|
|
84
|
+
5. **Maintainability**: Centralized framework makes test management easier
|
|
85
|
+
6. **Flexibility**: Support for different test types and configurations
|
|
86
|
+
|
|
87
|
+
## Usage Instructions
|
|
88
|
+
|
|
89
|
+
### Running Tests
|
|
90
|
+
```bash
|
|
91
|
+
# Run all tests
|
|
92
|
+
npm test
|
|
93
|
+
|
|
94
|
+
# Run specific test types
|
|
95
|
+
npm run test:diagnostic
|
|
96
|
+
npm run test:performance
|
|
97
|
+
npm run test:dataset -- --dataset=small
|
|
98
|
+
|
|
99
|
+
# Run with specific options
|
|
100
|
+
npm test -- --verbose --report
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Configuration
|
|
104
|
+
Tests can be configured using the `test-config.json` file which allows customization of:
|
|
105
|
+
- Environment settings (base URLs, timeouts)
|
|
106
|
+
- Dataset configurations
|
|
107
|
+
- Performance thresholds
|
|
108
|
+
- Reporting options
|
|
109
|
+
|
|
110
|
+
## Future Enhancements
|
|
111
|
+
|
|
112
|
+
The framework is designed to be extensible for future enhancements:
|
|
113
|
+
- Additional test types (security, compliance)
|
|
114
|
+
- Integration with monitoring systems
|
|
115
|
+
- Advanced reporting and analytics
|
|
116
|
+
- Machine learning-based anomaly detection
|
|
117
|
+
- Automated test generation
|
|
118
|
+
|
|
119
|
+
## Conclusion
|
|
120
|
+
|
|
121
|
+
The implementation of this comprehensive testing framework significantly improves the reliability and maintainability of the ECE_Core system. It provides the necessary tools to ensure consistent quality, detect performance regressions early, and enable rapid issue resolution. The modular architecture allows for continued evolution as testing requirements grow more sophisticated.
|