@promptbook/markdown-utils 0.80.0-1 → 0.81.0-5

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.
Files changed (28) hide show
  1. package/README.md +2 -0
  2. package/esm/index.es.js +38 -13
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/core.index.d.ts +0 -6
  5. package/esm/typings/src/_packages/editable.index.d.ts +10 -0
  6. package/esm/typings/src/_packages/templates.index.d.ts +4 -0
  7. package/esm/typings/src/_packages/types.index.d.ts +4 -0
  8. package/esm/typings/src/_packages/utils.index.d.ts +2 -2
  9. package/esm/typings/src/execution/ExecutionTools.d.ts +7 -0
  10. package/esm/typings/src/execution/PromptbookFetch.d.ts +5 -0
  11. package/esm/typings/src/execution/PromptbookFetch.test-type.d.ts +5 -0
  12. package/esm/typings/src/expectations/drafts/isDomainNameFree.d.ts +2 -1
  13. package/esm/typings/src/expectations/drafts/isGithubNameFree.d.ts +2 -1
  14. package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +1 -1
  15. package/esm/typings/src/scrapers/_common/utils/scraperFetch.d.ts +7 -0
  16. package/esm/typings/src/utils/editable/types/PipelineEditableSerialized.d.ts +42 -0
  17. package/esm/typings/src/{conversion → utils/editable}/utils/removePipelineCommand.d.ts +3 -3
  18. package/esm/typings/src/{conversion → utils/editable}/utils/renamePipelineParameter.d.ts +3 -3
  19. package/esm/typings/src/{conversion → utils/editable}/utils/stringifyPipelineJson.d.ts +2 -2
  20. package/esm/typings/src/utils/getBookTemplate.d.ts +12 -0
  21. package/esm/typings/src/utils/parameters/{replaceParameters.d.ts → templateParameters.d.ts} +1 -1
  22. package/package.json +1 -1
  23. package/umd/index.umd.js +38 -13
  24. package/umd/index.umd.js.map +1 -1
  25. /package/esm/typings/src/{conversion → utils/editable}/utils/removePipelineCommand.test.d.ts +0 -0
  26. /package/esm/typings/src/{conversion → utils/editable}/utils/renamePipelineParameter.test.d.ts +0 -0
  27. /package/esm/typings/src/{conversion → utils/editable}/utils/stringifyPipelineJson.test.d.ts +0 -0
  28. /package/esm/typings/src/utils/parameters/{replaceParameters.test.d.ts → templateParameters.test.d.ts} +0 -0
@@ -34,9 +34,6 @@ import { pipelineJsonToString } from '../conversion/pipelineJsonToString';
34
34
  import { precompilePipeline } from '../conversion/precompilePipeline';
35
35
  import { prettifyPipelineString } from '../conversion/prettify/prettifyPipelineString';
36
36
  import { extractParameterNamesFromTask } from '../conversion/utils/extractParameterNamesFromTask';
37
- import { removePipelineCommand } from '../conversion/utils/removePipelineCommand';
38
- import { renamePipelineParameter } from '../conversion/utils/renamePipelineParameter';
39
- import { stringifyPipelineJson } from '../conversion/utils/stringifyPipelineJson';
40
37
  import { validatePipeline } from '../conversion/validation/validatePipeline';
41
38
  import { CallbackInterfaceTools } from '../dialogs/callback/CallbackInterfaceTools';
42
39
  import type { CallbackInterfaceToolsOptions } from '../dialogs/callback/CallbackInterfaceToolsOptions';
@@ -155,9 +152,6 @@ export { pipelineJsonToString };
155
152
  export { precompilePipeline };
156
153
  export { prettifyPipelineString };
157
154
  export { extractParameterNamesFromTask };
158
- export { removePipelineCommand };
159
- export { renamePipelineParameter };
160
- export { stringifyPipelineJson };
161
155
  export { validatePipeline };
162
156
  export { CallbackInterfaceTools };
163
157
  export type { CallbackInterfaceToolsOptions };
