@agtlantis/core 0.4.1 → 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.
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +3 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/types.d.ts +69 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +119 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/errors/utils.d.ts +17 -0
- package/dist/errors/utils.d.ts.map +1 -0
- package/dist/errors/utils.js +16 -0
- package/dist/errors/utils.js.map +1 -0
- package/dist/execution/constants.d.ts +7 -0
- package/dist/execution/constants.d.ts.map +1 -0
- package/dist/execution/constants.js +7 -0
- package/dist/execution/constants.js.map +1 -0
- package/dist/execution/index.d.ts +8 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +7 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/execution/mapping.d.ts +17 -0
- package/dist/execution/mapping.d.ts.map +1 -0
- package/dist/execution/mapping.js +197 -0
- package/dist/execution/mapping.js.map +1 -0
- package/dist/execution/shared.d.ts +86 -0
- package/dist/execution/shared.d.ts.map +1 -0
- package/dist/execution/shared.js +100 -0
- package/dist/execution/shared.js.map +1 -0
- package/dist/execution/simple-host.d.ts +56 -0
- package/dist/execution/simple-host.d.ts.map +1 -0
- package/dist/execution/simple-host.js +126 -0
- package/dist/execution/simple-host.js.map +1 -0
- package/dist/execution/streaming-host.d.ts +79 -0
- package/dist/execution/streaming-host.d.ts.map +1 -0
- package/dist/execution/streaming-host.js +276 -0
- package/dist/execution/streaming-host.js.map +1 -0
- package/dist/execution/testing/fixtures.d.ts +67 -0
- package/dist/execution/testing/fixtures.d.ts.map +1 -0
- package/dist/execution/testing/fixtures.js +145 -0
- package/dist/execution/testing/fixtures.js.map +1 -0
- package/dist/execution/testing/helpers.d.ts +218 -0
- package/dist/execution/testing/helpers.d.ts.map +1 -0
- package/dist/execution/testing/helpers.js +327 -0
- package/dist/execution/testing/helpers.js.map +1 -0
- package/dist/execution/testing/host-configs.d.ts +56 -0
- package/dist/execution/testing/host-configs.d.ts.map +1 -0
- package/dist/execution/testing/host-configs.js +154 -0
- package/dist/execution/testing/host-configs.js.map +1 -0
- package/dist/execution/testing/vitest-assertions.d.ts +102 -0
- package/dist/execution/testing/vitest-assertions.d.ts.map +1 -0
- package/dist/execution/testing/vitest-assertions.js +142 -0
- package/dist/execution/testing/vitest-assertions.js.map +1 -0
- package/dist/execution/types.d.ts +432 -0
- package/dist/execution/types.d.ts.map +1 -0
- package/dist/execution/types.js +2 -0
- package/dist/execution/types.js.map +1 -0
- package/dist/execution/utils.d.ts +68 -0
- package/dist/execution/utils.d.ts.map +1 -0
- package/dist/execution/utils.js +93 -0
- package/dist/execution/utils.js.map +1 -0
- package/dist/index.d.ts +10 -1502
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -3081
- package/dist/index.js.map +1 -1
- package/dist/observability/index.d.ts +4 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +2 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/logger.d.ts +161 -0
- package/dist/observability/logger.d.ts.map +1 -0
- package/dist/observability/logger.js +31 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/observability/types.d.ts +46 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +2 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/patterns/index.d.ts +2 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js +2 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/patterns/progressive/index.d.ts +2 -0
- package/dist/patterns/progressive/index.d.ts.map +1 -0
- package/dist/patterns/progressive/index.js +2 -0
- package/dist/patterns/progressive/index.js.map +1 -0
- package/dist/patterns/progressive/progressive-pattern.d.ts +174 -0
- package/dist/patterns/progressive/progressive-pattern.d.ts.map +1 -0
- package/dist/patterns/progressive/progressive-pattern.js +260 -0
- package/dist/patterns/progressive/progressive-pattern.js.map +1 -0
- package/dist/pricing/calculator.d.ts +71 -0
- package/dist/pricing/calculator.d.ts.map +1 -0
- package/dist/pricing/calculator.js +127 -0
- package/dist/pricing/calculator.js.map +1 -0
- package/dist/pricing/config.d.ts +61 -0
- package/dist/pricing/config.d.ts.map +1 -0
- package/dist/pricing/config.js +87 -0
- package/dist/pricing/config.js.map +1 -0
- package/dist/pricing/defaults.d.ts +29 -0
- package/dist/pricing/defaults.d.ts.map +1 -0
- package/dist/pricing/defaults.js +139 -0
- package/dist/pricing/defaults.js.map +1 -0
- package/dist/pricing/index.d.ts +40 -0
- package/dist/pricing/index.d.ts.map +1 -0
- package/dist/pricing/index.js +43 -0
- package/dist/pricing/index.js.map +1 -0
- package/dist/pricing/types.d.ts +96 -0
- package/dist/pricing/types.d.ts.map +1 -0
- package/dist/pricing/types.js +7 -0
- package/dist/pricing/types.js.map +1 -0
- package/dist/pricing/validator.d.ts +55 -0
- package/dist/pricing/validator.d.ts.map +1 -0
- package/dist/pricing/validator.js +84 -0
- package/dist/pricing/validator.js.map +1 -0
- package/dist/prompt/errors.d.ts +112 -0
- package/dist/prompt/errors.d.ts.map +1 -0
- package/dist/prompt/errors.js +175 -0
- package/dist/prompt/errors.js.map +1 -0
- package/dist/prompt/file-prompt-repository.d.ts +80 -0
- package/dist/prompt/file-prompt-repository.d.ts.map +1 -0
- package/dist/prompt/file-prompt-repository.js +287 -0
- package/dist/prompt/file-prompt-repository.js.map +1 -0
- package/dist/prompt/index.d.ts +34 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +37 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/prompt-template.d.ts +64 -0
- package/dist/prompt/prompt-template.d.ts.map +1 -0
- package/dist/prompt/prompt-template.js +90 -0
- package/dist/prompt/prompt-template.js.map +1 -0
- package/dist/prompt/template.d.ts +23 -0
- package/dist/prompt/template.d.ts.map +1 -0
- package/dist/prompt/template.js +70 -0
- package/dist/prompt/template.js.map +1 -0
- package/dist/prompt/types.d.ts +148 -0
- package/dist/prompt/types.d.ts.map +1 -0
- package/dist/prompt/types.js +7 -0
- package/dist/prompt/types.js.map +1 -0
- package/dist/provider/base-provider.d.ts +41 -0
- package/dist/provider/base-provider.d.ts.map +1 -0
- package/dist/provider/base-provider.js +21 -0
- package/dist/provider/base-provider.js.map +1 -0
- package/dist/provider/file-cache.d.ts +14 -0
- package/dist/provider/file-cache.d.ts.map +1 -0
- package/dist/provider/file-cache.js +29 -0
- package/dist/provider/file-cache.js.map +1 -0
- package/dist/provider/file-source.d.ts +32 -0
- package/dist/provider/file-source.d.ts.map +1 -0
- package/dist/provider/file-source.js +180 -0
- package/dist/provider/file-source.js.map +1 -0
- package/dist/provider/google/factory.d.ts +107 -0
- package/dist/provider/google/factory.d.ts.map +1 -0
- package/dist/provider/google/factory.js +143 -0
- package/dist/provider/google/factory.js.map +1 -0
- package/dist/provider/google/file-manager.d.ts +14 -0
- package/dist/provider/google/file-manager.d.ts.map +1 -0
- package/dist/provider/google/file-manager.js +183 -0
- package/dist/provider/google/file-manager.js.map +1 -0
- package/dist/provider/google/index.d.ts +8 -0
- package/dist/provider/google/index.d.ts.map +1 -0
- package/dist/provider/google/index.js +10 -0
- package/dist/provider/google/index.js.map +1 -0
- package/dist/provider/hash.d.ts +3 -0
- package/dist/provider/hash.d.ts.map +1 -0
- package/dist/provider/hash.js +34 -0
- package/dist/provider/hash.js.map +1 -0
- package/dist/provider/index.d.ts +9 -0
- package/dist/provider/index.d.ts.map +1 -0
- package/dist/provider/index.js +11 -0
- package/dist/provider/index.js.map +1 -0
- package/dist/provider/noop-file-manager.d.ts +9 -0
- package/dist/provider/noop-file-manager.d.ts.map +1 -0
- package/dist/provider/noop-file-manager.js +28 -0
- package/dist/provider/noop-file-manager.js.map +1 -0
- package/dist/provider/openai/factory.d.ts +67 -0
- package/dist/provider/openai/factory.d.ts.map +1 -0
- package/dist/provider/openai/factory.js +95 -0
- package/dist/provider/openai/factory.js.map +1 -0
- package/dist/provider/openai/index.d.ts +7 -0
- package/dist/provider/openai/index.d.ts.map +1 -0
- package/dist/provider/openai/index.js +7 -0
- package/dist/provider/openai/index.js.map +1 -0
- package/dist/provider/types.d.ts +105 -0
- package/dist/provider/types.d.ts.map +1 -0
- package/dist/provider/types.js +19 -0
- package/dist/provider/types.js.map +1 -0
- package/dist/session/index.d.ts +7 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +5 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/simple-session.d.ts +98 -0
- package/dist/session/simple-session.d.ts.map +1 -0
- package/dist/session/simple-session.js +299 -0
- package/dist/session/simple-session.js.map +1 -0
- package/dist/session/streaming-session.d.ts +90 -0
- package/dist/session/streaming-session.d.ts.map +1 -0
- package/dist/session/streaming-session.js +151 -0
- package/dist/session/streaming-session.js.map +1 -0
- package/dist/session/test-utils.d.ts +19 -0
- package/dist/session/test-utils.d.ts.map +1 -0
- package/dist/session/test-utils.js +65 -0
- package/dist/session/test-utils.js.map +1 -0
- package/dist/session/types.d.ts +219 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +181 -0
- package/dist/session/types.js.map +1 -0
- package/dist/session/usage-extractors.d.ts +7 -0
- package/dist/session/usage-extractors.d.ts.map +1 -0
- package/dist/session/usage-extractors.js +71 -0
- package/dist/session/usage-extractors.js.map +1 -0
- package/dist/testing/fixtures.d.ts +34 -0
- package/dist/testing/fixtures.d.ts.map +1 -0
- package/dist/testing/fixtures.js +65 -0
- package/dist/testing/fixtures.js.map +1 -0
- package/dist/testing/helpers.d.ts +20 -0
- package/dist/testing/helpers.d.ts.map +1 -0
- package/dist/testing/helpers.js +32 -0
- package/dist/testing/helpers.js.map +1 -0
- package/dist/testing/index.d.ts +7 -515
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +21 -2096
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/mock-provider.d.ts +79 -0
- package/dist/testing/mock-provider.d.ts.map +1 -0
- package/dist/testing/mock-provider.js +152 -0
- package/dist/testing/mock-provider.js.map +1 -0
- package/dist/testing/mock.d.ts +29 -0
- package/dist/testing/mock.d.ts.map +1 -0
- package/dist/testing/mock.js +154 -0
- package/dist/testing/mock.js.map +1 -0
- package/dist/testing/test-execution.d.ts +14 -0
- package/dist/testing/test-execution.d.ts.map +1 -0
- package/dist/testing/test-execution.js +108 -0
- package/dist/testing/test-execution.js.map +1 -0
- package/dist/utils/deep-merge.d.ts +6 -0
- package/dist/utils/deep-merge.d.ts.map +1 -0
- package/dist/utils/deep-merge.js +24 -0
- package/dist/utils/deep-merge.js.map +1 -0
- package/dist/validation/errors.d.ts +28 -0
- package/dist/validation/errors.d.ts.map +1 -0
- package/dist/validation/errors.js +39 -0
- package/dist/validation/errors.js.map +1 -0
- package/dist/validation/index.d.ts +5 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +4 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/types.d.ts +49 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +2 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation/validation-history.d.ts +12 -0
- package/dist/validation/validation-history.d.ts.map +1 -0
- package/dist/validation/validation-history.js +29 -0
- package/dist/validation/validation-history.js.map +1 -0
- package/dist/validation/with-validation.d.ts +38 -0
- package/dist/validation/with-validation.d.ts.map +1 -0
- package/dist/validation/with-validation.js +58 -0
- package/dist/validation/with-validation.js.map +1 -0
- package/package.json +72 -78
- package/dist/base-provider-C3mFLNiN.d.cts +0 -1236
- package/dist/base-provider-C3mFLNiN.d.ts +0 -1236
- package/dist/index.cjs +0 -3188
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -1502
- package/dist/testing/index.cjs +0 -2144
- package/dist/testing/index.cjs.map +0 -1
- package/dist/testing/index.d.cts +0 -516
|
@@ -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 @@
|
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAuC,MAAM,gBAAgB,CAAC;AAGnF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAoBnD,MAAM,cAAe,SAAQ,YAAY;IAGR,MAAM;IAFlB,MAAM,CAAkC;IAEzD,YAA6B,MAA2B,EAAE;QACtD,KAAK,EAAE,CAAC;sBADiB,MAAM;QAE/B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;SACpC,CAAC,CAAC;IAAA,CACN;IAED,gBAAgB,CAAC,OAAe,EAAkB;QAC9C,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAAA,CAC1E;IAED,UAAU,CAAC,SAAiB,EAAkB;QAC1C,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAAA,CACpE;IAED,WAAW,CAAC,OAAwB,EAAkB;QAClD,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAAA,CACzE;IAED;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,OAAuC,EAAkB;QACxE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAAA,CAC1E;IAED,4BAA4B,CAAC,OAA0B,EAAkB;QACrE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;IAAA,CAC7E;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,KAAiB,EAAkB;QAC7C,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAAA,CACnE;IAEO,gBAAgB,GAAG;QACvB,OAAO;YACH,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC5C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;gBACzC,CAAC,CAAC,IAAI;YACV,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvD,YAAY,EAAE,QAAiB;YAC/B,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;YAC1C,WAAW,EAAE,IAAI,eAAe,EAAE;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC9C,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;gBACxC,CAAC,CAAC,SAAS;YACf,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;SAC1D,CAAC;IAAA,CACL;IAES,sBAAsB,CAE9B,MAAoB,EAA4B;QAC9C,OAAO,IAAI,gBAAgB,CAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAAA,CAC/E;IAES,mBAAmB,CAAC,MAAoB,EAAiB;QAC/D,OAAO,IAAI,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAAA,CACpE;CACJ;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA4B,EAAkB;IAC/E,OAAO,IAAI,cAAc,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,YAAY,EAAE,MAAM,CAAC,YAAY;KACpC,CAAC,CAAC;AAAA,CACN"}
|
|
@@ -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 @@
|
|
|
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
|