@promptbook/utils 0.84.0-9 → 0.85.0-0

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 (59) hide show
  1. package/README.md +73 -32
  2. package/esm/index.es.js +46 -19
  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 +12 -4
  6. package/esm/typings/src/_packages/deepseek.index.d.ts +8 -0
  7. package/esm/typings/src/_packages/types.index.d.ts +16 -2
  8. package/esm/typings/src/_packages/utils.index.d.ts +2 -2
  9. package/esm/typings/src/_packages/wizzard.index.d.ts +4 -0
  10. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +13 -0
  11. package/esm/typings/src/cli/cli-commands/about.d.ts +4 -1
  12. package/esm/typings/src/cli/cli-commands/hello.d.ts +3 -1
  13. package/esm/typings/src/cli/cli-commands/list-models.d.ts +3 -1
  14. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +13 -0
  15. package/esm/typings/src/cli/cli-commands/make.d.ts +3 -1
  16. package/esm/typings/src/cli/cli-commands/prettify.d.ts +3 -1
  17. package/esm/typings/src/cli/cli-commands/run.d.ts +3 -1
  18. package/esm/typings/src/cli/cli-commands/runInteractiveChatbot.d.ts +1 -1
  19. package/esm/typings/src/cli/cli-commands/start-server.d.ts +13 -0
  20. package/esm/typings/src/cli/cli-commands/test-command.d.ts +3 -1
  21. package/esm/typings/src/config.d.ts +27 -1
  22. package/esm/typings/src/conversion/compilePipelineOnRemoteServer.d.ts +1 -1
  23. package/esm/typings/src/execution/AbstractTaskResult.d.ts +25 -0
  24. package/esm/typings/src/execution/ExecutionTask.d.ts +71 -0
  25. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  26. package/esm/typings/src/execution/PipelineExecutor.d.ts +2 -5
  27. package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -15
  28. package/esm/typings/src/execution/PromptbookFetch.d.ts +8 -1
  29. package/esm/typings/src/execution/{assertsExecutionSuccessful.d.ts → assertsTaskSuccessful.d.ts} +4 -3
  30. package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +0 -3
  31. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +2 -6
  32. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +3 -6
  33. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +9 -0
  34. package/esm/typings/src/llm-providers/deepseek/DeepseekExecutionToolsOptions.d.ts +9 -0
  35. package/esm/typings/src/llm-providers/deepseek/createDeepseekExecutionTools.d.ts +14 -0
  36. package/esm/typings/src/llm-providers/deepseek/register-configuration.d.ts +14 -0
  37. package/esm/typings/src/llm-providers/deepseek/register-constructor.d.ts +15 -0
  38. package/esm/typings/src/pipeline/book-notation.d.ts +3 -2
  39. package/esm/typings/src/pipeline/prompt-notation.d.ts +18 -5
  40. package/esm/typings/src/prepare/preparePipelineOnRemoteServer.d.ts +1 -1
  41. package/esm/typings/src/remote-server/socket-types/_subtypes/PromptbookServer_Identification.d.ts +5 -2
  42. package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -0
  43. package/esm/typings/src/types/typeAliases.d.ts +2 -0
  44. package/esm/typings/src/utils/editable/edit-pipeline-string/deflatePipeline.test.d.ts +1 -0
  45. package/esm/typings/src/utils/editable/utils/isFlatPipeline.test.d.ts +1 -0
  46. package/esm/typings/src/utils/environment/$isRunningInBrowser.d.ts +3 -0
  47. package/esm/typings/src/utils/environment/$isRunningInJest.d.ts +3 -0
  48. package/esm/typings/src/utils/environment/$isRunningInNode.d.ts +3 -0
  49. package/esm/typings/src/utils/environment/$isRunningInWebWorker.d.ts +3 -0
  50. package/esm/typings/src/utils/files/mimeTypeToExtension.d.ts +10 -0
  51. package/esm/typings/src/utils/files/mimeTypeToExtension.test.d.ts +1 -0
  52. package/esm/typings/src/utils/random/$randomSeed.d.ts +2 -1
  53. package/esm/typings/src/utils/random/$randomToken.d.ts +13 -0
  54. package/esm/typings/src/wizzard/wizzard.d.ts +8 -3
  55. package/package.json +7 -14
  56. package/umd/index.umd.js +46 -19
  57. package/umd/index.umd.js.map +1 -1
  58. package/esm/typings/src/remote-server/socket-types/_common/PromptbookServer_Progress.d.ts +0 -10
  59. package/esm/typings/src/types/TaskProgress.d.ts +0 -43
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <!-- ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten -->
2
2
 
