@promptbook/node 0.74.0-6 → 0.74.0-7

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
@@ -26,7 +26,7 @@ var BOOK_LANGUAGE_VERSION = '1.0.0';
26
26
  *
27
27
  * @see https://github.com/webgptorg/promptbook
28
28
  */
29
- var PROMPTBOOK_ENGINE_VERSION = '0.74.0-5';
29
+ var PROMPTBOOK_ENGINE_VERSION = '0.74.0-6';
30
30
  /**
31
31
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
32
32
  */
@@ -7758,11 +7758,18 @@ function pipelineStringToJsonSync(pipelineString) {
7758
7758
  }
7759
7759
  // =============================================================
7760
7760
  // Note: 1️⃣ Parsing of the markdown into object
7761
+ if (pipelineString.startsWith('#!')) {
7762
+ var _c = __read(pipelineString.split('\n')), shebangLine_1 = _c[0], restLines = _c.slice(1);
7763
+ if (!(shebangLine_1 || '').includes('ptbk')) {
7764
+ throw new ParseError(spaceTrim(function (block) { return "\n It seems that you try to parse a book file which has non-standard shebang line for book files:\n Shebang line must contain 'ptbk'\n\n You have:\n ".concat(block(shebangLine_1 || '(empty line)'), "\n\n It should look like this:\n #!/usr/bin/env ptbk\n\n ").concat(block(getPipelineIdentification()), "\n "); }));
7765
+ }
7766
+ pipelineString = restLines.join('\n');
7767
+ }
7761
7768
  pipelineString = removeContentComments(pipelineString);
7762
7769
  pipelineString = flattenMarkdown(pipelineString) /* <- Note: [🥞] */;
7763
7770
  pipelineString = pipelineString.replaceAll(/`\{(?<parameterName>[a-z0-9_]+)\}`/gi, '{$<parameterName>}');
7764
7771
  pipelineString = pipelineString.replaceAll(/`->\s+\{(?<parameterName>[a-z0-9_]+)\}`/gi, '-> {$<parameterName>}');
7765
- var _c = __read(splitMarkdownIntoSections(pipelineString).map(parseMarkdownSection)), pipelineHead = _c[0], pipelineSections = _c.slice(1); /* <- Note: [🥞] */
7772
+ var _d = __read(splitMarkdownIntoSections(pipelineString).map(parseMarkdownSection)), pipelineHead = _d[0], pipelineSections = _d.slice(1); /* <- Note: [🥞] */
7766
7773
  if (pipelineHead === undefined) {
7767
7774
  throw new UnexpectedError(spaceTrim(function (block) { return "\n Pipeline head is not defined\n\n ".concat(block(getPipelineIdentification()), "\n\n This should never happen, because the pipeline already flattened\n "); }));
7768
7775
  }
@@ -7852,10 +7859,10 @@ function pipelineStringToJsonSync(pipelineString) {
7852
7859
  finally { if (e_1) throw e_1.error; }
7853
7860
  }
7854
7861
  var _loop_2 = function (section) {
7855
- var e_3, _d;
7862
+ var e_3, _e;
7856
7863
  // TODO: Parse template description (the content out of the codeblock and lists)
7857
7864
  var listItems_2 = extractAllListItemsFromMarkdown(section.content);
7858
- var _e = extractOneBlockFromMarkdown(section.content), language = _e.language, content = _e.content;
7865
+ var _f = extractOneBlockFromMarkdown(section.content), language = _f.language, content = _f.content;
7859
7866
  // TODO: [🎾][1] DRY description
7860
7867
  var description_1 = section.content;
7861
7868
  // Note: Remove codeblocks - TODO: [🎾]
@@ -7920,14 +7927,14 @@ function pipelineStringToJsonSync(pipelineString) {
7920
7927
  try {
7921
7928
  // TODO [♓️] List commands and before apply order them to achieve order-agnostic commands
7922
7929
  for (var commands_1 = (e_3 = void 0, __values(commands)), commands_1_1 = commands_1.next(); !commands_1_1.done; commands_1_1 = commands_1.next()) {
7923
- var _f = commands_1_1.value, listItem = _f.listItem, command = _f.command;
7930
+ var _g = commands_1_1.value, listItem = _g.listItem, command = _g.command;
7924
7931
  _loop_3(listItem, command);
7925
7932
  }
7926
7933
  }
7927
7934
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
7928
7935
  finally {
7929
7936
  try {
7930
- if (commands_1_1 && !commands_1_1.done && (_d = commands_1.return)) _d.call(commands_1);
7937
+ if (commands_1_1 && !commands_1_1.done && (_e = commands_1.return)) _e.call(commands_1);
7931
7938
  }
7932
7939
  finally { if (e_3) throw e_3.error; }
7933
7940
  }
@@ -9797,12 +9804,9 @@ function $execCommandNormalizeOptions(options) {
9797
9804
  })
9798
9805
  .filter(function (arg) { return arg !== ''; });
9799
9806
  if (_.length > 1) {
9800
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9801
9807
  _a = __read(_), command = _a[0], args = _a.slice(1);
9802
9808
  }
9803
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9804
9809
  if (options.args) {
9805
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9806
9810
  args = __spreadArray(__spreadArray([], __read(args), false), __read(options.args), false);
9807
9811
  }
9808
9812
  var humanReadableCommand = !['npx', 'npm'].includes(command) ? command : args[0];