@promptbook/core 0.76.0 → 0.77.0-3

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 (32) hide show
  1. package/README.md +5 -1
  2. package/esm/index.es.js +49 -5
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  5. package/esm/typings/src/_packages/core.index.d.ts +2 -0
  6. package/esm/typings/src/_packages/google.index.d.ts +10 -0
  7. package/esm/typings/src/_packages/types.index.d.ts +6 -0
  8. package/esm/typings/src/_packages/utils.index.d.ts +2 -2
  9. package/esm/typings/src/_packages/vercel.index.d.ts +4 -0
  10. package/esm/typings/src/execution/AvailableModel.d.ts +5 -1
  11. package/esm/typings/src/execution/CommonToolsOptions.d.ts +9 -0
  12. package/esm/typings/src/llm-providers/_common/register/createLlmToolsFromConfiguration.d.ts +1 -1
  13. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +1 -1
  14. package/esm/typings/src/llm-providers/google/GoogleExecutionToolsOptions.d.ts +12 -0
  15. package/esm/typings/src/llm-providers/google/createGoogleExecutionTools.d.ts +18 -0
  16. package/esm/typings/src/llm-providers/google/register-configuration.d.ts +13 -0
  17. package/esm/typings/src/llm-providers/google/register-constructor.d.ts +14 -0
  18. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -10
  19. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +1 -1
  20. package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +1 -1
  21. package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  22. package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +1 -1
  23. package/esm/typings/src/llm-providers/vercel/VercelExecutionToolsOptions.d.ts +22 -0
  24. package/esm/typings/src/llm-providers/vercel/VercelProvider.d.ts +13 -0
  25. package/esm/typings/src/llm-providers/vercel/createExecutionToolsFromVercelProvider.d.ts +8 -0
  26. package/esm/typings/src/llm-providers/vercel/playground/playground.d.ts +6 -0
  27. package/esm/typings/src/utils/{$currentDate.d.ts → $getCurrentDate.d.ts} +1 -1
  28. package/package.json +1 -1
  29. package/umd/index.umd.js +49 -4
  30. package/umd/index.umd.js.map +1 -1
  31. package/esm/typings/src/_packages/gemini.index.d.ts +0 -2
  32. package/esm/typings/src/utils/getCurrentIsoDate.d.ts +0 -7
@@ -4,6 +4,8 @@ import { _AnthropicClaudeMetadataRegistration } from '../llm-providers/anthropic
4
4
  import { _AnthropicClaudeRegistration } from '../llm-providers/anthropic-claude/register-constructor';
5
5
  import { _AzureOpenAiMetadataRegistration } from '../llm-providers/azure-openai/register-configuration';
6
6
  import { _AzureOpenAiRegistration } from '../llm-providers/azure-openai/register-constructor';
7
+ import { _GoogleMetadataRegistration } from '../llm-providers/google/register-configuration';
8
+ import { _GoogleRegistration } from '../llm-providers/google/register-constructor';
7
9
  import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
8
10
  import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
9
11
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
@@ -24,6 +26,8 @@ export { _AnthropicClaudeMetadataRegistration };
24
26
  export { _AnthropicClaudeRegistration };
25
27
  export { _AzureOpenAiMetadataRegistration };
26
28
  export { _AzureOpenAiRegistration };
29
+ export { _GoogleMetadataRegistration };
30
+ export { _GoogleRegistration };
27
31
  export { _OpenAiMetadataRegistration };
28
32
  export { _OpenAiAssistantMetadataRegistration };
29
33
  export { _OpenAiRegistration };
@@ -82,6 +82,7 @@ import { countTotalUsage } from '../llm-providers/_common/utils/count-total-usag
82
82
  import { limitTotalUsage } from '../llm-providers/_common/utils/count-total-usage/limitTotalUsage';
83
83
  import { _AnthropicClaudeMetadataRegistration } from '../llm-providers/anthropic-claude/register-configuration';
84
84
  import { _AzureOpenAiMetadataRegistration } from '../llm-providers/azure-openai/register-configuration';
85
+ import { _GoogleMetadataRegistration } from '../llm-providers/google/register-configuration';
85
86
  import { joinLlmExecutionTools } from '../llm-providers/multiple/joinLlmExecutionTools';