3
- # Promptbook
3
+ # Promptbook
4
4
 
5
5
 
6
6
 
@@ -14,12 +14,13 @@
14
14
 
15
15
 
16
16
 
17
- ## New Features
17
+ ## 🌟 New Features
18
18
 
19
+ - 💫 Support of [`o3-mini` model by OpenAI](https://openai.com/index/openai-o3-mini/)
20
+ - 🐋 **Support of [DeepSeek models](https://www.npmjs.com/package/@promptbook/deepseek)**
19
21
  - 💙 Working [the **Book** language v1.0.0](https://github.com/webgptorg/book)
20
22
  - 🖤 Run books from CLI - `npx ptbk run path/to/your/book`
21
- - 📚 Support of `.docx`, `.doc` and `.pdf` documents
22
- - ✨ **Support of [OpenAI o1 model](https://openai.com/o1/)**
23
+ - 📚 Support of `.docx`, `.doc` and `.pdf` documents as knowledge
23
24
 
24
25
 
25
26
 
@@ -42,37 +43,37 @@ npm i ptbk
42
43
  npm install @promptbook/utils
43
44
  ```
44
45
 
45
- Utility functions used in the library but also useful for individual use in preprocessing and postprocessing LLM inputs and outputs
46
+ Utility functions used in the library, but also useful for individual use in pre and post-processing of LLM inputs and outputs.
46
47
 
47
- Here is a overview of the functions which are exported from the `@promptbook/utils` package and can be used in your own projects:
48
+ Here is an overview of the functions that can be exported from the `@promptbook/utils` package and used in your own projects:
48
49
 
49
- ## Postprocessing
50
+ ## Simple templating
50
51
 
51
- Sometimes you need to postprocess the output of the LLM model, every postprocessing function that is available through `POSTPROCESS` command in promptbook is exported from `@promptbook/utils`. You can use:
52
+ The `prompt` template tag function helps format prompt strings for LLM interactions. It handles string interpolation and maintains consistent formatting for multiline strings and lists and also handles a security to avoid **prompt injection**.
52
53
 
53
- - `spaceTrim`
54
- - `extractAllBlocksFromMarkdown`, _<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
55
- - `extractAllListItemsFromMarkdown` _<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
56
- - `extractBlock`
57
- - `extractOneBlockFromMarkdown `_<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
58
- - `prettifyPipelineString`
59
- - `removeMarkdownComments`
60
- - `removeEmojis`
61
- - `removeMarkdownFormatting` _<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
62
- - `removeQuotes`
63
- - `trimCodeBlock`
64
- - `trimEndOfCodeBlock`
65
- - `unwrapResult`
54
+ ```typescript
55
+ import { prompt } from '@promptbook/utils';
66
56
 
67
- Very often you will use `unwrapResult`, which is used to extract the result you need from output with some additional information:
57
+ const promptString = prompt`
58
+ Correct the following sentence:
59
+
60
+ > ${unsecureUserInput}
61
+ `;
62
+ ```
63
+
64
+ The `prompt` name could be overloaded by multiple things in your code. If you want to use the `promptTemplate` which is alias for `prompt`:
68
65
 
69
66
  ```typescript
70
- import { unwrapResult } from '@promptbook/utils';
67
+ import { promptTemplate } from '@promptbook/utils';
71
68
 
72
- unwrapResult('Best greeting for the user is "Hi Pavol!"'); // 'Hi Pavol!'
69
+ const promptString = promptTemplate`
70
+ Correct the following sentence:
71
+
72
+ > ${unsecureUserInput}
73
+ `;
73
74
  ```
74
75
 
75
- ## Templating
76
+ ## Advanced templating
76
77
 
77
78
  There is a function `templateParameters` which is used to replace the parameters in given template optimized to LLM prompt templates.
78
79
 
@@ -152,18 +153,43 @@ console.log(normalizeTo['kebab-case']('Hello, world!')); // 'hello-world'
152
153
  - There are more normalization functions like `capitalize`, `decapitalize`, `removeDiacritics`,...
153
154
  - Theese can be also used as postprocessing functions in the `POSTPROCESS` command in promptbook
154
155
 
156
+ ## Postprocessing
157
+
158
+ Sometimes you need to postprocess the output of the LLM model, every postprocessing function that is available through `POSTPROCESS` command in promptbook is exported from `@promptbook/utils`. You can use:
159
+
160
+ - `spaceTrim`
161
+ - `extractAllBlocksFromMarkdown`, _<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
162
+ - `extractAllListItemsFromMarkdown` _<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
163
+ - `extractBlock`
164
+ - `extractOneBlockFromMarkdown `_<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
165
+ - `prettifyPipelineString`
166
+ - `removeMarkdownComments`
167
+ - `removeEmojis`
168
+ - `removeMarkdownFormatting` _<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
169
+ - `removeQuotes`
170
+ - `trimCodeBlock`
171
+ - `trimEndOfCodeBlock`
172
+ - `unwrapResult`
173
+
174
+ Very often you will use `unwrapResult`, which is used to extract the result you need from output with some additional information:
175
+
176
+ ```typescript
177
+ import { unwrapResult } from '@promptbook/utils';
178
+
179
+ unwrapResult('Best greeting for the user is "Hi Pavol!"'); // 'Hi Pavol!'
180
+ ```
181
+
155
182
  ## Misc
156
183
 
157
184
  See also the documentation for all the functions in the `@promptbook/utils` package, every function is documented by jsdoc, typed by typescript and tested by jest.
158
185
 
159
186
 
160
187
 
161
- `assertsExecutionSuccessful`,
162
- `checkExpectations`,
163
- `executionReportJsonToString`,
164
- `isPassingExpectations`,
165
- `isValidJsonString`,
166
- `parseNumber`
188
+ - `checkExpectations`,
189
+ - `executionReportJsonToString`,
190
+ - `isPassingExpectations`,
191
+ - `isValidJsonString`,
192
+ - `parseNumber`
167
193
 
168
194
 
169
195
  ---
@@ -384,8 +410,9 @@ Or you can install them separately:
384
410
  - **[@promptbook/anthropic-claude](https://www.npmjs.com/package/@promptbook/anthropic-claude)** - Execution tools for Anthropic Claude API, wrapper around Anthropic Claude SDK
385
411
  - **[@promptbook/vercel](https://www.npmjs.com/package/@promptbook/vercel)** - Adapter for Vercel functionalities
386
412
  - **[@promptbook/google](https://www.npmjs.com/package/@promptbook/google)** - Integration with Google's Gemini API
413
+ - **[@promptbook/deepseek](https://www.npmjs.com/package/@promptbook/deepseek)** - Integration with [DeepSeek API](https://www.deepseek.com/)
387
414
  - **[@promptbook/azure-openai](https://www.npmjs.com/package/@promptbook/azure-openai)** - Execution tools for Azure OpenAI API
388
- - **[@promptbook/langtail](https://www.npmjs.com/package/@promptbook/langtail)** - Execution tools for Langtail API, wrapper around Langtail SDK
415
+
389
416
  - **[@promptbook/fake-llm](https://www.npmjs.com/package/@promptbook/fake-llm)** - Mocked execution tools for testing the library and saving the tokens
390
417
  - **[@promptbook/remote-client](https://www.npmjs.com/package/@promptbook/remote-client)** - Remote client for remote execution of promptbooks
391
418
  - **[@promptbook/remote-server](https://www.npmjs.com/package/@promptbook/remote-server)** - Remote server for remote execution of promptbooks
@@ -555,6 +582,20 @@ See [TODO.md](./TODO.md)
555
582
 
556
583
 
557
584
 
585
+ ## 🤝 Partners
586
+
587
+ <div style="display: flex; align-items: center; gap: 20px;">
588
+
589
+ <a href="https://promptbook.studio/">
590
+ <img src="./other/design/promptbook-studio-logo.png" alt="Partner 3" height="100">
591
+ </a>
592
+
593
+ <a href="https://technologickainkubace.org/en/about-technology-incubation/about-the-project/">
594
+ <img src="./other/partners/CI-Technology-Incubation.png" alt="Technology Incubation" height="100">
595
+ </a>
596
+
597
+ </div>
598
+
558
599
  ## 🖋️ Contributing
559
600
 
560
601
  I am open to pull requests, feedback, and suggestions. Or if you like this utility, you can [☕ buy me a coffee](https://www.buymeacoffee.com/hejny) or [donate via cryptocurrencies](https://github.com/hejny/hejny/blob/main/documents/crypto.md).
package/esm/index.es.js CHANGED
@@ -15,7 +15,7 @@ var BOOK_LANGUAGE_VERSION = '1.0.0';
15
15
  * @generated
16
16
  * @see https://github.com/webgptorg/promptbook
17
17
  */
18
- var PROMPTBOOK_ENGINE_VERSION = '0.84.0-8';
18
+ var PROMPTBOOK_ENGINE_VERSION = '0.84.0';
19
19
  /**
20
20
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
21
21
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1729,13 +1729,14 @@ function templateParameters(template, parameters) {
1729
1729
  /**
1730
1730
  * Tag function for notating a prompt as template literal
1731
1731
  *
1732
- * Note: There are 2 similar functions:
1732
+ * Note: There are 3 similar functions:
1733
1733
  * 1) `prompt` for notating single prompt exported from `@promptbook/utils`
1734
- * 1) `book` for notating and validating entire books exported from `@promptbook/utils`
1734
+ * 2) `promptTemplate` alias for `prompt`
1735
+ * 3) `book` for notating and validating entire books exported from `@promptbook/utils`
1735
1736
  *
1736
- * @param strings @@@
1737
- * @param values @@@
1738
- * @returns the pipeline string
1737
+ * @param strings
1738
+ * @param values
1739
+ * @returns the prompt string
1739
1740
  * @public exported from `@promptbook/utils`
1740
1741
  */
1741
1742
  function prompt(strings) {
@@ -1746,10 +1747,14 @@ function prompt(strings) {
1746
1747
  if (values.length === 0) {
1747
1748
  return spaceTrim$1(strings.join(''));
1748
1749
  }
1750
+ var stringsWithHiddenParameters = strings.map(function (stringsItem) {
1751
+ // TODO: [0] DRY
1752
+ return stringsItem.split('{').join("".concat(REPLACING_NONCE, "beginbracket")).split('}').join("".concat(REPLACING_NONCE, "endbracket"));
1753
+ });
1749
1754
  var placeholderParameterNames = values.map(function (value, i) { return "".concat(REPLACING_NONCE).concat(i); });
1750
1755
  var parameters = Object.fromEntries(values.map(function (value, i) { return [placeholderParameterNames[i], value]; }));
1751
1756
  // Combine strings and values
1752
- var pipelineString = strings.reduce(function (result, stringsItem, i) {
1757
+ var pipelineString = stringsWithHiddenParameters.reduce(function (result, stringsItem, i) {
1753
1758
  return placeholderParameterNames[i] === undefined
1754
1759
  ? "".concat(result).concat(stringsItem)
1755
1760
  : "".concat(result).concat(stringsItem, "{").concat(placeholderParameterNames[i], "}");
@@ -1765,8 +1770,26 @@ function prompt(strings) {
1765
1770
  console.error({ pipelineString: pipelineString, parameters: parameters, placeholderParameterNames: placeholderParameterNames, error: error });
1766
1771
  throw new UnexpectedError(spaceTrim$1(function (block) { return "\n Internal error in prompt template literal\n \n ".concat(block(JSON.stringify({ strings: strings, values: values }, null, 4)), "}\n \n "); }));
1767
1772
  }
1773
+ // TODO: [0] DRY
1774
+ pipelineString = pipelineString
1775
+ .split("".concat(REPLACING_NONCE, "beginbracket"))
1776
+ .join('{')
1777
+ .split("".concat(REPLACING_NONCE, "endbracket"))
1778
+ .join('}');
1768
1779
  return pipelineString;
1769
1780
  }
1781
+ /**
1782
+ * Tag function for notating a prompt as template literal
1783
+ *
1784
+ * Note: There are 3 similar functions:
1785
+ * 1) `prompt` for notating single prompt exported from `@promptbook/utils`
1786
+ * 2) `promptTemplate` alias for `prompt`
1787
+ * 3) `book` for notating and validating entire books exported from `@promptbook/utils`
1788
+ *
1789
+ * @alias prompt
1790
+ * @public exported from `@promptbook/utils`
1791
+ */
1792
+ var promptTemplate = prompt;
1770
1793
  /**
1771
1794
  * TODO: [🧠][🈴] Where is the best location for this file
1772
1795
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1792,6 +1815,9 @@ function $getCurrentDate() {
1792
1815
  * @public exported from `@promptbook/utils`
1793
1816
  */
1794
1817
  var $isRunningInBrowser = new Function("\n try {\n return this === window;\n } catch (e) {\n return false;\n }\n");
1818
+ /**
1819
+ * TODO: [🎺]
1820
+ */
1795
1821
 
1796
1822
  /**
1797
1823
  * Detects if the code is running in jest environment
@@ -1801,6 +1827,9 @@ var $isRunningInBrowser = new Function("\n try {\n return this === win
1801
1827
  * @public exported from `@promptbook/utils`
1802
1828
  */
1803
1829
  var $isRunningInJest = new Function("\n try {\n return process.env.JEST_WORKER_ID !== undefined;\n } catch (e) {\n return false;\n }\n");
1830
+ /**
1831
+ * TODO: [🎺]
1832
+ */
1804
1833
 
1805
1834
  /**
1806
1835
  * Detects if the code is running in a Node.js environment
@@ -1810,6 +1839,9 @@ var $isRunningInJest = new Function("\n try {\n return process.env.JES
1810
1839
  * @public exported from `@promptbook/utils`
1811
1840
  */
1812
1841
  var $isRunningInNode = new Function("\n try {\n return this === global;\n } catch (e) {\n return false;\n }\n");
1842
+ /**
1843
+ * TODO: [🎺]
1844
+ */
1813
1845
 
1814
1846
  /**
1815
1847
  * Detects if the code is running in a web worker
@@ -1819,6 +1851,9 @@ var $isRunningInNode = new Function("\n try {\n return this === global
1819
1851
  * @public exported from `@promptbook/utils`
1820
1852
  */
1821
1853
  var $isRunningInWebWorker = new Function("\n try {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n return true;\n } else {\n return false;\n }\n } catch (e) {\n return false;\n }\n");
1854
+ /**
1855
+ * TODO: [🎺]
1856
+ */
1822
1857
 
1823
1858
  /**
1824
1859
  * Number of characters per standard line with 11pt Arial font size.
@@ -2288,17 +2323,6 @@ function parseNumber(value) {
2288
2323
  * TODO: [🧠][🌻] Maybe export through `@promptbook/markdown-utils` not `@promptbook/utils`
2289
2324
  */
2290
2325
 
2291
- /**
2292
- * Generates random seed
2293
- *
2294
- * Note: `$` is used to indicate that this function is not a pure function - it is not deterministic
2295
- * Warning: This function is NOT cryptographically secure (it uses Math.random internally)
2296
- * @public exported from `@promptbook/utils`
2297
- */
2298
- function $randomSeed() {
2299
- return Math.random();
2300
- }
2301
-
2302
2326
  /**
2303
2327
  * Removes quotes from a string
2304
2328
  *
@@ -2617,6 +2641,9 @@ function isValidEmail(email) {
2617
2641
  if (typeof email !== 'string') {
2618
2642
  return false;
2619
2643
  }
2644
+ if (email.split('\n').length > 1) {
2645
+ return false;
2646
+ }
2620
2647
  return /^.+@.+\..+$/.test(email);
2621
2648
  }
2622
2649
 
@@ -2787,5 +2814,5 @@ function isValidUuid(value) {
2787
2814
  return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i.test(value);
2788
2815
  }
2789
2816
 
2790
- export { $deepFreeze, $getCurrentDate, $isRunningInBrowser, $isRunningInJest, $isRunningInNode, $isRunningInWebWorker, $randomSeed, BOOK_LANGUAGE_VERSION, CHARACTERS_PER_STANDARD_LINE, CountUtils, DIACRITIC_VARIANTS_LETTERS, LINES_PER_STANDARD_PAGE, PROMPTBOOK_ENGINE_VERSION, SMALL_NUMBER, VALUE_STRINGS, capitalize, checkSerializableAsJson, clonePipeline, countCharacters, countLines, countPages, countParagraphs, countSentences, countWords, decapitalize, deepClone, deserializeError, difference, exportJson, extractParameterNames, extractVariablesFromScript, forEachAsync, intersection, isHostnameOnPrivateNetwork, isRootPath, isSerializableAsJson, isUrlOnPrivateNetwork, isValidEmail, isValidFilePath, isValidJavascriptName, isValidJsonString, isValidKeyword, isValidPipelineUrl, isValidPromptbookVersion, isValidSemanticVersion, isValidUrl, isValidUuid, nameToUriPart, nameToUriParts, normalizeToKebabCase, normalizeTo_PascalCase, normalizeTo_SCREAMING_CASE, normalizeTo_camelCase, normalizeTo_snake_case, normalizeWhitespaces, numberToString, orderJson, parseKeywords, parseKeywordsFromString, parseNumber, prompt, removeDiacritics, removeEmojis, removeQuotes, renderPromptbookMermaid, searchKeywords, serializeError, spaceTrim, splitIntoSentences, templateParameters, titleToName, trimCodeBlock, trimEndOfCodeBlock, union, unwrapResult, valueToString };
2817
+ export { $deepFreeze, $getCurrentDate, $isRunningInBrowser, $isRunningInJest, $isRunningInNode, $isRunningInWebWorker, BOOK_LANGUAGE_VERSION, CHARACTERS_PER_STANDARD_LINE, CountUtils, DIACRITIC_VARIANTS_LETTERS, LINES_PER_STANDARD_PAGE, PROMPTBOOK_ENGINE_VERSION, SMALL_NUMBER, VALUE_STRINGS, capitalize, checkSerializableAsJson, clonePipeline, countCharacters, countLines, countPages, countParagraphs, countSentences, countWords, decapitalize, deepClone, deserializeError, difference, exportJson, extractParameterNames, extractVariablesFromScript, forEachAsync, intersection, isHostnameOnPrivateNetwork, isRootPath, isSerializableAsJson, isUrlOnPrivateNetwork, isValidEmail, isValidFilePath, isValidJavascriptName, isValidJsonString, isValidKeyword, isValidPipelineUrl, isValidPromptbookVersion, isValidSemanticVersion, isValidUrl, isValidUuid, nameToUriPart, nameToUriParts, normalizeToKebabCase, normalizeTo_PascalCase, normalizeTo_SCREAMING_CASE, normalizeTo_camelCase, normalizeTo_snake_case, normalizeWhitespaces, numberToString, orderJson, parseKeywords, parseKeywordsFromString, parseNumber, prompt, promptTemplate, removeDiacritics, removeEmojis, removeQuotes, renderPromptbookMermaid, searchKeywords, serializeError, spaceTrim, splitIntoSentences, templateParameters, titleToName, trimCodeBlock, trimEndOfCodeBlock, union, unwrapResult, valueToString };
2791
2818
  //# sourceMappingURL=index.es.js.map