@promptbook/browser 0.114.0-4 → 0.114.0-6
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 +3 -3
- package/esm/index.es.js +127 -37
- package/esm/index.es.js.map +1 -1
- package/esm/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
- package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
- package/esm/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
- package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
- package/esm/src/book-components/Chat/utils/renderMarkdown.d.ts +5 -3
- package/esm/src/cli/cli-commands/coder/boilerplateCount.d.ts +1 -1
- package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +1 -1
- package/esm/src/cli/cli-commands/coder/verify.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/{harness/$askForHarnessInstallationApproval.d.ts → npm/$askForNpmPackageInstallationApproval.d.ts} +2 -2
- package/esm/src/cli/cli-commands/common/{harness/$resolveLatestHarnessVersion.d.ts → npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
- package/esm/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
- package/esm/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +9 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +14 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +39 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
- package/esm/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
- package/esm/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
- package/esm/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
- package/esm/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
- package/esm/src/utils/misc/debounce.d.ts +4 -2
- package/esm/src/utils/misc/debounce.test.d.ts +1 -0
- package/esm/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +126 -36
- package/umd/index.umd.js.map +1 -1
- package/umd/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
- package/umd/src/avatars/renderAvatarVisualTerminalText.test.d.ts +1 -0
- package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
- package/umd/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
- package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
- package/umd/src/book-components/Chat/utils/renderMarkdown.d.ts +5 -3
- package/umd/src/cli/cli-commands/coder/boilerplateCount.d.ts +1 -1
- package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +1 -1
- package/umd/src/cli/cli-commands/coder/verify.d.ts +1 -1
- package/umd/src/cli/cli-commands/common/{harness/$askForHarnessInstallationApproval.d.ts → npm/$askForNpmPackageInstallationApproval.d.ts} +2 -2
- package/umd/src/cli/cli-commands/common/{harness/$resolveLatestHarnessVersion.d.ts → npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
- package/umd/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
- package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +9 -0
- package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +14 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +39 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
- package/umd/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
- package/umd/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
- package/umd/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
- package/umd/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
- package/umd/src/utils/misc/debounce.d.ts +4 -2
- package/umd/src/utils/misc/debounce.test.d.ts +1 -0
- package/umd/src/version.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
- package/esm/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
- package/umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
- package/umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
- /package/esm/src/{cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → avatars/renderAvatarVisualTerminalText.test.d.ts} +0 -0
- /package/esm/src/cli/cli-commands/common/{harness/isHarnessVersionOutdated.test.d.ts → npm/$resolveLatestNpmPackageVersion.test.d.ts} +0 -0
- /package/{umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → esm/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts} +0 -0
- /package/{umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts → esm/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -447,7 +447,7 @@ Or you can install them separately:
|
|
|
447
447
|
|
|
448
448
|
Promptbook Coder is **not another standalone coding model**. It is an orchestration layer over coding agents such as **GitHub Copilot**, **OpenAI Codex**, **Claude Code**, **Opencode**, **Cline**, and **Gemini CLI**. The difference is that Promptbook Coder adds a repeatable repository workflow on top of them:
|
|
449
449
|
|
|
450
|
-
- prompt files with explicit statuses like `[ ]`, `[x]`, and `[-]`
|
|
450
|
+
- prompt files with explicit statuses like `[ ]`, `[^]`, `[x]`, and `[-]`
|
|
451
451
|
- automatic selection of the next runnable task, including priority support
|
|
452
452
|
- optional shared repo context loaded from a file such as `AGENTS.md`
|
|
453
453
|
- automatic `git add`, commit, and push after each successful prompt
|
|
@@ -462,11 +462,11 @@ In short: tools like Claude Code, Codex, or GitHub Copilot are the **engines**;
|
|
|
462
462
|
1. `ptbk coder init` prepares the project for the coder workflow, seeds project-owned generic templates in `prompts/templates/`, creates a starter `AGENTS.md` context file, adds helper `npm run coder:*` scripts, ensures `.gitignore` ignores `/.promptbook`, and configures VS Code prompt screenshots in `prompts/screenshots/`.
|
|
463
463
|
2. `ptbk coder generate-boilerplates` creates prompt files in `prompts/`.
|
|
464
464
|
3. You replace placeholder `@@@` sections with real coding tasks.
|
|
465
|
-
4. `ptbk coder run` sends the next ready `[ ]` prompt to the selected coding agent.
|
|
465
|
+
4. `ptbk coder run` sends the next ready `[ ]` prompt to the selected coding agent and immediately marks it as in progress `[^]`, naming the harness, the model and the step which is running.
|
|
466
466
|
5. Promptbook Coder marks the prompt as done `[x]`, records runner metadata, then stages, commits, and pushes the resulting changes.
|
|
467
467
|
6. `ptbk coder verify` reviews completed prompts, archives finished files to `prompts/done/`, and appends a repair prompt when more work is needed.
|
|
468
468
|
|
|
469
|
-
Prompts marked with `[-]` are not ready yet, prompts containing `@@@` are treated as not fully written, and prompts with more `!` markers have higher priority.
|
|
469
|
+
Prompts marked with `[-]` are not ready yet, prompts containing `@@@` are treated as not fully written, and prompts with more `!` markers have higher priority. A prompt left as `[^]` was interrupted in the middle of its implementation — the in-progress status is never reverted, so a killed or crashed coder always leaves that signal behind.
|
|
470
470
|
|
|
471
471
|
#### Features
|
|
472
472
|
|
package/esm/index.es.js
CHANGED
|
@@ -26,7 +26,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
|
|
|
26
26
|
* @generated
|
|
27
27
|
* @see https://github.com/webgptorg/promptbook
|
|
28
28
|
*/
|
|
29
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.114.0-
|
|
29
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.114.0-6';
|
|
30
30
|
/**
|
|
31
31
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
32
32
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -4115,6 +4115,13 @@ function darken(amount) {
|
|
|
4115
4115
|
}
|
|
4116
4116
|
|
|
4117
4117
|
/* eslint-disable no-magic-numbers */
|
|
4118
|
+
// Note: [💞] Ignore a discrepancy between file name and entity name
|
|
4119
|
+
/**
|
|
4120
|
+
* Default square size used by avatar renderers.
|
|
4121
|
+
*
|
|
4122
|
+
* @private utility of the avatar rendering system
|
|
4123
|
+
*/
|
|
4124
|
+
const DEFAULT_AVATAR_SIZE = 192;
|
|
4118
4125
|
/**
|
|
4119
4126
|
* Corner radius ratio used for the common rounded card frame.
|
|
4120
4127
|
*
|
|
@@ -4485,6 +4492,15 @@ const OUTLINE_GLYPHS = ['#', '%', '@'];
|
|
|
4485
4492
|
* @private helper of `asciiOctopusAvatarVisual`
|
|
4486
4493
|
*/
|
|
4487
4494
|
const ATMOSPHERE_GLYPHS = ['.', ':', "'", '`'];
|
|
4495
|
+
/**
|
|
4496
|
+
* Coordinate space the octopus layout is generated in when it is painted into a terminal.
|
|
4497
|
+
*
|
|
4498
|
+
* The terminal renderer has its own character grid, so the geometry only needs one stable
|
|
4499
|
+
* square coordinate space which the grid is then sampled from.
|
|
4500
|
+
*
|
|
4501
|
+
* @private helper of `asciiOctopusAvatarVisual`
|
|
4502
|
+
*/
|
|
4503
|
+
const TERMINAL_ASCII_OCTOPUS_LAYOUT_SIZE = DEFAULT_AVATAR_SIZE;
|
|
4488
4504
|
/**
|
|
4489
4505
|
* AsciiOctopus avatar visual.
|
|
4490
4506
|
*
|
|
@@ -4501,41 +4517,115 @@ const asciiOctopusAvatarVisual = {
|
|
|
4501
4517
|
const staticRandom = createRandom('ascii-octopus-static');
|
|
4502
4518
|
const gridMetrics = createAsciiGridMetrics(size, gridRandom);
|
|
4503
4519
|
const layout = createAsciiOctopusLayout(size, timeMs, createRandom, staticRandom, interaction);
|
|
4520
|
+
const glyphGrid = createAsciiOctopusGlyphGrid({
|
|
4521
|
+
sampleGrid: gridMetrics,
|
|
4522
|
+
layout,
|
|
4523
|
+
palette,
|
|
4524
|
+
cellRandom: createRandom('ascii-octopus-cells'),
|
|
4525
|
+
timeMs,
|
|
4526
|
+
});
|
|
4504
4527
|
drawAvatarFrame(context, size, palette);
|
|
4505
4528
|
drawAsciiBackdrop(context, size, palette, layout, timeMs);
|
|
4506
4529
|
context.save();
|
|
4507
4530
|
context.font = `600 ${gridMetrics.fontSize}px monospace`;
|
|
4508
4531
|
context.textAlign = 'center';
|
|
4509
4532
|
context.textBaseline = 'middle';
|
|
4510
|
-
// The ASCII renderer samples the morphing octopus field on a low-resolution grid so the shape stays organic
|
|
4511
|
-
// while the glyph layout remains deterministic for the same avatar input.
|
|
4512
|
-
const cellRandom = createRandom('ascii-octopus-cells');
|
|
4513
4533
|
for (let rowIndex = 0; rowIndex < gridMetrics.rowCount; rowIndex++) {
|
|
4514
4534
|
for (let columnIndex = 0; columnIndex < gridMetrics.columnCount; columnIndex++) {
|
|
4515
|
-
const
|
|
4516
|
-
x: gridMetrics.offsetX + columnIndex * gridMetrics.cellWidth,
|
|
4517
|
-
y: gridMetrics.offsetY + rowIndex * gridMetrics.cellHeight,
|
|
4518
|
-
};
|
|
4519
|
-
const noise = cellRandom();
|
|
4520
|
-
const glyphDescriptor = resolveAsciiGlyph({
|
|
4521
|
-
point,
|
|
4522
|
-
layout,
|
|
4523
|
-
palette,
|
|
4524
|
-
cellWidth: gridMetrics.cellWidth,
|
|
4525
|
-
cellHeight: gridMetrics.cellHeight,
|
|
4526
|
-
noise,
|
|
4527
|
-
timeMs,
|
|
4528
|
-
});
|
|
4535
|
+
const glyphDescriptor = glyphGrid[rowIndex][columnIndex];
|
|
4529
4536
|
if (!glyphDescriptor) {
|
|
4530
4537
|
continue;
|
|
4531
4538
|
}
|
|
4539
|
+
const point = resolveAsciiSampleGridPoint(gridMetrics, columnIndex, rowIndex);
|
|
4532
4540
|
context.fillStyle = glyphDescriptor.color;
|
|
4533
4541
|
context.fillText(glyphDescriptor.character, point.x, point.y);
|
|
4534
4542
|
}
|
|
4535
4543
|
}
|
|
4536
4544
|
context.restore();
|
|
4537
4545
|
},
|
|
4546
|
+
renderTerminalText({ columns, rows, palette, createRandom, timeMs, interaction }) {
|
|
4547
|
+
const staticRandom = createRandom('ascii-octopus-static');
|
|
4548
|
+
const layout = createAsciiOctopusLayout(TERMINAL_ASCII_OCTOPUS_LAYOUT_SIZE, timeMs, createRandom, staticRandom, interaction);
|
|
4549
|
+
return createAsciiOctopusGlyphGrid({
|
|
4550
|
+
sampleGrid: createAsciiTerminalSampleGrid(columns, rows),
|
|
4551
|
+
layout,
|
|
4552
|
+
palette,
|
|
4553
|
+
cellRandom: createRandom('ascii-octopus-cells'),
|
|
4554
|
+
timeMs,
|
|
4555
|
+
});
|
|
4556
|
+
},
|
|
4538
4557
|
};
|
|
4558
|
+
/**
|
|
4559
|
+
* Resolves the geometry point sampled for one cell of the grid.
|
|
4560
|
+
*
|
|
4561
|
+
* @param sampleGrid Character-cell sampling grid.
|
|
4562
|
+
* @param columnIndex Zero-based cell column.
|
|
4563
|
+
* @param rowIndex Zero-based cell row.
|
|
4564
|
+
* @returns Sampled point in the octopus coordinate space.
|
|
4565
|
+
*
|
|
4566
|
+
* @private helper of `asciiOctopusAvatarVisual`
|
|
4567
|
+
*/
|
|
4568
|
+
function resolveAsciiSampleGridPoint(sampleGrid, columnIndex, rowIndex) {
|
|
4569
|
+
return {
|
|
4570
|
+
x: sampleGrid.offsetX + columnIndex * sampleGrid.cellWidth,
|
|
4571
|
+
y: sampleGrid.offsetY + rowIndex * sampleGrid.cellHeight,
|
|
4572
|
+
};
|
|
4573
|
+
}
|
|
4574
|
+
/**
|
|
4575
|
+
* Builds the sampling grid used when the octopus is painted straight into terminal character cells.
|
|
4576
|
+
*
|
|
4577
|
+
* @param columns Available terminal columns.
|
|
4578
|
+
* @param rows Available terminal rows.
|
|
4579
|
+
* @returns Character-cell sampling grid covering the whole octopus coordinate space.
|
|
4580
|
+
*
|
|
4581
|
+
* @private helper of `asciiOctopusAvatarVisual`
|
|
4582
|
+
*/
|
|
4583
|
+
function createAsciiTerminalSampleGrid(columns, rows) {
|
|
4584
|
+
const cellWidth = TERMINAL_ASCII_OCTOPUS_LAYOUT_SIZE / columns;
|
|
4585
|
+
const cellHeight = TERMINAL_ASCII_OCTOPUS_LAYOUT_SIZE / rows;
|
|
4586
|
+
return {
|
|
4587
|
+
cellWidth,
|
|
4588
|
+
cellHeight,
|
|
4589
|
+
columnCount: columns,
|
|
4590
|
+
rowCount: rows,
|
|
4591
|
+
offsetX: cellWidth / 2,
|
|
4592
|
+
offsetY: cellHeight / 2,
|
|
4593
|
+
};
|
|
4594
|
+
}
|
|
4595
|
+
/**
|
|
4596
|
+
* Samples the morphing octopus field into one deterministic grid of ASCII glyphs.
|
|
4597
|
+
*
|
|
4598
|
+
* The field is sampled on a low-resolution grid so the shape stays organic while the glyph
|
|
4599
|
+
* layout remains deterministic for the same avatar input. Both the canvas visual and the
|
|
4600
|
+
* terminal visual share this single sampling pass so they always describe the same octopus.
|
|
4601
|
+
*
|
|
4602
|
+
* @param options Sampling grid, prepared octopus layout, palette, per-cell noise, and animation time.
|
|
4603
|
+
* @returns Resolved glyph of every sampled cell, where `null` means an empty cell.
|
|
4604
|
+
*
|
|
4605
|
+
* @private helper of `asciiOctopusAvatarVisual`
|
|
4606
|
+
*/
|
|
4607
|
+
function createAsciiOctopusGlyphGrid(options) {
|
|
4608
|
+
const { sampleGrid, layout, palette, cellRandom, timeMs } = options;
|
|
4609
|
+
const glyphGrid = [];
|
|
4610
|
+
for (let rowIndex = 0; rowIndex < sampleGrid.rowCount; rowIndex++) {
|
|
4611
|
+
const glyphRow = [];
|
|
4612
|
+
for (let columnIndex = 0; columnIndex < sampleGrid.columnCount; columnIndex++) {
|
|
4613
|
+
const point = resolveAsciiSampleGridPoint(sampleGrid, columnIndex, rowIndex);
|
|
4614
|
+
const noise = cellRandom();
|
|
4615
|
+
glyphRow.push(resolveAsciiGlyph({
|
|
4616
|
+
point,
|
|
4617
|
+
layout,
|
|
4618
|
+
palette,
|
|
4619
|
+
cellWidth: sampleGrid.cellWidth,
|
|
4620
|
+
cellHeight: sampleGrid.cellHeight,
|
|
4621
|
+
noise,
|
|
4622
|
+
timeMs,
|
|
4623
|
+
}));
|
|
4624
|
+
}
|
|
4625
|
+
glyphGrid.push(glyphRow);
|
|
4626
|
+
}
|
|
4627
|
+
return glyphGrid;
|
|
4628
|
+
}
|
|
4539
4629
|
/**
|
|
4540
4630
|
* Draws the dark terminal-like glow behind the ASCII octopus.
|
|
4541
4631
|
*
|
|
@@ -27632,28 +27722,28 @@ function parseToolExecutionEnvelope(rawValue) {
|
|
|
27632
27722
|
*/
|
|
27633
27723
|
function buildToolInvocationScript(options) {
|
|
27634
27724
|
const { functionName, functionArgsExpression } = options;
|
|
27635
|
-
return `
|
|
27636
|
-
|
|
27637
|
-
|
|
27638
|
-
|
|
27639
|
-
|
|
27640
|
-
|
|
27641
|
-
|
|
27642
|
-
|
|
27643
|
-
|
|
27644
|
-
|
|
27725
|
+
return spaceTrim$1((block) => `
|
|
27726
|
+
const args = ${block(functionArgsExpression)};
|
|
27727
|
+
const runtimeContextRaw =
|
|
27728
|
+
typeof ${TOOL_RUNTIME_CONTEXT_PARAMETER} === 'undefined'
|
|
27729
|
+
? undefined
|
|
27730
|
+
: ${TOOL_RUNTIME_CONTEXT_PARAMETER};
|
|
27731
|
+
|
|
27732
|
+
if (runtimeContextRaw !== undefined && args && typeof args === 'object' && !Array.isArray(args)) {
|
|
27733
|
+
args.${TOOL_RUNTIME_CONTEXT_ARGUMENT} = runtimeContextRaw;
|
|
27734
|
+
}
|
|
27645
27735
|
|
|
27646
|
-
|
|
27647
|
-
|
|
27648
|
-
|
|
27649
|
-
|
|
27736
|
+
const toolProgressTokenRaw =
|
|
27737
|
+
typeof ${TOOL_PROGRESS_TOKEN_PARAMETER} === 'undefined'
|
|
27738
|
+
? undefined
|
|
27739
|
+
: ${TOOL_PROGRESS_TOKEN_PARAMETER};
|
|
27650
27740
|
|
|
27651
|
-
|
|
27652
|
-
|
|
27653
|
-
|
|
27741
|
+
if (toolProgressTokenRaw !== undefined && args && typeof args === 'object' && !Array.isArray(args)) {
|
|
27742
|
+
args.${TOOL_PROGRESS_TOKEN_ARGUMENT} = toolProgressTokenRaw;
|
|
27743
|
+
}
|
|
27654
27744
|
|
|
27655
|
-
|
|
27656
|
-
|
|
27745
|
+
return await ${functionName}(args);
|
|
27746
|
+
`);
|
|
27657
27747
|
}
|
|
27658
27748
|
|
|
27659
27749
|
/**
|