@steno-ai/engine 0.1.11 → 0.1.12
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/README.md +0 -0
- package/dist/adapters/cache.d.ts +0 -0
- package/dist/adapters/cache.d.ts.map +0 -0
- package/dist/adapters/cache.js +0 -0
- package/dist/adapters/cache.js.map +0 -0
- package/dist/adapters/embedding.d.ts +0 -0
- package/dist/adapters/embedding.d.ts.map +0 -0
- package/dist/adapters/embedding.js +0 -0
- package/dist/adapters/embedding.js.map +0 -0
- package/dist/adapters/gemini-embedding.d.ts +0 -0
- package/dist/adapters/gemini-embedding.d.ts.map +0 -0
- package/dist/adapters/gemini-embedding.js +0 -0
- package/dist/adapters/gemini-embedding.js.map +0 -0
- package/dist/adapters/index.d.ts +0 -0
- package/dist/adapters/index.d.ts.map +0 -0
- package/dist/adapters/index.js +0 -0
- package/dist/adapters/index.js.map +0 -0
- package/dist/adapters/llm.d.ts +0 -0
- package/dist/adapters/llm.d.ts.map +0 -0
- package/dist/adapters/llm.js +0 -0
- package/dist/adapters/llm.js.map +0 -0
- package/dist/adapters/perplexity-embedding.d.ts +0 -0
- package/dist/adapters/perplexity-embedding.d.ts.map +0 -0
- package/dist/adapters/perplexity-embedding.js +0 -0
- package/dist/adapters/perplexity-embedding.js.map +0 -0
- package/dist/adapters/storage.d.ts +0 -0
- package/dist/adapters/storage.d.ts.map +0 -0
- package/dist/adapters/storage.js +0 -0
- package/dist/adapters/storage.js.map +0 -0
- package/dist/auth/api-key.d.ts +0 -0
- package/dist/auth/api-key.d.ts.map +0 -0
- package/dist/auth/api-key.js +0 -0
- package/dist/auth/api-key.js.map +0 -0
- package/dist/auth/index.d.ts +0 -0
- package/dist/auth/index.d.ts.map +0 -0
- package/dist/auth/index.js +0 -0
- package/dist/auth/index.js.map +0 -0
- package/dist/config.d.ts +4 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -1
- package/dist/config.js.map +1 -1
- package/dist/extraction/codebase-extractor.d.ts +14 -0
- package/dist/extraction/codebase-extractor.d.ts.map +1 -0
- package/dist/extraction/codebase-extractor.js +204 -0
- package/dist/extraction/codebase-extractor.js.map +1 -0
- package/dist/extraction/codebase-prompts.d.ts +13 -0
- package/dist/extraction/codebase-prompts.d.ts.map +1 -0
- package/dist/extraction/codebase-prompts.js +132 -0
- package/dist/extraction/codebase-prompts.js.map +1 -0
- package/dist/extraction/contradiction.d.ts +0 -0
- package/dist/extraction/contradiction.d.ts.map +0 -0
- package/dist/extraction/contradiction.js +0 -0
- package/dist/extraction/contradiction.js.map +0 -0
- package/dist/extraction/cross-linker.d.ts +0 -0
- package/dist/extraction/cross-linker.d.ts.map +0 -0
- package/dist/extraction/cross-linker.js +0 -0
- package/dist/extraction/cross-linker.js.map +0 -0
- package/dist/extraction/dedup.d.ts +0 -0
- package/dist/extraction/dedup.d.ts.map +0 -0
- package/dist/extraction/dedup.js +0 -0
- package/dist/extraction/dedup.js.map +0 -0
- package/dist/extraction/entity-extractor.d.ts +0 -0
- package/dist/extraction/entity-extractor.d.ts.map +0 -0
- package/dist/extraction/entity-extractor.js +0 -0
- package/dist/extraction/entity-extractor.js.map +0 -0
- package/dist/extraction/hasher.d.ts +0 -0
- package/dist/extraction/hasher.d.ts.map +0 -0
- package/dist/extraction/hasher.js +0 -0
- package/dist/extraction/hasher.js.map +0 -0
- package/dist/extraction/heuristic.d.ts +0 -0
- package/dist/extraction/heuristic.d.ts.map +0 -0
- package/dist/extraction/heuristic.js +0 -0
- package/dist/extraction/heuristic.js.map +0 -0
- package/dist/extraction/index.d.ts +2 -0
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +2 -0
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/llm-extractor.d.ts +0 -0
- package/dist/extraction/llm-extractor.d.ts.map +1 -1
- package/dist/extraction/llm-extractor.js +5 -1
- package/dist/extraction/llm-extractor.js.map +1 -1
- package/dist/extraction/pipeline.d.ts +2 -0
- package/dist/extraction/pipeline.d.ts.map +1 -1
- package/dist/extraction/pipeline.js +84 -51
- package/dist/extraction/pipeline.js.map +1 -1
- package/dist/extraction/prompts.d.ts +0 -0
- package/dist/extraction/prompts.d.ts.map +0 -0
- package/dist/extraction/prompts.js +0 -0
- package/dist/extraction/prompts.js.map +0 -0
- package/dist/extraction/sliding-window.d.ts +0 -0
- package/dist/extraction/sliding-window.d.ts.map +0 -0
- package/dist/extraction/sliding-window.js +0 -0
- package/dist/extraction/sliding-window.js.map +0 -0
- package/dist/extraction/types.d.ts +1 -1
- package/dist/extraction/types.d.ts.map +1 -1
- package/dist/extraction/types.js +0 -0
- package/dist/extraction/types.js.map +0 -0
- package/dist/feedback/index.d.ts +0 -0
- package/dist/feedback/index.d.ts.map +0 -0
- package/dist/feedback/index.js +0 -0
- package/dist/feedback/index.js.map +0 -0
- package/dist/feedback/tracker.d.ts +0 -0
- package/dist/feedback/tracker.d.ts.map +0 -0
- package/dist/feedback/tracker.js +0 -0
- package/dist/feedback/tracker.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +0 -0
- package/dist/models/api-key.d.ts +0 -0
- package/dist/models/api-key.d.ts.map +0 -0
- package/dist/models/api-key.js +0 -0
- package/dist/models/api-key.js.map +0 -0
- package/dist/models/edge.d.ts +6 -6
- package/dist/models/edge.d.ts.map +0 -0
- package/dist/models/edge.js +0 -0
- package/dist/models/edge.js.map +0 -0
- package/dist/models/entity.d.ts +0 -0
- package/dist/models/entity.d.ts.map +0 -0
- package/dist/models/entity.js +0 -0
- package/dist/models/entity.js.map +0 -0
- package/dist/models/extraction.d.ts +12 -12
- package/dist/models/extraction.d.ts.map +0 -0
- package/dist/models/extraction.js +0 -0
- package/dist/models/extraction.js.map +0 -0
- package/dist/models/fact-entity.d.ts +0 -0
- package/dist/models/fact-entity.d.ts.map +0 -0
- package/dist/models/fact-entity.js +0 -0
- package/dist/models/fact-entity.js.map +0 -0
- package/dist/models/fact.d.ts +12 -12
- package/dist/models/fact.d.ts.map +0 -0
- package/dist/models/fact.js +0 -0
- package/dist/models/fact.js.map +0 -0
- package/dist/models/index.d.ts +0 -0
- package/dist/models/index.d.ts.map +0 -0
- package/dist/models/index.js +0 -0
- package/dist/models/index.js.map +0 -0
- package/dist/models/memory-access.d.ts +0 -0
- package/dist/models/memory-access.d.ts.map +0 -0
- package/dist/models/memory-access.js +0 -0
- package/dist/models/memory-access.js.map +0 -0
- package/dist/models/session-message.d.ts +0 -0
- package/dist/models/session-message.d.ts.map +0 -0
- package/dist/models/session-message.js +0 -0
- package/dist/models/session-message.js.map +0 -0
- package/dist/models/session.d.ts +0 -0
- package/dist/models/session.d.ts.map +0 -0
- package/dist/models/session.js +0 -0
- package/dist/models/session.js.map +0 -0
- package/dist/models/tenant.d.ts +0 -0
- package/dist/models/tenant.d.ts.map +0 -0
- package/dist/models/tenant.js +0 -0
- package/dist/models/tenant.js.map +0 -0
- package/dist/models/trigger.d.ts +6 -6
- package/dist/models/trigger.d.ts.map +0 -0
- package/dist/models/trigger.js +0 -0
- package/dist/models/trigger.js.map +0 -0
- package/dist/models/usage-record.d.ts +0 -0
- package/dist/models/usage-record.d.ts.map +0 -0
- package/dist/models/usage-record.js +0 -0
- package/dist/models/usage-record.js.map +0 -0
- package/dist/models/webhook.d.ts +0 -0
- package/dist/models/webhook.d.ts.map +0 -0
- package/dist/models/webhook.js +0 -0
- package/dist/models/webhook.js.map +0 -0
- package/dist/profiles/index.d.ts +0 -0
- package/dist/profiles/index.d.ts.map +0 -0
- package/dist/profiles/index.js +0 -0
- package/dist/profiles/index.js.map +0 -0
- package/dist/profiles/profile.d.ts +0 -0
- package/dist/profiles/profile.d.ts.map +0 -0
- package/dist/profiles/profile.js +0 -0
- package/dist/profiles/profile.js.map +0 -0
- package/dist/retrieval/compound-search.d.ts +0 -0
- package/dist/retrieval/compound-search.d.ts.map +0 -0
- package/dist/retrieval/compound-search.js +0 -0
- package/dist/retrieval/compound-search.js.map +0 -0
- package/dist/retrieval/contradiction-surfacer.d.ts +0 -0
- package/dist/retrieval/contradiction-surfacer.d.ts.map +0 -0
- package/dist/retrieval/contradiction-surfacer.js +0 -0
- package/dist/retrieval/contradiction-surfacer.js.map +0 -0
- package/dist/retrieval/embedding-cache.d.ts +0 -0
- package/dist/retrieval/embedding-cache.d.ts.map +0 -0
- package/dist/retrieval/embedding-cache.js +0 -0
- package/dist/retrieval/embedding-cache.js.map +0 -0
- package/dist/retrieval/fusion.d.ts +0 -0
- package/dist/retrieval/fusion.d.ts.map +0 -0
- package/dist/retrieval/fusion.js +0 -0
- package/dist/retrieval/fusion.js.map +0 -0
- package/dist/retrieval/graph-traversal.d.ts +0 -0
- package/dist/retrieval/graph-traversal.d.ts.map +0 -0
- package/dist/retrieval/graph-traversal.js +0 -0
- package/dist/retrieval/graph-traversal.js.map +0 -0
- package/dist/retrieval/index.d.ts +0 -0
- package/dist/retrieval/index.d.ts.map +0 -0
- package/dist/retrieval/index.js +0 -0
- package/dist/retrieval/index.js.map +0 -0
- package/dist/retrieval/keyword-search.d.ts +0 -0
- package/dist/retrieval/keyword-search.d.ts.map +0 -0
- package/dist/retrieval/keyword-search.js +0 -0
- package/dist/retrieval/keyword-search.js.map +0 -0
- package/dist/retrieval/query-expansion.d.ts +0 -0
- package/dist/retrieval/query-expansion.d.ts.map +0 -0
- package/dist/retrieval/query-expansion.js +0 -0
- package/dist/retrieval/query-expansion.js.map +0 -0
- package/dist/retrieval/reranker.d.ts +0 -0
- package/dist/retrieval/reranker.d.ts.map +0 -0
- package/dist/retrieval/reranker.js +0 -0
- package/dist/retrieval/reranker.js.map +0 -0
- package/dist/retrieval/salience-scorer.d.ts +0 -0
- package/dist/retrieval/salience-scorer.d.ts.map +0 -0
- package/dist/retrieval/salience-scorer.js +0 -0
- package/dist/retrieval/salience-scorer.js.map +0 -0
- package/dist/retrieval/search.d.ts +0 -0
- package/dist/retrieval/search.d.ts.map +1 -1
- package/dist/retrieval/search.js +77 -66
- package/dist/retrieval/search.js.map +1 -1
- package/dist/retrieval/temporal-scorer.d.ts +0 -0
- package/dist/retrieval/temporal-scorer.d.ts.map +0 -0
- package/dist/retrieval/temporal-scorer.js +0 -0
- package/dist/retrieval/temporal-scorer.js.map +0 -0
- package/dist/retrieval/trigger-matcher.d.ts +0 -0
- package/dist/retrieval/trigger-matcher.d.ts.map +0 -0
- package/dist/retrieval/trigger-matcher.js +0 -0
- package/dist/retrieval/trigger-matcher.js.map +0 -0
- package/dist/retrieval/types.d.ts +4 -0
- package/dist/retrieval/types.d.ts.map +1 -1
- package/dist/retrieval/types.js +10 -0
- package/dist/retrieval/types.js.map +1 -1
- package/dist/retrieval/vector-search.d.ts +0 -0
- package/dist/retrieval/vector-search.d.ts.map +0 -0
- package/dist/retrieval/vector-search.js +0 -0
- package/dist/retrieval/vector-search.js.map +0 -0
- package/dist/salience/decay.d.ts +0 -0
- package/dist/salience/decay.d.ts.map +0 -0
- package/dist/salience/decay.js +0 -0
- package/dist/salience/decay.js.map +0 -0
- package/dist/salience/index.d.ts +0 -0
- package/dist/salience/index.d.ts.map +0 -0
- package/dist/salience/index.js +0 -0
- package/dist/salience/index.js.map +0 -0
- package/dist/scratchpad/index.d.ts +0 -0
- package/dist/scratchpad/index.d.ts.map +0 -0
- package/dist/scratchpad/index.js +0 -0
- package/dist/scratchpad/index.js.map +0 -0
- package/dist/scratchpad/scratchpad.d.ts +0 -0
- package/dist/scratchpad/scratchpad.d.ts.map +0 -0
- package/dist/scratchpad/scratchpad.js +0 -0
- package/dist/scratchpad/scratchpad.js.map +0 -0
- package/dist/sessions/index.d.ts +0 -0
- package/dist/sessions/index.d.ts.map +0 -0
- package/dist/sessions/index.js +0 -0
- package/dist/sessions/index.js.map +0 -0
- package/dist/sessions/manager.d.ts +0 -0
- package/dist/sessions/manager.d.ts.map +0 -0
- package/dist/sessions/manager.js +0 -0
- package/dist/sessions/manager.js.map +0 -0
- package/package.json +9 -9
- package/src/adapters/cache.d.ts +0 -0
- package/src/adapters/cache.d.ts.map +0 -0
- package/src/adapters/cache.js +0 -0
- package/src/adapters/cache.js.map +0 -0
- package/src/adapters/cache.ts +0 -0
- package/src/adapters/embedding.d.ts +0 -0
- package/src/adapters/embedding.d.ts.map +0 -0
- package/src/adapters/embedding.js +0 -0
- package/src/adapters/embedding.js.map +0 -0
- package/src/adapters/embedding.ts +0 -0
- package/src/adapters/gemini-embedding.ts +0 -0
- package/src/adapters/index.ts +0 -0
- package/src/adapters/llm.d.ts +0 -0
- package/src/adapters/llm.d.ts.map +0 -0
- package/src/adapters/llm.js +0 -0
- package/src/adapters/llm.js.map +0 -0
- package/src/adapters/llm.ts +0 -0
- package/src/adapters/perplexity-embedding.d.ts +0 -0
- package/src/adapters/perplexity-embedding.d.ts.map +0 -0
- package/src/adapters/perplexity-embedding.js +0 -0
- package/src/adapters/perplexity-embedding.js.map +0 -0
- package/src/adapters/perplexity-embedding.ts +0 -0
- package/src/adapters/storage.d.ts +0 -0
- package/src/adapters/storage.d.ts.map +0 -0
- package/src/adapters/storage.js +0 -0
- package/src/adapters/storage.js.map +0 -0
- package/src/adapters/storage.ts +0 -0
- package/src/auth/api-key.ts +0 -0
- package/src/auth/index.ts +0 -0
- package/src/config.d.ts +0 -0
- package/src/config.d.ts.map +0 -0
- package/src/config.js +0 -0
- package/src/config.js.map +0 -0
- package/src/config.ts +13 -1
- package/src/extraction/codebase-extractor.ts +239 -0
- package/src/extraction/codebase-prompts.ts +141 -0
- package/src/extraction/contradiction.d.ts +0 -0
- package/src/extraction/contradiction.d.ts.map +0 -0
- package/src/extraction/contradiction.js +0 -0
- package/src/extraction/contradiction.js.map +0 -0
- package/src/extraction/contradiction.ts +0 -0
- package/src/extraction/cross-linker.d.ts +0 -0
- package/src/extraction/cross-linker.d.ts.map +0 -0
- package/src/extraction/cross-linker.js +0 -0
- package/src/extraction/cross-linker.js.map +0 -0
- package/src/extraction/cross-linker.ts +0 -0
- package/src/extraction/dedup.d.ts +0 -0
- package/src/extraction/dedup.d.ts.map +0 -0
- package/src/extraction/dedup.js +0 -0
- package/src/extraction/dedup.js.map +0 -0
- package/src/extraction/dedup.ts +0 -0
- package/src/extraction/entity-extractor.d.ts +0 -0
- package/src/extraction/entity-extractor.d.ts.map +0 -0
- package/src/extraction/entity-extractor.js +0 -0
- package/src/extraction/entity-extractor.js.map +0 -0
- package/src/extraction/entity-extractor.ts +0 -0
- package/src/extraction/hasher.d.ts +0 -0
- package/src/extraction/hasher.d.ts.map +0 -0
- package/src/extraction/hasher.js +0 -0
- package/src/extraction/hasher.js.map +0 -0
- package/src/extraction/hasher.ts +0 -0
- package/src/extraction/heuristic.d.ts +0 -0
- package/src/extraction/heuristic.d.ts.map +0 -0
- package/src/extraction/heuristic.js +0 -0
- package/src/extraction/heuristic.js.map +0 -0
- package/src/extraction/heuristic.ts +0 -0
- package/src/extraction/index.ts +2 -0
- package/src/extraction/llm-extractor.d.ts +0 -0
- package/src/extraction/llm-extractor.d.ts.map +0 -0
- package/src/extraction/llm-extractor.js +0 -0
- package/src/extraction/llm-extractor.js.map +0 -0
- package/src/extraction/llm-extractor.ts +5 -1
- package/src/extraction/pipeline.d.ts +0 -0
- package/src/extraction/pipeline.d.ts.map +0 -0
- package/src/extraction/pipeline.js +0 -0
- package/src/extraction/pipeline.js.map +0 -0
- package/src/extraction/pipeline.ts +103 -59
- package/src/extraction/prompts.d.ts +0 -0
- package/src/extraction/prompts.d.ts.map +0 -0
- package/src/extraction/prompts.js +0 -0
- package/src/extraction/prompts.js.map +0 -0
- package/src/extraction/prompts.ts +0 -0
- package/src/extraction/sliding-window.d.ts +0 -0
- package/src/extraction/sliding-window.d.ts.map +0 -0
- package/src/extraction/sliding-window.js +0 -0
- package/src/extraction/sliding-window.js.map +0 -0
- package/src/extraction/sliding-window.ts +0 -0
- package/src/extraction/types.d.ts +0 -0
- package/src/extraction/types.d.ts.map +0 -0
- package/src/extraction/types.js +0 -0
- package/src/extraction/types.js.map +0 -0
- package/src/extraction/types.ts +1 -1
- package/src/feedback/index.ts +0 -0
- package/src/feedback/tracker.d.ts +0 -0
- package/src/feedback/tracker.d.ts.map +0 -0
- package/src/feedback/tracker.js +0 -0
- package/src/feedback/tracker.js.map +0 -0
- package/src/feedback/tracker.ts +0 -0
- package/src/index.ts +0 -0
- package/src/models/api-key.d.ts +0 -0
- package/src/models/api-key.d.ts.map +0 -0
- package/src/models/api-key.js +0 -0
- package/src/models/api-key.js.map +0 -0
- package/src/models/api-key.ts +0 -0
- package/src/models/edge.d.ts +0 -0
- package/src/models/edge.d.ts.map +0 -0
- package/src/models/edge.js +0 -0
- package/src/models/edge.js.map +0 -0
- package/src/models/edge.ts +0 -0
- package/src/models/entity.d.ts +0 -0
- package/src/models/entity.d.ts.map +0 -0
- package/src/models/entity.js +0 -0
- package/src/models/entity.js.map +0 -0
- package/src/models/entity.ts +0 -0
- package/src/models/extraction.d.ts +0 -0
- package/src/models/extraction.d.ts.map +0 -0
- package/src/models/extraction.js +0 -0
- package/src/models/extraction.js.map +0 -0
- package/src/models/extraction.ts +0 -0
- package/src/models/fact-entity.d.ts +0 -0
- package/src/models/fact-entity.d.ts.map +0 -0
- package/src/models/fact-entity.js +0 -0
- package/src/models/fact-entity.js.map +0 -0
- package/src/models/fact-entity.ts +0 -0
- package/src/models/fact.d.ts +0 -0
- package/src/models/fact.d.ts.map +0 -0
- package/src/models/fact.js +0 -0
- package/src/models/fact.js.map +0 -0
- package/src/models/fact.ts +0 -0
- package/src/models/index.d.ts +0 -0
- package/src/models/index.d.ts.map +0 -0
- package/src/models/index.js +0 -0
- package/src/models/index.js.map +0 -0
- package/src/models/index.ts +0 -0
- package/src/models/memory-access.d.ts +0 -0
- package/src/models/memory-access.d.ts.map +0 -0
- package/src/models/memory-access.js +0 -0
- package/src/models/memory-access.js.map +0 -0
- package/src/models/memory-access.ts +0 -0
- package/src/models/session-message.ts +0 -0
- package/src/models/session.d.ts +0 -0
- package/src/models/session.d.ts.map +0 -0
- package/src/models/session.js +0 -0
- package/src/models/session.js.map +0 -0
- package/src/models/session.ts +0 -0
- package/src/models/tenant.d.ts +0 -0
- package/src/models/tenant.d.ts.map +0 -0
- package/src/models/tenant.js +0 -0
- package/src/models/tenant.js.map +0 -0
- package/src/models/tenant.ts +0 -0
- package/src/models/trigger.d.ts +0 -0
- package/src/models/trigger.d.ts.map +0 -0
- package/src/models/trigger.js +0 -0
- package/src/models/trigger.js.map +0 -0
- package/src/models/trigger.ts +0 -0
- package/src/models/usage-record.d.ts +0 -0
- package/src/models/usage-record.d.ts.map +0 -0
- package/src/models/usage-record.js +0 -0
- package/src/models/usage-record.js.map +0 -0
- package/src/models/usage-record.ts +0 -0
- package/src/models/webhook.d.ts +0 -0
- package/src/models/webhook.d.ts.map +0 -0
- package/src/models/webhook.js +0 -0
- package/src/models/webhook.js.map +0 -0
- package/src/models/webhook.ts +0 -0
- package/src/profiles/index.ts +0 -0
- package/src/profiles/profile.ts +0 -0
- package/src/retrieval/compound-search.d.ts +0 -0
- package/src/retrieval/compound-search.d.ts.map +0 -0
- package/src/retrieval/compound-search.js +0 -0
- package/src/retrieval/compound-search.js.map +0 -0
- package/src/retrieval/compound-search.ts +0 -0
- package/src/retrieval/contradiction-surfacer.d.ts +0 -0
- package/src/retrieval/contradiction-surfacer.d.ts.map +0 -0
- package/src/retrieval/contradiction-surfacer.js +0 -0
- package/src/retrieval/contradiction-surfacer.js.map +0 -0
- package/src/retrieval/contradiction-surfacer.ts +0 -0
- package/src/retrieval/embedding-cache.d.ts +0 -0
- package/src/retrieval/embedding-cache.d.ts.map +0 -0
- package/src/retrieval/embedding-cache.js +0 -0
- package/src/retrieval/embedding-cache.js.map +0 -0
- package/src/retrieval/embedding-cache.ts +0 -0
- package/src/retrieval/fusion.d.ts +0 -0
- package/src/retrieval/fusion.d.ts.map +0 -0
- package/src/retrieval/fusion.js +0 -0
- package/src/retrieval/fusion.js.map +0 -0
- package/src/retrieval/fusion.ts +0 -0
- package/src/retrieval/graph-traversal.d.ts +0 -0
- package/src/retrieval/graph-traversal.d.ts.map +0 -0
- package/src/retrieval/graph-traversal.js +0 -0
- package/src/retrieval/graph-traversal.js.map +0 -0
- package/src/retrieval/graph-traversal.ts +0 -0
- package/src/retrieval/index.ts +0 -0
- package/src/retrieval/keyword-search.ts +0 -0
- package/src/retrieval/query-expansion.d.ts +0 -0
- package/src/retrieval/query-expansion.d.ts.map +0 -0
- package/src/retrieval/query-expansion.js +0 -0
- package/src/retrieval/query-expansion.js.map +0 -0
- package/src/retrieval/query-expansion.ts +0 -0
- package/src/retrieval/reranker.d.ts +0 -0
- package/src/retrieval/reranker.d.ts.map +0 -0
- package/src/retrieval/reranker.js +0 -0
- package/src/retrieval/reranker.js.map +0 -0
- package/src/retrieval/reranker.ts +0 -0
- package/src/retrieval/salience-scorer.d.ts +0 -0
- package/src/retrieval/salience-scorer.d.ts.map +0 -0
- package/src/retrieval/salience-scorer.js +0 -0
- package/src/retrieval/salience-scorer.js.map +0 -0
- package/src/retrieval/salience-scorer.ts +0 -0
- package/src/retrieval/search.d.ts +0 -0
- package/src/retrieval/search.d.ts.map +0 -0
- package/src/retrieval/search.js +0 -0
- package/src/retrieval/search.js.map +0 -0
- package/src/retrieval/search.ts +84 -67
- package/src/retrieval/temporal-scorer.d.ts +0 -0
- package/src/retrieval/temporal-scorer.d.ts.map +0 -0
- package/src/retrieval/temporal-scorer.js +0 -0
- package/src/retrieval/temporal-scorer.js.map +0 -0
- package/src/retrieval/temporal-scorer.ts +0 -0
- package/src/retrieval/trigger-matcher.d.ts +0 -0
- package/src/retrieval/trigger-matcher.d.ts.map +0 -0
- package/src/retrieval/trigger-matcher.js +0 -0
- package/src/retrieval/trigger-matcher.js.map +0 -0
- package/src/retrieval/trigger-matcher.ts +0 -0
- package/src/retrieval/types.d.ts +0 -0
- package/src/retrieval/types.d.ts.map +0 -0
- package/src/retrieval/types.js +0 -0
- package/src/retrieval/types.js.map +0 -0
- package/src/retrieval/types.ts +12 -0
- package/src/retrieval/vector-search.d.ts +0 -0
- package/src/retrieval/vector-search.d.ts.map +0 -0
- package/src/retrieval/vector-search.js +0 -0
- package/src/retrieval/vector-search.js.map +0 -0
- package/src/retrieval/vector-search.ts +0 -0
- package/src/salience/decay.d.ts +0 -0
- package/src/salience/decay.d.ts.map +0 -0
- package/src/salience/decay.js +0 -0
- package/src/salience/decay.js.map +0 -0
- package/src/salience/decay.ts +0 -0
- package/src/salience/index.ts +0 -0
- package/src/scratchpad/index.ts +0 -0
- package/src/scratchpad/scratchpad.d.ts +0 -0
- package/src/scratchpad/scratchpad.d.ts.map +0 -0
- package/src/scratchpad/scratchpad.js +0 -0
- package/src/scratchpad/scratchpad.js.map +0 -0
- package/src/scratchpad/scratchpad.ts +0 -0
- package/src/sessions/index.ts +0 -0
- package/src/sessions/manager.d.ts +0 -0
- package/src/sessions/manager.d.ts.map +0 -0
- package/src/sessions/manager.js +0 -0
- package/src/sessions/manager.js.map +0 -0
- package/src/sessions/manager.ts +0 -0
|
@@ -11,6 +11,7 @@ import type {
|
|
|
11
11
|
} from './types.js';
|
|
12
12
|
import { extractHeuristic } from './heuristic.js';
|
|
13
13
|
import { extractWithLLM, normalizeEntityName } from './llm-extractor.js';
|
|
14
|
+
import { extractCodebaseFacts } from './codebase-extractor.js';
|
|
14
15
|
import { deduplicateFacts } from './dedup.js';
|
|
15
16
|
import { processContradictions } from './contradiction.js';
|
|
16
17
|
import { buildEntityIdMap, persistEdges } from './entity-extractor.js';
|
|
@@ -30,6 +31,8 @@ export interface PipelineConfig {
|
|
|
30
31
|
decayNormalizationK?: number;
|
|
31
32
|
entityTypes?: string[];
|
|
32
33
|
domainEntityTypes?: DomainEntityType[];
|
|
34
|
+
/** Pipeline mode: 'conversation' (default) for chat/document memory, 'codebase' for code understanding */
|
|
35
|
+
mode?: 'conversation' | 'codebase';
|
|
33
36
|
}
|
|
34
37
|
|
|
35
38
|
// ---------------------------------------------------------------------------
|
|
@@ -89,87 +92,127 @@ async function executeExtraction(
|
|
|
89
92
|
): Promise<PipelineResult> {
|
|
90
93
|
const tier = config.extractionTier ?? 'auto';
|
|
91
94
|
const textContent = inputToText(input);
|
|
95
|
+
const isCodebaseMode = config.mode === 'codebase';
|
|
92
96
|
|
|
93
97
|
let totalTokensInput = 0;
|
|
94
98
|
let totalTokensOutput = 0;
|
|
95
99
|
const tiersUsed: string[] = [];
|
|
96
100
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
let mergedFacts: ExtractedFact[];
|
|
102
|
+
let mergedEntities: ExtractedEntity[];
|
|
103
|
+
let mergedEdges: ExtractedEdge[];
|
|
100
104
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
let mergedEdges: ExtractedEdge[] = heuristicResult.edges;
|
|
104
|
-
|
|
105
|
-
// Run LLM extraction (unless heuristic_only)
|
|
106
|
-
if (tier !== 'heuristic_only') {
|
|
105
|
+
if (isCodebaseMode) {
|
|
106
|
+
// ── CODEBASE MODE: Skip heuristic, use codebase-specific extraction ──
|
|
107
107
|
const llmToUse = tier === 'smart_only' ? (config.smartLLM ?? config.cheapLLM) : config.cheapLLM;
|
|
108
108
|
const llmTier = tier === 'smart_only' ? 'smart_llm' : 'cheap_llm';
|
|
109
109
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
lineageId: f.lineageId,
|
|
113
|
-
content: f.content,
|
|
114
|
-
}));
|
|
115
|
-
|
|
116
|
-
if (!existingFactsForLLM || existingFactsForLLM.length === 0) {
|
|
117
|
-
try {
|
|
118
|
-
const queryEmbedding = await config.embedding.embed(textContent.slice(0, 1000));
|
|
119
|
-
const similar = await config.storage.vectorSearch({
|
|
120
|
-
embedding: queryEmbedding,
|
|
121
|
-
tenantId: input.tenantId,
|
|
122
|
-
scope: input.scope,
|
|
123
|
-
scopeId: input.scopeId,
|
|
124
|
-
limit: 20,
|
|
125
|
-
minSimilarity: 0.3,
|
|
126
|
-
validOnly: true,
|
|
127
|
-
});
|
|
128
|
-
if (similar.length > 0) {
|
|
129
|
-
existingFactsForLLM = similar.map(s => ({
|
|
130
|
-
lineageId: s.fact.lineageId ?? s.fact.id,
|
|
131
|
-
content: s.fact.content,
|
|
132
|
-
}));
|
|
133
|
-
}
|
|
134
|
-
} catch {
|
|
135
|
-
// Non-fatal — extraction continues without existing facts
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
const llmResult = await extractWithLLM(
|
|
140
|
-
{ llm: llmToUse, tier: llmTier, entityTypes: config.entityTypes, domainEntityTypes: config.domainEntityTypes },
|
|
110
|
+
const codebaseResult = await extractCodebaseFacts(
|
|
111
|
+
{ llm: llmToUse, tier: llmTier },
|
|
141
112
|
textContent,
|
|
142
|
-
existingFactsForLLM,
|
|
143
113
|
);
|
|
144
114
|
|
|
145
|
-
totalTokensInput +=
|
|
146
|
-
totalTokensOutput +=
|
|
115
|
+
totalTokensInput += codebaseResult.tokensInput;
|
|
116
|
+
totalTokensOutput += codebaseResult.tokensOutput;
|
|
147
117
|
tiersUsed.push(llmTier);
|
|
148
118
|
|
|
149
119
|
// Escalate to smart LLM if confidence is low
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
llmResult.confidence < 0.6 &&
|
|
154
|
-
config.smartLLM
|
|
155
|
-
) {
|
|
156
|
-
const smartResult = await extractWithLLM(
|
|
157
|
-
{ llm: config.smartLLM, tier: 'smart_llm', entityTypes: config.entityTypes, domainEntityTypes: config.domainEntityTypes },
|
|
120
|
+
if (tier === 'auto' && codebaseResult.confidence < 0.6 && config.smartLLM) {
|
|
121
|
+
const smartResult = await extractCodebaseFacts(
|
|
122
|
+
{ llm: config.smartLLM, tier: 'smart_llm' },
|
|
158
123
|
textContent,
|
|
159
|
-
existingFactsForLLM,
|
|
160
124
|
);
|
|
161
125
|
totalTokensInput += smartResult.tokensInput;
|
|
162
126
|
totalTokensOutput += smartResult.tokensOutput;
|
|
163
127
|
tiersUsed.push('smart_llm');
|
|
164
|
-
|
|
128
|
+
mergedFacts = smartResult.facts;
|
|
129
|
+
mergedEntities = smartResult.entities;
|
|
130
|
+
mergedEdges = smartResult.edges;
|
|
131
|
+
} else {
|
|
132
|
+
mergedFacts = codebaseResult.facts;
|
|
133
|
+
mergedEntities = codebaseResult.entities;
|
|
134
|
+
mergedEdges = codebaseResult.edges;
|
|
165
135
|
}
|
|
136
|
+
} else {
|
|
137
|
+
// ── CONVERSATION MODE: Original extraction logic ──
|
|
138
|
+
|
|
139
|
+
// Run heuristic extraction (always)
|
|
140
|
+
const heuristicResult = extractHeuristic(textContent);
|
|
141
|
+
tiersUsed.push('heuristic');
|
|
142
|
+
|
|
143
|
+
mergedFacts = heuristicResult.facts;
|
|
144
|
+
mergedEntities = heuristicResult.entities;
|
|
145
|
+
mergedEdges = heuristicResult.edges;
|
|
146
|
+
|
|
147
|
+
// Run LLM extraction (unless heuristic_only)
|
|
148
|
+
if (tier !== 'heuristic_only') {
|
|
149
|
+
const llmToUse = tier === 'smart_only' ? (config.smartLLM ?? config.cheapLLM) : config.cheapLLM;
|
|
150
|
+
const llmTier = tier === 'smart_only' ? 'smart_llm' : 'cheap_llm';
|
|
151
|
+
|
|
152
|
+
// Fetch existing facts for the LLM to compare against (enables contradiction detection)
|
|
153
|
+
let existingFactsForLLM = input.existingFacts?.map(f => ({
|
|
154
|
+
lineageId: f.lineageId,
|
|
155
|
+
content: f.content,
|
|
156
|
+
}));
|
|
157
|
+
|
|
158
|
+
if (!existingFactsForLLM || existingFactsForLLM.length === 0) {
|
|
159
|
+
try {
|
|
160
|
+
const queryEmbedding = await config.embedding.embed(textContent.slice(0, 1000));
|
|
161
|
+
const similar = await config.storage.vectorSearch({
|
|
162
|
+
embedding: queryEmbedding,
|
|
163
|
+
tenantId: input.tenantId,
|
|
164
|
+
scope: input.scope,
|
|
165
|
+
scopeId: input.scopeId,
|
|
166
|
+
limit: 20,
|
|
167
|
+
minSimilarity: 0.3,
|
|
168
|
+
validOnly: true,
|
|
169
|
+
});
|
|
170
|
+
if (similar.length > 0) {
|
|
171
|
+
existingFactsForLLM = similar.map(s => ({
|
|
172
|
+
lineageId: s.fact.lineageId ?? s.fact.id,
|
|
173
|
+
content: s.fact.content,
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
} catch {
|
|
177
|
+
// Non-fatal — extraction continues without existing facts
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
const llmResult = await extractWithLLM(
|
|
182
|
+
{ llm: llmToUse, tier: llmTier, entityTypes: config.entityTypes, domainEntityTypes: config.domainEntityTypes },
|
|
183
|
+
textContent,
|
|
184
|
+
existingFactsForLLM,
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
totalTokensInput += llmResult.tokensInput;
|
|
188
|
+
totalTokensOutput += llmResult.tokensOutput;
|
|
189
|
+
tiersUsed.push(llmTier);
|
|
190
|
+
|
|
191
|
+
// Escalate to smart LLM if confidence is low
|
|
192
|
+
let finalLLMResult = llmResult;
|
|
193
|
+
if (
|
|
194
|
+
tier === 'auto' &&
|
|
195
|
+
llmResult.confidence < 0.6 &&
|
|
196
|
+
config.smartLLM
|
|
197
|
+
) {
|
|
198
|
+
const smartResult = await extractWithLLM(
|
|
199
|
+
{ llm: config.smartLLM, tier: 'smart_llm', entityTypes: config.entityTypes, domainEntityTypes: config.domainEntityTypes },
|
|
200
|
+
textContent,
|
|
201
|
+
existingFactsForLLM,
|
|
202
|
+
);
|
|
203
|
+
totalTokensInput += smartResult.tokensInput;
|
|
204
|
+
totalTokensOutput += smartResult.tokensOutput;
|
|
205
|
+
tiersUsed.push('smart_llm');
|
|
206
|
+
finalLLMResult = smartResult;
|
|
207
|
+
}
|
|
166
208
|
|
|
167
|
-
|
|
168
|
-
|
|
209
|
+
// Merge results: LLM takes priority
|
|
210
|
+
mergedFacts = mergeFacts(heuristicResult.facts, finalLLMResult.facts);
|
|
169
211
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
212
|
+
// Merge entities: dedup by canonicalName, LLM overwrites heuristic
|
|
213
|
+
mergedEntities = mergeEntities(heuristicResult.entities, finalLLMResult.entities);
|
|
214
|
+
mergedEdges = [...heuristicResult.edges, ...finalLLMResult.edges];
|
|
215
|
+
}
|
|
173
216
|
}
|
|
174
217
|
|
|
175
218
|
// Run deduplication against existing memories
|
|
@@ -203,7 +246,8 @@ async function executeExtraction(
|
|
|
203
246
|
|
|
204
247
|
// Ensure "User" entity exists — LLM creates edges like "user → shops_at → target"
|
|
205
248
|
// but never extracts "user" as an entity, so those edges get silently dropped.
|
|
206
|
-
|
|
249
|
+
// Skip in codebase mode — there is no "user" entity in code analysis.
|
|
250
|
+
if (!isCodebaseMode && !mergedEntities.some(e => e.canonicalName === 'user')) {
|
|
207
251
|
mergedEntities.push({
|
|
208
252
|
name: 'User',
|
|
209
253
|
entityType: 'person',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/extraction/types.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/extraction/types.ts
CHANGED
|
@@ -60,7 +60,7 @@ export interface ExtractionInput {
|
|
|
60
60
|
scope: Scope;
|
|
61
61
|
scopeId: string;
|
|
62
62
|
sessionId?: string;
|
|
63
|
-
inputType: 'conversation' | 'document' | 'url' | 'raw_text' | 'image' | 'audio' | 'code';
|
|
63
|
+
inputType: 'conversation' | 'document' | 'url' | 'raw_text' | 'image' | 'audio' | 'code' | 'codebase_scan' | 'file_change' | 'architecture_doc';
|
|
64
64
|
data: unknown;
|
|
65
65
|
existingFacts?: Array<{ id: string; lineageId: string; content: string; embedding?: number[] }>;
|
|
66
66
|
}
|
package/src/feedback/index.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/feedback/tracker.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/feedback/tracker.ts
CHANGED
|
File without changes
|
package/src/index.ts
CHANGED
|
File without changes
|
package/src/models/api-key.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/api-key.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/api-key.ts
CHANGED
|
File without changes
|
package/src/models/edge.d.ts
CHANGED
|
File without changes
|
package/src/models/edge.d.ts.map
CHANGED
|
File without changes
|
package/src/models/edge.js
CHANGED
|
File without changes
|
package/src/models/edge.js.map
CHANGED
|
File without changes
|
package/src/models/edge.ts
CHANGED
|
File without changes
|
package/src/models/entity.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/entity.js
CHANGED
|
File without changes
|
package/src/models/entity.js.map
CHANGED
|
File without changes
|
package/src/models/entity.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/models/extraction.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/extraction.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/models/fact.d.ts
CHANGED
|
File without changes
|
package/src/models/fact.d.ts.map
CHANGED
|
File without changes
|
package/src/models/fact.js
CHANGED
|
File without changes
|
package/src/models/fact.js.map
CHANGED
|
File without changes
|
package/src/models/fact.ts
CHANGED
|
File without changes
|
package/src/models/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/index.js
CHANGED
|
File without changes
|
package/src/models/index.js.map
CHANGED
|
File without changes
|
package/src/models/index.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/models/session.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/session.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/session.ts
CHANGED
|
File without changes
|
package/src/models/tenant.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/tenant.js
CHANGED
|
File without changes
|
package/src/models/tenant.js.map
CHANGED
|
File without changes
|
package/src/models/tenant.ts
CHANGED
|
File without changes
|
package/src/models/trigger.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/trigger.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/trigger.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/models/webhook.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/webhook.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/webhook.ts
CHANGED
|
File without changes
|
package/src/profiles/index.ts
CHANGED
|
File without changes
|
package/src/profiles/profile.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/retrieval/fusion.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/retrieval/fusion.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/retrieval/index.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/retrieval/search.js
CHANGED
|
File without changes
|
|
File without changes
|