@promptbook/utils 0.81.0-9 → 0.81.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.
- package/README.md +26 -9
- package/esm/index.es.js +57 -17
- package/esm/index.es.js.map +1 -1
- package/esm/typings/books/index.d.ts +38 -0
- package/esm/typings/src/_packages/core.index.d.ts +12 -4
- package/esm/typings/src/_packages/markdown-utils.index.d.ts +2 -2
- package/esm/typings/src/_packages/node.index.d.ts +0 -2
- package/esm/typings/src/_packages/templates.index.d.ts +2 -2
- package/esm/typings/src/_packages/types.index.d.ts +2 -0
- package/esm/typings/src/_packages/utils.index.d.ts +2 -0
- package/esm/typings/src/_packages/wizzard.index.d.ts +44 -0
- package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
- package/esm/typings/src/cli/cli-commands/run.d.ts +2 -2
- package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +11 -0
- package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
- package/esm/typings/src/commands/index.d.ts +1 -1
- package/esm/typings/src/config.d.ts +3 -3
- package/esm/typings/src/conversion/compilePipeline.d.ts +1 -4
- package/esm/typings/src/conversion/{precompilePipeline.d.ts → parsePipeline.d.ts} +3 -3
- package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +3 -3
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +7 -7
- package/esm/typings/src/errors/utils/getErrorReportUrl.d.ts +1 -1
- package/esm/typings/src/formfactors/generator/GeneratorFormfactorDefinition.d.ts +9 -4
- package/esm/typings/src/formfactors/image-generator/ImageGeneratorFormfactorDefinition.d.ts +24 -0
- package/esm/typings/src/formfactors/index.d.ts +31 -9
- package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +1 -1
- package/esm/typings/src/high-level-abstractions/index.d.ts +3 -3
- package/esm/typings/src/high-level-abstractions/quick-chatbot/QuickChatbotHla.d.ts +3 -0
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/register/{$provideLlmToolsForCli.d.ts → $provideLlmToolsForWizzardOrCli.d.ts} +2 -2
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +1 -1
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/anthropic-claude/createAnthropicClaudeExecutionTools.d.ts +2 -2
- package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +2 -2
- package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +1 -0
- package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +2 -0
- package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +1 -0
- package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +1 -0
- package/esm/typings/src/llm-providers/google/register-configuration.d.ts +1 -0
- package/esm/typings/src/llm-providers/google/register-constructor.d.ts +1 -0
- package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +2 -0
- package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +2 -0
- package/esm/typings/src/llm-providers/vercel/playground/playground.d.ts +1 -1
- package/esm/typings/src/other/templates/getBookTemplates.d.ts +22 -0
- package/esm/typings/src/personas/preparePersona.d.ts +4 -4
- package/esm/typings/src/pipeline/PipelineString.d.ts +0 -3
- package/esm/typings/src/pipeline/book-notation.d.ts +14 -0
- package/esm/typings/src/pipeline/isValidPipelineString.d.ts +13 -0
- package/esm/typings/src/pipeline/isValidPipelineString.test.d.ts +4 -0
- package/esm/typings/src/pipeline/validatePipelineString.d.ts +14 -0
- package/esm/typings/src/prepare/isPipelinePrepared.d.ts +3 -1
- package/esm/typings/src/prepare/preparePipeline.d.ts +2 -0
- package/esm/typings/src/prepare/prepareTasks.d.ts +1 -1
- package/esm/typings/src/scrapers/_common/Converter.d.ts +1 -0
- package/esm/typings/src/scrapers/_common/Scraper.d.ts +1 -1
- package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +3 -0
- package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +2 -0
- package/esm/typings/src/scrapers/_common/utils/scraperFetch.d.ts +3 -0
- package/esm/typings/src/scrapers/document/register-constructor.d.ts +1 -0
- package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -0
- package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +1 -0
- package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -0
- package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +1 -0
- package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -0
- package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +1 -0
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +1 -0
- package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +2 -1
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +3 -1
- package/esm/typings/src/scrapers/website/register-constructor.d.ts +1 -0
- package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -0
- package/esm/typings/src/scripting/javascript/JavascriptEvalExecutionTools.test.d.ts +1 -1
- package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +2 -1
- package/esm/typings/src/types/typeAliases.d.ts +8 -2
- package/esm/typings/src/utils/markdown/flattenMarkdown.d.ts +1 -1
- package/esm/typings/src/utils/markdown/{removeContentComments.d.ts → removeMarkdownComments.d.ts} +2 -2
- package/esm/typings/src/utils/organization/$sideEffect.d.ts +9 -0
- package/esm/typings/src/utils/serialization/checkSerializableAsJson.d.ts +1 -1
- package/esm/typings/src/utils/serialization/isSerializableAsJson.d.ts +2 -2
- package/esm/typings/src/utils/validators/filePath/isRootPath.d.ts +12 -0
- package/esm/typings/src/utils/validators/filePath/isRootPath.test.d.ts +4 -0
- package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +3 -0
- package/esm/typings/src/wizzard/$getCompiledBook.d.ts +16 -0
- package/esm/typings/src/wizzard/wizzard.d.ts +51 -7
- package/package.json +1 -1
- package/umd/index.umd.js +57 -16
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/other/templates/getBookTemplate.d.ts +0 -21
- package/esm/typings/src/scripting/javascript/utils/unknownToString.d.ts +0 -8
- /package/esm/typings/src/conversion/{precompilePipeline.test.d.ts → parsePipeline.test.d.ts} +0 -0
- /package/esm/typings/src/utils/markdown/{removeContentComments.test.d.ts → removeMarkdownComments.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -23,10 +23,6 @@
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
<blockquote style="color: #ff8811">
|
|
27
|
-
<b>⚠ Warning:</b> This is a pre-release version of the library. It is not yet ready for production use. Please look at <a href="https://www.npmjs.com/package/@promptbook/core?activeTab=versions">latest stable release</a>.
|
|
28
|
-
</blockquote>
|
|
29
|
-
|
|
30
26
|
## 📦 Package `@promptbook/utils`
|
|
31
27
|
|
|
32
28
|
- Promptbooks are [divided into several](#-packages) packages, all are published from [single monorepo](https://github.com/webgptorg/promptbook).
|
|
@@ -56,7 +52,7 @@ Sometimes you need to postprocess the output of the LLM model, every postprocess
|
|
|
56
52
|
- `extractBlock`
|
|
57
53
|
- `extractOneBlockFromMarkdown `_<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
|
|
58
54
|
- `prettifyPipelineString`
|
|
59
|
-
- `
|
|
55
|
+
- `removeMarkdownComments`
|
|
60
56
|
- `removeEmojis`
|
|
61
57
|
- `removeMarkdownFormatting` _<- Note: Exported from [`@promptbook/markdown-utils`](https://www.npmjs.com/package/@promptbook/markdown-utils)_
|
|
62
58
|
- `removeQuotes`
|
|
@@ -247,11 +243,31 @@ Promptbook project is ecosystem of multiple projects and tools, following is a l
|
|
|
247
243
|
</tbody>
|
|
248
244
|
</table>
|
|
249
245
|
|
|
250
|
-
|
|
246
|
+
We also have a community of developers and users of **Promptbook**:
|
|
251
247
|
|
|
252
|
-
- [Discord](https://discord.gg/x3QWNaa89N)
|
|
253
|
-
- [Landing page](https://ptbk.io)
|
|
248
|
+
- [Discord community](https://discord.gg/x3QWNaa89N)
|
|
249
|
+
- [Landing page `ptbk.io`](https://ptbk.io)
|
|
254
250
|
- [Github discussions](https://github.com/webgptorg/promptbook/discussions)
|
|
251
|
+
- [LinkedIn `Promptbook`](https://linkedin.com/company/promptbook)
|
|
252
|
+
- [Facebook `Promptbook`](https://www.facebook.com/61560776453536)
|
|
253
|
+
|
|
254
|
+
And **Promptbook.studio** branded socials:
|
|
255
|
+
|
|
256
|
+
- [Instagram `@promptbook.studio`](https://www.instagram.com/promptbook.studio/)
|
|
257
|
+
|
|
258
|
+
And **Promptujeme** sub-brand:
|
|
259
|
+
|
|
260
|
+
_/Subbrand for Czech clients/_
|
|
261
|
+
|
|
262
|
+
- [Promptujeme.cz](https://www.promptujeme.cz/)
|
|
263
|
+
- [Facebook `Promptujeme`](https://www.facebook.com/promptujeme/)
|
|
264
|
+
|
|
265
|
+
And **Promptbook.city** branded socials:
|
|
266
|
+
|
|
267
|
+
_/Sub-brand for images and graphics generated via Promptbook prompting/_
|
|
268
|
+
|
|
269
|
+
- [Instagram `@promptbook.city`](https://www.instagram.com/promptbook.city/)
|
|
270
|
+
- [Facebook `Promptbook City`](https://www.facebook.com/61565718625569)
|
|
255
271
|
|
|
256
272
|
|
|
257
273
|
|
|
@@ -352,6 +368,7 @@ Or you can install them separately:
|
|
|
352
368
|
|
|
353
369
|
- ⭐ **[ptbk](https://www.npmjs.com/package/ptbk)** - Bundle of all packages, when you want to install everything and you don't care about the size
|
|
354
370
|
- **[promptbook](https://www.npmjs.com/package/promptbook)** - Same as `ptbk`
|
|
371
|
+
- ⭐🧙♂️ **[@promptbook/wizzard](https://www.npmjs.com/package/@promptbook/wizzard)** - Wizzard to just run the books in node without any struggle
|
|
355
372
|
- **[@promptbook/core](https://www.npmjs.com/package/@promptbook/core)** - Core of the library, it contains the main logic for promptbooks
|
|
356
373
|
- **[@promptbook/node](https://www.npmjs.com/package/@promptbook/node)** - Core of the library for Node.js environment
|
|
357
374
|
- **[@promptbook/browser](https://www.npmjs.com/package/@promptbook/browser)** - Core of the library for browser environment
|
|
@@ -375,7 +392,7 @@ Or you can install them separately:
|
|
|
375
392
|
- **[@promptbook/editable](https://www.npmjs.com/package/@promptbook/editable)** - Editable book as native javascript object with imperative object API
|
|
376
393
|
- **[@promptbook/templates](https://www.npmjs.com/package/@promptbook/templates)** - Usefull templates and examples of books which can be used as a starting point
|
|
377
394
|
- **[@promptbook/types](https://www.npmjs.com/package/@promptbook/types)** - Just typescript types used in the library
|
|
378
|
-
- **[@promptbook/cli](https://www.npmjs.com/package/@promptbook/cli)** - Command line interface utilities for promptbooks
|
|
395
|
+
- ⭐ **[@promptbook/cli](https://www.npmjs.com/package/@promptbook/cli)** - Command line interface utilities for promptbooks
|
|
379
396
|
|
|
380
397
|
|
|
381
398
|
|
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.81.0-
|
|
18
|
+
var PROMPTBOOK_ENGINE_VERSION = '0.81.0-24';
|
|
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
|
|
@@ -207,7 +207,7 @@ function __spreadArray(to, from, pack) {
|
|
|
207
207
|
/**
|
|
208
208
|
* Make error report URL for the given error
|
|
209
209
|
*
|
|
210
|
-
* @private
|
|
210
|
+
* @private private within the repository
|
|
211
211
|
*/
|
|
212
212
|
function getErrorReportUrl(error) {
|
|
213
213
|
var report = {
|
|
@@ -328,21 +328,44 @@ function isValidFilePath(filename) {
|
|
|
328
328
|
if (typeof filename !== 'string') {
|
|
329
329
|
return false;
|
|
330
330
|
}
|
|
331
|
+
if (filename.split('\n').length > 1) {
|
|
332
|
+
return false;
|
|
333
|
+
}
|
|
334
|
+
if (filename.split(' ').length >
|
|
335
|
+
5 /* <- TODO: [🧠][🈷] Make some better non-arbitrary way how to distinct filenames from informational texts */) {
|
|
336
|
+
return false;
|
|
337
|
+
}
|
|
331
338
|
var filenameSlashes = filename.split('\\').join('/');
|
|
332
339
|
// Absolute Unix path: /hello.txt
|
|
333
340
|
if (/^(\/)/i.test(filenameSlashes)) {
|
|
341
|
+
// console.log(filename, 'Absolute Unix path: /hello.txt');
|
|
334
342
|
return true;
|
|
335
343
|
}
|
|
336
344
|
// Absolute Windows path: /hello.txt
|
|
337
345
|
if (/^([A-Z]{1,2}:\/?)\//i.test(filenameSlashes)) {
|
|
346
|
+
// console.log(filename, 'Absolute Windows path: /hello.txt');
|
|
338
347
|
return true;
|
|
339
348
|
}
|
|
340
349
|
// Relative path: ./hello.txt
|
|
341
350
|
if (/^(\.\.?\/)+/i.test(filenameSlashes)) {
|
|
351
|
+
// console.log(filename, 'Relative path: ./hello.txt');
|
|
352
|
+
return true;
|
|
353
|
+
}
|
|
354
|
+
// Allow paths like foo/hello
|
|
355
|
+
if (/^[^/]+\/[^/]+/i.test(filenameSlashes)) {
|
|
356
|
+
// console.log(filename, 'Allow paths like foo/hello');
|
|
357
|
+
return true;
|
|
358
|
+
}
|
|
359
|
+
// Allow paths like hello.book
|
|
360
|
+
if (/^[^/]+\.[^/]+$/i.test(filenameSlashes)) {
|
|
361
|
+
// console.log(filename, 'Allow paths like hello.book');
|
|
342
362
|
return true;
|
|
343
363
|
}
|
|
344
364
|
return false;
|
|
345
365
|
}
|
|
366
|
+
/**
|
|
367
|
+
* TODO: [🍏] Implement for MacOs
|
|
368
|
+
*/
|
|
346
369
|
|
|
347
370
|
/**
|
|
348
371
|
* Tests if given string is valid URL.
|
|
@@ -733,7 +756,7 @@ function renderPromptbookMermaid(pipelineJson, options) {
|
|
|
733
756
|
var parameter = pipelineJson.parameters.find(function (parameter) { return parameter.name === parameterName; });
|
|
734
757
|
if (!parameter) {
|
|
735
758
|
throw new UnexpectedError("Could not find {".concat(parameterName, "}"));
|
|
736
|
-
// <- TODO:
|
|
759
|
+
// <- TODO: !!6 This causes problems when {knowledge} and other reserved parameters are used
|
|
737
760
|
}
|
|
738
761
|
if (parameter.isInput) {
|
|
739
762
|
return 'input';
|
|
@@ -777,9 +800,9 @@ function renderPromptbookMermaid(pipelineJson, options) {
|
|
|
777
800
|
return promptbookMermaid;
|
|
778
801
|
}
|
|
779
802
|
/**
|
|
780
|
-
* TODO: [🧠]
|
|
781
|
-
* TODO: [🧠]
|
|
782
|
-
* TODO: [🧠]
|
|
803
|
+
* TODO: [🧠] FOREACH in mermaid graph
|
|
804
|
+
* TODO: [🧠] Knowledge in mermaid graph
|
|
805
|
+
* TODO: [🧠] Personas in mermaid graph
|
|
783
806
|
* TODO: Maybe use some Mermaid package instead of string templating
|
|
784
807
|
* TODO: [🕌] When more than 2 functionalities, split into separate functions
|
|
785
808
|
*/
|
|
@@ -857,7 +880,7 @@ function extractVariablesFromScript(script) {
|
|
|
857
880
|
if (!(error instanceof Error)) {
|
|
858
881
|
throw error;
|
|
859
882
|
}
|
|
860
|
-
throw new ParseError(spaceTrim$2(function (block) { return "\n Can not extract variables from the script\n
|
|
883
|
+
throw new ParseError(spaceTrim$2(function (block) { return "\n Can not extract variables from the script\n ".concat(block(error.stack || error.message), "\n\n Found variables:\n ").concat(Array.from(variables)
|
|
861
884
|
.map(function (variableName, i) { return "".concat(i + 1, ") ").concat(variableName); })
|
|
862
885
|
.join('\n'), "\n\n\n The script:\n\n ```javascript\n ").concat(block(originalScript), "\n ```\n "); }));
|
|
863
886
|
}
|
|
@@ -1881,7 +1904,7 @@ function checkSerializableAsJson(options) {
|
|
|
1881
1904
|
if (!(error instanceof Error)) {
|
|
1882
1905
|
throw error;
|
|
1883
1906
|
}
|
|
1884
|
-
throw new UnexpectedError(spaceTrim$1(function (block) { return "\n `".concat(name, "` is not serializable\n\n ").concat(block(error.
|
|
1907
|
+
throw new UnexpectedError(spaceTrim$1(function (block) { return "\n `".concat(name, "` is not serializable\n\n ").concat(block(error.stack || error.message), "\n\n Additional message for `").concat(name, "`:\n ").concat(block(message || '(nothing)'), "\n "); }));
|
|
1885
1908
|
}
|
|
1886
1909
|
/*
|
|
1887
1910
|
TODO: [0] Is there some more elegant way to check circular references?
|
|
@@ -1911,7 +1934,7 @@ function checkSerializableAsJson(options) {
|
|
|
1911
1934
|
}
|
|
1912
1935
|
/**
|
|
1913
1936
|
* TODO: Can be return type more type-safe? like `asserts options.value is JsonValue`
|
|
1914
|
-
* TODO: [🧠][main]
|
|
1937
|
+
* TODO: [🧠][main] !!3 In-memory cache of same values to prevent multiple checks
|
|
1915
1938
|
* Note: [🐠] This is how `checkSerializableAsJson` + `isSerializableAsJson` together can just retun true/false or rich error message
|
|
1916
1939
|
*/
|
|
1917
1940
|
|
|
@@ -1923,7 +1946,6 @@ function checkSerializableAsJson(options) {
|
|
|
1923
1946
|
function deepClone(objectValue) {
|
|
1924
1947
|
return JSON.parse(JSON.stringify(objectValue));
|
|
1925
1948
|
/*
|
|
1926
|
-
!!!!!!!!
|
|
1927
1949
|
TODO: [🧠] Is there a better implementation?
|
|
1928
1950
|
> const propertyNames = Object.getOwnPropertyNames(objectValue);
|
|
1929
1951
|
> for (const propertyName of propertyNames) {
|
|
@@ -2118,6 +2140,8 @@ function templateParameters(template, parameters) {
|
|
|
2118
2140
|
throw new PipelineExecutionError("Parameter `{".concat(parameterName, "}` is not defined"));
|
|
2119
2141
|
}
|
|
2120
2142
|
parameterValue = valueToString(parameterValue);
|
|
2143
|
+
// Escape curly braces in parameter values to prevent prompt-injection
|
|
2144
|
+
parameterValue = parameterValue.replace(/[{}]/g, '\\$&');
|
|
2121
2145
|
if (parameterValue.includes('\n') && /^\s*\W{0,3}\s*$/.test(precol)) {
|
|
2122
2146
|
parameterValue = parameterValue
|
|
2123
2147
|
.split('\n')
|
|
@@ -2277,7 +2301,7 @@ function clonePipeline(pipeline) {
|
|
|
2277
2301
|
* TODO: [🍙] Make some standard order of json properties
|
|
2278
2302
|
*/
|
|
2279
2303
|
|
|
2280
|
-
// <- TODO:
|
|
2304
|
+
// <- TODO: Auto convert to type `import { ... } from 'type-fest';`
|
|
2281
2305
|
/**
|
|
2282
2306
|
* Tests if the value is [🚉] serializable as JSON
|
|
2283
2307
|
*
|
|
@@ -2307,7 +2331,7 @@ function isSerializableAsJson(value) {
|
|
|
2307
2331
|
}
|
|
2308
2332
|
}
|
|
2309
2333
|
/**
|
|
2310
|
-
* TODO: [🧠][main]
|
|
2334
|
+
* TODO: [🧠][main] !!3 In-memory cache of same values to prevent multiple checks
|
|
2311
2335
|
* TODO: [🧠][💺] Can be done this on type-level?
|
|
2312
2336
|
*/
|
|
2313
2337
|
|
|
@@ -2544,6 +2568,25 @@ function isValidEmail(email) {
|
|
|
2544
2568
|
return /^.+@.+\..+$/.test(email);
|
|
2545
2569
|
}
|
|
2546
2570
|
|
|
2571
|
+
/**
|
|
2572
|
+
* Determines if the given path is a root path.
|
|
2573
|
+
*
|
|
2574
|
+
* Note: This does not check if the file exists only if the path is valid
|
|
2575
|
+
* @public exported from `@promptbook/utils`
|
|
2576
|
+
*/
|
|
2577
|
+
function isRootPath(value) {
|
|
2578
|
+
if (value === '/') {
|
|
2579
|
+
return true;
|
|
2580
|
+
}
|
|
2581
|
+
if (/^[A-Z]:\\$/i.test(value)) {
|
|
2582
|
+
return true;
|
|
2583
|
+
}
|
|
2584
|
+
return false;
|
|
2585
|
+
}
|
|
2586
|
+
/**
|
|
2587
|
+
* TODO: [🍏] Make for MacOS paths
|
|
2588
|
+
*/
|
|
2589
|
+
|
|
2547
2590
|
/**
|
|
2548
2591
|
* @@@
|
|
2549
2592
|
*
|
|
@@ -2596,7 +2639,7 @@ function isValidPromptbookVersion(version) {
|
|
|
2596
2639
|
if ( /* version === '1.0.0' || */version === '2.0.0' || version === '3.0.0') {
|
|
2597
2640
|
return false;
|
|
2598
2641
|
}
|
|
2599
|
-
// <- TODO: [main]
|
|
2642
|
+
// <- TODO: [main] !!3 Check isValidPromptbookVersion against PROMPTBOOK_ENGINE_VERSIONS
|
|
2600
2643
|
return true;
|
|
2601
2644
|
}
|
|
2602
2645
|
|
|
@@ -2667,9 +2710,6 @@ function isValidPipelineUrl(url) {
|
|
|
2667
2710
|
if (!url.startsWith('https://')) {
|
|
2668
2711
|
return false;
|
|
2669
2712
|
}
|
|
2670
|
-
if (!(url.endsWith('.book.md') || url.endsWith('.book') || url.endsWith('.book.md') || url.endsWith('.ptbk'))) {
|
|
2671
|
-
return false;
|
|
2672
|
-
}
|
|
2673
2713
|
if (url.includes('#')) {
|
|
2674
2714
|
// TODO: [🐠]
|
|
2675
2715
|
return false;
|
|
@@ -2695,5 +2735,5 @@ function isValidUuid(value) {
|
|
|
2695
2735
|
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);
|
|
2696
2736
|
}
|
|
2697
2737
|
|
|
2698
|
-
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, 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, removeDiacritics, removeEmojis, removeQuotes, renderPromptbookMermaid, searchKeywords, serializeError, spaceTrim, splitIntoSentences, templateParameters, titleToName, trimCodeBlock, trimEndOfCodeBlock, union, unwrapResult, valueToString };
|
|
2738
|
+
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, removeDiacritics, removeEmojis, removeQuotes, renderPromptbookMermaid, searchKeywords, serializeError, spaceTrim, splitIntoSentences, templateParameters, titleToName, trimCodeBlock, trimEndOfCodeBlock, union, unwrapResult, valueToString };
|
|
2699
2739
|
//# sourceMappingURL=index.es.js.map
|