@promptbook/core 0.77.0-0 → 0.77.0-4

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 (28) hide show
  1. package/README.md +1 -1
  2. package/esm/index.es.js +79 -8
  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 -0
  9. package/esm/typings/src/_packages/vercel.index.d.ts +2 -0
  10. package/esm/typings/src/cli/cli-commands/list-models.d.ts +11 -0
  11. package/esm/typings/src/execution/AvailableModel.d.ts +5 -1
  12. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +1 -0
  13. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +1 -0
  14. package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +5 -0
  15. package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +1 -1
  16. package/esm/typings/src/llm-providers/google/GoogleExecutionToolsOptions.d.ts +12 -0
  17. package/esm/typings/src/llm-providers/google/createGoogleExecutionTools.d.ts +18 -0
  18. package/esm/typings/src/llm-providers/google/register-configuration.d.ts +13 -0
  19. package/esm/typings/src/llm-providers/google/register-constructor.d.ts +14 -0
  20. package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +1 -1
  21. package/esm/typings/src/llm-providers/vercel/VercelExecutionToolsOptions.d.ts +22 -0
  22. package/esm/typings/src/llm-providers/vercel/VercelProvider.d.ts +13 -0
  23. package/esm/typings/src/llm-providers/vercel/createExecutionToolsFromVercelProvider.d.ts +2 -5
  24. package/esm/typings/src/utils/environment/$isRunningInJest.d.ts +8 -0
  25. package/package.json +1 -1
  26. package/umd/index.umd.js +79 -7
  27. package/umd/index.umd.js.map +1 -1
  28. package/esm/typings/src/_packages/gemini.index.d.ts +0 -2
