@polka-codes/runner 0.8.6 → 0.8.8
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/dist/index.js +56 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -32736,7 +32736,7 @@ var {
|
|
|
32736
32736
|
Help
|
|
32737
32737
|
} = import__.default;
|
|
32738
32738
|
// package.json
|
|
32739
|
-
var version = "0.8.
|
|
32739
|
+
var version = "0.8.8";
|
|
32740
32740
|
|
|
32741
32741
|
// src/runner.ts
|
|
32742
32742
|
import { execSync } from "node:child_process";
|
|
@@ -42205,6 +42205,7 @@ var toolInfo = {
|
|
|
42205
42205
|
description: "One or more follow-up questions you need answered before you can continue.",
|
|
42206
42206
|
required: true,
|
|
42207
42207
|
allowMultiple: true,
|
|
42208
|
+
usageValue: "questions here",
|
|
42208
42209
|
children: [
|
|
42209
42210
|
{
|
|
42210
42211
|
name: "prompt",
|
|
@@ -43419,17 +43420,47 @@ var getAvailableTools = ({
|
|
|
43419
43420
|
};
|
|
43420
43421
|
|
|
43421
43422
|
// ../core/src/Agent/parseAssistantMessage.ts
|
|
43422
|
-
function parseNestedParameters(content, parameterPrefix) {
|
|
43423
|
+
function parseNestedParameters(content, parameterPrefix, childrenParams) {
|
|
43423
43424
|
const result = {};
|
|
43424
43425
|
const nestedParamRegex = new RegExp(`<${parameterPrefix}([^>]+)>([\\s\\S]*?)<\\/${parameterPrefix}\\1>`, "gs");
|
|
43426
|
+
const arrayParams = new Set;
|
|
43427
|
+
if (childrenParams) {
|
|
43428
|
+
for (const param of childrenParams) {
|
|
43429
|
+
if (param.allowMultiple) {
|
|
43430
|
+
arrayParams.add(param.name);
|
|
43431
|
+
}
|
|
43432
|
+
}
|
|
43433
|
+
}
|
|
43425
43434
|
while (true) {
|
|
43426
43435
|
const match = nestedParamRegex.exec(content);
|
|
43427
43436
|
if (match === null)
|
|
43428
43437
|
break;
|
|
43429
43438
|
const paramName = match[1];
|
|
43430
43439
|
const paramContent = match[2].trim();
|
|
43431
|
-
|
|
43432
|
-
|
|
43440
|
+
const childParam = childrenParams?.find((p2) => p2.name === paramName);
|
|
43441
|
+
if (paramContent.includes(`<${parameterPrefix}`) && childParam?.children) {
|
|
43442
|
+
const nestedResult = parseNestedParameters(paramContent, parameterPrefix, childParam.children);
|
|
43443
|
+
if (arrayParams.has(paramName)) {
|
|
43444
|
+
if (!result[paramName]) {
|
|
43445
|
+
result[paramName] = [];
|
|
43446
|
+
}
|
|
43447
|
+
if (Array.isArray(result[paramName])) {
|
|
43448
|
+
result[paramName].push(nestedResult);
|
|
43449
|
+
} else {
|
|
43450
|
+
result[paramName] = [nestedResult];
|
|
43451
|
+
}
|
|
43452
|
+
} else {
|
|
43453
|
+
result[paramName] = nestedResult;
|
|
43454
|
+
}
|
|
43455
|
+
} else if (arrayParams.has(paramName)) {
|
|
43456
|
+
if (!result[paramName]) {
|
|
43457
|
+
result[paramName] = [];
|
|
43458
|
+
}
|
|
43459
|
+
if (Array.isArray(result[paramName])) {
|
|
43460
|
+
result[paramName].push(paramContent);
|
|
43461
|
+
} else {
|
|
43462
|
+
result[paramName] = [paramContent];
|
|
43463
|
+
}
|
|
43433
43464
|
} else {
|
|
43434
43465
|
result[paramName] = paramContent;
|
|
43435
43466
|
}
|
|
@@ -43473,15 +43504,29 @@ function parseAssistantMessage(assistantMessage, tools, toolNamePrefix) {
|
|
|
43473
43504
|
paramMatches.push(paramMatch[1].trim());
|
|
43474
43505
|
}
|
|
43475
43506
|
if (paramMatches.length > 0) {
|
|
43476
|
-
if (paramMatches.length === 1) {
|
|
43507
|
+
if (paramMatches.length === 1 && !param.allowMultiple) {
|
|
43477
43508
|
const paramContent = paramMatches[0];
|
|
43478
|
-
if (paramContent.includes(`<${parameterPrefix}`)) {
|
|
43479
|
-
params[param.name] = parseNestedParameters(paramContent, parameterPrefix);
|
|
43509
|
+
if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
|
|
43510
|
+
params[param.name] = parseNestedParameters(paramContent, parameterPrefix, param.children);
|
|
43480
43511
|
} else {
|
|
43481
43512
|
params[param.name] = paramContent;
|
|
43482
43513
|
}
|
|
43483
43514
|
} else {
|
|
43484
|
-
|
|
43515
|
+
if (param.allowMultiple) {
|
|
43516
|
+
params[param.name] = paramMatches.map((paramContent) => {
|
|
43517
|
+
if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
|
|
43518
|
+
return parseNestedParameters(paramContent, parameterPrefix, param.children);
|
|
43519
|
+
}
|
|
43520
|
+
return paramContent;
|
|
43521
|
+
});
|
|
43522
|
+
} else {
|
|
43523
|
+
const paramContent = paramMatches[0];
|
|
43524
|
+
if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
|
|
43525
|
+
params[param.name] = parseNestedParameters(paramContent, parameterPrefix, param.children);
|
|
43526
|
+
} else {
|
|
43527
|
+
params[param.name] = paramContent;
|
|
43528
|
+
}
|
|
43529
|
+
}
|
|
43485
43530
|
}
|
|
43486
43531
|
}
|
|
43487
43532
|
}
|
|
@@ -43534,12 +43579,13 @@ var toolInfoPrompt = (tool, toolNamePrefix, parameterPrefix) => `
|
|
|
43534
43579
|
Description: ${tool.description}
|
|
43535
43580
|
|
|
43536
43581
|
Parameters:
|
|
43537
|
-
${tool.parameters.map((param) => `- ${parameterPrefix}${param.name}: (${param.required ? "required" : "optional"}) ${param.description}`).join(`
|
|
43582
|
+
${tool.parameters.map((param) => `- ${parameterPrefix}${param.name}: (${param.required ? "required" : "optional"})${param.allowMultiple ? " (multiple allowed)" : ""} ${param.description}`).join(`
|
|
43538
43583
|
`)}
|
|
43539
43584
|
|
|
43540
43585
|
Usage:
|
|
43541
43586
|
<${toolNamePrefix}${tool.name}>
|
|
43542
|
-
${tool.parameters.map((param) => `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}
|
|
43587
|
+
${tool.parameters.map((param) => param.allowMultiple ? `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>
|
|
43588
|
+
<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>` : `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>`).join(`
|
|
43543
43589
|
`)}
|
|
43544
43590
|
</${toolNamePrefix}${tool.name}>`;
|
|
43545
43591
|
var toolInfoExamplesPrompt = (tool, example, toolNamePrefix, parameterPrefix) => `
|