@@ -0,0 +1,10 @@
1
+ import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
+ import type { PipelineEditableSerialized } from '../utils/editable/types/PipelineEditableSerialized';
3
+ import { removePipelineCommand } from '../utils/editable/utils/removePipelineCommand';
4
+ import { renamePipelineParameter } from '../utils/editable/utils/renamePipelineParameter';
5
+ import { stringifyPipelineJson } from '../utils/editable/utils/stringifyPipelineJson';
6
+ export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
7
+ export type { PipelineEditableSerialized };
8
+ export { removePipelineCommand };
9
+ export { renamePipelineParameter };
10
+ export { stringifyPipelineJson };
@@ -0,0 +1,4 @@
1
+ import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
+ import { getBookTemplate } from '../utils/getBookTemplate';
3
+ export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
4
+ export { getBookTemplate };
@@ -30,6 +30,7 @@ import type { LlmExecutionTools } from '../execution/LlmExecutionTools';
30
30
  import type { LlmExecutionToolsConstructor } from '../execution/LlmExecutionToolsConstructor';
31
31
  import type { PipelineExecutor } from '../execution/PipelineExecutor';
32
32
  import type { PipelineExecutorResult } from '../execution/PipelineExecutorResult';
33
+ import type { PromptbookFetch } from '../execution/PromptbookFetch';
33
34
  import type { PromptResult } from '../execution/PromptResult';
34
35
  import type { CompletionPromptResult } from '../execution/PromptResult';
35
36
  import type { ChatPromptResult } from '../execution/PromptResult';
@@ -241,6 +242,7 @@ import type { number_gigabytes } from '../types/typeAliases';
241
242
  import type { number_terabytes } from '../types/typeAliases';
242
243
  import type { Registered } from '../utils/$Register';
243
244
  import type { Registration } from '../utils/$Register';
245
+ import type { PipelineEditableSerialized } from '../utils/editable/types/PipelineEditableSerialized';
244
246
  import type { ExecCommandOptions } from '../utils/execCommand/ExecCommandOptions';
245
247
  import type { ExecCommandOptionsAdvanced } from '../utils/execCommand/ExecCommandOptions';
246
248
  import type { FromtoItems } from '../utils/FromtoItems';
@@ -292,6 +294,7 @@ export type { LlmExecutionTools };
292
294
  export type { LlmExecutionToolsConstructor };
293
295
  export type { PipelineExecutor };
294
296
  export type { PipelineExecutorResult };
297
+ export type { PromptbookFetch };
295
298
  export type { PromptResult };
296
299
  export type { CompletionPromptResult };
297
300
  export type { ChatPromptResult };
@@ -503,6 +506,7 @@ export type { number_gigabytes };
503
506
  export type { number_terabytes };
504
507
  export type { Registered };
505
508
  export type { Registration };
509
+ export type { PipelineEditableSerialized };
506
510
  export type { ExecCommandOptions };
507
511
  export type { ExecCommandOptionsAdvanced };
508
512
  export type { FromtoItems };
@@ -46,7 +46,7 @@ import { searchKeywords } from '../utils/normalization/searchKeywords';
46
46
  import { titleToName } from '../utils/normalization/titleToName';
47
47
  import { spaceTrim } from '../utils/organization/spaceTrim';
48
48
  import { extractParameterNames } from '../utils/parameters/extractParameterNames';
49
- import { replaceParameters } from '../utils/parameters/replaceParameters';
49
+ import { templateParameters } from '../utils/parameters/templateParameters';
50
50
  import { parseNumber } from '../utils/parseNumber';
51
51
  import { $randomSeed } from '../utils/random/$randomSeed';
52
52
  import { removeEmojis } from '../utils/removeEmojis';
@@ -121,7 +121,7 @@ export { searchKeywords };
121
121
  export { titleToName };
122
122
  export { spaceTrim };
123
123
  export { extractParameterNames };
124
- export { replaceParameters };
124
+ export { templateParameters };
125
125
  export { parseNumber };
126
126
  export { $randomSeed };
127
127
  export { removeEmojis };
@@ -3,6 +3,7 @@ import type { Arrayable } from '../types/Arrayable';
3
3
  import type { Executables } from './Executables';
4
4
  import type { FilesystemTools } from './FilesystemTools';
