@tyvm/knowhow 0.0.63 → 0.0.64

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 (28) hide show
  1. package/package.json +1 -1
  2. package/src/chat/modules/AgentModule.ts +7 -1
  3. package/src/clients/anthropic.ts +33 -1
  4. package/src/processors/Base64ImageDetector.ts +193 -40
  5. package/src/processors/index.ts +1 -1
  6. package/tests/plugins/language/languagePlugin-content-triggers.test.ts +5 -1
  7. package/tests/plugins/language/languagePlugin.test.ts +5 -1
  8. package/tests/processors/Base64ImageDetector.test.ts +263 -70
  9. package/tests/services/Tools.test.ts +6 -4
  10. package/ts_build/package.json +1 -1
  11. package/ts_build/src/chat/modules/AgentModule.js +5 -1
  12. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  13. package/ts_build/src/clients/anthropic.js +30 -1
  14. package/ts_build/src/clients/anthropic.js.map +1 -1
  15. package/ts_build/src/processors/Base64ImageDetector.d.ts +7 -3
  16. package/ts_build/src/processors/Base64ImageDetector.js +147 -27
  17. package/ts_build/src/processors/Base64ImageDetector.js.map +1 -1
  18. package/ts_build/src/processors/index.d.ts +1 -1
  19. package/ts_build/src/processors/index.js +2 -2
  20. package/ts_build/src/processors/index.js.map +1 -1
  21. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +5 -1
  22. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
  23. package/ts_build/tests/plugins/language/languagePlugin.test.js +5 -1
  24. package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
  25. package/ts_build/tests/processors/Base64ImageDetector.test.js +221 -59
  26. package/ts_build/tests/processors/Base64ImageDetector.test.js.map +1 -1
  27. package/ts_build/tests/services/Tools.test.js +3 -3
  28. package/ts_build/tests/services/Tools.test.js.map +1 -1
