cortex-engine 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/dist/bin/cli.d.ts +13 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +92 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/bin/config-cmd.d.ts +12 -0
- package/dist/bin/config-cmd.d.ts.map +1 -0
- package/dist/bin/config-cmd.js +184 -0
- package/dist/bin/config-cmd.js.map +1 -0
- package/dist/bin/config-loader.d.ts +12 -0
- package/dist/bin/config-loader.d.ts.map +1 -0
- package/dist/bin/config-loader.js +42 -0
- package/dist/bin/config-loader.js.map +1 -0
- package/dist/bin/digest-cmd.d.ts +13 -0
- package/dist/bin/digest-cmd.d.ts.map +1 -0
- package/dist/bin/digest-cmd.js +286 -0
- package/dist/bin/digest-cmd.js.map +1 -0
- package/dist/bin/init.d.ts +33 -0
- package/dist/bin/init.d.ts.map +1 -0
- package/dist/bin/init.js +355 -0
- package/dist/bin/init.js.map +1 -0
- package/dist/bin/serve.d.ts +15 -0
- package/dist/bin/serve.d.ts.map +1 -0
- package/dist/bin/serve.js +21 -0
- package/dist/bin/serve.js.map +1 -0
- package/dist/bridges/bridge.d.ts +46 -0
- package/dist/bridges/bridge.d.ts.map +1 -0
- package/dist/bridges/bridge.js +128 -0
- package/dist/bridges/bridge.js.map +1 -0
- package/dist/bridges/registry.d.ts +19 -0
- package/dist/bridges/registry.d.ts.map +1 -0
- package/dist/bridges/registry.js +36 -0
- package/dist/bridges/registry.js.map +1 -0
- package/dist/core/config.d.ts +108 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +29 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/embed.d.ts +16 -0
- package/dist/core/embed.d.ts.map +1 -0
- package/dist/core/embed.js +7 -0
- package/dist/core/embed.js.map +1 -0
- package/dist/core/llm.d.ts +31 -0
- package/dist/core/llm.d.ts.map +1 -0
- package/dist/core/llm.js +13 -0
- package/dist/core/llm.js.map +1 -0
- package/dist/core/nli.d.ts +26 -0
- package/dist/core/nli.d.ts.map +1 -0
- package/dist/core/nli.js +11 -0
- package/dist/core/nli.js.map +1 -0
- package/dist/core/session.d.ts +26 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +71 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/store.d.ts +58 -0
- package/dist/core/store.d.ts.map +1 -0
- package/dist/core/store.js +8 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/types.d.ts +148 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +8 -0
- package/dist/core/types.js.map +1 -0
- package/dist/engines/cognition.d.ts +76 -0
- package/dist/engines/cognition.d.ts.map +1 -0
- package/dist/engines/cognition.js +441 -0
- package/dist/engines/cognition.js.map +1 -0
- package/dist/engines/digest.d.ts +52 -0
- package/dist/engines/digest.d.ts.map +1 -0
- package/dist/engines/digest.js +351 -0
- package/dist/engines/digest.js.map +1 -0
- package/dist/engines/fsrs.d.ts +44 -0
- package/dist/engines/fsrs.d.ts.map +1 -0
- package/dist/engines/fsrs.js +122 -0
- package/dist/engines/fsrs.js.map +1 -0
- package/dist/engines/keywords.d.ts +12 -0
- package/dist/engines/keywords.d.ts.map +1 -0
- package/dist/engines/keywords.js +45 -0
- package/dist/engines/keywords.js.map +1 -0
- package/dist/engines/memory.d.ts +55 -0
- package/dist/engines/memory.d.ts.map +1 -0
- package/dist/engines/memory.js +147 -0
- package/dist/engines/memory.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/server.d.ts +12 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +173 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +45 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +814 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/namespace/manager.d.ts +28 -0
- package/dist/namespace/manager.d.ts.map +1 -0
- package/dist/namespace/manager.js +73 -0
- package/dist/namespace/manager.js.map +1 -0
- package/dist/namespace/scoped-store.d.ts +43 -0
- package/dist/namespace/scoped-store.d.ts.map +1 -0
- package/dist/namespace/scoped-store.js +91 -0
- package/dist/namespace/scoped-store.js.map +1 -0
- package/dist/plugins/loader.d.ts +18 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +71 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/providers/nli-http.d.ts +34 -0
- package/dist/providers/nli-http.d.ts.map +1 -0
- package/dist/providers/nli-http.js +83 -0
- package/dist/providers/nli-http.js.map +1 -0
- package/dist/providers/ollama.d.ts +37 -0
- package/dist/providers/ollama.d.ts.map +1 -0
- package/dist/providers/ollama.js +103 -0
- package/dist/providers/ollama.js.map +1 -0
- package/dist/providers/vertex-embed.d.ts +38 -0
- package/dist/providers/vertex-embed.d.ts.map +1 -0
- package/dist/providers/vertex-embed.js +69 -0
- package/dist/providers/vertex-embed.js.map +1 -0
- package/dist/providers/vertex-llm.d.ts +25 -0
- package/dist/providers/vertex-llm.d.ts.map +1 -0
- package/dist/providers/vertex-llm.js +75 -0
- package/dist/providers/vertex-llm.js.map +1 -0
- package/dist/stores/firestore.d.ts +59 -0
- package/dist/stores/firestore.d.ts.map +1 -0
- package/dist/stores/firestore.js +530 -0
- package/dist/stores/firestore.js.map +1 -0
- package/dist/stores/sqlite.d.ts +43 -0
- package/dist/stores/sqlite.d.ts.map +1 -0
- package/dist/stores/sqlite.js +593 -0
- package/dist/stores/sqlite.js.map +1 -0
- package/dist/triggers/pipeline.d.ts +21 -0
- package/dist/triggers/pipeline.d.ts.map +1 -0
- package/dist/triggers/pipeline.js +30 -0
- package/dist/triggers/pipeline.js.map +1 -0
- package/dist/triggers/registry.d.ts +17 -0
- package/dist/triggers/registry.d.ts.map +1 -0
- package/dist/triggers/registry.js +32 -0
- package/dist/triggers/registry.js.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NamespaceManager — manages multiple cognitive namespaces from config.
|
|
3
|
+
*
|
|
4
|
+
* Each namespace gets its own CortexStore instance (via storeFactory) so typed
|
|
5
|
+
* tables are fully isolated. ScopedStore wraps each instance to prefix generic
|
|
6
|
+
* collection names, preventing cross-namespace collisions on arbitrary collections.
|
|
7
|
+
*/
|
|
8
|
+
import type { CortexConfig, NamespaceConfig } from '../core/config.js';
|
|
9
|
+
import type { CortexStore } from '../core/store.js';
|
|
10
|
+
export declare class NamespaceManager {
|
|
11
|
+
private readonly namespaces;
|
|
12
|
+
private readonly defaultNamespace;
|
|
13
|
+
private readonly configs;
|
|
14
|
+
constructor(config: CortexConfig, storeFactory: (namespace: string, prefix: string) => CortexStore);
|
|
15
|
+
/** Get the scoped store for a namespace (defaults to the default namespace). */
|
|
16
|
+
getStore(namespace?: string): CortexStore;
|
|
17
|
+
/** Get the config for a namespace (defaults to the default namespace). */
|
|
18
|
+
getConfig(namespace?: string): NamespaceConfig;
|
|
19
|
+
/** Get the default namespace name. */
|
|
20
|
+
getDefaultNamespace(): string;
|
|
21
|
+
/** Get all namespace names. */
|
|
22
|
+
getNamespaceNames(): string[];
|
|
23
|
+
/** Get the union of all active cognitive tools across every namespace. */
|
|
24
|
+
getActiveTools(): Set<string>;
|
|
25
|
+
/** Check whether a cognitive tool is active for a given namespace. */
|
|
26
|
+
isToolActive(toolName: string, namespace?: string): boolean;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/namespace/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;gBAGrD,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,WAAW;IA4BlE,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW;IAOzC,0EAA0E;IAC1E,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe;IAO9C,sCAAsC;IACtC,mBAAmB,IAAI,MAAM;IAI7B,+BAA+B;IAC/B,iBAAiB,IAAI,MAAM,EAAE;IAI7B,0EAA0E;IAC1E,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC;IAU7B,sEAAsE;IACtE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;CAG5D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NamespaceManager — manages multiple cognitive namespaces from config.
|
|
3
|
+
*
|
|
4
|
+
* Each namespace gets its own CortexStore instance (via storeFactory) so typed
|
|
5
|
+
* tables are fully isolated. ScopedStore wraps each instance to prefix generic
|
|
6
|
+
* collection names, preventing cross-namespace collisions on arbitrary collections.
|
|
7
|
+
*/
|
|
8
|
+
import { ScopedStore } from './scoped-store.js';
|
|
9
|
+
export class NamespaceManager {
|
|
10
|
+
namespaces;
|
|
11
|
+
defaultNamespace;
|
|
12
|
+
configs;
|
|
13
|
+
constructor(config, storeFactory) {
|
|
14
|
+
this.namespaces = new Map();
|
|
15
|
+
this.configs = new Map();
|
|
16
|
+
let resolvedDefault = null;
|
|
17
|
+
let firstNamespace = null;
|
|
18
|
+
for (const [name, nsConfig] of Object.entries(config.namespaces)) {
|
|
19
|
+
const store = storeFactory(name, nsConfig.collections_prefix);
|
|
20
|
+
this.namespaces.set(name, new ScopedStore(store, nsConfig.collections_prefix));
|
|
21
|
+
this.configs.set(name, nsConfig);
|
|
22
|
+
if (firstNamespace === null) {
|
|
23
|
+
firstNamespace = name;
|
|
24
|
+
}
|
|
25
|
+
if (nsConfig.default === true && resolvedDefault === null) {
|
|
26
|
+
resolvedDefault = name;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (firstNamespace === null) {
|
|
30
|
+
throw new Error('CortexConfig must define at least one namespace');
|
|
31
|
+
}
|
|
32
|
+
this.defaultNamespace = resolvedDefault ?? firstNamespace;
|
|
33
|
+
}
|
|
34
|
+
/** Get the scoped store for a namespace (defaults to the default namespace). */
|
|
35
|
+
getStore(namespace) {
|
|
36
|
+
const ns = namespace ?? this.defaultNamespace;
|
|
37
|
+
const store = this.namespaces.get(ns);
|
|
38
|
+
if (!store)
|
|
39
|
+
throw new Error(`Unknown namespace: ${ns}`);
|
|
40
|
+
return store;
|
|
41
|
+
}
|
|
42
|
+
/** Get the config for a namespace (defaults to the default namespace). */
|
|
43
|
+
getConfig(namespace) {
|
|
44
|
+
const ns = namespace ?? this.defaultNamespace;
|
|
45
|
+
const cfg = this.configs.get(ns);
|
|
46
|
+
if (!cfg)
|
|
47
|
+
throw new Error(`Unknown namespace: ${ns}`);
|
|
48
|
+
return cfg;
|
|
49
|
+
}
|
|
50
|
+
/** Get the default namespace name. */
|
|
51
|
+
getDefaultNamespace() {
|
|
52
|
+
return this.defaultNamespace;
|
|
53
|
+
}
|
|
54
|
+
/** Get all namespace names. */
|
|
55
|
+
getNamespaceNames() {
|
|
56
|
+
return Array.from(this.namespaces.keys());
|
|
57
|
+
}
|
|
58
|
+
/** Get the union of all active cognitive tools across every namespace. */
|
|
59
|
+
getActiveTools() {
|
|
60
|
+
const tools = new Set();
|
|
61
|
+
for (const cfg of this.configs.values()) {
|
|
62
|
+
for (const tool of cfg.cognitive_tools) {
|
|
63
|
+
tools.add(tool);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return tools;
|
|
67
|
+
}
|
|
68
|
+
/** Check whether a cognitive tool is active for a given namespace. */
|
|
69
|
+
isToolActive(toolName, namespace) {
|
|
70
|
+
return this.getConfig(namespace).cognitive_tools.includes(toolName);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/namespace/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScopedStore — a CortexStore wrapper that prefixes generic collection names.
|
|
3
|
+
*
|
|
4
|
+
* Each namespace gets its own underlying CortexStore instance (created by
|
|
5
|
+
* NamespaceManager) so typed tables (memories, observations, etc.) are already
|
|
6
|
+
* isolated by the store's namespace prefix. ScopedStore's only job is to
|
|
7
|
+
* prefix the generic put/get/query collection names so that arbitrary
|
|
8
|
+
* collections written by one namespace don't collide with another.
|
|
9
|
+
*/
|
|
10
|
+
import type { CortexStore } from '../core/store.js';
|
|
11
|
+
import type { Memory, Observation, Edge, OpsEntry, OpsFilters, Signal, BeliefEntry, SearchResult, FSRSData, QueryFilter } from '../core/types.js';
|
|
12
|
+
export declare class ScopedStore implements CortexStore {
|
|
13
|
+
private readonly inner;
|
|
14
|
+
private readonly prefix;
|
|
15
|
+
constructor(inner: CortexStore, prefix: string);
|
|
16
|
+
putMemory(memory: Omit<Memory, 'id'>): Promise<string>;
|
|
17
|
+
getMemory(id: string): Promise<Memory | null>;
|
|
18
|
+
updateMemory(id: string, updates: Partial<Omit<Memory, 'id'>>): Promise<void>;
|
|
19
|
+
findNearest(embedding: number[], limit: number): Promise<SearchResult[]>;
|
|
20
|
+
touchMemory(id: string, fsrsUpdates: Partial<FSRSData>): Promise<void>;
|
|
21
|
+
getAllMemories(): Promise<Memory[]>;
|
|
22
|
+
putObservation(obs: Omit<Observation, 'id'>): Promise<string>;
|
|
23
|
+
getUnprocessedObservations(limit: number): Promise<Observation[]>;
|
|
24
|
+
markObservationProcessed(id: string): Promise<void>;
|
|
25
|
+
putEdge(edge: Omit<Edge, 'id'>): Promise<string>;
|
|
26
|
+
getEdgesFrom(memoryId: string): Promise<Edge[]>;
|
|
27
|
+
getEdgesForMemories(memoryIds: string[]): Promise<Edge[]>;
|
|
28
|
+
appendOps(entry: Omit<OpsEntry, 'id'>): Promise<string>;
|
|
29
|
+
queryOps(filters: OpsFilters): Promise<OpsEntry[]>;
|
|
30
|
+
updateOps(id: string, updates: Partial<Omit<OpsEntry, 'id'>>): Promise<void>;
|
|
31
|
+
putSignal(signal: Omit<Signal, 'id'>): Promise<string>;
|
|
32
|
+
putBelief(entry: Omit<BeliefEntry, 'id'>): Promise<string>;
|
|
33
|
+
getBeliefHistory(conceptId: string): Promise<BeliefEntry[]>;
|
|
34
|
+
put(collection: string, doc: Record<string, unknown>): Promise<string>;
|
|
35
|
+
get(collection: string, id: string): Promise<Record<string, unknown> | null>;
|
|
36
|
+
update(collection: string, id: string, updates: Record<string, unknown>): Promise<void>;
|
|
37
|
+
query(collection: string, filters: QueryFilter[], options?: {
|
|
38
|
+
limit?: number;
|
|
39
|
+
orderBy?: string;
|
|
40
|
+
orderDir?: 'asc' | 'desc';
|
|
41
|
+
}): Promise<Record<string, unknown>[]>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=scoped-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoped-store.d.ts","sourceRoot":"","sources":["../../src/namespace/scoped-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScopedStore — a CortexStore wrapper that prefixes generic collection names.
|
|
3
|
+
*
|
|
4
|
+
* Each namespace gets its own underlying CortexStore instance (created by
|
|
5
|
+
* NamespaceManager) so typed tables (memories, observations, etc.) are already
|
|
6
|
+
* isolated by the store's namespace prefix. ScopedStore's only job is to
|
|
7
|
+
* prefix the generic put/get/query collection names so that arbitrary
|
|
8
|
+
* collections written by one namespace don't collide with another.
|
|
9
|
+
*/
|
|
10
|
+
export class ScopedStore {
|
|
11
|
+
inner;
|
|
12
|
+
prefix;
|
|
13
|
+
constructor(inner, prefix) {
|
|
14
|
+
this.inner = inner;
|
|
15
|
+
this.prefix = prefix;
|
|
16
|
+
}
|
|
17
|
+
// ─── Memory — delegate directly (store instance is already namespace-scoped) ─
|
|
18
|
+
putMemory(memory) {
|
|
19
|
+
return this.inner.putMemory(memory);
|
|
20
|
+
}
|
|
21
|
+
getMemory(id) {
|
|
22
|
+
return this.inner.getMemory(id);
|
|
23
|
+
}
|
|
24
|
+
updateMemory(id, updates) {
|
|
25
|
+
return this.inner.updateMemory(id, updates);
|
|
26
|
+
}
|
|
27
|
+
findNearest(embedding, limit) {
|
|
28
|
+
return this.inner.findNearest(embedding, limit);
|
|
29
|
+
}
|
|
30
|
+
touchMemory(id, fsrsUpdates) {
|
|
31
|
+
return this.inner.touchMemory(id, fsrsUpdates);
|
|
32
|
+
}
|
|
33
|
+
getAllMemories() {
|
|
34
|
+
return this.inner.getAllMemories();
|
|
35
|
+
}
|
|
36
|
+
// ─── Observation ──────────────────────────────────────────────────────────
|
|
37
|
+
putObservation(obs) {
|
|
38
|
+
return this.inner.putObservation(obs);
|
|
39
|
+
}
|
|
40
|
+
getUnprocessedObservations(limit) {
|
|
41
|
+
return this.inner.getUnprocessedObservations(limit);
|
|
42
|
+
}
|
|
43
|
+
markObservationProcessed(id) {
|
|
44
|
+
return this.inner.markObservationProcessed(id);
|
|
45
|
+
}
|
|
46
|
+
// ─── Edge ─────────────────────────────────────────────────────────────────
|
|
47
|
+
putEdge(edge) {
|
|
48
|
+
return this.inner.putEdge(edge);
|
|
49
|
+
}
|
|
50
|
+
getEdgesFrom(memoryId) {
|
|
51
|
+
return this.inner.getEdgesFrom(memoryId);
|
|
52
|
+
}
|
|
53
|
+
getEdgesForMemories(memoryIds) {
|
|
54
|
+
return this.inner.getEdgesForMemories(memoryIds);
|
|
55
|
+
}
|
|
56
|
+
// ─── Ops ──────────────────────────────────────────────────────────────────
|
|
57
|
+
appendOps(entry) {
|
|
58
|
+
return this.inner.appendOps(entry);
|
|
59
|
+
}
|
|
60
|
+
queryOps(filters) {
|
|
61
|
+
return this.inner.queryOps(filters);
|
|
62
|
+
}
|
|
63
|
+
updateOps(id, updates) {
|
|
64
|
+
return this.inner.updateOps(id, updates);
|
|
65
|
+
}
|
|
66
|
+
// ─── Signal ───────────────────────────────────────────────────────────────
|
|
67
|
+
putSignal(signal) {
|
|
68
|
+
return this.inner.putSignal(signal);
|
|
69
|
+
}
|
|
70
|
+
// ─── Belief ───────────────────────────────────────────────────────────────
|
|
71
|
+
putBelief(entry) {
|
|
72
|
+
return this.inner.putBelief(entry);
|
|
73
|
+
}
|
|
74
|
+
getBeliefHistory(conceptId) {
|
|
75
|
+
return this.inner.getBeliefHistory(conceptId);
|
|
76
|
+
}
|
|
77
|
+
// ─── Generic — prefix the collection name ─────────────────────────────────
|
|
78
|
+
put(collection, doc) {
|
|
79
|
+
return this.inner.put(this.prefix + collection, doc);
|
|
80
|
+
}
|
|
81
|
+
get(collection, id) {
|
|
82
|
+
return this.inner.get(this.prefix + collection, id);
|
|
83
|
+
}
|
|
84
|
+
update(collection, id, updates) {
|
|
85
|
+
return this.inner.update(this.prefix + collection, id, updates);
|
|
86
|
+
}
|
|
87
|
+
query(collection, filters, options) {
|
|
88
|
+
return this.inner.query(this.prefix + collection, filters, options);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=scoped-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoped-store.js","sourceRoot":"","sources":["../../src/namespace/scoped-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin loader — dynamically imports plugin packages and extracts tool definitions.
|
|
3
|
+
*
|
|
4
|
+
* Plugins are npm packages or local paths that export a ToolPlugin object as their
|
|
5
|
+
* default export. Each plugin contributes a set of ToolDefinition[] to the engine.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolDefinition } from '../mcp/tools.js';
|
|
8
|
+
/**
|
|
9
|
+
* Load plugins by dynamic import and return a flat array of contributed tools.
|
|
10
|
+
*
|
|
11
|
+
* Each plugin module must have a default export conforming to ToolPlugin:
|
|
12
|
+
* { name: string, tools: ToolDefinition[] }
|
|
13
|
+
*
|
|
14
|
+
* Invalid plugins are skipped with a console warning (fail-open for resilience).
|
|
15
|
+
* Duplicate tool names are detected and skipped with a warning.
|
|
16
|
+
*/
|
|
17
|
+
export declare function loadPlugins(pluginPaths: string[], coreToolNames?: Set<string>): Promise<ToolDefinition[]>;
|
|
18
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/plugins/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAoBtD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,cAAc,EAAE,CAAC,CAwC3B"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin loader — dynamically imports plugin packages and extracts tool definitions.
|
|
3
|
+
*
|
|
4
|
+
* Plugins are npm packages or local paths that export a ToolPlugin object as their
|
|
5
|
+
* default export. Each plugin contributes a set of ToolDefinition[] to the engine.
|
|
6
|
+
*/
|
|
7
|
+
import { resolve, isAbsolute } from 'node:path';
|
|
8
|
+
import { pathToFileURL } from 'node:url';
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a plugin specifier to an importable path.
|
|
11
|
+
*
|
|
12
|
+
* npm packages (e.g., "@fozikio/tools-threads") are returned as-is.
|
|
13
|
+
* Relative paths (e.g., "./plugins/custom") are resolved against cwd,
|
|
14
|
+
* not the loader file location, then converted to a file:// URL for ESM.
|
|
15
|
+
*/
|
|
16
|
+
function resolvePluginPath(spec) {
|
|
17
|
+
// npm package names start with a letter, @, or are scoped
|
|
18
|
+
if (!spec.startsWith('.') && !spec.startsWith('/') && !isAbsolute(spec)) {
|
|
19
|
+
return spec; // npm package — let Node resolve it
|
|
20
|
+
}
|
|
21
|
+
// Relative or absolute path — resolve against cwd and convert to file URL
|
|
22
|
+
const abs = resolve(process.cwd(), spec);
|
|
23
|
+
return pathToFileURL(abs).href;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Load plugins by dynamic import and return a flat array of contributed tools.
|
|
27
|
+
*
|
|
28
|
+
* Each plugin module must have a default export conforming to ToolPlugin:
|
|
29
|
+
* { name: string, tools: ToolDefinition[] }
|
|
30
|
+
*
|
|
31
|
+
* Invalid plugins are skipped with a console warning (fail-open for resilience).
|
|
32
|
+
* Duplicate tool names are detected and skipped with a warning.
|
|
33
|
+
*/
|
|
34
|
+
export async function loadPlugins(pluginPaths, coreToolNames) {
|
|
35
|
+
if (pluginPaths.length === 0)
|
|
36
|
+
return [];
|
|
37
|
+
const tools = [];
|
|
38
|
+
const seenNames = new Set(coreToolNames ?? []);
|
|
39
|
+
for (const spec of pluginPaths) {
|
|
40
|
+
try {
|
|
41
|
+
const importPath = resolvePluginPath(spec);
|
|
42
|
+
const mod = await import(importPath);
|
|
43
|
+
const plugin = mod.default;
|
|
44
|
+
if (!plugin || typeof plugin.name !== 'string' || !Array.isArray(plugin.tools)) {
|
|
45
|
+
console.warn(`[cortex-engine] Plugin "${spec}" does not export a valid ToolPlugin (expected { name, tools }). Skipping.`);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
let added = 0;
|
|
49
|
+
for (const tool of plugin.tools) {
|
|
50
|
+
if (typeof tool.name !== 'string' || typeof tool.handler !== 'function') {
|
|
51
|
+
console.warn(`[cortex-engine] Plugin "${plugin.name}" has invalid tool definition. Skipping tool.`);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (seenNames.has(tool.name)) {
|
|
55
|
+
console.warn(`[cortex-engine] Plugin "${plugin.name}" defines tool "${tool.name}" which already exists. Skipping duplicate.`);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
seenNames.add(tool.name);
|
|
59
|
+
tools.push(tool);
|
|
60
|
+
added++;
|
|
61
|
+
}
|
|
62
|
+
console.log(`[cortex-engine] Loaded plugin "${plugin.name}" with ${added} tool(s).`);
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
66
|
+
console.warn(`[cortex-engine] Failed to load plugin "${spec}": ${message}. Skipping.`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return tools;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/plugins/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,0DAA0D;IAC1D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC,CAAC,oCAAoC;IACnD,CAAC;IACD,0EAA0E;IAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAqB,EACrB,aAA2B;IAE3B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,aAAa,IAAI,EAAE,CAAC,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAA6B,CAAC;YACjE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;YAE3B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,2BAA2B,IAAI,4EAA4E,CAAC,CAAC;gBAC1H,SAAS;YACX,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACxE,OAAO,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,IAAI,+CAA+C,CAAC,CAAC;oBACpG,SAAS;gBACX,CAAC;gBACD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,IAAI,mBAAmB,IAAI,CAAC,IAAI,6CAA6C,CAAC,CAAC;oBAC9H,SAAS;gBACX,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,KAAK,EAAE,CAAC;YACV,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,MAAM,CAAC,IAAI,UAAU,KAAK,WAAW,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,0CAA0C,IAAI,MAAM,OAAO,aAAa,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LocalNLIProvider — HTTP client for the NLI cross-encoder service.
|
|
3
|
+
*
|
|
4
|
+
* Talks to a local Python service running cross-encoder/nli-roberta-base
|
|
5
|
+
* (default: http://127.0.0.1:11435). Falls back gracefully if the
|
|
6
|
+
* service is unavailable.
|
|
7
|
+
*/
|
|
8
|
+
import type { NLIProvider, NLIResult, NLILabel } from '../core/nli.js';
|
|
9
|
+
export declare class LocalNLIProvider implements NLIProvider {
|
|
10
|
+
readonly name = "nli-http";
|
|
11
|
+
private readonly baseUrl;
|
|
12
|
+
constructor(options?: {
|
|
13
|
+
baseUrl?: string;
|
|
14
|
+
});
|
|
15
|
+
classify(premise: string, hypothesis: string): Promise<NLIResult>;
|
|
16
|
+
classifyBatch(pairs: Array<{
|
|
17
|
+
premise: string;
|
|
18
|
+
hypothesis: string;
|
|
19
|
+
}>): Promise<NLIResult[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Check if the NLI service is available.
|
|
22
|
+
* Returns false if the service is down — callers can fall back to LLM.
|
|
23
|
+
*/
|
|
24
|
+
isAvailable(): Promise<boolean>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Map NLI labels to the contradiction evaluation vocabulary used by cortex.
|
|
28
|
+
*
|
|
29
|
+
* NLI "contradiction" → cortex "genuine"
|
|
30
|
+
* NLI "entailment" → cortex "complementary"
|
|
31
|
+
* NLI "neutral" → cortex "tension" (may or may not be meaningful)
|
|
32
|
+
*/
|
|
33
|
+
export declare function nliToCortexVerdict(label: NLILabel, scores: Record<NLILabel, number>): 'genuine' | 'tension' | 'complementary' | 'unrelated';
|
|
34
|
+
//# sourceMappingURL=nli-http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nli-http.d.ts","sourceRoot":"","sources":["../../src/providers/nli-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEvE,qBAAa,gBAAiB,YAAW,WAAW;IAClD,QAAQ,CAAC,IAAI,cAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIpC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAejE,aAAa,CACjB,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GACpD,OAAO,CAAC,SAAS,EAAE,CAAC;IAgBvB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAUtC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAC/B,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,WAAW,CAwBvD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LocalNLIProvider — HTTP client for the NLI cross-encoder service.
|
|
3
|
+
*
|
|
4
|
+
* Talks to a local Python service running cross-encoder/nli-roberta-base
|
|
5
|
+
* (default: http://127.0.0.1:11435). Falls back gracefully if the
|
|
6
|
+
* service is unavailable.
|
|
7
|
+
*/
|
|
8
|
+
export class LocalNLIProvider {
|
|
9
|
+
name = 'nli-http';
|
|
10
|
+
baseUrl;
|
|
11
|
+
constructor(options) {
|
|
12
|
+
this.baseUrl = options?.baseUrl ?? 'http://127.0.0.1:11435';
|
|
13
|
+
}
|
|
14
|
+
async classify(premise, hypothesis) {
|
|
15
|
+
const response = await fetch(`${this.baseUrl}/classify`, {
|
|
16
|
+
method: 'POST',
|
|
17
|
+
headers: { 'Content-Type': 'application/json' },
|
|
18
|
+
body: JSON.stringify({ premise, hypothesis }),
|
|
19
|
+
});
|
|
20
|
+
if (!response.ok) {
|
|
21
|
+
const text = await response.text().catch(() => '(no body)');
|
|
22
|
+
throw new Error(`NLI service error: HTTP ${response.status} — ${text}`);
|
|
23
|
+
}
|
|
24
|
+
return response.json();
|
|
25
|
+
}
|
|
26
|
+
async classifyBatch(pairs) {
|
|
27
|
+
const response = await fetch(`${this.baseUrl}/batch`, {
|
|
28
|
+
method: 'POST',
|
|
29
|
+
headers: { 'Content-Type': 'application/json' },
|
|
30
|
+
body: JSON.stringify({ pairs }),
|
|
31
|
+
});
|
|
32
|
+
if (!response.ok) {
|
|
33
|
+
const text = await response.text().catch(() => '(no body)');
|
|
34
|
+
throw new Error(`NLI batch error: HTTP ${response.status} — ${text}`);
|
|
35
|
+
}
|
|
36
|
+
const data = await response.json();
|
|
37
|
+
return data.results;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check if the NLI service is available.
|
|
41
|
+
* Returns false if the service is down — callers can fall back to LLM.
|
|
42
|
+
*/
|
|
43
|
+
async isAvailable() {
|
|
44
|
+
try {
|
|
45
|
+
const response = await fetch(`${this.baseUrl}/health`, {
|
|
46
|
+
signal: AbortSignal.timeout(2000),
|
|
47
|
+
});
|
|
48
|
+
return response.ok;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Map NLI labels to the contradiction evaluation vocabulary used by cortex.
|
|
57
|
+
*
|
|
58
|
+
* NLI "contradiction" → cortex "genuine"
|
|
59
|
+
* NLI "entailment" → cortex "complementary"
|
|
60
|
+
* NLI "neutral" → cortex "tension" (may or may not be meaningful)
|
|
61
|
+
*/
|
|
62
|
+
export function nliToCortexVerdict(label, scores) {
|
|
63
|
+
// High-confidence contradiction
|
|
64
|
+
if (label === 'contradiction' && scores.contradiction > 0.8) {
|
|
65
|
+
return 'genuine';
|
|
66
|
+
}
|
|
67
|
+
// High-confidence entailment = complementary
|
|
68
|
+
if (label === 'entailment' && scores.entailment > 0.7) {
|
|
69
|
+
return 'complementary';
|
|
70
|
+
}
|
|
71
|
+
// Low scores all around = likely unrelated
|
|
72
|
+
const maxScore = Math.max(scores.contradiction, scores.entailment, scores.neutral);
|
|
73
|
+
if (maxScore < 0.5) {
|
|
74
|
+
return 'unrelated';
|
|
75
|
+
}
|
|
76
|
+
// Moderate contradiction signal = productive tension
|
|
77
|
+
if (label === 'contradiction' && scores.contradiction > 0.4) {
|
|
78
|
+
return 'tension';
|
|
79
|
+
}
|
|
80
|
+
// Default: neutral with some signal = tension
|
|
81
|
+
return 'tension';
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=nli-http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nli-http.js","sourceRoot":"","sources":["../../src/providers/nli-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,UAAU,CAAC;IACV,OAAO,CAAS;IAEjC,YAAY,OAA8B;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,wBAAwB,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,UAAkB;QAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAwB,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,KAAqD;QAErD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA8B,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,SAAS,EAAE;gBACrD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAe,EACf,MAAgC;IAEhC,gCAAgC;IAChC,IAAI,KAAK,KAAK,eAAe,IAAI,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK,KAAK,YAAY,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QACtD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACnF,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,qDAAqD;IACrD,IAAI,KAAK,KAAK,eAAe,IAAI,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8CAA8C;IAC9C,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OllamaEmbedProvider and OllamaLLMProvider — Ollama REST API implementations.
|
|
3
|
+
*
|
|
4
|
+
* Talks to a local Ollama instance (default: http://localhost:11434).
|
|
5
|
+
* Uses Node.js built-in fetch — no extra HTTP dependencies.
|
|
6
|
+
*
|
|
7
|
+
* Defaults:
|
|
8
|
+
* embed model — qwen3-embedding:0.6b (1024 dimensions, MRL to 32)
|
|
9
|
+
* LLM model — qwen2.5:14b
|
|
10
|
+
*/
|
|
11
|
+
import type { EmbedProvider } from '../core/embed.js';
|
|
12
|
+
import type { LLMProvider, GenerateOptions, GenerateJSONOptions } from '../core/llm.js';
|
|
13
|
+
export declare class OllamaEmbedProvider implements EmbedProvider {
|
|
14
|
+
readonly name = "ollama";
|
|
15
|
+
readonly dimensions: number;
|
|
16
|
+
private readonly model;
|
|
17
|
+
private readonly baseUrl;
|
|
18
|
+
constructor(options?: {
|
|
19
|
+
model?: string;
|
|
20
|
+
baseUrl?: string;
|
|
21
|
+
dimensions?: number;
|
|
22
|
+
});
|
|
23
|
+
embed(text: string): Promise<number[]>;
|
|
24
|
+
embedBatch(texts: string[]): Promise<number[][]>;
|
|
25
|
+
}
|
|
26
|
+
export declare class OllamaLLMProvider implements LLMProvider {
|
|
27
|
+
readonly name = "ollama";
|
|
28
|
+
readonly modelId: string;
|
|
29
|
+
private readonly baseUrl;
|
|
30
|
+
constructor(options?: {
|
|
31
|
+
model?: string;
|
|
32
|
+
baseUrl?: string;
|
|
33
|
+
});
|
|
34
|
+
generate(prompt: string, options?: GenerateOptions): Promise<string>;
|
|
35
|
+
generateJSON<T>(prompt: string, options?: GenerateJSONOptions): Promise<T>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ollama.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/providers/ollama.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AA2CxF,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAMK,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAStC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAQvD;AAUD,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAKK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBpE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;CAsCjF"}
|