5
5
  import type { LlmExecutionTools } from './LlmExecutionTools';
6
+ import type { PromptbookFetch } from './PromptbookFetch';
6
7
  import type { ScriptExecutionTools } from './ScriptExecutionTools';
7
8
  import type { UserInterfaceTools } from './UserInterfaceTools';
8
9
  /**
@@ -27,6 +28,12 @@ export type ExecutionTools = {
27
28
  * @default undefined - If not provided, no filesystem operations will be possible
28
29
  */
29
30
  readonly fs?: FilesystemTools;
31
+ /**
32
+ * Fetch function for fetching resources
33
+ *
34
+ * @default `fetch` - If not provided, the built-in `fetch' function is used with a lightweight error handling wrapper.
35
+ */
36
+ readonly fetch?: PromptbookFetch;
30
37
  /**
31
38
  * Scrapers for extracting knowledge from external sources
32
39
  *
@@ -0,0 +1,5 @@
1
+ import type { string_url } from '../types/typeAliases';
2
+ /**
3
+ * Fetch function for fetching data from the internet used in scraping
4
+ */
5
+ export type PromptbookFetch = (url: string_url, init?: RequestInit) => Promise<Response>;
@@ -0,0 +1,5 @@
1
+ export {};
2
+ /**
3
+ * Note: [⚪] This should never be in any released package
4
+ * TODO: Is this a good pattern to do type testing?
5
+ */
@@ -1,8 +1,9 @@
1
+ import type { PromptbookFetch } from '../../execution/PromptbookFetch';
1
2
  import type { string_name } from '../../types/typeAliases';
2
3
  /**
3
4
  * @private still in development
4
5
  */
5
- export declare function isDomainNameFree(name: string_name): Promise<boolean>;
6
+ export declare function isDomainNameFree(name: string_name, fetch: PromptbookFetch): Promise<boolean>;
6
7
  /**
7
8
  * TODO: [🍓][🧠] Test and implement `isDomainNameFree`
8
9
  * TODO: Export via some (and probably new) NPM package
@@ -1,8 +1,9 @@
1
+ import type { PromptbookFetch } from '../../execution/PromptbookFetch';
1
2
  import type { string_name } from '../../types/typeAliases';
2
3
  /**
3
4
  * @private still in development
4
5
  */
5
- export declare function isGithubNameFree(name: string_name): Promise<boolean>;
6
+ export declare function isGithubNameFree(name: string_name, fetch: PromptbookFetch): Promise<boolean>;
6
7
  /**
7
8
  * TODO: [🍓][🧠] Test and implement `isGithubNameFree`
8
9
  * TODO: Export via some (and probably new) NPM package
@@ -8,4 +8,4 @@ import type { ScraperSourceHandler } from '../Scraper';
8
8
  *
9
9
  * @public exported from `@promptbook/core`
10
10
  */
