@promptbook/legacy-documents 0.77.1 → 0.78.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,6 +30,9 @@ import { pipelineJsonToString } from '../conversion/pipelineJsonToString';
30
30
  import { pipelineStringToJson } from '../conversion/pipelineStringToJson';
31
31
  import { pipelineStringToJsonSync } from '../conversion/pipelineStringToJsonSync';
32
32
  import { prettifyPipelineString } from '../conversion/prettify/prettifyPipelineString';
33
+ import { extractParameterNamesFromTask } from '../conversion/utils/extractParameterNamesFromTask';
34
+ import { removePipelineCommand } from '../conversion/utils/removePipelineCommand';
35
+ import { renamePipelineParameter } from '../conversion/utils/renamePipelineParameter';
33
36
  import { stringifyPipelineJson } from '../conversion/utils/stringifyPipelineJson';
34
37
  import { validatePipeline } from '../conversion/validation/validatePipeline';
35
38
  import { CallbackInterfaceTools } from '../dialogs/callback/CallbackInterfaceTools';
@@ -145,6 +148,9 @@ export { pipelineJsonToString };
145
148
  export { pipelineStringToJson };
146
149
  export { pipelineStringToJsonSync };
147
150
  export { prettifyPipelineString };
151
+ export { extractParameterNamesFromTask };
152
+ export { removePipelineCommand };
153
+ export { renamePipelineParameter };
148
154
  export { stringifyPipelineJson };
149
155
  export { validatePipeline };
150
156
  export { CallbackInterfaceTools };
@@ -5,6 +5,8 @@ import type { PipelineBothCommandParser } from '../commands/_common/types/Comman
5
5
  import type { PipelineHeadCommandParser } from '../commands/_common/types/CommandParser';
6
6
  import type { PipelineTaskCommandParser } from '../commands/_common/types/CommandParser';
7
7
  import type { CommandParserInput } from '../commands/_common/types/CommandParser';
8
+ import type { CommandType } from '../commands/_common/types/CommandType';
9
+ import type { CommandTypeOrAlias } from '../commands/_common/types/CommandType';
8
10
  import type { CommandUsagePlace } from '../commands/_common/types/CommandUsagePlaces';
9
11
  import type { ExpectCommand } from '../commands/EXPECT/ExpectCommand';
10
12
  import type { ForeachJson } from '../commands/FOREACH/ForeachJson';
@@ -263,6 +265,8 @@ export type { PipelineBothCommandParser };
263
265
  export type { PipelineHeadCommandParser };
264
266
  export type { PipelineTaskCommandParser };
265
267
  export type { CommandParserInput };
268
+ export type { CommandType };
269
+ export type { CommandTypeOrAlias };
266
270
  export type { CommandUsagePlace };
267
271
  export type { ExpectCommand };
268
272
  export type { ForeachJson };
@@ -1,9 +1,6 @@
1
1
  import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
2
  import { renderPromptbookMermaid } from '../conversion/prettify/renderPipelineMermaidOptions';
3
- import { extractParameterNamesFromTask } from '../conversion/utils/extractParameterNamesFromTask';
4
- import { extractVariables } from '../conversion/utils/extractVariables';
5
- import { renameParameter } from '../conversion/utils/renameParameter';
6
- import { titleToName } from '../conversion/utils/titleToName';
3
+ import { extractVariablesFromScript } from '../conversion/utils/extractVariablesFromScript';
7
4
  import { deserializeError } from '../errors/utils/deserializeError';
8
5
  import { serializeError } from '../errors/utils/serializeError';
9
6
  import { forEachAsync } from '../execution/utils/forEachAsync';
@@ -45,6 +42,7 @@ import { parseKeywords } from '../utils/normalization/parseKeywords';
45
42
  import { parseKeywordsFromString } from '../utils/normalization/parseKeywordsFromString';
46
43
  import { removeDiacritics } from '../utils/normalization/removeDiacritics';
47
44
  import { searchKeywords } from '../utils/normalization/searchKeywords';
45
+ import { titleToName } from '../utils/normalization/titleToName';
48
46
  import { spaceTrim } from '../utils/organization/spaceTrim';
49
47
  import { extractParameterNames } from '../utils/parameters/extractParameterNames';
50
48
  import { replaceParameters } from '../utils/parameters/replaceParameters';
@@ -75,10 +73,7 @@ import { isValidUrl } from '../utils/validators/url/isValidUrl';
75
73
  import { isValidUuid } from '../utils/validators/uuid/isValidUuid';
76
74
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
77
75
  export { renderPromptbookMermaid };
78
- export { extractParameterNamesFromTask };
79
- export { extractVariables };
80
- export { renameParameter };
81
- export { titleToName };
76
+ export { extractVariablesFromScript };
82
77
  export { deserializeError };
83
78
  export { serializeError };
84
79
  export { forEachAsync };
@@ -120,6 +115,7 @@ export { parseKeywords };
120
115
  export { parseKeywordsFromString };