@@ -1,23 +1,51 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  const Base64ImageDetector_1 = require("../../src/processors/Base64ImageDetector");
27
+ const Tools_1 = require("../../src/services/Tools");
28
+ const fs = __importStar(require("fs"));
4
29
  describe("Base64ImageDetector", () => {
5
30
  let detector;
6
31
  beforeEach(() => {
7
- detector = new Base64ImageDetector_1.Base64ImageDetector();
32
+ detector = new Base64ImageDetector_1.Base64ImageProcessor();
8
33
  });
9
34
  describe("Constructor", () => {
10
35
  it("should create instance with default parameters", () => {
11
- const instance = new Base64ImageDetector_1.Base64ImageDetector();
12
- expect(instance).toBeInstanceOf(Base64ImageDetector_1.Base64ImageDetector);
36
+ const instance = new Base64ImageDetector_1.Base64ImageProcessor();
37
+ expect(instance).toBeInstanceOf(Base64ImageDetector_1.Base64ImageProcessor);
13
38
  });
14
39
  it("should create instance with custom image detail", () => {
15
- const instance = new Base64ImageDetector_1.Base64ImageDetector("high");
16
- expect(instance).toBeInstanceOf(Base64ImageDetector_1.Base64ImageDetector);
40
+ const instance = new Base64ImageDetector_1.Base64ImageProcessor();
41
+ instance.setImageDetail("high");
42
+ expect(instance).toBeInstanceOf(Base64ImageDetector_1.Base64ImageProcessor);
17
43
  });
18
44
  it("should create instance with custom supported formats", () => {
19
- const instance = new Base64ImageDetector_1.Base64ImageDetector("low", ["png", "jpeg"]);
20
- expect(instance).toBeInstanceOf(Base64ImageDetector_1.Base64ImageDetector);
45
+ const instance = new Base64ImageDetector_1.Base64ImageProcessor();
46
+ instance.setImageDetail("low");
47
+ instance.setSupportedFormats(["png", "jpeg"]);
48
+ expect(instance).toBeInstanceOf(Base64ImageDetector_1.Base64ImageProcessor);
21
49
  });
22
50
  });
23
51
  describe("Configuration methods", () => {
@@ -52,8 +80,8 @@ describe("Base64ImageDetector", () => {
52
80
  const modifiedMessages = [
53
81
  {
54
82
  role: "user",
55
- content: validPngBase64
56
- }
83
+ content: validPngBase64,
84
+ },
57
85
  ];
58
86
  const processor = detector.createProcessor();
59
87
  processor(originalMessages, modifiedMessages);
@@ -63,8 +91,8 @@ describe("Base64ImageDetector", () => {
63
91
  type: "image_url",
64
92
  image_url: {
65
93
  url: validPngBase64,
66
- detail: "auto"
67
- }
94
+ detail: "auto",
95
+ },
68
96
  });
69
97
  });
70
98
  it("should convert plain base64 PNG to image content", () => {
@@ -72,8 +100,8 @@ describe("Base64ImageDetector", () => {
72
100
  const modifiedMessages = [
73
101
  {
74
102
  role: "user",
75
- content: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg=="
76
- }
103
+ content: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==",
104
+ },
77
105
  ];
78
106
  const processor = detector.createProcessor();
79
107
  processor(originalMessages, modifiedMessages);
@@ -91,8 +119,8 @@ describe("Base64ImageDetector", () => {
91
119
  const modifiedMessages = [
92
120
  {
93
121
  role: "user",
94
- content: regularText
95
- }
122
+ content: regularText,
123
+ },
96
124
  ];
97
125
  const processor = detector.createProcessor();
98
126
  processor(originalMessages, modifiedMessages);
@@ -103,26 +131,86 @@ describe("Base64ImageDetector", () => {
103
131
  const modifiedMessages = [
104
132
  {
105
133
  role: "assistant",
106
- content: validPngBase64
134
+ content: validPngBase64,
107
135
  },
108
136
  {
109
137
  role: "system",
110
- content: validPngBase64
111
- }
138
+ content: validPngBase64,
139
+ },
112
140
  ];
113
141
  const processor = detector.createProcessor();
114
142
  processor(originalMessages, modifiedMessages);
115
143
  expect(modifiedMessages[0].content).toBe(validPngBase64);
116
144
  expect(modifiedMessages[1].content).toBe(validPngBase64);
117
145
  });
146
+ it("should process tool messages with JSON string containing image_url", () => {
147
+ const imageDataUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==";
148
+ const toolResponseJson = JSON.stringify({
149
+ type: "image_url",
150
+ image_url: {
151
+ url: imageDataUrl,
152
+ detail: "auto",
153
+ },
154
+ });
155
+ const originalMessages = [];
156
+ const modifiedMessages = [
157
+ {
158
+ role: "tool",
159
+ content: toolResponseJson,
160
+ tool_call_id: "call_123",
161
+ },
162
+ ];
163
+ const processor = detector.createProcessor();
164
+ processor(originalMessages, modifiedMessages);
165
+ expect(Array.isArray(modifiedMessages[0].content)).toBe(true);
166
+ const content = modifiedMessages[0].content;
167
+ expect(content).toHaveLength(1);
168
+ expect(content[0]).toEqual({
169
+ type: "image_url",
170
+ image_url: {
171
+ url: imageDataUrl,
172
+ detail: "auto",
173
+ },
174
+ });
175
+ });
176
+ it("should process tool messages with plain base64 string", () => {
177
+ const validPngBase64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==";
178
+ const originalMessages = [];
179
+ const modifiedMessages = [
180
+ {
181
+ role: "tool",
182
+ content: validPngBase64,
183
+ tool_call_id: "call_456",
184
+ },
185
+ ];
186
+ const processor = detector.createProcessor();
187
+ processor(originalMessages, modifiedMessages);
188
+ if (Array.isArray(modifiedMessages[0].content)) {
189
+ const content = modifiedMessages[0].content;
190
+ expect(content[0].type).toBe("image_url");
191
+ }
192
+ });
193
+ it("should not process tool messages with regular text", () => {
194
+ const originalMessages = [];
195
+ const modifiedMessages = [
196
+ {
197
+ role: "tool",
198
+ content: "Tool completed successfully",
199
+ tool_call_id: "call_789",
200
+ },
201
+ ];
202
+ const processor = detector.createProcessor();
203
+ processor(originalMessages, modifiedMessages);
204
+ expect(modifiedMessages[0].content).toBe("Tool completed successfully");
205
+ });
118
206
  it("should use custom image detail setting", () => {
119
207
  detector.setImageDetail("high");
120
208
  const originalMessages = [];
121
209
  const modifiedMessages = [
122
210
  {
123
211
  role: "user",
124
- content: validPngBase64
125
- }
212
+ content: validPngBase64,
213
+ },
126
214
  ];
127
215
  const processor = detector.createProcessor();
128
216
  processor(originalMessages, modifiedMessages);
@@ -140,9 +228,9 @@ describe("Base64ImageDetector", () => {
140
228
  content: [
141
229
  { type: "text", text: "Here is an image:" },
142
230
  { type: "text", text: validPngBase64 },
143
- { type: "text", text: "And some more text" }
144
- ]
145
- }
231
+ { type: "text", text: "And some more text" },
232
+ ],
233
+ },
146
234
  ];
147
235
  const processor = detector.createProcessor();
148
236
  processor(originalMessages, modifiedMessages);
@@ -159,9 +247,12 @@ describe("Base64ImageDetector", () => {
159
247
  role: "user",
160
248
  content: [
161
249
  { type: "text", text: "Some text" },
162
- { type: "image_url", image_url: { url: "http://example.com/image.png" } }
163
- ]
164
- }
250
+ {
251
+ type: "image_url",
252
+ image_url: { url: "http://example.com/image.png" },
253
+ },
254
+ ],
255
+ },
165
256
  ];
166
257
  const processor = detector.createProcessor();
167
258
  processor(originalMessages, modifiedMessages);
@@ -176,8 +267,8 @@ describe("Base64ImageDetector", () => {
176
267
  const modifiedMessages = [
177
268
  {
178
269
  role: "user",
179
- content: []
180
- }
270
+ content: [],
271
+ },
181
272
  ];
182
273
  const processor = detector.createProcessor();
183
274
  expect(() => processor(originalMessages, modifiedMessages)).not.toThrow();
@@ -200,12 +291,12 @@ describe("Base64ImageDetector", () => {
200
291
  name: "analyze_image",
201
292
  arguments: JSON.stringify({
202
293
  image: validPngBase64,
203
- description: "Test image"
204
- })
205
- }
206
- }
207
- ]
208
- }
294
+ description: "Test image",
295
+ }),
296
+ },
297
+ },
298
+ ],
299
+ },
209
300
  ];
