@steno-ai/engine 0.1.11 → 0.1.13
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 +186 -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 +88 -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 +217 -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 +108 -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,129 @@ 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
|
-
|
|
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
|
+
console.error(`[steno-pipeline] Codebase mode: extracting from ${textContent.length} chars with ${llmTier}`);
|
|
111
|
+
const codebaseResult = await extractCodebaseFacts(
|
|
112
|
+
{ llm: llmToUse, tier: llmTier },
|
|
141
113
|
textContent,
|
|
142
|
-
existingFactsForLLM,
|
|
143
114
|
);
|
|
144
115
|
|
|
145
|
-
|
|
146
|
-
|
|
116
|
+
console.error(`[steno-pipeline] Codebase extraction: ${codebaseResult.facts.length} facts, ${codebaseResult.entities.length} entities, ${codebaseResult.edges.length} edges, confidence=${codebaseResult.confidence}`);
|
|
117
|
+
totalTokensInput += codebaseResult.tokensInput;
|
|
118
|
+
totalTokensOutput += codebaseResult.tokensOutput;
|
|
147
119
|
tiersUsed.push(llmTier);
|
|
148
120
|
|
|
149
121
|
// 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 },
|
|
122
|
+
if (tier === 'auto' && codebaseResult.confidence < 0.6 && config.smartLLM) {
|
|
123
|
+
const smartResult = await extractCodebaseFacts(
|
|
124
|
+
{ llm: config.smartLLM, tier: 'smart_llm' },
|
|
158
125
|
textContent,
|
|
159
|
-
existingFactsForLLM,
|
|
160
126
|
);
|
|
161
127
|
totalTokensInput += smartResult.tokensInput;
|
|
162
128
|
totalTokensOutput += smartResult.tokensOutput;
|
|
163
129
|
tiersUsed.push('smart_llm');
|
|
164
|
-
|
|
130
|
+
mergedFacts = smartResult.facts;
|
|
131
|
+
mergedEntities = smartResult.entities;
|
|
132
|
+
mergedEdges = smartResult.edges;
|
|
133
|
+
} else {
|
|
134
|
+
mergedFacts = codebaseResult.facts;
|
|
135
|
+
mergedEntities = codebaseResult.entities;
|
|
136
|
+
mergedEdges = codebaseResult.edges;
|
|
165
137
|
}
|
|
138
|
+
} else {
|
|
139
|
+
// ── CONVERSATION MODE: Original extraction logic ──
|
|
140
|
+
|
|
141
|
+
// Run heuristic extraction (always)
|
|
142
|
+
const heuristicResult = extractHeuristic(textContent);
|
|
143
|
+
tiersUsed.push('heuristic');
|
|
144
|
+
|
|
145
|
+
mergedFacts = heuristicResult.facts;
|
|
146
|
+
mergedEntities = heuristicResult.entities;
|
|
147
|
+
mergedEdges = heuristicResult.edges;
|
|
148
|
+
|
|
149
|
+
// Run LLM extraction (unless heuristic_only)
|
|
150
|
+
if (tier !== 'heuristic_only') {
|
|
151
|
+
const llmToUse = tier === 'smart_only' ? (config.smartLLM ?? config.cheapLLM) : config.cheapLLM;
|
|
152
|
+
const llmTier = tier === 'smart_only' ? 'smart_llm' : 'cheap_llm';
|
|
153
|
+
|
|
154
|
+
// Fetch existing facts for the LLM to compare against (enables contradiction detection)
|
|
155
|
+
let existingFactsForLLM = input.existingFacts?.map(f => ({
|
|
156
|
+
lineageId: f.lineageId,
|
|
157
|
+
content: f.content,
|
|
158
|
+
}));
|
|
159
|
+
|
|
160
|
+
if (!existingFactsForLLM || existingFactsForLLM.length === 0) {
|
|
161
|
+
try {
|
|
162
|
+
const queryEmbedding = await config.embedding.embed(textContent.slice(0, 1000));
|
|
163
|
+
const similar = await config.storage.vectorSearch({
|
|
164
|
+
embedding: queryEmbedding,
|
|
165
|
+
tenantId: input.tenantId,
|
|
166
|
+
scope: input.scope,
|
|
167
|
+
scopeId: input.scopeId,
|
|
168
|
+
limit: 20,
|
|
169
|
+
minSimilarity: 0.3,
|
|
170
|
+
validOnly: true,
|
|
171
|
+
});
|
|
172
|
+
if (similar.length > 0) {
|
|
173
|
+
existingFactsForLLM = similar.map(s => ({
|
|
174
|
+
lineageId: s.fact.lineageId ?? s.fact.id,
|
|
175
|
+
content: s.fact.content,
|
|
176
|
+
}));
|
|
177
|
+
}
|
|
178
|
+
} catch {
|
|
179
|
+
// Non-fatal — extraction continues without existing facts
|
|
180
|
+
}
|
|
181
|
+
}
|
|
166
182
|
|
|
167
|
-
|
|
168
|
-
|
|
183
|
+
const llmResult = await extractWithLLM(
|
|
184
|
+
{ llm: llmToUse, tier: llmTier, entityTypes: config.entityTypes, domainEntityTypes: config.domainEntityTypes },
|
|
185
|
+
textContent,
|
|
186
|
+
existingFactsForLLM,
|
|
187
|
+
);
|
|
169
188
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
189
|
+
totalTokensInput += llmResult.tokensInput;
|
|
190
|
+
totalTokensOutput += llmResult.tokensOutput;
|
|
191
|
+
tiersUsed.push(llmTier);
|
|
192
|
+
|
|
193
|
+
// Escalate to smart LLM if confidence is low
|
|
194
|
+
let finalLLMResult = llmResult;
|
|
195
|
+
if (
|
|
196
|
+
tier === 'auto' &&
|
|
197
|
+
llmResult.confidence < 0.6 &&
|
|
198
|
+
config.smartLLM
|
|
199
|
+
) {
|
|
200
|
+
const smartResult = await extractWithLLM(
|
|
201
|
+
{ llm: config.smartLLM, tier: 'smart_llm', entityTypes: config.entityTypes, domainEntityTypes: config.domainEntityTypes },
|
|
202
|
+
textContent,
|
|
203
|
+
existingFactsForLLM,
|
|
204
|
+
);
|
|
205
|
+
totalTokensInput += smartResult.tokensInput;
|
|
206
|
+
totalTokensOutput += smartResult.tokensOutput;
|
|
207
|
+
tiersUsed.push('smart_llm');
|
|
208
|
+
finalLLMResult = smartResult;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// Merge results: LLM takes priority
|
|
212
|
+
mergedFacts = mergeFacts(heuristicResult.facts, finalLLMResult.facts);
|
|
213
|
+
|
|
214
|
+
// Merge entities: dedup by canonicalName, LLM overwrites heuristic
|
|
215
|
+
mergedEntities = mergeEntities(heuristicResult.entities, finalLLMResult.entities);
|
|
216
|
+
mergedEdges = [...heuristicResult.edges, ...finalLLMResult.edges];
|
|
217
|
+
}
|
|
173
218
|
}
|
|
174
219
|
|
|
175
220
|
// Run deduplication against existing memories
|
|
@@ -185,8 +230,11 @@ async function executeExtraction(
|
|
|
185
230
|
input.scopeId,
|
|
186
231
|
);
|
|
187
232
|
|
|
233
|
+
console.error(`[steno-pipeline] After dedup: ${dedupedFacts.length} facts (from ${mergedFacts.length} pre-dedup)`);
|
|
234
|
+
|
|
188
235
|
// Process contradictions
|
|
189
236
|
const contradictionResults = processContradictions(dedupedFacts);
|
|
237
|
+
console.error(`[steno-pipeline] After contradiction processing: ${contradictionResults.length} results`);
|
|
190
238
|
|
|
191
239
|
// Persist facts
|
|
192
240
|
let factsCreated = 0;
|
|
@@ -203,7 +251,8 @@ async function executeExtraction(
|
|
|
203
251
|
|
|
204
252
|
// Ensure "User" entity exists — LLM creates edges like "user → shops_at → target"
|
|
205
253
|
// but never extracts "user" as an entity, so those edges get silently dropped.
|
|
206
|
-
|
|
254
|
+
// Skip in codebase mode — there is no "user" entity in code analysis.
|
|
255
|
+
if (!isCodebaseMode && !mergedEntities.some(e => e.canonicalName === 'user')) {
|
|
207
256
|
mergedEntities.push({
|
|
208
257
|
name: 'User',
|
|
209
258
|
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
|