@memberjunction/ai-agents 5.22.0 → 5.24.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/README.md CHANGED
@@ -78,6 +78,7 @@ The core execution engine that all agents use. Handles:
78
78
 
79
79
  - Hierarchical prompt execution (agent type's system prompt as parent, agent's prompts as children)
80
80
  - Action execution through the MJ Actions framework
81
+ - **Client tool invocation** for browser-side UI operations (navigate to records, switch tabs, show search results) via PubSub round-trip
81
82
  - Sub-agent orchestration with full context propagation
82
83
  - Conversation context management with automatic message compaction
83
84
  - Memory retrieval (notes and examples) with optional reranking
@@ -117,7 +118,8 @@ Abstract base that all agent types extend. Defines the `DetermineNextStep()` int
117
118
  | Step | Description |
118
119
  |---|---|
119
120
  | `Chat` | Send a message back to the user |
120
- | `Actions` | Execute one or more actions |
121
+ | `Actions` | Execute one or more server-side actions |
122
+ | `ClientTools` | Invoke browser-side tools (navigate, switch tabs, show results) |
121
123
  | `SubAgents` | Delegate to sub-agents |
122
124
  | `MoreInfo` | Ask the user for additional information |
123
125
  | `Retry` | Retry the current step (e.g., after validation failure) |
@@ -301,6 +303,7 @@ Detailed guides are available in the [`docs/`](./docs/) directory:
301
303
  | Guide | Description |
302
304
  |---|---|
303
305
  | [Actions Guide](./docs/actions-guide.md) | Action discovery, execution, result lifecycle, expiration/compaction, context recovery |
306
+ | [Client Tools Guide](./docs/CLIENT_TOOLS_GUIDE.md) | Browser-side tool invocation, runtime decoration, timeout config, prompt design, security |
304
307
  | [Sub-Agents Guide](./docs/sub-agents-guide.md) | Child agents, related agents, payload flow, context propagation, loops |
305
308
  | [Human-in-the-Loop](./docs/HUMAN_IN_THE_LOOP.md) | Feedback requests, assignment strategies, request lifecycle |
306
309
  | [Agent Memory Scoping](./docs/AGENT_MEMORY_SCOPING.md) | Multi-tenant memory (notes/examples) with UserScope support |
