@promptbook/vercel 0.81.0-8 → 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 +29 -9
- package/esm/index.es.js +6 -5
- 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 +4 -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/execution/PipelineExecutor.d.ts +2 -2
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +2 -2
- 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 +16 -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 +52 -8
- package/package.json +2 -2
- package/umd/index.umd.js +6 -5
- 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
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PipelineString } from './PipelineString';
|
|
2
|
+
/**
|
|
3
|
+
* Function `validatePipelineString` will validate the if the string is a valid pipeline string
|
|
4
|
+
* It does not check if the string is fully logically correct, but if it is a string that can be a pipeline string or the string looks completely different.
|
|
5
|
+
*
|
|
6
|
+
* @param {string} pipelineString the candidate for a pipeline string
|
|
7
|
+
* @returns {PipelineString} the same string as input, but validated as valid
|
|
8
|
+
* @throws {ParseError} if the string is not a valid pipeline string
|
|
9
|
+
* @public exported from `@promptbook/core`
|
|
10
|
+
*/
|
|
11
|
+
export declare function validatePipelineString(pipelineString: string): PipelineString;
|
|
12
|
+
/**
|
|
13
|
+
* TODO: [🧠][🈴] Where is the best location for this file
|
|
14
|
+
*/
|
|
@@ -2,11 +2,13 @@ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
|
|
|
2
2
|
/**
|
|
3
3
|
* Determine if the pipeline is fully prepared
|
|
4
4
|
*
|
|
5
|
+
* @see https://github.com/webgptorg/promptbook/discussions/196
|
|
6
|
+
*
|
|
5
7
|
* @public exported from `@promptbook/core`
|
|
6
8
|
*/
|
|
7
9
|
export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
|
|
8
10
|
/**
|
|
9
|
-
* TODO: [🔃][main]
|
|
11
|
+
* TODO: [🔃][main] If the pipeline was prepared with different version or different set of models, prepare it once again
|
|
10
12
|
* TODO: [🐠] Maybe base this on `makeValidator`
|
|
11
13
|
* TODO: [🧊] Pipeline can be partially prepared, this should return true ONLY if fully prepared
|
|
12
14
|
* TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
|
|
@@ -4,6 +4,8 @@ import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
|
|
|
4
4
|
/**
|
|
5
5
|
* Prepare pipeline from string (markdown) format to JSON format
|
|
6
6
|
*
|
|
7
|
+
* @see https://github.com/webgptorg/promptbook/discussions/196
|
|
8
|
+
*
|
|
7
9
|
* Note: This function does not validate logic of the pipeline
|
|
8
10
|
* Note: This function acts as part of compilation process
|
|
9
11
|
* Note: When the pipeline is already prepared, it returns the same pipeline
|
|
@@ -25,7 +25,7 @@ export {};
|
|
|
25
25
|
* TODO: [😂] Adding knowledge should be convert to async high-level abstractions, simmilar thing with expectations to sync high-level abstractions
|
|
26
26
|
* TODO: [🧠] Add context to each task (if missing)
|
|
27
27
|
* TODO: [🧠] What is better name `prepareTask` or `prepareTaskAndParameters`
|
|
28
|
-
* TODO: [♨][main]
|
|
28
|
+
* TODO: [♨][main] !!3 Prepare index the examples and maybe tasks
|
|
29
29
|
* TODO: Write tests for `preparePipeline`
|
|
30
30
|
* TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
|
|
31
31
|
* TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
|
|
@@ -7,7 +7,6 @@ import type { string_url } from '../../types/typeAliases';
|
|
|
7
7
|
import type { ScraperAndConverterMetadata } from './register/ScraperAndConverterMetadata';
|
|
8
8
|
/**
|
|
9
9
|
* @@@
|
|
10
|
-
*
|
|
11
10
|
*/
|
|
12
11
|
export type Scraper = {
|
|
13
12
|
/**
|
|
@@ -53,6 +52,7 @@ export type ScraperSourceHandler = {
|
|
|
53
52
|
asText(): Promisable<string>;
|
|
54
53
|
};
|
|
55
54
|
/**
|
|
55
|
+
* TODO: [🧠] Maybe split `ScraperSourceHandler` into `ScraperWebsiteSourceHandler` + `ScraperFileSourceHandler`
|
|
56
56
|
* TODO: [🥽] Add ` asBlob(): Promisable<Blob>;` or asFile
|
|
57
57
|
* TODO: [🐝] @@@ Annotate all
|
|
58
58
|
* TODO: [🔼] Export via types
|
|
@@ -28,6 +28,8 @@ export type ScraperAndConverterMetadata = Registered & {
|
|
|
28
28
|
readonly mimeTypes: ReadonlyArray<string_mime_type>;
|
|
29
29
|
/**
|
|
30
30
|
* @@@
|
|
31
|
+
*
|
|
32
|
+
* Note: [🌏] Only `MarkdownScraper` makes sense to be available in the browser, for scraping non-markdown sources in the browser use a remote server
|
|
31
33
|
*/
|
|
32
34
|
readonly isAvilableInBrowser: boolean;
|
|
33
35
|
/**
|
|
@@ -5,3 +5,6 @@ import type { PromptbookFetch } from '../../../execution/PromptbookFetch';
|
|
|
5
5
|
* @private as default `fetch` function used in Promptbook scrapers
|
|
6
6
|
*/
|
|
7
7
|
export declare const scraperFetch: PromptbookFetch;
|
|
8
|
+
/**
|
|
9
|
+
* TODO: [🧠] Maybe rename because it is not used only for scrapers but also in `$getCompiledBook`
|
|
10
|
+
*/
|
|
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
|
|
|
5
5
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
6
6
|
*
|
|
7
7
|
* @public exported from `@promptbook/documents`
|
|
8
|
+
* @public exported from `@promptbook/wizzard`
|
|
8
9
|
* @public exported from `@promptbook/cli`
|
|
9
10
|
*/
|
|
10
11
|
export declare const _DocumentScraperRegistration: Registration;
|
|
@@ -19,6 +19,7 @@ export declare const documentScraperMetadata: import("type-fest/source/readonly-
|
|
|
19
19
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
20
20
|
*
|
|
21
21
|
* @public exported from `@promptbook/core`
|
|
22
|
+
* @public exported from `@promptbook/wizzard`
|
|
22
23
|
* @public exported from `@promptbook/cli`
|
|
23
24
|
*/
|
|
24
25
|
export declare const _DocumentScraperMetadataRegistration: Registration;
|
|
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
|
|
|
5
5
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
6
6
|
*
|
|
7
7
|
* @public exported from `@promptbook/legacy-documents`
|
|
8
|
+
* @public exported from `@promptbook/wizzard`
|
|
8
9
|
* @public exported from `@promptbook/cli`
|
|
9
10
|
*/
|
|
10
11
|
export declare const _LegacyDocumentScraperRegistration: Registration;
|
|
@@ -19,6 +19,7 @@ export declare const legacyDocumentScraperMetadata: import("type-fest/source/rea
|
|
|
19
19
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
20
20
|
*
|
|
21
21
|
* @public exported from `@promptbook/core`
|
|
22
|
+
* @public exported from `@promptbook/wizzard`
|
|
22
23
|
* @public exported from `@promptbook/cli`
|
|
23
24
|
*/
|
|
24
25
|
export declare const _LegacyDocumentScraperMetadataRegistration: Registration;
|
|
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
|
|
|
5
5
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
6
6
|
*
|
|
7
7
|
* @public exported from `@promptbook/markdown-utils`
|
|
8
|
+
* @public exported from `@promptbook/wizzard`
|
|
8
9
|
* @public exported from `@promptbook/cli`
|
|
9
10
|
*/
|
|
10
11
|
export declare const _MarkdownScraperRegistration: Registration;
|
|
@@ -19,6 +19,7 @@ export declare const markdownScraperMetadata: import("type-fest/source/readonly-
|
|
|
19
19
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
20
20
|
*
|
|
21
21
|
* @public exported from `@promptbook/core`
|
|
22
|
+
* @public exported from `@promptbook/wizzard`
|
|
22
23
|
* @public exported from `@promptbook/cli`
|
|
23
24
|
*/
|
|
24
25
|
export declare const _MarkdownScraperMetadataRegistration: Registration;
|
|
@@ -37,4 +37,5 @@ export declare class PdfScraper implements Converter, Scraper {
|
|
|
37
37
|
* TODO: [👣] Converted pdf documents can act as cached items - there is no need to run conversion each time
|
|
38
38
|
* TODO: [🪂] Do it in parallel 11:11
|
|
39
39
|
* Note: No need to aggregate usage here, it is done by intercepting the llmTools
|
|
40
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
40
41
|
*/
|
|
@@ -12,7 +12,7 @@ export declare const createPdfScraper: ((tools: Pick<ExecutionTools, 'llm'>, opt
|
|
|
12
12
|
className: string;
|
|
13
13
|
mimeTypes: string[];
|
|
14
14
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
15
|
-
isAvilableInBrowser:
|
|
15
|
+
isAvilableInBrowser: false;
|
|
16
16
|
requiredExecutables: never[];
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
|
|
|
5
5
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
6
6
|
*
|
|
7
7
|
* @public exported from `@promptbook/pdf`
|
|
8
|
+
* @public exported from `@promptbook/wizzard`
|
|
8
9
|
* @public exported from `@promptbook/cli`
|
|
9
10
|
*/
|
|
10
11
|
export declare const _PdfScraperRegistration: Registration;
|
|
@@ -10,7 +10,7 @@ export declare const pdfScraperMetadata: import("type-fest/source/readonly-deep"
|
|
|
10
10
|
className: string;
|
|
11
11
|
mimeTypes: string[];
|
|
12
12
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
13
|
-
isAvilableInBrowser:
|
|
13
|
+
isAvilableInBrowser: false;
|
|
14
14
|
requiredExecutables: never[];
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
@@ -19,6 +19,7 @@ export declare const pdfScraperMetadata: import("type-fest/source/readonly-deep"
|
|
|
19
19
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
20
20
|
*
|
|
21
21
|
* @public exported from `@promptbook/core`
|
|
22
|
+
* @public exported from `@promptbook/wizzard`
|
|
22
23
|
* @public exported from `@promptbook/cli`
|
|
23
24
|
*/
|
|
24
25
|
export declare const _PdfScraperMetadataRegistration: Registration;
|
|
@@ -12,7 +12,9 @@ export declare const createWebsiteScraper: ((tools: Pick<ExecutionTools, 'llm'>,
|
|
|
12
12
|
className: string;
|
|
13
13
|
mimeTypes: string[];
|
|
14
14
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
15
|
-
isAvilableInBrowser: false;
|
|
15
|
+
isAvilableInBrowser: false; /**
|
|
16
|
+
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
17
|
+
*/
|
|
16
18
|
requiredExecutables: never[];
|
|
17
19
|
}>;
|
|
18
20
|
/**
|
|
@@ -5,6 +5,7 @@ import type { Registration } from '../../utils/$Register';
|
|
|
5
5
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
6
6
|
*
|
|
7
7
|
* @public exported from `@promptbook/website-crawler`
|
|
8
|
+
* @public exported from `@promptbook/wizzard`
|
|
8
9
|
* @public exported from `@promptbook/cli`
|
|
9
10
|
*/
|
|
10
11
|
export declare const _WebsiteScraperRegistration: Registration;
|
|
@@ -19,6 +19,7 @@ export declare const websiteScraperMetadata: import("type-fest/source/readonly-d
|
|
|
19
19
|
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
|
|
20
20
|
*
|
|
21
21
|
* @public exported from `@promptbook/core`
|
|
22
|
+
* @public exported from `@promptbook/wizzard`
|
|
22
23
|
* @public exported from `@promptbook/cli`
|
|
23
24
|
*/
|
|
24
25
|
export declare const _WebsiteScraperMetadataRegistration: Registration;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export {};
|
|
2
2
|
/**
|
|
3
|
-
* TODO:
|
|
3
|
+
* TODO: Make shared test between JavascriptEvalExecutionTools and JavascriptExecutionTools to test the same functionality when implemented via vm2
|
|
4
4
|
*/
|
|
@@ -9,5 +9,6 @@ import type { really_any } from '../../../utils/organization/really_any';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function preserve(func: (...params: ReadonlyArray<really_any>) => unknown): void;
|
|
11
11
|
/**
|
|
12
|
-
* TODO:
|
|
12
|
+
* TODO: Probbably remove in favour of `keepImported`
|
|
13
|
+
* TODO: [1] This maybe does memory leak
|
|
13
14
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TupleToUnion } from 'type-fest';
|
|
2
2
|
import { RESERVED_PARAMETER_NAMES } from '../constants';
|
|
3
|
+
import type { really_unknown } from '../utils/organization/really_unknown';
|
|
3
4
|
/**
|
|
4
5
|
* Semantic helper
|
|
5
6
|
*/
|
|
@@ -107,6 +108,13 @@ export type string_parameter_value = string;
|
|
|
107
108
|
* @see https://ptbk.io/parameters
|
|
108
109
|
*/
|
|
109
110
|
export type Parameters = Exclude<Record<string_parameter_name, string_parameter_value>, ReservedParameters>;
|
|
111
|
+
/**
|
|
112
|
+
* Parameters to pass to execution of the pipeline
|
|
113
|
+
*
|
|
114
|
+
* Note: [🚉] This should be fully serializable as JSON
|
|
115
|
+
* @see https://ptbk.io/parameters
|
|
116
|
+
*/
|
|
117
|
+
export type InputParameters = Exclude<Record<string_parameter_name, really_unknown>, ReservedParameters>;
|
|
110
118
|
/**
|
|
111
119
|
* Semantic helper
|
|
112
120
|
* Unique identifier of reserved parameter
|
|
@@ -311,6 +319,12 @@ export type string_url = string;
|
|
|
311
319
|
* For example `"https://collboard.com"`
|
|
312
320
|
*/
|
|
313
321
|
export type string_base_url = string;
|
|
322
|
+
/**
|
|
323
|
+
* Semantic helper
|
|
324
|
+
*
|
|
325
|
+
* For example `"https://promptbook.studio/webgpt/"`
|
|
326
|
+
*/
|
|
327
|
+
export type string_pipeline_root_url = string;
|
|
314
328
|
/**
|
|
315
329
|
* Semantic helper
|
|
316
330
|
*
|
|
@@ -615,8 +629,8 @@ export type number_megabytes = number_positive;
|
|
|
615
629
|
export type number_gigabytes = number_positive;
|
|
616
630
|
export type number_terabytes = number_positive;
|
|
617
631
|
/**.
|
|
618
|
-
* TODO: [main]
|
|
619
|
-
* TODO:
|
|
632
|
+
* TODO: [main] !!3 Change "For example" to @example
|
|
633
|
+
* TODO: Change to branded types
|
|
620
634
|
* TODO: Delete type aliases that are not exported or used internally
|
|
621
635
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
622
636
|
*/
|
|
@@ -2,7 +2,7 @@ import type { string_markdown } from '../../types/typeAliases';
|
|
|
2
2
|
/**
|
|
3
3
|
* Normalizes the markdown by flattening the structure
|
|
4
4
|
*
|
|
5
|
-
* - It always have h1 - if there is no h1 in the markdown, it will be added
|
|
5
|
+
* - It always have h1 - if there is no h1 in the markdown, it will be added `DEFAULT_BOOK_TITLE`
|
|
6
6
|
* - All other headings are normalized to h2
|
|
7
7
|
*
|
|
8
8
|
* @public exported from `@promptbook/markdown-utils`
|
package/esm/typings/src/utils/markdown/{removeContentComments.d.ts → removeMarkdownComments.d.ts}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { string_html } from '../../types/typeAliases';
|
|
2
2
|
import type { string_markdown } from '../../types/typeAliases';
|
|
3
3
|
/**
|
|
4
|
-
* Removes
|
|
4
|
+
* Removes Markdown (or HTML) comments
|
|
5
5
|
*
|
|
6
6
|
* @param {string} content - The string to remove comments from.
|
|
7
7
|
* @returns {string} The input string with all comments removed.
|
|
8
8
|
* @public exported from `@promptbook/markdown-utils`
|
|
9
9
|
*/
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function removeMarkdownComments<TContent extends string_html | string_markdown>(content: TContent): TContent;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { really_any } from './really_any';
|
|
2
|
+
/**
|
|
3
|
+
* Just says that the variable is not used directlys but should be kept because the existence of the variable is important
|
|
4
|
+
*
|
|
5
|
+
* @param value any values
|
|
6
|
+
* @returns void
|
|
7
|
+
* @private within the repository
|
|
8
|
+
*/
|
|
9
|
+
export declare function $sideEffect(...sideEffectSubjects: ReadonlyArray<really_any>): void;
|
|
@@ -40,6 +40,6 @@ export type CheckSerializableAsJsonOptions = {
|
|
|
40
40
|
export declare function checkSerializableAsJson(options: CheckSerializableAsJsonOptions): void;
|
|
41
41
|
/**
|
|
42
42
|
* TODO: Can be return type more type-safe? like `asserts options.value is JsonValue`
|
|
43
|
-
* TODO: [🧠][main]
|
|
43
|
+
* TODO: [🧠][main] !!3 In-memory cache of same values to prevent multiple checks
|
|
44
44
|
* Note: [🐠] This is how `checkSerializableAsJson` + `isSerializableAsJson` together can just retun true/false or rich error message
|
|
45
45
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JsonValue } from 'type-fest';
|
|
1
|
+
import type { JsonValue } from 'type-fest';
|
|
2
2
|
/**
|
|
3
3
|
* Tests if the value is [🚉] serializable as JSON
|
|
4
4
|
*
|
|
@@ -20,6 +20,6 @@ import { JsonValue } from 'type-fest';
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function isSerializableAsJson(value: unknown): value is JsonValue;
|
|
22
22
|
/**
|
|
23
|
-
* TODO: [🧠][main]
|
|
23
|
+
* TODO: [🧠][main] !!3 In-memory cache of same values to prevent multiple checks
|
|
24
24
|
* TODO: [🧠][💺] Can be done this on type-level?
|
|
25
25
|
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { string_dirname } from '../../../types/typeAliases';
|
|
2
|
+
import type { string_filename } from '../../../types/typeAliases';
|
|
3
|
+
/**
|
|
4
|
+
* Determines if the given path is a root path.
|
|
5
|
+
*
|
|
6
|
+
* Note: This does not check if the file exists only if the path is valid
|
|
7
|
+
* @public exported from `@promptbook/utils`
|
|
8
|
+
*/
|
|
9
|
+
export declare function isRootPath(value: string_dirname | string_filename): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🍏] Make for MacOS paths
|
|
12
|
+
*/
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ExecutionTools } from '../execution/ExecutionTools';
|
|
2
|
+
import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
|
|
3
|
+
import type { PipelineString } from '../pipeline/PipelineString';
|
|
4
|
+
import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
|
|
5
|
+
import type { string_filename } from '../types/typeAliases';
|
|
6
|
+
import type { string_pipeline_url } from '../types/typeAliases';
|
|
7
|
+
/**
|
|
8
|
+
* @see ./wizzard.ts `getPipeline` method
|
|
9
|
+
*
|
|
10
|
+
* @private usable through `ptbk run` and `@prompbook/wizzard`
|
|
11
|
+
*/
|
|
12
|
+
export declare function $getCompiledBook(tools: Required<Pick<ExecutionTools, 'fs' | 'fetch'>>, pipelineSource: string_filename | string_pipeline_url | PipelineString, options?: PrepareAndScrapeOptions): Promise<PipelineJson>;
|
|
13
|
+
/**
|
|
14
|
+
* TODO: Write unit test
|
|
15
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
16
|
+
*/
|
|
@@ -1,19 +1,63 @@
|
|
|
1
1
|
import { Promisable } from 'type-fest';
|
|
2
|
+
import type { ExecutionTools } from '../execution/ExecutionTools';
|
|
2
3
|
import type { PipelineExecutorResult } from '../execution/PipelineExecutorResult';
|
|
4
|
+
import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
|
|
5
|
+
import type { PipelineString } from '../pipeline/PipelineString';
|
|
3
6
|
import type { TaskProgress } from '../types/TaskProgress';
|
|
4
|
-
import type {
|
|
7
|
+
import type { InputParameters } from '../types/typeAliases';
|
|
8
|
+
import type { string_filename } from '../types/typeAliases';
|
|
5
9
|
import type { string_pipeline_url } from '../types/typeAliases';
|
|
6
10
|
/**
|
|
7
|
-
*
|
|
11
|
+
* Wizzard for simple usage of the Promptbook
|
|
12
|
+
* Look at `wizzard` for more details
|
|
8
13
|
*
|
|
9
|
-
*
|
|
14
|
+
* Note: This works only in Node.js environment and looks for the configuration, environment, tools and cache in the Node.js environment
|
|
15
|
+
*
|
|
16
|
+
* @private just for single instance
|
|
10
17
|
*/
|
|
11
|
-
|
|
18
|
+
declare class Wizzard {
|
|
19
|
+
/**
|
|
20
|
+
* Run the book
|
|
21
|
+
*
|
|
22
|
+
* It can be loaded from:
|
|
23
|
+
* 1) As a file ./books/write-cv.book.md
|
|
24
|
+
* 2) As a URL https://promptbook.studio/hejny/write-cv.book.md found in ./books folder recursively
|
|
25
|
+
* 2) As a URL https://promptbook.studio/hejny/write-cv.book.md fetched from the internet
|
|
26
|
+
* 3) As a string
|
|
27
|
+
*
|
|
28
|
+
* Note: This works simmilar to the `ptbk run` command
|
|
29
|
+
*/
|
|
30
|
+
execute(book: string_pipeline_url | string_filename | PipelineString, inputParameters: InputParameters, onProgress?: (taskProgress: TaskProgress) => Promisable<void>): Promise<PipelineExecutorResult>;
|
|
31
|
+
private executionTools;
|
|
32
|
+
/**
|
|
33
|
+
* Provides the tools automatically for the Node.js environment
|
|
34
|
+
*
|
|
35
|
+
* @param pipelineSource
|
|
36
|
+
*/
|
|
37
|
+
getExecutionTools(): Promise<Required<Pick<ExecutionTools, 'fs' | 'fetch'>>>;
|
|
12
38
|
/**
|
|
13
|
-
*
|
|
39
|
+
* Load book from the source
|
|
40
|
+
*
|
|
41
|
+
* Pipelines can be loaded from:
|
|
42
|
+
* 1) As a file ./books/write-cv.book.md
|
|
43
|
+
* 2) As a URL https://promptbook.studio/hejny/write-cv.book.md found in ./books folder recursively
|
|
44
|
+
* 2) As a URL https://promptbook.studio/hejny/write-cv.book.md fetched from the internet
|
|
45
|
+
* 3) As a string
|
|
46
|
+
*
|
|
47
|
+
* @param pipelineSource
|
|
14
48
|
*/
|
|
15
|
-
|
|
16
|
-
}
|
|
49
|
+
getCompiledBook(pipelineSource: string_filename | string_pipeline_url | PipelineString): Promise<PipelineJson>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Wizzard for simple usage of the Promptbook
|
|
53
|
+
*
|
|
54
|
+
* Note: This works only in Node.js environment and looks for the configuration, environment, tools and cache in the Node.js environment
|
|
55
|
+
*
|
|
56
|
+
* @singleton
|
|
57
|
+
* @public exported from `@promptbook/wizzard`
|
|
58
|
+
*/
|
|
59
|
+
export declare const wizzard: Wizzard;
|
|
60
|
+
export {};
|
|
17
61
|
/**
|
|
18
|
-
*
|
|
62
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
19
63
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptbook/vercel",
|
|
3
|
-
"version": "0.81.0
|
|
3
|
+
"version": "0.81.0",
|
|
4
4
|
"description": "It's time for a paradigm shift. The future of software in plain English, French or Latin",
|
|
5
5
|
"--note-0": " <- [🐊]",
|
|
6
6
|
"private": false,
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"module": "./esm/index.es.js",
|
|
55
55
|
"typings": "./esm/typings/src/_packages/vercel.index.d.ts",
|
|
56
56
|
"peerDependencies": {
|
|
57
|
-
"@promptbook/core": "0.81.0
|
|
57
|
+
"@promptbook/core": "0.81.0"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"colors": "1.4.0",
|
package/umd/index.umd.js
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* @generated
|
|
24
24
|
* @see https://github.com/webgptorg/promptbook
|
|
25
25
|
*/
|
|
26
|
-
var PROMPTBOOK_ENGINE_VERSION = '0.81.0-
|
|
26
|
+
var PROMPTBOOK_ENGINE_VERSION = '0.81.0-24';
|
|
27
27
|
/**
|
|
28
28
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
29
29
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -349,7 +349,7 @@
|
|
|
349
349
|
/**
|
|
350
350
|
* Make error report URL for the given error
|
|
351
351
|
*
|
|
352
|
-
* @private
|
|
352
|
+
* @private private within the repository
|
|
353
353
|
*/
|
|
354
354
|
function getErrorReportUrl(error) {
|
|
355
355
|
var report = {
|
|
@@ -470,7 +470,7 @@
|
|
|
470
470
|
if (!(error instanceof Error)) {
|
|
471
471
|
throw error;
|
|
472
472
|
}
|
|
473
|
-
throw new UnexpectedError(spaceTrim__default["default"](function (block) { return "\n `".concat(name, "` is not serializable\n\n ").concat(block(error.
|
|
473
|
+
throw new UnexpectedError(spaceTrim__default["default"](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 "); }));
|
|
474
474
|
}
|
|
475
475
|
/*
|
|
476
476
|
TODO: [0] Is there some more elegant way to check circular references?
|
|
@@ -500,7 +500,7 @@
|
|
|
500
500
|
}
|
|
501
501
|
/**
|
|
502
502
|
* TODO: Can be return type more type-safe? like `asserts options.value is JsonValue`
|
|
503
|
-
* TODO: [🧠][main]
|
|
503
|
+
* TODO: [🧠][main] !!3 In-memory cache of same values to prevent multiple checks
|
|
504
504
|
* Note: [🐠] This is how `checkSerializableAsJson` + `isSerializableAsJson` together can just retun true/false or rich error message
|
|
505
505
|
*/
|
|
506
506
|
|
|
@@ -512,7 +512,6 @@
|
|
|
512
512
|
function deepClone(objectValue) {
|
|
513
513
|
return JSON.parse(JSON.stringify(objectValue));
|
|
514
514
|
/*
|
|
515
|
-
!!!!!!!!
|
|
516
515
|
TODO: [🧠] Is there a better implementation?
|
|
517
516
|
> const propertyNames = Object.getOwnPropertyNames(objectValue);
|
|
518
517
|
> for (const propertyName of propertyNames) {
|
|
@@ -751,6 +750,8 @@
|
|
|
751
750
|
throw new PipelineExecutionError("Parameter `{".concat(parameterName, "}` is not defined"));
|
|
752
751
|
}
|
|
753
752
|
parameterValue = valueToString(parameterValue);
|
|
753
|
+
// Escape curly braces in parameter values to prevent prompt-injection
|
|
754
|
+
parameterValue = parameterValue.replace(/[{}]/g, '\\$&');
|
|
754
755
|
if (parameterValue.includes('\n') && /^\s*\W{0,3}\s*$/.test(precol)) {
|
|
755
756
|
parameterValue = parameterValue
|
|
756
757
|
.split('\n')
|