@memberjunction/ai-agents 5.34.0 → 5.35.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.
Files changed (53) hide show
  1. package/dist/AgentRunner.d.ts +1 -21
  2. package/dist/AgentRunner.d.ts.map +1 -1
  3. package/dist/AgentRunner.js +69 -99
  4. package/dist/AgentRunner.js.map +1 -1
  5. package/dist/ArtifactToolManager.d.ts +57 -46
  6. package/dist/ArtifactToolManager.d.ts.map +1 -1
  7. package/dist/ArtifactToolManager.js +161 -132
  8. package/dist/ArtifactToolManager.js.map +1 -1
  9. package/dist/artifact-tools/CSVToolLibrary.d.ts +8 -0
  10. package/dist/artifact-tools/CSVToolLibrary.d.ts.map +1 -0
  11. package/dist/artifact-tools/CSVToolLibrary.js +161 -0
  12. package/dist/artifact-tools/CSVToolLibrary.js.map +1 -0
  13. package/dist/artifact-tools/DataSnapshotToolLibrary.d.ts +2 -3
  14. package/dist/artifact-tools/DataSnapshotToolLibrary.d.ts.map +1 -1
  15. package/dist/artifact-tools/DataSnapshotToolLibrary.js +4 -29
  16. package/dist/artifact-tools/DataSnapshotToolLibrary.js.map +1 -1
  17. package/dist/artifact-tools/DocxToolLibrary.d.ts +2 -2
  18. package/dist/artifact-tools/DocxToolLibrary.d.ts.map +1 -1
  19. package/dist/artifact-tools/DocxToolLibrary.js +2 -2
  20. package/dist/artifact-tools/DocxToolLibrary.js.map +1 -1
  21. package/dist/artifact-tools/ExcelToolLibrary.d.ts +2 -2
  22. package/dist/artifact-tools/ExcelToolLibrary.d.ts.map +1 -1
  23. package/dist/artifact-tools/ExcelToolLibrary.js +4 -4
  24. package/dist/artifact-tools/ExcelToolLibrary.js.map +1 -1
  25. package/dist/artifact-tools/GenericBinaryToolLibrary.d.ts +6 -0
  26. package/dist/artifact-tools/GenericBinaryToolLibrary.d.ts.map +1 -0
  27. package/dist/artifact-tools/GenericBinaryToolLibrary.js +49 -0
  28. package/dist/artifact-tools/GenericBinaryToolLibrary.js.map +1 -0
  29. package/dist/artifact-tools/JSONToolLibrary.d.ts +2 -2
  30. package/dist/artifact-tools/JSONToolLibrary.d.ts.map +1 -1
  31. package/dist/artifact-tools/JSONToolLibrary.js +2 -2
  32. package/dist/artifact-tools/JSONToolLibrary.js.map +1 -1
  33. package/dist/artifact-tools/PDFToolLibrary.d.ts +6 -3
  34. package/dist/artifact-tools/PDFToolLibrary.d.ts.map +1 -1
  35. package/dist/artifact-tools/PDFToolLibrary.js +41 -20
  36. package/dist/artifact-tools/PDFToolLibrary.js.map +1 -1
  37. package/dist/artifact-tools/SearchResultSetToolLibrary.d.ts +2 -2
  38. package/dist/artifact-tools/SearchResultSetToolLibrary.d.ts.map +1 -1
  39. package/dist/artifact-tools/SearchResultSetToolLibrary.js +2 -2
  40. package/dist/artifact-tools/SearchResultSetToolLibrary.js.map +1 -1
  41. package/dist/artifact-tools/TextToolLibrary.d.ts +2 -2
  42. package/dist/artifact-tools/TextToolLibrary.d.ts.map +1 -1
  43. package/dist/artifact-tools/TextToolLibrary.js +2 -2
  44. package/dist/artifact-tools/TextToolLibrary.js.map +1 -1
  45. package/dist/base-agent.d.ts +27 -12
  46. package/dist/base-agent.d.ts.map +1 -1
  47. package/dist/base-agent.js +153 -70
  48. package/dist/base-agent.js.map +1 -1
  49. package/dist/index.d.ts +2 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -0
  52. package/dist/index.js.map +1 -1
  53. package/package.json +17 -17
