@steno-ai/engine 0.1.18 → 0.1.20
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 +0 -0
- package/dist/config.d.ts.map +0 -0
- package/dist/config.js +0 -0
- package/dist/config.js.map +0 -0
- package/dist/extraction/codebase-extractor.d.ts +0 -0
- package/dist/extraction/codebase-extractor.d.ts.map +0 -0
- package/dist/extraction/codebase-extractor.js +0 -0
- package/dist/extraction/codebase-extractor.js.map +0 -0
- package/dist/extraction/codebase-prompts.d.ts +0 -0
- package/dist/extraction/codebase-prompts.d.ts.map +0 -0
- package/dist/extraction/codebase-prompts.js +0 -0
- package/dist/extraction/codebase-prompts.js.map +0 -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 +0 -0
- package/dist/extraction/index.d.ts.map +0 -0
- package/dist/extraction/index.js +0 -0
- package/dist/extraction/index.js.map +0 -0
- package/dist/extraction/llm-extractor.d.ts +0 -0
- package/dist/extraction/llm-extractor.d.ts.map +0 -0
- package/dist/extraction/llm-extractor.js +0 -0
- package/dist/extraction/llm-extractor.js.map +0 -0
- package/dist/extraction/pipeline.d.ts +0 -0
- package/dist/extraction/pipeline.d.ts.map +0 -0
- package/dist/extraction/pipeline.js +0 -0
- package/dist/extraction/pipeline.js.map +0 -0
- 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/structured-cross-linker.d.ts +6 -1
- package/dist/extraction/structured-cross-linker.d.ts.map +1 -1
- package/dist/extraction/structured-cross-linker.js +24 -17
- package/dist/extraction/structured-cross-linker.js.map +1 -1
- package/dist/extraction/structured-extractor.d.ts +0 -0
- package/dist/extraction/structured-extractor.d.ts.map +0 -0
- package/dist/extraction/structured-extractor.js +0 -0
- package/dist/extraction/structured-extractor.js.map +0 -0
- package/dist/extraction/types.d.ts +0 -0
- package/dist/extraction/types.d.ts.map +0 -0
- 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/identity/index.d.ts +0 -0
- package/dist/identity/index.d.ts.map +0 -0
- package/dist/identity/index.js +0 -0
- package/dist/identity/index.js.map +0 -0
- package/dist/identity/resolver.d.ts +0 -0
- package/dist/identity/resolver.d.ts.map +0 -0
- package/dist/identity/resolver.js +0 -0
- package/dist/identity/resolver.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 +0 -0
- 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 +0 -0
- 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 +0 -0
- 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 +0 -0
- 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 +0 -0
- package/dist/retrieval/search.js +0 -0
- package/dist/retrieval/search.js.map +0 -0
- 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 +0 -0
- package/dist/retrieval/types.d.ts.map +0 -0
- package/dist/retrieval/types.js +0 -0
- package/dist/retrieval/types.js.map +0 -0
- 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.ts +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.ts +0 -0
- package/src/adapters/perplexity-embedding.ts +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.ts +0 -0
- package/src/extraction/codebase-extractor.ts +0 -0
- package/src/extraction/codebase-prompts.ts +0 -0
- package/src/extraction/contradiction.ts +0 -0
- package/src/extraction/cross-linker.ts +0 -0
- package/src/extraction/dedup.ts +0 -0
- package/src/extraction/entity-extractor.ts +0 -0
- package/src/extraction/hasher.ts +0 -0
- package/src/extraction/heuristic.ts +0 -0
- package/src/extraction/index.ts +0 -0
- package/src/extraction/llm-extractor.ts +0 -0
- package/src/extraction/pipeline.ts +0 -0
- package/src/extraction/prompts.ts +0 -0
- package/src/extraction/sliding-window.ts +0 -0
- package/src/extraction/structured-cross-linker.ts +27 -17
- package/src/extraction/structured-extractor.ts +0 -0
- package/src/extraction/types.ts +0 -0
- package/src/feedback/index.ts +0 -0
- package/src/feedback/tracker.ts +0 -0
- package/src/identity/index.ts +0 -0
- package/src/identity/resolver.ts +0 -0
- package/src/index.ts +0 -0
- package/src/models/api-key.ts +0 -0
- package/src/models/edge.ts +0 -0
- package/src/models/entity.ts +0 -0
- package/src/models/extraction.ts +0 -0
- package/src/models/fact-entity.ts +0 -0
- package/src/models/fact.ts +0 -0
- package/src/models/index.ts +0 -0
- package/src/models/memory-access.ts +0 -0
- package/src/models/session-message.ts +0 -0
- package/src/models/session.ts +0 -0
- package/src/models/tenant.ts +0 -0
- package/src/models/trigger.ts +0 -0
- package/src/models/usage-record.ts +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.ts +0 -0
- package/src/retrieval/contradiction-surfacer.ts +0 -0
- package/src/retrieval/embedding-cache.ts +0 -0
- package/src/retrieval/fusion.ts +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.ts +0 -0
- package/src/retrieval/reranker.ts +0 -0
- package/src/retrieval/salience-scorer.ts +0 -0
- package/src/retrieval/search.ts +0 -0
- package/src/retrieval/temporal-scorer.ts +0 -0
- package/src/retrieval/trigger-matcher.ts +0 -0
- package/src/retrieval/types.ts +0 -0
- package/src/retrieval/vector-search.ts +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.ts +0 -0
- package/src/sessions/index.ts +0 -0
- package/src/sessions/manager.ts +0 -0
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/profiles/profile.js
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
|
package/dist/retrieval/fusion.js
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
|
package/dist/retrieval/index.js
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
|
|
File without changes
|
package/dist/retrieval/search.js
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
|
package/dist/retrieval/types.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/salience/decay.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/salience/decay.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/salience/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/salience/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/scratchpad/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/sessions/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/sessions/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/sessions/manager.js
CHANGED
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steno-ai/engine",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.20",
|
|
4
4
|
"description": "Core memory engine — extraction, retrieval, knowledge graph",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -22,6 +22,13 @@
|
|
|
22
22
|
"src",
|
|
23
23
|
"README.md"
|
|
24
24
|
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"test:watch": "vitest watch",
|
|
28
|
+
"typecheck": "tsc --noEmit",
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"clean": "rm -rf dist"
|
|
31
|
+
},
|
|
25
32
|
"dependencies": {
|
|
26
33
|
"bcryptjs": "^3.0.3",
|
|
27
34
|
"compromise": "^14.15.0",
|
|
@@ -31,12 +38,5 @@
|
|
|
31
38
|
"@types/bcryptjs": "^3.0.0",
|
|
32
39
|
"typescript": "^5.7",
|
|
33
40
|
"vitest": "^3"
|
|
34
|
-
},
|
|
35
|
-
"scripts": {
|
|
36
|
-
"test": "vitest run",
|
|
37
|
-
"test:watch": "vitest watch",
|
|
38
|
-
"typecheck": "tsc --noEmit",
|
|
39
|
-
"build": "tsc",
|
|
40
|
-
"clean": "rm -rf dist"
|
|
41
41
|
}
|
|
42
|
-
}
|
|
42
|
+
}
|
package/src/adapters/cache.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/adapters/index.ts
CHANGED
|
File without changes
|
package/src/adapters/llm.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/adapters/storage.ts
CHANGED
|
File without changes
|
package/src/auth/api-key.ts
CHANGED
|
File without changes
|
package/src/auth/index.ts
CHANGED
|
File without changes
|
package/src/config.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/extraction/dedup.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/extraction/hasher.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/extraction/index.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -105,20 +105,21 @@ export async function findPendingCrossLinks(
|
|
|
105
105
|
tenantId: string,
|
|
106
106
|
scope: string,
|
|
107
107
|
scopeId: string,
|
|
108
|
-
options?: { minSimilarity?: number; maxCandidates?: number },
|
|
108
|
+
options?: { minSimilarity?: number; maxCandidates?: number; maxFacts?: number; maxDurationMs?: number },
|
|
109
109
|
): Promise<PendingCrossLink[]> {
|
|
110
110
|
const minSim = options?.minSimilarity ?? 0.6;
|
|
111
|
-
const maxCandidates = options?.maxCandidates ??
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
111
|
+
const maxCandidates = options?.maxCandidates ?? 20;
|
|
112
|
+
const maxFacts = options?.maxFacts ?? 10;
|
|
113
|
+
const maxDurationMs = options?.maxDurationMs ?? 20000;
|
|
114
|
+
const startTime = Date.now();
|
|
115
|
+
|
|
116
|
+
// Find structured facts by querying scope and filtering by sourceType
|
|
117
|
+
// Keyword search doesn't work on encrypted content, so we use getFactsByScope
|
|
118
|
+
const allFacts = await storage.getFactsByScope(tenantId, scope, scopeId, { limit: 100 });
|
|
119
|
+
const structuredFacts = (allFacts.data ?? [])
|
|
120
|
+
.filter(f => f.sourceType?.startsWith('structured_'))
|
|
121
|
+
.slice(0, maxFacts);
|
|
122
|
+
const recentStructuredFacts = structuredFacts.map(f => ({ fact: f, similarity: 1.0 }));
|
|
122
123
|
|
|
123
124
|
if (recentStructuredFacts.length === 0) return [];
|
|
124
125
|
|
|
@@ -126,8 +127,13 @@ export async function findPendingCrossLinks(
|
|
|
126
127
|
|
|
127
128
|
// For each structured fact, find semantically similar facts from different source types
|
|
128
129
|
for (const match of recentStructuredFacts) {
|
|
130
|
+
// Time guard — stop before we exceed the budget
|
|
131
|
+
if (Date.now() - startTime > maxDurationMs) {
|
|
132
|
+
console.error(`[steno-structured-xlink] Time budget exhausted after ${candidates.length} candidates`);
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
|
|
129
136
|
const fact = match.fact;
|
|
130
|
-
if (!fact.tags?.includes('structured')) continue;
|
|
131
137
|
|
|
132
138
|
// Embed the fact content to find similar facts
|
|
133
139
|
const factEmbedding = await embedding.embed(fact.content);
|
|
@@ -146,10 +152,8 @@ export async function findPendingCrossLinks(
|
|
|
146
152
|
if (match.fact.id === fact.id) continue;
|
|
147
153
|
if (match.fact.sourceType === fact.sourceType) continue;
|
|
148
154
|
|
|
149
|
-
// Skip if already linked (check if edge exists between their entities)
|
|
150
|
-
// This is a lightweight check — the full edge check happens in processPendingCrossLinks
|
|
151
155
|
candidates.push({
|
|
152
|
-
entityId: '',
|
|
156
|
+
entityId: '',
|
|
153
157
|
entityName: '',
|
|
154
158
|
factId: fact.id,
|
|
155
159
|
factContent: fact.content,
|
|
@@ -183,8 +187,14 @@ export async function processPendingCrossLinks(
|
|
|
183
187
|
tenantId: string,
|
|
184
188
|
scope: string,
|
|
185
189
|
scopeId: string,
|
|
190
|
+
options?: { maxDurationMs?: number; maxFacts?: number },
|
|
186
191
|
): Promise<{ processed: number; edgesCreated: number }> {
|
|
187
|
-
const
|
|
192
|
+
const maxDurationMs = options?.maxDurationMs ?? 20000;
|
|
193
|
+
const candidates = await findPendingCrossLinks(storage, embedding, tenantId, scope, scopeId, {
|
|
194
|
+
maxFacts: options?.maxFacts ?? 10,
|
|
195
|
+
maxDurationMs,
|
|
196
|
+
maxCandidates: 10,
|
|
197
|
+
});
|
|
188
198
|
|
|
189
199
|
if (candidates.length === 0) return { processed: 0, edgesCreated: 0 };
|
|
190
200
|
|
|
File without changes
|
package/src/extraction/types.ts
CHANGED
|
File without changes
|
package/src/feedback/index.ts
CHANGED
|
File without changes
|
package/src/feedback/tracker.ts
CHANGED
|
File without changes
|
package/src/identity/index.ts
CHANGED
|
File without changes
|
package/src/identity/resolver.ts
CHANGED
|
File without changes
|
package/src/index.ts
CHANGED
|
File without changes
|
package/src/models/api-key.ts
CHANGED
|
File without changes
|
package/src/models/edge.ts
CHANGED
|
File without changes
|
package/src/models/entity.ts
CHANGED
|
File without changes
|
package/src/models/extraction.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/models/fact.ts
CHANGED
|
File without changes
|
package/src/models/index.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/models/session.ts
CHANGED
|
File without changes
|
package/src/models/tenant.ts
CHANGED
|
File without changes
|
package/src/models/trigger.ts
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
|
package/src/retrieval/fusion.ts
CHANGED
|
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
|
package/src/retrieval/search.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/retrieval/types.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/salience/decay.ts
CHANGED
|
File without changes
|
package/src/salience/index.ts
CHANGED
|
File without changes
|
package/src/scratchpad/index.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/src/sessions/index.ts
CHANGED
|
File without changes
|
package/src/sessions/manager.ts
CHANGED
|
File without changes
|