package/README.md CHANGED
@@ -245,7 +245,7 @@ Or you can install them separately:
245
245
  - **[@promptbook/openai](https://www.npmjs.com/package/@promptbook/openai)** - Execution tools for OpenAI API, wrapper around OpenAI SDK
246
246
  - **[@promptbook/anthropic-claude](https://www.npmjs.com/package/@promptbook/anthropic-claude)** - Execution tools for Anthropic Claude API, wrapper around Anthropic Claude SDK
247
247
  - **[@promptbook/vercel](https://www.npmjs.com/package/@promptbook/vercel)** - Adapter for Vercel functionalities
248
- - **[@promptbook/gemini](https://www.npmjs.com/package/@promptbook/gemini)** - Integration with Google's Gemini API
248
+ - **[@promptbook/google](https://www.npmjs.com/package/@promptbook/google)** - Integration with Google's Gemini API
249
249
  - **[@promptbook/azure-openai](https://www.npmjs.com/package/@promptbook/azure-openai)** - Execution tools for Azure OpenAI API
250
250
  - **[@promptbook/langtail](https://www.npmjs.com/package/@promptbook/langtail)** - Execution tools for Langtail API, wrapper around Langtail SDK
251
251
  - **[@promptbook/fake-llm](https://www.npmjs.com/package/@promptbook/fake-llm)** - Mocked execution tools for testing the library and saving the tokens
package/esm/index.es.js CHANGED
@@ -22,7 +22,7 @@ var BOOK_LANGUAGE_VERSION = '1.0.0';
22
22
  *
23
23
  * @see https://github.com/webgptorg/promptbook
24
24
  */
25
- var PROMPTBOOK_ENGINE_VERSION = '0.76.0';
25
+ var PROMPTBOOK_ENGINE_VERSION = '0.77.0-3';
26
26
  /**
27
27
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
28
28
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -9619,16 +9619,16 @@ function $registeredLlmToolsMessage() {
9619
9619
  * Mixes registered LLM tools from $llmToolsMetadataRegister and $llmToolsRegister
9620
9620
  */
9621
9621
  var all = [];
9622
- var _loop_1 = function (packageName, className) {
9622
+ var _loop_1 = function (packageName, className, envVariables) {
9623
9623
  if (all.some(function (item) { return item.packageName === packageName && item.className === className; })) {
9624
9624
  return "continue";
9625
9625
  }
9626
- all.push({ packageName: packageName, className: className });
9626
+ all.push({ packageName: packageName, className: className, envVariables: envVariables });
9627
9627
  };
9628
9628
  try {
9629
9629
  for (var _c = __values($llmToolsMetadataRegister.list()), _d = _c.next(); !_d.done; _d = _c.next()) {
9630
- var _e = _d.value, packageName = _e.packageName, className = _e.className;
9631
- _loop_1(packageName, className);
9630
+ var _e = _d.value, packageName = _e.packageName, className = _e.className, envVariables = _e.envVariables;
9631
+ _loop_1(packageName, className, envVariables);
9632
9632
  }
9633
9633
  }
9634
9634
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -9677,7 +9677,7 @@ function $registeredLlmToolsMessage() {
9677
9677
  }
9678
9678
  return spaceTrim(function (block) { return "\n Available LLM providers are:\n ".concat(block(metadata
9679
9679
  .map(function (_a, i) {
9680
- var packageName = _a.packageName, className = _a.className, isMetadataAviailable = _a.isMetadataAviailable, isInstalled = _a.isInstalled;
9680
+ var packageName = _a.packageName, className = _a.className, envVariables = _a.envVariables, isMetadataAviailable = _a.isMetadataAviailable, isInstalled = _a.isInstalled;
9681
9681
  var more;
9682
9682
  if (just(false)) {
9683
9683
  more = '';
@@ -9699,7 +9699,12 @@ function $registeredLlmToolsMessage() {
9699
9699
  else {
9700
9700
  more = "(unknown state, looks like a unexpected behavior)";
9701
9701
  }
9702
- return "".concat(i + 1, ") `").concat(className, "` from `").concat(packageName, "` ").concat(more);
9702
+ var envVariablesMessage = '';
9703
+ if (envVariables) {
9704
+ envVariablesMessage = 'Configured by ' + envVariables.join(' + ');
9705
+ }
9706
+ return spaceTrim("\n ".concat(i + 1, ") `").concat(className, "` from `").concat(packageName, "`\n ").concat(more, "\n ").concat(envVariablesMessage, "\n "));
9707
+ // <- TODO: !!!!!! Is this indented correctly?
9703
9708
  })
9704
9709
  .join('\n')), "\n "); });
9705
9710
  }
@@ -9980,6 +9985,7 @@ var _AnthropicClaudeMetadataRegistration = $llmToolsMetadataRegister.register({
9980
9985
  title: 'Anthropic Claude',
9981
9986
  packageName: '@promptbook/anthropic-claude',
9982
9987
  className: 'AnthropicClaudeExecutionTools',
9988
+ envVariables: ['ANTHROPIC_CLAUDE_API_KEY'],
9983
9989
  getBoilerplateConfiguration: function () {
9984
9990
  return {
9985
9991
  title: 'Anthropic Claude (boilerplate)',
@@ -10024,6 +10030,7 @@ var _AzureOpenAiMetadataRegistration = $llmToolsMetadataRegister.register({
10024
10030
  title: 'Azure Open AI',
10025
10031
  packageName: '@promptbook/azure-openai',
10026
10032
  className: 'AzureOpenAiExecutionTools',
10033
+ envVariables: ['AZUREOPENAI_RESOURCE_NAME', 'AZUREOPENAI_DEPLOYMENT_NAME', 'AZUREOPENAI_API_KEY'],
10027
10034
  getBoilerplateConfiguration: function () {
10028
10035
  return {
10029
10036
  title: 'Azure Open AI (boilerplate)',
@@ -10062,6 +10069,66 @@ var _AzureOpenAiMetadataRegistration = $llmToolsMetadataRegister.register({
10062
10069
  * Note: [💞] Ignore a discrepancy between file name and entity name
10063
10070
  */
10064
10071
 
10072
+ /**
10073
+ * Detects if the code is running in jest environment
10074
+ *
10075
+ * Note: `$` is used to indicate that this function is not a pure function - it looks at the global object to determine the environment
10076
+ *
10077
+ * @public exported from `@promptbook/utils`
10078
+ */
10079
+ var $isRunningInJest = new Function("\n try {\n return process.env.JEST_WORKER_ID !== undefined;\n } catch (e) {\n return false;\n }\n");
10080
+
10081
+ /**
10082
+ * Registration of LLM provider metadata
10083
+ *
10084
+ * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
10085
+ *
10086
+ * @public exported from `@promptbook/core`
10087
+ * @public exported from `@promptbook/cli`
10088
+ */
10089
+ var _GoogleMetadataRegistration = $llmToolsMetadataRegister.register({
10090
+ title: 'Google Gemini',
10091
+ packageName: '@promptbook/google',
10092
+ className: 'GoogleExecutionTools',
10093
+ envVariables: ['GOOGLE_GENERATIVE_AI_API_KEY'],
10094
+ getBoilerplateConfiguration: function () {
10095
+ return {
10096
+ title: 'Google Gemini (boilerplate)',
10097
+ packageName: '@promptbook/google',
10098
+ className: 'GoogleExecutionTools',
10099
+ options: {
10100
+ apiKey: 'sk-ant-api03-',
10101
+ isProxied: true,
10102
+ remoteUrl: DEFAULT_REMOTE_URL,
10103
+ path: DEFAULT_REMOTE_URL_PATH,
10104
+ },
10105
+ };
10106
+ },
10107
+ createConfigurationFromEnv: function (env) {
10108
+ if ($isRunningInJest()
10109
+ // <- TODO: Maybe check `env.JEST_WORKER_ID` directly here or pass `env` into `$isRunningInJest`
10110
+ ) {
10111
+ // Note: [🔘] Gemini makes problems in Jest environment
10112
+ return null;
10113
+ }
10114
+ // Note: Note using `process.env` BUT `env` to pass in the environment variables dynamically
10115
+ if (typeof env.GOOGLE_GENERATIVE_AI_API_KEY === 'string') {
10116
+ return {
10117
+ title: 'Google Gemini (from env)',
10118
+ packageName: '@promptbook/google',
10119
+ className: 'GoogleExecutionTools',
10120
+ options: {
10121
+ apiKey: env.GOOGLE_GENERATIVE_AI_API_KEY,
10122
+ },
10123
+ };
10124
+ }
10125
+ return null;
10126
+ },
10127
+ });
10128
+ /**
10129
+ * Note: [💞] Ignore a discrepancy between file name and entity name
10130
+ */
10131
+
10065
10132
  /**
10066
10133
  * Registration of LLM provider metadata
10067
10134
  *
@@ -10074,6 +10141,7 @@ var _OpenAiMetadataRegistration = $llmToolsMetadataRegister.register({
10074
10141
  title: 'Open AI',
10075
10142
  packageName: '@promptbook/openai',
10076
10143
  className: 'OpenAiExecutionTools',
10144
+ envVariables: ['OPENAI_API_KEY'],
10077
10145
  getBoilerplateConfiguration: function () {
10078
10146
  return {
10079
10147
  title: 'Open AI (boilerplate)',
@@ -10111,6 +10179,9 @@ var _OpenAiAssistantMetadataRegistration = $llmToolsMetadataRegister.register({
10111
10179
  title: 'Open AI Assistant',
10112
10180
  packageName: '@promptbook/openai',
10113
10181
  className: 'OpenAiAssistantExecutionTools',
10182
+ envVariables: [
10183
+ /* TODO: 'OPENAI_API_KEY', 'OPENAI_ASSISTANT_ID' */
10184
+ ],
10114
10185
  getBoilerplateConfiguration: function () {
10115
10186
  return {
10116
10187
  title: 'Open AI Assistant (boilerplate)',
@@ -10492,5 +10563,5 @@ var PrefixStorage = /** @class */ (function () {
10492
10563
  return PrefixStorage;
10493
10564
  }());
10494
10565
 
10495
- export { $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, AbstractFormatError, BOOK_LANGUAGE_VERSION, BlackholeStorage, BoilerplateError, BoilerplateFormfactorDefinition, CLAIM, CallbackInterfaceTools, ChatbotFormfactorDefinition, CollectionError, CsvFormatDefinition, CsvFormatError, DEFAULT_BOOKS_DIRNAME, DEFAULT_CSV_SETTINGS, DEFAULT_EXECUTIONS_CACHE_DIRNAME, DEFAULT_INTERMEDIATE_FILES_STRATEGY, DEFAULT_IS_AUTO_INSTALLED, DEFAULT_IS_VERBOSE, DEFAULT_MAX_EXECUTION_ATTEMPTS, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL, DEFAULT_MAX_PARALLEL_COUNT, DEFAULT_PIPELINE_COLLECTION_BASE_FILENAME, DEFAULT_REMOTE_URL, DEFAULT_REMOTE_URL_PATH, DEFAULT_SCRAPE_CACHE_DIRNAME, DEFAULT_TITLE, ERRORS, EXPECTATION_UNITS, EnvironmentMismatchError, ExecutionReportStringOptionsDefaults, ExpectError, FORMFACTOR_DEFINITIONS, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, KnowledgeScrapeError, LOGO_DARK_SRC, LOGO_LIGHT_SRC, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NonTaskSectionTypes, NotFoundError, NotYetImplementedError, PROMPTBOOK_ENGINE_VERSION, ParseError, PipelineExecutionError, PipelineLogicError, PipelineUrlError, PrefixStorage, RESERVED_PARAMETER_NAMES, SET_IS_VERBOSE, SectionTypes, SheetsFormfactorDefinition, TaskTypes, TextFormatDefinition, TranslatorFormfactorDefinition, UNCERTAIN_USAGE, UnexpectedError, ZERO_USAGE, _AnthropicClaudeMetadataRegistration, _AzureOpenAiMetadataRegistration, _DocumentScraperMetadataRegistration, _LegacyDocumentScraperMetadataRegistration, _MarkdownScraperMetadataRegistration, _OpenAiAssistantMetadataRegistration, _OpenAiMetadataRegistration, _PdfScraperMetadataRegistration, _WebsiteScraperMetadataRegistration, addUsage, assertsExecutionSuccessful, cacheLlmTools, collectionToJson, countTotalUsage, createCollectionFromJson, createCollectionFromPromise, createCollectionFromUrl, createLlmToolsFromConfiguration, createPipelineExecutor, createSubcollection, embeddingVectorToString, executionReportJsonToString, getPipelineInterface, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, pipelineJsonToString, pipelineStringToJson, pipelineStringToJsonSync, prepareKnowledgePieces, preparePersona, preparePipeline, prepareTasks, prettifyPipelineString, stringifyPipelineJson, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline };
10566
+ export { $llmToolsMetadataRegister, $llmToolsRegister, $scrapersMetadataRegister, $scrapersRegister, AbstractFormatError, BOOK_LANGUAGE_VERSION, BlackholeStorage, BoilerplateError, BoilerplateFormfactorDefinition, CLAIM, CallbackInterfaceTools, ChatbotFormfactorDefinition, CollectionError, CsvFormatDefinition, CsvFormatError, DEFAULT_BOOKS_DIRNAME, DEFAULT_CSV_SETTINGS, DEFAULT_EXECUTIONS_CACHE_DIRNAME, DEFAULT_INTERMEDIATE_FILES_STRATEGY, DEFAULT_IS_AUTO_INSTALLED, DEFAULT_IS_VERBOSE, DEFAULT_MAX_EXECUTION_ATTEMPTS, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH, DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL, DEFAULT_MAX_PARALLEL_COUNT, DEFAULT_PIPELINE_COLLECTION_BASE_FILENAME, DEFAULT_REMOTE_URL, DEFAULT_REMOTE_URL_PATH, DEFAULT_SCRAPE_CACHE_DIRNAME, DEFAULT_TITLE, ERRORS, EXPECTATION_UNITS, EnvironmentMismatchError, ExecutionReportStringOptionsDefaults, ExpectError, FORMFACTOR_DEFINITIONS, GENERIC_PIPELINE_INTERFACE, GeneratorFormfactorDefinition, GenericFormfactorDefinition, KnowledgeScrapeError, LOGO_DARK_SRC, LOGO_LIGHT_SRC, LimitReachedError, MANDATORY_CSV_SETTINGS, MAX_FILENAME_LENGTH, MODEL_VARIANTS, MatcherFormfactorDefinition, MemoryStorage, MissingToolsError, MultipleLlmExecutionTools, NAME, NonTaskSectionTypes, NotFoundError, NotYetImplementedError, PROMPTBOOK_ENGINE_VERSION, ParseError, PipelineExecutionError, PipelineLogicError, PipelineUrlError, PrefixStorage, RESERVED_PARAMETER_NAMES, SET_IS_VERBOSE, SectionTypes, SheetsFormfactorDefinition, TaskTypes, TextFormatDefinition, TranslatorFormfactorDefinition, UNCERTAIN_USAGE, UnexpectedError, ZERO_USAGE, _AnthropicClaudeMetadataRegistration, _AzureOpenAiMetadataRegistration, _DocumentScraperMetadataRegistration, _GoogleMetadataRegistration, _LegacyDocumentScraperMetadataRegistration, _MarkdownScraperMetadataRegistration, _OpenAiAssistantMetadataRegistration, _OpenAiMetadataRegistration, _PdfScraperMetadataRegistration, _WebsiteScraperMetadataRegistration, addUsage, assertsExecutionSuccessful, cacheLlmTools, collectionToJson, countTotalUsage, createCollectionFromJson, createCollectionFromPromise, createCollectionFromUrl, createLlmToolsFromConfiguration, createPipelineExecutor, createSubcollection, embeddingVectorToString, executionReportJsonToString, getPipelineInterface, isPassingExpectations, isPipelineImplementingInterface, isPipelineInterfacesEqual, isPipelinePrepared, joinLlmExecutionTools, limitTotalUsage, makeKnowledgeSourceHandler, pipelineJsonToString, pipelineStringToJson, pipelineStringToJsonSync, prepareKnowledgePieces, preparePersona, preparePipeline, prepareTasks, prettifyPipelineString, stringifyPipelineJson, unpreparePipeline, usageToHuman, usageToWorktime, validatePipeline };
10496
10567
  //# sourceMappingURL=index.es.js.map