@weavelogic/knowledge-graph-agent 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +58 -3
- package/dist/_virtual/__vite-browser-external.js +2 -2
- package/dist/_virtual/__vite-browser-external.js.map +1 -1
- package/dist/_virtual/index12.js +7 -0
- package/dist/_virtual/index12.js.map +1 -0
- package/dist/_virtual/ort-web.min.js +8 -0
- package/dist/_virtual/ort-web.min.js.map +1 -0
- package/dist/_virtual/ort-web.min2.js +5 -0
- package/dist/_virtual/ort-web.min2.js.map +1 -0
- package/dist/agents/base-agent.d.ts +63 -0
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +139 -0
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/coordinator-agent.d.ts +422 -0
- package/dist/agents/coordinator-agent.d.ts.map +1 -0
- package/dist/agents/documenter-agent.d.ts +298 -0
- package/dist/agents/documenter-agent.d.ts.map +1 -0
- package/dist/agents/index.d.ts +11 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/mixins/index.d.ts +9 -0
- package/dist/agents/mixins/index.d.ts.map +1 -0
- package/dist/agents/mixins/trajectory-mixin.d.ts +112 -0
- package/dist/agents/mixins/trajectory-mixin.d.ts.map +1 -0
- package/dist/agents/optimizer-agent.d.ts +388 -0
- package/dist/agents/optimizer-agent.d.ts.map +1 -0
- package/dist/agents/planner-agent.d.ts +395 -0
- package/dist/agents/planner-agent.d.ts.map +1 -0
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +5 -0
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/reviewer-agent.d.ts +330 -0
- package/dist/agents/reviewer-agent.d.ts.map +1 -0
- package/dist/agents/types.d.ts +12 -1
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js +1 -0
- package/dist/agents/types.js.map +1 -1
- package/dist/cli/commands/hive-mind/add-frontmatter.d.ts +102 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.js +439 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.js.map +1 -0
- package/dist/cli/commands/hive-mind/analyze-links.d.ts +80 -0
- package/dist/cli/commands/hive-mind/analyze-links.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/analyze-links.js +367 -0
- package/dist/cli/commands/hive-mind/analyze-links.js.map +1 -0
- package/dist/cli/commands/hive-mind/find-connections.d.ts +75 -0
- package/dist/cli/commands/hive-mind/find-connections.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/find-connections.js +347 -0
- package/dist/cli/commands/hive-mind/find-connections.js.map +1 -0
- package/dist/cli/commands/hive-mind/index.d.ts +37 -0
- package/dist/cli/commands/hive-mind/index.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/index.js +33 -0
- package/dist/cli/commands/hive-mind/index.js.map +1 -0
- package/dist/cli/commands/hive-mind/validate-names.d.ts +79 -0
- package/dist/cli/commands/hive-mind/validate-names.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/validate-names.js +353 -0
- package/dist/cli/commands/hive-mind/validate-names.js.map +1 -0
- package/dist/cli/commands/vector.js +2 -0
- package/dist/cli/commands/vector.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/equilibrium/agent-equilibrium.d.ts +194 -0
- package/dist/equilibrium/agent-equilibrium.d.ts.map +1 -0
- package/dist/equilibrium/agent-equilibrium.js +304 -0
- package/dist/equilibrium/agent-equilibrium.js.map +1 -0
- package/dist/equilibrium/graph-equilibrium.d.ts +177 -0
- package/dist/equilibrium/graph-equilibrium.d.ts.map +1 -0
- package/dist/equilibrium/index.d.ts +11 -0
- package/dist/equilibrium/index.d.ts.map +1 -0
- package/dist/equilibrium/memory-equilibrium.d.ts +153 -0
- package/dist/equilibrium/memory-equilibrium.d.ts.map +1 -0
- package/dist/graphql/resolvers/index.d.ts.map +1 -1
- package/dist/graphql/resolvers/queries.d.ts +11 -0
- package/dist/graphql/resolvers/queries.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/inference/index.d.ts +9 -0
- package/dist/inference/index.d.ts.map +1 -0
- package/dist/inference/model-selection.d.ts +131 -0
- package/dist/inference/model-selection.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agent-booster-adapter.d.ts +265 -0
- package/dist/integrations/agentic-flow/adapters/agent-booster-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-adapter.d.ts +197 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-vector-store.d.ts +249 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-vector-store.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/base-adapter.d.ts +120 -0
- package/dist/integrations/agentic-flow/adapters/base-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/federation-hub-adapter.d.ts +444 -0
- package/dist/integrations/agentic-flow/adapters/federation-hub-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/index.d.ts +17 -0
- package/dist/integrations/agentic-flow/adapters/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/model-router-adapter.d.ts +242 -0
- package/dist/integrations/agentic-flow/adapters/model-router-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/quic-transport-adapter.d.ts +364 -0
- package/dist/integrations/agentic-flow/adapters/quic-transport-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/reasoning-bank-adapter.d.ts +209 -0
- package/dist/integrations/agentic-flow/adapters/reasoning-bank-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/benchmark/index.d.ts +9 -0
- package/dist/integrations/agentic-flow/benchmark/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/benchmark/vector-benchmark.d.ts +253 -0
- package/dist/integrations/agentic-flow/benchmark/vector-benchmark.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/config.d.ts +109 -0
- package/dist/integrations/agentic-flow/config.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/feature-flags.d.ts +140 -0
- package/dist/integrations/agentic-flow/feature-flags.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/index.d.ts +22 -0
- package/dist/integrations/agentic-flow/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/migration/index.d.ts +9 -0
- package/dist/integrations/agentic-flow/migration/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/migration/migrate-to-agentdb.d.ts +242 -0
- package/dist/integrations/agentic-flow/migration/migrate-to-agentdb.d.ts.map +1 -0
- package/dist/learning/index.d.ts +91 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/learning-loop.d.ts +176 -0
- package/dist/learning/learning-loop.d.ts.map +1 -0
- package/dist/learning/services/ab-testing-framework.d.ts +135 -0
- package/dist/learning/services/ab-testing-framework.d.ts.map +1 -0
- package/dist/learning/services/agent-priming-service.d.ts +207 -0
- package/dist/learning/services/agent-priming-service.d.ts.map +1 -0
- package/dist/learning/services/daily-log-generator.d.ts +113 -0
- package/dist/learning/services/daily-log-generator.d.ts.map +1 -0
- package/dist/learning/services/index.d.ts +14 -0
- package/dist/learning/services/index.d.ts.map +1 -0
- package/dist/learning/services/memory-extraction-service.d.ts +87 -0
- package/dist/learning/services/memory-extraction-service.d.ts.map +1 -0
- package/dist/learning/services/task-completion-consumer.d.ts +162 -0
- package/dist/learning/services/task-completion-consumer.d.ts.map +1 -0
- package/dist/learning/services/trajectory-tracker.d.ts +174 -0
- package/dist/learning/services/trajectory-tracker.d.ts.map +1 -0
- package/dist/learning/types.d.ts +516 -0
- package/dist/learning/types.d.ts.map +1 -0
- package/dist/mcp/clients/claude-flow-memory-client.d.ts +259 -0
- package/dist/mcp/clients/claude-flow-memory-client.d.ts.map +1 -0
- package/dist/mcp/clients/claude-flow-memory-client.js +305 -0
- package/dist/mcp/clients/claude-flow-memory-client.js.map +1 -0
- package/dist/mcp/clients/index.d.ts +11 -0
- package/dist/mcp/clients/index.d.ts.map +1 -0
- package/dist/mcp/clients/mcp-client-adapter.d.ts +146 -0
- package/dist/mcp/clients/mcp-client-adapter.d.ts.map +1 -0
- package/dist/mcp/clients/mcp-client-adapter.js +372 -0
- package/dist/mcp/clients/mcp-client-adapter.js.map +1 -0
- package/dist/mcp/index.d.ts +10 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/memory/vault-sync.d.ts +12 -0
- package/dist/memory/vault-sync.d.ts.map +1 -1
- package/dist/memory/vault-sync.js +94 -11
- package/dist/memory/vault-sync.js.map +1 -1
- package/dist/node_modules/@huggingface/jinja/dist/index.js +118 -0
- package/dist/node_modules/@huggingface/jinja/dist/index.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/backends/onnx.js +24 -0
- package/dist/node_modules/@xenova/transformers/src/backends/onnx.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/configs.js +52 -0
- package/dist/node_modules/@xenova/transformers/src/configs.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/env.js +35 -0
- package/dist/node_modules/@xenova/transformers/src/env.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/models.js +3852 -0
- package/dist/node_modules/@xenova/transformers/src/models.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/tokenizers.js +144 -0
- package/dist/node_modules/@xenova/transformers/src/tokenizers.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/core.js +52 -0
- package/dist/node_modules/@xenova/transformers/src/utils/core.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/generation.js +623 -0
- package/dist/node_modules/@xenova/transformers/src/utils/generation.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/hub.js +395 -0
- package/dist/node_modules/@xenova/transformers/src/utils/hub.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/image.js +12 -0
- package/dist/node_modules/@xenova/transformers/src/utils/image.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/maths.js +89 -0
- package/dist/node_modules/@xenova/transformers/src/utils/maths.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/tensor.js +750 -0
- package/dist/node_modules/@xenova/transformers/src/utils/tensor.js.map +1 -0
- package/dist/node_modules/fdir/dist/index.js +13 -13
- package/dist/node_modules/fdir/dist/index.js.map +1 -1
- package/dist/node_modules/onnxruntime-common/dist/lib/backend-impl.js +67 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/backend-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env-impl.js +24 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/index.js +11 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/index.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session-impl.js +162 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor-impl.js +393 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor.js.map +1 -0
- package/dist/node_modules/onnxruntime-web/dist/ort-web.min.js +12919 -0
- package/dist/node_modules/onnxruntime-web/dist/ort-web.min.js.map +1 -0
- package/dist/node_modules/tinyglobby/dist/index.js +13 -13
- package/dist/node_modules/tinyglobby/dist/index.js.map +1 -1
- package/dist/node_modules/typescript/lib/typescript.js +24 -24
- package/dist/node_modules/typescript/lib/typescript.js.map +1 -1
- package/dist/transport/agent-transport.d.ts +269 -0
- package/dist/transport/agent-transport.d.ts.map +1 -0
- package/dist/transport/index.d.ts +10 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/vector/index.d.ts +1 -1
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/services/embedding-service.d.ts +244 -0
- package/dist/vector/services/embedding-service.d.ts.map +1 -0
- package/dist/vector/services/embedding-service.js +10 -0
- package/dist/vector/services/embedding-service.js.map +1 -0
- package/dist/vector/services/hybrid-search.d.ts +320 -0
- package/dist/vector/services/hybrid-search.d.ts.map +1 -0
- package/dist/vector/services/hybrid-search.js +3 -0
- package/dist/vector/services/hybrid-search.js.map +1 -0
- package/dist/vector/services/index.d.ts +4 -0
- package/dist/vector/services/index.d.ts.map +1 -1
- package/package.json +10 -1
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentDB Adapter
|
|
3
|
+
*
|
|
4
|
+
* Bridges knowledge-graph-agent vector operations with AgentDB's
|
|
5
|
+
* GNN-enhanced vector database for 150x faster semantic search.
|
|
6
|
+
*
|
|
7
|
+
* @module integrations/agentic-flow/adapters/agentdb-adapter
|
|
8
|
+
*/
|
|
9
|
+
import { BaseAdapter } from './base-adapter.js';
|
|
10
|
+
import type { IVectorStore, SearchResult, BatchInsertOperation, BatchInsertResult, VectorEntry, VectorIndexStats, HybridSearchQuery, HybridSearchResult } from '../../../vector/types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for AgentDB adapter
|
|
13
|
+
*/
|
|
14
|
+
export interface AgentDBConfig {
|
|
15
|
+
/**
|
|
16
|
+
* Backend selection strategy
|
|
17
|
+
* - auto: Automatically select best available backend
|
|
18
|
+
* - ruvector: Use RuVector (Rust-based, highest performance)
|
|
19
|
+
* - hnswlib: Use hnswlib-node (good performance, wider compatibility)
|
|
20
|
+
* - sqlite: Use SQLite-based storage (fallback, lower performance)
|
|
21
|
+
*/
|
|
22
|
+
backend: 'auto' | 'ruvector' | 'hnswlib' | 'sqlite';
|
|
23
|
+
/**
|
|
24
|
+
* Vector dimensions (must match embedding model output)
|
|
25
|
+
*/
|
|
26
|
+
dimensions: number;
|
|
27
|
+
/**
|
|
28
|
+
* Enable GNN (Graph Neural Network) enhanced search
|
|
29
|
+
* Leverages graph structure for better semantic understanding
|
|
30
|
+
*/
|
|
31
|
+
enableGNN: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Path to database file (for persistent storage)
|
|
34
|
+
*/
|
|
35
|
+
dbPath?: string;
|
|
36
|
+
/**
|
|
37
|
+
* HNSW index parameters
|
|
38
|
+
*/
|
|
39
|
+
hnswParams?: {
|
|
40
|
+
/** Maximum connections per node (default: 16) */
|
|
41
|
+
m: number;
|
|
42
|
+
/** Size of candidate list during construction (default: 200) */
|
|
43
|
+
efConstruction: number;
|
|
44
|
+
/** Size of candidate list during search (default: 50) */
|
|
45
|
+
efSearch: number;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Enable quantization for memory efficiency
|
|
49
|
+
*/
|
|
50
|
+
quantization?: {
|
|
51
|
+
enabled: boolean;
|
|
52
|
+
/** Bits per dimension (4, 8, or 16) */
|
|
53
|
+
bits: 4 | 8 | 16;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Default AgentDB configuration
|
|
58
|
+
*/
|
|
59
|
+
export declare const defaultAgentDBConfig: AgentDBConfig;
|
|
60
|
+
/**
|
|
61
|
+
* AgentDB vector store interface (from agentic-flow)
|
|
62
|
+
*
|
|
63
|
+
* This interface represents the expected AgentDB API.
|
|
64
|
+
* The actual implementation comes from the agentic-flow package.
|
|
65
|
+
*/
|
|
66
|
+
interface AgentDBVectors {
|
|
67
|
+
upsert(entry: {
|
|
68
|
+
id: string;
|
|
69
|
+
vector: Float32Array | number[];
|
|
70
|
+
metadata?: Record<string, unknown>;
|
|
71
|
+
}): Promise<void>;
|
|
72
|
+
search(query: Float32Array | number[], options: {
|
|
73
|
+
limit: number;
|
|
74
|
+
useGNN?: boolean;
|
|
75
|
+
filter?: Record<string, unknown>;
|
|
76
|
+
}): Promise<Array<{
|
|
77
|
+
id: string;
|
|
78
|
+
score: number;
|
|
79
|
+
metadata?: Record<string, unknown>;
|
|
80
|
+
}>>;
|
|
81
|
+
delete(id: string): Promise<void>;
|
|
82
|
+
get(id: string): Promise<{
|
|
83
|
+
id: string;
|
|
84
|
+
vector: number[];
|
|
85
|
+
metadata?: Record<string, unknown>;
|
|
86
|
+
} | null>;
|
|
87
|
+
batchUpsert(entries: Array<{
|
|
88
|
+
id: string;
|
|
89
|
+
vector: Float32Array | number[];
|
|
90
|
+
metadata?: Record<string, unknown>;
|
|
91
|
+
}>): Promise<{
|
|
92
|
+
inserted: number;
|
|
93
|
+
errors: Array<{
|
|
94
|
+
id: string;
|
|
95
|
+
error: string;
|
|
96
|
+
}>;
|
|
97
|
+
}>;
|
|
98
|
+
count(): number;
|
|
99
|
+
clear(): Promise<void>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* AgentDB instance interface
|
|
103
|
+
*/
|
|
104
|
+
interface AgentDBInstance {
|
|
105
|
+
vectors: AgentDBVectors;
|
|
106
|
+
initialize(): Promise<void>;
|
|
107
|
+
close(): Promise<void>;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* AgentDB Adapter
|
|
111
|
+
*
|
|
112
|
+
* Provides a bridge between knowledge-graph-agent's vector operations
|
|
113
|
+
* and AgentDB's high-performance vector database with GNN enhancements.
|
|
114
|
+
*/
|
|
115
|
+
export declare class AgentDBAdapter extends BaseAdapter<AgentDBInstance> implements IVectorStore {
|
|
116
|
+
private config;
|
|
117
|
+
private stats;
|
|
118
|
+
constructor(config?: Partial<AgentDBConfig>);
|
|
119
|
+
/**
|
|
120
|
+
* Get the feature name for feature flag lookup
|
|
121
|
+
*/
|
|
122
|
+
getFeatureName(): string;
|
|
123
|
+
/**
|
|
124
|
+
* Check if AgentDB module is available
|
|
125
|
+
*/
|
|
126
|
+
isAvailable(): boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Initialize the AgentDB adapter
|
|
129
|
+
*/
|
|
130
|
+
initialize(): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Insert a single vector entry
|
|
133
|
+
*/
|
|
134
|
+
insert(entry: {
|
|
135
|
+
id: string;
|
|
136
|
+
vector: number[];
|
|
137
|
+
metadata?: Record<string, unknown>;
|
|
138
|
+
}): Promise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* Upsert a vector (insert or update)
|
|
141
|
+
*/
|
|
142
|
+
upsert(nodeId: string, content: string, embedding: Float32Array): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Batch insert multiple vectors
|
|
145
|
+
*/
|
|
146
|
+
batchInsert(operation: BatchInsertOperation): Promise<BatchInsertResult>;
|
|
147
|
+
/**
|
|
148
|
+
* Search for similar vectors
|
|
149
|
+
*/
|
|
150
|
+
search(query: {
|
|
151
|
+
vector: number[];
|
|
152
|
+
k?: number;
|
|
153
|
+
filter?: Record<string, unknown>;
|
|
154
|
+
minScore?: number;
|
|
155
|
+
}): Promise<SearchResult[]>;
|
|
156
|
+
/**
|
|
157
|
+
* Hybrid search combining vectors and graph
|
|
158
|
+
*/
|
|
159
|
+
hybridSearch(query: HybridSearchQuery): Promise<HybridSearchResult[]>;
|
|
160
|
+
/**
|
|
161
|
+
* Get a vector by ID
|
|
162
|
+
*/
|
|
163
|
+
get(id: string): Promise<VectorEntry | null>;
|
|
164
|
+
/**
|
|
165
|
+
* Delete a vector by ID
|
|
166
|
+
*/
|
|
167
|
+
delete(id: string): Promise<boolean>;
|
|
168
|
+
/**
|
|
169
|
+
* Get index statistics
|
|
170
|
+
*/
|
|
171
|
+
getStats(): VectorIndexStats;
|
|
172
|
+
/**
|
|
173
|
+
* Clear all vectors
|
|
174
|
+
*/
|
|
175
|
+
clear(): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Dispose and close the database
|
|
178
|
+
*/
|
|
179
|
+
dispose(): Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Get the current configuration
|
|
182
|
+
*/
|
|
183
|
+
getConfig(): AgentDBConfig;
|
|
184
|
+
/**
|
|
185
|
+
* Update configuration (requires reinitialization)
|
|
186
|
+
*/
|
|
187
|
+
updateConfig(config: Partial<AgentDBConfig>): void;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Create a new AgentDB adapter instance
|
|
191
|
+
*
|
|
192
|
+
* @param config - Adapter configuration
|
|
193
|
+
* @returns Configured adapter
|
|
194
|
+
*/
|
|
195
|
+
export declare function createAgentDBAdapter(config?: Partial<AgentDBConfig>): AgentDBAdapter;
|
|
196
|
+
export {};
|
|
197
|
+
//# sourceMappingURL=agentdb-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentdb-adapter.d.ts","sourceRoot":"","sources":["../../../../src/integrations/agentic-flow/adapters/agentdb-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE1L;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAEpD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,iDAAiD;QACjD,CAAC,EAAE,MAAM,CAAC;QACV,gEAAgE;QAChE,cAAc,EAAE,MAAM,CAAC;QACvB,yDAAyD;QACzD,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,uCAAuC;QACvC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aASlC,CAAC;AAEF;;;;;GAKG;AACH,UAAU,cAAc;IACtB,MAAM,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC,CAAC;IAC1M,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACtG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC9L,KAAK,IAAI,MAAM,CAAC;IAChB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,eAAe,CAAE,YAAW,YAAY;IACtF,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAmB;gBAEpB,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAY/C;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BjC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxG;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrF;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwB9E;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsBnI;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAiB3E;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAclD;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa1C;;OAEG;IACH,QAAQ,IAAI,gBAAgB;IAO5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B;;OAEG;IACH,SAAS,IAAI,aAAa;IAI1B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;CAGnD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,cAAc,CAEpF"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentDB Vector Store Adapter
|
|
3
|
+
*
|
|
4
|
+
* Provides a high-performance vector store implementation using AgentDB
|
|
5
|
+
* with 150x performance improvement over SQLite-based storage.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Auto-detection of optimal backend (RuVector, HNSWLib, SQLite)
|
|
9
|
+
* - GNN-enhanced similarity search
|
|
10
|
+
* - Hybrid search combining vector and text
|
|
11
|
+
* - Batch operations with 3-4x speedup
|
|
12
|
+
* - HNSW indexing for approximate nearest neighbor search
|
|
13
|
+
*
|
|
14
|
+
* @module integrations/agentic-flow/adapters/agentdb-vector-store
|
|
15
|
+
*/
|
|
16
|
+
import { BaseAdapter } from './base-adapter.js';
|
|
17
|
+
/**
|
|
18
|
+
* Vector search result interface
|
|
19
|
+
*/
|
|
20
|
+
export interface VectorSearchResult {
|
|
21
|
+
/** Node identifier */
|
|
22
|
+
nodeId: string;
|
|
23
|
+
/** Content associated with the vector */
|
|
24
|
+
content: string;
|
|
25
|
+
/** Similarity score (0-1, higher is more similar) */
|
|
26
|
+
similarity: number;
|
|
27
|
+
/** Additional metadata */
|
|
28
|
+
metadata: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* AgentDB vector store configuration
|
|
32
|
+
*/
|
|
33
|
+
export interface AgentDBVectorConfig {
|
|
34
|
+
/** Backend selection strategy */
|
|
35
|
+
backend: 'auto' | 'ruvector' | 'hnswlib' | 'sqlite' | 'sqljs';
|
|
36
|
+
/** Vector embedding dimensions */
|
|
37
|
+
dimensions: number;
|
|
38
|
+
/** Enable Graph Neural Network enhancement */
|
|
39
|
+
enableGNN: boolean;
|
|
40
|
+
/** Number of GNN attention heads */
|
|
41
|
+
gnnHeads: number;
|
|
42
|
+
/** Path for persistent storage (optional) */
|
|
43
|
+
persistPath?: string;
|
|
44
|
+
/** Enable result caching */
|
|
45
|
+
enableCache: boolean;
|
|
46
|
+
/** Maximum cache size */
|
|
47
|
+
cacheSize: number;
|
|
48
|
+
/** HNSW M parameter (max connections per node) */
|
|
49
|
+
hnswM?: number;
|
|
50
|
+
/** HNSW efConstruction parameter */
|
|
51
|
+
hnswEfConstruction?: number;
|
|
52
|
+
/** HNSW efSearch parameter */
|
|
53
|
+
hnswEfSearch?: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Upsert batch entry
|
|
57
|
+
*/
|
|
58
|
+
export interface UpsertBatchEntry {
|
|
59
|
+
nodeId: string;
|
|
60
|
+
content: string;
|
|
61
|
+
embedding: Float32Array;
|
|
62
|
+
metadata?: Record<string, unknown>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Hybrid search options
|
|
66
|
+
*/
|
|
67
|
+
export interface HybridSearchOptions {
|
|
68
|
+
limit?: number;
|
|
69
|
+
vectorWeight?: number;
|
|
70
|
+
textWeight?: number;
|
|
71
|
+
minScore?: number;
|
|
72
|
+
useGNN?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Vector store statistics
|
|
76
|
+
*/
|
|
77
|
+
export interface VectorStoreStats {
|
|
78
|
+
totalVectors: number;
|
|
79
|
+
indexSize: number;
|
|
80
|
+
cacheHitRate: number;
|
|
81
|
+
backendType: string;
|
|
82
|
+
gnnEnabled: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* AgentDB Vector Store adapter
|
|
86
|
+
*
|
|
87
|
+
* Provides a drop-in replacement for the existing VectorStore with
|
|
88
|
+
* significant performance improvements through AgentDB's optimized
|
|
89
|
+
* vector indexing and search capabilities.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* const store = new AgentDBVectorStore({
|
|
94
|
+
* dimensions: 384,
|
|
95
|
+
* enableGNN: true,
|
|
96
|
+
* persistPath: './data/vectors.db',
|
|
97
|
+
* });
|
|
98
|
+
*
|
|
99
|
+
* await store.initialize();
|
|
100
|
+
*
|
|
101
|
+
* // Insert vectors
|
|
102
|
+
* await store.upsert('node-1', 'Document content', embedding, { type: 'document' });
|
|
103
|
+
*
|
|
104
|
+
* // Search
|
|
105
|
+
* const results = await store.search(queryEmbedding, 10, 0.5);
|
|
106
|
+
*
|
|
107
|
+
* // Hybrid search
|
|
108
|
+
* const hybridResults = await store.hybridSearch('query text', queryEmbedding, {
|
|
109
|
+
* limit: 20,
|
|
110
|
+
* vectorWeight: 0.6,
|
|
111
|
+
* textWeight: 0.4,
|
|
112
|
+
* });
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export declare class AgentDBVectorStore extends BaseAdapter<unknown> {
|
|
116
|
+
private config;
|
|
117
|
+
private db;
|
|
118
|
+
private vectorIndex;
|
|
119
|
+
private cache;
|
|
120
|
+
private cacheHits;
|
|
121
|
+
private cacheMisses;
|
|
122
|
+
constructor(config?: Partial<AgentDBVectorConfig>);
|
|
123
|
+
/**
|
|
124
|
+
* Get the feature name for this adapter
|
|
125
|
+
*/
|
|
126
|
+
getFeatureName(): string;
|
|
127
|
+
/**
|
|
128
|
+
* Check if the adapter is available and initialized
|
|
129
|
+
*/
|
|
130
|
+
isAvailable(): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Initialize the AgentDB vector store
|
|
133
|
+
*
|
|
134
|
+
* Attempts to load AgentDB and create the vector index with
|
|
135
|
+
* the configured settings. Falls back gracefully if AgentDB
|
|
136
|
+
* is not available.
|
|
137
|
+
*
|
|
138
|
+
* @throws Error if AgentDB module is not available
|
|
139
|
+
*/
|
|
140
|
+
initialize(): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Upsert a vector embedding
|
|
143
|
+
*
|
|
144
|
+
* Inserts or updates a vector in the index. If a vector with the
|
|
145
|
+
* same nodeId exists, it will be updated.
|
|
146
|
+
*
|
|
147
|
+
* @param nodeId - Unique identifier for the node
|
|
148
|
+
* @param content - Text content associated with the vector
|
|
149
|
+
* @param embedding - Vector embedding (Float32Array)
|
|
150
|
+
* @param metadata - Optional metadata to store with the vector
|
|
151
|
+
*/
|
|
152
|
+
upsert(nodeId: string, content: string, embedding: Float32Array, metadata?: Record<string, unknown>): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* Batch upsert for efficiency
|
|
155
|
+
*
|
|
156
|
+
* Inserts or updates multiple vectors in a single operation.
|
|
157
|
+
* AgentDB batch operations are 3-4x faster than individual upserts.
|
|
158
|
+
*
|
|
159
|
+
* @param entries - Array of entries to upsert
|
|
160
|
+
*/
|
|
161
|
+
upsertBatch(entries: UpsertBatchEntry[]): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Vector similarity search with optional GNN enhancement
|
|
164
|
+
*
|
|
165
|
+
* Performs approximate nearest neighbor search using HNSW indexing.
|
|
166
|
+
* When GNN is enabled, results are enhanced with graph-based
|
|
167
|
+
* relationship scoring.
|
|
168
|
+
*
|
|
169
|
+
* @param queryEmbedding - Query vector embedding
|
|
170
|
+
* @param limit - Maximum number of results to return
|
|
171
|
+
* @param threshold - Minimum similarity threshold (0-1)
|
|
172
|
+
* @param useGNN - Whether to use GNN enhancement (default: true)
|
|
173
|
+
* @returns Array of search results sorted by similarity
|
|
174
|
+
*/
|
|
175
|
+
search(queryEmbedding: Float32Array, limit?: number, threshold?: number, useGNN?: boolean): Promise<VectorSearchResult[]>;
|
|
176
|
+
/**
|
|
177
|
+
* Hybrid search combining vector and text
|
|
178
|
+
*
|
|
179
|
+
* Performs a combined search using both vector similarity and
|
|
180
|
+
* text matching, with configurable weights for each component.
|
|
181
|
+
*
|
|
182
|
+
* @param query - Text query for text-based search
|
|
183
|
+
* @param queryEmbedding - Vector embedding for similarity search
|
|
184
|
+
* @param options - Search options including weights and limits
|
|
185
|
+
* @returns Array of hybrid search results with combined scores
|
|
186
|
+
*/
|
|
187
|
+
hybridSearch(query: string, queryEmbedding: Float32Array, options?: HybridSearchOptions): Promise<VectorSearchResult[]>;
|
|
188
|
+
/**
|
|
189
|
+
* Delete a vector
|
|
190
|
+
*
|
|
191
|
+
* @param nodeId - ID of the vector to delete
|
|
192
|
+
*/
|
|
193
|
+
delete(nodeId: string): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* Get statistics
|
|
196
|
+
*
|
|
197
|
+
* @returns Vector store statistics
|
|
198
|
+
*/
|
|
199
|
+
getStats(): Promise<VectorStoreStats>;
|
|
200
|
+
/**
|
|
201
|
+
* Close the database
|
|
202
|
+
*
|
|
203
|
+
* Releases resources and closes the database connection.
|
|
204
|
+
*/
|
|
205
|
+
close(): Promise<void>;
|
|
206
|
+
/**
|
|
207
|
+
* Get current configuration
|
|
208
|
+
*/
|
|
209
|
+
getConfig(): AgentDBVectorConfig;
|
|
210
|
+
/**
|
|
211
|
+
* Get cache hit rate
|
|
212
|
+
*/
|
|
213
|
+
private getCacheHitRate;
|
|
214
|
+
/**
|
|
215
|
+
* Create cache key from search parameters
|
|
216
|
+
*/
|
|
217
|
+
private createCacheKey;
|
|
218
|
+
/**
|
|
219
|
+
* Cache a search result
|
|
220
|
+
*/
|
|
221
|
+
private cacheResult;
|
|
222
|
+
/**
|
|
223
|
+
* Invalidate all cached results
|
|
224
|
+
*/
|
|
225
|
+
private invalidateCache;
|
|
226
|
+
/**
|
|
227
|
+
* Clear cache and reset statistics
|
|
228
|
+
*/
|
|
229
|
+
clearCache(): void;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Factory function to create an AgentDB vector store
|
|
233
|
+
*
|
|
234
|
+
* @param config - Optional configuration overrides
|
|
235
|
+
* @returns Initialized AgentDBVectorStore instance
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* const store = await createAgentDBVectorStore({
|
|
240
|
+
* dimensions: 384,
|
|
241
|
+
* persistPath: './vectors.db',
|
|
242
|
+
* });
|
|
243
|
+
*
|
|
244
|
+
* await store.upsert('doc-1', 'Content', embedding);
|
|
245
|
+
* const results = await store.search(queryEmbedding);
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
export declare function createAgentDBVectorStore(config?: Partial<AgentDBVectorConfig>): Promise<AgentDBVectorStore>;
|
|
249
|
+
//# sourceMappingURL=agentdb-vector-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentdb-vector-store.d.ts","sourceRoot":"","sources":["../../../../src/integrations/agentic-flow/adapters/agentdb-vector-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Adapter for Agentic-Flow Integrations
|
|
3
|
+
*
|
|
4
|
+
* Provides a common interface for optional agentic-flow module integrations.
|
|
5
|
+
* Adapters gracefully degrade when dependencies are not available.
|
|
6
|
+
*
|
|
7
|
+
* @module integrations/agentic-flow/adapters/base-adapter
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Adapter status tracking
|
|
11
|
+
*/
|
|
12
|
+
export interface AdapterStatus {
|
|
13
|
+
/** Whether the underlying module is available */
|
|
14
|
+
available: boolean;
|
|
15
|
+
/** Whether the adapter has been initialized */
|
|
16
|
+
initialized: boolean;
|
|
17
|
+
/** Error message if initialization failed */
|
|
18
|
+
error?: string;
|
|
19
|
+
/** Timestamp of last status check */
|
|
20
|
+
lastChecked: Date;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Base class for agentic-flow adapters
|
|
24
|
+
*
|
|
25
|
+
* Provides common functionality for loading optional modules
|
|
26
|
+
* and tracking availability status.
|
|
27
|
+
*
|
|
28
|
+
* @template T - The type of the underlying module
|
|
29
|
+
*/
|
|
30
|
+
export declare abstract class BaseAdapter<T> {
|
|
31
|
+
protected module: T | null;
|
|
32
|
+
protected instance: T | null;
|
|
33
|
+
protected status: AdapterStatus;
|
|
34
|
+
/**
|
|
35
|
+
* Get the feature name for this adapter
|
|
36
|
+
*/
|
|
37
|
+
abstract getFeatureName(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Check if the adapter is available and initialized
|
|
40
|
+
*/
|
|
41
|
+
abstract isAvailable(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Initialize the adapter
|
|
44
|
+
*/
|
|
45
|
+
abstract initialize(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Check if a module can be resolved (synchronous check)
|
|
48
|
+
*
|
|
49
|
+
* @param moduleName - Name of the module to check
|
|
50
|
+
* @returns True if module can potentially be resolved
|
|
51
|
+
*/
|
|
52
|
+
protected canResolve(moduleName: string): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Ensure the adapter has been initialized
|
|
55
|
+
*
|
|
56
|
+
* @throws Error if not initialized
|
|
57
|
+
*/
|
|
58
|
+
protected ensureInitialized(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Mark the adapter as successfully initialized
|
|
61
|
+
*/
|
|
62
|
+
protected markInitialized(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Mark the adapter as failed
|
|
65
|
+
*
|
|
66
|
+
* @param error - The error that caused failure
|
|
67
|
+
*/
|
|
68
|
+
protected markFailed(error: Error): void;
|
|
69
|
+
/**
|
|
70
|
+
* Attempt to dynamically import a module
|
|
71
|
+
*
|
|
72
|
+
* @param moduleName - Name of the module to load
|
|
73
|
+
* @returns The loaded module or null if not available
|
|
74
|
+
*/
|
|
75
|
+
protected tryLoad<M = T>(moduleName: string): Promise<M | null>;
|
|
76
|
+
/**
|
|
77
|
+
* Dispose of adapter resources
|
|
78
|
+
*/
|
|
79
|
+
dispose(): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Get the current adapter status
|
|
82
|
+
*/
|
|
83
|
+
getStatus(): AdapterStatus;
|
|
84
|
+
/**
|
|
85
|
+
* Check if a specific capability is supported
|
|
86
|
+
*
|
|
87
|
+
* @param capability - The capability to check
|
|
88
|
+
*/
|
|
89
|
+
supportsCapability(capability: string): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Reset the adapter state
|
|
92
|
+
*/
|
|
93
|
+
reset(): void;
|
|
94
|
+
/**
|
|
95
|
+
* Log a message with the adapter's feature name as prefix
|
|
96
|
+
*
|
|
97
|
+
* @param level - Log level (debug, info, warn, error)
|
|
98
|
+
* @param message - Message to log
|
|
99
|
+
* @param data - Optional additional data to include
|
|
100
|
+
*/
|
|
101
|
+
protected log(level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: Record<string, unknown>): void;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Interface for adapters that support health checks
|
|
105
|
+
*/
|
|
106
|
+
export interface HealthCheckable {
|
|
107
|
+
checkHealth(): Promise<{
|
|
108
|
+
healthy: boolean;
|
|
109
|
+
message?: string;
|
|
110
|
+
details?: Record<string, unknown>;
|
|
111
|
+
}>;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Interface for adapters that track metrics
|
|
115
|
+
*/
|
|
116
|
+
export interface MetricsTrackable {
|
|
117
|
+
getMetrics(): Record<string, number | string>;
|
|
118
|
+
resetMetrics(): void;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=base-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../../../src/integrations/agentic-flow/adapters/base-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;IAEnB,+CAA+C;IAC/C,WAAW,EAAE,OAAO,CAAC;IAErB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,8BAAsB,WAAW,CAAC,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAQ;IAClC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAQ;IACpC,SAAS,CAAC,MAAM,EAAE,aAAa,CAI7B;IAEF;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,MAAM;IAEjC;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO;IAE/B;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAcjD;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAOjC;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOxC;;;;;OAKG;cACa,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAerE;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B;;OAEG;IACH,SAAS,IAAI,aAAa;IAI1B;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI/C;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAC1C,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI;CAuBR;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,IAAI,OAAO,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC9C,YAAY,IAAI,IAAI,CAAC;CACtB"}
|