86
87
  import { MultipleLlmExecutionTools } from '../llm-providers/multiple/MultipleLlmExecutionTools';
87
88
  import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
@@ -196,6 +197,7 @@ export { countTotalUsage };
196
197
  export { limitTotalUsage };
197
198
  export { _AnthropicClaudeMetadataRegistration };
198
199
  export { _AzureOpenAiMetadataRegistration };
200
+ export { _GoogleMetadataRegistration };
199
201
  export { joinLlmExecutionTools };
200
202
  export { MultipleLlmExecutionTools };
201
203
  export { _OpenAiMetadataRegistration };
@@ -0,0 +1,10 @@
1
+ import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
+ import { createGoogleExecutionTools } from '../llm-providers/google/createGoogleExecutionTools';
3
+ import type { GoogleExecutionToolsOptions } from '../llm-providers/google/GoogleExecutionToolsOptions';
4
+ import { _GoogleRegistration } from '../llm-providers/google/register-constructor';
5
+ import type { VercelExecutionToolsOptions } from '../llm-providers/vercel/VercelExecutionToolsOptions';
6
+ export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
7
+ export { createGoogleExecutionTools };
8
+ export type { GoogleExecutionToolsOptions };
9
+ export { _GoogleRegistration };
10
+ export type { VercelExecutionToolsOptions };
@@ -55,6 +55,7 @@ import type { AnthropicClaudeExecutionToolsOptions } from '../llm-providers/anth
55
55
  import type { AnthropicClaudeExecutionToolsDirectOptions } from '../llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions';
56
56
  import type { AnthropicClaudeExecutionToolsProxiedOptions } from '../llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions';
57
57
  import type { AzureOpenAiExecutionToolsOptions } from '../llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions';
58
+ import type { GoogleExecutionToolsOptions } from '../llm-providers/google/GoogleExecutionToolsOptions';
58
59
  import type { OpenAiAssistantExecutionToolsOptions } from '../llm-providers/openai/OpenAiAssistantExecutionToolsOptions';
59
60
  import type { OpenAiExecutionToolsOptions } from '../llm-providers/openai/OpenAiExecutionToolsOptions';
60
61
  import type { PromptbookServer_Error } from '../llm-providers/remote/interfaces/PromptbookServer_Error';
@@ -72,6 +73,8 @@ import type { RemoteServerOptions } from '../llm-providers/remote/interfaces/Rem
72
73
  import type { AnonymousRemoteServerOptions } from '../llm-providers/remote/interfaces/RemoteServerOptions';
73
74
  import type { CollectionRemoteServerOptions } from '../llm-providers/remote/interfaces/RemoteServerOptions';
74
75
  import type { CollectionRemoteServerClientOptions } from '../llm-providers/remote/interfaces/RemoteServerOptions';
76
+ import type { VercelExecutionToolsOptions } from '../llm-providers/vercel/VercelExecutionToolsOptions';
77
+ import type { VercelProvider } from '../llm-providers/vercel/VercelProvider';
75
78
  import type { IsPipelineImplementingInterfaceOptions } from '../pipeline/PipelineInterface/isPipelineImplementingInterface';
76
79
  import type { PipelineInterface } from '../pipeline/PipelineInterface/PipelineInterface';
77
80
  import type { CommonTaskJson } from '../pipeline/PipelineJson/CommonTaskJson';
@@ -309,6 +312,7 @@ export type { AnthropicClaudeExecutionToolsOptions };
309
312
  export type { AnthropicClaudeExecutionToolsDirectOptions };
310
313
  export type { AnthropicClaudeExecutionToolsProxiedOptions };
311
314
  export type { AzureOpenAiExecutionToolsOptions };
315
+ export type { GoogleExecutionToolsOptions };
312
316
  export type { OpenAiAssistantExecutionToolsOptions };
313
317
  export type { OpenAiExecutionToolsOptions };
314
318
  export type { PromptbookServer_Error };
@@ -326,6 +330,8 @@ export type { RemoteServerOptions };
326
330
  export type { AnonymousRemoteServerOptions };
