@agtlantis/core 0.5.0 → 0.5.1

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 (265) hide show
  1. package/dist/errors/index.d.ts +4 -0
  2. package/dist/errors/index.d.ts.map +1 -0
  3. package/dist/errors/index.js +3 -0
  4. package/dist/errors/index.js.map +1 -0
  5. package/dist/errors/types.d.ts +69 -0
  6. package/dist/errors/types.d.ts.map +1 -0
  7. package/dist/errors/types.js +119 -0
  8. package/dist/errors/types.js.map +1 -0
  9. package/dist/errors/utils.d.ts +17 -0
  10. package/dist/errors/utils.d.ts.map +1 -0
  11. package/dist/errors/utils.js +16 -0
  12. package/dist/errors/utils.js.map +1 -0
  13. package/dist/execution/constants.d.ts +7 -0
  14. package/dist/execution/constants.d.ts.map +1 -0
  15. package/dist/execution/constants.js +7 -0
  16. package/dist/execution/constants.js.map +1 -0
  17. package/dist/execution/index.d.ts +8 -0
  18. package/dist/execution/index.d.ts.map +1 -0
  19. package/dist/execution/index.js +7 -0
  20. package/dist/execution/index.js.map +1 -0
  21. package/dist/execution/mapping.d.ts +17 -0
  22. package/dist/execution/mapping.d.ts.map +1 -0
  23. package/dist/execution/mapping.js +197 -0
  24. package/dist/execution/mapping.js.map +1 -0
  25. package/dist/execution/shared.d.ts +86 -0
  26. package/dist/execution/shared.d.ts.map +1 -0
  27. package/dist/execution/shared.js +100 -0
  28. package/dist/execution/shared.js.map +1 -0
  29. package/dist/execution/simple-host.d.ts +56 -0
  30. package/dist/execution/simple-host.d.ts.map +1 -0
  31. package/dist/execution/simple-host.js +126 -0
  32. package/dist/execution/simple-host.js.map +1 -0
  33. package/dist/execution/streaming-host.d.ts +79 -0
  34. package/dist/execution/streaming-host.d.ts.map +1 -0
  35. package/dist/execution/streaming-host.js +276 -0
  36. package/dist/execution/streaming-host.js.map +1 -0
  37. package/dist/execution/testing/fixtures.d.ts +67 -0
  38. package/dist/execution/testing/fixtures.d.ts.map +1 -0
  39. package/dist/execution/testing/fixtures.js +145 -0
  40. package/dist/execution/testing/fixtures.js.map +1 -0
  41. package/dist/execution/testing/helpers.d.ts +218 -0
  42. package/dist/execution/testing/helpers.d.ts.map +1 -0
  43. package/dist/execution/testing/helpers.js +327 -0
  44. package/dist/execution/testing/helpers.js.map +1 -0
  45. package/dist/execution/testing/host-configs.d.ts +56 -0
  46. package/dist/execution/testing/host-configs.d.ts.map +1 -0
  47. package/dist/execution/testing/host-configs.js +154 -0
  48. package/dist/execution/testing/host-configs.js.map +1 -0
  49. package/dist/execution/testing/vitest-assertions.d.ts +102 -0
  50. package/dist/execution/testing/vitest-assertions.d.ts.map +1 -0
  51. package/dist/execution/testing/vitest-assertions.js +142 -0
  52. package/dist/execution/testing/vitest-assertions.js.map +1 -0
  53. package/dist/execution/types.d.ts +432 -0
  54. package/dist/execution/types.d.ts.map +1 -0
  55. package/dist/execution/types.js +2 -0
  56. package/dist/execution/types.js.map +1 -0
  57. package/dist/execution/utils.d.ts +68 -0
  58. package/dist/execution/utils.d.ts.map +1 -0
  59. package/dist/execution/utils.js +93 -0
  60. package/dist/execution/utils.js.map +1 -0
  61. package/dist/index.d.ts +10 -1506
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +9 -2979
  64. package/dist/index.js.map +1 -1
  65. package/dist/observability/index.d.ts +4 -0
  66. package/dist/observability/index.d.ts.map +1 -0
  67. package/dist/observability/index.js +2 -0
  68. package/dist/observability/index.js.map +1 -0
  69. package/dist/observability/logger.d.ts +161 -0
  70. package/dist/observability/logger.d.ts.map +1 -0
  71. package/dist/observability/logger.js +31 -0
  72. package/dist/observability/logger.js.map +1 -0
  73. package/dist/observability/types.d.ts +46 -0
  74. package/dist/observability/types.d.ts.map +1 -0
  75. package/dist/observability/types.js +2 -0
  76. package/dist/observability/types.js.map +1 -0
  77. package/dist/patterns/index.d.ts +2 -0
  78. package/dist/patterns/index.d.ts.map +1 -0
  79. package/dist/patterns/index.js +2 -0
  80. package/dist/patterns/index.js.map +1 -0
  81. package/dist/patterns/progressive/index.d.ts +2 -0
  82. package/dist/patterns/progressive/index.d.ts.map +1 -0
  83. package/dist/patterns/progressive/index.js +2 -0
  84. package/dist/patterns/progressive/index.js.map +1 -0
  85. package/dist/patterns/progressive/progressive-pattern.d.ts +174 -0
  86. package/dist/patterns/progressive/progressive-pattern.d.ts.map +1 -0
  87. package/dist/patterns/progressive/progressive-pattern.js +260 -0
  88. package/dist/patterns/progressive/progressive-pattern.js.map +1 -0
  89. package/dist/pricing/calculator.d.ts +71 -0
  90. package/dist/pricing/calculator.d.ts.map +1 -0
  91. package/dist/pricing/calculator.js +127 -0
  92. package/dist/pricing/calculator.js.map +1 -0
  93. package/dist/pricing/config.d.ts +61 -0
  94. package/dist/pricing/config.d.ts.map +1 -0
  95. package/dist/pricing/config.js +87 -0
  96. package/dist/pricing/config.js.map +1 -0
  97. package/dist/pricing/defaults.d.ts +29 -0
  98. package/dist/pricing/defaults.d.ts.map +1 -0
  99. package/dist/pricing/defaults.js +139 -0
  100. package/dist/pricing/defaults.js.map +1 -0
  101. package/dist/pricing/index.d.ts +40 -0
  102. package/dist/pricing/index.d.ts.map +1 -0
  103. package/dist/pricing/index.js +43 -0
  104. package/dist/pricing/index.js.map +1 -0
  105. package/dist/pricing/types.d.ts +96 -0
  106. package/dist/pricing/types.d.ts.map +1 -0
  107. package/dist/pricing/types.js +7 -0
  108. package/dist/pricing/types.js.map +1 -0
  109. package/dist/pricing/validator.d.ts +55 -0
  110. package/dist/pricing/validator.d.ts.map +1 -0
  111. package/dist/pricing/validator.js +84 -0
  112. package/dist/pricing/validator.js.map +1 -0
  113. package/dist/prompt/errors.d.ts +112 -0
  114. package/dist/prompt/errors.d.ts.map +1 -0
  115. package/dist/prompt/errors.js +175 -0
  116. package/dist/prompt/errors.js.map +1 -0
  117. package/dist/prompt/file-prompt-repository.d.ts +80 -0
  118. package/dist/prompt/file-prompt-repository.d.ts.map +1 -0
  119. package/dist/prompt/file-prompt-repository.js +287 -0
  120. package/dist/prompt/file-prompt-repository.js.map +1 -0
  121. package/dist/prompt/index.d.ts +34 -0
  122. package/dist/prompt/index.d.ts.map +1 -0
  123. package/dist/prompt/index.js +37 -0
  124. package/dist/prompt/index.js.map +1 -0
  125. package/dist/prompt/prompt-template.d.ts +64 -0
  126. package/dist/prompt/prompt-template.d.ts.map +1 -0
  127. package/dist/prompt/prompt-template.js +90 -0
  128. package/dist/prompt/prompt-template.js.map +1 -0
  129. package/dist/prompt/template.d.ts +23 -0
  130. package/dist/prompt/template.d.ts.map +1 -0
  131. package/dist/prompt/template.js +70 -0
  132. package/dist/prompt/template.js.map +1 -0
  133. package/dist/prompt/types.d.ts +148 -0
  134. package/dist/prompt/types.d.ts.map +1 -0
  135. package/dist/prompt/types.js +7 -0
  136. package/dist/prompt/types.js.map +1 -0
  137. package/dist/provider/base-provider.d.ts +41 -0
  138. package/dist/provider/base-provider.d.ts.map +1 -0
  139. package/dist/provider/base-provider.js +21 -0
  140. package/dist/provider/base-provider.js.map +1 -0
  141. package/dist/provider/file-cache.d.ts +14 -0
  142. package/dist/provider/file-cache.d.ts.map +1 -0
  143. package/dist/provider/file-cache.js +29 -0
  144. package/dist/provider/file-cache.js.map +1 -0
  145. package/dist/provider/file-source.d.ts +32 -0
  146. package/dist/provider/file-source.d.ts.map +1 -0
  147. package/dist/provider/file-source.js +180 -0
  148. package/dist/provider/file-source.js.map +1 -0
  149. package/dist/provider/google/factory.d.ts +107 -0
  150. package/dist/provider/google/factory.d.ts.map +1 -0
  151. package/dist/provider/google/factory.js +143 -0
  152. package/dist/provider/google/factory.js.map +1 -0
  153. package/dist/provider/google/file-manager.d.ts +14 -0
  154. package/dist/provider/google/file-manager.d.ts.map +1 -0
  155. package/dist/provider/google/file-manager.js +183 -0
  156. package/dist/provider/google/file-manager.js.map +1 -0
  157. package/dist/provider/google/index.d.ts +8 -0
  158. package/dist/provider/google/index.d.ts.map +1 -0
  159. package/dist/provider/google/index.js +10 -0
  160. package/dist/provider/google/index.js.map +1 -0
  161. package/dist/provider/hash.d.ts +3 -0
  162. package/dist/provider/hash.d.ts.map +1 -0
  163. package/dist/provider/hash.js +34 -0
  164. package/dist/provider/hash.js.map +1 -0
  165. package/dist/provider/index.d.ts +9 -0
  166. package/dist/provider/index.d.ts.map +1 -0
  167. package/dist/provider/index.js +11 -0
  168. package/dist/provider/index.js.map +1 -0
  169. package/dist/provider/noop-file-manager.d.ts +9 -0
  170. package/dist/provider/noop-file-manager.d.ts.map +1 -0
  171. package/dist/provider/noop-file-manager.js +28 -0
  172. package/dist/provider/noop-file-manager.js.map +1 -0
  173. package/dist/provider/openai/factory.d.ts +67 -0
  174. package/dist/provider/openai/factory.d.ts.map +1 -0
  175. package/dist/provider/openai/factory.js +95 -0
  176. package/dist/provider/openai/factory.js.map +1 -0
  177. package/dist/provider/openai/index.d.ts +7 -0
  178. package/dist/provider/openai/index.d.ts.map +1 -0
  179. package/dist/provider/openai/index.js +7 -0
  180. package/dist/provider/openai/index.js.map +1 -0
  181. package/dist/provider/types.d.ts +105 -0
  182. package/dist/provider/types.d.ts.map +1 -0
  183. package/dist/provider/types.js +19 -0
  184. package/dist/provider/types.js.map +1 -0
  185. package/dist/session/index.d.ts +7 -0
  186. package/dist/session/index.d.ts.map +1 -0
  187. package/dist/session/index.js +5 -0
  188. package/dist/session/index.js.map +1 -0
  189. package/dist/session/simple-session.d.ts +98 -0
  190. package/dist/session/simple-session.d.ts.map +1 -0
  191. package/dist/session/simple-session.js +299 -0
  192. package/dist/session/simple-session.js.map +1 -0
  193. package/dist/session/streaming-session.d.ts +90 -0
  194. package/dist/session/streaming-session.d.ts.map +1 -0
  195. package/dist/session/streaming-session.js +151 -0
  196. package/dist/session/streaming-session.js.map +1 -0
  197. package/dist/session/test-utils.d.ts +19 -0
  198. package/dist/session/test-utils.d.ts.map +1 -0
  199. package/dist/session/test-utils.js +65 -0
  200. package/dist/session/test-utils.js.map +1 -0
  201. package/dist/session/types.d.ts +219 -0
  202. package/dist/session/types.d.ts.map +1 -0
  203. package/dist/session/types.js +181 -0
  204. package/dist/session/types.js.map +1 -0
  205. package/dist/session/usage-extractors.d.ts +7 -0
  206. package/dist/session/usage-extractors.d.ts.map +1 -0
  207. package/dist/session/usage-extractors.js +71 -0
  208. package/dist/session/usage-extractors.js.map +1 -0
  209. package/dist/testing/fixtures.d.ts +34 -0
  210. package/dist/testing/fixtures.d.ts.map +1 -0
  211. package/dist/testing/fixtures.js +65 -0
  212. package/dist/testing/fixtures.js.map +1 -0
  213. package/dist/testing/helpers.d.ts +20 -0
  214. package/dist/testing/helpers.d.ts.map +1 -0
  215. package/dist/testing/helpers.js +32 -0
  216. package/dist/testing/helpers.js.map +1 -0
  217. package/dist/testing/index.d.ts +7 -519
  218. package/dist/testing/index.d.ts.map +1 -0
  219. package/dist/testing/index.js +21 -2123
  220. package/dist/testing/index.js.map +1 -1
  221. package/dist/testing/mock-provider.d.ts +79 -0
  222. package/dist/testing/mock-provider.d.ts.map +1 -0
  223. package/dist/testing/mock-provider.js +152 -0
  224. package/dist/testing/mock-provider.js.map +1 -0
  225. package/dist/testing/mock.d.ts +29 -0
  226. package/dist/testing/mock.d.ts.map +1 -0
  227. package/dist/testing/mock.js +154 -0
  228. package/dist/testing/mock.js.map +1 -0
  229. package/dist/testing/test-execution.d.ts +14 -0
  230. package/dist/testing/test-execution.d.ts.map +1 -0
  231. package/dist/testing/test-execution.js +108 -0
  232. package/dist/testing/test-execution.js.map +1 -0
  233. package/dist/utils/deep-merge.d.ts +6 -0
  234. package/dist/utils/deep-merge.d.ts.map +1 -0
  235. package/dist/utils/deep-merge.js +24 -0
  236. package/dist/utils/deep-merge.js.map +1 -0
  237. package/dist/validation/errors.d.ts +28 -0
  238. package/dist/validation/errors.d.ts.map +1 -0
  239. package/dist/validation/errors.js +39 -0
  240. package/dist/validation/errors.js.map +1 -0
  241. package/dist/validation/index.d.ts +5 -0
  242. package/dist/validation/index.d.ts.map +1 -0
  243. package/dist/validation/index.js +4 -0
  244. package/dist/validation/index.js.map +1 -0
  245. package/dist/validation/types.d.ts +49 -0
  246. package/dist/validation/types.d.ts.map +1 -0
  247. package/dist/validation/types.js +2 -0
  248. package/dist/validation/types.js.map +1 -0
  249. package/dist/validation/validation-history.d.ts +12 -0
  250. package/dist/validation/validation-history.d.ts.map +1 -0
  251. package/dist/validation/validation-history.js +29 -0
  252. package/dist/validation/validation-history.js.map +1 -0
  253. package/dist/validation/with-validation.d.ts +38 -0
  254. package/dist/validation/with-validation.d.ts.map +1 -0
  255. package/dist/validation/with-validation.js +58 -0
  256. package/dist/validation/with-validation.js.map +1 -0
  257. package/package.json +72 -76
  258. package/dist/base-provider-2TTw5HAa.d.cts +0 -1254
  259. package/dist/base-provider-2TTw5HAa.d.ts +0 -1254
  260. package/dist/index.cjs +0 -3085
  261. package/dist/index.cjs.map +0 -1
  262. package/dist/index.d.cts +0 -1506
  263. package/dist/testing/index.cjs +0 -2167
  264. package/dist/testing/index.cjs.map +0 -1
  265. package/dist/testing/index.d.cts +0 -520
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../../src/provider/google/file-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Google Provider Module
3
+ *
4
+ * Exports Google AI (Gemini) provider factory and related types.
5
+ */
6
+ export { createGoogleProvider, GoogleProvider, type GoogleProviderConfig, type SafetySetting, type HarmCategory, type HarmBlockThreshold, type GoogleGenerativeAIProviderOptions, } from './factory.js';
7
+ export { GoogleFileManager } from './file-manager.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provider/google/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,GACvC,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Google Provider Module
3
+ *
4
+ * Exports Google AI (Gemini) provider factory and related types.
5
+ */
6
+ // Factory
7
+ export { createGoogleProvider, GoogleProvider, } from './factory.js';
8
+ // FileManager
9
+ export { GoogleFileManager } from './file-manager.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/provider/google/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU;AACV,OAAO,EACL,oBAAoB,EACpB,cAAc,GAMf,MAAM,cAAc,CAAC;AAEtB,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FileSource } from './types.js';
2
+ export declare function computeFileSourceHash(source: FileSource): Promise<string>;
3
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/provider/hash.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC/E"}
@@ -0,0 +1,34 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFile } from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ export async function computeFileSourceHash(source) {
5
+ if (source.hash) {
6
+ return source.hash;
7
+ }
8
+ const hash = createHash('sha256');
9
+ switch (source.source) {
10
+ case 'path': {
11
+ const fullPath = path.isAbsolute(source.path)
12
+ ? source.path
13
+ : path.resolve(process.cwd(), source.path);
14
+ const content = await readFile(fullPath);
15
+ hash.update(content);
16
+ break;
17
+ }
18
+ case 'data': {
19
+ hash.update(source.data);
20
+ break;
21
+ }
22
+ case 'base64': {
23
+ const buffer = Buffer.from(source.data, 'base64');
24
+ hash.update(buffer);
25
+ break;
26
+ }
27
+ case 'url': {
28
+ hash.update(source.url);
29
+ break;
30
+ }
31
+ }
32
+ return hash.digest('hex');
33
+ }
34
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/provider/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAkB,EAAmB;IAC7E,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBACzC,CAAC,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM;QACV,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM;QACV,CAAC;QACD,KAAK,QAAQ,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM;QACV,CAAC;QACD,KAAK,KAAK,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM;QACV,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAAA,CAC7B"}
@@ -0,0 +1,9 @@
1
+ export { type Provider, type FileManager, type FileManagerOptions, type FileCache, type UploadedFile, type FileSource, type FileSourcePath, type FileSourceData, type FileSourceBase64, type FileSourceUrl, isFileSource, isFileSourcePath, isFileSourceData, isFileSourceBase64, isFileSourceUrl, } from './types.js';
2
+ export { computeFileSourceHash } from './hash.js';
3
+ export { InMemoryFileCache, type InMemoryFileCacheOptions } from './file-cache.js';
4
+ export { BaseProvider } from './base-provider.js';
5
+ export { NoOpFileManager } from './noop-file-manager.js';
6
+ export { EXTENSION_TO_MIME, DEFAULT_MAX_SIZE, inferMediaType, scanForFileSources, resolveFileSource, resolveFileSourcesInInput, getFileSourceDisplayInfo, getFileSourcesDisplayInfo, type FoundFileSource, type ResolveOptions, type FileSourceDisplayInfo, } from './file-source.js';
7
+ export { createGoogleProvider, GoogleProvider, GoogleFileManager, type GoogleProviderConfig, type SafetySetting, type HarmCategory, type HarmBlockThreshold, type GoogleGenerativeAIProviderOptions, } from './google/index.js';
8
+ export { createOpenAIProvider, type OpenAIProviderConfig, type OpenAIChatLanguageModelOptions, } from './openai/index.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAElB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,GACzC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,GACtC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export {
2
+ // Type guards
3
+ isFileSource, isFileSourcePath, isFileSourceData, isFileSourceBase64, isFileSourceUrl, } from './types.js';
4
+ export { computeFileSourceHash } from './hash.js';
5
+ export { InMemoryFileCache } from './file-cache.js';
6
+ export { BaseProvider } from './base-provider.js';
7
+ export { NoOpFileManager } from './noop-file-manager.js';
8
+ export { EXTENSION_TO_MIME, DEFAULT_MAX_SIZE, inferMediaType, scanForFileSources, resolveFileSource, resolveFileSourcesInInput, getFileSourceDisplayInfo, getFileSourcesDisplayInfo, } from './file-source.js';
9
+ export { createGoogleProvider, GoogleProvider, GoogleFileManager, } from './google/index.js';
10
+ export { createOpenAIProvider, } from './openai/index.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO;AAWH,cAAc;AACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAiC,MAAM,iBAAiB,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAI5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,oBAAoB,GAGvB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { FileManager, FileSource, UploadedFile } from './types.js';
2
+ /** FileManager for providers without file upload support (throws on upload/delete) */
3
+ export declare class NoOpFileManager implements FileManager {
4
+ upload(_files: FileSource[]): Promise<UploadedFile[]>;
5
+ delete(_fileId: string): Promise<void>;
6
+ clear(): Promise<void>;
7
+ getUploadedFiles(): UploadedFile[];
8
+ }
9
+ //# sourceMappingURL=noop-file-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-file-manager.d.ts","sourceRoot":"","sources":["../../src/provider/noop-file-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAExE,sFAAsF;AACtF,qBAAa,eAAgB,YAAW,WAAW;IAC/C,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAQpD;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrC;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,gBAAgB,IAAI,YAAY,EAAE,CAEjC;CACJ"}
@@ -0,0 +1,28 @@
1
+ import { FileError, FileErrorCode } from '../errors/index.js';
2
+ /** FileManager for providers without file upload support (throws on upload/delete) */
3
+ export class NoOpFileManager {
4
+ upload(_files) {
5
+ throw new FileError('File upload not supported by this provider', {
6
+ code: FileErrorCode.UNSUPPORTED_TYPE,
7
+ context: {
8
+ provider: 'noop',
9
+ suggestion: 'Use a provider with file support (e.g., Google) or pass files inline',
10
+ },
11
+ });
12
+ }
13
+ delete(_fileId) {
14
+ throw new FileError('File delete not supported by this provider', {
15
+ code: FileErrorCode.UNSUPPORTED_TYPE,
16
+ context: {
17
+ provider: 'noop',
18
+ },
19
+ });
20
+ }
21
+ clear() {
22
+ return Promise.resolve();
23
+ }
24
+ getUploadedFiles() {
25
+ return [];
26
+ }
27
+ }
28
+ //# sourceMappingURL=noop-file-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-file-manager.js","sourceRoot":"","sources":["../../src/provider/noop-file-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG9D,sFAAsF;AACtF,MAAM,OAAO,eAAe;IACxB,MAAM,CAAC,MAAoB,EAA2B;QAClD,MAAM,IAAI,SAAS,CAAC,4CAA4C,EAAE;YAC9D,IAAI,EAAE,aAAa,CAAC,gBAAgB;YACpC,OAAO,EAAE;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,sEAAsE;aACrF;SACJ,CAAC,CAAC;IAAA,CACN;IAED,MAAM,CAAC,OAAe,EAAiB;QACnC,MAAM,IAAI,SAAS,CAAC,4CAA4C,EAAE;YAC9D,IAAI,EAAE,aAAa,CAAC,gBAAgB;YACpC,OAAO,EAAE;gBACL,QAAQ,EAAE,MAAM;aACnB;SACJ,CAAC,CAAC;IAAA,CACN;IAED,KAAK,GAAkB;QACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAAA,CAC5B;IAED,gBAAgB,GAAmB;QAC/B,OAAO,EAAE,CAAC;IAAA,CACb;CACJ"}
@@ -0,0 +1,67 @@
1
+ import { type OpenAIChatLanguageModelOptions } from '@ai-sdk/openai';
2
+ import type { FileCache } from '../types.js';
3
+ import type { Logger } from '../../observability/logger.js';
4
+ import type { ProviderPricing } from '../../pricing/index.js';
5
+ import type { GenerationOptions } from '../../session/index.js';
6
+ import { SimpleSession } from '../../session/simple-session.js';
7
+ import { StreamingSession } from '../../session/streaming-session.js';
8
+ import { BaseProvider } from '../base-provider.js';
9
+ export interface OpenAIProviderConfig {
10
+ apiKey: string;
11
+ baseURL?: string;
12
+ organization?: string;
13
+ }
14
+ interface OpenAIProviderState {
15
+ apiKey: string;
16
+ defaultModelId: string | null;
17
+ logger: Logger;
18
+ baseURL?: string;
19
+ organization?: string;
20
+ pricingConfig?: ProviderPricing;
21
+ defaultOptions?: OpenAIChatLanguageModelOptions;
22
+ fileCache?: FileCache;
23
+ defaultGenOptions?: GenerationOptions;
24
+ }
25
+ declare class OpenAIProvider extends BaseProvider {
26
+ private readonly config;
27
+ private readonly openai;
28
+ constructor(config: OpenAIProviderState);
29
+ withDefaultModel(modelId: string): OpenAIProvider;
30
+ withLogger(newLogger: Logger): OpenAIProvider;
31
+ withPricing(pricing: ProviderPricing): OpenAIProvider;
32
+ /**
33
+ * Set default provider-specific options for all LLM calls.
34
+ * These options will be deep-merged with per-call providerOptions.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * createOpenAIProvider({ apiKey: 'xxx' })
39
+ * .withDefaultModel('gpt-4o')
40
+ * .withDefaultOptions({
41
+ * reasoningEffort: 'high',
42
+ * parallelToolCalls: true,
43
+ * })
44
+ * ```
45
+ */
46
+ withDefaultOptions(options: OpenAIChatLanguageModelOptions): OpenAIProvider;
47
+ withDefaultGenerationOptions(options: GenerationOptions): OpenAIProvider;
48
+ /**
49
+ * Set a file cache for API consistency with GoogleProvider.
50
+ * Note: OpenAI does not support file caching, so this is a no-op.
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * createOpenAIProvider({ apiKey: 'xxx' })
55
+ * .withFileCache()
56
+ * ```
57
+ */
58
+ withFileCache(cache?: FileCache): OpenAIProvider;
59
+ private getSessionConfig;
60
+ protected createStreamingSession<TEvent extends {
61
+ type: string;
62
+ }>(signal?: AbortSignal): StreamingSession<TEvent>;
63
+ protected createSimpleSession(signal?: AbortSignal): SimpleSession;
64
+ }
65
+ export declare function createOpenAIProvider(config: OpenAIProviderConfig): OpenAIProvider;
66
+ export type { OpenAIChatLanguageModelOptions } from '@ai-sdk/openai';
67
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/provider/openai/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,mBAAmB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAED,cAAM,cAAe,SAAQ,YAAY;IAGzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAEzD,YAA6B,MAAM,EAAE,mBAAmB,EAOvD;IAED,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEhD;IAED,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAE5C;IAED,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAGpD;IAED;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,OAAO,EAAE,8BAA8B,GAAG,cAAc,CAE1E;IAED,4BAA4B,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAEvE;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,cAAc,CAE/C;IAED,OAAO,CAAC,gBAAgB;IAiBxB,SAAS,CAAC,sBAAsB,CAC5B,MAAM,SAAS;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACjC,MAAM,CAAC,EAAE,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAEhD;IAED,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAEjE;CACJ;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAQjF;AAGD,YAAY,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { createOpenAI } from '@ai-sdk/openai';
2
+ import { noopLogger } from '../../observability/logger.js';
3
+ import { validateProviderPricing } from '../../pricing/index.js';
4
+ import { NoOpFileManager } from '../noop-file-manager.js';
5
+ import { SimpleSession } from '../../session/simple-session.js';
6
+ import { StreamingSession } from '../../session/streaming-session.js';
7
+ import { BaseProvider } from '../base-provider.js';
8
+ class OpenAIProvider extends BaseProvider {
9
+ config;
10
+ openai;
11
+ constructor(config) {
12
+ super();
13
+ this.config = config;
14
+ this.openai = createOpenAI({
15
+ apiKey: config.apiKey,
16
+ baseURL: config.baseURL,
17
+ organization: config.organization,
18
+ });
19
+ }
20
+ withDefaultModel(modelId) {
21
+ return new OpenAIProvider({ ...this.config, defaultModelId: modelId });
22
+ }
23
+ withLogger(newLogger) {
24
+ return new OpenAIProvider({ ...this.config, logger: newLogger });
25
+ }
26
+ withPricing(pricing) {
27
+ validateProviderPricing(pricing, 'openai');
28
+ return new OpenAIProvider({ ...this.config, pricingConfig: pricing });
29
+ }
30
+ /**
31
+ * Set default provider-specific options for all LLM calls.
32
+ * These options will be deep-merged with per-call providerOptions.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * createOpenAIProvider({ apiKey: 'xxx' })
37
+ * .withDefaultModel('gpt-4o')
38
+ * .withDefaultOptions({
39
+ * reasoningEffort: 'high',
40
+ * parallelToolCalls: true,
41
+ * })
42
+ * ```
43
+ */
44
+ withDefaultOptions(options) {
45
+ return new OpenAIProvider({ ...this.config, defaultOptions: options });
46
+ }
47
+ withDefaultGenerationOptions(options) {
48
+ return new OpenAIProvider({ ...this.config, defaultGenOptions: options });
49
+ }
50
+ /**
51
+ * Set a file cache for API consistency with GoogleProvider.
52
+ * Note: OpenAI does not support file caching, so this is a no-op.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * createOpenAIProvider({ apiKey: 'xxx' })
57
+ * .withFileCache()
58
+ * ```
59
+ */
60
+ withFileCache(cache) {
61
+ return new OpenAIProvider({ ...this.config, fileCache: cache });
62
+ }
63
+ getSessionConfig() {
64
+ return {
65
+ defaultLanguageModel: this.config.defaultModelId
66
+ ? this.openai(this.config.defaultModelId)
67
+ : null,
68
+ modelFactory: (modelId) => this.openai(modelId),
69
+ providerType: 'openai',
70
+ providerPricing: this.config.pricingConfig,
71
+ fileManager: new NoOpFileManager(),
72
+ logger: this.config.logger,
73
+ defaultProviderOptions: this.config.defaultOptions
74
+ ? { openai: this.config.defaultOptions }
75
+ : undefined,
76
+ defaultGenerationOptions: this.config.defaultGenOptions,
77
+ };
78
+ }
79
+ createStreamingSession(signal) {
80
+ return new StreamingSession({ ...this.getSessionConfig(), signal });
81
+ }
82
+ createSimpleSession(signal) {
83
+ return new SimpleSession({ ...this.getSessionConfig(), signal });
84
+ }
85
+ }
86
+ export function createOpenAIProvider(config) {
87
+ return new OpenAIProvider({
88
+ apiKey: config.apiKey,
89
+ defaultModelId: null,
90
+ logger: noopLogger,
91
+ baseURL: config.baseURL,
92
+ organization: config.organization,
93
+ });
94
+ }
95
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/provider/openai/factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * OpenAI Provider Module
3
+ *
4
+ * Exports OpenAI (GPT) provider factory and related types.
5
+ */
6
+ export { createOpenAIProvider, type OpenAIProviderConfig, type OpenAIChatLanguageModelOptions, } from './factory.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provider/openai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,GACpC,MAAM,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * OpenAI Provider Module
3
+ *
4
+ * Exports OpenAI (GPT) provider factory and related types.
5
+ */
6
+ export { createOpenAIProvider, } from './factory.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/provider/openai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,GAGrB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,105 @@
1
+ import type { FilePart, ImagePart } from 'ai';
2
+ import type { ExecutionOptions, SessionEvent, SimpleExecution, StreamingExecution } from '../execution/index.js';
3
+ import type { Logger } from '../observability/logger.js';
4
+ import type { ProviderPricing } from '../pricing/index.js';
5
+ import { SimpleSession, StreamingSession } from '../session/index.js';
6
+ import type { GenerationOptions } from '../session/index.js';
7
+ /** Result of uploading a file to a provider's file storage */
8
+ export interface UploadedFile {
9
+ /** Unique identifier from the provider (used for deletion, null for external URLs) */
10
+ id: string | null;
11
+ /** AI SDK part ready for use in prompts */
12
+ part: FilePart | ImagePart;
13
+ }
14
+ /** Provider-agnostic file manager interface for upload/delete operations */
15
+ export interface FileManager {
16
+ upload(files: FileSource[]): Promise<UploadedFile[]>;
17
+ delete(fileId: string): Promise<void>;
18
+ clear(): Promise<void>;
19
+ getUploadedFiles(): UploadedFile[];
20
+ }
21
+ /** Cache for uploaded files to prevent duplicate uploads */
22
+ export interface FileCache {
23
+ get(hash: string): UploadedFile | null;
24
+ set(hash: string, file: UploadedFile, ttl?: number): void;
25
+ delete(hash: string): void;
26
+ clear(): void;
27
+ }
28
+ export interface FileManagerOptions {
29
+ cache?: FileCache;
30
+ }
31
+ export interface FileSourcePath {
32
+ source: 'path';
33
+ path: string;
34
+ mediaType?: string;
35
+ filename?: string;
36
+ hash?: string;
37
+ }
38
+ export interface FileSourceData {
39
+ source: 'data';
40
+ data: Buffer | Uint8Array;
41
+ mediaType: string;
42
+ filename?: string;
43
+ hash?: string;
44
+ }
45
+ export interface FileSourceBase64 {
46
+ source: 'base64';
47
+ data: string;
48
+ mediaType: string;
49
+ filename?: string;
50
+ hash?: string;
51
+ }
52
+ export interface FileSourceUrl {
53
+ source: 'url';
54
+ url: string;
55
+ mediaType?: string;
56
+ filename?: string;
57
+ hash?: string;
58
+ }
59
+ /** Union of all file part types. Use `source` to discriminate. */
60
+ export type FileSource = FileSourcePath | FileSourceData | FileSourceBase64 | FileSourceUrl;
61
+ export declare function isFileSource(v: unknown): v is FileSource;
62
+ export declare function isFileSourcePath(v: FileSource): v is FileSourcePath;
63
+ export declare function isFileSourceData(v: FileSource): v is FileSourceData;
64
+ export declare function isFileSourceBase64(v: FileSource): v is FileSourceBase64;
65
+ export declare function isFileSourceUrl(v: FileSource): v is FileSourceUrl;
66
+ /** Provider interface with fluent configuration for AI model operations */
67
+ export interface Provider {
68
+ withDefaultModel(modelId: string): Provider;
69
+ withLogger(logger: Logger): Provider;
70
+ withPricing(pricing: ProviderPricing): Provider;
71
+ /**
72
+ * Set default provider-specific options for all LLM calls.
73
+ * These options will be deep-merged with per-call providerOptions.
74
+ * The actual options type depends on the provider (Google, OpenAI, etc.).
75
+ */
76
+ withDefaultOptions(options: Record<string, unknown>): Provider;
77
+ /**
78
+ * Set default generation options (standard AI SDK parameters) for all LLM calls.
79
+ * Per-call parameters override these defaults.
80
+ */
81
+ withDefaultGenerationOptions(options: GenerationOptions): Provider;
82
+ streamingExecution<TEvent extends {
83
+ type: string;
84
+ }>(generator: (session: StreamingSession<TEvent>) => AsyncGenerator<SessionEvent<TEvent>, SessionEvent<TEvent> | Promise<SessionEvent<TEvent>>>, options?: ExecutionOptions): StreamingExecution<TEvent>;
85
+ /**
86
+ * Execute a non-streaming function with the provider.
87
+ * Returns immediately (sync) - execution starts in the background.
88
+ *
89
+ * Breaking change: Previously returned Promise<Execution<TResult>>.
90
+ * Now returns SimpleExecution<TResult> directly (no await needed).
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * // Before (v1.x):
95
+ * const execution = provider.simpleExecution(fn);
96
+ *
97
+ * // After (v2.x):
98
+ * const execution = provider.simpleExecution(fn);
99
+ * execution.cancel(); // Can cancel in-progress LLM calls
100
+ * const result = await execution.result();
101
+ * ```
102
+ */
103
+ simpleExecution<TResult>(fn: (session: SimpleSession) => Promise<TResult>, options?: ExecutionOptions): SimpleExecution<TResult>;
104
+ }
105
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ const FILE_SOURCE_TYPES = new Set(['path', 'data', 'base64', 'url']);
2
+ export function isFileSource(v) {
3
+ return (typeof v === 'object' &&
4
+ v !== null &&
5
+ FILE_SOURCE_TYPES.has(v.source));
6
+ }
7
+ export function isFileSourcePath(v) {
8
+ return v.source === 'path';
9
+ }
10
+ export function isFileSourceData(v) {
11
+ return v.source === 'data';
12
+ }
13
+ export function isFileSourceBase64(v) {
14
+ return v.source === 'base64';
15
+ }
16
+ export function isFileSourceUrl(v) {
17
+ return v.source === 'url';
18
+ }
19
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"AAsFA,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAErE,MAAM,UAAU,YAAY,CAAC,CAAU,EAAmB;IACtD,OAAO,CACH,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,iBAAiB,CAAC,GAAG,CAAE,CAA6B,CAAC,MAAgB,CAAC,CACzE,CAAC;AAAA,CACL;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAa,EAAuB;IACjE,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;AAAA,CAC9B;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAa,EAAuB;IACjE,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;AAAA,CAC9B;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAa,EAAyB;IACrE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;AAAA,CAChC;AAED,MAAM,UAAU,eAAe,CAAC,CAAa,EAAsB;IAC/D,OAAO,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC;AAAA,CAC7B"}
@@ -0,0 +1,7 @@
1
+ export * from './types.js';
2
+ export type { GenerationOptions } from './types.js';
3
+ export type { ProviderType } from './usage-extractors.js';
4
+ export { mergeUsages, createZeroUsage, detectProviderType } from './usage-extractors.js';
5
+ export { SimpleSession, type SimpleSessionOptions } from './simple-session.js';
6
+ export { StreamingSession, createStreamingSession, type StreamingSessionOptions, type CreateStreamingSessionOptions, type StreamingSessionInternal, } from './streaming-session.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,GAChC,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './types.js';
2
+ export { mergeUsages, createZeroUsage, detectProviderType } from './usage-extractors.js';
3
+ export { SimpleSession } from './simple-session.js';
4
+ export { StreamingSession, createStreamingSession, } from './streaming-session.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAK3B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EACH,gBAAgB,EAChB,sBAAsB,GAIzB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,98 @@
1
+ import type { LanguageModel, ToolSet } from 'ai';
2
+ import type { Logger } from '../observability/logger.js';
3
+ import type { FileManager } from '../provider/types.js';
4
+ import type { ProviderType, ProviderPricing } from '../pricing/types.js';
5
+ import { SessionSummary, type DefaultOutput, type GenerateTextParams, type GenerateTextResultTyped, type GenerationOptions, type StreamTextParams, type StreamTextResultTyped, type LLMCallRecord, type LLMCallType, type ToolCallSummary, type OutputSpec, type AdditionalCost } from './types.js';
6
+ /**
7
+ * Provider-specific options type.
8
+ * Maps provider names (e.g., 'google', 'openai') to their option objects.
9
+ */
10
+ type ProviderOptions = Record<string, Record<string, unknown>>;
11
+ export interface SimpleSessionOptions {
12
+ defaultLanguageModel?: LanguageModel | null;
13
+ modelFactory?: (modelId: string) => LanguageModel;
14
+ providerType: ProviderType;
15
+ providerPricing?: ProviderPricing;
16
+ fileManager: FileManager;
17
+ logger?: Logger;
18
+ startTime?: number;
19
+ /**
20
+ * AbortSignal for cancelling AI SDK calls.
21
+ * When aborted, ongoing generateText/streamText calls will be cancelled.
22
+ */
23
+ signal?: AbortSignal;
24
+ /**
25
+ * Default provider-specific options to apply to all LLM calls.
26
+ * These will be deep-merged with per-call providerOptions (per-call takes precedence).
27
+ */
28
+ defaultProviderOptions?: ProviderOptions;
29
+ /**
30
+ * Default tools to apply to all LLM calls (e.g., google_search, url_context).
31
+ * These will be merged with per-call tools (per-call takes precedence).
32
+ */
33
+ defaultTools?: ToolSet;
34
+ /**
35
+ * Default generation options (standard AI SDK parameters) for all LLM calls.
36
+ * Per-call parameters override these defaults via simple spread.
37
+ */
38
+ defaultGenerationOptions?: GenerationOptions;
39
+ }
40
+ export declare class SimpleSession {
41
+ private readonly defaultLanguageModel;
42
+ private readonly modelFactory;
43
+ private readonly providerType;
44
+ private readonly providerPricing;
45
+ private readonly defaultProviderOptions;
46
+ private readonly defaultTools;
47
+ private readonly defaultGenerationOptions;
48
+ private readonly _fileManager;
49
+ private readonly logger;
50
+ private readonly sessionStartTime;
51
+ private readonly signal?;
52
+ private summary;
53
+ private readonly pendingUsagePromises;
54
+ private readonly onDoneFns;
55
+ constructor(options: SimpleSessionOptions);
56
+ private getModel;
57
+ private extractModelId;
58
+ generateText<TOOLS extends ToolSet = {}, OUTPUT extends OutputSpec = DefaultOutput>(params: GenerateTextParams<TOOLS, OUTPUT>): Promise<GenerateTextResultTyped<TOOLS, OUTPUT>>;
59
+ streamText<TOOLS extends ToolSet = {}, OUTPUT extends OutputSpec = DefaultOutput>(params: StreamTextParams<TOOLS, OUTPUT>): StreamTextResultTyped<TOOLS, OUTPUT>;
60
+ get fileManager(): FileManager;
61
+ record(data: Record<string, unknown>): void;
62
+ recordToolCall(toolCallSummary: ToolCallSummary): void;
63
+ recordLLMCall(record: Omit<LLMCallRecord, 'type'> & {
64
+ type?: LLMCallType;
65
+ }): void;
66
+ recordAdditionalCost(cost: Omit<AdditionalCost, 'timestamp'>): void;
67
+ setMetadata(key: string, value: unknown): void;
68
+ setMetadata(data: Record<string, unknown>): void;
69
+ private updateSummaryWithLLMCall;
70
+ onDone(fn: () => Promise<void> | void): void;
71
+ runOnDoneHooks(): Promise<void>;
72
+ getSummary(): Promise<SessionSummary>;
73
+ /**
74
+ * Notifies Logger of execution start.
75
+ * @internal Called by SimpleExecutionHost - not intended for direct use.
76
+ */
77
+ notifyExecutionStart(): void;
78
+ /**
79
+ * Notifies Logger of execution completion with result data and summary.
80
+ * @param data - The execution result data
81
+ * @param startTime - Execution start timestamp for duration calculation
82
+ * @internal Called by SimpleExecutionHost - not intended for direct use.
83
+ */
84
+ notifyExecutionDone<T>(data: T, startTime: number): Promise<void>;
85
+ /**
86
+ * Notifies Logger of execution error with error details and summary (if available).
87
+ * Gracefully handles getSummary() failures - summary will be undefined if it fails.
88
+ * @param error - The error that occurred
89
+ * @param startTime - Execution start timestamp for duration calculation
90
+ * @internal Called by SimpleExecutionHost - not intended for direct use.
91
+ */
92
+ notifyExecutionError(error: Error, startTime: number): Promise<void>;
93
+ protected get _logger(): Logger;
94
+ protected get _startTime(): number;
95
+ protected get _modelId(): string;
96
+ }
97
+ export {};
98
+ //# sourceMappingURL=simple-session.d.ts.map