@langchain/google-common 2.1.17 → 2.1.19

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 (108) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/auth.cjs +1 -2
  3. package/dist/auth.cjs.map +1 -1
  4. package/dist/auth.d.cts.map +1 -1
  5. package/dist/auth.d.ts.map +1 -1
  6. package/dist/auth.js +1 -2
  7. package/dist/auth.js.map +1 -1
  8. package/dist/chat_models.cjs +24 -27
  9. package/dist/chat_models.cjs.map +1 -1
  10. package/dist/chat_models.d.cts.map +1 -1
  11. package/dist/chat_models.d.ts.map +1 -1
  12. package/dist/chat_models.js +7 -9
  13. package/dist/chat_models.js.map +1 -1
  14. package/dist/connection.cjs +16 -26
  15. package/dist/connection.cjs.map +1 -1
  16. package/dist/connection.d.cts.map +1 -1
  17. package/dist/connection.d.ts.map +1 -1
  18. package/dist/connection.js +13 -22
  19. package/dist/connection.js.map +1 -1
  20. package/dist/embeddings.cjs +12 -22
  21. package/dist/embeddings.cjs.map +1 -1
  22. package/dist/embeddings.d.cts +0 -1
  23. package/dist/embeddings.d.cts.map +1 -1
  24. package/dist/embeddings.d.ts +0 -1
  25. package/dist/embeddings.d.ts.map +1 -1
  26. package/dist/embeddings.js +7 -16
  27. package/dist/embeddings.js.map +1 -1
  28. package/dist/experimental/media.cjs +41 -70
  29. package/dist/experimental/media.cjs.map +1 -1
  30. package/dist/experimental/media.d.cts.map +1 -1
  31. package/dist/experimental/media.d.ts.map +1 -1
  32. package/dist/experimental/media.js +36 -65
  33. package/dist/experimental/media.js.map +1 -1
  34. package/dist/experimental/utils/media_core.cjs +22 -39
  35. package/dist/experimental/utils/media_core.cjs.map +1 -1
  36. package/dist/experimental/utils/media_core.d.cts.map +1 -1
  37. package/dist/experimental/utils/media_core.d.ts.map +1 -1
  38. package/dist/experimental/utils/media_core.js +16 -33
  39. package/dist/experimental/utils/media_core.js.map +1 -1
  40. package/dist/index.cjs +1 -0
  41. package/dist/llms.cjs +14 -19
  42. package/dist/llms.cjs.map +1 -1
  43. package/dist/llms.d.cts.map +1 -1
  44. package/dist/llms.d.ts.map +1 -1
  45. package/dist/llms.js +4 -8
  46. package/dist/llms.js.map +1 -1
  47. package/dist/output_parsers.cjs +12 -29
  48. package/dist/output_parsers.cjs.map +1 -1
  49. package/dist/output_parsers.d.cts.map +1 -1
  50. package/dist/output_parsers.d.ts.map +1 -1
  51. package/dist/output_parsers.js +10 -26
  52. package/dist/output_parsers.js.map +1 -1
  53. package/dist/profiles.cjs +100 -17
  54. package/dist/profiles.cjs.map +1 -1
  55. package/dist/profiles.js +100 -17
  56. package/dist/profiles.js.map +1 -1
  57. package/dist/types-anthropic.d.cts.map +1 -1
  58. package/dist/types-anthropic.d.ts.map +1 -1
  59. package/dist/types.cjs +1 -0
  60. package/dist/types.cjs.map +1 -1
  61. package/dist/types.d.cts +0 -1
  62. package/dist/types.d.cts.map +1 -1
  63. package/dist/types.d.ts +0 -1
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js.map +1 -1
  66. package/dist/utils/anthropic.cjs +73 -113
  67. package/dist/utils/anthropic.cjs.map +1 -1
  68. package/dist/utils/anthropic.js +63 -102
  69. package/dist/utils/anthropic.js.map +1 -1
  70. package/dist/utils/common.cjs +10 -13
  71. package/dist/utils/common.cjs.map +1 -1
  72. package/dist/utils/common.d.cts.map +1 -1
  73. package/dist/utils/common.d.ts.map +1 -1
  74. package/dist/utils/common.js +6 -8
  75. package/dist/utils/common.js.map +1 -1
  76. package/dist/utils/failed_handler.cjs +1 -2
  77. package/dist/utils/failed_handler.cjs.map +1 -1
  78. package/dist/utils/failed_handler.d.cts.map +1 -1
  79. package/dist/utils/failed_handler.d.ts.map +1 -1
  80. package/dist/utils/failed_handler.js +1 -2
  81. package/dist/utils/failed_handler.js.map +1 -1
  82. package/dist/utils/gemini.cjs +89 -135
  83. package/dist/utils/gemini.cjs.map +1 -1
  84. package/dist/utils/gemini.d.cts.map +1 -1
  85. package/dist/utils/gemini.d.ts.map +1 -1
  86. package/dist/utils/gemini.js +64 -109
  87. package/dist/utils/gemini.js.map +1 -1
  88. package/dist/utils/index.cjs +1 -0
  89. package/dist/utils/palm.d.cts.map +1 -1
  90. package/dist/utils/palm.d.ts.map +1 -1
  91. package/dist/utils/safety.cjs.map +1 -1
  92. package/dist/utils/safety.d.cts.map +1 -1
  93. package/dist/utils/safety.d.ts.map +1 -1
  94. package/dist/utils/safety.js.map +1 -1
  95. package/dist/utils/stream.cjs +5 -9
  96. package/dist/utils/stream.cjs.map +1 -1
  97. package/dist/utils/stream.d.cts.map +1 -1
  98. package/dist/utils/stream.d.ts.map +1 -1
  99. package/dist/utils/stream.js +5 -9
  100. package/dist/utils/stream.js.map +1 -1
  101. package/dist/utils/zod_to_gemini_parameters.cjs +4 -7
  102. package/dist/utils/zod_to_gemini_parameters.cjs.map +1 -1
  103. package/dist/utils/zod_to_gemini_parameters.d.cts.map +1 -1
  104. package/dist/utils/zod_to_gemini_parameters.d.ts.map +1 -1
  105. package/dist/utils/zod_to_gemini_parameters.js +2 -4
  106. package/dist/utils/zod_to_gemini_parameters.js.map +1 -1
  107. package/package.json +5 -5
  108. package/dist/_virtual/rolldown_runtime.cjs +0 -25
@@ -1,9 +1,9 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_connection = require('../connection.cjs');
3
3
  const require_auth = require('../auth.cjs');
4
4
  const require_experimental_utils_media_core = require('./utils/media_core.cjs');
5
- const __langchain_core_utils_env = require_rolldown_runtime.__toESM(require("@langchain/core/utils/env"));
6
- const __langchain_core_utils_async_caller = require_rolldown_runtime.__toESM(require("@langchain/core/utils/async_caller"));
5
+ let _langchain_core_utils_env = require("@langchain/core/utils/env");
6
+ let _langchain_core_utils_async_caller = require("@langchain/core/utils/async_caller");
7
7
 
8
8
  //#region src/experimental/media.ts
9
9
  var GoogleMultipartUploadConnection = class extends require_connection.GoogleHostConnection {
@@ -13,7 +13,7 @@ var GoogleMultipartUploadConnection = class extends require_connection.GoogleHos
13
13
  async _body(separator, data, metadata) {
14
14
  const contentType = data.mimetype;
15
15
  const { encoded, encoding } = await data.encode();
16
- const body = [
16
+ return [
17
17
  `--${separator}`,
18
18
  "Content-Type: application/json; charset=UTF-8",
19
19
  "",
@@ -25,8 +25,7 @@ var GoogleMultipartUploadConnection = class extends require_connection.GoogleHos
25
25
  "",
26
26
  encoded,
27
27
  `--${separator}--`
28
- ];
29
- return body.join("\n");
28
+ ].join("\n");
30
29
  }
31
30
  async request(data, metadata, options) {
32
31
  const separator = `separator-${Date.now()}`;
@@ -35,8 +34,7 @@ var GoogleMultipartUploadConnection = class extends require_connection.GoogleHos
35
34
  "Content-Type": `multipart/related; boundary=${separator}`,
36
35
  "X-Goog-Upload-Protocol": "multipart"
37
36
  };
38
- const response = this._request(body, options, requestHeaders);
39
- return response;
37
+ return this._request(body, options, requestHeaders);
40
38
  }
41
39
  };