327
331
  export type { CollectionRemoteServerOptions };
328
332
  export type { CollectionRemoteServerClientOptions };
333
+ export type { VercelExecutionToolsOptions };
334
+ export type { VercelProvider };
329
335
  export type { IsPipelineImplementingInterfaceOptions };
330
336
  export type { PipelineInterface };
331
337
  export type { CommonTaskJson };
@@ -8,7 +8,7 @@ import { deserializeError } from '../errors/utils/deserializeError';
8
8
  import { serializeError } from '../errors/utils/serializeError';
9
9
  import { forEachAsync } from '../execution/utils/forEachAsync';
10
10
  import { isValidJsonString } from '../formats/json/utils/isValidJsonString';
11
- import { $currentDate } from '../utils/$currentDate';
11
+ import { $getCurrentDate } from '../utils/$getCurrentDate';
12
12
  import { $isRunningInBrowser } from '../utils/environment/$isRunningInBrowser';
13
13
  import { $isRunningInNode } from '../utils/environment/$isRunningInNode';
14
14
  import { $isRunningInWebWorker } from '../utils/environment/$isRunningInWebWorker';
@@ -82,7 +82,7 @@ export { deserializeError };
82
82
  export { serializeError };
83
83
  export { forEachAsync };
84
84
  export { isValidJsonString };
85
- export { $currentDate };
85
+ export { $getCurrentDate };
86
86
  export { $isRunningInBrowser };
87
87
  export { $isRunningInNode };
88
88
  export { $isRunningInWebWorker };
@@ -1,2 +1,6 @@
1
1
  import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
+ import { createExecutionToolsFromVercelProvider } from '../llm-providers/vercel/createExecutionToolsFromVercelProvider';
3
+ import type { VercelProvider } from '../llm-providers/vercel/VercelProvider';
2
4
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
5
+ export { createExecutionToolsFromVercelProvider };
6
+ export type { VercelProvider };
@@ -8,7 +8,7 @@ export type AvailableModel = {
8
8
  /**
9
9
  * The model title
10
10
  */
11
- readonly modelTitle: string_title;
11
+ readonly modelTitle?: string_title;
12
12
  /**
13
13
  * The model name aviailable
14
14
  */
@@ -18,3 +18,7 @@ export type AvailableModel = {
18
18
  */
19
19
  readonly modelVariant: ModelVariant;
20
20
  };
21
+ /**
22
+ * TODO: !!!!!! Maybe remove `modelTitle`
23
+ * TODO: !!!!!! Put pricing information here
24
+ */
@@ -1,15 +1,24 @@
1
+ import type { string_user_id } from '../types/typeAliases';
1
2
  /**
2
3
  * @@@
3
4
  *
4
5
  * Note: Keep it public to allow people to make their own execution tools
5
6
  */
6
7
  export type CommonToolsOptions = {
8
+ /**
9
+ * A unique identifier representing your end-user
10
+ *
11
+ * Note: For example it can help to detect abuse
12
+ * For example for OpenAi @see https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids
13
+ */
14
+ readonly userId?: string_user_id;
7
15
  /**
8
16
  * If true, the internal executions will be logged
9
17
  */
10
18
  readonly isVerbose?: boolean;
11
19
  };
12
20
  /**
21
+ * TODO: [🧠][🤺] Maybe allow overriding of `userId` for each prompt
13
22
  * TODO: [🈁] Maybe add here `isDeterministic`
14
23
  * TODO: [🧠][💙] Distinct between options passed into ExecutionTools and to ExecutionTools.execute
15
24
  */
@@ -18,7 +18,7 @@ export type CreateLlmToolsFromConfigurationOptions = {
18
18
  *
19
19
  * Note: This is passed to the LLM tools providers to identify misuse
20
20
  */
21
- readonly userId?: string_user_id | null;
21
+ readonly userId?: string_user_id;
22
22
  };
23
23
  /**
24
24
  * @@@
@@ -33,5 +33,5 @@ export type AzureOpenAiExecutionToolsOptions = CommonToolsOptions & {
33
33
  *
34
34
  * @see https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids (document from OpenAI not Azure, but same concept)
35
35
  */
36
- readonly userId: string_user_id | null;
36
+ readonly userId?: string_user_id;
37
37
  };
