@promptbook/openai 0.69.0-8 → 0.69.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.
- package/README.md +4 -1
- package/esm/index.es.js +88 -10
- package/esm/index.es.js.map +1 -1
- package/esm/typings/promptbook-collection/index.d.ts +0 -3
- package/esm/typings/src/_packages/core.index.d.ts +12 -0
- package/esm/typings/src/_packages/types.index.d.ts +6 -0
- package/esm/typings/src/_packages/utils.index.d.ts +4 -4
- package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
- package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
- package/esm/typings/src/commands/FOREACH/ForeachCommand.d.ts +1 -1
- package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +6 -5
- package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +1 -2
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +1 -1
- package/esm/typings/src/config.d.ts +11 -4
- package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
- package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +3 -3
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +6 -5
- package/esm/typings/src/errors/AbstractFormatError.d.ts +11 -0
- package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
- package/esm/typings/src/execution/PipelineExecutorResult.d.ts +5 -6
- package/esm/typings/src/execution/createPipelineExecutor/$OngoingTemplateResult.d.ts +24 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +7 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +3 -0
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +4 -1
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +3 -0
- package/esm/typings/src/execution/createPipelineExecutor/{30-executeFormatCells.d.ts → 30-executeFormatSubvalues.d.ts} +2 -2
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +2 -8
- package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
- package/esm/typings/src/execution/utils/checkExpectations.d.ts +2 -0
- package/esm/typings/src/execution/utils/usageToHuman.d.ts +3 -4
- package/esm/typings/src/formats/_common/FormatDefinition.d.ts +14 -15
- package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +31 -0
- package/esm/typings/src/formats/csv/{ListFormatDefinition.d.ts → CsvFormatDefinition.d.ts} +6 -3
- package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
- package/esm/typings/src/formats/csv/CsvSettings.d.ts +13 -0
- package/esm/typings/src/formats/index.d.ts +1 -1
- package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +4 -3
- package/esm/typings/src/formats/text/TextFormatDefinition.d.ts +19 -0
- package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +4 -3
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +1 -1
- package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +1 -1
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +2 -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/azure-openai/AzureOpenAiExecutionTools.d.ts +8 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +2 -1
- package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +1 -1
- package/esm/typings/src/personas/preparePersona.d.ts +1 -1
- package/esm/typings/src/prepare/isPipelinePrepared.d.ts +1 -1
- package/esm/typings/src/prepare/prepareTemplates.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +1 -1
- package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +0 -3
- package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
- package/esm/typings/src/types/typeAliases.d.ts +1 -1
- package/esm/typings/src/utils/expectation-counters/index.d.ts +3 -0
- package/esm/typings/src/utils/organization/{f.d.ts → empty_object.d.ts} +5 -1
- package/esm/typings/src/utils/organization/just_empty_object.d.ts +12 -0
- package/esm/typings/src/utils/{extractParameterNames.d.ts → parameters/extractParameterNames.d.ts} +2 -2
- package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +27 -0
- package/esm/typings/src/utils/{replaceParameters.d.ts → parameters/replaceParameters.d.ts} +2 -2
- package/esm/typings/src/utils/serialization/checkSerializableAsJson.d.ts +1 -1
- package/esm/typings/src/utils/serialization/isSerializableAsJson.d.ts +1 -1
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +10 -0
- package/package.json +17 -13
- package/umd/index.umd.js +88 -10
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +0 -16
- /package/esm/typings/src/utils/{extractParameterNames.test.d.ts → parameters/extractParameterNames.test.d.ts} +0 -0
- /package/esm/typings/src/{execution/utils/usageToHuman.test.d.ts → utils/parameters/mapAvailableToExpectedParameters.test.d.ts} +0 -0
- /package/esm/typings/src/utils/{replaceParameters.test.d.ts → parameters/replaceParameters.test.d.ts} +0 -0
- /package/esm/typings/src/{personas/preparePersona.test.d.ts → utils/validators/parameterName/validateParameterName.test.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ForeachJson } from './ForeachJson';
|
|
2
2
|
/**
|
|
3
|
-
* Parsed FOREACH command
|
|
3
|
+
* Parsed FOREACH command which is used to iterate over a table of values
|
|
4
4
|
*
|
|
5
5
|
* @see ./foreachCommandParser.ts for more details
|
|
6
6
|
* @private within the commands folder
|
|
@@ -11,7 +11,7 @@ export type ForeachJson = {
|
|
|
11
11
|
/**
|
|
12
12
|
* @@@
|
|
13
13
|
*/
|
|
14
|
-
readonly
|
|
14
|
+
readonly subformatName: TODO_string;
|
|
15
15
|
/**
|
|
16
16
|
* @@@
|
|
17
17
|
*/
|
|
@@ -19,8 +19,9 @@ export type ForeachJson = {
|
|
|
19
19
|
/**
|
|
20
20
|
* @@@
|
|
21
21
|
*/
|
|
22
|
-
readonly
|
|
22
|
+
readonly inputSubparameterNames: Array<string_parameter_name>;
|
|
23
|
+
/**
|
|
24
|
+
* @@@
|
|
25
|
+
*/
|
|
26
|
+
readonly outputSubparameterName: string_parameter_name;
|
|
23
27
|
};
|
|
24
|
-
/**
|
|
25
|
-
* TODO: [🧠] Betetr name for `parameterName` and `subparameterName`
|
|
26
|
-
*/
|
|
@@ -10,6 +10,5 @@ import type { ForeachCommand } from './ForeachCommand';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const foreachCommandParser: PipelineTemplateCommandParser<ForeachCommand>;
|
|
12
12
|
/**
|
|
13
|
-
* TODO:
|
|
14
|
-
* TODO: [🍭] !!!!!! Make .ptbk.md file with examples of the FOREACH command and also with wrong parsing and logic
|
|
13
|
+
* TODO: [🍭] Make .ptbk.md file with examples of the FOREACH with wrong parsing and logic
|
|
15
14
|
*/
|
|
@@ -156,7 +156,7 @@ export type CommandParserInput = {
|
|
|
156
156
|
* @@@
|
|
157
157
|
*
|
|
158
158
|
* @example 'promptbook version 0.62.0'
|
|
159
|
-
* @example 'FOREACH
|
|
159
|
+
* @example 'FOREACH Text Line `{customers}` -> `{customer}`'
|
|
160
160
|
*/
|
|
161
161
|
readonly raw: string_markdown_text;
|
|
162
162
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CsvSettings } from './formats/csv/CsvSettings';
|
|
1
2
|
/**
|
|
2
3
|
* Warning message for the generated sections and files files
|
|
3
4
|
*
|
|
@@ -68,14 +69,14 @@ export declare const MAX_EXECUTION_ATTEMPTS = 3;
|
|
|
68
69
|
export declare const MAX_FILENAME_LENGTH = 30;
|
|
69
70
|
/**
|
|
70
71
|
* @@@
|
|
71
|
-
* TODO: [🐝] !!! Use
|
|
72
|
+
* TODO: [🐝][main] !!! Use
|
|
72
73
|
*
|
|
73
74
|
* @public exported from `@promptbook/core`
|
|
74
75
|
*/
|
|
75
76
|
export declare const MAX_KNOWLEDGE_SOURCES_SCRAPING_DEPTH = 3;
|
|
76
77
|
/**
|
|
77
78
|
* @@@
|
|
78
|
-
* TODO: [🐝] !!! Use
|
|
79
|
+
* TODO: [🐝][main] !!! Use
|
|
79
80
|
*
|
|
80
81
|
* @public exported from `@promptbook/core`
|
|
81
82
|
*/
|
|
@@ -137,6 +138,12 @@ export declare const DEFAULT_REMOTE_URL = "https://api.pavolhejny.com/";
|
|
|
137
138
|
* @public exported from `@promptbook/core`
|
|
138
139
|
*/
|
|
139
140
|
export declare const DEFAULT_REMOTE_URL_PATH = "/promptbook/socket.io";
|
|
141
|
+
/**
|
|
142
|
+
* @@@
|
|
143
|
+
*
|
|
144
|
+
* @public exported from `@promptbook/core`
|
|
145
|
+
*/
|
|
146
|
+
export declare const DEFAULT_CSV_SETTINGS: CsvSettings;
|
|
140
147
|
/**
|
|
141
148
|
* @@@
|
|
142
149
|
*
|
|
@@ -148,13 +155,13 @@ export declare const IS_VERBOSE = false;
|
|
|
148
155
|
*
|
|
149
156
|
* @private within the repository
|
|
150
157
|
*/
|
|
151
|
-
export declare const
|
|
158
|
+
export declare const IS_PIPELINE_LOGIC_VALIDATED: boolean;
|
|
152
159
|
/**
|
|
153
160
|
* @@@
|
|
154
161
|
*
|
|
155
162
|
* @private within the repository
|
|
156
163
|
*/
|
|
157
|
-
export declare const
|
|
164
|
+
export declare const IS_COST_PREVENTED: boolean;
|
|
158
165
|
/**
|
|
159
166
|
* TODO: [🧠][🧜♂️] Maybe join remoteUrl and path into single value
|
|
160
167
|
*/
|
|
@@ -18,7 +18,7 @@ import type { PipelineString } from '../types/PipelineString';
|
|
|
18
18
|
*/
|
|
19
19
|
export declare function pipelineStringToJsonSync(pipelineString: PipelineString): PipelineJson;
|
|
20
20
|
/**
|
|
21
|
-
* TODO: !!!! Warn if used only sync version
|
|
21
|
+
* TODO: [main] !!!! Warn if used only sync version
|
|
22
22
|
* TODO: [🚞] Report here line/column of error
|
|
23
23
|
* TODO: Use spaceTrim more effectively
|
|
24
24
|
* TODO: [🧠] Parameter flags - isInput, isOutput, isInternal
|
|
@@ -22,9 +22,9 @@ export type renderPipelineMermaidOptions = {
|
|
|
22
22
|
*/
|
|
23
23
|
export declare function renderPromptbookMermaid(pipelineJson: PipelineJson, options?: renderPipelineMermaidOptions): string;
|
|
24
24
|
/**
|
|
25
|
-
* TODO:
|
|
26
|
-
* TODO:
|
|
27
|
-
* TODO:
|
|
25
|
+
* TODO: !!!!! FOREACH in mermaid graph
|
|
26
|
+
* TODO: !!!!! Knowledge in mermaid graph
|
|
27
|
+
* TODO: !!!!! Personas in mermaid graph
|
|
28
28
|
* TODO: Maybe use some Mermaid package instead of string templating
|
|
29
29
|
* TODO: [🕌] When more than 2 functionalities, split into separate functions
|
|
30
30
|
*/
|
|
@@ -20,6 +20,7 @@ export declare function validatePipeline(pipeline: PipelineJson): PipelineJson;
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function validatePipelineCore(pipeline: PipelineJson): void;
|
|
22
22
|
/**
|
|
23
|
+
* TODO: !!!!! [🧞♀️] Do not allow joker + foreach
|
|
23
24
|
* TODO: [🧠] Work with promptbookVersion
|
|
24
25
|
* TODO: Use here some json-schema, Zod or something similar and change it to:
|
|
25
26
|
* > /**
|
|
@@ -31,11 +32,11 @@ export declare function validatePipelineCore(pipeline: PipelineJson): void;
|
|
|
31
32
|
* > ex port function validatePipeline(promptbook: really_unknown): asserts promptbook is PipelineJson {
|
|
32
33
|
*/
|
|
33
34
|
/**
|
|
34
|
-
* TODO: [🐣] !!!! Validate that all samples match expectations
|
|
35
|
-
* TODO: [🐣][🐝] !!!! Validate that knowledge is valid (non-void)
|
|
36
|
-
* TODO: [🐣] !!!! Validate that persona can be used only with CHAT variant
|
|
37
|
-
* TODO: [🐣] !!!! Validate that parameter with reserved name not used RESERVED_PARAMETER_NAMES
|
|
38
|
-
* TODO: [🐣] !!!! Validate that reserved parameter is not used as joker
|
|
35
|
+
* TODO: [🐣][main] !!!! Validate that all samples match expectations
|
|
36
|
+
* TODO: [🐣][🐝][main] !!!! Validate that knowledge is valid (non-void)
|
|
37
|
+
* TODO: [🐣][main] !!!! Validate that persona can be used only with CHAT variant
|
|
38
|
+
* TODO: [🐣][main] !!!! Validate that parameter with reserved name not used RESERVED_PARAMETER_NAMES
|
|
39
|
+
* TODO: [🐣][main] !!!! Validate that reserved parameter is not used as joker
|
|
39
40
|
* TODO: [🧠] Validation not only logic itself but imports around - files and websites and rerefenced pipelines exists
|
|
40
41
|
* TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
|
|
41
42
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This error indicates problems parsing the format value
|
|
3
|
+
*
|
|
4
|
+
* For example, when the format value is not a valid JSON or CSV
|
|
5
|
+
* This is not thrown directly but in extended classes
|
|
6
|
+
*
|
|
7
|
+
* @public exported from `@promptbook/core`
|
|
8
|
+
*/
|
|
9
|
+
export declare class AbstractFormatError extends Error {
|
|
10
|
+
constructor(message: string);
|
|
11
|
+
}
|
|
@@ -14,5 +14,6 @@ export type PipelineExecutor = {
|
|
|
14
14
|
(inputParameters: Parameters, onProgress?: (taskProgress: TaskProgress) => Promisable<void>): Promise<PipelineExecutorResult>;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
|
+
* TODO: [🐚] Change onProgress to object that represents the running execution, can be subscribed via RxJS to and also awaited
|
|
17
18
|
* TODO: [🧠] Should this file be in /execution or /types folder?
|
|
18
19
|
*/
|
|
@@ -15,7 +15,7 @@ export type PipelineExecutorResult = {
|
|
|
15
15
|
*
|
|
16
16
|
* Note: If the execution was not successful, there are only some of the result parameters
|
|
17
17
|
*/
|
|
18
|
-
readonly outputParameters: Parameters
|
|
18
|
+
readonly outputParameters: Readonly<Parameters>;
|
|
19
19
|
/**
|
|
20
20
|
* Whether the execution was successful, details are aviable in `executionReport`
|
|
21
21
|
*/
|
|
@@ -23,19 +23,19 @@ export type PipelineExecutorResult = {
|
|
|
23
23
|
/**
|
|
24
24
|
* Added usage of whole execution, detailed usage is aviable in `executionReport`
|
|
25
25
|
*/
|
|
26
|
-
readonly usage: PromptResultUsage
|
|
26
|
+
readonly usage: ReadonlyDeep<PromptResultUsage>;
|
|
27
27
|
/**
|
|
28
28
|
* Errors that occured during the execution, details are aviable in `executionReport`
|
|
29
29
|
*/
|
|
30
|
-
readonly errors: Array<ErrorJson
|
|
30
|
+
readonly errors: ReadonlyDeep<Array<ErrorJson>>;
|
|
31
31
|
/**
|
|
32
32
|
* Warnings that occured during the execution, details are aviable in `executionReport`
|
|
33
33
|
*/
|
|
34
|
-
readonly warnings: Array<ErrorJson
|
|
34
|
+
readonly warnings: ReadonlyDeep<Array<ErrorJson>>;
|
|
35
35
|
/**
|
|
36
36
|
* The report of the execution with all details
|
|
37
37
|
*/
|
|
38
|
-
readonly executionReport: ExecutionReportJson
|
|
38
|
+
readonly executionReport: ReadonlyDeep<ExecutionReportJson>;
|
|
39
39
|
/**
|
|
40
40
|
* The prepared pipeline that was used for the execution
|
|
41
41
|
*
|
|
@@ -45,7 +45,6 @@ export type PipelineExecutorResult = {
|
|
|
45
45
|
readonly preparedPipeline: ReadonlyDeep<PipelineJson>;
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
48
|
-
* TODO: !!!!!! Maybe add ReadonlyDeep< to all
|
|
49
48
|
* TODO: [🧠] Should this file be in /execution or /types folder?
|
|
50
49
|
* TODO: [🧠] Maybe constrain `ErrorJson` -> `ErrorJson & { name: 'PipelineExecutionError' | 'Error' }`
|
|
51
50
|
*/
|
|
@@ -10,12 +10,36 @@ import type { PromptResult } from '../PromptResult';
|
|
|
10
10
|
* @private internal utility of `createPipelineExecutor`
|
|
11
11
|
*/
|
|
12
12
|
export type $OngoingTemplateResult = {
|
|
13
|
+
/**
|
|
14
|
+
* @@@
|
|
15
|
+
*/
|
|
13
16
|
$prompt?: Prompt;
|
|
17
|
+
/**
|
|
18
|
+
* @@@
|
|
19
|
+
*/
|
|
14
20
|
$chatResult?: ChatPromptResult;
|
|
21
|
+
/**
|
|
22
|
+
* @@@
|
|
23
|
+
*/
|
|
15
24
|
$completionResult?: CompletionPromptResult;
|
|
25
|
+
/**
|
|
26
|
+
* @@@
|
|
27
|
+
*/
|
|
16
28
|
$embeddingResult?: EmbeddingPromptResult;
|
|
29
|
+
/**
|
|
30
|
+
* @@@
|
|
31
|
+
*/
|
|
17
32
|
$result: PromptResult | null;
|
|
33
|
+
/**
|
|
34
|
+
* @@@
|
|
35
|
+
*/
|
|
18
36
|
$resultString: string | null;
|
|
37
|
+
/**
|
|
38
|
+
* @@@
|
|
39
|
+
*/
|
|
19
40
|
$expectError: ExpectError | null;
|
|
41
|
+
/**
|
|
42
|
+
* @@@
|
|
43
|
+
*/
|
|
20
44
|
$scriptPipelineExecutionErrors: Array<Error>;
|
|
21
45
|
};
|
package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CsvSettings } from '../../formats/csv/CsvSettings';
|
|
1
2
|
export type CreatePipelineExecutorSettings = {
|
|
2
3
|
/**
|
|
3
4
|
* When executor does not satisfy expectations it will be retried this amount of times
|
|
@@ -17,6 +18,12 @@ export type CreatePipelineExecutorSettings = {
|
|
|
17
18
|
* @default false
|
|
18
19
|
*/
|
|
19
20
|
readonly isVerbose: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Settings for CSV format
|
|
23
|
+
*
|
|
24
|
+
* @default DEFAULT_CSV_SETTINGS
|
|
25
|
+
*/
|
|
26
|
+
readonly csvSettings: CsvSettings;
|
|
20
27
|
/**
|
|
21
28
|
* If you pass fully prepared pipeline, this does not matter
|
|
22
29
|
*
|
|
@@ -8,3 +8,6 @@ import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorO
|
|
|
8
8
|
* @public exported from `@promptbook/core`
|
|
9
9
|
*/
|
|
10
10
|
export declare function createPipelineExecutor(options: CreatePipelineExecutorOptions): PipelineExecutor;
|
|
11
|
+
/**
|
|
12
|
+
* TODO: [🐚] Change onProgress to object that represents the running execution, can be subscribed via RxJS to and also awaited
|
|
13
|
+
*/
|
|
@@ -22,7 +22,7 @@ type ExecutePipelineOptions = {
|
|
|
22
22
|
/**
|
|
23
23
|
* @@@
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
onProgress?(taskProgress: TaskProgress): Promisable<void>;
|
|
26
26
|
/**
|
|
27
27
|
* @@@
|
|
28
28
|
*/
|
|
@@ -53,3 +53,6 @@ type ExecutePipelineOptions = {
|
|
|
53
53
|
*/
|
|
54
54
|
export declare function executePipeline(options: ExecutePipelineOptions): Promise<PipelineExecutorResult>;
|
|
55
55
|
export {};
|
|
56
|
+
/**
|
|
57
|
+
* TODO: [🐚] Change onProgress to object that represents the running execution, can be subscribed via RxJS to and also awaited
|
|
58
|
+
*/
|
|
@@ -3,7 +3,7 @@ import type { ExecuteAttemptsOptions } from './40-executeAttempts';
|
|
|
3
3
|
/**
|
|
4
4
|
* @@@
|
|
5
5
|
*
|
|
6
|
-
* @private internal type of `
|
|
6
|
+
* @private internal type of `executeFormatSubvalues`
|
|
7
7
|
*/
|
|
8
8
|
type ExecuteFormatCellsOptions = ExecuteAttemptsOptions;
|
|
9
9
|
/**
|
|
@@ -11,5 +11,5 @@ type ExecuteFormatCellsOptions = ExecuteAttemptsOptions;
|
|
|
11
11
|
*
|
|
12
12
|
* @private internal utility of `createPipelineExecutor`
|
|
13
13
|
*/
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function executeFormatSubvalues(options: ExecuteFormatCellsOptions): Promise<TODO_any>;
|
|
15
15
|
export {};
|
|
@@ -5,10 +5,8 @@ import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
|
5
5
|
import type { TemplateJson } from '../../types/PipelineJson/TemplateJson';
|
|
6
6
|
import type { Parameters } from '../../types/typeAliases';
|
|
7
7
|
import type { string_parameter_name } from '../../types/typeAliases';
|
|
8
|
-
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
9
8
|
import type { TODO_string } from '../../utils/organization/TODO_string';
|
|
10
9
|
import type { ExecutionTools } from '../ExecutionTools';
|
|
11
|
-
import type { $OngoingTemplateResult } from './$OngoingTemplateResult';
|
|
12
10
|
import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutorSettings';
|
|
13
11
|
/**
|
|
14
12
|
* @@@
|
|
@@ -16,10 +14,6 @@ import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutor
|
|
|
16
14
|
* @private internal type of `executeAttempts`
|
|
17
15
|
*/
|
|
18
16
|
export type ExecuteAttemptsOptions = {
|
|
19
|
-
/**
|
|
20
|
-
* @@@
|
|
21
|
-
*/
|
|
22
|
-
readonly $ongoingTemplateResult: $OngoingTemplateResult;
|
|
23
17
|
/**
|
|
24
18
|
* @@@
|
|
25
19
|
*/
|
|
@@ -39,7 +33,7 @@ export type ExecuteAttemptsOptions = {
|
|
|
39
33
|
/**
|
|
40
34
|
* @@@
|
|
41
35
|
*/
|
|
42
|
-
readonly parameters:
|
|
36
|
+
readonly parameters: Readonly<Parameters>;
|
|
43
37
|
/**
|
|
44
38
|
* @@@
|
|
45
39
|
*/
|
|
@@ -74,7 +68,7 @@ export type ExecuteAttemptsOptions = {
|
|
|
74
68
|
*
|
|
75
69
|
* @private internal utility of `createPipelineExecutor`
|
|
76
70
|
*/
|
|
77
|
-
export declare function executeAttempts(options: ExecuteAttemptsOptions): Promise<
|
|
71
|
+
export declare function executeAttempts(options: ExecuteAttemptsOptions): Promise<TODO_string>;
|
|
78
72
|
/**
|
|
79
73
|
* TODO: Break into smaller functions
|
|
80
74
|
*/
|
|
@@ -4,4 +4,4 @@ import type { EmbeddingVector } from './EmbeddingVector';
|
|
|
4
4
|
*
|
|
5
5
|
* @public exported from `@promptbook/core`
|
|
6
6
|
*/
|
|
7
|
-
export declare function embeddingVectorToString(embeddingVector: EmbeddingVector): string;
|
|
7
|
+
export declare function embeddingVectorToString(embeddingVector: Readonly<EmbeddingVector>): string;
|
|
@@ -24,4 +24,6 @@ export declare function checkExpectations(expectations: Expectations, value: str
|
|
|
24
24
|
export declare function isPassingExpectations(expectations: Expectations, value: string): boolean;
|
|
25
25
|
/**
|
|
26
26
|
* TODO: [💝] Unite object for expecting amount and format
|
|
27
|
+
* TODO: [🧠][🤠] This should be part of `TextFormatDefinition`
|
|
28
|
+
* Note: [💝] and [🤠] are interconnected together
|
|
27
29
|
*/
|
|
@@ -7,11 +7,10 @@ import type { PromptResultUsage } from '../PromptResultUsage';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare function usageToHuman(usage: PromptResultUsage): string_markdown;
|
|
9
9
|
/**
|
|
10
|
-
* TODO: Use "$1" not "1 USD"
|
|
11
|
-
* TODO: Use markdown formatting like "Cost approximately **$1**"
|
|
12
|
-
* TODO: Report in minutes, seconds, days NOT 0.1 hours
|
|
10
|
+
* TODO: [🍓][🧞♂️] Use "$1" not "1 USD"
|
|
11
|
+
* TODO: [🍓][🧞♂️] Use markdown formatting like "Cost approximately **$1**"
|
|
12
|
+
* TODO: [🍓][🧞♂️] Report in minutes, seconds, days NOT 0.1 hours
|
|
13
13
|
* TODO: [🧠] Maybe make from `uncertainNumberToHuman` separate exported utility
|
|
14
|
-
* TODO: When negligible usage, report "Negligible" or just don't report it
|
|
15
14
|
* TODO: [🧠] Maybe use "~" instead of "approximately"
|
|
16
15
|
* TODO: [🏛] Maybe make some markdown builder
|
|
17
16
|
*/
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import type { string_mime_type } from '../../types/typeAliases';
|
|
2
2
|
import type { string_name } from '../../types/typeAliases';
|
|
3
|
+
import type { string_SCREAMING_CASE } from '../../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
4
|
+
import type { empty_object } from '../../utils/organization/empty_object';
|
|
5
|
+
import type { FormatSubvalueDefinition } from './FormatSubvalueDefinition';
|
|
3
6
|
/**
|
|
4
7
|
* A format definition is a set of functions that define how to validate, heal and convert response from LLM
|
|
5
8
|
*
|
|
9
|
+
* @@@ Describe setting vs schema
|
|
10
|
+
*
|
|
6
11
|
* @see https://github.com/webgptorg/promptbook/discussions/36
|
|
7
12
|
* @private still in development [🏢]
|
|
8
13
|
*/
|
|
9
|
-
export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends string, TSchema extends
|
|
14
|
+
export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends string, TSettings extends empty_object, TSchema extends empty_object> = {
|
|
10
15
|
/**
|
|
11
16
|
* The name of the format used in .ptbk.md files
|
|
12
17
|
*
|
|
13
18
|
* @sample "JSON"
|
|
14
19
|
*/
|
|
15
|
-
readonly
|
|
20
|
+
readonly formatName: string_name & string_SCREAMING_CASE;
|
|
16
21
|
/**
|
|
17
|
-
* Aliases for the
|
|
22
|
+
* Aliases for the `formatName`
|
|
18
23
|
*/
|
|
19
|
-
readonly aliases?: Array<string_name>;
|
|
24
|
+
readonly aliases?: Array<string_name & string_SCREAMING_CASE>;
|
|
20
25
|
/**
|
|
21
26
|
* The mime type of the format (if any)
|
|
22
27
|
*
|
|
@@ -29,7 +34,7 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
|
|
|
29
34
|
* @param value The value to check, for example "{\"foo\": true}"
|
|
30
35
|
* @param schema Optional schema to do extra validation
|
|
31
36
|
*/
|
|
32
|
-
isValid(value: string, schema?: TSchema): value is TValue;
|
|
37
|
+
isValid(value: string, settings?: TSettings, schema?: TSchema): value is TValue;
|
|
33
38
|
/**
|
|
34
39
|
* Check if a first part of a value is valid
|
|
35
40
|
*
|
|
@@ -38,7 +43,7 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
|
|
|
38
43
|
* @param partialValue Partial value to check, for example "{\"foo\": t"
|
|
39
44
|
* @param schema Optional schema to do extra validation
|
|
40
45
|
*/
|
|
41
|
-
canBeValid(partialValue: string, schema?: TSchema): partialValue is TPartialValue;
|
|
46
|
+
canBeValid(partialValue: string, settings?: TSettings, schema?: TSchema): partialValue is TPartialValue;
|
|
42
47
|
/**
|
|
43
48
|
* Heal a value to make it valid if possible
|
|
44
49
|
*
|
|
@@ -49,17 +54,11 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
|
|
|
49
54
|
* @param scheme
|
|
50
55
|
* @throws {Error} If the value cannot be healed
|
|
51
56
|
*/
|
|
52
|
-
heal(value: string, scheme?: TSchema): TValue;
|
|
57
|
+
heal(value: string, settings?: TSettings, scheme?: TSchema): TValue;
|
|
53
58
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* Note: This is useful when you want to combine format expectations with counting words, characters,...
|
|
57
|
-
*
|
|
58
|
-
* @param value The value to check, for example "{\"name\": "John Smith"}"
|
|
59
|
-
* @param schema Optional schema
|
|
60
|
-
* @example "{\"name\": "John Smith"}" -> ["John Smith"]
|
|
59
|
+
* @@@
|
|
61
60
|
*/
|
|
62
|
-
|
|
61
|
+
readonly subvalueDefinitions: Array<FormatSubvalueDefinition<TValue, TSettings>>;
|
|
63
62
|
};
|
|
64
63
|
/**
|
|
65
64
|
* TODO: [♏] Add some prepare hook to modify prompt according to the format
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
2
|
+
import type { Parameters } from '../../types/typeAliases';
|
|
3
|
+
import type { string_parameter_name } from '../../types/typeAliases';
|
|
4
|
+
import type { string_name } from '../../types/typeAliases';
|
|
5
|
+
import type { string_SCREAMING_CASE } from '../../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
6
|
+
import type { empty_object } from '../../utils/organization/empty_object';
|
|
7
|
+
/**
|
|
8
|
+
* @@@
|
|
9
|
+
*/
|
|
10
|
+
export type FormatSubvalueDefinition<TValue extends string, TSettings extends empty_object> = {
|
|
11
|
+
/**
|
|
12
|
+
* The name of the format used in .ptbk.md files
|
|
13
|
+
*
|
|
14
|
+
* @sample "CELL"
|
|
15
|
+
*/
|
|
16
|
+
readonly subvalueName: string_name & string_SCREAMING_CASE;
|
|
17
|
+
/**
|
|
18
|
+
* Aliases for the `subvalueName`
|
|
19
|
+
*/
|
|
20
|
+
readonly aliases?: Array<string_name & string_SCREAMING_CASE>;
|
|
21
|
+
/**
|
|
22
|
+
* Maps values
|
|
23
|
+
*
|
|
24
|
+
* For example, if you have a JSON object and you want to map all values to uppercase
|
|
25
|
+
* Or iterate over all CSV cells @@@
|
|
26
|
+
*/
|
|
27
|
+
mapValues(value: TValue, outputParameterName: string_parameter_name, settings: TSettings, mapCallback: (subvalues: Parameters, index: number) => Promisable<string>): Promise<string>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Note: [👩🏾🤝🧑🏽]
|
|
31
|
+
*/
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
1
2
|
import type { FormatDefinition } from '../_common/FormatDefinition';
|
|
3
|
+
import type { CsvSettings } from './CsvSettings';
|
|
2
4
|
/**
|
|
3
5
|
* Definition for CSV spreadsheet
|
|
4
6
|
*
|
|
5
|
-
* @
|
|
7
|
+
* @public exported from `@promptbook/core`
|
|
8
|
+
* <- TODO: [🏢] Export from package `@promptbook/csv`
|
|
6
9
|
*/
|
|
7
|
-
export declare const CsvFormatDefinition: FormatDefinition<string, string,
|
|
10
|
+
export declare const CsvFormatDefinition: FormatDefinition<string, string, CsvSettings, TODO_any>;
|
|
8
11
|
/**
|
|
9
12
|
* TODO: [🍓] In `CsvFormatDefinition` implement simple `isValid`
|
|
10
13
|
* TODO: [🍓] In `CsvFormatDefinition` implement partial `canBeValid`
|
|
11
14
|
* TODO: [🍓] In `CsvFormatDefinition` implement `heal
|
|
12
|
-
* TODO: [🍓] In `CsvFormatDefinition` implement `
|
|
15
|
+
* TODO: [🍓] In `CsvFormatDefinition` implement `subvalueDefinitions`
|
|
13
16
|
* TODO: [🏢] Allow to expect something inside CSV objects and other formats
|
|
14
17
|
*/
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractFormatError } from "../../errors/AbstractFormatError";
|
|
2
|
+
/**
|
|
3
|
+
* This error indicates problem with parsing of CSV
|
|
4
|
+
*
|
|
5
|
+
* @public exported from `@promptbook/core`
|
|
6
|
+
*/
|
|
7
|
+
export declare class CsvFormatError extends AbstractFormatError {
|
|
8
|
+
readonly name = "CsvFormatError";
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ParseConfig, UnparseConfig } from 'papaparse';
|
|
2
|
+
/**
|
|
3
|
+
* @@@
|
|
4
|
+
*/
|
|
5
|
+
export type CsvSettings = Pick<ParseConfig & UnparseConfig, 'delimiter' | 'quoteChar' | 'newline' | 'skipEmptyLines'>;
|
|
6
|
+
/**
|
|
7
|
+
* @@@
|
|
8
|
+
*
|
|
9
|
+
* @public exported from `@promptbook/core`
|
|
10
|
+
*/
|
|
11
|
+
export declare const MANDATORY_CSV_SETTINGS: Readonly<{
|
|
12
|
+
readonly header: true;
|
|
13
|
+
}>;
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @private internal index of `...` <- TODO [🏢]
|
|
5
5
|
*/
|
|
6
|
-
export declare const FORMAT_DEFINITIONS: import("./_common/FormatDefinition").FormatDefinition<string, string,
|
|
6
|
+
export declare const FORMAT_DEFINITIONS: readonly [import("./_common/FormatDefinition").FormatDefinition<string, string, any, any>, import("./_common/FormatDefinition").FormatDefinition<string, string, any, any>, import("./_common/FormatDefinition").FormatDefinition<string, string, any, any>, import("./_common/FormatDefinition").FormatDefinition<string, string, import("./csv/CsvSettings").CsvSettings, any>];
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
1
2
|
import type { FormatDefinition } from '../_common/FormatDefinition';
|
|
2
3
|
/**
|
|
3
4
|
* Definition for JSON format
|
|
4
5
|
*
|
|
5
6
|
* @private still in development [🏢]
|
|
6
7
|
*/
|
|
7
|
-
export declare const JsonFormatDefinition: FormatDefinition<string, string,
|
|
8
|
+
export declare const JsonFormatDefinition: FormatDefinition<string, string, TODO_any, TODO_any>;
|
|
8
9
|
/**
|
|
9
10
|
* TODO: [🧠] Maybe propper instance of object
|
|
10
11
|
* TODO: [0] Make string_serialized_json
|
|
11
|
-
* TODO: [1] Make type for JSON Schema
|
|
12
|
+
* TODO: [1] Make type for JSON Settings and Schema
|
|
12
13
|
* TODO: [🧠] What to use for validating JSONs - JSON Schema, ZoD, typescript types/interfaces,...?
|
|
13
14
|
* TODO: [🍓] In `JsonFormatDefinition` implement simple `isValid`
|
|
14
15
|
* TODO: [🍓] In `JsonFormatDefinition` implement partial `canBeValid`
|
|
15
16
|
* TODO: [🍓] In `JsonFormatDefinition` implement `heal
|
|
16
|
-
* TODO: [🍓] In `JsonFormatDefinition` implement `
|
|
17
|
+
* TODO: [🍓] In `JsonFormatDefinition` implement `subvalueDefinitions`
|
|
17
18
|
* TODO: [🏢] Allow to expect something inside JSON objects and other formats
|
|
18
19
|
*/
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
2
|
+
import type { FormatDefinition } from '../_common/FormatDefinition';
|
|
3
|
+
/**
|
|
4
|
+
* Definition for any text - this will be always valid
|
|
5
|
+
*
|
|
6
|
+
* Note: This is not useful for validation, but for splitting and mapping with `subvalueDefinitions`
|
|
7
|
+
*
|
|
8
|
+
* @public exported from `@promptbook/core`
|
|
9
|
+
*/
|
|
10
|
+
export declare const TextFormatDefinition: FormatDefinition<string, string, TODO_any, TODO_any>;
|
|
11
|
+
/**
|
|
12
|
+
* TODO: [1] Make type for XML Text and Schema
|
|
13
|
+
* TODO: [🧠][🤠] Here should be all words, characters, lines, paragraphs, pages aviable as subvalues
|
|
14
|
+
* TODO: [🍓] In `TextFormatDefinition` implement simple `isValid`
|
|
15
|
+
* TODO: [🍓] In `TextFormatDefinition` implement partial `canBeValid`
|
|
16
|
+
* TODO: [🍓] In `TextFormatDefinition` implement `heal
|
|
17
|
+
* TODO: [🍓] In `TextFormatDefinition` implement `subvalueDefinitions`
|
|
18
|
+
* TODO: [🏢] Allow to expect something inside each item of list and other formats
|
|
19
|
+
*/
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
1
2
|
import type { FormatDefinition } from '../_common/FormatDefinition';
|
|
2
3
|
/**
|
|
3
4
|
* Definition for XML format
|
|
4
5
|
*
|
|
5
6
|
* @private still in development [🏢]
|
|
6
7
|
*/
|
|
7
|
-
export declare const XmlFormatDefinition: FormatDefinition<string, string,
|
|
8
|
+
export declare const XmlFormatDefinition: FormatDefinition<string, string, TODO_any, TODO_any>;
|
|
8
9
|
/**
|
|
9
10
|
* TODO: [🧠] Maybe propper instance of object
|
|
10
11
|
* TODO: [0] Make string_serialized_xml
|
|
11
|
-
* TODO: [1] Make type for XML Schema
|
|
12
|
+
* TODO: [1] Make type for XML Settings and Schema
|
|
12
13
|
* TODO: [🧠] What to use for validating XMLs - XSD,...
|
|
13
14
|
* TODO: [🍓] In `XmlFormatDefinition` implement simple `isValid`
|
|
14
15
|
* TODO: [🍓] In `XmlFormatDefinition` implement partial `canBeValid`
|
|
15
16
|
* TODO: [🍓] In `XmlFormatDefinition` implement `heal
|
|
16
|
-
* TODO: [🍓] In `XmlFormatDefinition` implement `
|
|
17
|
+
* TODO: [🍓] In `XmlFormatDefinition` implement `subvalueDefinitions`
|
|
17
18
|
* TODO: [🏢] Allow to expect something inside XML and other formats
|
|
18
19
|
*/
|
package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { string_markdown } from '../../../types/typeAliases';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function prepareKnowledgeFromMarkdown(knowledgeContent: string_markdown, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>>>;
|
|
10
10
|
/**
|
|
11
|
-
* TODO: [🐝][🔼] !!! Export via `@promptbook/markdown`
|
|
11
|
+
* TODO: [🐝][🔼][main] !!! Export via `@promptbook/markdown`
|
|
12
12
|
* TODO: [🪂] Do it in parallel 11:11
|
|
13
13
|
* Note: No need to aggregate usage here, it is done by intercepting the llmTools
|
|
14
14
|
*/
|
|
@@ -8,7 +8,7 @@ import type { string_base64 } from '../../../types/typeAliases';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function prepareKnowledgeFromPdf(content: string_base64, options: PrepareOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>>>;
|
|
10
10
|
/**
|
|
11
|
-
* TODO: [🐝][🔼] !!! Export via `@promptbook/pdf`
|
|
11
|
+
* TODO: [🐝][🔼][main] !!! Export via `@promptbook/pdf`
|
|
12
12
|
* TODO: [🧺] In future, content can be alse File or Blob BUT for now for wider compatibility its only base64
|
|
13
13
|
* @see https://stackoverflow.com/questions/14653349/node-js-cant-create-blobs
|
|
14
14
|
* TODO: [🪂] Do it in parallel
|