11
- export declare function makeKnowledgeSourceHandler(knowledgeSource: SetOptional<KnowledgeSourceJson, 'name'>, tools: Pick<ExecutionTools, 'fs'>, options?: Pick<PrepareAndScrapeOptions, 'rootDirname' | 'isVerbose'>): Promise<ScraperSourceHandler>;
11
+ export declare function makeKnowledgeSourceHandler(knowledgeSource: SetOptional<KnowledgeSourceJson, 'name'>, tools: Pick<ExecutionTools, 'fs' | 'fetch'>, options?: Pick<PrepareAndScrapeOptions, 'rootDirname' | 'isVerbose'>): Promise<ScraperSourceHandler>;
@@ -0,0 +1,7 @@
1
+ import type { PromptbookFetch } from '../../../execution/PromptbookFetch';
2
+ /**
3
+ * The built-in `fetch' function with a lightweight error handling wrapper as default fetch function used in Promptbook scrapers
4
+ *
5
+ * @private as default `fetch` function used in Promptbook scrapers
6
+ */
7
+ export declare const scraperFetch: PromptbookFetch;
@@ -0,0 +1,42 @@
1
+ import type { ErrorJson } from '../../../errors/utils/ErrorJson';
2
+ import type { PipelineJson } from '../../../pipeline/PipelineJson/PipelineJson';
3
+ import type { string_date_iso8601 } from '../../../types/typeAliases';
4
+ import type { string_pipeline_url } from '../../../types/typeAliases';
5
+ import type { PipelineString } from '../../../pipeline/PipelineString';
6
+ /**
7
+ * Represents a single pipeline in PromptbookStudio
8
+ *
9
+ * This is simple extension of PipelineJson with additional metadata
10
+ * Note: There are two similar entities:
11
+ * 1) Type (interface) `PipelineEditableSerialized` which represents just data in database
12
+ * 2) Class `PipelineEditable` which implements `PipelineEditableSerialized` and adds error handling and editing capabilities
13
+ *
14
+ * @public exported from `@promptbook/editable`
15
+ */
16
+ export type PipelineEditableSerialized = PipelineJson & {
17
+ /**
18
+ * When was the pipeline created
19
+ */
20
+ readonly createdAt: string_date_iso8601;
21
+ /**
22
+ * When was the pipeline last modified
23
+ */
24
+ readonly updatedAt: string_date_iso8601 | null;
25
+ /**
26
+ * Unique identifier of the pipeline
27
+ *
28
+ * Note: In PromptbookStudio it is required
29
+ */
30
+ readonly pipelineUrl: string_pipeline_url;
31
+ /**
32
+ * Backup of the pipeline string
33
+ *
34
+ * Note: This is present ONLY if pipelineString can not be automatically converted into json (i.e. compilePipeline throws an error)
35
+ * In other words, this is just a BACKUP of pipeline which will be deleted whener pipeline is valid again
36
+ */
37
+ readonly pipelineString: PipelineString | string | null;
38
+ /**
39
+ * Known errors to transfer to new PipelineEditable
40
+ */
41
+ readonly knownErrors: Array<ErrorJson>;
42
+ };
@@ -1,5 +1,5 @@
1
- import type { CommandType } from '../../commands/_common/types/CommandType';
2
- import type { PipelineString } from '../../pipeline/PipelineString';
1
+ import type { CommandType } from '../../../commands/_common/types/CommandType';
2
+ import type { PipelineString } from '../../../pipeline/PipelineString';
3
3
  /**
4
4
  * Options for `removePipelineCommand`
5
5
  */
