@promptbook/cli 0.43.0 → 0.44.0-1

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 (79) hide show
  1. package/esm/index.es.js +438 -34
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/_packages/utils.index.d.ts +30 -3
  4. package/esm/typings/errors/PromptbookNotFoundError.d.ts +7 -0
  5. package/esm/typings/errors/{ExpectError.d.ts → _ExpectError.d.ts} +1 -0
  6. package/esm/typings/utils/expectation-counters/countSentences.d.ts +4 -0
  7. package/esm/typings/utils/normalization/DIACRITIC_VARIANTS_LETTERS.d.ts +10 -0
  8. package/esm/typings/utils/normalization/IKeywords.d.ts +18 -0
  9. package/esm/typings/utils/normalization/capitalize.d.ts +5 -0
  10. package/esm/typings/utils/normalization/capitalize.test.d.ts +1 -0
  11. package/esm/typings/utils/normalization/decapitalize.d.ts +5 -0
  12. package/esm/typings/utils/normalization/decapitalize.test.d.ts +1 -0
  13. package/esm/typings/utils/normalization/isValidKeyword.d.ts +8 -0
  14. package/esm/typings/utils/normalization/isValidKeyword.test.d.ts +1 -0
  15. package/esm/typings/utils/normalization/nameToUriPart.d.ts +1 -0
  16. package/esm/typings/utils/normalization/nameToUriPart.test.d.ts +1 -0
  17. package/esm/typings/utils/normalization/nameToUriParts.d.ts +1 -0
  18. package/esm/typings/utils/normalization/nameToUriParts.test.d.ts +1 -0
  19. package/esm/typings/utils/normalization/normalize-to-kebab-case.d.ts +1 -0
  20. package/esm/typings/utils/normalization/normalize-to-kebab-case.test.d.ts +1 -0
  21. package/esm/typings/utils/normalization/normalizeTo_PascalCase.d.ts +1 -0
  22. package/esm/typings/utils/normalization/normalizeTo_PascalCase.test.d.ts +1 -0
  23. package/esm/typings/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +4 -0
  24. package/esm/typings/utils/normalization/normalizeTo_SCREAMING_CASE.test.d.ts +1 -0
  25. package/esm/typings/utils/normalization/normalizeTo_camelCase.d.ts +4 -0
  26. package/esm/typings/utils/normalization/normalizeTo_camelCase.test.d.ts +1 -0
  27. package/esm/typings/utils/normalization/normalizeTo_snake_case.d.ts +1 -0
  28. package/esm/typings/utils/normalization/normalizeTo_snake_case.test.d.ts +1 -0
  29. package/esm/typings/utils/normalization/normalizeWhitespaces.d.ts +4 -0
  30. package/esm/typings/utils/normalization/normalizeWhitespaces.test.d.ts +1 -0
  31. package/esm/typings/utils/normalization/parseKeywords.d.ts +14 -0
  32. package/esm/typings/utils/normalization/parseKeywords.test.d.ts +1 -0
  33. package/esm/typings/utils/normalization/parseKeywordsFromString.d.ts +8 -0
  34. package/esm/typings/utils/normalization/parseKeywordsFromString.test.d.ts +1 -0
  35. package/esm/typings/utils/normalization/removeDiacritics.d.ts +4 -0
  36. package/esm/typings/utils/normalization/removeDiacritics.test.d.ts +1 -0
  37. package/esm/typings/utils/normalization/searchKeywords.d.ts +5 -0
  38. package/esm/typings/utils/normalization/searchKeywords.test.d.ts +1 -0
  39. package/package.json +2 -3
  40. package/umd/index.umd.js +446 -42
  41. package/umd/index.umd.js.map +1 -1
  42. package/umd/typings/_packages/utils.index.d.ts +30 -3
  43. package/umd/typings/errors/PromptbookNotFoundError.d.ts +7 -0
  44. package/umd/typings/errors/{ExpectError.d.ts → _ExpectError.d.ts} +1 -0
  45. package/umd/typings/utils/expectation-counters/countSentences.d.ts +4 -0
  46. package/umd/typings/utils/normalization/DIACRITIC_VARIANTS_LETTERS.d.ts +10 -0
  47. package/umd/typings/utils/normalization/IKeywords.d.ts +18 -0
  48. package/umd/typings/utils/normalization/capitalize.d.ts +5 -0
  49. package/umd/typings/utils/normalization/capitalize.test.d.ts +1 -0
  50. package/umd/typings/utils/normalization/decapitalize.d.ts +5 -0
  51. package/umd/typings/utils/normalization/decapitalize.test.d.ts +1 -0
  52. package/umd/typings/utils/normalization/isValidKeyword.d.ts +8 -0
  53. package/umd/typings/utils/normalization/isValidKeyword.test.d.ts +1 -0
  54. package/umd/typings/utils/normalization/nameToUriPart.d.ts +1 -0
  55. package/umd/typings/utils/normalization/nameToUriPart.test.d.ts +1 -0
  56. package/umd/typings/utils/normalization/nameToUriParts.d.ts +1 -0
  57. package/umd/typings/utils/normalization/nameToUriParts.test.d.ts +1 -0
  58. package/umd/typings/utils/normalization/normalize-to-kebab-case.d.ts +1 -0
  59. package/umd/typings/utils/normalization/normalize-to-kebab-case.test.d.ts +1 -0
  60. package/umd/typings/utils/normalization/normalizeTo_PascalCase.d.ts +1 -0
  61. package/umd/typings/utils/normalization/normalizeTo_PascalCase.test.d.ts +1 -0
  62. package/umd/typings/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +4 -0
  63. package/umd/typings/utils/normalization/normalizeTo_SCREAMING_CASE.test.d.ts +1 -0
  64. package/umd/typings/utils/normalization/normalizeTo_camelCase.d.ts +4 -0
  65. package/umd/typings/utils/normalization/normalizeTo_camelCase.test.d.ts +1 -0
  66. package/umd/typings/utils/normalization/normalizeTo_snake_case.d.ts +1 -0
  67. package/umd/typings/utils/normalization/normalizeTo_snake_case.test.d.ts +1 -0
  68. package/umd/typings/utils/normalization/normalizeWhitespaces.d.ts +4 -0
  69. package/umd/typings/utils/normalization/normalizeWhitespaces.test.d.ts +1 -0
  70. package/umd/typings/utils/normalization/parseKeywords.d.ts +14 -0
  71. package/umd/typings/utils/normalization/parseKeywords.test.d.ts +1 -0
  72. package/umd/typings/utils/normalization/parseKeywordsFromString.d.ts +8 -0
  73. package/umd/typings/utils/normalization/parseKeywordsFromString.test.d.ts +1 -0
  74. package/umd/typings/utils/normalization/removeDiacritics.d.ts +4 -0
  75. package/umd/typings/utils/normalization/removeDiacritics.test.d.ts +1 -0
  76. package/umd/typings/utils/normalization/searchKeywords.d.ts +5 -0
  77. package/umd/typings/utils/normalization/searchKeywords.test.d.ts +1 -0
  78. package/esm/typings/errors/NotFoundError.d.ts +0 -7
  79. package/umd/typings/errors/NotFoundError.d.ts +0 -7