121
116
  export { removeDiacritics };
122
117
  export { searchKeywords };
118
+ export { titleToName };
123
119
  export { spaceTrim };
124
120
  export { extractParameterNames };
125
121
  export { replaceParameters };
@@ -0,0 +1,17 @@
1
+ import type { Command } from './Command';
2
+ /**
3
+ * Command is one piece of the book file section which adds some logic to the task or the whole pipeline.
4
+ * It is parsed from the markdown from ul/ol items - one command per one item.
5
+ *
6
+ * This is a type of the command like "KNOWLEDGE" or "PERSONA"
7
+ */
8
+ export type CommandType = Command['type'];
9
+ /**
10
+ * Command is one piece of the book file section which adds some logic to the task or the whole pipeline.
11
+ * It is parsed from the markdown from ul/ol items - one command per one item.
12
+ *
13
+ * This is a type of the command like "KNOWLEDGE" or "PERSONA"
14
+ *
15
+ export type CommandTypeOrAlias = Command['type'] | Command['aliasNames'] | Command['deprecatedNames'];
16
+ // <- TODO: [🧘] Implement
17
+ */
@@ -7,7 +7,7 @@ import type { string_parameter_name } from '../../types/typeAliases';
7
7
  * @param task the task with used parameters
8
8
  * @returns the set of parameter names
9
9
  * @throws {ParseError} if the script is invalid
10
- * @public exported from `@promptbook/utils`
10
+ * @public exported from `@promptbook/core` <- Note: [👖] This utility is so tightly interconnected with the Promptbook that it is not exported as util but in core
11
11
  */
12
12
  export declare function extractParameterNamesFromTask(task: ReadonlyDeep<Pick<TaskJson, 'title' | 'description' | 'taskType' | 'content' | 'preparedContent' | 'jokerParameterNames' | 'foreach'>>): Set<string_parameter_name>;
13
13
  /**
@@ -6,9 +6,9 @@ import type { string_javascript_name } from '../../types/typeAliases';
6
6
  * @param script from which to extract the variables
7
7
  * @returns the list of variable names
8
8
  * @throws {ParseError} if the script is invalid
9
- * @public exported from `@promptbook/utils`
9
+ * @public exported from `@promptbook/utils` <- Note: [👖] This is usable elsewhere than in Promptbook, so keeping in utils
10
10
  */
11
- export declare function extractVariables(script: string_javascript): Set<string_javascript_name>;
11
+ export declare function extractVariablesFromScript(script: string_javascript): Set<string_javascript_name>;
12
12
  /**
13
13
  * TODO: [🔣] Support for multiple languages - python, java,...
14
14
  */
@@ -0,0 +1,22 @@
1
+ import type { CommandType } from '../../commands/_common/types/CommandType';
2
+ import type { PipelineString } from '../../pipeline/PipelineString';
3
+ /**
4
+ * Options for `removePipelineCommand`
5
+ */
6
+ type RemovePipelineCommandOptions = {
7
+ /**
8
+ * The command you want to remove
9
+ */
10
+ command: CommandType;
11
+ /**
12
+ * Pipeline you want to remove command from
13
+ */
14
+ pipeline: PipelineString;
15
+ };
16
+ /**
17
+ * Function `removePipelineCommand` will remove one command from pipeline string
18
+ *
19
+ * @public exported from `@promptbook/core` <- Note: [👖] This utility is so tightly interconnected with the Promptbook that it is not exported as util but in core
20
+ */
21
+ export declare function removePipelineCommand(options: RemovePipelineCommandOptions): PipelineString;
22
+ export {};
@@ -16,11 +16,11 @@ type RenameParameterOptions = {
16
16
  readonly newParameterName: string_name;
17
17
  };
18
18
  /**
19
- * Function `renameParameter` will find all usable parameters for given task
19
+ * Function `renamePipelineParameter` will find all usable parameters for given task
20
20
  * In other words, it will find all parameters that are not used in the task itseld and all its dependencies
21
21
  *
22
22
  * @throws {PipelineLogicError} If the new parameter name is already used in the pipeline
23
- * @public exported from `@promptbook/utils`
23
+ * @public exported from `@promptbook/core` <- Note: [👖] This utility is so tightly interconnected with the Promptbook that it is not exported as util but in core
24
24
  */
25
- export declare function renameParameter(options: RenameParameterOptions): PipelineJson;
25
+ export declare function renamePipelineParameter(options: RenameParameterOptions): PipelineJson;
26
26
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/legacy-documents",
3
- "version": "0.77.1",
3
+ "version": "0.78.0-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/legacy-documents.index.d.ts",
56
56
  "peerDependencies": {
57
- "@promptbook/core": "0.77.1"
57
+ "@promptbook/core": "0.78.0-0"
58
58
  },