@@ -0,0 +1,12 @@
1
+ import type { createGoogleGenerativeAI } from '@ai-sdk/google';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
+ /**
4
+ * Options for `GoogleExecutionTools`
5
+ *
6
+ * !!!!!! This extends Google's `ClientOptions` with are directly passed to the Google generative AI client.
7
+ * @public exported from `@promptbook/google`
8
+ */
9
+ export type GoogleExecutionToolsOptions = CommonToolsOptions & Parameters<typeof createGoogleGenerativeAI>[0];
10
+ /**
11
+ * TODO: [🧠][🤺] Pass `userId`
12
+ */
@@ -0,0 +1,18 @@
1
+ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
2
+ import type { GoogleExecutionToolsOptions } from './GoogleExecutionToolsOptions';
3
+ /**
4
+ * Execution Tools for calling Google Gemini API.
5
+ *
6
+ * @public exported from `@promptbook/google`
7
+ */
8
+ export declare const createGoogleExecutionTools: ((options: GoogleExecutionToolsOptions) => LlmExecutionTools) & {
9
+ packageName: string;
10
+ className: string;
11
+ };
12
+ /**
13
+ * TODO: [🧠][main] !!!! Make anonymous this with all LLM providers
14
+ * TODO: [🧠][🧱][main] !!!! Maybe change all `new GoogleExecutionTools` -> `createGoogleExecutionTools` in manual
15
+ * TODO: [🧠] Maybe auto-detect usage in browser and determine default value of `isProxied`
16
+ * TODO: [🦺] Is there some way how to put `packageName` and `className` on top and function definition on bottom?
17
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
18
+ */
@@ -0,0 +1,13 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Registration of LLM provider metadata
4
+ *
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
+ *
7
+ * @public exported from `@promptbook/core`
8
+ * @public exported from `@promptbook/cli`
9
+ */
10
+ export declare const _GoogleMetadataRegistration: Registration;
11
+ /**
12
+ * Note: [💞] Ignore a discrepancy between file name and entity name
13
+ */
@@ -0,0 +1,14 @@
1
+ import type { Registration } from '../../utils/$Register';
2
+ /**
3
+ * Registration of LLM provider
4
+ *
5
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
6
+ *
7
+ * @public exported from `@promptbook/google`
8
+ * @public exported from `@promptbook/cli`
9
+ */
10
+ export declare const _GoogleRegistration: Registration;
11
+ /**
12
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
13
+ * Note: [💞] Ignore a discrepancy between file name and entity name
14
+ */
@@ -1,6 +1,5 @@
1
1
  import type { ClientOptions } from 'openai';
2
2
  import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
- import type { string_user_id } from '../../types/typeAliases';
4
3
  /**
5
4
  * Options for `OpenAiExecutionTools`
6
5
  *
@@ -9,12 +8,4 @@ import type { string_user_id } from '../../types/typeAliases';
9
8
  *
10
9
  * @public exported from `@promptbook/openai`
11
10
  */
12
- export type OpenAiExecutionToolsOptions = CommonToolsOptions & ClientOptions & {
13
- /**
14
- * A unique identifier representing your end-user, which can help OpenAI to monitor
15
- * and detect abuse.
16
- *
17
- * @see https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids
18
- */
19
- userId: string_user_id | null;
20
- };
11
+ export type OpenAiExecutionToolsOptions = CommonToolsOptions & ClientOptions;
@@ -24,7 +24,7 @@ export type PromptbookServer_ListModels_AnonymousRequest = {
24
24
  * Note: this is passed to the certain model providers to identify misuse
25
25
  * Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode)
26
26
  */
27
- readonly userId: string_user_id | null;
27
+ readonly userId?: string_user_id;
28
28
  /**
29
29
  * Configuration for the LLM tools
30
30
  */
@@ -29,7 +29,7 @@ export type PromptbookServer_Prompt_AnonymousRequest = {
29
29
  * Note: this is passed to the certain model providers to identify misuse
30
30
  * Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode)
31
31
  */
32
- readonly userId: string_user_id | null;
32
+ readonly userId?: string_user_id;
33
33
  /**
34
34
  * Configuration for the LLM tools
35
35
  */
