@promptbook/remote-client 0.92.0-20 → 0.92.0-22
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/esm/index.es.js +56 -7
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/core.index.d.ts +4 -0
- package/esm/typings/src/_packages/types.index.d.ts +2 -0
- package/esm/typings/src/config.d.ts +8 -0
- package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +8 -1
- package/esm/typings/src/formats/_common/FormatSubvalueParser.d.ts +11 -1
- package/esm/typings/src/formats/json/utils/jsonParse.d.ts +0 -3
- package/esm/typings/src/formfactors/completion/CompletionFormfactorDefinition.d.ts +29 -0
- package/esm/typings/src/formfactors/index.d.ts +28 -3
- package/esm/typings/src/high-level-abstractions/index.d.ts +2 -2
- package/esm/typings/src/migrations/migratePipeline.d.ts +2 -0
- package/package.json +2 -2
- package/umd/index.umd.js +56 -7
- package/umd/index.umd.js.map +1 -1
|
@@ -32,6 +32,7 @@ import { DEFAULT_IS_VERBOSE } from '../config';
|
|
|
32
32
|
import { SET_IS_VERBOSE } from '../config';
|
|
33
33
|
import { DEFAULT_IS_AUTO_INSTALLED } from '../config';
|
|
34
34
|
import { DEFAULT_GET_PIPELINE_COLLECTION_FUNCTION_NAME } from '../config';
|
|
35
|
+
import { DEFAULT_RPM } from '../config';
|
|
35
36
|
import { ORDER_OF_PIPELINE_JSON } from '../constants';
|
|
36
37
|
import { RESERVED_PARAMETER_NAMES } from '../constants';
|
|
37
38
|
import { compilePipeline } from '../conversion/compilePipeline';
|
|
@@ -81,6 +82,7 @@ import { MANDATORY_CSV_SETTINGS } from '../formats/csv/CsvSettings';
|
|
|
81
82
|
import { TextFormatParser } from '../formats/text/TextFormatParser';
|
|
82
83
|
import { BoilerplateFormfactorDefinition } from '../formfactors/_boilerplate/BoilerplateFormfactorDefinition';
|
|
83
84
|
import { ChatbotFormfactorDefinition } from '../formfactors/chatbot/ChatbotFormfactorDefinition';
|
|
85
|
+
import { CompletionFormfactorDefinition } from '../formfactors/completion/CompletionFormfactorDefinition';
|
|
84
86
|
import { GeneratorFormfactorDefinition } from '../formfactors/generator/GeneratorFormfactorDefinition';
|
|
85
87
|
import { GenericFormfactorDefinition } from '../formfactors/generic/GenericFormfactorDefinition';
|
|
86
88
|
import { ImageGeneratorFormfactorDefinition } from '../formfactors/image-generator/ImageGeneratorFormfactorDefinition';
|
|
@@ -175,6 +177,7 @@ export { DEFAULT_IS_VERBOSE };
|
|
|
175
177
|
export { SET_IS_VERBOSE };
|
|
176
178
|
export { DEFAULT_IS_AUTO_INSTALLED };
|
|
177
179
|
export { DEFAULT_GET_PIPELINE_COLLECTION_FUNCTION_NAME };
|
|
180
|
+
export { DEFAULT_RPM };
|
|
178
181
|
export { ORDER_OF_PIPELINE_JSON };
|
|
179
182
|
export { RESERVED_PARAMETER_NAMES };
|
|
180
183
|
export { compilePipeline };
|
|
@@ -224,6 +227,7 @@ export { MANDATORY_CSV_SETTINGS };
|
|
|
224
227
|
export { TextFormatParser };
|
|
225
228
|
export { BoilerplateFormfactorDefinition };
|
|
226
229
|
export { ChatbotFormfactorDefinition };
|
|
230
|
+
export { CompletionFormfactorDefinition };
|
|
227
231
|
export { GeneratorFormfactorDefinition };
|
|
228
232
|
export { GenericFormfactorDefinition };
|
|
229
233
|
export { ImageGeneratorFormfactorDefinition };
|
|
@@ -62,6 +62,7 @@ import type { UsageCounts } from '../execution/Usage';
|
|
|
62
62
|
import type { UserInterfaceTools } from '../execution/UserInterfaceTools';
|
|
63
63
|
import type { UserInterfaceToolsPromptDialogOptions } from '../execution/UserInterfaceTools';
|
|
64
64
|
import type { FormatSubvalueParser } from '../formats/_common/FormatSubvalueParser';
|
|
65
|
+
import type { FormatSubvalueParserMapValuesOptions } from '../formats/_common/FormatSubvalueParser';
|
|
65
66
|
import type { CsvSettings } from '../formats/csv/CsvSettings';
|
|
66
67
|
import type { AbstractFormfactorDefinition } from '../formfactors/_common/AbstractFormfactorDefinition';
|
|
67
68
|
import type { FormfactorDefinition } from '../formfactors/_common/FormfactorDefinition';
|
|
@@ -358,6 +359,7 @@ export type { UsageCounts };
|
|
|
358
359
|
export type { UserInterfaceTools };
|
|
359
360
|
export type { UserInterfaceToolsPromptDialogOptions };
|
|
360
361
|
export type { FormatSubvalueParser };
|
|
362
|
+
export type { FormatSubvalueParserMapValuesOptions };
|
|
361
363
|
export type { CsvSettings };
|
|
362
364
|
export type { AbstractFormfactorDefinition };
|
|
363
365
|
export type { FormfactorDefinition };
|
|
@@ -265,6 +265,14 @@ export declare const DEFAULT_IS_AUTO_INSTALLED = false;
|
|
|
265
265
|
* @public exported from `@promptbook/core`
|
|
266
266
|
*/
|
|
267
267
|
export declare const DEFAULT_GET_PIPELINE_COLLECTION_FUNCTION_NAME = "getPipelineCollection";
|
|
268
|
+
/**
|
|
269
|
+
* Default rate limits (requests per minute)
|
|
270
|
+
*
|
|
271
|
+
* Note: Adjust based on the provider tier you are have
|
|
272
|
+
*
|
|
273
|
+
* @public exported from `@promptbook/core`
|
|
274
|
+
*/
|
|
275
|
+
export declare const DEFAULT_RPM = 60;
|
|
268
276
|
/**
|
|
269
277
|
* @@@
|
|
270
278
|
*
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
+
import type { PartialDeep, Promisable } from 'type-fest';
|
|
1
2
|
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
3
|
+
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
2
4
|
import type { ExecuteAttemptsOptions } from './40-executeAttempts';
|
|
3
5
|
/**
|
|
4
6
|
* @@@
|
|
5
7
|
*
|
|
6
8
|
* @private internal type of `executeFormatSubvalues`
|
|
7
9
|
*/
|
|
8
|
-
type ExecuteFormatCellsOptions = ExecuteAttemptsOptions
|
|
10
|
+
type ExecuteFormatCellsOptions = ExecuteAttemptsOptions & {
|
|
11
|
+
/**
|
|
12
|
+
* @@@
|
|
13
|
+
*/
|
|
14
|
+
readonly onProgress: (newOngoingResult: PartialDeep<PipelineExecutorResult>) => Promisable<void>;
|
|
15
|
+
};
|
|
9
16
|
/**
|
|
10
17
|
* @@@
|
|
11
18
|
*
|
|
@@ -24,7 +24,17 @@ export type FormatSubvalueParser<TValue extends string, TSettings extends empty_
|
|
|
24
24
|
* For example, if you have a JSON object and you want to map all values to uppercase
|
|
25
25
|
* Or iterate over all CSV cells @@@
|
|
26
26
|
*/
|
|
27
|
-
mapValues(
|
|
27
|
+
mapValues(options: FormatSubvalueParserMapValuesOptions<TValue, TSettings>): Promise<string>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* @@@
|
|
31
|
+
*/
|
|
32
|
+
export type FormatSubvalueParserMapValuesOptions<TValue extends string, TSettings extends empty_object> = {
|
|
33
|
+
readonly value: TValue;
|
|
34
|
+
readonly outputParameterName: string_parameter_name;
|
|
35
|
+
readonly settings: TSettings;
|
|
36
|
+
mapCallback: (subvalues: Parameters, index: number) => Promisable<TValue>;
|
|
37
|
+
onProgress(partialResultString: TValue): Promisable<void>;
|
|
28
38
|
};
|
|
29
39
|
/**
|
|
30
40
|
* Note: [👩🏾🤝🧑🏽]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Completion is formfactor that emulates completion models
|
|
3
|
+
*
|
|
4
|
+
* @public exported from `@promptbook/core`
|
|
5
|
+
*/
|
|
6
|
+
export declare const CompletionFormfactorDefinition: {
|
|
7
|
+
readonly name: "COMPLETION";
|
|
8
|
+
readonly description: "@@@";
|
|
9
|
+
readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
10
|
+
readonly pipelineInterface: {
|
|
11
|
+
readonly inputParameters: readonly [{
|
|
12
|
+
readonly name: "inputText";
|
|
13
|
+
readonly description: "Input text to be completed";
|
|
14
|
+
readonly isInput: true;
|
|
15
|
+
readonly isOutput: false;
|
|
16
|
+
}, {
|
|
17
|
+
readonly name: "instructions";
|
|
18
|
+
readonly description: "Additional instructions for the model, for example the required length, empty by default";
|
|
19
|
+
readonly isInput: true;
|
|
20
|
+
readonly isOutput: false;
|
|
21
|
+
}];
|
|
22
|
+
readonly outputParameters: readonly [{
|
|
23
|
+
readonly name: "followingText";
|
|
24
|
+
readonly description: "Text that follows the input text";
|
|
25
|
+
readonly isInput: false;
|
|
26
|
+
readonly isOutput: true;
|
|
27
|
+
}];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -36,9 +36,6 @@ export declare const FORMFACTOR_DEFINITIONS: readonly [{
|
|
|
36
36
|
readonly outputParameters: readonly [{
|
|
37
37
|
readonly name: "title";
|
|
38
38
|
readonly description: "Title of the conversation";
|
|
39
|
-
/**
|
|
40
|
-
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
41
|
-
*/
|
|
42
39
|
readonly isInput: false;
|
|
43
40
|
readonly isOutput: true;
|
|
44
41
|
}, {
|
|
@@ -132,6 +129,11 @@ export declare const FORMFACTOR_DEFINITIONS: readonly [{
|
|
|
132
129
|
readonly isInput: true;
|
|
133
130
|
readonly isOutput: false;
|
|
134
131
|
}];
|
|
132
|
+
/**
|
|
133
|
+
* All available formfactor definitions
|
|
134
|
+
*
|
|
135
|
+
* @public exported from `@promptbook/core`
|
|
136
|
+
*/
|
|
135
137
|
readonly outputParameters: readonly [{
|
|
136
138
|
readonly name: "prompt";
|
|
137
139
|
readonly description: "Prompt to be used for image generation";
|
|
@@ -139,6 +141,29 @@ export declare const FORMFACTOR_DEFINITIONS: readonly [{
|
|
|
139
141
|
readonly isOutput: true;
|
|
140
142
|
}];
|
|
141
143
|
};
|
|
144
|
+
}, {
|
|
145
|
+
readonly name: "COMPLETION";
|
|
146
|
+
readonly description: "@@@";
|
|
147
|
+
readonly documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
148
|
+
readonly pipelineInterface: {
|
|
149
|
+
readonly inputParameters: readonly [{
|
|
150
|
+
readonly name: "inputText";
|
|
151
|
+
readonly description: "Input text to be completed";
|
|
152
|
+
readonly isInput: true;
|
|
153
|
+
readonly isOutput: false;
|
|
154
|
+
}, {
|
|
155
|
+
readonly name: "instructions";
|
|
156
|
+
readonly description: "Additional instructions for the model, for example the required length, empty by default";
|
|
157
|
+
readonly isInput: true;
|
|
158
|
+
readonly isOutput: false;
|
|
159
|
+
}];
|
|
160
|
+
readonly outputParameters: readonly [{
|
|
161
|
+
readonly name: "followingText";
|
|
162
|
+
readonly description: "Text that follows the input text";
|
|
163
|
+
readonly isInput: false;
|
|
164
|
+
readonly isOutput: true;
|
|
165
|
+
}];
|
|
166
|
+
};
|
|
142
167
|
}];
|
|
143
168
|
/**
|
|
144
169
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -23,7 +23,7 @@ export declare const HIGH_LEVEL_ABSTRACTIONS: readonly [{
|
|
|
23
23
|
path: string | null;
|
|
24
24
|
content: import("../pipeline/PipelineString").PipelineString;
|
|
25
25
|
}[];
|
|
26
|
-
readonly formfactorName?: "CHATBOT" | "GENERATOR" | "GENERIC" | "IMAGE_GENERATOR" | "EXPERIMENTAL_MATCHER" | "SHEETS" | "TRANSLATOR" | undefined;
|
|
26
|
+
readonly formfactorName?: "CHATBOT" | "COMPLETION" | "GENERATOR" | "GENERIC" | "IMAGE_GENERATOR" | "EXPERIMENTAL_MATCHER" | "SHEETS" | "TRANSLATOR" | undefined;
|
|
27
27
|
}>): void;
|
|
28
28
|
}, {
|
|
29
29
|
type: "SYNC";
|
|
@@ -45,7 +45,7 @@ export declare const HIGH_LEVEL_ABSTRACTIONS: readonly [{
|
|
|
45
45
|
path: string | null;
|
|
46
46
|
content: import("../pipeline/PipelineString").PipelineString;
|
|
47
47
|
}[];
|
|
48
|
-
readonly formfactorName?: "CHATBOT" | "GENERATOR" | "GENERIC" | "IMAGE_GENERATOR" | "EXPERIMENTAL_MATCHER" | "SHEETS" | "TRANSLATOR" | undefined;
|
|
48
|
+
readonly formfactorName?: "CHATBOT" | "COMPLETION" | "GENERATOR" | "GENERIC" | "IMAGE_GENERATOR" | "EXPERIMENTAL_MATCHER" | "SHEETS" | "TRANSLATOR" | undefined;
|
|
49
49
|
}>): void;
|
|
50
50
|
}];
|
|
51
51
|
/**
|
|
@@ -2,6 +2,8 @@ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
|
|
|
2
2
|
/**
|
|
3
3
|
* Migrates the pipeline to the latest version
|
|
4
4
|
*
|
|
5
|
+
* Note: Migration does not do heavy lifting like calling the LLMs, just lightweight changes of the structure
|
|
6
|
+
*
|
|
5
7
|
* @public exported from `@promptbook/core`
|
|
6
8
|
*/
|
|
7
9
|
export declare function migratePipeline(deprecatedPipeline: PipelineJson): PipelineJson;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptbook/remote-client",
|
|
3
|
-
"version": "0.92.0-
|
|
3
|
+
"version": "0.92.0-22",
|
|
4
4
|
"description": "It's time for a paradigm shift. The future of software in plain English, French or Latin",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"module": "./esm/index.es.js",
|
|
52
52
|
"typings": "./esm/typings/src/_packages/remote-client.index.d.ts",
|
|
53
53
|
"peerDependencies": {
|
|
54
|
-
"@promptbook/core": "0.92.0-
|
|
54
|
+
"@promptbook/core": "0.92.0-22"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"crypto": "1.0.1",
|
package/umd/index.umd.js
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* @generated
|
|
24
24
|
* @see https://github.com/webgptorg/promptbook
|
|
25
25
|
*/
|
|
26
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.92.0-
|
|
26
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.92.0-22';
|
|
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
|
|
@@ -1898,7 +1898,8 @@
|
|
|
1898
1898
|
subvalueParsers: [
|
|
1899
1899
|
{
|
|
1900
1900
|
subvalueName: 'ROW',
|
|
1901
|
-
async mapValues(
|
|
1901
|
+
async mapValues(options) {
|
|
1902
|
+
const { value, outputParameterName, settings, mapCallback, onProgress } = options;
|
|
1902
1903
|
const csv = csvParse(value, settings);
|
|
1903
1904
|
if (csv.errors.length !== 0) {
|
|
1904
1905
|
throw new CsvFormatError(spaceTrim__default["default"]((block) => `
|
|
@@ -1914,21 +1915,29 @@
|
|
|
1914
1915
|
${block(value)}
|
|
1915
1916
|
`));
|
|
1916
1917
|
}
|
|
1917
|
-
const mappedData =
|
|
1918
|
+
const mappedData = [];
|
|
1919
|
+
for (let index = 0; index < csv.data.length; index++) {
|
|
1920
|
+
const row = csv.data[index];
|
|
1918
1921
|
if (row[outputParameterName]) {
|
|
1919
1922
|
throw new CsvFormatError(`Can not overwrite existing column "${outputParameterName}" in CSV row`);
|
|
1920
1923
|
}
|
|
1921
|
-
|
|
1924
|
+
const mappedRow = {
|
|
1922
1925
|
...row,
|
|
1923
1926
|
[outputParameterName]: await mapCallback(row, index),
|
|
1924
1927
|
};
|
|
1925
|
-
|
|
1928
|
+
mappedData.push(mappedRow);
|
|
1929
|
+
if (onProgress) {
|
|
1930
|
+
// Note: Report the CSV with all rows mapped so far
|
|
1931
|
+
await onProgress(papaparse.unparse(mappedData, { ...settings, ...MANDATORY_CSV_SETTINGS }));
|
|
1932
|
+
}
|
|
1933
|
+
}
|
|
1926
1934
|
return papaparse.unparse(mappedData, { ...settings, ...MANDATORY_CSV_SETTINGS });
|
|
1927
1935
|
},
|
|
1928
1936
|
},
|
|
1929
1937
|
{
|
|
1930
1938
|
subvalueName: 'CELL',
|
|
1931
|
-
async mapValues(
|
|
1939
|
+
async mapValues(options) {
|
|
1940
|
+
const { value, settings, mapCallback, onProgress } = options;
|
|
1932
1941
|
const csv = csvParse(value, settings);
|
|
1933
1942
|
if (csv.errors.length !== 0) {
|
|
1934
1943
|
throw new CsvFormatError(spaceTrim__default["default"]((block) => `
|
|
@@ -2037,7 +2046,8 @@
|
|
|
2037
2046
|
subvalueParsers: [
|
|
2038
2047
|
{
|
|
2039
2048
|
subvalueName: 'LINE',
|
|
2040
|
-
async mapValues(
|
|
2049
|
+
async mapValues(options) {
|
|
2050
|
+
const { value, mapCallback, onProgress } = options;
|
|
2041
2051
|
const lines = value.split('\n');
|
|
2042
2052
|
const mappedLines = await Promise.all(lines.map((lineContent, lineNumber) =>
|
|
2043
2053
|
// TODO: [🧠] Maybe option to skip empty line
|
|
@@ -2903,6 +2913,43 @@
|
|
|
2903
2913
|
},
|
|
2904
2914
|
};
|
|
2905
2915
|
|
|
2916
|
+
/**
|
|
2917
|
+
* Completion is formfactor that emulates completion models
|
|
2918
|
+
*
|
|
2919
|
+
* @public exported from `@promptbook/core`
|
|
2920
|
+
*/
|
|
2921
|
+
const CompletionFormfactorDefinition = {
|
|
2922
|
+
name: 'COMPLETION',
|
|
2923
|
+
description: `@@@`,
|
|
2924
|
+
documentationUrl: `https://github.com/webgptorg/promptbook/discussions/@@`,
|
|
2925
|
+
// <- TODO: https://github.com/webgptorg/promptbook/discussions/new?category=concepts
|
|
2926
|
+
// "🔠 Completion Formfactor"
|
|
2927
|
+
pipelineInterface: {
|
|
2928
|
+
inputParameters: [
|
|
2929
|
+
{
|
|
2930
|
+
name: 'inputText',
|
|
2931
|
+
description: `Input text to be completed`,
|
|
2932
|
+
isInput: true,
|
|
2933
|
+
isOutput: false,
|
|
2934
|
+
},
|
|
2935
|
+
{
|
|
2936
|
+
name: 'instructions',
|
|
2937
|
+
description: `Additional instructions for the model, for example the required length, empty by default`,
|
|
2938
|
+
isInput: true,
|
|
2939
|
+
isOutput: false,
|
|
2940
|
+
},
|
|
2941
|
+
],
|
|
2942
|
+
outputParameters: [
|
|
2943
|
+
{
|
|
2944
|
+
name: 'followingText',
|
|
2945
|
+
description: `Text that follows the input text`,
|
|
2946
|
+
isInput: false,
|
|
2947
|
+
isOutput: true,
|
|
2948
|
+
},
|
|
2949
|
+
],
|
|
2950
|
+
},
|
|
2951
|
+
};
|
|
2952
|
+
|
|
2906
2953
|
/**
|
|
2907
2954
|
* Generator is form of app that @@@
|
|
2908
2955
|
*
|
|
@@ -3087,6 +3134,8 @@
|
|
|
3087
3134
|
MatcherFormfactorDefinition,
|
|
3088
3135
|
GeneratorFormfactorDefinition,
|
|
3089
3136
|
ImageGeneratorFormfactorDefinition,
|
|
3137
|
+
CompletionFormfactorDefinition,
|
|
3138
|
+
// <- [🛬] When making new formfactor, copy the _boilerplate and link it here
|
|
3090
3139
|
];
|
|
3091
3140
|
/**
|
|
3092
3141
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|