59
59
  "dependencies": {
60
60
  "colors": "1.4.0",
package/umd/index.umd.js CHANGED
@@ -23,7 +23,7 @@
23
23
  *
24
24
  * @see https://github.com/webgptorg/promptbook
25
25
  */
26
- var PROMPTBOOK_ENGINE_VERSION = '0.77.0';
26
+ var PROMPTBOOK_ENGINE_VERSION = '0.77.1';
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
@@ -740,32 +740,12 @@
740
740
  */
741
741
 
742
742
  /**
743
- * Tests if given string is valid URL.
744
- *
745
- * Note: Dataurl are considered perfectly valid.
746
- * Note: There are two simmilar functions:
747
- * - `isValidUrl` which tests any URL
748
- * - `isValidPipelineUrl` *(this one)* which tests just promptbook URL
743
+ * @@@
749
744
  *
750
- * @public exported from `@promptbook/utils`
745
+ * @private for `FileCacheStorage`
751
746
  */
752
- function isValidUrl(url) {
753
- if (typeof url !== 'string') {
754
- return false;
755
- }
756
- try {
757
- if (url.startsWith('blob:')) {
758
- url = url.replace(/^blob:/, '');
759
- }
760
- var urlObject = new URL(url /* because fail is handled */);
761
- if (!['http:', 'https:', 'data:'].includes(urlObject.protocol)) {
762
- return false;
763
- }
764
- return true;
765
- }
766
- catch (error) {
767
- return false;
768
- }
747
+ function nameToSubfolderPath(name) {
748
+ return [name.substr(0, 1).toLowerCase(), name.substr(1, 1).toLowerCase()];
769
749
  }
770
750
 
771
751
  var defaultDiacriticsRemovalMap = [
@@ -1133,6 +1113,35 @@
1133
1113
  return false;
1134
1114
  }
1135
1115
 
1116
+ /**
1117
+ * Tests if given string is valid URL.
1118
+ *
1119
+ * Note: Dataurl are considered perfectly valid.
1120
+ * Note: There are two simmilar functions:
1121
+ * - `isValidUrl` which tests any URL
1122
+ * - `isValidPipelineUrl` *(this one)* which tests just promptbook URL
1123
+ *
1124
+ * @public exported from `@promptbook/utils`
1125
+ */
1126
+ function isValidUrl(url) {
1127
+ if (typeof url !== 'string') {
1128
+ return false;
1129
+ }
1130
+ try {
1131
+ if (url.startsWith('blob:')) {
1132
+ url = url.replace(/^blob:/, '');
1133
+ }
1134
+ var urlObject = new URL(url /* because fail is handled */);
1135
+ if (!['http:', 'https:', 'data:'].includes(urlObject.protocol)) {
1136
+ return false;
1137
+ }
1138
+ return true;
1139
+ }
1140
+ catch (error) {
1141
+ return false;
1142
+ }
1143
+ }
1144
+
1136
1145
  /**
1137
1146
  * @@@
1138
1147
  *
@@ -1157,15 +1166,6 @@
1157
1166
  return value;
1158
1167
  }
1159
1168
 
1160
- /**
1161
- * @@@
1162
- *
1163
- * @private for `FileCacheStorage`
1164
- */
1165
- function nameToSubfolderPath(name) {
1166
- return [name.substr(0, 1).toLowerCase(), name.substr(1, 1).toLowerCase()];
1167
- }
1168
-
1169
1169
  /**
1170
1170
  * Create a filename for intermediate cache for scrapers
1171
1171
  *
@@ -3840,9 +3840,9 @@
3840
3840
  * @param script from which to extract the variables
3841
3841
  * @returns the list of variable names
3842
3842
  * @throws {ParseError} if the script is invalid
3843
- * @public exported from `@promptbook/utils`
3843
+ * @public exported from `@promptbook/utils` <- Note: [👖] This is usable elsewhere than in Promptbook, so keeping in utils
3844
3844
  */
3845
- function extractVariables(script) {
3845
+ function extractVariablesFromScript(script) {
3846
3846
  var variables = new Set();
3847
3847
  script = "(()=>{".concat(script, "})()");
3848
3848
  try {
@@ -3889,7 +3889,7 @@
3889
3889
  * @param task the task with used parameters
3890
3890
  * @returns the set of parameter names
3891
3891
  * @throws {ParseError} if the script is invalid
3892
- * @public exported from `@promptbook/utils`
3892
+ * @public exported from `@promptbook/core` <- Note: [👖] This utility is so tightly interconnected with the Promptbook that it is not exported as util but in core
3893
3893
  */
3894
3894
  function extractParameterNamesFromTask(task) {
3895
3895
  var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
@@ -3910,7 +3910,7 @@
3910
3910
  }
3911
3911
  if (taskType === 'SCRIPT_TASK') {
3912
3912
  try {
3913
- for (var _g = __values(extractVariables(content)), _h = _g.next(); !_h.done; _h = _g.next()) {
3913
+ for (var _g = __values(extractVariablesFromScript(content)), _h = _g.next(); !_h.done; _h = _g.next()) {
3914
3914
  var parameterName = _h.value;
3915
3915
  parameterNames.add(parameterName);
3916
3916
  }