210
301
  const processor = detector.createProcessor();
211
302
  processor(originalMessages, modifiedMessages);
@@ -230,14 +321,14 @@ describe("Base64ImageDetector", () => {
230
321
  data: {
231
322
  images: [validPngBase64, "regular text"],
232
323
  metadata: {
233
- thumbnail: validPngBase64
234
- }
235
- }
236
- })
237
- }
238
- }
239
- ]
240
- }
324
+ thumbnail: validPngBase64,
325
+ },
326
+ },
327
+ }),
328
+ },
329
+ },
330
+ ],
331
+ },
241
332
  ];
242
333
  const processor = detector.createProcessor();
243
334
  processor(originalMessages, modifiedMessages);
@@ -259,11 +350,11 @@ describe("Base64ImageDetector", () => {
259
350
  type: "function",
260
351
  function: {
261
352
  name: "tool_with_plain_text",
262
- arguments: validPngBase64
263
- }
264
- }
265
- ]
266
- }
353
+ arguments: validPngBase64,
354
+ },
355
+ },
356
+ ],
357
+ },
267
358
  ];
268
359
  const processor = detector.createProcessor();
269
360
  processor(originalMessages, modifiedMessages);
@@ -275,8 +366,8 @@ describe("Base64ImageDetector", () => {
275
366
  const modifiedMessages = [
276
367
  {
277
368
  role: "assistant",
278
- content: "Just a regular message"
279
- }
369
+ content: "Just a regular message",
370
+ },
280
371
  ];
281
372
  const processor = detector.createProcessor();
282
373
  expect(() => processor(originalMessages, modifiedMessages)).not.toThrow();
@@ -294,12 +385,12 @@ describe("Base64ImageDetector", () => {
294
385
  const modifiedMessages = [
295
386
  {
296
387
  role: "user",
297
- content: null
388
+ content: null,
298
389
  },
299
390
  {
300
391
  role: "user",
301
- content: undefined
302
- }
392
+ content: undefined,
393
+ },
303
394
  ];
304
395
  const processor = detector.createProcessor();
305
396
  expect(() => processor(originalMessages, modifiedMessages)).not.toThrow();
@@ -310,8 +401,8 @@ describe("Base64ImageDetector", () => {
310
401
  const modifiedMessages = [
311
402
  {
312
403
  role: "user",
313
- content: "data:image/bmp;base64,Qk1GAAAAAAAAADYAAAAoAAAAAQAAAAEAAAABACAAAAAAAAAAAAATCwAAEwsAAAAAAAAAAAAA/////wA="
314
- }
404
+ content: "data:image/bmp;base64,Qk1GAAAAAAAAADYAAAAoAAAAAQAAAAEAAAABACAAAAAAAAAAAAATCwAAEwsAAAAAAAAAAAAA/////wA=",
405
+ },
315
406
  ];
316
407
  const processor = detector.createProcessor();
317
408
  processor(originalMessages, modifiedMessages);
@@ -322,8 +413,8 @@ describe("Base64ImageDetector", () => {
322
413
  const modifiedMessages = [
323
414
  {
324
415
  role: "user",
325
- content: "SGVsbG8="
326
- }
416
+ content: "SGVsbG8=",
417
+ },
327
418
  ];
328
419
  const processor = detector.createProcessor();
329
420
  processor(originalMessages, modifiedMessages);
@@ -334,8 +425,8 @@ describe("Base64ImageDetector", () => {
334
425
  const modifiedMessages = [
335
426
  {
336
427
  role: "user",
337
- content: "data:image/png;base64"
338
- }
428
+ content: "data:image/png;base64",
429
+ },
339
430
  ];
340
431
  const processor = detector.createProcessor();
341
432
  processor(originalMessages, modifiedMessages);
@@ -344,7 +435,78 @@ describe("Base64ImageDetector", () => {
344
435
  });
345
436
  describe("Global instance", () => {
346
437
  it("should provide global instance", () => {
347
- expect(Base64ImageDetector_1.globalBase64ImageDetector).toBeInstanceOf(Base64ImageDetector_1.Base64ImageDetector);
438
+ expect(Base64ImageDetector_1.globalBase64ImageDetector).toBeInstanceOf(Base64ImageDetector_1.Base64ImageProcessor);
439
+ });
440
+ });
441
+ describe("loadImageAsBase64 tool", () => {
442
+ let toolsService;
443
+ let testImagePath;
444
+ beforeEach(() => {
445
+ toolsService = new Tools_1.ToolsService();
446
+ detector.registerTool(toolsService);
447
+ testImagePath = "/tmp/test-image.png";
448
+ const pngBuffer = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==", "base64");
449
+ fs.writeFileSync(testImagePath, pngBuffer);
450
+ });
451
+ afterEach(() => {
452
+ if (fs.existsSync(testImagePath)) {
453
+ fs.unlinkSync(testImagePath);
454
+ }
455
+ });
456
+ it("should register loadImageAsBase64 tool", () => {
457
+ const tools = toolsService.getTools();
458
+ const loadImageTool = tools.find((t) => t.function.name === "loadImageAsBase64");
459
+ expect(loadImageTool).toBeDefined();
460
+ expect(loadImageTool?.function.name).toBe("loadImageAsBase64");
461
+ expect(loadImageTool?.function.description).toContain("Load an image file");
462
+ });
463
+ it("should have function implementation", () => {
464
+ const func = toolsService.getFunction("loadImageAsBase64");
465
+ expect(func).toBeDefined();
466
+ expect(typeof func).toBe("function");
467
+ });
468
+ it("should load image and return base64 data URL", async () => {
469
+ const func = toolsService.getFunction("loadImageAsBase64");
470
+ const result = await func(testImagePath);
471
+ expect(typeof result).toBe("string");
472
+ const parsed = JSON.parse(result);
473
+ expect(parsed.type).toBe("image_url");
474
+ expect(parsed.image_url.url).toContain("data:image/png;base64,");
475
+ expect(parsed.image_url.detail).toBe("auto");
476
+ });
477
+ it("should accept custom detail parameter", async () => {
478
+ const func = toolsService.getFunction("loadImageAsBase64");
479
+ const result = await func(testImagePath, "high");
480
+ const parsed = JSON.parse(result);
481
+ expect(parsed.image_url.detail).toBe("high");
482
+ });
483
+ it("should throw error for non-existent file", async () => {
484
+ const func = toolsService.getFunction("loadImageAsBase64");
485
+ await expect(func("/path/to/nonexistent.png")).rejects.toThrow("File not found");
486
+ });
487
+ it("should throw error for unsupported format", async () => {
488
+ const txtPath = "/tmp/test-file.txt";
489
+ fs.writeFileSync(txtPath, "test content");
490
+ const func = toolsService.getFunction("loadImageAsBase64");
491
+ try {
492
+ await expect(func(txtPath)).rejects.toThrow("Unsupported image format");
493
+ }
494
+ finally {
495
+ fs.unlinkSync(txtPath);
496
+ }
497
+ });
498
+ it("should throw error for directory path", async () => {
499
+ const dirPath = "/tmp/test-dir";
500
+ if (!fs.existsSync(dirPath)) {
501
+ fs.mkdirSync(dirPath);
502
+ }
503
+ const func = toolsService.getFunction("loadImageAsBase64");
504
+ try {
505
+ await expect(func(dirPath)).rejects.toThrow("Path is not a file");
506
+ }
507
+ finally {
508
+ fs.rmdirSync(dirPath);
509
+ }
348
510
  });
349
511
  });
350
512
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Base64ImageDetector.test.js","sourceRoot":"","sources":["../../../tests/processors/Base64ImageDetector.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Base64ImageDetector.test.js","sourceRoot":"","sources":["../../../tests/processors/Base64ImageDetector.test.ts"],"names":[],"mappings":"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"}
@@ -473,8 +473,8 @@ describe("ToolsService", () => {
473
473
  const originalFunction = jest.fn().mockResolvedValue("original result");
474
474
  const wrapperFunction = jest
475
475
  .fn()
476
- .mockImplementation(async (originalFn, args) => {
477
- const result = await originalFn(args);
476
+ .mockImplementation(async (originalFn, args, tool) => {
477
+ const result = await originalFn(...args);
478
478
  return `wrapped: ${result}`;
479
479
  });
480
480
  toolsService.setFunction("wrappableTool", originalFunction);
@@ -1035,7 +1035,7 @@ describe("ToolsService", () => {
1035
1035
  return `Base: ${args.value}`;
1036
1036
  }
1037
1037
  const wrapper = (originalFunc, args, tool) => {
1038
- const result = originalFunc.call(toolsService, args);
1038
+ const result = originalFunc.call(toolsService, ...args);
1039
1039
  return `Wrapped: ${result}`;
1040
1040
  };
1041
1041
  toolsService.addTool(testTool);