@cogitator-ai/core 0.15.0 → 0.17.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 (100) hide show
  1. package/dist/cogitator/initializers.d.ts +4 -0
  2. package/dist/cogitator/initializers.d.ts.map +1 -1
  3. package/dist/cogitator/initializers.js +13 -0
  4. package/dist/cogitator/initializers.js.map +1 -1
  5. package/dist/cogitator/message-builder.d.ts +8 -1
  6. package/dist/cogitator/message-builder.d.ts.map +1 -1
  7. package/dist/cogitator/message-builder.js +63 -4
  8. package/dist/cogitator/message-builder.js.map +1 -1
  9. package/dist/cogitator.d.ts.map +1 -1
  10. package/dist/cogitator.js +10 -1
  11. package/dist/cogitator.js.map +1 -1
  12. package/dist/context/context-manager.d.ts +16 -0
  13. package/dist/context/context-manager.d.ts.map +1 -0
  14. package/dist/context/context-manager.js +113 -0
  15. package/dist/context/context-manager.js.map +1 -0
  16. package/dist/context/index.d.ts +4 -0
  17. package/dist/context/index.d.ts.map +1 -0
  18. package/dist/context/index.js +3 -0
  19. package/dist/context/index.js.map +1 -0
  20. package/dist/context/strategies/hybrid.d.ts +9 -0
  21. package/dist/context/strategies/hybrid.d.ts.map +1 -0
  22. package/dist/context/strategies/hybrid.js +38 -0
  23. package/dist/context/strategies/hybrid.js.map +1 -0
  24. package/dist/context/strategies/index.d.ts +6 -0
  25. package/dist/context/strategies/index.d.ts.map +1 -0
  26. package/dist/context/strategies/index.js +6 -0
  27. package/dist/context/strategies/index.js.map +1 -0
  28. package/dist/context/strategies/sliding-window.d.ts +8 -0
  29. package/dist/context/strategies/sliding-window.d.ts.map +1 -0
  30. package/dist/context/strategies/sliding-window.js +120 -0
  31. package/dist/context/strategies/sliding-window.js.map +1 -0
  32. package/dist/context/strategies/summarize.d.ts +9 -0
  33. package/dist/context/strategies/summarize.d.ts.map +1 -0
  34. package/dist/context/strategies/summarize.js +142 -0
  35. package/dist/context/strategies/summarize.js.map +1 -0
  36. package/dist/context/strategies/token-utils.d.ts +5 -0
  37. package/dist/context/strategies/token-utils.d.ts.map +1 -0
  38. package/dist/context/strategies/token-utils.js +23 -0
  39. package/dist/context/strategies/token-utils.js.map +1 -0
  40. package/dist/context/strategies/truncate.d.ts +6 -0
  41. package/dist/context/strategies/truncate.d.ts.map +1 -0
  42. package/dist/context/strategies/truncate.js +61 -0
  43. package/dist/context/strategies/truncate.js.map +1 -0
  44. package/dist/index.d.ts +7 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +4 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/llm/bedrock.d.ts.map +1 -1
  49. package/dist/llm/bedrock.js +22 -12
  50. package/dist/llm/bedrock.js.map +1 -1
  51. package/dist/llm/ollama.d.ts.map +1 -1
  52. package/dist/llm/ollama.js +14 -8
  53. package/dist/llm/ollama.js.map +1 -1
  54. package/dist/llm/plugin.d.ts +1 -3
  55. package/dist/llm/plugin.d.ts.map +1 -1
  56. package/dist/llm/plugin.js.map +1 -1
  57. package/dist/security/patterns.js +2 -2
  58. package/dist/security/patterns.js.map +1 -1
  59. package/dist/security/prompt-injection-detector.d.ts +1 -2
  60. package/dist/security/prompt-injection-detector.d.ts.map +1 -1
  61. package/dist/security/prompt-injection-detector.js.map +1 -1
  62. package/dist/tools/audio-generate.d.ts +25 -0
  63. package/dist/tools/audio-generate.d.ts.map +1 -0
  64. package/dist/tools/audio-generate.js +82 -0
  65. package/dist/tools/audio-generate.js.map +1 -0
  66. package/dist/tools/audio-transcribe.d.ts +27 -0
  67. package/dist/tools/audio-transcribe.d.ts.map +1 -0
  68. package/dist/tools/audio-transcribe.js +71 -0
  69. package/dist/tools/audio-transcribe.js.map +1 -0
  70. package/dist/tools/datetime.d.ts +1 -1
  71. package/dist/tools/filesystem.d.ts +2 -2
  72. package/dist/tools/http.d.ts +1 -1
  73. package/dist/tools/image-analyze.d.ts +56 -0
  74. package/dist/tools/image-analyze.d.ts.map +1 -0
  75. package/dist/tools/image-analyze.js +72 -0
  76. package/dist/tools/image-analyze.js.map +1 -0
  77. package/dist/tools/image-generate.d.ts +35 -0
  78. package/dist/tools/image-generate.d.ts.map +1 -0
  79. package/dist/tools/image-generate.js +69 -0
  80. package/dist/tools/image-generate.js.map +1 -0
  81. package/dist/tools/index.d.ts +10 -6
  82. package/dist/tools/index.d.ts.map +1 -1
  83. package/dist/tools/index.js +4 -0
  84. package/dist/tools/index.js.map +1 -1
  85. package/dist/tools/random.d.ts +2 -2
  86. package/dist/tools/web-scrape.js +3 -3
  87. package/dist/tools/web-scrape.js.map +1 -1
  88. package/dist/utils/audio-fetch.d.ts +17 -0
  89. package/dist/utils/audio-fetch.d.ts.map +1 -0
  90. package/dist/utils/audio-fetch.js +103 -0
  91. package/dist/utils/audio-fetch.js.map +1 -0
  92. package/dist/utils/image-fetch.d.ts +16 -0
  93. package/dist/utils/image-fetch.d.ts.map +1 -0
  94. package/dist/utils/image-fetch.js +68 -0
  95. package/dist/utils/image-fetch.js.map +1 -0
  96. package/dist/utils/index.d.ts +2 -0
  97. package/dist/utils/index.d.ts.map +1 -1
  98. package/dist/utils/index.js +2 -0
  99. package/dist/utils/index.js.map +1 -1
  100. package/package.json +5 -5