package/umd/index.umd.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('colors'), require('commander'), require('fs/promises'), require('glob-promise'), require('spacetrim'), require('waitasecond'), require('n12'), require('prettier'), require('prettier/parser-html')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'colors', 'commander', 'fs/promises', 'glob-promise', 'spacetrim', 'waitasecond', 'n12', 'prettier', 'prettier/parser-html'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-cli"] = {}, global.colors, global.commander, global.promises, global.glob, global.spaceTrim, global.waitasecond, global.n12, global.prettier, global.parserHtml));
5
- })(this, (function (exports, colors, commander, promises, glob, spaceTrim, waitasecond, n12, prettier, parserHtml) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('colors'), require('commander'), require('fs/promises'), require('glob-promise'), require('spacetrim'), require('waitasecond'), require('prettier'), require('prettier/parser-html'), require('moment')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'colors', 'commander', 'fs/promises', 'glob-promise', 'spacetrim', 'waitasecond', 'prettier', 'prettier/parser-html', 'moment'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-cli"] = {}, global.colors, global.commander, global.promises, global.glob, global.spaceTrim, global.waitasecond, global.prettier, global.parserHtml));
5
+ })(this, (function (exports, colors, commander, promises, glob, spaceTrim, waitasecond, prettier, parserHtml) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -147,7 +147,7 @@
147
147
  /**
148
148
  * The version of the Promptbook library
149
149
  */
150
- var PROMPTBOOK_VERSION = '0.42.0';
150
+ var PROMPTBOOK_VERSION = '0.44.0-0';
151
151
 
152
152
  /**
153
153
  * This error indicates that the promptbook in a markdown format cannot be parsed into a valid promptbook object
@@ -365,6 +365,14 @@
365
365
  return listItems;
366
366
  }
367
367
 
368
+ /**
369
+ * Makes first letter of a string uppercase
370
+ *
371
+ */
372
+ function capitalize(word) {
373
+ return word.substring(0, 1).toUpperCase() + word.substring(1);
374
+ }
375
+
368
376
  /**
369
377
  * Extracts all code blocks from markdown.
370
378
  *
@@ -393,7 +401,7 @@
393
401
  else {
394
402
  if (language !== null) {
395
403
  // [🌻]
396
- throw new Error("".concat(n12.capitalize(currentCodeBlock.language || 'the'), " code block was not closed and already opening new ").concat(language, " code block"));
404
+ throw new Error("".concat(capitalize(currentCodeBlock.language || 'the'), " code block was not closed and already opening new ").concat(language, " code block"));
397
405
  }
398
406
  codeBlocks.push(currentCodeBlock);
399
407
  currentCodeBlock = null;
@@ -416,7 +424,7 @@
416
424
  }
417
425
  if (currentCodeBlock !== null) {
418
426
  // [🌻]
419
- throw new Error("".concat(n12.capitalize(currentCodeBlock.language || 'the'), " code block was not closed at the end of the markdown"));
427
+ throw new Error("".concat(capitalize(currentCodeBlock.language || 'the'), " code block was not closed at the end of the markdown"));
420
428
  }
421
429
  return codeBlocks;
422
430
  }
@@ -608,6 +616,434 @@
608
616
  * TODO: Maybe use sth. like safe-eval in fraction/calculation case @see https://www.npmjs.com/package/safe-eval
609
617
  */
610
618
 
619
+ /**
620
+ * This error indicates errors during the execution of the promptbook
621
+ */
622
+ /** @class */ ((function (_super) {
623
+ __extends(PromptbookExecutionError, _super);
624
+ function PromptbookExecutionError(message) {
625
+ var _this = _super.call(this, message) || this;
626
+ _this.name = 'PromptbookExecutionError';
627
+ Object.setPrototypeOf(_this, PromptbookExecutionError.prototype);
628
+ return _this;
629
+ }
630
+ return PromptbookExecutionError;
631
+ })(Error));
632
+
633
+ /**
634
+ * This error occurs during the parameter replacement in the template
635
+ *
636
+ * Note: This is a kindof subtype of PromptbookExecutionError because it occurs during the execution of the pipeline
637
+ */
638
+ /** @class */ ((function (_super) {
639
+ __extends(TemplateError, _super);
640
+ function TemplateError(message) {
641
+ var _this = _super.call(this, message) || this;
642
+ _this.name = 'TemplateError';
643
+ Object.setPrototypeOf(_this, TemplateError.prototype);
644
+ return _this;
645
+ }
646
+ return TemplateError;
647
+ })(Error));
648
+
649
+ /**
650
+ * Prettify the html code
651
+ *
652
+ * @param html raw html code
653
+ * @returns formatted html code
654
+ */
655
+ function prettifyMarkdown(html) {
656
+ try {
657
+ return prettier.format(html, {
658
+ parser: 'markdown',
659
+ plugins: [parserHtml__default["default"]],
660
+ // TODO: DRY - make some import or auto-copy of .prettierrc
661
+ endOfLine: 'lf',
662
+ tabWidth: 4,
663
+ singleQuote: true,
664
+ trailingComma: 'all',
665
+ arrowParens: 'always',
666
+ printWidth: 120,
667
+ htmlWhitespaceSensitivity: 'ignore',
668
+ jsxBracketSameLine: false,
669
+ bracketSpacing: true,
670
+ });
671
+ }
672
+ catch (error) {
673
+ console.error('There was an error with prettifying the markdown, using the original as the fallback', {
674
+ error: error,
675
+ html: html,
676
+ });
677
+ return html;
678
+ }
679
+ }
680
+
681
+ var defaultDiacriticsRemovalMap = [
682
+ {
683
+ base: 'A',
684
+ letters: '\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F',
685
+ },
686
+ { base: 'AA', letters: '\uA732' },
687
+ { base: 'AE', letters: '\u00C6\u01FC\u01E2' },
688
+ { base: 'AO', letters: '\uA734' },
689
+ { base: 'AU', letters: '\uA736' },
690
+ { base: 'AV', letters: '\uA738\uA73A' },
691
+ { base: 'AY', letters: '\uA73C' },
692
+ {
693
+ base: 'B',
694
+ letters: '\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181',
695
+ },
696
+ {
697
+ base: 'C',
698
+ letters: '\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E',
699
+ },
700
+ {
701
+ base: 'D',
702
+ letters: '\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779\u00D0',
703
+ },
704
+ { base: 'DZ', letters: '\u01F1\u01C4' },
705
+ { base: 'Dz', letters: '\u01F2\u01C5' },
706
+ {
707
+ base: 'E',
708
+ letters: '\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E',
709
+ },
710
+ { base: 'F', letters: '\u0046\u24BB\uFF26\u1E1E\u0191\uA77B' },
711
+ {
712
+ base: 'G',
713
+ letters: '\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E',
714
+ },
715
+ {
716
+ base: 'H',
717
+ letters: '\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D',
718
+ },
719
+ {
720
+ base: 'I',
721
+ letters: '\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197',
722
+ },
723
+ { base: 'J', letters: '\u004A\u24BF\uFF2A\u0134\u0248' },
724
+ {
725
+ base: 'K',
726
+ letters: '\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2',
727
+ },
728
+ {
729
+ base: 'L',
730
+ letters: '\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780',
731
+ },
732
+ { base: 'LJ', letters: '\u01C7' },
733
+ { base: 'Lj', letters: '\u01C8' },
734
+ { base: 'M', letters: '\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C' },
735
+ {
736
+ base: 'N',
737
+ letters: '\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4',
738
+ },
739
+ { base: 'NJ', letters: '\u01CA' },
740
+ { base: 'Nj', letters: '\u01CB' },
741
+ {
742
+ base: 'O',
743
+ letters: '\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C',
744
+ },
745
+ { base: 'OI', letters: '\u01A2' },
746
+ { base: 'OO', letters: '\uA74E' },
747
+ { base: 'OU', letters: '\u0222' },
748
+ { base: 'OE', letters: '\u008C\u0152' },
749
+ { base: 'oe', letters: '\u009C\u0153' },
750
+ {
751
+ base: 'P',
752
+ letters: '\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754',
753
+ },
754
+ { base: 'Q', letters: '\u0051\u24C6\uFF31\uA756\uA758\u024A' },
755
+ {
756
+ base: 'R',
757
+ letters: '\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782',
758
+ },
759
+ {
760
+ base: 'S',
761
+ letters: '\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784',
762
+ },
763
+ {
764
+ base: 'T',
765
+ letters: '\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786',
766
+ },
767
+ { base: 'TZ', letters: '\uA728' },
768
+ {
769
+ base: 'U',
770
+ letters: '\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244',
771
+ },
772
+ { base: 'V', letters: '\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245' },
773
+ { base: 'VY', letters: '\uA760' },
774
+ {
775
+ base: 'W',
776
+ letters: '\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72',
777
+ },
778
+ { base: 'X', letters: '\u0058\u24CD\uFF38\u1E8A\u1E8C' },
779
+ {
780
+ base: 'Y',
781
+ letters: '\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE',
782
+ },
783
+ {
784
+ base: 'Z',
785
+ letters: '\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762',
786
+ },
787
+ {
788
+ base: 'a',
789
+ letters: '\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250',
790
+ },
791
+ { base: 'aa', letters: '\uA733' },
792
+ { base: 'ae', letters: '\u00E6\u01FD\u01E3' },
793
+ { base: 'ao', letters: '\uA735' },
794
+ { base: 'au', letters: '\uA737' },
795
+ { base: 'av', letters: '\uA739\uA73B' },
796
+ { base: 'ay', letters: '\uA73D' },
797
+ {
798
+ base: 'b',
799
+ letters: '\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253',
800
+ },
801
+ {
802
+ base: 'c',
803
+ letters: '\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184',
804
+ },
805
+ {
806
+ base: 'd',
807
+ letters: '\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A',
808
+ },
809
+ { base: 'dz', letters: '\u01F3\u01C6' },
810
+ {
811
+ base: 'e',
812
+ letters: '\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD',
813
+ },
814
+ { base: 'f', letters: '\u0066\u24D5\uFF46\u1E1F\u0192\uA77C' },
815
+ {
816
+ base: 'g',
817
+ letters: '\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F',
818
+ },
819
+ {
820
+ base: 'h',
821
+ letters: '\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265',
822
+ },
823
+ { base: 'hv', letters: '\u0195' },
824
+ {
825
+ base: 'i',
826
+ letters: '\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131',
827
+ },
828
+ { base: 'j', letters: '\u006A\u24D9\uFF4A\u0135\u01F0\u0249' },
829
+ {
830
+ base: 'k',
831
+ letters: '\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3',
832
+ },
833
+ {
834
+ base: 'l',
835
+ letters: '\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747',
836
+ },
837
+ { base: 'lj', letters: '\u01C9' },
838
+ { base: 'm', letters: '\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F' },
839
+ {
840
+ base: 'n',
841
+ letters: '\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5',
842
+ },
843
+ { base: 'nj', letters: '\u01CC' },
844
+ {
845
+ base: 'o',
846
+ letters: '\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275',
847
+ },
848
+ { base: 'oi', letters: '\u01A3' },
849
+ { base: 'ou', letters: '\u0223' },
850
+ { base: 'oo', letters: '\uA74F' },
851
+ {
852
+ base: 'p',
853
+ letters: '\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755',
854
+ },
855
+ { base: 'q', letters: '\u0071\u24E0\uFF51\u024B\uA757\uA759' },
856
+ {
857
+ base: 'r',
858
+ letters: '\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783',
859
+ },
860
+ {
861
+ base: 's',
862
+ letters: '\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B',
863
+ },
864
+ {
865
+ base: 't',
866
+ letters: '\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787',
867
+ },
868
+ { base: 'tz', letters: '\uA729' },
869
+ {
870
+ base: 'u',
871
+ letters: '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289',
872
+ },
873
+ { base: 'v', letters: '\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C' },
874
+ { base: 'vy', letters: '\uA761' },
875
+ {
876
+ base: 'w',
877
+ letters: '\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73',
878
+ },
879
+ { base: 'x', letters: '\u0078\u24E7\uFF58\u1E8B\u1E8D' },
880
+ {
881
+ base: 'y',
882
+ letters: '\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF',
883
+ },
884
+ {
885
+ base: 'z',
886
+ letters: '\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763',
887
+ },
888
+ ];
889
+ /**
890
+ * Map of letters from diacritic variant to diacritless variant
891
+ * Contains lowercase and uppercase separatelly
892
+ *
893
+ * > "á" => "a"
894
+ * > "ě" => "e"
895
+ * > "Ă" => "A"
896
+ * > ...
897
+ */
898
+ var DIACRITIC_VARIANTS_LETTERS = {};
899
+ // tslint:disable-next-line: prefer-for-of
900
+ for (var i = 0; i < defaultDiacriticsRemovalMap.length; i++) {
901
+ var letters = defaultDiacriticsRemovalMap[i].letters;
902
+ // tslint:disable-next-line: prefer-for-of
903
+ for (var j = 0; j < letters.length; j++) {
904
+ DIACRITIC_VARIANTS_LETTERS[letters[j]] =
905
+ defaultDiacriticsRemovalMap[i].base;
906
+ }
907
+ }
908
+ // <- TODO: !!!! Put to maker function
909
+ /*
910
+ @see https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript
911
+ Licensed under the Apache License, Version 2.0 (the "License");
912
+ you may not use this file except in compliance with the License.
913
+ You may obtain a copy of the License at
914
+
915
+ http://www.apache.org/licenses/LICENSE-2.0
916
+
917
+ Unless required by applicable law or agreed to in writing, software
918
+ distributed under the License is distributed on an "AS IS" BASIS,
919
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
920
+ See the License for the specific language governing permissions and
921
+ limitations under the License.
922
+ */
923
+
924
+ /* tslint:disable */
925
+ /*
926
+ TODO: Tests
927
+ expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: 'Moje tabule' })).toEqual('/VtG7sR9rRJqwNEdM2/Moje tabule');
928
+ expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: 'ěščřžžýáíúů' })).toEqual('/VtG7sR9rRJqwNEdM2/escrzyaieuu');
929
+ expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: ' ahoj ' })).toEqual('/VtG7sR9rRJqwNEdM2/ahoj');
930
+ expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: ' ahoj_ahojAhoj ahoj ' })).toEqual('/VtG7sR9rRJqwNEdM2/ahoj-ahoj-ahoj-ahoj');
931
+ */
932
+ function normalizeTo_SCREAMING_CASE(sentence) {
933
+ var e_1, _a;
934
+ var charType;
935
+ var lastCharType = 'OTHER';
936
+ var normalizedName = '';
937
+ try {
938
+ for (var sentence_1 = __values(sentence), sentence_1_1 = sentence_1.next(); !sentence_1_1.done; sentence_1_1 = sentence_1.next()) {
939
+ var char = sentence_1_1.value;
940
+ var normalizedChar = void 0;
941
+ if (/^[a-z]$/.test(char)) {
942
+ charType = 'LOWERCASE';
943
+ normalizedChar = char.toUpperCase();
944
+ }
945
+ else if (/^[A-Z]$/.test(char)) {
946
+ charType = 'UPPERCASE';
947
+ normalizedChar = char;
948
+ }
949
+ else if (/^[0-9]$/.test(char)) {
950
+ charType = 'NUMBER';
951
+ normalizedChar = char;
952
+ }
953
+ else if (/^\/$/.test(char)) {
954
+ charType = 'SLASH';
955
+ normalizedChar = char;
956
+ }
957
+ else {
958
+ charType = 'OTHER';
959
+ normalizedChar = '_';
960
+ }
961
+ if (charType !== lastCharType &&
962
+ !(lastCharType === 'UPPERCASE' && charType === 'LOWERCASE') &&
963
+ !(lastCharType === 'NUMBER') &&
964
+ !(charType === 'NUMBER')) {
965
+ normalizedName += '_';
966
+ }
967
+ normalizedName += normalizedChar;
968
+ lastCharType = charType;
969
+ }
970
+ }
971
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
972
+ finally {
973
+ try {
974
+ if (sentence_1_1 && !sentence_1_1.done && (_a = sentence_1.return)) _a.call(sentence_1);
975
+ }
976
+ finally { if (e_1) throw e_1.error; }
977
+ }
978
+ normalizedName = normalizedName.replace(/_+/g, '_');
979
+ normalizedName = normalizedName.replace(/_?\/_?/g, '/');
980
+ normalizedName = normalizedName.replace(/^_/, '');
981
+ normalizedName = normalizedName.replace(/_$/, '');
982
+ return normalizedName;
983
+ }
984
+ /**
985
+ * TODO: [🌺] Use some intermediate util splitWords
986
+ */
987
+
988
+ /* tslint:disable */
989
+ function normalizeTo_camelCase(sentence, __firstLetterCapital) {
990
+ var e_1, _a;
991
+ if (__firstLetterCapital === void 0) { __firstLetterCapital = false; }
992
+ var charType;
993
+ var lastCharType = null;
994
+ var normalizedName = '';
995
+ try {
996
+ for (var sentence_1 = __values(sentence), sentence_1_1 = sentence_1.next(); !sentence_1_1.done; sentence_1_1 = sentence_1.next()) {
997
+ var char = sentence_1_1.value;
998
+ var normalizedChar = void 0;
999
+ if (/^[a-z]$/.test(char)) {
1000
+ charType = 'LOWERCASE';
1001
+ normalizedChar = char;
1002
+ }
1003
+ else if (/^[A-Z]$/.test(char)) {
1004
+ charType = 'UPPERCASE';
1005
+ normalizedChar = char.toLowerCase();
1006
+ }
1007
+ else if (/^[0-9]$/.test(char)) {
1008
+ charType = 'NUMBER';
1009
+ normalizedChar = char;
1010
+ }
1011
+ else {
1012
+ charType = 'OTHER';
1013
+ normalizedChar = '';
1014
+ }
1015
+ if (!lastCharType) {
1016
+ if (__firstLetterCapital) {
1017
+ normalizedChar = normalizedChar.toUpperCase(); //TODO: DRY
1018
+ }
1019
+ }
1020
+ else if (charType !== lastCharType &&
1021
+ !(charType === 'LOWERCASE' && lastCharType === 'UPPERCASE') &&
1022
+ !(lastCharType === 'NUMBER') &&
1023
+ !(charType === 'NUMBER')) {
1024
+ normalizedChar = normalizedChar.toUpperCase(); //TODO: [🌺] DRY
1025
+ }
1026
+ normalizedName += normalizedChar;
1027
+ lastCharType = charType;
1028
+ }
1029
+ }
1030
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1031
+ finally {
1032
+ try {
1033
+ if (sentence_1_1 && !sentence_1_1.done && (_a = sentence_1.return)) _a.call(sentence_1);
1034
+ }
1035
+ finally { if (e_1) throw e_1.error; }
1036
+ }
1037
+ return normalizedName;
1038
+ }
1039
+ /**
1040
+ * TODO: [🌺] Use some intermediate util splitWords
1041
+ */
1042
+
1043
+ function normalizeTo_PascalCase(sentence) {
1044
+ return normalizeTo_camelCase(sentence, true);
1045
+ }
1046
+
611
1047
  /**
612
1048
  * Parses one line of ul/ol to command
613
1049
  *
@@ -630,7 +1066,7 @@
630
1066
  type = type.split(']').join('');
631
1067
  type = type.split('(').join('');
632
1068
  type = type.split(')').join('');
633
- type = n12.normalizeTo_SCREAMING_CASE(type);
1069
+ type = normalizeTo_SCREAMING_CASE(type);
634
1070
  type = type.split('DIALOGUE').join('DIALOG');
635
1071
  var listItemParts = listItem
636
1072
  .split(' ')
@@ -1094,7 +1530,7 @@
1094
1530
  }
1095
1531
  dependentParameterNames = __spreadArray([], __read(new Set(dependentParameterNames)), false);
1096
1532
  promptbookJson.promptTemplates.push({
1097
- name: n12.normalizeTo_PascalCase(section.title),
1533
+ name: normalizeTo_PascalCase(section.title),
1098
1534
  title: section.title,
1099
1535
  description: description_1,
1100
1536
  dependentParameterNames: dependentParameterNames,
@@ -1152,38 +1588,6 @@
1152
1588
  return content.replace(heading, "<!--".concat(sectionName, "-->\n").concat(warningLine, "\n").concat(sectionContent, "\n<!--/").concat(sectionName, "-->\n\n").concat(heading));
1153
1589
  }
1154
1590
 
1155
- /**
1156
- * Prettify the html code
1157
- *
1158
- * @param html raw html code
1159
- * @returns formatted html code
1160
- */
1161
- function prettifyMarkdown(html) {
1162
- try {
1163
- return prettier.format(html, {
1164
- parser: 'markdown',
1165
- plugins: [parserHtml__default["default"]],
1166
- // TODO: DRY - make some import or auto-copy of .prettierrc
1167
- endOfLine: 'lf',
1168
- tabWidth: 4,
1169
- singleQuote: true,
1170
- trailingComma: 'all',
1171
- arrowParens: 'always',
1172
- printWidth: 120,
1173
- htmlWhitespaceSensitivity: 'ignore',
1174
- jsxBracketSameLine: false,
1175
- bracketSpacing: true,
1176
- });
1177
- }
1178
- catch (error) {
1179
- console.error('There was an error with prettifying the markdown, using the original as the fallback', {
1180
- error: error,
1181
- html: html,
1182
- });
1183
- return html;
1184
- }
1185
- }
1186
-
1187
1591
  /**
1188
1592
  * !!!
1189
1593
  */
@@ -1203,7 +1607,7 @@
1203
1607
  if (!template) {
1204
1608
  throw new Error("Could not find template for {".concat(parameterName, "}"));
1205
1609
  }
1206
- return 'template' + n12.normalizeTo_PascalCase(template.title);
1610
+ return 'template' + normalizeTo_PascalCase(template.title);
1207
1611
  };
1208
1612
  var promptbookMermaid_1 = spaceTrim__default["default"](function (block) { return "\n\n %% \uD83D\uDD2E Tip: Open this on GitHub or in the VSCode website to see the Mermaid graph visually\n\n flowchart LR\n subgraph \"".concat(promptbookJson_1.title, "\"\n\n direction TB\n\n input((Input)):::input\n ").concat(block(promptbookJson_1.promptTemplates
1209
1613
  .flatMap(function (_a) {