@revealui/ai 0.1.3 → 0.2.2
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.commercial +2 -3
- package/README.md +3 -0
- package/dist/a2a/card.d.ts.map +1 -1
- package/dist/a2a/handler.d.ts +1 -1
- package/dist/a2a/handler.d.ts.map +1 -1
- package/dist/a2a/handler.js +1 -1
- package/dist/a2a/index.d.ts.map +1 -1
- package/dist/a2a/task-store.d.ts.map +1 -1
- package/dist/audit/emitter.d.ts.map +1 -1
- package/dist/audit/index.d.ts.map +1 -1
- package/dist/audit/observer.d.ts.map +1 -1
- package/dist/audit/policy.d.ts.map +1 -1
- package/dist/audit/store.d.ts.map +1 -1
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/client/hooks/index.d.ts.map +1 -1
- package/dist/client/hooks/useAgentContext.d.ts.map +1 -1
- package/dist/client/hooks/useAgentEvents.d.ts.map +1 -1
- package/dist/client/hooks/useAgentStream.d.ts.map +1 -1
- package/dist/client/hooks/useEpisodicMemory.d.ts.map +1 -1
- package/dist/client/hooks/useWorkingMemory.d.ts.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/embeddings/index.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/inference/context-assembly.d.ts.map +1 -1
- package/dist/inference/context-budget.d.ts +46 -0
- package/dist/inference/context-budget.d.ts.map +1 -0
- package/dist/inference/context-budget.js +113 -0
- package/dist/inference/index.d.ts +8 -0
- package/dist/inference/index.d.ts.map +1 -0
- package/dist/inference/index.js +7 -0
- package/dist/inference/overflow-compressor.d.ts.map +1 -1
- package/dist/inference/runRag.d.ts.map +1 -1
- package/dist/inference/task-decomposer.d.ts +75 -0
- package/dist/inference/task-decomposer.d.ts.map +1 -0
- package/dist/inference/task-decomposer.js +190 -0
- package/dist/inference/tool-result-compressor.d.ts +39 -0
- package/dist/inference/tool-result-compressor.d.ts.map +1 -0
- package/dist/inference/tool-result-compressor.js +180 -0
- package/dist/ingestion/bm25.d.ts.map +1 -1
- package/dist/ingestion/cms-indexer.d.ts.map +1 -1
- package/dist/ingestion/file-parsers.d.ts.map +1 -1
- package/dist/ingestion/hybrid-search.d.ts.map +1 -1
- package/dist/ingestion/index.d.ts.map +1 -1
- package/dist/ingestion/pipeline.d.ts +2 -1
- package/dist/ingestion/pipeline.d.ts.map +1 -1
- package/dist/ingestion/pipeline.js +10 -5
- package/dist/ingestion/rag-vector-service.d.ts.map +1 -1
- package/dist/ingestion/reranker.d.ts.map +1 -1
- package/dist/ingestion/text-splitter.d.ts.map +1 -1
- package/dist/llm/cache-utils.d.ts.map +1 -1
- package/dist/llm/client.d.ts +12 -2
- package/dist/llm/client.d.ts.map +1 -1
- package/dist/llm/client.js +38 -7
- package/dist/llm/key-validator.d.ts.map +1 -1
- package/dist/llm/provider-health.d.ts.map +1 -1
- package/dist/llm/providers/anthropic.d.ts.map +1 -1
- package/dist/llm/providers/anthropic.js +3 -1
- package/dist/llm/providers/base.d.ts.map +1 -1
- package/dist/llm/providers/bitnet.d.ts +28 -0
- package/dist/llm/providers/bitnet.d.ts.map +1 -0
- package/dist/llm/providers/bitnet.js +36 -0
- package/dist/llm/providers/groq.d.ts.map +1 -1
- package/dist/llm/providers/inference-snaps.d.ts.map +1 -1
- package/dist/llm/providers/ollama.d.ts.map +1 -1
- package/dist/llm/providers/openai.d.ts.map +1 -1
- package/dist/llm/providers/vultr.d.ts.map +1 -1
- package/dist/llm/response-cache.d.ts.map +1 -1
- package/dist/llm/semantic-cache.d.ts.map +1 -1
- package/dist/llm/semantic-cache.js +4 -4
- package/dist/llm/server.d.ts +1 -0
- package/dist/llm/server.d.ts.map +1 -1
- package/dist/llm/server.js +1 -0
- package/dist/llm/token-counter.d.ts.map +1 -1
- package/dist/llm/workspace-provider-config.d.ts.map +1 -1
- package/dist/memory/agent/context-manager.d.ts.map +1 -1
- package/dist/memory/agent/index.d.ts.map +1 -1
- package/dist/memory/crdt/index.d.ts.map +1 -1
- package/dist/memory/crdt/lww-register.d.ts.map +1 -1
- package/dist/memory/crdt/or-set.d.ts.map +1 -1
- package/dist/memory/crdt/pn-counter.d.ts.map +1 -1
- package/dist/memory/crdt/vector-clock.d.ts.map +1 -1
- package/dist/memory/errors/index.d.ts.map +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/persistence/crdt-persistence.d.ts.map +1 -1
- package/dist/memory/persistence/crdt-persistence.js +2 -5
- package/dist/memory/persistence/index.d.ts.map +1 -1
- package/dist/memory/preferences/index.d.ts.map +1 -1
- package/dist/memory/preferences/user-preferences-manager.d.ts.map +1 -1
- package/dist/memory/preferences/user-preferences-manager.js +10 -10
- package/dist/memory/services/index.d.ts.map +1 -1
- package/dist/memory/services/node-id-service.d.ts.map +1 -1
- package/dist/memory/stores/episodic-memory.d.ts.map +1 -1
- package/dist/memory/stores/episodic-memory.js +2 -1
- package/dist/memory/stores/index.d.ts.map +1 -1
- package/dist/memory/stores/procedural-memory.d.ts.map +1 -1
- package/dist/memory/stores/semantic-memory.d.ts.map +1 -1
- package/dist/memory/stores/working-memory.d.ts.map +1 -1
- package/dist/memory/utils/deep-clone.d.ts.map +1 -1
- package/dist/memory/utils/index.d.ts +0 -1
- package/dist/memory/utils/index.d.ts.map +1 -1
- package/dist/memory/utils/index.js +0 -1
- package/dist/memory/utils/sql-helpers.d.ts.map +1 -1
- package/dist/memory/utils/validation.d.ts.map +1 -1
- package/dist/memory/utils/validation.js +3 -1
- package/dist/memory/vector/index.d.ts.map +1 -1
- package/dist/memory/vector/vector-memory-service.d.ts +3 -0
- package/dist/memory/vector/vector-memory-service.d.ts.map +1 -1
- package/dist/memory/vector/vector-memory-service.js +18 -5
- package/dist/observability/logger.d.ts.map +1 -1
- package/dist/observability/metrics.d.ts.map +1 -1
- package/dist/observability/query.d.ts.map +1 -1
- package/dist/observability/types.d.ts.map +1 -1
- package/dist/orchestration/agent.d.ts.map +1 -1
- package/dist/orchestration/defaults.d.ts.map +1 -1
- package/dist/orchestration/memory-integration.d.ts.map +1 -1
- package/dist/orchestration/orchestrator.d.ts.map +1 -1
- package/dist/orchestration/runtime.d.ts +24 -0
- package/dist/orchestration/runtime.d.ts.map +1 -1
- package/dist/orchestration/runtime.js +67 -1
- package/dist/orchestration/streaming-runtime.d.ts.map +1 -1
- package/dist/orchestration/streaming-runtime.js +11 -4
- package/dist/orchestration/ticket-agent.d.ts.map +1 -1
- package/dist/orchestration/ticket-agent.js +3 -1
- package/dist/skills/activation/index.d.ts.map +1 -1
- package/dist/skills/activation/skill-activator.d.ts.map +1 -1
- package/dist/skills/catalog/catalog-search.d.ts.map +1 -1
- package/dist/skills/catalog/catalog-types.d.ts.map +1 -1
- package/dist/skills/catalog/index.d.ts.map +1 -1
- package/dist/skills/catalog/vercel-catalog.d.ts.map +1 -1
- package/dist/skills/compat/index.d.ts.map +1 -1
- package/dist/skills/compat/skill-enhancer.d.ts.map +1 -1
- package/dist/skills/compat/tool-mapper.d.ts.map +1 -1
- package/dist/skills/compat/vercel-compat.d.ts.map +1 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/integration/agent-skill-provider.d.ts.map +1 -1
- package/dist/skills/integration/index.d.ts.map +1 -1
- package/dist/skills/loader/github-loader.d.ts.map +1 -1
- package/dist/skills/loader/github-loader.js +36 -17
- package/dist/skills/loader/index.d.ts.map +1 -1
- package/dist/skills/loader/local-loader.d.ts.map +1 -1
- package/dist/skills/loader/vercel-loader.d.ts.map +1 -1
- package/dist/skills/loader/vercel-loader.js +35 -17
- package/dist/skills/loader/vercel-types.d.ts.map +1 -1
- package/dist/skills/parser/index.d.ts.map +1 -1
- package/dist/skills/parser/skill-md-parser.d.ts.map +1 -1
- package/dist/skills/parser/skill-md-parser.js +2 -2
- package/dist/skills/registry/index.d.ts.map +1 -1
- package/dist/skills/registry/skill-registry.d.ts.map +1 -1
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/templates/agent-spec.d.ts.map +1 -1
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/prompt-spec.d.ts.map +1 -1
- package/dist/templates/skill-spec.d.ts.map +1 -1
- package/dist/tools/base.d.ts +33 -0
- package/dist/tools/base.d.ts.map +1 -1
- package/dist/tools/cms/collection-tools.d.ts.map +1 -1
- package/dist/tools/cms/factory.d.ts.map +1 -1
- package/dist/tools/cms/global-tools.d.ts.map +1 -1
- package/dist/tools/cms/index.d.ts.map +1 -1
- package/dist/tools/cms/media-tools.d.ts.map +1 -1
- package/dist/tools/cms/user-tools.d.ts.map +1 -1
- package/dist/tools/coding/file-edit.d.ts +6 -0
- package/dist/tools/coding/file-edit.d.ts.map +1 -0
- package/dist/tools/coding/file-edit.js +73 -0
- package/dist/tools/coding/file-glob.d.ts +6 -0
- package/dist/tools/coding/file-glob.d.ts.map +1 -0
- package/dist/tools/coding/file-glob.js +120 -0
- package/dist/tools/coding/file-grep.d.ts +6 -0
- package/dist/tools/coding/file-grep.d.ts.map +1 -0
- package/dist/tools/coding/file-grep.js +194 -0
- package/dist/tools/coding/file-read.d.ts +6 -0
- package/dist/tools/coding/file-read.d.ts.map +1 -0
- package/dist/tools/coding/file-read.js +69 -0
- package/dist/tools/coding/file-write.d.ts +6 -0
- package/dist/tools/coding/file-write.d.ts.map +1 -0
- package/dist/tools/coding/file-write.js +49 -0
- package/dist/tools/coding/git-ops.d.ts +6 -0
- package/dist/tools/coding/git-ops.d.ts.map +1 -0
- package/dist/tools/coding/git-ops.js +102 -0
- package/dist/tools/coding/index.d.ts +40 -0
- package/dist/tools/coding/index.d.ts.map +1 -0
- package/dist/tools/coding/index.js +62 -0
- package/dist/tools/coding/lint-fix.d.ts +9 -0
- package/dist/tools/coding/lint-fix.d.ts.map +1 -0
- package/dist/tools/coding/lint-fix.js +256 -0
- package/dist/tools/coding/project-context.d.ts +6 -0
- package/dist/tools/coding/project-context.d.ts.map +1 -0
- package/dist/tools/coding/project-context.js +126 -0
- package/dist/tools/coding/safety.d.ts +26 -0
- package/dist/tools/coding/safety.d.ts.map +1 -0
- package/dist/tools/coding/safety.js +104 -0
- package/dist/tools/coding/shell-exec.d.ts +6 -0
- package/dist/tools/coding/shell-exec.d.ts.map +1 -0
- package/dist/tools/coding/shell-exec.js +79 -0
- package/dist/tools/coding/test-runner.d.ts +10 -0
- package/dist/tools/coding/test-runner.d.ts.map +1 -0
- package/dist/tools/coding/test-runner.js +214 -0
- package/dist/tools/deduplicator.d.ts.map +1 -1
- package/dist/tools/document-summarizer.d.ts.map +1 -1
- package/dist/tools/mcp-adapter.d.ts.map +1 -1
- package/dist/tools/memory/index.d.ts.map +1 -1
- package/dist/tools/memory/store-memory.d.ts.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/ticket-tools.d.ts.map +1 -1
- package/dist/tools/web/duck-duck-go.d.ts.map +1 -1
- package/dist/tools/web/exa.d.ts.map +1 -1
- package/dist/tools/web/index.d.ts.map +1 -1
- package/dist/tools/web/scraper.d.ts.map +1 -1
- package/dist/tools/web/tavily.d.ts.map +1 -1
- package/dist/tools/web/types.d.ts.map +1 -1
- package/package.json +38 -11
- package/dist/memory/utils/logger.d.ts +0 -21
- package/dist/memory/utils/logger.d.ts.map +0 -1
- package/dist/memory/utils/logger.js +0 -62
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
* from multiple devices. Uses LWWRegister for last-writer-wins semantics.
|
|
6
6
|
*/
|
|
7
7
|
import { UserPreferencesSchema } from '@revealui/contracts/entities';
|
|
8
|
-
import {
|
|
8
|
+
import { createLogger } from '@revealui/core/observability/logger';
|
|
9
|
+
import { users } from '@revealui/db/schema';
|
|
10
|
+
import { eq } from 'drizzle-orm';
|
|
9
11
|
import { LWWRegister } from '../crdt/lww-register.js';
|
|
10
12
|
import { DatabaseConnectionError, DatabaseConstraintError, DatabaseOperationError, NotFoundError, ValidationError, } from '../errors/index.js';
|
|
11
13
|
import { deepClone } from '../utils/deep-clone.js';
|
|
12
|
-
import { createLogger } from '../utils/logger.js';
|
|
13
14
|
import { findUserById } from '../utils/sql-helpers.js';
|
|
14
15
|
// =============================================================================
|
|
15
16
|
// User Preferences Manager
|
|
@@ -36,7 +37,7 @@ export class UserPreferencesManager {
|
|
|
36
37
|
userId;
|
|
37
38
|
nodeId;
|
|
38
39
|
db;
|
|
39
|
-
logger = createLogger('
|
|
40
|
+
logger = createLogger({ component: 'UserPreferences' });
|
|
40
41
|
/**
|
|
41
42
|
* Creates a new UserPreferencesManager.
|
|
42
43
|
*
|
|
@@ -217,18 +218,18 @@ export class UserPreferencesManager {
|
|
|
217
218
|
errorMessage.includes('timeout') ||
|
|
218
219
|
errorMessage.includes('econnrefused') ||
|
|
219
220
|
errorMessage.includes('connect econnrefused')) {
|
|
220
|
-
this.logger.error(`Database connection error loading preferences for user ${this.userId}
|
|
221
|
+
this.logger.error(`Database connection error loading preferences for user ${this.userId}`, error);
|
|
221
222
|
throw new DatabaseConnectionError('Failed to load user preferences', error);
|
|
222
223
|
}
|
|
223
224
|
if (errorMessage.includes('violates') ||
|
|
224
225
|
errorMessage.includes('constraint') ||
|
|
225
226
|
errorMessage.includes('foreign key')) {
|
|
226
|
-
this.logger.error(`Database constraint error loading preferences for user ${this.userId}
|
|
227
|
+
this.logger.error(`Database constraint error loading preferences for user ${this.userId}`, error);
|
|
227
228
|
throw new DatabaseConstraintError('Failed to load user preferences', error);
|
|
228
229
|
}
|
|
229
230
|
}
|
|
230
231
|
// Generic database operation error
|
|
231
|
-
this.logger.error(`Failed to load preferences for user ${this.userId}
|
|
232
|
+
this.logger.error(`Failed to load preferences for user ${this.userId}`, error instanceof Error ? error : new Error(String(error)));
|
|
232
233
|
throw new DatabaseOperationError('Failed to load user preferences', error instanceof Error ? error : new Error(String(error)));
|
|
233
234
|
}
|
|
234
235
|
}
|
|
@@ -247,7 +248,6 @@ export class UserPreferencesManager {
|
|
|
247
248
|
// Structure: { _crdt: { lww_register: {...} } }
|
|
248
249
|
const crdtData = this.preferences.toData();
|
|
249
250
|
const preferencesValue = {
|
|
250
|
-
// biome-ignore lint/style/useNamingConvention: _crdt is the CRDT state storage key — internal convention that must not be renamed
|
|
251
251
|
_crdt: {
|
|
252
252
|
lww_register: crdtData,
|
|
253
253
|
},
|
|
@@ -281,19 +281,19 @@ export class UserPreferencesManager {
|
|
|
281
281
|
errorMessage.includes('timeout') ||
|
|
282
282
|
errorMessage.includes('econnrefused') ||
|
|
283
283
|
errorMessage.includes('connect econnrefused')) {
|
|
284
|
-
this.logger.error(`Database connection error saving preferences for user ${this.userId}
|
|
284
|
+
this.logger.error(`Database connection error saving preferences for user ${this.userId}`, error);
|
|
285
285
|
throw new DatabaseConnectionError('Failed to save user preferences', error);
|
|
286
286
|
}
|
|
287
287
|
if (errorMessage.includes('violates') ||
|
|
288
288
|
errorMessage.includes('constraint') ||
|
|
289
289
|
errorMessage.includes('foreign key') ||
|
|
290
290
|
errorMessage.includes('duplicate')) {
|
|
291
|
-
this.logger.error(`Database constraint error saving preferences for user ${this.userId}
|
|
291
|
+
this.logger.error(`Database constraint error saving preferences for user ${this.userId}`, error);
|
|
292
292
|
throw new DatabaseConstraintError('Failed to save user preferences', error);
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
295
|
// Generic database operation error
|
|
296
|
-
this.logger.error(`Failed to save preferences for user ${this.userId}
|
|
296
|
+
this.logger.error(`Failed to save preferences for user ${this.userId}`, error instanceof Error ? error : new Error(String(error)));
|
|
297
297
|
throw new DatabaseOperationError('Failed to save user preferences', error instanceof Error ? error : new Error(String(error)));
|
|
298
298
|
}
|
|
299
299
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-id-service.d.ts","sourceRoot":"","sources":["../../../src/memory/services/node-id-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"node-id-service.d.ts","sourceRoot":"","sources":["../../../src/memory/services/node-id-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE5C;;GAEG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEhC;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoC1E;;;;;;;;;;;OAWG;YACW,gBAAgB;IAsD9B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;;;;;OAQG;YACW,SAAS;CAyCxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"episodic-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/episodic-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"episodic-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/episodic-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAMnG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,WAAW,CAAC,CAAkB;IACtC,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,aAAa,CAAsB;IAE3C;;;;;;;OAOG;gBACS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,eAAe;IAYvF;;;;;;OAMG;IACG,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IA+B/C;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAU5B;;;;;;OAMG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnD;;;;OAIG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAwBtC;;;;;OAKG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAuBxD;;;;;;;;;;OAUG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBhF;;;;OAIG;IACG,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBvD;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;;;OAMG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAM,GAChD,OAAO,CAAC,WAAW,EAAE,CAAC;IAuBzB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;IAO5C;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;;;OAIG;IACH,MAAM,IAAI,kBAAkB;IAS5B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,kBAAkB,EACxB,EAAE,EAAE,QAAQ,EACZ,WAAW,CAAC,EAAE,eAAe,GAC5B,cAAc;IAOjB;;;;OAIG;IACH,KAAK,IAAI,cAAc;IAIvB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,SAAS,IAAI,MAAM;CAGpB"}
|
|
@@ -266,10 +266,11 @@ export class EpisodicMemory {
|
|
|
266
266
|
// Return memories sorted by similarity
|
|
267
267
|
return results.map((r) => r.memory);
|
|
268
268
|
}
|
|
269
|
-
catch (
|
|
269
|
+
catch (error) {
|
|
270
270
|
// Embedding generation failed (e.g. embedding service unavailable).
|
|
271
271
|
// Return empty results — do NOT fall back to getAll(), which would dump the
|
|
272
272
|
// entire memory store into agent context regardless of relevance.
|
|
273
|
+
void (error instanceof Error ? error.message : String(error)); // Semantic search failed — return empty results
|
|
273
274
|
return [];
|
|
274
275
|
}
|
|
275
276
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,aAAa,EAClB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,YAAY,EACjB,aAAa,EACb,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedural-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/procedural-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"procedural-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/procedural-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAA8C;IAE/D;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzE;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI3D;;;;;;;;;OASG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;CA4DpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/semantic-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"semantic-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/semantic-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;gBAE/B,OAAO,GAAE,qBAA0B;IAK/C;;;;OAIG;IACG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IAyBhB;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUrD;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC;;;;;;;;;OASG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAejF;;OAEG;IACH,IAAI,IAAI,aAAa,EAAE;IAKvB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED;;OAEG;IACH,OAAO,CAAC,YAAY;CAQrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"working-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/working-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"working-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/stores/working-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-clone.d.ts","sourceRoot":"","sources":["../../../src/memory/utils/deep-clone.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,
|
|
1
|
+
{"version":3,"file":"deep-clone.d.ts","sourceRoot":"","sources":["../../../src/memory/utils/deep-clone.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Utility functions
|
|
3
3
|
*/
|
|
4
4
|
export { deepClone } from './deep-clone.js';
|
|
5
|
-
export { createLogger, defaultLogger, type Logger } from './logger.js';
|
|
6
5
|
export { findAgentContextById, findAgentMemoriesByUserId, findAgentMemoryById, findNodeIdMappingByEntity, findNodeIdMappingByHash, findUserById, } from './sql-helpers.js';
|
|
7
6
|
export { estimateObjectSize, hasCircularReference, validateContext, validateContextKey, validateContextSize, validateContextValue, validateObjectDepth, } from './validation.js';
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC"}
|
|
@@ -2,6 +2,5 @@
|
|
|
2
2
|
* Utility functions
|
|
3
3
|
*/
|
|
4
4
|
export { deepClone } from './deep-clone.js';
|
|
5
|
-
export { createLogger, defaultLogger } from './logger.js';
|
|
6
5
|
export { findAgentContextById, findAgentMemoriesByUserId, findAgentMemoryById, findNodeIdMappingByEntity, findNodeIdMappingByHash, findUserById, } from './sql-helpers.js';
|
|
7
6
|
export { estimateObjectSize, hasCircularReference, validateContext, validateContextKey, validateContextSize, validateContextValue, validateObjectDepth, } from './validation.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-helpers.d.ts","sourceRoot":"","sources":["../../../src/memory/utils/sql-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"sql-helpers.d.ts","sourceRoot":"","sources":["../../../src/memory/utils/sql-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAmDpD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CA8BxC;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,SAAS,GAAG,MAAM,EAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CA6BxC;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CACN;IACE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,GACD,SAAS,CACZ,CA+BA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC,CAoCxB;AAMD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CACN;IACE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB,GACD,SAAS,CACZ,CAwBA;AAMD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,CAU3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/memory/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmCH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAkBpD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAYtE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,SAAmB,GAAG,MAAM,CA4BrF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAwCvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAY1E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/memory/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmCH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAkBpD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAYtE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,SAAmB,GAAG,MAAM,CA4BrF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAwCvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAY1E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAwCtE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAkC1D"}
|
|
@@ -198,7 +198,9 @@ export function validateContext(context) {
|
|
|
198
198
|
if (Object.hasOwn(context, '__proto__')) {
|
|
199
199
|
validateContextKey('__proto__');
|
|
200
200
|
const protoDescriptor = Object.getOwnPropertyDescriptor(context, '__proto__');
|
|
201
|
-
const value = protoDescriptor && 'value' in protoDescriptor
|
|
201
|
+
const value = protoDescriptor && 'value' in protoDescriptor
|
|
202
|
+
? protoDescriptor.value
|
|
203
|
+
: undefined;
|
|
202
204
|
validateContextValue(value, '__proto__');
|
|
203
205
|
}
|
|
204
206
|
// Validate depth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/vector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/vector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC"}
|
|
@@ -30,11 +30,14 @@ export interface VectorSearchResult {
|
|
|
30
30
|
*/
|
|
31
31
|
export declare class VectorMemoryService {
|
|
32
32
|
private _db;
|
|
33
|
+
private _restDb;
|
|
33
34
|
/**
|
|
34
35
|
* Lazy-load database client to avoid connection initialization at module import time.
|
|
35
36
|
* This allows the module to be imported in test environments without triggering database connections.
|
|
36
37
|
*/
|
|
37
38
|
private get db();
|
|
39
|
+
/** Lazy-load REST client for cross-DB reference validation. */
|
|
40
|
+
private get restDb();
|
|
38
41
|
/**
|
|
39
42
|
* Search for similar memories using vector similarity.
|
|
40
43
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector-memory-service.d.ts","sourceRoot":"","sources":["../../../src/memory/vector/vector-memory-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"vector-memory-service.d.ts","sourceRoot":"","sources":["../../../src/memory/vector/vector-memory-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAM9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAmD;IAC9D,OAAO,CAAC,OAAO,CAAiD;IAEhE;;;OAGG;IACH,OAAO,KAAK,EAAE,GAKb;IAED,+DAA+D;IAC/D,OAAO,KAAK,MAAM,GAKjB;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,aAAa,CACjB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA2GhC;;;;;OAKG;IACG,MAAM,CACV,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC,GAAG;QAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,GACA,OAAO,CAAC,WAAW,CAAC;IA4EvB;;;;;;OAMG;IACG,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GACtD,OAAO,CAAC,WAAW,CAAC;IAyEvB;;;;;OAKG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1C;;;;;OAKG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;CA8CvD"}
|
|
@@ -12,14 +12,16 @@
|
|
|
12
12
|
* const memories = await service.searchSimilar(embedding, { siteId: 'site-123', limit: 10 })
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
|
-
import { getVectorClient } from '@revealui/db/client';
|
|
15
|
+
import { getRestClient, getVectorClient } from '@revealui/db/client';
|
|
16
16
|
import { agentMemories } from '@revealui/db/schema/vector';
|
|
17
|
+
import { safeVectorInsert } from '@revealui/db/validation';
|
|
17
18
|
import { and, eq, sql } from 'drizzle-orm';
|
|
18
19
|
/**
|
|
19
20
|
* Vector Memory Service for semantic search operations.
|
|
20
21
|
*/
|
|
21
22
|
export class VectorMemoryService {
|
|
22
23
|
_db = null;
|
|
24
|
+
_restDb = null;
|
|
23
25
|
/**
|
|
24
26
|
* Lazy-load database client to avoid connection initialization at module import time.
|
|
25
27
|
* This allows the module to be imported in test environments without triggering database connections.
|
|
@@ -30,6 +32,13 @@ export class VectorMemoryService {
|
|
|
30
32
|
}
|
|
31
33
|
return this._db;
|
|
32
34
|
}
|
|
35
|
+
/** Lazy-load REST client for cross-DB reference validation. */
|
|
36
|
+
get restDb() {
|
|
37
|
+
if (!this._restDb) {
|
|
38
|
+
this._restDb = getRestClient();
|
|
39
|
+
}
|
|
40
|
+
return this._restDb;
|
|
41
|
+
}
|
|
33
42
|
/**
|
|
34
43
|
* Search for similar memories using vector similarity.
|
|
35
44
|
*
|
|
@@ -146,12 +155,16 @@ export class VectorMemoryService {
|
|
|
146
155
|
* @returns Created memory with generated id and timestamps
|
|
147
156
|
*/
|
|
148
157
|
async create(memory) {
|
|
149
|
-
const id = memory.id ||
|
|
158
|
+
const id = memory.id || crypto.randomUUID();
|
|
150
159
|
const now = new Date();
|
|
151
160
|
// Pass embedding vector directly - Drizzle's vector type will handle conversion
|
|
152
161
|
// The vector custom type has toDriver() that converts number[] to string format
|
|
153
162
|
const embeddingVector = memory.embedding?.vector || null;
|
|
154
|
-
const
|
|
163
|
+
const siteId = memory.metadata?.siteId;
|
|
164
|
+
if (!siteId) {
|
|
165
|
+
throw new Error('siteId is required to create an agent memory');
|
|
166
|
+
}
|
|
167
|
+
const result = await safeVectorInsert(this.restDb, async () => this.db
|
|
155
168
|
.insert(agentMemories)
|
|
156
169
|
.values({
|
|
157
170
|
id,
|
|
@@ -167,12 +180,12 @@ export class VectorMemoryService {
|
|
|
167
180
|
verified: memory.verified,
|
|
168
181
|
verifiedBy: null, // Can be set via update
|
|
169
182
|
verifiedAt: null,
|
|
170
|
-
siteId
|
|
183
|
+
siteId,
|
|
171
184
|
agentId: memory.metadata?.custom?.agentId || null,
|
|
172
185
|
createdAt: now,
|
|
173
186
|
expiresAt: memory.metadata?.expiresAt ? new Date(memory.metadata.expiresAt) : null,
|
|
174
187
|
})
|
|
175
|
-
.returning();
|
|
188
|
+
.returning(), { siteId: siteId ?? undefined });
|
|
176
189
|
const row = result[0];
|
|
177
190
|
if (!row) {
|
|
178
191
|
throw new Error('Failed to create memory');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAiB;gBAE3B,OAAO,CAAC,EAAE;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;IAYD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,IAAI;IAO1D;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,IAAI;IAO1D;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,IAAI;IAOxD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAI;IAOpD;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IAoChD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE;IAI/C;;OAEG;IACH,YAAY,IAAI,aAAa,EAAE;IAI/B,YAAY,IAAI,aAAa,EAAE;IAI/B,WAAW,IAAI,YAAY,EAAE;IAI7B,SAAS,IAAI,UAAU,EAAE;IAIzB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM;IAOtC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/observability/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/observability/metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EAEZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,gBAAgB;IAKpC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAiEzC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc;IA8CvD;;OAEG;IACH,iBAAiB,IAAI,KAAK,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,WAAW,CAAC;KACtB,CAAC;IASF;;OAEG;IACH,gBAAgB,IAAI,UAAU;CAI/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/observability/query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/observability/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/observability/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/observability/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/orchestration/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/orchestration/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,KAAK;IACpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,UAAU,IAAI,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,CAAC;IAChE,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/orchestration/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/orchestration/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,IAAI,EAAoB,CAAC;AAErE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,GAAE,IAAI,EAAO,GAAG,IAAI,EAAE,CAE3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-integration.d.ts","sourceRoot":"","sources":["../../src/orchestration/memory-integration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"memory-integration.d.ts","sourceRoot":"","sources":["../../src/orchestration/memory-integration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAMD;;GAEG;AAEH,qBAAa,sBAAsB;IACjC;;;;;;OAMG;WACU,YAAY,CACvB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,EACrB,MAAM,GAAE,4BAA4C,GACnD,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;WACU,gBAAgB,CAC3B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,SAAK,GACT,OAAO,CAAC,WAAW,EAAE,CAAC;IA0BzB;;;;;OAKG;WACU,sBAAsB,CACjC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,EACD,MAAM,GAAE,4BAA4C,GACnD,OAAO,CAAC,IAAI,CAAC;IAsChB;;OAEG;WACU,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAc5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestration/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestration/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAG3D,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAA0B;gBAE/B,MAAM,GAAE,mBAAwB;IAW5C;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIrC;;OAEG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOjC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI5C;;OAEG;IACH,YAAY,IAAI,KAAK,EAAE;IAIvB;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA6B/E;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IA+BrB;;;OAGG;IACG,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAoD1F"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { LLMClient } from '../llm/client.js';
|
|
7
7
|
import type { AgentSkillProvider } from '../skills/integration/agent-skill-provider.js';
|
|
8
|
+
import type { ApprovalCallback } from '../tools/base.js';
|
|
8
9
|
import type { MCPToolSource } from '../tools/mcp-adapter.js';
|
|
9
10
|
import type { Agent, AgentResult, Task } from './agent.js';
|
|
10
11
|
/**
|
|
@@ -46,6 +47,29 @@ export interface RuntimeConfig {
|
|
|
46
47
|
* instructions from the matching skill packages.
|
|
47
48
|
*/
|
|
48
49
|
skillProvider?: AgentSkillProvider;
|
|
50
|
+
/**
|
|
51
|
+
* Model tier for context-aware tool result compression.
|
|
52
|
+
* When set, tool results are compressed before entering the message history.
|
|
53
|
+
* Defaults to undefined (no compression).
|
|
54
|
+
*/
|
|
55
|
+
modelTier?: import('../inference/context-budget.js').ModelTier;
|
|
56
|
+
/**
|
|
57
|
+
* Model identifier for cost estimation.
|
|
58
|
+
* Must match a key in token-counter MODEL_PRICING (e.g., 'claude-sonnet-4-6').
|
|
59
|
+
* When unset, cost is estimated as $0.
|
|
60
|
+
*/
|
|
61
|
+
model?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Callback invoked when a tool with `requiresApproval: true` is called.
|
|
64
|
+
* If not set, tools requiring approval are auto-denied with an error message.
|
|
65
|
+
*/
|
|
66
|
+
approvalCallback?: ApprovalCallback;
|
|
67
|
+
/**
|
|
68
|
+
* Additional tool names that always require approval, regardless of the
|
|
69
|
+
* tool's own `requiresApproval` flag. Use to enforce agent-level security
|
|
70
|
+
* policy (e.g., from AgentSecuritySchema.requiresHumanApproval).
|
|
71
|
+
*/
|
|
72
|
+
alwaysRequireApproval?: string[];
|
|
49
73
|
}
|
|
50
74
|
export declare class AgentRuntime {
|
|
51
75
|
protected config: RuntimeConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/orchestration/runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/orchestration/runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,kBAAkB,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAWpF,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,gCAAgC,EAAE,SAAS,CAAC;IAC/D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,qBAAa,YAAY;IACvB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,cAAc,CAAS;gBAEnB,MAAM,GAAE,aAAkB;IAyBtC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;YAqBzE,OAAO;IAqOrB;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI7B;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAc9E;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B9B;;OAEG;IACH,SAAS,IAAI;QACX,cAAc,EAAE,OAAO,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;CAOF"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { registerCleanupHandler } from '@revealui/core/monitoring';
|
|
7
7
|
import { z } from 'zod/v4';
|
|
8
|
+
import { estimateCost } from '../llm/token-counter.js';
|
|
8
9
|
import { ToolCallDeduplicator } from '../tools/deduplicator.js';
|
|
9
10
|
import { discoverMCPTools } from '../tools/mcp-adapter.js';
|
|
10
11
|
import { createWebSearchTool } from '../tools/web/duck-duck-go.js';
|
|
@@ -29,6 +30,12 @@ export class AgentRuntime {
|
|
|
29
30
|
maxRetries: config.maxRetries ?? 3,
|
|
30
31
|
enableCache: config.enableCache ?? true, // Enable by default for cost savings
|
|
31
32
|
mcpToolSource: config.mcpToolSource,
|
|
33
|
+
skillProvider: config.skillProvider,
|
|
34
|
+
thinkingLevel: config.thinkingLevel,
|
|
35
|
+
modelTier: config.modelTier,
|
|
36
|
+
model: config.model,
|
|
37
|
+
approvalCallback: config.approvalCallback,
|
|
38
|
+
alwaysRequireApproval: config.alwaysRequireApproval,
|
|
32
39
|
};
|
|
33
40
|
// Register cleanup handler
|
|
34
41
|
registerCleanupHandler(`ai-runtime-${Date.now()}`, () => this.cleanup(), 'Cleanup AI agent runtime tasks', 80);
|
|
@@ -58,6 +65,8 @@ export class AgentRuntime {
|
|
|
58
65
|
const toolResults = [];
|
|
59
66
|
const deduplicator = new ToolCallDeduplicator();
|
|
60
67
|
let iterations = 0;
|
|
68
|
+
let totalTokens = 0;
|
|
69
|
+
let totalCostUsd = 0;
|
|
61
70
|
// Merge MCP-discovered tools (from healthy servers) into the agent's tool set
|
|
62
71
|
const mcpTools = this.config.mcpToolSource ? discoverMCPTools(this.config.mcpToolSource) : [];
|
|
63
72
|
// Swap in a custom WebSearchProvider if the agent config specifies one (P4-3)
|
|
@@ -99,6 +108,8 @@ export class AgentRuntime {
|
|
|
99
108
|
toolResults,
|
|
100
109
|
metadata: {
|
|
101
110
|
executionTime: Date.now() - startTime,
|
|
111
|
+
tokensUsed: totalTokens,
|
|
112
|
+
cost: totalCostUsd,
|
|
102
113
|
},
|
|
103
114
|
};
|
|
104
115
|
}
|
|
@@ -119,6 +130,17 @@ export class AgentRuntime {
|
|
|
119
130
|
enableCache: this.config.enableCache,
|
|
120
131
|
thinkingBudget,
|
|
121
132
|
});
|
|
133
|
+
// Accumulate token usage and cost
|
|
134
|
+
const iterationTokens = response.usage?.totalTokens ?? 0;
|
|
135
|
+
totalTokens += iterationTokens;
|
|
136
|
+
const model = this.config.model;
|
|
137
|
+
if (model && iterationTokens > 0) {
|
|
138
|
+
const inputTokens = response.usage?.promptTokens ?? Math.floor(iterationTokens * 0.7);
|
|
139
|
+
const outputTokens = response.usage?.completionTokens ?? iterationTokens - inputTokens;
|
|
140
|
+
totalCostUsd +=
|
|
141
|
+
estimateCost(inputTokens, model, 'input').estimatedCostUsd +
|
|
142
|
+
estimateCost(outputTokens, model, 'output').estimatedCostUsd;
|
|
143
|
+
}
|
|
122
144
|
// Add assistant response to messages
|
|
123
145
|
messages.push({
|
|
124
146
|
role: 'assistant',
|
|
@@ -133,7 +155,8 @@ export class AgentRuntime {
|
|
|
133
155
|
toolResults,
|
|
134
156
|
metadata: {
|
|
135
157
|
executionTime: Date.now() - startTime,
|
|
136
|
-
tokensUsed:
|
|
158
|
+
tokensUsed: totalTokens,
|
|
159
|
+
cost: totalCostUsd,
|
|
137
160
|
},
|
|
138
161
|
};
|
|
139
162
|
}
|
|
@@ -149,6 +172,45 @@ export class AgentRuntime {
|
|
|
149
172
|
}
|
|
150
173
|
try {
|
|
151
174
|
const params = JSON.parse(toolCall.function.arguments);
|
|
175
|
+
// Check if this tool requires human approval
|
|
176
|
+
const needsApproval = tool.requiresApproval || this.config.alwaysRequireApproval?.includes(tool.name);
|
|
177
|
+
if (needsApproval) {
|
|
178
|
+
if (!this.config.approvalCallback) {
|
|
179
|
+
// No approval callback — deny by default
|
|
180
|
+
const denied = {
|
|
181
|
+
success: false,
|
|
182
|
+
error: `Tool "${tool.label ?? tool.name}" requires human approval but no approval handler is configured.`,
|
|
183
|
+
};
|
|
184
|
+
toolResults.push(denied);
|
|
185
|
+
messages.push({
|
|
186
|
+
role: 'tool',
|
|
187
|
+
content: denied.error ?? '',
|
|
188
|
+
toolCallId: toolCall.id,
|
|
189
|
+
});
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
const approval = await this.config.approvalCallback({
|
|
193
|
+
toolName: tool.name,
|
|
194
|
+
toolLabel: tool.label,
|
|
195
|
+
params,
|
|
196
|
+
description: `${tool.label ?? tool.name}: ${tool.description}`,
|
|
197
|
+
});
|
|
198
|
+
if (!approval.approved) {
|
|
199
|
+
const denied = {
|
|
200
|
+
success: false,
|
|
201
|
+
error: approval.reason
|
|
202
|
+
? `Tool "${tool.label ?? tool.name}" denied: ${approval.reason}`
|
|
203
|
+
: `Tool "${tool.label ?? tool.name}" was denied by the user.`,
|
|
204
|
+
};
|
|
205
|
+
toolResults.push(denied);
|
|
206
|
+
messages.push({
|
|
207
|
+
role: 'tool',
|
|
208
|
+
content: denied.error ?? '',
|
|
209
|
+
toolCallId: toolCall.id,
|
|
210
|
+
});
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
152
214
|
// Return cached result for duplicate tool calls within this run
|
|
153
215
|
const cached = deduplicator.isDuplicate(tool.name, params)
|
|
154
216
|
? deduplicator.getResult(tool.name, params)
|
|
@@ -180,6 +242,8 @@ export class AgentRuntime {
|
|
|
180
242
|
toolResults,
|
|
181
243
|
metadata: {
|
|
182
244
|
executionTime: Date.now() - startTime,
|
|
245
|
+
tokensUsed: totalTokens,
|
|
246
|
+
cost: totalCostUsd,
|
|
183
247
|
},
|
|
184
248
|
};
|
|
185
249
|
}
|
|
@@ -190,6 +254,8 @@ export class AgentRuntime {
|
|
|
190
254
|
toolResults,
|
|
191
255
|
metadata: {
|
|
192
256
|
executionTime: Date.now() - startTime,
|
|
257
|
+
tokensUsed: totalTokens,
|
|
258
|
+
cost: totalCostUsd,
|
|
193
259
|
},
|
|
194
260
|
};
|
|
195
261
|
}
|