@promptbook/core 0.77.0-3 → 0.77.0-5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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.77.0-2';
25
+ var PROMPTBOOK_ENGINE_VERSION = '0.77.0-4';
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,15 @@ 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
+
10065
10081
  /**
10066
10082
  * Registration of LLM provider metadata
10067
10083
  *
@@ -10074,6 +10090,7 @@ var _GoogleMetadataRegistration = $llmToolsMetadataRegister.register({
10074
10090
  title: 'Google Gemini',
10075
10091
  packageName: '@promptbook/google',
10076
10092
  className: 'GoogleExecutionTools',
10093
+ envVariables: ['GOOGLE_GENERATIVE_AI_API_KEY'],
10077
10094
  getBoilerplateConfiguration: function () {
10078
10095
  return {
10079
10096
  title: 'Google Gemini (boilerplate)',
@@ -10088,14 +10105,20 @@ var _GoogleMetadataRegistration = $llmToolsMetadataRegister.register({
10088
10105
  };
10089
10106
  },
10090
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
+ }
10091
10114
  // Note: Note using `process.env` BUT `env` to pass in the environment variables dynamically
10092
- if (typeof env.GOOGLE_GEMINI_API_KEY === 'string') {
10115
+ if (typeof env.GOOGLE_GENERATIVE_AI_API_KEY === 'string') {
10093
10116
  return {
10094
10117
  title: 'Google Gemini (from env)',
10095
10118
  packageName: '@promptbook/google',
10096
10119
  className: 'GoogleExecutionTools',
10097
10120
  options: {
10098
- apiKey: env.GOOGLE_GEMINI_API_KEY,
10121
+ apiKey: env.GOOGLE_GENERATIVE_AI_API_KEY,
10099
10122
  },
10100
10123
  };
10101
10124
  }
@@ -10118,6 +10141,7 @@ var _OpenAiMetadataRegistration = $llmToolsMetadataRegister.register({
10118
10141
  title: 'Open AI',
10119
10142
  packageName: '@promptbook/openai',
10120
10143
  className: 'OpenAiExecutionTools',
10144
+ envVariables: ['OPENAI_API_KEY'],
10121
10145
  getBoilerplateConfiguration: function () {
10122
10146
  return {
10123
10147
  title: 'Open AI (boilerplate)',
@@ -10155,6 +10179,9 @@ var _OpenAiAssistantMetadataRegistration = $llmToolsMetadataRegister.register({
10155
10179
  title: 'Open AI Assistant',
10156
10180
  packageName: '@promptbook/openai',
10157
10181
  className: 'OpenAiAssistantExecutionTools',
10182
+ envVariables: [
10183
+ /* TODO: 'OPENAI_API_KEY', 'OPENAI_ASSISTANT_ID' */
10184
+ ],
10158
10185
  getBoilerplateConfiguration: function () {
10159
10186
  return {
10160
10187
  title: 'Open AI Assistant (boilerplate)',