@@ -1,18 +1,5 @@
1
- import { NativeFileInput } from '@memberjunction/ai-core-plus';
2
- /**
3
- * An input artifact provided to an agent run.
4
- */
5
- export interface InputArtifact {
6
- name: string;
7
- typeName: string;
8
- content: string | Buffer;
9
- /** MIME type of the artifact content (e.g., 'application/pdf').
10
- * Populated for file-backed artifacts from ArtifactVersion.MimeType. */
11
- mimeType?: string;
12
- /** Optional: class name from ArtifactType.ToolLibraryClass metadata.
13
- * When set, used for plugin-based resolution via ClassFactory. */
14
- toolLibraryClass?: string;
15
- }
1
+ import { ArtifactToolResult, NativeFileInput, InputArtifact } from '@memberjunction/ai-core-plus';
2
+ export type { InputArtifact };
16
3
  /**
17
4
  * A single artifact tool invocation requested by the LLM.
18
5
  */
@@ -24,6 +11,16 @@ export interface ArtifactToolCall {
24
11
  /** Tool-specific input parameters */
25
12
  input: Record<string, unknown>;
26
13
  }
14
+ export interface StoredToolResult {
15
+ artifactId: string;
16
+ tool: string;
17
+ input: Record<string, unknown>;
18
+ result: ArtifactToolResult;
19
+ /** When the invocation completed (UTC) */
20
+ timestamp: Date;
21
+ /** How long the invocation took, in milliseconds */
22
+ durationMs: number;
23
+ }
27
24
  export interface ArtifactToolSnapshot {
28
25
  artifacts: Array<{
29
26
  alphaId: string;
@@ -32,19 +29,6 @@ export interface ArtifactToolSnapshot {
32
29
  }>;
33
30
  resultCount: number;
34
31
  }
35
- /**
36
- * A single tool invocation, projected from the internal result store.
37
- * Used for audit / training-data / debugging.
38
- */
39
- export interface ArtifactAccessLogEntry {
40
- artifactId: string;
41
- tool: string;
42
- input: Record<string, unknown>;
43
- success: boolean;
44
- errorMessage?: string;
45
- timestamp: Date;
46
- durationMs: number;
47
- }
48
32
  /**
49
33
  * Manages artifact tools for a single agent run.
50
34
  *
@@ -86,36 +70,63 @@ export declare class ArtifactToolManager {
86
70
  private extractTextFallback;
87
71
  /** Extract all text from a PDF buffer using pdfjs-dist. Returns null on failure. */
88
72
  private extractPdfText;
89
- /** Markdown manifest: artifact IDs, names, types */
90
- ToManifestString(): string;
73
+ /**
74
+ * Markdown manifest: artifact IDs, names, types, optional routing
75
+ * annotations, plus modality-mismatch warnings when the active driver
76
+ * can't process a media artifact's MIME. The warning is what stops
77
+ * non-vision models from pretending to see image artifacts based on
78
+ * pattern-matched few-shot examples.
79
+ *
80
+ * @param opts.supportedMimeTypes Driver-declared file capabilities. When
81
+ * provided, any artifact whose MIME doesn't match (and isn't a
82
+ * text-based type the agent reaches via tools) gets a per-entry
83
+ * warning telling the agent the model can't process the artifact.
84
+ * Pass `undefined` to disable the check (legacy callers).
85
+ */
86
+ ToManifestString(opts?: {
87
+ supportedMimeTypes?: ReadonlyArray<string> | null;
88
+ }): string;
91
89
  /** Markdown tool documentation grouped by artifact type */
92
90
  GetToolDocumentation(): string;
91
+ /**
92
+ * Returns a per-artifact warning when the active driver can't process the
93
+ * artifact's media type. Only fires for media MIMEs (image/audio/video) —
94
+ * text-y MIMEs (json/text/csv/xml/etc.) are reached via tools and don't
95
+ * need modality support from the driver itself, so this stays quiet.
96
+ */
97
+ private modalityMismatchMessage;
98
+ /**
99
+ * Per-artifact cap on manifest extras (annotations, future preview content).
100
+ * Keeps any one artifact entry from dominating the manifest in a long
101
+ * conversation. The LLM sees a `...[truncated]` marker when the cap fires.
102
+ */
103
+ private static readonly MAX_MANIFEST_PREVIEW_CHARS_PER_ARTIFACT;
93
104
  /**
94
105
  * Max characters for the tool results section injected into the prompt.
95
106
  * Prevents context overflow when tool results contain large datasets.
96
107
  * Results are truncated from oldest first, with a summary of what was dropped.
97
108
  */
98
- private static readonly MAX_RESULTS_CHARS;
99
- /**
100
- * Max characters for a single tool result's data section.
101
- * Individual results that exceed this are truncated with a note,
102
- * preventing one huge result from consuming the entire budget.
103
- */
104
- private static readonly MAX_SINGLE_RESULT_CHARS;
105
- /** Markdown results from previous turns */
106
- GetPendingResults(): string;
107
109
  /** One-line summary for compact contexts */
108
110
  GetSummary(): string;
109
- /** Execute tool calls from LLM response */
111
+ /**
112
+ * Execute a single tool call and return its stored result. The result is
113
+ * also retained in the manager's internal store, so {@link ToJSON} reflects
114
+ * the resultCount and bulk callers can be sure every dispatch is recorded.
115
+ *
116
+ * Exposed publicly so the agent runtime can wrap each call in its own
117
+ * AIAgentRunStep (StepType='Tool'). For bulk-dispatch use, see
118
+ * {@link ExecuteToolCalls}.
119
+ */
120
+ ExecuteSingleToolCall(call: ArtifactToolCall): Promise<StoredToolResult>;
121
+ /**
122
+ * Execute a batch of tool calls in parallel. Each call's StoredToolResult is
123
+ * also returned by {@link ExecuteSingleToolCall} for callers that wrap each
124
+ * invocation in its own AIAgentRunStep. Returns void to preserve the
125
+ * original contract.
126
+ */
110
127
  ExecuteToolCalls(calls: ArtifactToolCall[]): Promise<void>;
111
128
  /** Snapshot for persistence */
112
129
  ToJSON(): ArtifactToolSnapshot;
113
- /**
114
- * Access log for this run — one entry per tool invocation, in call order.
115
- * Useful for audit trails, training data capture, and debugging.
116
- * Projected from the internal result store (no parallel state).
117
- */
118
- GetAccessLog(): ArtifactAccessLogEntry[];
119
130
  /**
120
131
  * Determines whether artifact content should be externalized to MJStorage
121
132
  * instead of being stored inline.
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactToolManager.d.ts","sourceRoot":"","sources":["../src/ArtifactToolManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAKpI;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;6EACyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;uEACmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAqED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,cAAc,CAAK;IAI3B,2DAA2D;IAC3D,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI;IAejD,0DAA0D;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM;IAajD,sBAAsB;IACtB,KAAK,IAAI,IAAI;IAMb,0CAA0C;IAC1C,YAAY,IAAI,OAAO;IAIvB;;;;;;;;;OASG;IACG,4BAA4B,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAoBhE;;;;OAIG;YACW,mBAAmB;IAkBjC,oFAAoF;YACtE,cAAc;IAsB5B,oDAAoD;IACpD,gBAAgB,IAAI,MAAM;IAmB1B,2DAA2D;IAC3D,oBAAoB,IAAI,MAAM;IA2B9B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAEnD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAEzD,2CAA2C;IAC3C,iBAAiB,IAAI,MAAM;IAyD3B,4CAA4C;IAC5C,UAAU,IAAI,MAAM;IAUpB,2CAA2C;IACrC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgEhE,+BAA+B;IAC/B,MAAM,IAAI,oBAAoB;IAa9B;;;;OAIG;IACH,YAAY,IAAI,sBAAsB,EAAE;IAcxC;;;OAGG;IACH,MAAM,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,iBAAiB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAW7I;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,GAAE,MAAW,GAAG,MAAM;IAoCpF,gEAAgE;IAChE,OAAO,CAAC,WAAW;IAWnB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA6B3B"}
1
+ {"version":3,"file":"ArtifactToolManager.d.ts","sourceRoot":"","sources":["../src/ArtifactToolManager.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,9 @@ class CompositeArtifactToolLibrary extends BaseArtifactToolLibrary {
19
19
  super();
20
20
  this.chain = chain;
21
21
  }
22
+ // Composite wraps a chain of real libraries and fully overrides the public
23
+ // dispatchers — the abstract Subclass methods below are required to make the
24
+ // class concrete but are never reached.
22
25
  GetToolList() {
23
26
  const seen = new Set();
24
27
  const merged = [];
@@ -45,6 +48,14 @@ class CompositeArtifactToolLibrary extends BaseArtifactToolLibrary {
45
48
  errorMessage: `Tool "${toolName}" is not defined by any library in this artifact type's chain.`,
46
49
  };
47
50
  }
51
+ // Required by the abstract base but never invoked — GetToolList / InvokeTool
52
+ // are fully overridden above.
53
+ getSubclassToolList() {
54
+ return [];
55
+ }
56
+ async invokeSubclassTool() {
57
+ return { success: false, data: null, errorMessage: 'CompositeArtifactToolLibrary does not dispatch via invokeSubclassTool.' };
58
+ }
48
59
  }
49
60
  /**
50
61
  * Manages artifact tools for a single agent run.
@@ -75,6 +86,9 @@ export class ArtifactToolManager {
75
86
  mimeType: artifact.mimeType,
76
87
  content: artifact.content,
77
88
  library: this.ResolveLibrary(artifact.typeName, artifact.toolLibraryClass),
89
+ annotation: artifact.annotation,
90
+ deliveryMode: artifact.deliveryMode,
91
+ forceToolsOnly: artifact.forceToolsOnly,
78
92
  });
79
93
  }
80
94
  }
@@ -116,6 +130,16 @@ export class ArtifactToolManager {
116
130
  for (const entry of this.artifacts.values()) {
117
131
  if (!entry.mimeType)
118
132
  continue;
133
+ // Skip artifacts the agent is supposed to reach via tools. Including
134
+ // them here would duplicate-deliver: AIPromptRunner.injectNativeFileInputs
135
+ // would either inject the bytes as a file_url block OR fall back to
136
+ // embedding the full extracted text — both paths leak content the
137
+ // routing layer already decided not to inline.
138
+ const effectiveMode = entry.forceToolsOnly
139
+ ? 'ToolsOnly'
140
+ : (entry.deliveryMode ?? 'ToolsOnly');
141
+ if (effectiveMode === 'ToolsOnly')
142
+ continue;
119
143
  const contentBuffer = typeof entry.content === 'string'
120
144
  ? Buffer.from(entry.content)
121
145
  : entry.content;
@@ -173,11 +197,24 @@ export class ArtifactToolManager {
173
197
  }
174
198
  }
175
199
  // ─── PROMPT INJECTION ───
176
- /** Markdown manifest: artifact IDs, names, types */
177
- ToManifestString() {
200
+ /**
201
+ * Markdown manifest: artifact IDs, names, types, optional routing
202
+ * annotations, plus modality-mismatch warnings when the active driver
203
+ * can't process a media artifact's MIME. The warning is what stops
204
+ * non-vision models from pretending to see image artifacts based on
205
+ * pattern-matched few-shot examples.
206
+ *
207
+ * @param opts.supportedMimeTypes Driver-declared file capabilities. When
208
+ * provided, any artifact whose MIME doesn't match (and isn't a
209
+ * text-based type the agent reaches via tools) gets a per-entry
210
+ * warning telling the agent the model can't process the artifact.
211
+ * Pass `undefined` to disable the check (legacy callers).
212
+ */
213
+ ToManifestString(opts) {
178
214
  if (this.artifacts.size === 0)
179
215
  return '';
180
216
  const lines = ['## Available Artifacts\n'];
217
+ const supportedMimes = opts?.supportedMimeTypes ?? null;
181
218
  for (const entry of this.artifacts.values()) {
182
219
  const sizeSuffix = Buffer.isBuffer(entry.content)
183
220
  ? ` (${(entry.content.length / 1024).toFixed(0)} KB)`
@@ -186,6 +223,20 @@ export class ArtifactToolManager {
186
223
  : '';
187
224
  const mimeNote = entry.mimeType ? ` [${entry.mimeType}]` : '';
188
225
  lines.push(`**${entry.alphaId}** — ${entry.typeName}: "${entry.name}"${mimeNote}${sizeSuffix}`);
226
+ // Modality-mismatch warning: when the driver can't process the
227
+ // artifact's media type, tell the agent explicitly so it doesn't
228
+ // hallucinate a description from few-shot examples or pretend the
229
+ // base64 it gets from get_full means something visual to it.
230
+ const mismatch = this.modalityMismatchMessage(entry.mimeType, supportedMimes);
231
+ if (mismatch) {
232
+ lines.push(` > ⚠ ${mismatch}`);
233
+ }
234
+ if (entry.annotation) {
235
+ const annotation = entry.annotation.length > ArtifactToolManager.MAX_MANIFEST_PREVIEW_CHARS_PER_ARTIFACT
236
+ ? entry.annotation.slice(0, ArtifactToolManager.MAX_MANIFEST_PREVIEW_CHARS_PER_ARTIFACT) + '...[truncated]'
237
+ : entry.annotation;
238
+ lines.push(` > Note: ${annotation}`);
239
+ }
189
240
  }
190
241
  lines.push('');
191
242
  lines.push('Use the artifact tools below to explore content.');
@@ -217,71 +268,49 @@ export class ArtifactToolManager {
217
268
  }
218
269
  return sections.join('\n');
219
270
  }
271
+ /**
272
+ * Returns a per-artifact warning when the active driver can't process the
273
+ * artifact's media type. Only fires for media MIMEs (image/audio/video) —
274
+ * text-y MIMEs (json/text/csv/xml/etc.) are reached via tools and don't
275
+ * need modality support from the driver itself, so this stays quiet.
276
+ */
277
+ modalityMismatchMessage(mimeType, supportedMimes) {
278
+ if (!mimeType)
279
+ return null;
280
+ const lower = mimeType.toLowerCase();
281
+ const isMediaModality = lower.startsWith('image/') || lower.startsWith('audio/') || lower.startsWith('video/');
282
+ if (!isMediaModality)
283
+ return null;
284
+ if (!supportedMimes || supportedMimes.length === 0) {
285
+ const modality = lower.split('/')[0];
286
+ return `The current model cannot process ${modality} content. ` +
287
+ `Calling get_full will return the raw base64 bytes — you cannot interpret those visually. ` +
288
+ `Tell the user the active model does not support ${modality} input rather than guessing what the file contains.`;
289
+ }
290
+ const supported = supportedMimes.some((pattern) => {
291
+ const p = pattern.toLowerCase();
292
+ if (p.endsWith('/*'))
293
+ return lower.startsWith(p.slice(0, -1));
294
+ return lower === p;
295
+ });
296
+ if (supported)
297
+ return null;
298
+ const modality = lower.split('/')[0];
299
+ return `The current model cannot process ${modality} content (${lower}). ` +
300
+ `Calling get_full will return the raw base64 bytes — you cannot interpret those visually. ` +
301
+ `Tell the user the active model does not support ${modality} input rather than guessing what the file contains.`;
302
+ }
303
+ /**
304
+ * Per-artifact cap on manifest extras (annotations, future preview content).
305
+ * Keeps any one artifact entry from dominating the manifest in a long
306
+ * conversation. The LLM sees a `...[truncated]` marker when the cap fires.
307
+ */
308
+ static { this.MAX_MANIFEST_PREVIEW_CHARS_PER_ARTIFACT = 1_000; }
220
309
  /**
221
310
  * Max characters for the tool results section injected into the prompt.
222
311
  * Prevents context overflow when tool results contain large datasets.
223
312
  * Results are truncated from oldest first, with a summary of what was dropped.
224
313
  */
225
- static { this.MAX_RESULTS_CHARS = 50_000; }
226
- /**
227
- * Max characters for a single tool result's data section.
228
- * Individual results that exceed this are truncated with a note,
229
- * preventing one huge result from consuming the entire budget.
230
- */
231
- static { this.MAX_SINGLE_RESULT_CHARS = 15_000; }
232
- /** Markdown results from previous turns */
233
- GetPendingResults() {
234
- if (this.toolResults.length === 0)
235
- return '';
236
- const header = [
237
- '## Artifact Tool Results',
238
- '',
239
- 'These are results from your previous artifact tool calls. **Use these results to answer the user — do NOT re-call the same tools.**',
240
- '',
241
- ].join('\n');
242
- // Render each result, capping individual results that are disproportionately large
243
- const rendered = [];
244
- for (let i = 0; i < this.toolResults.length; i++) {
245
- const stored = this.toolResults[i];
246
- const lines = [];
247
- lines.push(`### Result ${i + 1}: ${stored.artifactId}.${stored.tool}(${JSON.stringify(stored.input)})`);
248
- if (stored.result.success) {
249
- let data = typeof stored.result.data === 'string' ? stored.result.data : JSON.stringify(stored.result.data, null, 2);
250
- if (data.length > ArtifactToolManager.MAX_SINGLE_RESULT_CHARS) {
251
- data =
252
- data.slice(0, ArtifactToolManager.MAX_SINGLE_RESULT_CHARS) +
253
- `\n... (truncated — ${data.length} chars total. Use more specific tool calls to narrow results.)`;
254
- }
255
- lines.push('```json');
256
- lines.push(data);
257
- lines.push('```');
258
- }
259
- else {
260
- lines.push(`**Error:** ${stored.result.errorMessage}`);
261
- }
262
- lines.push('');
263
- rendered.push({ text: lines.join('\n'), index: i });
264
- }
265
- // Check total size and truncate oldest results if over limit
266
- let totalChars = header.length;
267
- const included = [];
268
- let droppedCount = 0;
269
- // Include results from newest to oldest so most recent are preserved
270
- for (let i = rendered.length - 1; i >= 0; i--) {
271
- if (totalChars + rendered[i].text.length > ArtifactToolManager.MAX_RESULTS_CHARS && included.length > 0) {
272
- droppedCount = i + 1;
273
- break;
274
- }
275
- totalChars += rendered[i].text.length;
276
- included.unshift(rendered[i].text);
277
- }
278
- const parts = [header];
279
- if (droppedCount > 0) {
280
- parts.push(`> **Note:** ${droppedCount} earlier result(s) truncated to fit context window. Use artifact tools to re-query if needed.\n`);
281
- }
282
- parts.push(...included);
283
- return parts.join('\n');
284
- }
285
314
  /** One-line summary for compact contexts */
286
315
  GetSummary() {
287
316
  if (this.artifacts.size === 0)
@@ -292,66 +321,83 @@ export class ArtifactToolManager {
292
321
  .join(', ')})`;
293
322
  }
294
323
  // ─── TOOL EXECUTION ───
295
- /** Execute tool calls from LLM response */
296
- async ExecuteToolCalls(calls) {
297
- const promises = calls.map(async (call) => {
298
- const startedAt = Date.now();
299
- // Try exact alpha ID first, then fallback to name match
300
- let entry = this.artifacts.get(call.artifactId);
301
- if (!entry) {
302
- // LLMs sometimes use the artifact name instead of the alpha ID
303
- for (const e of this.artifacts.values()) {
304
- if (e.name.toLowerCase() === call.artifactId.toLowerCase() || e.name.toLowerCase().replace(/\s+/g, '_') === call.artifactId.toLowerCase()) {
305
- entry = e;
306
- break;
307
- }
324
+ /**
325
+ * Execute a single tool call and return its stored result. The result is
326
+ * also retained in the manager's internal store, so {@link ToJSON} reflects
327
+ * the resultCount and bulk callers can be sure every dispatch is recorded.
328
+ *
329
+ * Exposed publicly so the agent runtime can wrap each call in its own
330
+ * AIAgentRunStep (StepType='Tool'). For bulk-dispatch use, see
331
+ * {@link ExecuteToolCalls}.
332
+ */
333
+ async ExecuteSingleToolCall(call) {
334
+ const startedAt = Date.now();
335
+ // Try exact alpha ID first, then fallback to name match
336
+ let entry = this.artifacts.get(call.artifactId);
337
+ if (!entry) {
338
+ // LLMs sometimes use the artifact name instead of the alpha ID
339
+ for (const e of this.artifacts.values()) {
340
+ if (e.name.toLowerCase() === call.artifactId.toLowerCase() || e.name.toLowerCase().replace(/\s+/g, '_') === call.artifactId.toLowerCase()) {
341
+ entry = e;
342
+ break;
308
343
  }
309
344
  }
310
- if (!entry && this.artifacts.size === 1) {
311
- // If there's only one artifact, use it regardless of what ID was passed
312
- entry = this.artifacts.values().next().value;
313
- }
314
- if (!entry) {
315
- this.toolResults.push({
316
- artifactId: call.artifactId,
317
- tool: call.tool,
318
- input: call.input,
319
- result: {
320
- success: false,
321
- data: null,
322
- errorMessage: `Unknown artifact ID: ${call.artifactId}. Use the alpha ID (A, B, C, etc.) from the manifest.`,
323
- },
324
- timestamp: new Date(),
325
- durationMs: Date.now() - startedAt,
326
- });
327
- return;
328
- }
329
- // Wrap InvokeTool so any exception inside a handler becomes a structured
330
- // error result instead of propagating up to the agent loop. Without this,
331
- // a single malformed artifact (e.g. a table missing `rows`) crashes the
332
- // entire run via `executePromptStep`'s catch → isConfigurationError.
333
- let result;
334
- try {
335
- result = await entry.library.InvokeTool(call.tool, call.input, entry.content);
336
- }
337
- catch (err) {
338
- const msg = err instanceof Error ? err.message : String(err);
339
- result = {
340
- success: false,
341
- data: null,
342
- errorMessage: `Tool "${call.tool}" on artifact ${entry.alphaId} threw: ${msg}. The artifact content may be malformed for this tool — try a different tool or a different artifact.`,
343
- };
344
- }
345
- this.toolResults.push({
345
+ }
346
+ if (!entry && this.artifacts.size === 1) {
347
+ // If there's only one artifact, use it regardless of what ID was passed
348
+ entry = this.artifacts.values().next().value;
349
+ }
350
+ if (!entry) {
351
+ const stored = {
346
352
  artifactId: call.artifactId,
347
353
  tool: call.tool,
348
354
  input: call.input,
349
- result,
355
+ result: {
356
+ success: false,
357
+ data: null,
358
+ errorMessage: `Unknown artifact ID: ${call.artifactId}. Use the alpha ID (A, B, C, etc.) from the manifest.`,
359
+ },
350
360
  timestamp: new Date(),
351
361
  durationMs: Date.now() - startedAt,
352
- });
353
- });
354
- await Promise.all(promises);
362
+ };
363
+ this.toolResults.push(stored);
364
+ return stored;
365
+ }
366
+ // Wrap InvokeTool so any exception inside a handler becomes a structured
367
+ // error result instead of propagating up to the agent loop. Without this,
368
+ // a single malformed artifact (e.g. a table missing `rows`) crashes the
369
+ // entire run via `executePromptStep`'s catch → isConfigurationError.
370
+ let result;
371
+ try {
372
+ result = await entry.library.InvokeTool(call.tool, call.input, entry.content);
373
+ }
374
+ catch (err) {
375
+ const msg = err instanceof Error ? err.message : String(err);
376
+ result = {
377
+ success: false,
378
+ data: null,
379
+ errorMessage: `Tool "${call.tool}" on artifact ${entry.alphaId} threw: ${msg}. The artifact content may be malformed for this tool — try a different tool or a different artifact.`,
380
+ };
381
+ }
382
+ const stored = {
383
+ artifactId: call.artifactId,
384
+ tool: call.tool,
385
+ input: call.input,
386
+ result,
387
+ timestamp: new Date(),
388
+ durationMs: Date.now() - startedAt,
389
+ };
390
+ this.toolResults.push(stored);
391
+ return stored;
392
+ }
393
+ /**
394
+ * Execute a batch of tool calls in parallel. Each call's StoredToolResult is
395
+ * also returned by {@link ExecuteSingleToolCall} for callers that wrap each
396
+ * invocation in its own AIAgentRunStep. Returns void to preserve the
397
+ * original contract.
398
+ */
399
+ async ExecuteToolCalls(calls) {
400
+ await Promise.all(calls.map((c) => this.ExecuteSingleToolCall(c)));
355
401
  }
356
402
  // ─── SERIALIZATION ───
357
403
  /** Snapshot for persistence */
@@ -365,23 +411,6 @@ export class ArtifactToolManager {
365
411
  resultCount: this.toolResults.length,
366
412
  };
367
413
  }
368
- // ─── AUDIT ───
369
- /**
370
- * Access log for this run — one entry per tool invocation, in call order.
371
- * Useful for audit trails, training data capture, and debugging.
372
- * Projected from the internal result store (no parallel state).
373
- */
374
- GetAccessLog() {
375
- return this.toolResults.map((r) => ({
376
- artifactId: r.artifactId,
377
- tool: r.tool,
378
- input: r.input,
379
- success: r.result.success,
380
- errorMessage: r.result.errorMessage,
381
- timestamp: r.timestamp,
382
- durationMs: r.durationMs,
383
- }));
384
- }
385
414
  // ─── STATIC HELPERS ───
386
415
  /**
387
416
  * Determines whether artifact content should be externalized to MJStorage
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactToolManager.js","sourceRoot":"","sources":["../src/ArtifactToolManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArtifactToolManager.js","sourceRoot":"","sources":["../src/ArtifactToolManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { BaseArtifactToolLibrary, type ArtifactToolDefinition, type ArtifactToolResult } from '@memberjunction/ai-core-plus';
2
+ export declare class CSVToolLibrary extends BaseArtifactToolLibrary {
3
+ protected getSubclassToolList(): ArtifactToolDefinition[];
4
+ protected invokeSubclassTool(toolName: string, input: Record<string, unknown>, artifactContent: string | Buffer): Promise<ArtifactToolResult>;
5
+ private handleGetRows;
6
+ private handleSearch;
7
+ }
8
+ //# sourceMappingURL=CSVToolLibrary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSVToolLibrary.d.ts","sourceRoot":"","sources":["../../src/artifact-tools/CSVToolLibrary.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAO7H,qBACa,cAAe,SAAQ,uBAAuB;IACvD,SAAS,CAAC,mBAAmB,IAAI,sBAAsB,EAAE;cAmCzC,kBAAkB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,eAAe,EAAE,MAAM,GAAG,MAAM,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAgB9B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,YAAY;CAyBvB"}