agents-library 0.1.0 → 0.1.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/README.md +178 -0
- package/dist/base-agent.d.ts +10 -8
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +30 -26
- package/dist/base-agent.js.map +1 -1
- package/dist/base-bot.d.ts +0 -0
- package/dist/base-bot.d.ts.map +0 -0
- package/dist/base-bot.js +5 -5
- package/dist/base-bot.js.map +1 -1
- package/dist/common/result.d.ts +0 -0
- package/dist/common/result.d.ts.map +0 -0
- package/dist/common/result.js +0 -0
- package/dist/common/result.js.map +0 -0
- package/dist/common/types.d.ts +0 -0
- package/dist/common/types.d.ts.map +0 -0
- package/dist/common/types.js +0 -0
- package/dist/common/types.js.map +0 -0
- package/dist/index.d.ts +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/kadi-event-publisher.d.ts +0 -0
- package/dist/kadi-event-publisher.d.ts.map +0 -0
- package/dist/kadi-event-publisher.js +1 -1
- package/dist/kadi-event-publisher.js.map +1 -1
- package/dist/memory/arcadedb-adapter.d.ts +8 -0
- package/dist/memory/arcadedb-adapter.d.ts.map +1 -1
- package/dist/memory/arcadedb-adapter.js +8 -0
- package/dist/memory/arcadedb-adapter.js.map +1 -1
- package/dist/memory/entity-extractor.d.ts +110 -0
- package/dist/memory/entity-extractor.d.ts.map +1 -0
- package/dist/memory/entity-extractor.js +259 -0
- package/dist/memory/entity-extractor.js.map +1 -0
- package/dist/memory/file-storage-adapter.d.ts +0 -0
- package/dist/memory/file-storage-adapter.d.ts.map +0 -0
- package/dist/memory/file-storage-adapter.js +0 -0
- package/dist/memory/file-storage-adapter.js.map +0 -0
- package/dist/memory/memory-service.d.ts +123 -13
- package/dist/memory/memory-service.d.ts.map +1 -1
- package/dist/memory/memory-service.js +428 -72
- package/dist/memory/memory-service.js.map +1 -1
- package/dist/memory/types.d.ts +0 -0
- package/dist/memory/types.d.ts.map +0 -0
- package/dist/memory/types.js +0 -0
- package/dist/memory/types.js.map +0 -0
- package/dist/producer-tool-utils.d.ts +0 -0
- package/dist/producer-tool-utils.d.ts.map +0 -0
- package/dist/producer-tool-utils.js +16 -16
- package/dist/producer-tool-utils.js.map +1 -1
- package/dist/providers/anthropic-provider.d.ts +0 -0
- package/dist/providers/anthropic-provider.d.ts.map +0 -0
- package/dist/providers/anthropic-provider.js +0 -0
- package/dist/providers/anthropic-provider.js.map +0 -0
- package/dist/providers/model-manager-provider.d.ts +0 -0
- package/dist/providers/model-manager-provider.d.ts.map +0 -0
- package/dist/providers/model-manager-provider.js +0 -0
- package/dist/providers/model-manager-provider.js.map +0 -0
- package/dist/providers/provider-manager.d.ts +0 -0
- package/dist/providers/provider-manager.d.ts.map +1 -1
- package/dist/providers/provider-manager.js +6 -2
- package/dist/providers/provider-manager.js.map +1 -1
- package/dist/providers/types.d.ts +0 -0
- package/dist/providers/types.d.ts.map +0 -0
- package/dist/providers/types.js +0 -0
- package/dist/providers/types.js.map +0 -0
- package/dist/shadow-agent-factory.d.ts +23 -97
- package/dist/shadow-agent-factory.d.ts.map +1 -1
- package/dist/shadow-agent-factory.js +116 -306
- package/dist/shadow-agent-factory.js.map +1 -1
- package/dist/types/agent-config.d.ts +62 -1
- package/dist/types/agent-config.d.ts.map +1 -1
- package/dist/types/agent-config.js +0 -0
- package/dist/types/agent-config.js.map +0 -0
- package/dist/types/event-schemas.d.ts +194 -0
- package/dist/types/event-schemas.d.ts.map +1 -1
- package/dist/types/event-schemas.js +77 -2
- package/dist/types/event-schemas.js.map +1 -1
- package/dist/types/tool-schemas.d.ts +0 -0
- package/dist/types/tool-schemas.d.ts.map +0 -0
- package/dist/types/tool-schemas.js +0 -0
- package/dist/types/tool-schemas.js.map +0 -0
- package/dist/utils/config.d.ts +48 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +163 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/logger.d.ts +11 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +26 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/path-utils.d.ts +22 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +51 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/utils/read-config.d.ts +43 -0
- package/dist/utils/read-config.d.ts.map +1 -0
- package/dist/utils/read-config.js +97 -0
- package/dist/utils/read-config.js.map +1 -0
- package/dist/utils/timer.d.ts +0 -0
- package/dist/utils/timer.d.ts.map +0 -0
- package/dist/utils/timer.js +0 -0
- package/dist/utils/timer.js.map +0 -0
- package/dist/utils/vault.d.ts +29 -0
- package/dist/utils/vault.d.ts.map +1 -0
- package/dist/utils/vault.js +79 -0
- package/dist/utils/vault.js.map +1 -0
- package/dist/worker-agent-factory.d.ts +37 -38
- package/dist/worker-agent-factory.d.ts.map +1 -1
- package/dist/worker-agent-factory.js +355 -212
- package/dist/worker-agent-factory.js.map +1 -1
- package/package.json +5 -3
package/dist/index.js
CHANGED
|
@@ -76,15 +76,19 @@
|
|
|
76
76
|
export { BaseBot } from './base-bot.js';
|
|
77
77
|
export { BaseAgent } from './base-agent.js';
|
|
78
78
|
export { KadiEventPublisher, validateTopicPattern } from './kadi-event-publisher.js';
|
|
79
|
-
export { logger, MODULE_AGENT, MODULE_SLACK_BOT, MODULE_DISCORD_BOT, MODULE_TASK_HANDLER, MODULE_TOOLS } from './utils/logger.js';
|
|
79
|
+
export { logger, setLogLevel, setAgentTag, MODULE_AGENT, MODULE_SLACK_BOT, MODULE_DISCORD_BOT, MODULE_TASK_HANDLER, MODULE_TOOLS } from './utils/logger.js';
|
|
80
80
|
export { timer } from './utils/timer.js';
|
|
81
|
+
export { isWsl, toNativePath } from './utils/path-utils.js';
|
|
82
|
+
export { loadVaultCredentials, loadModelManagerCredentials } from './utils/vault.js';
|
|
83
|
+
export { loadConfig, registerConfigMapping } from './utils/config.js';
|
|
84
|
+
export { Config, readConfig, readConfigFile } from './utils/read-config.js';
|
|
81
85
|
export { invokeShrimTool, isToolSuccess, isToolFailure, orchestrateWithClaude, publishToolEvent } from './producer-tool-utils.js';
|
|
82
86
|
// ============================================================================
|
|
83
87
|
// Factories
|
|
84
88
|
// ============================================================================
|
|
85
89
|
export { BaseWorkerAgent, WorkerAgentFactory, createWorkerAgent } from './worker-agent-factory.js';
|
|
86
90
|
export { BaseShadowAgent, ShadowAgentFactory, ShadowAgentConfigSchema, createShadowAgent } from './shadow-agent-factory.js';
|
|
87
|
-
export { TaskAssignedEventSchema, TaskCompletedEventSchema, TaskFailedEventSchema, TaskRejectedEventSchema, BackupEventSchema, isTaskAssignedEvent, isTaskCompletedEvent, isTaskFailedEvent, isTaskRejectedEvent, isBackupEvent, parseTaskAssignedEvent, parseTaskCompletedEvent, parseTaskFailedEvent, parseTaskRejectedEvent, parseBackupEvent } from './types/event-schemas.js';
|
|
91
|
+
export { KadiEventSchema, QuestApprovedPayloadSchema, QuestRevisionRequestedPayloadSchema, QuestRejectedPayloadSchema, QuestTasksReadyPayloadSchema, QuestPrCreatedPayloadSchema, QuestMergedPayloadSchema, QuestPrRejectedPayloadSchema, QuestCompletedPayloadSchema, TaskReviewRequestedPayloadSchema, TaskRevisionNeededPayloadSchema, TaskValidatedPayloadSchema, TaskVerifiedPayloadSchema, PrChangesRequestedPayloadSchema, TaskAssignedEventSchema, TaskCompletedEventSchema, TaskFailedEventSchema, TaskRejectedEventSchema, BackupEventSchema, isTaskAssignedEvent, isTaskCompletedEvent, isTaskFailedEvent, isTaskRejectedEvent, isBackupEvent, parseTaskAssignedEvent, parseTaskCompletedEvent, parseTaskFailedEvent, parseTaskRejectedEvent, parseBackupEvent } from './types/event-schemas.js';
|
|
88
92
|
export { ErrorType, ToolInvocationSuccessSchema, ToolInvocationFailureSchema, ToolInvocationResultSchema, ToolInvocationParamsSchema, isToolInvocationSuccess, isToolInvocationFailure, classifyToolError } from './types/tool-schemas.js';
|
|
89
93
|
// ============================================================================
|
|
90
94
|
// Providers
|
|
@@ -96,7 +100,7 @@ export * from './providers/types.js';
|
|
|
96
100
|
// ============================================================================
|
|
97
101
|
// Memory Services
|
|
98
102
|
// ============================================================================
|
|
99
|
-
export { MemoryService } from './memory/memory-service.js';
|
|
103
|
+
export { MemoryService, formatMemoryContext } from './memory/memory-service.js';
|
|
100
104
|
export { FileStorageAdapter } from './memory/file-storage-adapter.js';
|
|
101
105
|
export { ArcadeDBAdapter, ArcadeDBClient } from './memory/arcadedb-adapter.js';
|
|
102
106
|
export { MemoryErrorType } from './memory/types.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAEH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
@@ -86,7 +86,7 @@ export class KadiEventPublisher {
|
|
|
86
86
|
this.enabled = true;
|
|
87
87
|
}
|
|
88
88
|
else {
|
|
89
|
-
console.log('
|
|
89
|
+
console.log('KĀDI broker URL not configured - running in stub mode');
|
|
90
90
|
console.log(' Set KADI_BROKER_URL to enable event publishing');
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kadi-event-publisher.js","sourceRoot":"","sources":["../src/kadi-event-publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,4CAA4C;IAC5C,2DAA2D;IAC3D,oFAAoF;IACpF,8EAA8E;IAC9E,MAAM,OAAO,GAAG,mCAAmC,CAAC;IACpD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAmBD;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IACrB,MAAM,GAAsB,IAAI,CAAC;IACjC,OAAO,GAAY,KAAK,CAAC;IACzB,MAAM,CAA4B;IAE1C;;;;;;;;;;;;;OAaG;IACH,YAAY,MAAuB;QACjC,mCAAmC;QACnC,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;SACnC,CAAC;QAEF,qDAAqD;QACrD,MAAM,iBAAiB,GACrB,MAAM,CAAC,SAAS;YAChB,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;gBACnC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3C,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"kadi-event-publisher.js","sourceRoot":"","sources":["../src/kadi-event-publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,10 @@ export interface ArcadeDBClientConfig {
|
|
|
22
22
|
*
|
|
23
23
|
* Low-level HTTP client for ArcadeDB REST API
|
|
24
24
|
* Handles connection, authentication, and query execution
|
|
25
|
+
*
|
|
26
|
+
* @deprecated Use KĀDI memory tools (memory-store, memory-recall, memory-relate) via
|
|
27
|
+
* KadiClient.invokeRemote() instead. MemoryService no longer uses this adapter directly.
|
|
28
|
+
* Kept for backward compatibility with external consumers.
|
|
25
29
|
*/
|
|
26
30
|
export declare class ArcadeDBClient {
|
|
27
31
|
private readonly config;
|
|
@@ -93,6 +97,10 @@ export interface VertexResult {
|
|
|
93
97
|
*
|
|
94
98
|
* High-level adapter for graph database operations
|
|
95
99
|
* Provides vertex/edge operations using Cypher queries
|
|
100
|
+
*
|
|
101
|
+
* @deprecated Use KĀDI memory tools (memory-store, memory-recall, memory-relate) via
|
|
102
|
+
* KadiClient.invokeRemote() instead. MemoryService no longer uses this adapter directly.
|
|
103
|
+
* Kept for backward compatibility with external consumers.
|
|
96
104
|
*/
|
|
97
105
|
export declare class ArcadeDBAdapter {
|
|
98
106
|
private readonly dbUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arcadedb-adapter.d.ts","sourceRoot":"","sources":["../../src/memory/arcadedb-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"arcadedb-adapter.d.ts","sourceRoot":"","sources":["../../src/memory/arcadedb-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,10 @@ import { DatabaseErrorType } from '../common/types.js';
|
|
|
11
11
|
*
|
|
12
12
|
* Low-level HTTP client for ArcadeDB REST API
|
|
13
13
|
* Handles connection, authentication, and query execution
|
|
14
|
+
*
|
|
15
|
+
* @deprecated Use KĀDI memory tools (memory-store, memory-recall, memory-relate) via
|
|
16
|
+
* KadiClient.invokeRemote() instead. MemoryService no longer uses this adapter directly.
|
|
17
|
+
* Kept for backward compatibility with external consumers.
|
|
14
18
|
*/
|
|
15
19
|
export class ArcadeDBClient {
|
|
16
20
|
config;
|
|
@@ -152,6 +156,10 @@ export class ArcadeDBClient {
|
|
|
152
156
|
*
|
|
153
157
|
* High-level adapter for graph database operations
|
|
154
158
|
* Provides vertex/edge operations using Cypher queries
|
|
159
|
+
*
|
|
160
|
+
* @deprecated Use KĀDI memory tools (memory-store, memory-recall, memory-relate) via
|
|
161
|
+
* KadiClient.invokeRemote() instead. MemoryService no longer uses this adapter directly.
|
|
162
|
+
* Kept for backward compatibility with external consumers.
|
|
155
163
|
*/
|
|
156
164
|
export class ArcadeDBAdapter {
|
|
157
165
|
dbUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arcadedb-adapter.js","sourceRoot":"","sources":["../../src/memory/arcadedb-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAsBvD
|
|
1
|
+
{"version":3,"file":"arcadedb-adapter.js","sourceRoot":"","sources":["../../src/memory/arcadedb-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entity Extractor — LLM-based Entity Extraction for Task Memories
|
|
3
|
+
*
|
|
4
|
+
* Identifies topics, tools, patterns, and technologies from task context
|
|
5
|
+
* and outcomes using LLM-based extraction. Generates embedding vectors
|
|
6
|
+
* for semantic search.
|
|
7
|
+
*
|
|
8
|
+
* Design:
|
|
9
|
+
* - Uses ProviderManager for LLM calls (consistent with codebase)
|
|
10
|
+
* - Graceful degradation: returns empty results on LLM failure
|
|
11
|
+
* - Token-efficient: focused extraction prompt, JSON output
|
|
12
|
+
*/
|
|
13
|
+
import type { Result } from '../common/result.js';
|
|
14
|
+
import type { ProviderManager } from '../providers/provider-manager.js';
|
|
15
|
+
import type { ExtractedEntity } from './memory-service.js';
|
|
16
|
+
/**
|
|
17
|
+
* Entity extraction input context
|
|
18
|
+
*/
|
|
19
|
+
export interface ExtractionContext {
|
|
20
|
+
taskId: string;
|
|
21
|
+
taskType: string;
|
|
22
|
+
description: string;
|
|
23
|
+
context: string;
|
|
24
|
+
result: string;
|
|
25
|
+
outcome: 'success' | 'failure';
|
|
26
|
+
agentRole: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Entity extraction result with optional embeddings
|
|
30
|
+
*/
|
|
31
|
+
export interface ExtractionResult {
|
|
32
|
+
entities: ExtractedEntity[];
|
|
33
|
+
embedding: number[] | null;
|
|
34
|
+
summary: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Entity extraction error
|
|
38
|
+
*/
|
|
39
|
+
export interface ExtractionError {
|
|
40
|
+
type: 'LLM_ERROR' | 'PARSE_ERROR' | 'VALIDATION_ERROR';
|
|
41
|
+
message: string;
|
|
42
|
+
originalError?: unknown;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Entity Extractor
|
|
46
|
+
*
|
|
47
|
+
* Extracts structured entities and generates embeddings from task memories
|
|
48
|
+
* using LLM-based analysis via ProviderManager.
|
|
49
|
+
*/
|
|
50
|
+
export declare class EntityExtractor {
|
|
51
|
+
private readonly providerManager;
|
|
52
|
+
constructor(providerManager: ProviderManager);
|
|
53
|
+
/**
|
|
54
|
+
* Extract entities from a task context
|
|
55
|
+
*
|
|
56
|
+
* Calls LLM to identify topics, tools, patterns, and technologies.
|
|
57
|
+
* Returns empty entities array on LLM failure (graceful degradation).
|
|
58
|
+
*
|
|
59
|
+
* @param context - Task context for extraction
|
|
60
|
+
* @returns Result with extraction result or error
|
|
61
|
+
*/
|
|
62
|
+
extractEntities(context: ExtractionContext): Promise<Result<ExtractionResult, ExtractionError>>;
|
|
63
|
+
/**
|
|
64
|
+
* Extract entities with graceful fallback
|
|
65
|
+
*
|
|
66
|
+
* Convenience method that always returns entities (empty on failure).
|
|
67
|
+
* Use this in fire-and-forget contexts where extraction errors should
|
|
68
|
+
* not propagate.
|
|
69
|
+
*
|
|
70
|
+
* @param context - Task context for extraction
|
|
71
|
+
* @returns Extracted entities (empty array on any failure)
|
|
72
|
+
*/
|
|
73
|
+
extractEntitiesOrEmpty(context: ExtractionContext): Promise<ExtractedEntity[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Build the user message for entity extraction
|
|
76
|
+
*/
|
|
77
|
+
private buildExtractionMessage;
|
|
78
|
+
/**
|
|
79
|
+
* Parse the LLM JSON response into entities and summary
|
|
80
|
+
*/
|
|
81
|
+
private parseExtractionResponse;
|
|
82
|
+
/**
|
|
83
|
+
* Generate a semantic embedding text for the task
|
|
84
|
+
*
|
|
85
|
+
* Uses LLM to create a dense text representation suitable for
|
|
86
|
+
* semantic search. Returns null on failure.
|
|
87
|
+
*
|
|
88
|
+
* Note: This generates embedding *text*, not vectors. The actual
|
|
89
|
+
* vector embedding can be generated by a dedicated embedding model
|
|
90
|
+
* (e.g., in ability-memory-search) using this text as input.
|
|
91
|
+
*
|
|
92
|
+
* @param context - Original task context
|
|
93
|
+
* @param entities - Extracted entities
|
|
94
|
+
* @param summary - Task summary
|
|
95
|
+
* @returns Numeric embedding or null on failure
|
|
96
|
+
*/
|
|
97
|
+
private generateEmbedding;
|
|
98
|
+
/**
|
|
99
|
+
* Convert text to a simple numeric embedding vector
|
|
100
|
+
*
|
|
101
|
+
* Uses character-level hashing to produce a fixed-size vector.
|
|
102
|
+
* This is a lightweight fallback — real embeddings should come from
|
|
103
|
+
* a dedicated embedding model (e.g., via ability-memory-search).
|
|
104
|
+
*
|
|
105
|
+
* @param text - Text to embed
|
|
106
|
+
* @returns Fixed-size numeric vector (128 dimensions)
|
|
107
|
+
*/
|
|
108
|
+
private textToEmbedding;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=entity-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../src/memory/entity-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,kBAAkB,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAsCD;;;;;GAKG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAE7D;;;;;;;;OAQG;IACG,eAAe,CACnB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAqDrD;;;;;;;;;OASG;IACG,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAUpF;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4C/B;;;;;;;;;;;;;;OAcG;YACW,iBAAiB;IAmC/B;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;CAyBxB"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entity Extractor — LLM-based Entity Extraction for Task Memories
|
|
3
|
+
*
|
|
4
|
+
* Identifies topics, tools, patterns, and technologies from task context
|
|
5
|
+
* and outcomes using LLM-based extraction. Generates embedding vectors
|
|
6
|
+
* for semantic search.
|
|
7
|
+
*
|
|
8
|
+
* Design:
|
|
9
|
+
* - Uses ProviderManager for LLM calls (consistent with codebase)
|
|
10
|
+
* - Graceful degradation: returns empty results on LLM failure
|
|
11
|
+
* - Token-efficient: focused extraction prompt, JSON output
|
|
12
|
+
*/
|
|
13
|
+
import { ok, err } from '../common/result.js';
|
|
14
|
+
/**
|
|
15
|
+
* System prompt for entity extraction — kept focused and token-efficient
|
|
16
|
+
*/
|
|
17
|
+
const EXTRACTION_PROMPT = `You are an entity extractor for an AI agent memory system.
|
|
18
|
+
Given a task context and outcome, extract structured entities.
|
|
19
|
+
|
|
20
|
+
Return ONLY valid JSON (no markdown, no explanation) in this format:
|
|
21
|
+
{
|
|
22
|
+
"entities": [
|
|
23
|
+
{"name": "entity name", "type": "topic|tool|pattern|technology|agent|error", "confidence": 0.0-1.0}
|
|
24
|
+
],
|
|
25
|
+
"summary": "One sentence summary of the task and its outcome"
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Entity types:
|
|
29
|
+
- topic: Domain concepts, features, or areas (e.g., "authentication", "file upload")
|
|
30
|
+
- tool: Specific tools, APIs, or commands used (e.g., "git worktree", "file_read")
|
|
31
|
+
- pattern: Design patterns, approaches, or strategies (e.g., "retry with backoff", "event-driven")
|
|
32
|
+
- technology: Languages, frameworks, or libraries (e.g., "TypeScript", "ArcadeDB")
|
|
33
|
+
- agent: Agent names or roles involved (e.g., "agent-worker", "programmer")
|
|
34
|
+
- error: Error types or failure modes encountered (e.g., "timeout", "permission denied")
|
|
35
|
+
|
|
36
|
+
Rules:
|
|
37
|
+
- Extract 3-10 entities per task (more for complex tasks)
|
|
38
|
+
- Set confidence based on how explicitly the entity appears (1.0 = explicitly named, 0.5 = implied)
|
|
39
|
+
- Include the outcome context (what worked or failed)
|
|
40
|
+
- Keep entity names lowercase and concise`;
|
|
41
|
+
/**
|
|
42
|
+
* System prompt for generating embedding text
|
|
43
|
+
*/
|
|
44
|
+
const EMBEDDING_PROMPT = `You are generating a semantic search key for an AI agent memory system.
|
|
45
|
+
Given a task description and extracted entities, produce a dense text representation
|
|
46
|
+
suitable for semantic matching. Return ONLY the text (no JSON, no explanation).
|
|
47
|
+
Keep it under 200 words. Include: task type, key entities, outcome, and lessons learned.`;
|
|
48
|
+
/**
|
|
49
|
+
* Entity Extractor
|
|
50
|
+
*
|
|
51
|
+
* Extracts structured entities and generates embeddings from task memories
|
|
52
|
+
* using LLM-based analysis via ProviderManager.
|
|
53
|
+
*/
|
|
54
|
+
export class EntityExtractor {
|
|
55
|
+
providerManager;
|
|
56
|
+
constructor(providerManager) {
|
|
57
|
+
this.providerManager = providerManager;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Extract entities from a task context
|
|
61
|
+
*
|
|
62
|
+
* Calls LLM to identify topics, tools, patterns, and technologies.
|
|
63
|
+
* Returns empty entities array on LLM failure (graceful degradation).
|
|
64
|
+
*
|
|
65
|
+
* @param context - Task context for extraction
|
|
66
|
+
* @returns Result with extraction result or error
|
|
67
|
+
*/
|
|
68
|
+
async extractEntities(context) {
|
|
69
|
+
// Build the user message with task context
|
|
70
|
+
const userMessage = this.buildExtractionMessage(context);
|
|
71
|
+
// Call LLM for entity extraction
|
|
72
|
+
const llmResult = await this.providerManager.chat([{ role: 'user', content: userMessage }], {
|
|
73
|
+
system: EXTRACTION_PROMPT,
|
|
74
|
+
maxTokens: 1024,
|
|
75
|
+
temperature: 0.1, // Low temperature for structured output
|
|
76
|
+
});
|
|
77
|
+
if (!llmResult.success) {
|
|
78
|
+
console.warn(`[EntityExtractor] LLM extraction failed for task ${context.taskId}: ${llmResult.error.message}`);
|
|
79
|
+
// Graceful degradation: return empty entities
|
|
80
|
+
return ok({
|
|
81
|
+
entities: [],
|
|
82
|
+
embedding: null,
|
|
83
|
+
summary: `${context.outcome}: ${context.description}`,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// Parse the JSON response
|
|
87
|
+
const parseResult = this.parseExtractionResponse(llmResult.data);
|
|
88
|
+
if (!parseResult.success) {
|
|
89
|
+
console.warn(`[EntityExtractor] Failed to parse LLM response for task ${context.taskId}: ${parseResult.error.message}`);
|
|
90
|
+
// Graceful degradation: return empty entities
|
|
91
|
+
return ok({
|
|
92
|
+
entities: [],
|
|
93
|
+
embedding: null,
|
|
94
|
+
summary: `${context.outcome}: ${context.description}`,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
const { entities, summary } = parseResult.data;
|
|
98
|
+
// Generate embedding text (non-blocking, optional)
|
|
99
|
+
const embedding = await this.generateEmbedding(context, entities, summary);
|
|
100
|
+
return ok({
|
|
101
|
+
entities,
|
|
102
|
+
embedding,
|
|
103
|
+
summary,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Extract entities with graceful fallback
|
|
108
|
+
*
|
|
109
|
+
* Convenience method that always returns entities (empty on failure).
|
|
110
|
+
* Use this in fire-and-forget contexts where extraction errors should
|
|
111
|
+
* not propagate.
|
|
112
|
+
*
|
|
113
|
+
* @param context - Task context for extraction
|
|
114
|
+
* @returns Extracted entities (empty array on any failure)
|
|
115
|
+
*/
|
|
116
|
+
async extractEntitiesOrEmpty(context) {
|
|
117
|
+
const result = await this.extractEntities(context);
|
|
118
|
+
if (!result.success) {
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
return result.data.entities;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Build the user message for entity extraction
|
|
125
|
+
*/
|
|
126
|
+
buildExtractionMessage(context) {
|
|
127
|
+
const parts = [
|
|
128
|
+
`Task ID: ${context.taskId}`,
|
|
129
|
+
`Task Type: ${context.taskType}`,
|
|
130
|
+
`Agent Role: ${context.agentRole}`,
|
|
131
|
+
`Outcome: ${context.outcome}`,
|
|
132
|
+
`Description: ${context.description}`,
|
|
133
|
+
];
|
|
134
|
+
if (context.context) {
|
|
135
|
+
// Truncate context to keep token usage manageable
|
|
136
|
+
const truncated = context.context.length > 2000
|
|
137
|
+
? context.context.slice(0, 2000) + '...[truncated]'
|
|
138
|
+
: context.context;
|
|
139
|
+
parts.push(`Context: ${truncated}`);
|
|
140
|
+
}
|
|
141
|
+
if (context.result) {
|
|
142
|
+
const truncated = context.result.length > 1000
|
|
143
|
+
? context.result.slice(0, 1000) + '...[truncated]'
|
|
144
|
+
: context.result;
|
|
145
|
+
parts.push(`Result: ${truncated}`);
|
|
146
|
+
}
|
|
147
|
+
return parts.join('\n');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Parse the LLM JSON response into entities and summary
|
|
151
|
+
*/
|
|
152
|
+
parseExtractionResponse(response) {
|
|
153
|
+
try {
|
|
154
|
+
// Strip markdown code fences if present
|
|
155
|
+
let cleaned = response.trim();
|
|
156
|
+
if (cleaned.startsWith('```')) {
|
|
157
|
+
cleaned = cleaned.replace(/^```(?:json)?\n?/, '').replace(/\n?```$/, '');
|
|
158
|
+
}
|
|
159
|
+
const parsed = JSON.parse(cleaned);
|
|
160
|
+
// Validate structure
|
|
161
|
+
if (!parsed.entities || !Array.isArray(parsed.entities)) {
|
|
162
|
+
return err({
|
|
163
|
+
type: 'PARSE_ERROR',
|
|
164
|
+
message: 'Response missing "entities" array',
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
// Validate and normalize entities
|
|
168
|
+
const validTypes = new Set(['topic', 'tool', 'pattern', 'technology', 'agent', 'error']);
|
|
169
|
+
const entities = parsed.entities
|
|
170
|
+
.filter((e) => e.name && e.type && validTypes.has(e.type))
|
|
171
|
+
.map((e) => ({
|
|
172
|
+
name: String(e.name).toLowerCase().trim(),
|
|
173
|
+
type: e.type,
|
|
174
|
+
confidence: Math.max(0, Math.min(1, Number(e.confidence) || 0.5)),
|
|
175
|
+
}));
|
|
176
|
+
const summary = parsed.summary
|
|
177
|
+
? String(parsed.summary)
|
|
178
|
+
: 'No summary provided';
|
|
179
|
+
return ok({ entities, summary });
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
return err({
|
|
183
|
+
type: 'PARSE_ERROR',
|
|
184
|
+
message: `JSON parse failed: ${error.message}`,
|
|
185
|
+
originalError: error,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Generate a semantic embedding text for the task
|
|
191
|
+
*
|
|
192
|
+
* Uses LLM to create a dense text representation suitable for
|
|
193
|
+
* semantic search. Returns null on failure.
|
|
194
|
+
*
|
|
195
|
+
* Note: This generates embedding *text*, not vectors. The actual
|
|
196
|
+
* vector embedding can be generated by a dedicated embedding model
|
|
197
|
+
* (e.g., in ability-memory-search) using this text as input.
|
|
198
|
+
*
|
|
199
|
+
* @param context - Original task context
|
|
200
|
+
* @param entities - Extracted entities
|
|
201
|
+
* @param summary - Task summary
|
|
202
|
+
* @returns Numeric embedding or null on failure
|
|
203
|
+
*/
|
|
204
|
+
async generateEmbedding(context, entities, summary) {
|
|
205
|
+
// Generate embedding text via LLM
|
|
206
|
+
const entityNames = entities.map(e => `${e.type}:${e.name}`).join(', ');
|
|
207
|
+
const userMessage = [
|
|
208
|
+
`Task Type: ${context.taskType}`,
|
|
209
|
+
`Summary: ${summary}`,
|
|
210
|
+
`Entities: ${entityNames}`,
|
|
211
|
+
`Outcome: ${context.outcome}`,
|
|
212
|
+
].join('\n');
|
|
213
|
+
const llmResult = await this.providerManager.chat([{ role: 'user', content: userMessage }], {
|
|
214
|
+
system: EMBEDDING_PROMPT,
|
|
215
|
+
maxTokens: 512,
|
|
216
|
+
temperature: 0.0,
|
|
217
|
+
});
|
|
218
|
+
if (!llmResult.success) {
|
|
219
|
+
console.warn(`[EntityExtractor] Embedding generation failed for task ${context.taskId}: ${llmResult.error.message}`);
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
// Convert text to simple hash-based embedding vector
|
|
223
|
+
// This provides basic semantic grouping until a dedicated embedding model is available
|
|
224
|
+
return this.textToEmbedding(llmResult.data);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Convert text to a simple numeric embedding vector
|
|
228
|
+
*
|
|
229
|
+
* Uses character-level hashing to produce a fixed-size vector.
|
|
230
|
+
* This is a lightweight fallback — real embeddings should come from
|
|
231
|
+
* a dedicated embedding model (e.g., via ability-memory-search).
|
|
232
|
+
*
|
|
233
|
+
* @param text - Text to embed
|
|
234
|
+
* @returns Fixed-size numeric vector (128 dimensions)
|
|
235
|
+
*/
|
|
236
|
+
textToEmbedding(text) {
|
|
237
|
+
const dimensions = 128;
|
|
238
|
+
const embedding = new Array(dimensions).fill(0);
|
|
239
|
+
// Simple bag-of-words hashing into fixed dimensions
|
|
240
|
+
const words = text.toLowerCase().split(/\s+/);
|
|
241
|
+
for (const word of words) {
|
|
242
|
+
let hash = 0;
|
|
243
|
+
for (let i = 0; i < word.length; i++) {
|
|
244
|
+
hash = ((hash << 5) - hash + word.charCodeAt(i)) | 0;
|
|
245
|
+
}
|
|
246
|
+
const index = Math.abs(hash) % dimensions;
|
|
247
|
+
embedding[index] += 1;
|
|
248
|
+
}
|
|
249
|
+
// Normalize to unit vector
|
|
250
|
+
const magnitude = Math.sqrt(embedding.reduce((sum, v) => sum + v * v, 0));
|
|
251
|
+
if (magnitude > 0) {
|
|
252
|
+
for (let i = 0; i < dimensions; i++) {
|
|
253
|
+
embedding[i] /= magnitude;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return embedding;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=entity-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../../src/memory/entity-extractor.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|