42
40
  var GoogleDownloadConnection = class extends require_connection.GoogleHostConnection {
@@ -57,33 +55,23 @@ var BlobStoreGoogle = class extends require_experimental_utils_media_core.BlobSt
57
55
  client;
58
56
  constructor(fields) {
59
57
  super(fields);
60
- this.caller = new __langchain_core_utils_async_caller.AsyncCaller(fields ?? {});
58
+ this.caller = new _langchain_core_utils_async_caller.AsyncCaller(fields ?? {});
61
59
  this.client = this.buildClient(fields);
62
60
  }
63
61
  async _set(keyValuePair) {
64
62
  const [, blob] = keyValuePair;
65
- const setMetadata = this.buildSetMetadata(keyValuePair);
66
- const metadata = setMetadata;
67
- const options = {};
68
- const connection = this.buildSetConnection(keyValuePair);
69
- const response = await connection.request(blob, metadata, options);
70
- return response;
63
+ const metadata = this.buildSetMetadata(keyValuePair);
64
+ return await this.buildSetConnection(keyValuePair).request(blob, metadata, {});
71
65
  }
72
66
  async mset(keyValuePairs) {
73
67
  const ret = keyValuePairs.map((keyValue) => this._set(keyValue));
74
68
  await Promise.all(ret);
75
69
  }
76
70
  async _getMetadata(key) {
77
- const connection = this.buildGetMetadataConnection(key);
78
- const options = {};
79
- const response = await connection.request(options);
80
- return response.data;
71
+ return (await this.buildGetMetadataConnection(key).request({})).data;
81
72
  }
82
73
  async _getData(key) {
83
- const connection = this.buildGetDataConnection(key);
84
- const options = {};
85
- const response = await connection.request(options);
86
- return response.data;
74
+ return (await this.buildGetDataConnection(key).request({})).data;
87
75
  }
88
76
  _getMimetypeFromMetadata(metadata) {
89
77
  return metadata.contentType;
@@ -91,22 +79,18 @@ var BlobStoreGoogle = class extends require_experimental_utils_media_core.BlobSt
91
79
  async _get(key) {
92
80
  const metadata = await this._getMetadata(key);
93
81
  const data = await this._getData(key);
94
- if (data && metadata) {
95
- const ret = await require_experimental_utils_media_core.MediaBlob.fromBlob(data, {
96
- metadata,
97
- path: key
98
- });
99
- return ret;
100
- } else return void 0;
82
+ if (data && metadata) return await require_experimental_utils_media_core.MediaBlob.fromBlob(data, {
83
+ metadata,
84
+ path: key
85
+ });
86
+ else return;
101
87
  }
102
88
  async mget(keys) {
103
89
  const ret = keys.map((key) => this._get(key));
104
90
  return await Promise.all(ret);
105
91
  }
106
92
  async _del(key) {
107
- const connection = this.buildDeleteConnection(key);
108
- const options = {};
109
- await connection.request(options);
93
+ await this.buildDeleteConnection(key).request({});
110
94
  }
111
95
  async mdelete(keys) {
112
96
  const ret = keys.map((key) => this._del(key));
@@ -180,8 +164,7 @@ var GoogleCloudStorageRawConnection = class extends GoogleDownloadRawConnection
180
164
  }
181
165
  async buildUrl() {
182
166
  const path = encodeURIComponent(this.uri.path);
183
- const ret = `https://storage.googleapis.com/storage/${this.apiVersion}/b/${this.uri.bucket}/o/${path}?alt=media`;
184
- return ret;
167
+ return `https://storage.googleapis.com/storage/${this.apiVersion}/b/${this.uri.bucket}/o/${path}?alt=media`;
185
168
  }
186
169
  };
187
170
  var BlobStoreGoogleCloudStorageBase = class extends BlobStoreGoogle {
@@ -195,40 +178,34 @@ var BlobStoreGoogleCloudStorageBase = class extends BlobStoreGoogle {
195
178
  };
196
179
  }
197
180
  buildSetConnection([key, _blob]) {
198
- const params = {
181
+ return new GoogleCloudStorageUploadConnection({
199
182
  ...this.params,
200
183
  uri: key
201
- };
202
- return new GoogleCloudStorageUploadConnection(params, this.caller, this.client);
184
+ }, this.caller, this.client);
203
185
  }
204
186
  buildSetMetadata([key, blob]) {
205
- const uri = new GoogleCloudStorageUri(key);
206
- const ret = {
207
- name: uri.path,
187
+ return {
188
+ name: new GoogleCloudStorageUri(key).path,
208
189
  metadata: blob.metadata,
209
190
  contentType: blob.mimetype
210
191
  };
211
- return ret;
212
192
  }
213
193
  buildGetMetadataConnection(key) {
214
- const params = {
194
+ return new GoogleCloudStorageDownloadConnection({
215
195
  uri: key,
216
196
  method: "GET",
217
197
  alt: void 0
218
- };
219
- return new GoogleCloudStorageDownloadConnection(params, this.caller, this.client);
198
+ }, this.caller, this.client);
220
199
  }
221
200
  buildGetDataConnection(key) {
222
- const params = { uri: key };
223
- return new GoogleCloudStorageRawConnection(params, this.caller, this.client);
201
+ return new GoogleCloudStorageRawConnection({ uri: key }, this.caller, this.client);
224
202
  }
225
203
  buildDeleteConnection(key) {
226
- const params = {
204
+ return new GoogleCloudStorageDownloadConnection({
227
205
  uri: key,
228
206
  method: "DELETE",
229
207
  alt: void 0
230
- };
231
- return new GoogleCloudStorageDownloadConnection(params, this.caller, this.client);
208
+ }, this.caller, this.client);
232
209
  }
233
210
  };
234
211
  var AIStudioMediaBlob = class extends require_experimental_utils_media_core.MediaBlob {
@@ -250,8 +227,7 @@ var AIStudioMediaBlob = class extends require_experimental_utils_media_core.Medi
250
227
  }
251
228
  get isExpired() {
252
229
  const now = (/* @__PURE__ */ new Date()).toISOString();
253
- const exp = this.metadata?.expirationTime ?? now;
254
- return exp <= now;
230
+ return (this.metadata?.expirationTime ?? now) <= now;
255
231
  }
256
232
  };