@@ -41,7 +41,7 @@ export type RemoteLlmExecutionToolsOptions<TCustomOptions> = CommonToolsOptions
41
41
  * Note: This is passed to the certain model providers to identify misuse
42
42
  * Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode).
43
43
  */
44
- readonly userId: string_user_id | null;
44
+ readonly userId?: string_user_id;
45
45
  } | ({
46
46
  /**
47
47
  * Use anonymous server with client identification and fixed collection
@@ -62,7 +62,7 @@ export type CollectionRemoteServerClientOptions<TCustomOptions> = {
62
62
  /**
63
63
  * @@@
64
64
  */
65
- readonly userId: string_user_id | null;
65
+ readonly userId?: string_user_id;
66
66
  /**
67
67
  * @@@
68
68
  */
@@ -0,0 +1,22 @@
1
+ import type { AvailableModel } from '../../execution/AvailableModel';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
+ import type { VercelProvider } from './VercelProvider';
4
+ /**
5
+ * Options for `createExecutionToolsFromVercelProvider`
6
+ *
7
+ * @public exported from `@promptbook/google`
8
+ */
9
+ export type VercelExecutionToolsOptions = CommonToolsOptions & {
10
+ /**
11
+ * Vercel provider for the execution tools
12
+ */
13
+ readonly vercelProvider: VercelProvider;
14
+ /**
15
+ * List of available models for given Vercel provider
16
+ */
17
+ readonly availableModels: ReadonlyArray<AvailableModel>;
18
+ /**
19
+ * Additional settings for chat models when calling `vercelProvider.chat('model-name', settings)`
20
+ */
21
+ readonly additionalChatSettings?: Partial<Parameters<VercelProvider['chat']>[1]>;
22
+ };
@@ -0,0 +1,13 @@
1
+ import type { createGoogleGenerativeAI } from '@ai-sdk/google';
2
+ import type { createOpenAI } from '@ai-sdk/openai';
3
+ /**
4
+ * This is common interface for all v1 Vercel providers
5
+ *
6
+ * @public exported from `@promptbook/vercel`
7
+ */
8
+ export type VercelProvider = ReturnType<typeof createOpenAI> | ReturnType<typeof createGoogleGenerativeAI>;
9
+ /**
10
+ * ^^^^
11
+ * TODO: Is there some way to get the type of the provider directly,
12
+ * NOT this stupid way via inferring the return type from a specific vercel provider⁉
13
+ */
@@ -0,0 +1,8 @@
1
+ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
2
+ import type { VercelExecutionToolsOptions } from './VercelExecutionToolsOptions';
3
+ /**
4
+ * !!!!!!
5
+ *
6
+ * @public exported from `@promptbook/vercel`
7
+ */
8
+ export declare function createExecutionToolsFromVercelProvider(options: VercelExecutionToolsOptions): LlmExecutionTools;
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ /**
4
+ * TODO: [main] !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
+ * Note: [⚫] Code in this file should never be published in any package
6
+ */
@@ -7,4 +7,4 @@ import type { string_date_iso8601 } from '../types/typeAliases';
7
7
  * @returns string_date branded type
8
8
  * @public exported from `@promptbook/utils`
9
9
  */
10
- export declare function $currentDate(): string_date_iso8601;
10
+ export declare function $getCurrentDate(): string_date_iso8601;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/core",
3
- "version": "0.76.0",
3
+ "version": "0.77.0-3",
4
4
  "description": "It's time for a paradigm shift. The future of software in plain English, French or Latin",
5
5
  "--note-0": " <- [🐊]",
6
6
  "private": false,
package/umd/index.umd.js CHANGED
@@ -24,7 +24,7 @@
24
24
  *
25
25
  * @see https://github.com/webgptorg/promptbook
26
26
  */
27
- var PROMPTBOOK_ENGINE_VERSION = '0.75.10';
27
+ var PROMPTBOOK_ENGINE_VERSION = '0.77.0-2';
28
28
  /**
29
29
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
30
30
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -5810,7 +5810,7 @@
5810
5810
  llmToolsWithUsage = countTotalUsage(llmTools);
5811
5811
  currentPreparation = {
5812
5812
  id: 1,
5813
- // TODO: [🍥]> date: $currentDate(),
5813
+ // TODO: [🍥]> date: $getCurrentDate(),
5814
5814
  promptbookVersion: PROMPTBOOK_ENGINE_VERSION,
5815
5815
  usage: ZERO_USAGE,
5816
5816
  };
@@ -9804,7 +9804,7 @@
9804
9804
  * @returns string_date branded type
9805
9805
  * @public exported from `@promptbook/utils`
9806
9806
  */
9807
- function $currentDate() {
9807
+ function $getCurrentDate() {
9808
9808
  return new Date().toISOString();
9809
9809
  }
9810
9810
 
@@ -9879,7 +9879,7 @@
9879
9879
  // TODO: [🧠] !!!!! How to do timing in mixed cache / non-cache situation
9880
9880
  // promptResult.timing: FromtoItems
9881
9881
  return [4 /*yield*/, storage.setItem(key, {
9882
- date: $currentDate(),
9882
+ date: $getCurrentDate(),
9883
9883
  promptbookVersion: PROMPTBOOK_ENGINE_VERSION,
9884
9884
  prompt: prompt,
9885
9885
  promptResult: promptResult,
@@ -10064,6 +10064,50 @@
10064
10064
  * Note: [💞] Ignore a discrepancy between file name and entity name
10065
10065
  */
10066
10066
 
10067
+ /**
10068
+ * Registration of LLM provider metadata
10069
+ *
10070
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
10071
+ *
10072
+ * @public exported from `@promptbook/core`
10073
+ * @public exported from `@promptbook/cli`
10074
+ */
10075
+ var _GoogleMetadataRegistration = $llmToolsMetadataRegister.register({
10076
+ title: 'Google Gemini',
10077
+ packageName: '@promptbook/google',
10078
+ className: 'GoogleExecutionTools',
10079
+ getBoilerplateConfiguration: function () {
10080
+ return {
10081
+ title: 'Google Gemini (boilerplate)',
10082
+ packageName: '@promptbook/google',
10083
+ className: 'GoogleExecutionTools',
10084
+ options: {
10085
+ apiKey: 'sk-ant-api03-',
10086
+ isProxied: true,
10087
+ remoteUrl: DEFAULT_REMOTE_URL,
10088
+ path: DEFAULT_REMOTE_URL_PATH,
10089
+ },
10090
+ };
10091
+ },
10092
+ createConfigurationFromEnv: function (env) {
10093
+ // Note: Note using `process.env` BUT `env` to pass in the environment variables dynamically
10094
+ if (typeof env.GOOGLE_GEMINI_API_KEY === 'string') {
10095
+ return {
10096
+ title: 'Google Gemini (from env)',
10097
+ packageName: '@promptbook/google',
10098
+ className: 'GoogleExecutionTools',
10099
+ options: {
10100
+ apiKey: env.GOOGLE_GEMINI_API_KEY,
10101
+ },
10102
+ };
10103
+ }
10104
+ return null;
10105
+ },
10106
+ });
10107
+ /**
10108
+ * Note: [💞] Ignore a discrepancy between file name and entity name
10109
+ */
10110
+
10067
10111
  /**
10068
10112
  * Registration of LLM provider metadata
10069
10113
  *
@@ -10566,6 +10610,7 @@
10566
10610
  exports._AnthropicClaudeMetadataRegistration = _AnthropicClaudeMetadataRegistration;
10567
10611
  exports._AzureOpenAiMetadataRegistration = _AzureOpenAiMetadataRegistration;
10568
10612
  exports._DocumentScraperMetadataRegistration = _DocumentScraperMetadataRegistration;
10613
+ exports._GoogleMetadataRegistration = _GoogleMetadataRegistration;
10569
10614
  exports._LegacyDocumentScraperMetadataRegistration = _LegacyDocumentScraperMetadataRegistration;
10570
10615
  exports._MarkdownScraperMetadataRegistration = _MarkdownScraperMetadataRegistration;
10571
10616
  exports._OpenAiAssistantMetadataRegistration = _OpenAiAssistantMetadataRegistration;