@@ -16,7 +16,7 @@ type RemovePipelineCommandOptions = {
16
16
  /**
17
17
  * Function `removePipelineCommand` will remove one command from pipeline string
18
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
19
+ * @public exported from `@promptbook/editable`
20
20
  */
21
21
  export declare function removePipelineCommand(options: RemovePipelineCommandOptions): PipelineString;
22
22
  export {};
@@ -1,5 +1,5 @@
1
- import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
2
- import type { string_name } from '../../types/typeAliases';
1
+ import type { PipelineJson } from '../../../pipeline/PipelineJson/PipelineJson';
2
+ import type { string_name } from '../../../types/typeAliases';
3
3
  type RenameParameterOptions = {
4
4
  /**
5
5
  * Pipeline to search and replace for parameters
@@ -20,7 +20,7 @@ type RenameParameterOptions = {
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/core` <- Note: [👖] This utility is so tightly interconnected with the Promptbook that it is not exported as util but in core
23
+ * @public exported from `@promptbook/editable`
24
24
  */
25
25
  export declare function renamePipelineParameter(options: RenameParameterOptions): PipelineJson;
26
26
  export {};
@@ -1,11 +1,11 @@
1
- import type { string_json } from '../../types/typeAliases';
1
+ import type { string_json } from '../../../types/typeAliases';
2
2
  /**
3
3
  * Stringify the PipelineJson with proper formatting
4
4
  *
5
5
  * Note: [0] It can be used for more JSON types like whole collection of pipelines, single knowledge piece, etc.
6
6
  * Note: In contrast to JSON.stringify, this function ensures that **embedding index** is on single line
7
7
  *
8
- * @public exported from `@promptbook/core`
8
+ * @public exported from `@promptbook/editable`
9
9
  */
10
10
  export declare function stringifyPipelineJson<TType>(pipeline: TType): string_json<TType>;
11
11
  /**
@@ -0,0 +1,12 @@
1
+ import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
2
+ import type { string_formfactor_name } from '../formfactors/_common/string_formfactor_name';
3
+ /**
4
+ * Get template for new book
5
+ *
6
+ * @public exported from `@promptbook/templates`
7
+ */
8
+ export declare function getBookTemplate(formfactorName: string_formfactor_name): PipelineJson | null;
9
+ /**
10
+ * TODO: [🧠] Which is the best place for this function
11
+ * TODO: `book string template notation
12
+ */
@@ -9,4 +9,4 @@ import type { string_template } from '../../types/typeAliases';
9
9
  * @throws {PipelineExecutionError} if parameter is not defined, not closed, or not opened
10
10
  * @public exported from `@promptbook/utils`
11
11
  */
12
- export declare function replaceParameters(template: string_template, parameters: Parameters): string;
12
+ export declare function templateParameters(template: string_template, parameters: Parameters): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/markdown-utils",
3
- "version": "0.80.0-1",
3
+ "version": "0.81.0-5",
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,
package/umd/index.umd.js CHANGED
@@ -22,7 +22,7 @@
22
22
  *
23
23
  * @see https://github.com/webgptorg/promptbook
24
24
  */
25
- var PROMPTBOOK_ENGINE_VERSION = '0.80.0-0';
25
+ var PROMPTBOOK_ENGINE_VERSION = '0.81.0-4';
26
26
  /**
27
27
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
28
28
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -3402,6 +3402,30 @@
3402
3402
  return false;
3403
3403
  }
3404
3404
 
3405
+ /**
3406
+ * The built-in `fetch' function with a lightweight error handling wrapper as default fetch function used in Promptbook scrapers
3407
+ *
3408
+ * @private as default `fetch` function used in Promptbook scrapers
3409
+ */
3410
+ var scraperFetch = function (url, init) { return __awaiter(void 0, void 0, void 0, function () {
3411
+ var error_1;
3412
+ return __generator(this, function (_a) {
3413
+ switch (_a.label) {
3414
+ case 0:
3415
+ _a.trys.push([0, 2, , 3]);
3416
+ return [4 /*yield*/, fetch(url, init)];
3417
+ case 1: return [2 /*return*/, _a.sent()];
3418
+ case 2:
3419
+ error_1 = _a.sent();
3420
+ if (!(error_1 instanceof Error)) {
3421
+ throw error_1;
3422
+ }
3423
+ throw new KnowledgeScrapeError(spaceTrim__default["default"](function (block) { return "\n Can not fetch \"".concat(url, "\"\n\n Fetch error:\n ").concat(block(error_1.message), "\n\n "); }));
3424
+ case 3: return [2 /*return*/];
3425
+ }
3426
+ });
3427
+ }); };
3428
+
3405
3429
  /**
3406
3430
  * @@@
3407
3431
  *
@@ -3410,13 +3434,14 @@
3410
3434
  function makeKnowledgeSourceHandler(knowledgeSource, tools, options) {
3411
3435
  var _a;
3412
3436
  return __awaiter(this, void 0, void 0, function () {
3413
- var sourceContent, name, _b, _c, rootDirname, url, response_1, mimeType, filename_1, fileExtension, mimeType;
3414
- return __generator(this, function (_e) {
3415
- switch (_e.label) {
3437
+ var _b, fetch, sourceContent, name, _c, _d, rootDirname, url, response_1, mimeType, filename_1, fileExtension, mimeType;
3438
+ return __generator(this, function (_f) {
3439
+ switch (_f.label) {
3416
3440
  case 0:
3441
+ _b = tools.fetch, fetch = _b === void 0 ? scraperFetch : _b;
3417
3442
  sourceContent = knowledgeSource.sourceContent;
3418
3443
  name = knowledgeSource.name;
3419
- _b = options || {}, _c = _b.rootDirname, rootDirname = _c === void 0 ? null : _c, _b.isVerbose;
3444
+ _c = options || {}, _d = _c.rootDirname, rootDirname = _d === void 0 ? null : _d, _c.isVerbose;
3420
3445
  if (!name) {
3421
3446
  name = sourceContentToName(sourceContent);
3422
3447
  }
@@ -3424,7 +3449,7 @@
3424
3449
  url = sourceContent;
3425
3450
  return [4 /*yield*/, fetch(url)];
3426
3451
  case 1:
3427
- response_1 = _e.sent();
3452
+ response_1 = _f.sent();
3428
3453
  mimeType = ((_a = response_1.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.split(';')[0]) || 'text/html';
3429
3454
  return [2 /*return*/, {
3430
3455
  source: name,
@@ -3481,7 +3506,7 @@
3481
3506
  mimeType = extensionToMimeType(fileExtension || '');
3482
3507
  return [4 /*yield*/, isFileExisting(filename_1, tools.fs)];
3483
3508
  case 3:
3484
- if (!(_e.sent())) {
3509
+ if (!(_f.sent())) {
3485
3510
  throw new NotFoundError(spaceTrim__default["default"](function (block) { return "\n Can not make source handler for file which does not exist:\n\n File:\n ".concat(block(filename_1), "\n "); }));
3486
3511
  }
3487
3512
  // TODO: [🧠][😿] Test security file - file is scoped to the project (BUT maybe do this in `filesystemTools`)
@@ -4381,7 +4406,7 @@
4381
4406
  * @throws {PipelineExecutionError} if parameter is not defined, not closed, or not opened
4382
4407
  * @public exported from `@promptbook/utils`
4383
4408
  */
4384
- function replaceParameters(template, parameters) {
4409
+ function templateParameters(template, parameters) {
4385
4410
  var e_1, _a;
4386
4411
  try {
4387
4412
  for (var _b = __values(Object.entries(parameters)), _c = _b.next(); !_c.done; _c = _b.next()) {
@@ -4407,7 +4432,7 @@
4407
4432
  var loopLimit = LOOP_LIMIT;
4408
4433
  var _loop_1 = function () {
4409
4434
  if (loopLimit-- < 0) {
4410
- throw new LimitReachedError('Loop limit reached during parameters replacement in `replaceParameters`');
4435
+ throw new LimitReachedError('Loop limit reached during parameters replacement in `templateParameters`');
4411
4436
  }
4412
4437
  var precol = match.groups.precol;
4413
4438
  var parameterName = match.groups.parameterName;
@@ -4659,7 +4684,7 @@
4659
4684
  }
4660
4685
  return [3 /*break*/, 24];
4661
4686
  case 2:
4662
- $ongoingTaskResult.$resultString = replaceParameters(preparedContent, parameters);
4687
+ $ongoingTaskResult.$resultString = templateParameters(preparedContent, parameters);
4663
4688
  return [3 /*break*/, 25];
4664
4689
  case 3:
4665
4690
  modelRequirements = __assign(__assign({ modelVariant: 'CHAT' }, (preparedPipeline.defaultModelRequirements || {})), (task.modelRequirements || {}));
@@ -4782,8 +4807,8 @@
4782
4807
  _j = $ongoingTaskResult;
4783
4808
  return [4 /*yield*/, tools.userInterface.promptDialog($deepFreeze({
4784
4809
  promptTitle: task.title,
4785
- promptMessage: replaceParameters(task.description || '', parameters),
4786
- defaultValue: replaceParameters(preparedContent, parameters),
4810
+ promptMessage: templateParameters(task.description || '', parameters),
4811
+ defaultValue: templateParameters(preparedContent, parameters),
4787
4812
  // TODO: [🧠] !! Figure out how to define placeholder in .book.md file
4788
4813
  placeholder: undefined,
4789
4814
  priority: priority,
@@ -4907,7 +4932,7 @@
4907
4932
  if (!isJokerAttempt &&
4908
4933
  task.taskType === 'PROMPT_TASK' &&
4909
4934
  $ongoingTaskResult.$prompt
4910
- // <- Note: [2] When some expected parameter is not defined, error will occur in replaceParameters
4935
+ // <- Note: [2] When some expected parameter is not defined, error will occur in templateParameters
4911
4936
  // In that case we don’t want to make a report about it because it’s not a llm execution error
4912
4937
  ) {
4913
4938
  // TODO: [🧠] Maybe put other taskTypes into report