257
233
  var AIStudioFileUploadConnection = class extends GoogleMultipartUploadConnection {
@@ -302,7 +278,7 @@ var BlobStoreAIStudioFileBase = class extends BlobStoreGoogle {
302
278
  return new require_auth.ApiKeyGoogleAuth(apiKey);
303
279
  }
304
280
  buildApiKey(fields) {
305
- return fields?.apiKey ?? (0, __langchain_core_utils_env.getEnvironmentVariable)("GOOGLE_API_KEY");
281
+ return fields?.apiKey ?? (0, _langchain_core_utils_env.getEnvironmentVariable)("GOOGLE_API_KEY");
306
282
  }
307
283
  buildClient(fields) {
308
284
  const apiKey = this.buildApiKey(fields);
@@ -331,38 +307,33 @@ var BlobStoreAIStudioFileBase = class extends BlobStoreGoogle {
331
307
  return {};
332
308
  }
333
309
  buildGetMetadataConnection(key) {
334
- const params = {
310
+ return new AIStudioFileDownloadConnection({
335
311
  ...this.params,
336
312
  method: "GET",
337
313
  name: this._pathToName(key)
338
- };
339
- return new AIStudioFileDownloadConnection(params, this.caller, this.client);
314
+ }, this.caller, this.client);
340
315
  }
341
316
  buildGetDataConnection(_key) {
342
317
  throw new Error("AI Studio File API does not provide data");
343
318
  }
344
319
  async _get(key) {
345
320
  const metadata = await this._getMetadata(key);
346
- if (metadata) {
347
- const contentType = metadata?.mimeType ?? "application/octet-stream";
348
- const data = {
321
+ if (metadata) return new require_experimental_utils_media_core.MediaBlob({
322
+ path: key,
323
+ data: {
349
324
  value: "",
350
- type: contentType
351
- };
352
- return new require_experimental_utils_media_core.MediaBlob({
353
- path: key,
354
- data,
355
- metadata
356
- });
357
- } else return void 0;
325
+ type: metadata?.mimeType ?? "application/octet-stream"
326
+ },
327
+ metadata
328
+ });
329
+ else return;
358
330
  }
359
331
  buildDeleteConnection(key) {
360
- const params = {
332
+ return new AIStudioFileDownloadConnection({
361
333
  ...this.params,
362
334
  method: "DELETE",
363
335
  name: this._pathToName(key)
364
- };
365
- return new AIStudioFileDownloadConnection(params, this.caller, this.client);
336
+ }, this.caller, this.client);
366
337
  }
367
338
  };
368
339
 
@@ -1 +1 @@
1
- {"version":3,"file":"media.cjs","names":["GoogleHostConnection","fields: GoogleConnectionParams<AuthOptions> | undefined","caller: AsyncCaller","client: GoogleAbstractedClient","separator: string","data: MediaBlob","metadata: Record<string, unknown>","options: CallOptions","GoogleRawConnection","BlobStore","fields?: BlobStoreGoogleParams<AuthOptions>","AsyncCaller","keyValuePair: [string, MediaBlob]","keyValuePairs: [string, MediaBlob][]","key: string","MediaBlob","keys: string[]","_prefix: string | undefined","uri: string","fields: GoogleCloudStorageUploadConnectionParams<AuthOptions>","fields: GoogleCloudStorageDownloadConnectionParams<AuthOptions>","fields: GoogleCloudStorageRawConnectionParams<AuthOptions>","fields: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>","params: GoogleCloudStorageUploadConnectionParams<AuthOptions>","ret: GoogleCloudStorageObject","params: GoogleCloudStorageDownloadConnectionParams<AuthOptions>","params: GoogleCloudStorageRawConnectionParams<AuthOptions>","value: string","field: string","fields: AIStudioFileDownloadConnectionParams<AuthOptions>","fields?: BlobStoreAIStudioFileBaseParams<AuthOptions>","params: BlobStoreAIStudioFileBaseParams<AuthOptions>","path: string","apiKey: string","ApiKeyGoogleAuth","params: AIStudioFileDownloadConnectionParams<AuthOptions>","_key: string","data: MediaBlobData"],"sources":["../../src/experimental/media.ts"],"sourcesContent":["import {\n AsyncCaller,\n AsyncCallerCallOptions,\n AsyncCallerParams,\n} from \"@langchain/core/utils/async_caller\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport {\n MediaBlob,\n BlobStore,\n BlobStoreOptions,\n MediaBlobData,\n} from \"./utils/media_core.js\";\nimport {\n GoogleConnectionParams,\n GoogleRawResponse,\n GoogleResponse,\n} from \"../types.js\";\nimport { GoogleHostConnection, GoogleRawConnection } from \"../connection.js\";\nimport {\n ApiKeyGoogleAuth,\n GoogleAbstractedClient,\n GoogleAbstractedClientOpsMethod,\n} from \"../auth.js\";\n\nexport interface GoogleUploadConnectionParams<\n AuthOptions,\n> extends GoogleConnectionParams<AuthOptions> {}\n\nexport abstract class GoogleMultipartUploadConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> {\n constructor(\n fields: GoogleConnectionParams<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n }\n\n async _body(\n separator: string,\n data: MediaBlob,\n metadata: Record<string, unknown>\n ): Promise<string> {\n const contentType = data.mimetype;\n const { encoded, encoding } = await data.encode();\n const body = [\n `--${separator}`,\n \"Content-Type: application/json; charset=UTF-8\",\n \"\",\n JSON.stringify(metadata),\n \"\",\n `--${separator}`,\n `Content-Type: ${contentType}`,\n `Content-Transfer-Encoding: ${encoding}`,\n \"\",\n encoded,\n `--${separator}--`,\n ];\n return body.join(\"\\n\");\n }\n\n async request(\n data: MediaBlob,\n metadata: Record<string, unknown>,\n options: CallOptions\n ): Promise<ResponseType> {\n const separator = `separator-${Date.now()}`;\n const body = await this._body(separator, data, metadata);\n const requestHeaders = {\n \"Content-Type\": `multipart/related; boundary=${separator}`,\n \"X-Goog-Upload-Protocol\": \"multipart\",\n };\n const response = this._request(body, options, requestHeaders);\n return response;\n }\n}\n\nexport abstract class GoogleDownloadConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> {\n async request(options: CallOptions): Promise<ResponseType> {\n return this._request(undefined, options);\n }\n}\n\nexport abstract class GoogleDownloadRawConnection<\n CallOptions extends AsyncCallerCallOptions,\n AuthOptions,\n> extends GoogleRawConnection<CallOptions, AuthOptions> {\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return \"GET\";\n }\n\n async request(options: CallOptions): Promise<GoogleRawResponse> {\n return this._request(undefined, options);\n }\n}\n\nexport interface BlobStoreGoogleParams<AuthOptions>\n extends\n GoogleConnectionParams<AuthOptions>,\n AsyncCallerParams,\n BlobStoreOptions {}\n\nexport abstract class BlobStoreGoogle<\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends BlobStore {\n caller: AsyncCaller;\n\n client: GoogleAbstractedClient;\n\n constructor(fields?: BlobStoreGoogleParams<AuthOptions>) {\n super(fields);\n this.caller = new AsyncCaller(fields ?? {});\n this.client = this.buildClient(fields);\n }\n\n abstract buildClient(\n fields?: BlobStoreGoogleParams<AuthOptions>\n ): GoogleAbstractedClient;\n\n abstract buildSetMetadata([key, blob]: [string, MediaBlob]): Record<\n string,\n unknown\n >;\n\n abstract buildSetConnection([key, blob]: [\n string,\n MediaBlob,\n ]): GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n ResponseType,\n AuthOptions\n >;\n\n async _set(keyValuePair: [string, MediaBlob]): Promise<ResponseType> {\n const [, blob] = keyValuePair;\n const setMetadata = this.buildSetMetadata(keyValuePair);\n const metadata = setMetadata;\n const options = {};\n const connection = this.buildSetConnection(keyValuePair);\n const response = await connection.request(blob, metadata, options);\n return response;\n }\n\n async mset(keyValuePairs: [string, MediaBlob][]): Promise<void> {\n const ret = keyValuePairs.map((keyValue) => this._set(keyValue));\n await Promise.all(ret);\n }\n\n abstract buildGetMetadataConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n ResponseType,\n AuthOptions\n >;\n\n async _getMetadata(key: string): Promise<Record<string, unknown>> {\n const connection = this.buildGetMetadataConnection(key);\n const options = {};\n const response = await connection.request(options);\n return response.data;\n }\n\n abstract buildGetDataConnection(\n key: string\n ): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions>;\n\n async _getData(key: string): Promise<Blob> {\n const connection = this.buildGetDataConnection(key);\n const options = {};\n const response = await connection.request(options);\n return response.data;\n }\n\n _getMimetypeFromMetadata(metadata: Record<string, unknown>): string {\n return metadata.contentType as string;\n }\n\n async _get(key: string): Promise<MediaBlob | undefined> {\n const metadata = await this._getMetadata(key);\n const data = await this._getData(key);\n if (data && metadata) {\n const ret = await MediaBlob.fromBlob(data, { metadata, path: key });\n return ret;\n } else {\n return undefined;\n }\n }\n\n async mget(keys: string[]): Promise<(MediaBlob | undefined)[]> {\n const ret = keys.map((key) => this._get(key));\n return await Promise.all(ret);\n }\n\n abstract buildDeleteConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n GoogleResponse,\n AuthOptions\n >;\n\n async _del(key: string): Promise<void> {\n const connection = this.buildDeleteConnection(key);\n const options = {};\n await connection.request(options);\n }\n\n async mdelete(keys: string[]): Promise<void> {\n const ret = keys.map((key) => this._del(key));\n await Promise.all(ret);\n }\n\n // eslint-disable-next-line require-yield\n async *yieldKeys(_prefix: string | undefined): AsyncGenerator<string> {\n // TODO: Implement. Most have an implementation that uses nextToken.\n throw new Error(\"yieldKeys is not implemented\");\n }\n}\n\n/**\n * Based on https://cloud.google.com/storage/docs/json_api/v1/objects#resource\n */\nexport interface GoogleCloudStorageObject extends Record<string, unknown> {\n id?: string;\n name?: string;\n contentType?: string;\n metadata?: Record<string, unknown>;\n // This is incomplete.\n}\n\nexport interface GoogleCloudStorageResponse extends GoogleResponse {\n data: GoogleCloudStorageObject;\n}\n\nexport type BucketAndPath = {\n bucket: string;\n path: string;\n};\n\nexport class GoogleCloudStorageUri {\n static uriRegexp = /gs:\\/\\/([a-z0-9][a-z0-9._-]+[a-z0-9])\\/(.*)/;\n\n bucket: string;\n\n path: string;\n\n constructor(uri: string) {\n const bucketAndPath = GoogleCloudStorageUri.uriToBucketAndPath(uri);\n this.bucket = bucketAndPath.bucket;\n this.path = bucketAndPath.path;\n }\n\n get uri() {\n return `gs://${this.bucket}/${this.path}`;\n }\n\n get isValid() {\n return (\n typeof this.bucket !== \"undefined\" && typeof this.path !== \"undefined\"\n );\n }\n\n static uriToBucketAndPath(uri: string): BucketAndPath {\n const match = this.uriRegexp.exec(uri);\n if (!match) {\n throw new Error(`Invalid gs:// URI: ${uri}`);\n }\n return {\n bucket: match[1],\n path: match[2],\n };\n }\n\n static isValidUri(uri: string): boolean {\n return this.uriRegexp.test(uri);\n }\n}\n\nexport interface GoogleCloudStorageConnectionParams {\n uri: string;\n}\n\nexport interface GoogleCloudStorageUploadConnectionParams<AuthOptions>\n extends\n GoogleUploadConnectionParams<AuthOptions>,\n GoogleCloudStorageConnectionParams {}\n\nexport class GoogleCloudStorageUploadConnection<\n AuthOptions,\n> extends GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n GoogleCloudStorageResponse,\n AuthOptions\n> {\n uri: GoogleCloudStorageUri;\n\n constructor(\n fields: GoogleCloudStorageUploadConnectionParams<AuthOptions>,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n this.uri = new GoogleCloudStorageUri(fields.uri);\n }\n\n async buildUrl(): Promise<string> {\n return `https://storage.googleapis.com/upload/storage/${this.apiVersion}/b/${this.uri.bucket}/o?uploadType=multipart`;\n }\n}\n\nexport interface GoogleCloudStorageDownloadConnectionParams<AuthOptions>\n extends\n GoogleCloudStorageConnectionParams,\n GoogleConnectionParams<AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n alt: \"media\" | undefined;\n}\n\nexport class GoogleCloudStorageDownloadConnection<\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends GoogleDownloadConnection<\n AsyncCallerCallOptions,\n ResponseType,\n AuthOptions\n> {\n uri: GoogleCloudStorageUri;\n\n method: GoogleAbstractedClientOpsMethod;\n\n alt: \"media\" | undefined;\n\n constructor(\n fields: GoogleCloudStorageDownloadConnectionParams<AuthOptions>,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n this.uri = new GoogleCloudStorageUri(fields.uri);\n this.method = fields.method;\n this.alt = fields.alt;\n }\n\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return this.method;\n }\n\n async buildUrl(): Promise<string> {\n const path = encodeURIComponent(this.uri.path);\n const ret = `https://storage.googleapis.com/storage/${this.apiVersion}/b/${this.uri.bucket}/o/${path}`;\n return this.alt ? `${ret}?alt=${this.alt}` : ret;\n }\n}\n\nexport interface GoogleCloudStorageRawConnectionParams<AuthOptions>\n extends\n GoogleCloudStorageConnectionParams,\n GoogleConnectionParams<AuthOptions> {}\n\nexport class GoogleCloudStorageRawConnection<\n AuthOptions,\n> extends GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions> {\n uri: GoogleCloudStorageUri;\n\n constructor(\n fields: GoogleCloudStorageRawConnectionParams<AuthOptions>,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n this.uri = new GoogleCloudStorageUri(fields.uri);\n }\n\n async buildUrl(): Promise<string> {\n const path = encodeURIComponent(this.uri.path);\n const ret = `https://storage.googleapis.com/storage/${this.apiVersion}/b/${this.uri.bucket}/o/${path}?alt=media`;\n return ret;\n }\n}\n\nexport interface BlobStoreGoogleCloudStorageBaseParams<\n AuthOptions,\n> extends BlobStoreGoogleParams<AuthOptions> {\n uriPrefix: GoogleCloudStorageUri;\n}\n\nexport abstract class BlobStoreGoogleCloudStorageBase<\n AuthOptions,\n> extends BlobStoreGoogle<GoogleCloudStorageResponse, AuthOptions> {\n params: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>;\n\n constructor(fields: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>) {\n super(fields);\n this.params = fields;\n this.defaultStoreOptions = {\n ...this.defaultStoreOptions,\n pathPrefix: fields.uriPrefix.uri,\n };\n }\n\n buildSetConnection([key, _blob]: [\n string,\n MediaBlob,\n ]): GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n GoogleCloudStorageResponse,\n AuthOptions\n > {\n const params: GoogleCloudStorageUploadConnectionParams<AuthOptions> = {\n ...this.params,\n uri: key,\n };\n return new GoogleCloudStorageUploadConnection<AuthOptions>(\n params,\n this.caller,\n this.client\n );\n }\n\n buildSetMetadata([key, blob]: [string, MediaBlob]): Record<string, unknown> {\n const uri = new GoogleCloudStorageUri(key);\n const ret: GoogleCloudStorageObject = {\n name: uri.path,\n metadata: blob.metadata,\n contentType: blob.mimetype,\n };\n return ret;\n }\n\n buildGetMetadataConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n GoogleCloudStorageResponse,\n AuthOptions\n > {\n const params: GoogleCloudStorageDownloadConnectionParams<AuthOptions> = {\n uri: key,\n method: \"GET\",\n alt: undefined,\n };\n return new GoogleCloudStorageDownloadConnection<\n GoogleCloudStorageResponse,\n AuthOptions\n >(params, this.caller, this.client);\n }\n\n buildGetDataConnection(\n key: string\n ): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions> {\n const params: GoogleCloudStorageRawConnectionParams<AuthOptions> = {\n uri: key,\n };\n return new GoogleCloudStorageRawConnection<AuthOptions>(\n params,\n this.caller,\n this.client\n );\n }\n\n buildDeleteConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n GoogleResponse,\n AuthOptions\n > {\n const params: GoogleCloudStorageDownloadConnectionParams<AuthOptions> = {\n uri: key,\n method: \"DELETE\",\n alt: undefined,\n };\n return new GoogleCloudStorageDownloadConnection<\n GoogleResponse,\n AuthOptions\n >(params, this.caller, this.client);\n }\n}\n\nexport type AIStudioFileState =\n | \"PROCESSING\"\n | \"ACTIVE\"\n | \"FAILED\"\n | \"STATE_UNSPECIFIED\";\n\nexport type AIStudioFileVideoMetadata = {\n videoMetadata: {\n videoDuration: string; // Duration in seconds, possibly with fractional, ending in \"s\"\n };\n};\n\nexport type AIStudioFileMetadata = AIStudioFileVideoMetadata;\n\nexport interface AIStudioFileObject {\n name?: string;\n displayName?: string;\n mimeType?: string;\n sizeBytes?: string; // int64 format\n createTime?: string; // timestamp format\n updateTime?: string; // timestamp format\n expirationTime?: string; // timestamp format\n sha256Hash?: string; // base64 encoded\n uri?: string;\n state?: AIStudioFileState;\n error?: {\n code: number;\n message: string;\n details: Record<string, unknown>[];\n };\n metadata?: AIStudioFileMetadata;\n}\n\nexport class AIStudioMediaBlob extends MediaBlob {\n _valueAsDate(value: string): Date {\n if (!value) {\n return new Date(0);\n }\n return new Date(value);\n }\n\n _metadataFieldAsDate(field: string): Date {\n return this._valueAsDate(this.metadata?.[field]);\n }\n\n get createDate(): Date {\n return this._metadataFieldAsDate(\"createTime\");\n }\n\n get updateDate(): Date {\n return this._metadataFieldAsDate(\"updateTime\");\n }\n\n get expirationDate(): Date {\n return this._metadataFieldAsDate(\"expirationTime\");\n }\n\n get isExpired(): boolean {\n const now = new Date().toISOString();\n const exp = this.metadata?.expirationTime ?? now;\n return exp <= now;\n }\n}\n\nexport interface AIStudioFileGetResponse extends GoogleResponse {\n data: AIStudioFileObject;\n}\n\nexport interface AIStudioFileSaveResponse extends GoogleResponse {\n data: {\n file: AIStudioFileObject;\n };\n}\n\nexport interface AIStudioFileListResponse extends GoogleResponse {\n data: {\n files: AIStudioFileObject[];\n nextPageToken: string;\n };\n}\n\nexport type AIStudioFileResponse =\n | AIStudioFileGetResponse\n | AIStudioFileSaveResponse\n | AIStudioFileListResponse;\n\nexport interface AIStudioFileConnectionParams {}\n\nexport interface AIStudioFileUploadConnectionParams<AuthOptions>\n extends\n GoogleUploadConnectionParams<AuthOptions>,\n AIStudioFileConnectionParams {}\n\nexport class AIStudioFileUploadConnection<\n AuthOptions,\n> extends GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n AIStudioFileSaveResponse,\n AuthOptions\n> {\n get computedApiVersion(): string {\n return \"v1beta\";\n }\n\n async buildUrl(): Promise<string> {\n return `https://generativelanguage.googleapis.com/upload/${this.apiVersion}/files`;\n }\n}\n\nexport interface AIStudioFileDownloadConnectionParams<AuthOptions>\n extends AIStudioFileConnectionParams, GoogleConnectionParams<AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n name: string;\n}\n\nexport class AIStudioFileDownloadConnection<\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends GoogleDownloadConnection<\n AsyncCallerCallOptions,\n ResponseType,\n AuthOptions\n> {\n method: GoogleAbstractedClientOpsMethod;\n\n name: string;\n\n constructor(\n fields: AIStudioFileDownloadConnectionParams<AuthOptions>,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n this.method = fields.method;\n this.name = fields.name;\n }\n\n get computedApiVersion(): string {\n return \"v1beta\";\n }\n\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return this.method;\n }\n\n async buildUrl(): Promise<string> {\n return `https://generativelanguage.googleapis.com/${this.apiVersion}/files/${this.name}`;\n }\n}\n\nexport interface BlobStoreAIStudioFileBaseParams<\n AuthOptions,\n> extends BlobStoreGoogleParams<AuthOptions> {\n retryTime?: number;\n}\n\nexport abstract class BlobStoreAIStudioFileBase<\n AuthOptions,\n> extends BlobStoreGoogle<AIStudioFileResponse, AuthOptions> {\n params?: BlobStoreAIStudioFileBaseParams<AuthOptions>;\n\n retryTime: number = 1000;\n\n constructor(fields?: BlobStoreAIStudioFileBaseParams<AuthOptions>) {\n const params: BlobStoreAIStudioFileBaseParams<AuthOptions> = {\n defaultStoreOptions: {\n pathPrefix: \"https://generativelanguage.googleapis.com/v1beta/files/\",\n actionIfInvalid: \"removePath\",\n },\n ...fields,\n };\n super(params);\n this.params = params;\n this.retryTime = params?.retryTime ?? this.retryTime ?? 1000;\n }\n\n _pathToName(path: string): string {\n return path.split(\"/\").pop() ?? path;\n }\n\n abstract buildAbstractedClient(\n fields?: BlobStoreGoogleParams<AuthOptions>\n ): GoogleAbstractedClient;\n\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient {\n return new ApiKeyGoogleAuth(apiKey);\n }\n\n buildApiKey(fields?: BlobStoreGoogleParams<AuthOptions>): string | undefined {\n return fields?.apiKey ?? getEnvironmentVariable(\"GOOGLE_API_KEY\");\n }\n\n buildClient(\n fields?: BlobStoreGoogleParams<AuthOptions>\n ): GoogleAbstractedClient {\n const apiKey = this.buildApiKey(fields);\n if (apiKey) {\n return this.buildApiKeyClient(apiKey);\n } else {\n // TODO: Test that you can use OAuth to access\n return this.buildAbstractedClient(fields);\n }\n }\n\n async _regetMetadata(key: string): Promise<AIStudioFileObject> {\n // Sleep for some time period\n await new Promise((resolve) => setTimeout(resolve, this.retryTime));\n\n // Fetch the latest metadata\n return this._getMetadata(key);\n }\n\n async _set([key, blob]: [\n string,\n MediaBlob,\n ]): Promise<AIStudioFileSaveResponse> {\n const response = (await super._set([\n key,\n blob,\n ])) as AIStudioFileSaveResponse;\n\n let file = response.data?.file ?? { state: \"FAILED\" };\n while (file.state === \"PROCESSING\" && file.uri && this.retryTime > 0) {\n file = await this._regetMetadata(file.uri);\n }\n\n // The response should contain the name (and valid URI), so we need to\n // update the blob with this. We can't return a new blob, since mset()\n // doesn't return anything.\n blob.path = file.uri;\n blob.metadata = {\n ...blob.metadata,\n ...file,\n };\n return response;\n }\n\n buildSetConnection([_key, _blob]: [\n string,\n MediaBlob,\n ]): GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n AIStudioFileResponse,\n AuthOptions\n > {\n return new AIStudioFileUploadConnection(\n this.params,\n this.caller,\n this.client\n );\n }\n\n buildSetMetadata([_key, _blob]: [string, MediaBlob]): Record<\n string,\n unknown\n > {\n return {};\n }\n\n buildGetMetadataConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n AIStudioFileResponse,\n AuthOptions\n > {\n const params: AIStudioFileDownloadConnectionParams<AuthOptions> = {\n ...this.params,\n method: \"GET\",\n name: this._pathToName(key),\n };\n return new AIStudioFileDownloadConnection<\n AIStudioFileResponse,\n AuthOptions\n >(params, this.caller, this.client);\n }\n\n buildGetDataConnection(\n _key: string\n ): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions> {\n throw new Error(\"AI Studio File API does not provide data\");\n }\n\n async _get(key: string): Promise<MediaBlob | undefined> {\n const metadata = await this._getMetadata(key);\n if (metadata) {\n const contentType =\n (metadata?.mimeType as string) ?? \"application/octet-stream\";\n // TODO - Get the actual data (and other metadata) from an optional backing store\n const data: MediaBlobData = {\n value: \"\",\n type: contentType,\n };\n\n return new MediaBlob({\n path: key,\n data,\n metadata,\n });\n } else {\n return undefined;\n }\n }\n\n buildDeleteConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n AIStudioFileResponse,\n AuthOptions\n > {\n const params: AIStudioFileDownloadConnectionParams<AuthOptions> = {\n ...this.params,\n method: \"DELETE\",\n name: this._pathToName(key),\n };\n return new AIStudioFileDownloadConnection<\n AIStudioFileResponse,\n AuthOptions\n >(params, this.caller, this.client);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"media.cjs","names":["GoogleHostConnection","GoogleRawConnection","BlobStore","AsyncCaller","MediaBlob","ApiKeyGoogleAuth"],"sources":["../../src/experimental/media.ts"],"sourcesContent":["import {\n AsyncCaller,\n AsyncCallerCallOptions,\n AsyncCallerParams,\n} from \"@langchain/core/utils/async_caller\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport {\n MediaBlob,\n BlobStore,\n BlobStoreOptions,\n MediaBlobData,\n} from \"./utils/media_core.js\";\nimport {\n GoogleConnectionParams,\n GoogleRawResponse,\n GoogleResponse,\n} from \"../types.js\";\nimport { GoogleHostConnection, GoogleRawConnection } from \"../connection.js\";\nimport {\n ApiKeyGoogleAuth,\n GoogleAbstractedClient,\n GoogleAbstractedClientOpsMethod,\n} from \"../auth.js\";\n\nexport interface GoogleUploadConnectionParams<\n AuthOptions,\n> extends GoogleConnectionParams<AuthOptions> {}\n\nexport abstract class GoogleMultipartUploadConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> {\n constructor(\n fields: GoogleConnectionParams<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n }\n\n async _body(\n separator: string,\n data: MediaBlob,\n metadata: Record<string, unknown>\n ): Promise<string> {\n const contentType = data.mimetype;\n const { encoded, encoding } = await data.encode();\n const body = [\n `--${separator}`,\n \"Content-Type: application/json; charset=UTF-8\",\n \"\",\n JSON.stringify(metadata),\n \"\",\n `--${separator}`,\n `Content-Type: ${contentType}`,\n `Content-Transfer-Encoding: ${encoding}`,\n \"\",\n encoded,\n `--${separator}--`,\n ];\n return body.join(\"\\n\");\n }\n\n async request(\n data: MediaBlob,\n metadata: Record<string, unknown>,\n options: CallOptions\n ): Promise<ResponseType> {\n const separator = `separator-${Date.now()}`;\n const body = await this._body(separator, data, metadata);\n const requestHeaders = {\n \"Content-Type\": `multipart/related; boundary=${separator}`,\n \"X-Goog-Upload-Protocol\": \"multipart\",\n };\n const response = this._request(body, options, requestHeaders);\n return response;\n }\n}\n\nexport abstract class GoogleDownloadConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> {\n async request(options: CallOptions): Promise<ResponseType> {\n return this._request(undefined, options);\n }\n}\n\nexport abstract class GoogleDownloadRawConnection<\n CallOptions extends AsyncCallerCallOptions,\n AuthOptions,\n> extends GoogleRawConnection<CallOptions, AuthOptions> {\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return \"GET\";\n }\n\n async request(options: CallOptions): Promise<GoogleRawResponse> {\n return this._request(undefined, options);\n }\n}\n\nexport interface BlobStoreGoogleParams<AuthOptions>\n extends\n GoogleConnectionParams<AuthOptions>,\n AsyncCallerParams,\n BlobStoreOptions {}\n\nexport abstract class BlobStoreGoogle<\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends BlobStore {\n caller: AsyncCaller;\n\n client: GoogleAbstractedClient;\n\n constructor(fields?: BlobStoreGoogleParams<AuthOptions>) {\n super(fields);\n this.caller = new AsyncCaller(fields ?? {});\n this.client = this.buildClient(fields);\n }\n\n abstract buildClient(\n fields?: BlobStoreGoogleParams<AuthOptions>\n ): GoogleAbstractedClient;\n\n abstract buildSetMetadata([key, blob]: [string, MediaBlob]): Record<\n string,\n unknown\n >;\n\n abstract buildSetConnection([key, blob]: [\n string,\n MediaBlob,\n ]): GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n ResponseType,\n AuthOptions\n >;\n\n async _set(keyValuePair: [string, MediaBlob]): Promise<ResponseType> {\n const [, blob] = keyValuePair;\n const setMetadata = this.buildSetMetadata(keyValuePair);\n const metadata = setMetadata;\n const options = {};\n const connection = this.buildSetConnection(keyValuePair);\n const response = await connection.request(blob, metadata, options);\n return response;\n }\n\n async mset(keyValuePairs: [string, MediaBlob][]): Promise<void> {\n const ret = keyValuePairs.map((keyValue) => this._set(keyValue));\n await Promise.all(ret);\n }\n\n abstract buildGetMetadataConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n ResponseType,\n AuthOptions\n >;\n\n async _getMetadata(key: string): Promise<Record<string, unknown>> {\n const connection = this.buildGetMetadataConnection(key);\n const options = {};\n const response = await connection.request(options);\n return response.data;\n }\n\n abstract buildGetDataConnection(\n key: string\n ): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions>;\n\n async _getData(key: string): Promise<Blob> {\n const connection = this.buildGetDataConnection(key);\n const options = {};\n const response = await connection.request(options);\n return response.data;\n }\n\n _getMimetypeFromMetadata(metadata: Record<string, unknown>): string {\n return metadata.contentType as string;\n }\n\n async _get(key: string): Promise<MediaBlob | undefined> {\n const metadata = await this._getMetadata(key);\n const data = await this._getData(key);\n if (data && metadata) {\n const ret = await MediaBlob.fromBlob(data, { metadata, path: key });\n return ret;\n } else {\n return undefined;\n }\n }\n\n async mget(keys: string[]): Promise<(MediaBlob | undefined)[]> {\n const ret = keys.map((key) => this._get(key));\n return await Promise.all(ret);\n }\n\n abstract buildDeleteConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n GoogleResponse,\n AuthOptions\n >;\n\n async _del(key: string): Promise<void> {\n const connection = this.buildDeleteConnection(key);\n const options = {};\n await connection.request(options);\n }\n\n async mdelete(keys: string[]): Promise<void> {\n const ret = keys.map((key) => this._del(key));\n await Promise.all(ret);\n }\n\n // eslint-disable-next-line require-yield\n async *yieldKeys(_prefix: string | undefined): AsyncGenerator<string> {\n // TODO: Implement. Most have an implementation that uses nextToken.\n throw new Error(\"yieldKeys is not implemented\");\n }\n}\n\n/**\n * Based on https://cloud.google.com/storage/docs/json_api/v1/objects#resource\n */\nexport interface GoogleCloudStorageObject extends Record<string, unknown> {\n id?: string;\n name?: string;\n contentType?: string;\n metadata?: Record<string, unknown>;\n // This is incomplete.\n}\n\nexport interface GoogleCloudStorageResponse extends GoogleResponse {\n data: GoogleCloudStorageObject;\n}\n\nexport type BucketAndPath = {\n bucket: string;\n path: string;\n};\n\nexport class GoogleCloudStorageUri {\n static uriRegexp = /gs:\\/\\/([a-z0-9][a-z0-9._-]+[a-z0-9])\\/(.*)/;\n\n bucket: string;\n\n path: string;\n\n constructor(uri: string) {\n const bucketAndPath = GoogleCloudStorageUri.uriToBucketAndPath(uri);\n this.bucket = bucketAndPath.bucket;\n this.path = bucketAndPath.path;\n }\n\n get uri() {\n return `gs://${this.bucket}/${this.path}`;\n }\n\n get isValid() {\n return (\n typeof this.bucket !== \"undefined\" && typeof this.path !== \"undefined\"\n );\n }\n\n static uriToBucketAndPath(uri: string): BucketAndPath {\n const match = this.uriRegexp.exec(uri);\n if (!match) {\n throw new Error(`Invalid gs:// URI: ${uri}`);\n }\n return {\n bucket: match[1],\n path: match[2],\n };\n }\n\n static isValidUri(uri: string): boolean {\n return this.uriRegexp.test(uri);\n }\n}\n\nexport interface GoogleCloudStorageConnectionParams {\n uri: string;\n}\n\nexport interface GoogleCloudStorageUploadConnectionParams<AuthOptions>\n extends\n GoogleUploadConnectionParams<AuthOptions>,\n GoogleCloudStorageConnectionParams {}\n\nexport class GoogleCloudStorageUploadConnection<\n AuthOptions,\n> extends GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n GoogleCloudStorageResponse,\n AuthOptions\n> {\n uri: GoogleCloudStorageUri;\n\n constructor(\n fields: GoogleCloudStorageUploadConnectionParams<AuthOptions>,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n this.uri = new GoogleCloudStorageUri(fields.uri);\n }\n\n async buildUrl(): Promise<string> {\n return `https://storage.googleapis.com/upload/storage/${this.apiVersion}/b/${this.uri.bucket}/o?uploadType=multipart`;\n }\n}\n\nexport interface GoogleCloudStorageDownloadConnectionParams<AuthOptions>\n extends\n GoogleCloudStorageConnectionParams,\n GoogleConnectionParams<AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n alt: \"media\" | undefined;\n}\n\nexport class GoogleCloudStorageDownloadConnection<\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends GoogleDownloadConnection<\n AsyncCallerCallOptions,\n ResponseType,\n AuthOptions\n> {\n uri: GoogleCloudStorageUri;\n\n method: GoogleAbstractedClientOpsMethod;\n\n alt: \"media\" | undefined;\n\n constructor(\n fields: GoogleCloudStorageDownloadConnectionParams<AuthOptions>,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n this.uri = new GoogleCloudStorageUri(fields.uri);\n this.method = fields.method;\n this.alt = fields.alt;\n }\n\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return this.method;\n }\n\n async buildUrl(): Promise<string> {\n const path = encodeURIComponent(this.uri.path);\n const ret = `https://storage.googleapis.com/storage/${this.apiVersion}/b/${this.uri.bucket}/o/${path}`;\n return this.alt ? `${ret}?alt=${this.alt}` : ret;\n }\n}\n\nexport interface GoogleCloudStorageRawConnectionParams<AuthOptions>\n extends\n GoogleCloudStorageConnectionParams,\n GoogleConnectionParams<AuthOptions> {}\n\nexport class GoogleCloudStorageRawConnection<\n AuthOptions,\n> extends GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions> {\n uri: GoogleCloudStorageUri;\n\n constructor(\n fields: GoogleCloudStorageRawConnectionParams<AuthOptions>,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n this.uri = new GoogleCloudStorageUri(fields.uri);\n }\n\n async buildUrl(): Promise<string> {\n const path = encodeURIComponent(this.uri.path);\n const ret = `https://storage.googleapis.com/storage/${this.apiVersion}/b/${this.uri.bucket}/o/${path}?alt=media`;\n return ret;\n }\n}\n\nexport interface BlobStoreGoogleCloudStorageBaseParams<\n AuthOptions,\n> extends BlobStoreGoogleParams<AuthOptions> {\n uriPrefix: GoogleCloudStorageUri;\n}\n\nexport abstract class BlobStoreGoogleCloudStorageBase<\n AuthOptions,\n> extends BlobStoreGoogle<GoogleCloudStorageResponse, AuthOptions> {\n params: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>;\n\n constructor(fields: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>) {\n super(fields);\n this.params = fields;\n this.defaultStoreOptions = {\n ...this.defaultStoreOptions,\n pathPrefix: fields.uriPrefix.uri,\n };\n }\n\n buildSetConnection([key, _blob]: [\n string,\n MediaBlob,\n ]): GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n GoogleCloudStorageResponse,\n AuthOptions\n > {\n const params: GoogleCloudStorageUploadConnectionParams<AuthOptions> = {\n ...this.params,\n uri: key,\n };\n return new GoogleCloudStorageUploadConnection<AuthOptions>(\n params,\n this.caller,\n this.client\n );\n }\n\n buildSetMetadata([key, blob]: [string, MediaBlob]): Record<string, unknown> {\n const uri = new GoogleCloudStorageUri(key);\n const ret: GoogleCloudStorageObject = {\n name: uri.path,\n metadata: blob.metadata,\n contentType: blob.mimetype,\n };\n return ret;\n }\n\n buildGetMetadataConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n GoogleCloudStorageResponse,\n AuthOptions\n > {\n const params: GoogleCloudStorageDownloadConnectionParams<AuthOptions> = {\n uri: key,\n method: \"GET\",\n alt: undefined,\n };\n return new GoogleCloudStorageDownloadConnection<\n GoogleCloudStorageResponse,\n AuthOptions\n >(params, this.caller, this.client);\n }\n\n buildGetDataConnection(\n key: string\n ): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions> {\n const params: GoogleCloudStorageRawConnectionParams<AuthOptions> = {\n uri: key,\n };\n return new GoogleCloudStorageRawConnection<AuthOptions>(\n params,\n this.caller,\n this.client\n );\n }\n\n buildDeleteConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n GoogleResponse,\n AuthOptions\n > {\n const params: GoogleCloudStorageDownloadConnectionParams<AuthOptions> = {\n uri: key,\n method: \"DELETE\",\n alt: undefined,\n };\n return new GoogleCloudStorageDownloadConnection<\n GoogleResponse,\n AuthOptions\n >(params, this.caller, this.client);\n }\n}\n\nexport type AIStudioFileState =\n | \"PROCESSING\"\n | \"ACTIVE\"\n | \"FAILED\"\n | \"STATE_UNSPECIFIED\";\n\nexport type AIStudioFileVideoMetadata = {\n videoMetadata: {\n videoDuration: string; // Duration in seconds, possibly with fractional, ending in \"s\"\n };\n};\n\nexport type AIStudioFileMetadata = AIStudioFileVideoMetadata;\n\nexport interface AIStudioFileObject {\n name?: string;\n displayName?: string;\n mimeType?: string;\n sizeBytes?: string; // int64 format\n createTime?: string; // timestamp format\n updateTime?: string; // timestamp format\n expirationTime?: string; // timestamp format\n sha256Hash?: string; // base64 encoded\n uri?: string;\n state?: AIStudioFileState;\n error?: {\n code: number;\n message: string;\n details: Record<string, unknown>[];\n };\n metadata?: AIStudioFileMetadata;\n}\n\nexport class AIStudioMediaBlob extends MediaBlob {\n _valueAsDate(value: string): Date {\n if (!value) {\n return new Date(0);\n }\n return new Date(value);\n }\n\n _metadataFieldAsDate(field: string): Date {\n return this._valueAsDate(this.metadata?.[field]);\n }\n\n get createDate(): Date {\n return this._metadataFieldAsDate(\"createTime\");\n }\n\n get updateDate(): Date {\n return this._metadataFieldAsDate(\"updateTime\");\n }\n\n get expirationDate(): Date {\n return this._metadataFieldAsDate(\"expirationTime\");\n }\n\n get isExpired(): boolean {\n const now = new Date().toISOString();\n const exp = this.metadata?.expirationTime ?? now;\n return exp <= now;\n }\n}\n\nexport interface AIStudioFileGetResponse extends GoogleResponse {\n data: AIStudioFileObject;\n}\n\nexport interface AIStudioFileSaveResponse extends GoogleResponse {\n data: {\n file: AIStudioFileObject;\n };\n}\n\nexport interface AIStudioFileListResponse extends GoogleResponse {\n data: {\n files: AIStudioFileObject[];\n nextPageToken: string;\n };\n}\n\nexport type AIStudioFileResponse =\n | AIStudioFileGetResponse\n | AIStudioFileSaveResponse\n | AIStudioFileListResponse;\n\nexport interface AIStudioFileConnectionParams {}\n\nexport interface AIStudioFileUploadConnectionParams<AuthOptions>\n extends\n GoogleUploadConnectionParams<AuthOptions>,\n AIStudioFileConnectionParams {}\n\nexport class AIStudioFileUploadConnection<\n AuthOptions,\n> extends GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n AIStudioFileSaveResponse,\n AuthOptions\n> {\n get computedApiVersion(): string {\n return \"v1beta\";\n }\n\n async buildUrl(): Promise<string> {\n return `https://generativelanguage.googleapis.com/upload/${this.apiVersion}/files`;\n }\n}\n\nexport interface AIStudioFileDownloadConnectionParams<AuthOptions>\n extends AIStudioFileConnectionParams, GoogleConnectionParams<AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n name: string;\n}\n\nexport class AIStudioFileDownloadConnection<\n ResponseType extends GoogleResponse,\n AuthOptions,\n> extends GoogleDownloadConnection<\n AsyncCallerCallOptions,\n ResponseType,\n AuthOptions\n> {\n method: GoogleAbstractedClientOpsMethod;\n\n name: string;\n\n constructor(\n fields: AIStudioFileDownloadConnectionParams<AuthOptions>,\n caller: AsyncCaller,\n client: GoogleAbstractedClient\n ) {\n super(fields, caller, client);\n this.method = fields.method;\n this.name = fields.name;\n }\n\n get computedApiVersion(): string {\n return \"v1beta\";\n }\n\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return this.method;\n }\n\n async buildUrl(): Promise<string> {\n return `https://generativelanguage.googleapis.com/${this.apiVersion}/files/${this.name}`;\n }\n}\n\nexport interface BlobStoreAIStudioFileBaseParams<\n AuthOptions,\n> extends BlobStoreGoogleParams<AuthOptions> {\n retryTime?: number;\n}\n\nexport abstract class BlobStoreAIStudioFileBase<\n AuthOptions,\n> extends BlobStoreGoogle<AIStudioFileResponse, AuthOptions> {\n params?: BlobStoreAIStudioFileBaseParams<AuthOptions>;\n\n retryTime: number = 1000;\n\n constructor(fields?: BlobStoreAIStudioFileBaseParams<AuthOptions>) {\n const params: BlobStoreAIStudioFileBaseParams<AuthOptions> = {\n defaultStoreOptions: {\n pathPrefix: \"https://generativelanguage.googleapis.com/v1beta/files/\",\n actionIfInvalid: \"removePath\",\n },\n ...fields,\n };\n super(params);\n this.params = params;\n this.retryTime = params?.retryTime ?? this.retryTime ?? 1000;\n }\n\n _pathToName(path: string): string {\n return path.split(\"/\").pop() ?? path;\n }\n\n abstract buildAbstractedClient(\n fields?: BlobStoreGoogleParams<AuthOptions>\n ): GoogleAbstractedClient;\n\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient {\n return new ApiKeyGoogleAuth(apiKey);\n }\n\n buildApiKey(fields?: BlobStoreGoogleParams<AuthOptions>): string | undefined {\n return fields?.apiKey ?? getEnvironmentVariable(\"GOOGLE_API_KEY\");\n }\n\n buildClient(\n fields?: BlobStoreGoogleParams<AuthOptions>\n ): GoogleAbstractedClient {\n const apiKey = this.buildApiKey(fields);\n if (apiKey) {\n return this.buildApiKeyClient(apiKey);\n } else {\n // TODO: Test that you can use OAuth to access\n return this.buildAbstractedClient(fields);\n }\n }\n\n async _regetMetadata(key: string): Promise<AIStudioFileObject> {\n // Sleep for some time period\n await new Promise((resolve) => setTimeout(resolve, this.retryTime));\n\n // Fetch the latest metadata\n return this._getMetadata(key);\n }\n\n async _set([key, blob]: [\n string,\n MediaBlob,\n ]): Promise<AIStudioFileSaveResponse> {\n const response = (await super._set([\n key,\n blob,\n ])) as AIStudioFileSaveResponse;\n\n let file = response.data?.file ?? { state: \"FAILED\" };\n while (file.state === \"PROCESSING\" && file.uri && this.retryTime > 0) {\n file = await this._regetMetadata(file.uri);\n }\n\n // The response should contain the name (and valid URI), so we need to\n // update the blob with this. We can't return a new blob, since mset()\n // doesn't return anything.\n blob.path = file.uri;\n blob.metadata = {\n ...blob.metadata,\n ...file,\n };\n return response;\n }\n\n buildSetConnection([_key, _blob]: [\n string,\n MediaBlob,\n ]): GoogleMultipartUploadConnection<\n AsyncCallerCallOptions,\n AIStudioFileResponse,\n AuthOptions\n > {\n return new AIStudioFileUploadConnection(\n this.params,\n this.caller,\n this.client\n );\n }\n\n buildSetMetadata([_key, _blob]: [string, MediaBlob]): Record<\n string,\n unknown\n > {\n return {};\n }\n\n buildGetMetadataConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n AIStudioFileResponse,\n AuthOptions\n > {\n const params: AIStudioFileDownloadConnectionParams<AuthOptions> = {\n ...this.params,\n method: \"GET\",\n name: this._pathToName(key),\n };\n return new AIStudioFileDownloadConnection<\n AIStudioFileResponse,\n AuthOptions\n >(params, this.caller, this.client);\n }\n\n buildGetDataConnection(\n _key: string\n ): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions> {\n throw new Error(\"AI Studio File API does not provide data\");\n }\n\n async _get(key: string): Promise<MediaBlob | undefined> {\n const metadata = await this._getMetadata(key);\n if (metadata) {\n const contentType =\n (metadata?.mimeType as string) ?? \"application/octet-stream\";\n // TODO - Get the actual data (and other metadata) from an optional backing store\n const data: MediaBlobData = {\n value: \"\",\n type: contentType,\n };\n\n return new MediaBlob({\n path: key,\n data,\n metadata,\n });\n } else {\n return undefined;\n }\n }\n\n buildDeleteConnection(\n key: string\n ): GoogleDownloadConnection<\n AsyncCallerCallOptions,\n AIStudioFileResponse,\n AuthOptions\n > {\n const params: AIStudioFileDownloadConnectionParams<AuthOptions> = {\n ...this.params,\n method: \"DELETE\",\n name: this._pathToName(key),\n };\n return new AIStudioFileDownloadConnection<\n AIStudioFileResponse,\n AuthOptions\n >(params, this.caller, this.client);\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.cts","names":["AsyncCaller","AsyncCallerCallOptions","AsyncCallerParams","MediaBlob","BlobStore","BlobStoreOptions","GoogleConnectionParams","GoogleRawResponse","GoogleResponse","GoogleHostConnection","GoogleRawConnection","GoogleAbstractedClient","GoogleAbstractedClientOpsMethod","GoogleUploadConnectionParams","AuthOptions","GoogleMultipartUploadConnection","CallOptions","ResponseType","Record","Promise","GoogleDownloadConnection","GoogleDownloadRawConnection","BlobStoreGoogleParams","BlobStoreGoogle","Blob","AsyncGenerator","GoogleCloudStorageObject","GoogleCloudStorageResponse","BucketAndPath","GoogleCloudStorageUri","RegExp","GoogleCloudStorageConnectionParams","GoogleCloudStorageUploadConnectionParams","GoogleCloudStorageUploadConnection","GoogleCloudStorageDownloadConnectionParams","GoogleCloudStorageDownloadConnection","GoogleCloudStorageRawConnectionParams","GoogleCloudStorageRawConnection","BlobStoreGoogleCloudStorageBaseParams","BlobStoreGoogleCloudStorageBase","AIStudioFileState","AIStudioFileVideoMetadata","AIStudioFileMetadata","AIStudioFileObject","AIStudioMediaBlob","Date","AIStudioFileGetResponse","AIStudioFileSaveResponse","AIStudioFileListResponse","AIStudioFileResponse","AIStudioFileConnectionParams","AIStudioFileUploadConnectionParams","AIStudioFileUploadConnection","AIStudioFileDownloadConnectionParams","AIStudioFileDownloadConnection","BlobStoreAIStudioFileBaseParams","BlobStoreAIStudioFileBase"],"sources":["../../src/experimental/media.d.ts"],"sourcesContent":["import { AsyncCaller, AsyncCallerCallOptions, AsyncCallerParams } from \"@langchain/core/utils/async_caller\";\nimport { MediaBlob, BlobStore, BlobStoreOptions } from \"./utils/media_core.js\";\nimport { GoogleConnectionParams, GoogleRawResponse, GoogleResponse } from \"../types.js\";\nimport { GoogleHostConnection, GoogleRawConnection } from \"../connection.js\";\nimport { GoogleAbstractedClient, GoogleAbstractedClientOpsMethod } from \"../auth.js\";\nexport interface GoogleUploadConnectionParams<AuthOptions> extends GoogleConnectionParams<AuthOptions> {\n}\nexport declare abstract class GoogleMultipartUploadConnection<CallOptions extends AsyncCallerCallOptions, ResponseType extends GoogleResponse, AuthOptions> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> {\n constructor(fields: GoogleConnectionParams<AuthOptions> | undefined, caller: AsyncCaller, client: GoogleAbstractedClient);\n _body(separator: string, data: MediaBlob, metadata: Record<string, unknown>): Promise<string>;\n request(data: MediaBlob, metadata: Record<string, unknown>, options: CallOptions): Promise<ResponseType>;\n}\nexport declare abstract class GoogleDownloadConnection<CallOptions extends AsyncCallerCallOptions, ResponseType extends GoogleResponse, AuthOptions> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> {\n request(options: CallOptions): Promise<ResponseType>;\n}\nexport declare abstract class GoogleDownloadRawConnection<CallOptions extends AsyncCallerCallOptions, AuthOptions> extends GoogleRawConnection<CallOptions, AuthOptions> {\n buildMethod(): GoogleAbstractedClientOpsMethod;\n request(options: CallOptions): Promise<GoogleRawResponse>;\n}\nexport interface BlobStoreGoogleParams<AuthOptions> extends GoogleConnectionParams<AuthOptions>, AsyncCallerParams, BlobStoreOptions {\n}\nexport declare abstract class BlobStoreGoogle<ResponseType extends GoogleResponse, AuthOptions> extends BlobStore {\n caller: AsyncCaller;\n client: GoogleAbstractedClient;\n constructor(fields?: BlobStoreGoogleParams<AuthOptions>);\n abstract buildClient(fields?: BlobStoreGoogleParams<AuthOptions>): GoogleAbstractedClient;\n abstract buildSetMetadata([key, blob]: [string, MediaBlob]): Record<string, unknown>;\n abstract buildSetConnection([key, blob]: [\n string,\n MediaBlob\n ]): GoogleMultipartUploadConnection<AsyncCallerCallOptions, ResponseType, AuthOptions>;\n _set(keyValuePair: [string, MediaBlob]): Promise<ResponseType>;\n mset(keyValuePairs: [string, MediaBlob][]): Promise<void>;\n abstract buildGetMetadataConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, ResponseType, AuthOptions>;\n _getMetadata(key: string): Promise<Record<string, unknown>>;\n abstract buildGetDataConnection(key: string): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions>;\n _getData(key: string): Promise<Blob>;\n _getMimetypeFromMetadata(metadata: Record<string, unknown>): string;\n _get(key: string): Promise<MediaBlob | undefined>;\n mget(keys: string[]): Promise<(MediaBlob | undefined)[]>;\n abstract buildDeleteConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, GoogleResponse, AuthOptions>;\n _del(key: string): Promise<void>;\n mdelete(keys: string[]): Promise<void>;\n yieldKeys(_prefix: string | undefined): AsyncGenerator<string>;\n}\n/**\n * Based on https://cloud.google.com/storage/docs/json_api/v1/objects#resource\n */\nexport interface GoogleCloudStorageObject extends Record<string, unknown> {\n id?: string;\n name?: string;\n contentType?: string;\n metadata?: Record<string, unknown>;\n}\nexport interface GoogleCloudStorageResponse extends GoogleResponse {\n data: GoogleCloudStorageObject;\n}\nexport type BucketAndPath = {\n bucket: string;\n path: string;\n};\nexport declare class GoogleCloudStorageUri {\n static uriRegexp: RegExp;\n bucket: string;\n path: string;\n constructor(uri: string);\n get uri(): string;\n get isValid(): boolean;\n static uriToBucketAndPath(uri: string): BucketAndPath;\n static isValidUri(uri: string): boolean;\n}\nexport interface GoogleCloudStorageConnectionParams {\n uri: string;\n}\nexport interface GoogleCloudStorageUploadConnectionParams<AuthOptions> extends GoogleUploadConnectionParams<AuthOptions>, GoogleCloudStorageConnectionParams {\n}\nexport declare class GoogleCloudStorageUploadConnection<AuthOptions> extends GoogleMultipartUploadConnection<AsyncCallerCallOptions, GoogleCloudStorageResponse, AuthOptions> {\n uri: GoogleCloudStorageUri;\n constructor(fields: GoogleCloudStorageUploadConnectionParams<AuthOptions>, caller: AsyncCaller, client: GoogleAbstractedClient);\n buildUrl(): Promise<string>;\n}\nexport interface GoogleCloudStorageDownloadConnectionParams<AuthOptions> extends GoogleCloudStorageConnectionParams, GoogleConnectionParams<AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n alt: \"media\" | undefined;\n}\nexport declare class GoogleCloudStorageDownloadConnection<ResponseType extends GoogleResponse, AuthOptions> extends GoogleDownloadConnection<AsyncCallerCallOptions, ResponseType, AuthOptions> {\n uri: GoogleCloudStorageUri;\n method: GoogleAbstractedClientOpsMethod;\n alt: \"media\" | undefined;\n constructor(fields: GoogleCloudStorageDownloadConnectionParams<AuthOptions>, caller: AsyncCaller, client: GoogleAbstractedClient);\n buildMethod(): GoogleAbstractedClientOpsMethod;\n buildUrl(): Promise<string>;\n}\nexport interface GoogleCloudStorageRawConnectionParams<AuthOptions> extends GoogleCloudStorageConnectionParams, GoogleConnectionParams<AuthOptions> {\n}\nexport declare class GoogleCloudStorageRawConnection<AuthOptions> extends GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions> {\n uri: GoogleCloudStorageUri;\n constructor(fields: GoogleCloudStorageRawConnectionParams<AuthOptions>, caller: AsyncCaller, client: GoogleAbstractedClient);\n buildUrl(): Promise<string>;\n}\nexport interface BlobStoreGoogleCloudStorageBaseParams<AuthOptions> extends BlobStoreGoogleParams<AuthOptions> {\n uriPrefix: GoogleCloudStorageUri;\n}\nexport declare abstract class BlobStoreGoogleCloudStorageBase<AuthOptions> extends BlobStoreGoogle<GoogleCloudStorageResponse, AuthOptions> {\n params: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>;\n constructor(fields: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>);\n buildSetConnection([key, _blob]: [\n string,\n MediaBlob\n ]): GoogleMultipartUploadConnection<AsyncCallerCallOptions, GoogleCloudStorageResponse, AuthOptions>;\n buildSetMetadata([key, blob]: [string, MediaBlob]): Record<string, unknown>;\n buildGetMetadataConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, GoogleCloudStorageResponse, AuthOptions>;\n buildGetDataConnection(key: string): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions>;\n buildDeleteConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, GoogleResponse, AuthOptions>;\n}\nexport type AIStudioFileState = \"PROCESSING\" | \"ACTIVE\" | \"FAILED\" | \"STATE_UNSPECIFIED\";\nexport type AIStudioFileVideoMetadata = {\n videoMetadata: {\n videoDuration: string;\n };\n};\nexport type AIStudioFileMetadata = AIStudioFileVideoMetadata;\nexport interface AIStudioFileObject {\n name?: string;\n displayName?: string;\n mimeType?: string;\n sizeBytes?: string;\n createTime?: string;\n updateTime?: string;\n expirationTime?: string;\n sha256Hash?: string;\n uri?: string;\n state?: AIStudioFileState;\n error?: {\n code: number;\n message: string;\n details: Record<string, unknown>[];\n };\n metadata?: AIStudioFileMetadata;\n}\nexport declare class AIStudioMediaBlob extends MediaBlob {\n _valueAsDate(value: string): Date;\n _metadataFieldAsDate(field: string): Date;\n get createDate(): Date;\n get updateDate(): Date;\n get expirationDate(): Date;\n get isExpired(): boolean;\n}\nexport interface AIStudioFileGetResponse extends GoogleResponse {\n data: AIStudioFileObject;\n}\nexport interface AIStudioFileSaveResponse extends GoogleResponse {\n data: {\n file: AIStudioFileObject;\n };\n}\nexport interface AIStudioFileListResponse extends GoogleResponse {\n data: {\n files: AIStudioFileObject[];\n nextPageToken: string;\n };\n}\nexport type AIStudioFileResponse = AIStudioFileGetResponse | AIStudioFileSaveResponse | AIStudioFileListResponse;\nexport interface AIStudioFileConnectionParams {\n}\nexport interface AIStudioFileUploadConnectionParams<AuthOptions> extends GoogleUploadConnectionParams<AuthOptions>, AIStudioFileConnectionParams {\n}\nexport declare class AIStudioFileUploadConnection<AuthOptions> extends GoogleMultipartUploadConnection<AsyncCallerCallOptions, AIStudioFileSaveResponse, AuthOptions> {\n get computedApiVersion(): string;\n buildUrl(): Promise<string>;\n}\nexport interface AIStudioFileDownloadConnectionParams<AuthOptions> extends AIStudioFileConnectionParams, GoogleConnectionParams<AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n name: string;\n}\nexport declare class AIStudioFileDownloadConnection<ResponseType extends GoogleResponse, AuthOptions> extends GoogleDownloadConnection<AsyncCallerCallOptions, ResponseType, AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n name: string;\n constructor(fields: AIStudioFileDownloadConnectionParams<AuthOptions>, caller: AsyncCaller, client: GoogleAbstractedClient);\n get computedApiVersion(): string;\n buildMethod(): GoogleAbstractedClientOpsMethod;\n buildUrl(): Promise<string>;\n}\nexport interface BlobStoreAIStudioFileBaseParams<AuthOptions> extends BlobStoreGoogleParams<AuthOptions> {\n retryTime?: number;\n}\nexport declare abstract class BlobStoreAIStudioFileBase<AuthOptions> extends BlobStoreGoogle<AIStudioFileResponse, AuthOptions> {\n params?: BlobStoreAIStudioFileBaseParams<AuthOptions>;\n retryTime: number;\n constructor(fields?: BlobStoreAIStudioFileBaseParams<AuthOptions>);\n _pathToName(path: string): string;\n abstract buildAbstractedClient(fields?: BlobStoreGoogleParams<AuthOptions>): GoogleAbstractedClient;\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient;\n buildApiKey(fields?: BlobStoreGoogleParams<AuthOptions>): string | undefined;\n buildClient(fields?: BlobStoreGoogleParams<AuthOptions>): GoogleAbstractedClient;\n _regetMetadata(key: string): Promise<AIStudioFileObject>;\n _set([key, blob]: [\n string,\n MediaBlob\n ]): Promise<AIStudioFileSaveResponse>;\n buildSetConnection([_key, _blob]: [\n string,\n MediaBlob\n ]): GoogleMultipartUploadConnection<AsyncCallerCallOptions, AIStudioFileResponse, AuthOptions>;\n buildSetMetadata([_key, _blob]: [string, MediaBlob]): Record<string, unknown>;\n buildGetMetadataConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, AIStudioFileResponse, AuthOptions>;\n buildGetDataConnection(_key: string): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions>;\n _get(key: string): Promise<MediaBlob | undefined>;\n buildDeleteConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, AIStudioFileResponse, AuthOptions>;\n}\n//# sourceMappingURL=media.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"media.d.cts","names":[],"sources":["../../src/experimental/media.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","names":["AsyncCaller","AsyncCallerCallOptions","AsyncCallerParams","MediaBlob","BlobStore","BlobStoreOptions","GoogleConnectionParams","GoogleRawResponse","GoogleResponse","GoogleHostConnection","GoogleRawConnection","GoogleAbstractedClient","GoogleAbstractedClientOpsMethod","GoogleUploadConnectionParams","AuthOptions","GoogleMultipartUploadConnection","CallOptions","ResponseType","Record","Promise","GoogleDownloadConnection","GoogleDownloadRawConnection","BlobStoreGoogleParams","BlobStoreGoogle","Blob","AsyncGenerator","GoogleCloudStorageObject","GoogleCloudStorageResponse","BucketAndPath","GoogleCloudStorageUri","RegExp","GoogleCloudStorageConnectionParams","GoogleCloudStorageUploadConnectionParams","GoogleCloudStorageUploadConnection","GoogleCloudStorageDownloadConnectionParams","GoogleCloudStorageDownloadConnection","GoogleCloudStorageRawConnectionParams","GoogleCloudStorageRawConnection","BlobStoreGoogleCloudStorageBaseParams","BlobStoreGoogleCloudStorageBase","AIStudioFileState","AIStudioFileVideoMetadata","AIStudioFileMetadata","AIStudioFileObject","AIStudioMediaBlob","Date","AIStudioFileGetResponse","AIStudioFileSaveResponse","AIStudioFileListResponse","AIStudioFileResponse","AIStudioFileConnectionParams","AIStudioFileUploadConnectionParams","AIStudioFileUploadConnection","AIStudioFileDownloadConnectionParams","AIStudioFileDownloadConnection","BlobStoreAIStudioFileBaseParams","BlobStoreAIStudioFileBase"],"sources":["../../src/experimental/media.d.ts"],"sourcesContent":["import { AsyncCaller, AsyncCallerCallOptions, AsyncCallerParams } from \"@langchain/core/utils/async_caller\";\nimport { MediaBlob, BlobStore, BlobStoreOptions } from \"./utils/media_core.js\";\nimport { GoogleConnectionParams, GoogleRawResponse, GoogleResponse } from \"../types.js\";\nimport { GoogleHostConnection, GoogleRawConnection } from \"../connection.js\";\nimport { GoogleAbstractedClient, GoogleAbstractedClientOpsMethod } from \"../auth.js\";\nexport interface GoogleUploadConnectionParams<AuthOptions> extends GoogleConnectionParams<AuthOptions> {\n}\nexport declare abstract class GoogleMultipartUploadConnection<CallOptions extends AsyncCallerCallOptions, ResponseType extends GoogleResponse, AuthOptions> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> {\n constructor(fields: GoogleConnectionParams<AuthOptions> | undefined, caller: AsyncCaller, client: GoogleAbstractedClient);\n _body(separator: string, data: MediaBlob, metadata: Record<string, unknown>): Promise<string>;\n request(data: MediaBlob, metadata: Record<string, unknown>, options: CallOptions): Promise<ResponseType>;\n}\nexport declare abstract class GoogleDownloadConnection<CallOptions extends AsyncCallerCallOptions, ResponseType extends GoogleResponse, AuthOptions> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> {\n request(options: CallOptions): Promise<ResponseType>;\n}\nexport declare abstract class GoogleDownloadRawConnection<CallOptions extends AsyncCallerCallOptions, AuthOptions> extends GoogleRawConnection<CallOptions, AuthOptions> {\n buildMethod(): GoogleAbstractedClientOpsMethod;\n request(options: CallOptions): Promise<GoogleRawResponse>;\n}\nexport interface BlobStoreGoogleParams<AuthOptions> extends GoogleConnectionParams<AuthOptions>, AsyncCallerParams, BlobStoreOptions {\n}\nexport declare abstract class BlobStoreGoogle<ResponseType extends GoogleResponse, AuthOptions> extends BlobStore {\n caller: AsyncCaller;\n client: GoogleAbstractedClient;\n constructor(fields?: BlobStoreGoogleParams<AuthOptions>);\n abstract buildClient(fields?: BlobStoreGoogleParams<AuthOptions>): GoogleAbstractedClient;\n abstract buildSetMetadata([key, blob]: [string, MediaBlob]): Record<string, unknown>;\n abstract buildSetConnection([key, blob]: [\n string,\n MediaBlob\n ]): GoogleMultipartUploadConnection<AsyncCallerCallOptions, ResponseType, AuthOptions>;\n _set(keyValuePair: [string, MediaBlob]): Promise<ResponseType>;\n mset(keyValuePairs: [string, MediaBlob][]): Promise<void>;\n abstract buildGetMetadataConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, ResponseType, AuthOptions>;\n _getMetadata(key: string): Promise<Record<string, unknown>>;\n abstract buildGetDataConnection(key: string): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions>;\n _getData(key: string): Promise<Blob>;\n _getMimetypeFromMetadata(metadata: Record<string, unknown>): string;\n _get(key: string): Promise<MediaBlob | undefined>;\n mget(keys: string[]): Promise<(MediaBlob | undefined)[]>;\n abstract buildDeleteConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, GoogleResponse, AuthOptions>;\n _del(key: string): Promise<void>;\n mdelete(keys: string[]): Promise<void>;\n yieldKeys(_prefix: string | undefined): AsyncGenerator<string>;\n}\n/**\n * Based on https://cloud.google.com/storage/docs/json_api/v1/objects#resource\n */\nexport interface GoogleCloudStorageObject extends Record<string, unknown> {\n id?: string;\n name?: string;\n contentType?: string;\n metadata?: Record<string, unknown>;\n}\nexport interface GoogleCloudStorageResponse extends GoogleResponse {\n data: GoogleCloudStorageObject;\n}\nexport type BucketAndPath = {\n bucket: string;\n path: string;\n};\nexport declare class GoogleCloudStorageUri {\n static uriRegexp: RegExp;\n bucket: string;\n path: string;\n constructor(uri: string);\n get uri(): string;\n get isValid(): boolean;\n static uriToBucketAndPath(uri: string): BucketAndPath;\n static isValidUri(uri: string): boolean;\n}\nexport interface GoogleCloudStorageConnectionParams {\n uri: string;\n}\nexport interface GoogleCloudStorageUploadConnectionParams<AuthOptions> extends GoogleUploadConnectionParams<AuthOptions>, GoogleCloudStorageConnectionParams {\n}\nexport declare class GoogleCloudStorageUploadConnection<AuthOptions> extends GoogleMultipartUploadConnection<AsyncCallerCallOptions, GoogleCloudStorageResponse, AuthOptions> {\n uri: GoogleCloudStorageUri;\n constructor(fields: GoogleCloudStorageUploadConnectionParams<AuthOptions>, caller: AsyncCaller, client: GoogleAbstractedClient);\n buildUrl(): Promise<string>;\n}\nexport interface GoogleCloudStorageDownloadConnectionParams<AuthOptions> extends GoogleCloudStorageConnectionParams, GoogleConnectionParams<AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n alt: \"media\" | undefined;\n}\nexport declare class GoogleCloudStorageDownloadConnection<ResponseType extends GoogleResponse, AuthOptions> extends GoogleDownloadConnection<AsyncCallerCallOptions, ResponseType, AuthOptions> {\n uri: GoogleCloudStorageUri;\n method: GoogleAbstractedClientOpsMethod;\n alt: \"media\" | undefined;\n constructor(fields: GoogleCloudStorageDownloadConnectionParams<AuthOptions>, caller: AsyncCaller, client: GoogleAbstractedClient);\n buildMethod(): GoogleAbstractedClientOpsMethod;\n buildUrl(): Promise<string>;\n}\nexport interface GoogleCloudStorageRawConnectionParams<AuthOptions> extends GoogleCloudStorageConnectionParams, GoogleConnectionParams<AuthOptions> {\n}\nexport declare class GoogleCloudStorageRawConnection<AuthOptions> extends GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions> {\n uri: GoogleCloudStorageUri;\n constructor(fields: GoogleCloudStorageRawConnectionParams<AuthOptions>, caller: AsyncCaller, client: GoogleAbstractedClient);\n buildUrl(): Promise<string>;\n}\nexport interface BlobStoreGoogleCloudStorageBaseParams<AuthOptions> extends BlobStoreGoogleParams<AuthOptions> {\n uriPrefix: GoogleCloudStorageUri;\n}\nexport declare abstract class BlobStoreGoogleCloudStorageBase<AuthOptions> extends BlobStoreGoogle<GoogleCloudStorageResponse, AuthOptions> {\n params: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>;\n constructor(fields: BlobStoreGoogleCloudStorageBaseParams<AuthOptions>);\n buildSetConnection([key, _blob]: [\n string,\n MediaBlob\n ]): GoogleMultipartUploadConnection<AsyncCallerCallOptions, GoogleCloudStorageResponse, AuthOptions>;\n buildSetMetadata([key, blob]: [string, MediaBlob]): Record<string, unknown>;\n buildGetMetadataConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, GoogleCloudStorageResponse, AuthOptions>;\n buildGetDataConnection(key: string): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions>;\n buildDeleteConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, GoogleResponse, AuthOptions>;\n}\nexport type AIStudioFileState = \"PROCESSING\" | \"ACTIVE\" | \"FAILED\" | \"STATE_UNSPECIFIED\";\nexport type AIStudioFileVideoMetadata = {\n videoMetadata: {\n videoDuration: string;\n };\n};\nexport type AIStudioFileMetadata = AIStudioFileVideoMetadata;\nexport interface AIStudioFileObject {\n name?: string;\n displayName?: string;\n mimeType?: string;\n sizeBytes?: string;\n createTime?: string;\n updateTime?: string;\n expirationTime?: string;\n sha256Hash?: string;\n uri?: string;\n state?: AIStudioFileState;\n error?: {\n code: number;\n message: string;\n details: Record<string, unknown>[];\n };\n metadata?: AIStudioFileMetadata;\n}\nexport declare class AIStudioMediaBlob extends MediaBlob {\n _valueAsDate(value: string): Date;\n _metadataFieldAsDate(field: string): Date;\n get createDate(): Date;\n get updateDate(): Date;\n get expirationDate(): Date;\n get isExpired(): boolean;\n}\nexport interface AIStudioFileGetResponse extends GoogleResponse {\n data: AIStudioFileObject;\n}\nexport interface AIStudioFileSaveResponse extends GoogleResponse {\n data: {\n file: AIStudioFileObject;\n };\n}\nexport interface AIStudioFileListResponse extends GoogleResponse {\n data: {\n files: AIStudioFileObject[];\n nextPageToken: string;\n };\n}\nexport type AIStudioFileResponse = AIStudioFileGetResponse | AIStudioFileSaveResponse | AIStudioFileListResponse;\nexport interface AIStudioFileConnectionParams {\n}\nexport interface AIStudioFileUploadConnectionParams<AuthOptions> extends GoogleUploadConnectionParams<AuthOptions>, AIStudioFileConnectionParams {\n}\nexport declare class AIStudioFileUploadConnection<AuthOptions> extends GoogleMultipartUploadConnection<AsyncCallerCallOptions, AIStudioFileSaveResponse, AuthOptions> {\n get computedApiVersion(): string;\n buildUrl(): Promise<string>;\n}\nexport interface AIStudioFileDownloadConnectionParams<AuthOptions> extends AIStudioFileConnectionParams, GoogleConnectionParams<AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n name: string;\n}\nexport declare class AIStudioFileDownloadConnection<ResponseType extends GoogleResponse, AuthOptions> extends GoogleDownloadConnection<AsyncCallerCallOptions, ResponseType, AuthOptions> {\n method: GoogleAbstractedClientOpsMethod;\n name: string;\n constructor(fields: AIStudioFileDownloadConnectionParams<AuthOptions>, caller: AsyncCaller, client: GoogleAbstractedClient);\n get computedApiVersion(): string;\n buildMethod(): GoogleAbstractedClientOpsMethod;\n buildUrl(): Promise<string>;\n}\nexport interface BlobStoreAIStudioFileBaseParams<AuthOptions> extends BlobStoreGoogleParams<AuthOptions> {\n retryTime?: number;\n}\nexport declare abstract class BlobStoreAIStudioFileBase<AuthOptions> extends BlobStoreGoogle<AIStudioFileResponse, AuthOptions> {\n params?: BlobStoreAIStudioFileBaseParams<AuthOptions>;\n retryTime: number;\n constructor(fields?: BlobStoreAIStudioFileBaseParams<AuthOptions>);\n _pathToName(path: string): string;\n abstract buildAbstractedClient(fields?: BlobStoreGoogleParams<AuthOptions>): GoogleAbstractedClient;\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient;\n buildApiKey(fields?: BlobStoreGoogleParams<AuthOptions>): string | undefined;\n buildClient(fields?: BlobStoreGoogleParams<AuthOptions>): GoogleAbstractedClient;\n _regetMetadata(key: string): Promise<AIStudioFileObject>;\n _set([key, blob]: [\n string,\n MediaBlob\n ]): Promise<AIStudioFileSaveResponse>;\n buildSetConnection([_key, _blob]: [\n string,\n MediaBlob\n ]): GoogleMultipartUploadConnection<AsyncCallerCallOptions, AIStudioFileResponse, AuthOptions>;\n buildSetMetadata([_key, _blob]: [string, MediaBlob]): Record<string, unknown>;\n buildGetMetadataConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, AIStudioFileResponse, AuthOptions>;\n buildGetDataConnection(_key: string): GoogleDownloadRawConnection<AsyncCallerCallOptions, AuthOptions>;\n _get(key: string): Promise<MediaBlob | undefined>;\n buildDeleteConnection(key: string): GoogleDownloadConnection<AsyncCallerCallOptions, AIStudioFileResponse, AuthOptions>;\n}\n//# sourceMappingURL=media.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"media.d.ts","names":[],"sources":["../../src/experimental/media.ts"],"mappings":"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"}