@@ -0,0 +1,68 @@
1
+ const SUPPORTED_MEDIA_TYPES = new Set([
2
+ 'image/jpeg',
3
+ 'image/png',
4
+ 'image/gif',
5
+ 'image/webp',
6
+ ]);
7
+ function normalizeMediaType(contentType) {
8
+ if (!contentType)
9
+ return 'image/jpeg';
10
+ const mediaType = contentType.split(';')[0].trim().toLowerCase();
11
+ if (SUPPORTED_MEDIA_TYPES.has(mediaType)) {
12
+ return mediaType;
13
+ }
14
+ if (mediaType === 'image/jpg')
15
+ return 'image/jpeg';
16
+ return 'image/jpeg';
17
+ }
18
+ export async function fetchImageAsBase64(url, options) {
19
+ const timeout = options?.timeout ?? 30000;
20
+ const controller = new AbortController();
21
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
22
+ try {
23
+ const response = await fetch(url, {
24
+ signal: controller.signal,
25
+ headers: {
26
+ Accept: 'image/*',
27
+ },
28
+ });
29
+ if (!response.ok) {
30
+ throw new Error(`Failed to fetch image: HTTP ${response.status}`);
31
+ }
32
+ const contentType = response.headers.get('content-type');
33
+ const mediaType = normalizeMediaType(contentType);
34
+ const buffer = await response.arrayBuffer();
35
+ const data = Buffer.from(buffer).toString('base64');
36
+ return { data, mediaType };
37
+ }
38
+ finally {
39
+ clearTimeout(timeoutId);
40
+ }
41
+ }
42
+ export function isDataUrl(url) {
43
+ return url.startsWith('data:');
44
+ }
45
+ export function parseDataUrl(dataUrl) {
46
+ const match = dataUrl.match(/^data:([^;]+);base64,(.+)$/);
47
+ if (!match)
48
+ return null;
49
+ const [, contentType, data] = match;
50
+ const mediaType = normalizeMediaType(contentType);
51
+ return { data, mediaType };
52
+ }
53
+ export async function resolveImage(imageSource) {
54
+ if (typeof imageSource !== 'string') {
55
+ return {
56
+ data: imageSource.data,
57
+ mediaType: normalizeMediaType(imageSource.mimeType),
58
+ };
59
+ }
60
+ if (isDataUrl(imageSource)) {
61
+ const parsed = parseDataUrl(imageSource);
62
+ if (parsed)
63
+ return parsed;
64
+ throw new Error('Invalid data URL format');
65
+ }
66
+ return fetchImageAsBase64(imageSource);
67
+ }
68
+ //# sourceMappingURL=image-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-fetch.js","sourceRoot":"","sources":["../../src/utils/image-fetch.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export * from './retry';
2
2
  export * from './circuit-breaker';
3
3
  export * from './fallback';
4
+ export * from './image-fetch';
5
+ export * from './audio-fetch';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from './retry';
2
2
  export * from './circuit-breaker';
3
3
  export * from './fallback';
4
+ export * from './image-fetch';
5
+ export * from './audio-fetch';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/core",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "description": "Core runtime for Cogitator AI agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,9 +22,9 @@
22
22
  "openai": "^4.24.0",
23
23
  "zod": "^3.22.4",
24
24
  "zod-to-json-schema": "^3.22.4",
25
- "@cogitator-ai/models": "14.0.0",
26
- "@cogitator-ai/memory": "0.6.6",
27
- "@cogitator-ai/types": "0.16.0"
25
+ "@cogitator-ai/memory": "0.6.8",
26
+ "@cogitator-ai/types": "0.18.0",
27
+ "@cogitator-ai/models": "16.0.0"
28
28
  },
29
29
  "optionalDependencies": {
30
30
  "pg": "^8.11.3"
@@ -37,7 +37,7 @@
37
37
  "peerDependencies": {
38
38
  "@aws-sdk/client-bedrock-runtime": "^3.0.0",
39
39
  "pg": "^8.0.0",
40
- "@cogitator-ai/sandbox": "0.2.16"
40
+ "@cogitator-ai/sandbox": "0.2.18"
41
41
  },
42
42
  "peerDependenciesMeta": {
43
43
  "@aws-sdk/client-bedrock-runtime": {