@@ -124,6 +124,42 @@ export declare class AgentRunner {
124
124
  * ```
125
125
  */
126
126
  GetMaxVersionForArtifact(artifactId: string, contextUser: UserInfo): Promise<number>;
127
+ /**
128
+ * Checks whether the serialized content for a new artifact version is identical to the
129
+ * latest existing version of the same artifact, using SHA-256 content hashing.
130
+ *
131
+ * When the content is unchanged, creating a new version adds noise without value.
132
+ * This method computes the hash of the candidate content and compares it against
133
+ * the `ContentHash` stored on the most recent version (populated by
134
+ * `MJArtifactVersionEntityServer.Save()`).
135
+ *
136
+ * @param artifactId - The artifact whose latest version to compare against
137
+ * @param candidateContent - The serialized (JSON-stringified) content that would become the new version
138
+ * @param latestVersionNumber - The version number of the current latest version
139
+ * @param contextUser - User context for the RunView query
140
+ * @returns The existing version's ID if content is identical, or `null` if a new version should be created
141
+ */
142
+ protected CheckForDuplicateVersion(artifactId: string, candidateContent: string, latestVersionNumber: number, contextUser: UserInfo): Promise<string | null>;
143
+ /**
144
+ * Creates a `ConversationDetailArtifact` junction record linking an artifact version
145
+ * to a conversation detail, then returns the standard artifact result tuple.
146
+ *
147
+ * Extracted as a helper so both the normal version-creation path and the
148
+ * duplicate-skip path can share the same linking and return logic.
149
+ *
150
+ * @param versionId - The artifact version ID to link
151
+ * @param conversationDetailId - The conversation detail to link to
152
+ * @param artifactId - The parent artifact ID (passed through to the return value)
153
+ * @param versionNumber - The version number (passed through to the return value)
154
+ * @param contextUser - User context for the save operation
155
+ * @param provider - Metadata provider for entity creation
156
+ * @returns The standard artifact result tuple
157
+ */
158
+ protected LinkArtifactToConversationDetail(versionId: string, conversationDetailId: string, artifactId: string, versionNumber: number, contextUser: UserInfo, provider: IMetadataProvider): Promise<{
159
+ artifactId: string;
160
+ versionId: string;
161
+ versionNumber: number;
162
+ }>;
127
163
  /**
128
164
  * Finds the most recent artifact for a conversation detail to determine versioning.
129
165
  * Queries the junction table to locate artifacts linked to a specific conversation message.
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * @author MemberJunction.com
10
10
  * @since 2.49.0
11
11
  */
12
+ import { createHash } from 'crypto';
12
13
  import { LogError, LogStatusEx, IsVerboseLoggingEnabled, LogStatus, Metadata, RunView } from '@memberjunction/core';
13
14
  import { MJGlobal, UUIDsEqual } from '@memberjunction/global';
14
15
  import { AIEngine } from '@memberjunction/aiengine';
@@ -130,18 +131,39 @@ export class AgentRunner {
130
131
  // If conversationDetailId is provided, use it (UI-created agent response detail)
131
132
  if (options.conversationDetailId) {
132
133
  agentResponseDetailId = options.conversationDetailId;
133
- // Load the conversation detail to get the conversation ID AND keep reference for final status update
134
- // This ensures backend can update Status/Message even if frontend disconnects (browser refresh)
135
- agentResponseDetail = await md.GetEntityObject('MJ: Conversation Details', contextUser);
136
- if (await agentResponseDetail.Load(agentResponseDetailId)) {
137
- conversationId = agentResponseDetail.ConversationID;
138
- LogStatus(`Using existing conversation ${conversationId} and agent response detail ${agentResponseDetailId}`);
139
- // Note: In this case, we don't know the user message detail ID
140
- userMessageDetailId = agentResponseDetailId; // For backward compatibility
134
+ // LATENCY OPTIMIZATION (Opt #2): When conversationId is pre-resolved by the caller
135
+ // (e.g., the resolver already loaded the ConversationDetail to build history), we
136
+ // skip the redundant DB load that was ONLY needed to extract ConversationID.
137
+ //
138
+ // We still must load the ConversationDetail entity object because it serves double
139
+ // duty: (a) progress callback updates its Message field during execution, and
140
+ // (b) step 5 sets the final Status/Message/ResponseForm after the agent completes.
141
+ // What we save here is the serial dependency: previously we had to wait for the
142
+ // Load to complete before we even knew conversationId. Now we know conversationId
143
+ // immediately and can resolve the entity object's load in parallel with other setup.
144
+ if (options.conversationId) {
145
+ conversationId = options.conversationId;
146
+ LogStatus(`Using pre-resolved conversation ${conversationId} and agent response detail ${agentResponseDetailId}`);
141
147
  }
142
148
  else {
143
- throw new Error(`Failed to load conversation detail ${agentResponseDetailId}`);
149
+ // Fallback for callers that don't provide conversationId (backward compatibility).
150
+ // This path still works but incurs the extra DB round-trip to extract conversationId.
151
+ const tempDetail = await md.GetEntityObject('MJ: Conversation Details', contextUser);
152
+ if (await tempDetail.Load(agentResponseDetailId)) {
153
+ conversationId = tempDetail.ConversationID;
154
+ LogStatus(`Using existing conversation ${conversationId} and agent response detail ${agentResponseDetailId}`);
155
+ }
156
+ else {
157
+ throw new Error(`Failed to load conversation detail ${agentResponseDetailId}`);
158
+ }
144
159
  }
160
+ // Load the entity object for progress updates and final status Save at step 5.
161
+ // This is needed regardless of whether conversationId was pre-resolved.
162
+ agentResponseDetail = await md.GetEntityObject('MJ: Conversation Details', contextUser);
163
+ if (!await agentResponseDetail.Load(agentResponseDetailId)) {
164
+ throw new Error(`Failed to load conversation detail entity for status updates: ${agentResponseDetailId}`);
165
+ }
166
+ userMessageDetailId = agentResponseDetailId; // For backward compatibility
145
167
  }
146
168
  else {
147
169
  // Server creates BOTH user message and agent response details
@@ -259,55 +281,83 @@ export class AgentRunner {
259
281
  const agentResult = await this.RunAgent(modifiedParams);
260
282
  // Mark execution as completed to stop progress saves
261
283
  agentExecutionCompleted = true;
262
- // Step 5: Update agent response detail with final result
263
- // ALWAYS update status - don't rely on frontend (browser may refresh during execution)
264
- if (agentResponseDetail && agentResponseDetailId) {
265
- // Wait for any in-flight progress save to complete
266
- // EnsureSaveComplete() resolves immediately if no save in progress
267
- await agentResponseDetail.EnsureSaveComplete();
268
- LogStatus('Updating agent response detail with final result');
269
- // Reload to get any updates from agent execution
270
- await agentResponseDetail.Load(agentResponseDetailId);
271
- agentResponseDetail.Message = agentResult.agentRun?.Message ||
272
- (agentResult.success
273
- ? '✅ Completed'
274
- : agentResult.agentRun?.ErrorMessage || '❌ Failed');
275
- agentResponseDetail.Status = agentResult.success ? 'Complete' : 'Error';
276
- // Set response form and command fields
277
- if (agentResult.responseForm) {
278
- agentResponseDetail.ResponseForm = JSON.stringify(agentResult.responseForm);
279
- }
280
- if (agentResult.actionableCommands && agentResult.actionableCommands.length > 0) {
281
- agentResponseDetail.ActionableCommands = JSON.stringify(agentResult.actionableCommands);
284
+ // LATENCY OPTIMIZATION (Opt #5): Steps 5, 6, and 7 are now parallelized.
285
+ //
286
+ // Previously these ran sequentially: save final status → process artifacts → save media.
287
+ // This added their individual latencies together (~130ms for steps 6+7, plus ~80ms for
288
+ // step 5's EnsureSaveComplete + Load + Save cycle).
289
+ //
290
+ // These operations are safe to parallelize because:
291
+ // - Step 5 (status update) writes to the ConversationDetail record (Status, Message fields)
292
+ // - Step 6 (artifacts) creates new Artifact/ArtifactVersion records and a junction record
293
+ // linking to the ConversationDetail — it only needs the agentResponseDetailId (string),
294
+ // not the entity object, and doesn't read/write the same fields as step 5
295
+ // - Step 7 (media) creates new AIAgentRunMedia and ConversationDetailAttachment records —
296
+ // entirely separate from steps 5 and 6
297
+ //
298
+ // IMPORTANT: All three MUST complete before the resolver publishes the 'complete' event,
299
+ // because the client reloads all conversation data from the DB when it receives that event.
300
+ // If any write hasn't flushed yet, the client would see stale data. Promise.all guarantees
301
+ // all three finish before we return.
302
+ // Step 5: Update agent response detail with final result (async)
303
+ const updateDetailPromise = (async () => {
304
+ if (agentResponseDetail && agentResponseDetailId) {
305
+ // Wait for any in-flight progress save to complete
306
+ // EnsureSaveComplete() resolves immediately if no save in progress
307
+ await agentResponseDetail.EnsureSaveComplete();
308
+ LogStatus('Updating agent response detail with final result');
309
+ // Reload to get any updates from agent execution
310
+ await agentResponseDetail.Load(agentResponseDetailId);
311
+ agentResponseDetail.Message = agentResult.agentRun?.Message ||
312
+ (agentResult.success
313
+ ? '✅ Completed'
314
+ : agentResult.agentRun?.ErrorMessage || '❌ Failed');
315
+ agentResponseDetail.Status = agentResult.success ? 'Complete' : 'Error';
316
+ // Set response form and command fields
317
+ if (agentResult.responseForm) {
318
+ agentResponseDetail.ResponseForm = JSON.stringify(agentResult.responseForm);
319
+ }
320
+ if (agentResult.actionableCommands && agentResult.actionableCommands.length > 0) {
321
+ agentResponseDetail.ActionableCommands = JSON.stringify(agentResult.actionableCommands);
322
+ }
323
+ if (agentResult.automaticCommands && agentResult.automaticCommands.length > 0) {
324
+ agentResponseDetail.AutomaticCommands = JSON.stringify(agentResult.automaticCommands);
325
+ }
326
+ await agentResponseDetail.Save();
327
+ LogStatus(`Updated agent response detail ${agentResponseDetailId} with final status: ${agentResponseDetail.Status}`);
282
328
  }
283
- if (agentResult.automaticCommands && agentResult.automaticCommands.length > 0) {
284
- agentResponseDetail.AutomaticCommands = JSON.stringify(agentResult.automaticCommands);
329
+ })();
330
+ // Step 6: Process artifacts if requested and agent succeeded (async)
331
+ const processArtifactsPromise = (async () => {
332
+ const shouldCreateArtifacts = options.createArtifacts !== false; // Default true
333
+ if (shouldCreateArtifacts && agentResult.success && agentResult.payload) {
334
+ return this.ProcessAgentArtifacts(agentResult, agentResponseDetailId, options.sourceArtifactId, contextUser, md);
285
335
  }
286
- await agentResponseDetail.Save();
287
- LogStatus(`Updated agent response detail ${agentResponseDetailId} with final status: ${agentResponseDetail.Status}`);
288
- }
289
- // Step 6: Process artifacts if requested and agent succeeded
290
- let artifactInfo;
291
- const shouldCreateArtifacts = options.createArtifacts !== false; // Default true
292
- if (shouldCreateArtifacts && agentResult.success && agentResult.payload) {
293
- // Artifacts link to agent response detail ID
294
- artifactInfo = await this.ProcessAgentArtifacts(agentResult, agentResponseDetailId, options.sourceArtifactId, contextUser, md);
295
- }
296
- // Step 7: Save media outputs to AIAgentRunMedia and create conversation attachments
297
- let mediaIds = [];
298
- if (agentResult.mediaOutputs && agentResult.mediaOutputs.length > 0) {
299
- // Filter to only media that should be persisted (persist !== false)
300
- const mediaToSave = agentResult.mediaOutputs.filter(m => m.persist !== false);
301
- LogStatus(`Processing ${mediaToSave.length} of ${agentResult.mediaOutputs.length} media outputs (filtered by persist flag)`);
302
- // Save to AIAgentRunMedia for permanent storage
303
- mediaIds = await this.SaveAgentRunMedia(agentResult.agentRun.ID, mediaToSave, // Pass filtered array
304
- contextUser, md);
305
- // Create ConversationDetailAttachment records for UI display
306
- if (agentResponseDetailId && mediaIds.length > 0) {
307
- await this.CreateConversationMediaAttachments(agentResponseDetailId, mediaToSave, // Pass same filtered array to keep indices aligned
308
- mediaIds, contextUser, md);
336
+ return undefined;
337
+ })();
338
+ // Step 7: Save media outputs to AIAgentRunMedia and create conversation attachments (async)
339
+ const saveMediaPromise = (async () => {
340
+ if (agentResult.mediaOutputs && agentResult.mediaOutputs.length > 0) {
341
+ const mediaToSave = agentResult.mediaOutputs.filter(m => m.persist !== false);
342
+ LogStatus(`Processing ${mediaToSave.length} of ${agentResult.mediaOutputs.length} media outputs (filtered by persist flag)`);
343
+ // Save to AIAgentRunMedia for permanent storage
344
+ const ids = await this.SaveAgentRunMedia(agentResult.agentRun.ID, mediaToSave, contextUser, md);
345
+ // Create ConversationDetailAttachment records for UI display
346
+ if (agentResponseDetailId && ids.length > 0) {
347
+ await this.CreateConversationMediaAttachments(agentResponseDetailId, mediaToSave, ids, contextUser, md);
348
+ }
349
+ return ids;
309
350
  }
310
- }
351
+ return [];
352
+ })();
353
+ // Wait for all three post-execution operations to complete before returning.
354
+ // The resolver publishes the 'complete' event after this returns, so the client
355
+ // is guaranteed to see all DB writes when it reloads.
356
+ const [, artifactInfo] = await Promise.all([
357
+ updateDetailPromise,
358
+ processArtifactsPromise,
359
+ saveMediaPromise
360
+ ]);
311
361
  return {
312
362
  agentResult,
313
363
  conversationId,
@@ -357,6 +407,62 @@ export class AgentRunner {
357
407
  return 0;
358
408
  }
359
409
  }
410
+ /**
411
+ * Checks whether the serialized content for a new artifact version is identical to the
412
+ * latest existing version of the same artifact, using SHA-256 content hashing.
413
+ *
414
+ * When the content is unchanged, creating a new version adds noise without value.
415
+ * This method computes the hash of the candidate content and compares it against
416
+ * the `ContentHash` stored on the most recent version (populated by
417
+ * `MJArtifactVersionEntityServer.Save()`).
418
+ *
419
+ * @param artifactId - The artifact whose latest version to compare against
420
+ * @param candidateContent - The serialized (JSON-stringified) content that would become the new version
421
+ * @param latestVersionNumber - The version number of the current latest version
422
+ * @param contextUser - User context for the RunView query
423
+ * @returns The existing version's ID if content is identical, or `null` if a new version should be created
424
+ */
425
+ async CheckForDuplicateVersion(artifactId, candidateContent, latestVersionNumber, contextUser) {
426
+ const candidateHash = createHash('sha256').update(candidateContent, 'utf8').digest('hex');
427
+ const rv = new RunView();
428
+ const result = await rv.RunView({
429
+ EntityName: 'MJ: Artifact Versions',
430
+ ExtraFilter: `ArtifactID='${artifactId}' AND VersionNumber=${latestVersionNumber}`,
431
+ Fields: ['ID', 'ContentHash'],
432
+ MaxRows: 1,
433
+ ResultType: 'simple'
434
+ }, contextUser);
435
+ if (result.Success && result.Results.length > 0 && result.Results[0].ContentHash === candidateHash) {
436
+ return result.Results[0].ID;
437
+ }
438
+ return null;
439
+ }
440
+ /**
441
+ * Creates a `ConversationDetailArtifact` junction record linking an artifact version
442
+ * to a conversation detail, then returns the standard artifact result tuple.
443
+ *
444
+ * Extracted as a helper so both the normal version-creation path and the
445
+ * duplicate-skip path can share the same linking and return logic.
446
+ *
447
+ * @param versionId - The artifact version ID to link
448
+ * @param conversationDetailId - The conversation detail to link to
449
+ * @param artifactId - The parent artifact ID (passed through to the return value)
450
+ * @param versionNumber - The version number (passed through to the return value)
451
+ * @param contextUser - User context for the save operation
452
+ * @param provider - Metadata provider for entity creation
453
+ * @returns The standard artifact result tuple
454
+ */
455
+ async LinkArtifactToConversationDetail(versionId, conversationDetailId, artifactId, versionNumber, contextUser, provider) {
456
+ const junction = await provider.GetEntityObject('MJ: Conversation Detail Artifacts', contextUser);
457
+ junction.ConversationDetailID = conversationDetailId;
458
+ junction.ArtifactVersionID = versionId;
459
+ junction.Direction = 'Output';
460
+ if (!(await junction.Save())) {
461
+ throw new Error('Failed to create artifact-message association');
462
+ }
463
+ LogStatus(`Linked artifact to conversation detail ${conversationDetailId}`);
464
+ return { artifactId, versionId, versionNumber };
465
+ }
360
466
  /**
361
467
  * Finds the most recent artifact for a conversation detail to determine versioning.
362
468
  * Queries the junction table to locate artifacts linked to a specific conversation message.
@@ -504,11 +610,21 @@ export class AgentRunner {
504
610
  LogStatus(`Created new artifact: ${artifact.Name} (${artifactId})`);
505
611
  }
506
612
  }
613
+ // Serialize the payload once — used for both dedup check and version creation
614
+ const serializedContent = JSON.stringify(payload, null, 2);
615
+ // Skip version creation if content is identical to the latest version
616
+ if (!isNewArtifact && newVersionNumber > 1) {
617
+ const existingVersionId = await this.CheckForDuplicateVersion(artifactId, serializedContent, newVersionNumber - 1, contextUser);
618
+ if (existingVersionId) {
619
+ console.debug(`Skipping duplicate artifact version — content identical to version ${newVersionNumber - 1}`);
620
+ return undefined;
621
+ }
622
+ }
507
623
  // Create artifact version with content
508
624
  const version = await md.GetEntityObject('MJ: Artifact Versions', contextUser);
509
625
  version.ArtifactID = artifactId;
510
626
  version.VersionNumber = newVersionNumber;
511
- version.Content = JSON.stringify(payload, null, 2);
627
+ version.Content = serializedContent;
512
628
  version.UserID = contextUser.ID;
513
629
  if (!(await version.Save())) {
514
630
  throw new Error('Failed to save artifact version');
@@ -529,20 +645,8 @@ export class AgentRunner {
529
645
  }
530
646
  }
531
647
  }
532
- // Create junction record linking artifact to conversation detail
533
- const junction = await md.GetEntityObject('MJ: Conversation Detail Artifacts', contextUser);
534
- junction.ConversationDetailID = conversationDetailId;
535
- junction.ArtifactVersionID = version.ID;
536
- junction.Direction = 'Output';
537
- if (!(await junction.Save())) {
538
- throw new Error('Failed to create artifact-message association');
539
- }
540
- LogStatus(`Linked artifact to conversation detail ${conversationDetailId}`);
541
- return {
542
- artifactId,
543
- versionId: version.ID,
544
- versionNumber: newVersionNumber
545
- };
648
+ // Link the new version to this conversation detail and return
649
+ return this.LinkArtifactToConversationDetail(version.ID, conversationDetailId, artifactId, newVersionNumber, contextUser, md);
546
650
  }
547
651
  catch (error) {
548
652
  LogError(`Failed to process agent artifacts: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @fileoverview Server-side singleton that manages pending client tool requests.
3
+ *
4
+ * BaseAgent publishes a request via PubSub and awaits the returned Promise.
5
+ * The GraphQL resolver receives the client's response and resolves that Promise.
6
+ *
7
+ * @module @memberjunction/ai-agents
8
+ */
9
+ import { BaseSingleton } from '@memberjunction/global';
10
+ import { ClientToolMetadata, ClientToolResponse } from '@memberjunction/ai-core-plus';
11
+ /** Payload published to the CLIENT_TOOL_REQUEST PubSub topic */
12
+ export interface ClientToolRequestNotificationPayload {
13
+ AgentRunID: string;
14
+ SessionID: string;
15
+ RequestID: string;
16
+ ToolName: string;
17
+ /** JSON-encoded parameters */
18
+ Params: string;
19
+ TimeoutMs: number;
20
+ Description: string;
21
+ }
22
+ /** The PubSub topic used for client tool requests */
23
+ export declare const CLIENT_TOOL_REQUEST_TOPIC = "CLIENT_TOOL_REQUEST";
24
+ /**
25
+ * Singleton that manages pending client tool requests.
26
+ * BaseAgent publishes a request and awaits the Promise.
27
+ * The GraphQL resolver receives the response and resolves the Promise.
28
+ */
29
+ export declare class ClientToolRequestManager extends BaseSingleton<ClientToolRequestManager> {
30
+ private pendingRequests;
31
+ /** Enriched tool definitions per session (from client decoration) */
32
+ private sessionTools;
33
+ /** Optional PubSub publish function — injected by the server at startup */
34
+ private publishFn;
35
+ protected constructor();
36
+ static get Instance(): ClientToolRequestManager;
37
+ /**
38
+ * Set the publish function used to send tool requests to clients.
39
+ * Called once at server startup after PubSubManager is configured.
40
+ */
41
+ SetPublishFunction(fn: (topic: string, payload: Record<string, unknown>) => void): void;
42
+ /**
43
+ * Called by BaseAgent to send a request and await the response.
44
+ * Publishes via PubSub and returns a Promise that resolves when
45
+ * the client responds or times out.
46
+ */
47
+ RequestClientTool(requestID: string, toolName: string, params: Record<string, unknown>, sessionID: string, agentRunID: string, timeoutMs: number, description?: string): Promise<ClientToolResponse>;
48
+ /**
49
+ * Called by the RespondToClientToolRequest GraphQL mutation.
50
+ * Resolves the pending Promise so the agent loop continues.
51
+ */
52
+ ReceiveResponse(response: ClientToolResponse): boolean;
53
+ /** Store enriched tool definitions for a session */
54
+ SetSessionTools(sessionID: string, tools: ClientToolMetadata[]): void;
55
+ /** Get enriched tool definitions for prompt injection */
56
+ GetSessionTools(sessionID: string): ClientToolMetadata[];
57
+ /** Clean up when session ends */
58
+ ClearSession(sessionID: string): void;
59
+ /** Get the number of pending requests (useful for testing/monitoring) */
60
+ get PendingRequestCount(): number;
61
+ }
62
+ //# sourceMappingURL=ClientToolRequestManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientToolRequestManager.d.ts","sourceRoot":"","sources":["../src/ClientToolRequestManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAQtF,gEAAgE;AAChE,MAAM,WAAW,oCAAoC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qDAAqD;AACrD,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAE/D;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACjF,OAAO,CAAC,eAAe,CAAqC;IAE5D,qEAAqE;IACrE,OAAO,CAAC,YAAY,CAA2C;IAE/D,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAA4E;IAE7F,SAAS;IAIT,WAAkB,QAAQ,IAAI,wBAAwB,CAErD;IAED;;;OAGG;IACI,kBAAkB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI;IAI9F;;;;OAIG;IACU,iBAAiB,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC;IAqC9B;;;OAGG;IACI,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO;IAa7D,oDAAoD;IAC7C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAI5E,yDAAyD;IAClD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAI/D,iCAAiC;IAC1B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI5C,yEAAyE;IACzE,IAAW,mBAAmB,IAAI,MAAM,CAEvC;CACJ"}