@polka-codes/runner 0.8.5 → 0.8.7
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 +64 -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.7";
|
|
32740
32740
|
|
|
32741
32741
|
// src/runner.ts
|
|
32742
32742
|
import { execSync } from "node:child_process";
|
|
@@ -42129,6 +42129,14 @@ var getStringArray = (args2, name2, defaultValue) => {
|
|
|
42129
42129
|
if (ret === "") {
|
|
42130
42130
|
return [];
|
|
42131
42131
|
}
|
|
42132
|
+
if (Array.isArray(ret)) {
|
|
42133
|
+
for (const item of ret) {
|
|
42134
|
+
if (typeof item !== "string") {
|
|
42135
|
+
throw new Error(`Invalid argument type: ${name2} ${item}`);
|
|
42136
|
+
}
|
|
42137
|
+
}
|
|
42138
|
+
return ret;
|
|
42139
|
+
}
|
|
42132
42140
|
if (typeof ret !== "string") {
|
|
42133
42141
|
throw new Error(`Invalid argument type: ${name2} ${ret}`);
|
|
42134
42142
|
}
|
|
@@ -42197,6 +42205,7 @@ var toolInfo = {
|
|
|
42197
42205
|
description: "One or more follow-up questions you need answered before you can continue.",
|
|
42198
42206
|
required: true,
|
|
42199
42207
|
allowMultiple: true,
|
|
42208
|
+
usageValue: "questions here",
|
|
42200
42209
|
children: [
|
|
42201
42210
|
{
|
|
42202
42211
|
name: "prompt",
|
|
@@ -43411,17 +43420,47 @@ var getAvailableTools = ({
|
|
|
43411
43420
|
};
|
|
43412
43421
|
|
|
43413
43422
|
// ../core/src/Agent/parseAssistantMessage.ts
|
|
43414
|
-
function parseNestedParameters(content, parameterPrefix) {
|
|
43423
|
+
function parseNestedParameters(content, parameterPrefix, childrenParams) {
|
|
43415
43424
|
const result = {};
|
|
43416
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
|
+
}
|
|
43417
43434
|
while (true) {
|
|
43418
43435
|
const match = nestedParamRegex.exec(content);
|
|
43419
43436
|
if (match === null)
|
|
43420
43437
|
break;
|
|
43421
43438
|
const paramName = match[1];
|
|
43422
43439
|
const paramContent = match[2].trim();
|
|
43423
|
-
|
|
43424
|
-
|
|
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
|
+
}
|
|
43425
43464
|
} else {
|
|
43426
43465
|
result[paramName] = paramContent;
|
|
43427
43466
|
}
|
|
@@ -43465,15 +43504,29 @@ function parseAssistantMessage(assistantMessage, tools, toolNamePrefix) {
|
|
|
43465
43504
|
paramMatches.push(paramMatch[1].trim());
|
|
43466
43505
|
}
|
|
43467
43506
|
if (paramMatches.length > 0) {
|
|
43468
|
-
if (paramMatches.length === 1) {
|
|
43507
|
+
if (paramMatches.length === 1 && !param.allowMultiple) {
|
|
43469
43508
|
const paramContent = paramMatches[0];
|
|
43470
|
-
if (paramContent.includes(`<${parameterPrefix}`)) {
|
|
43471
|
-
params[param.name] = parseNestedParameters(paramContent, parameterPrefix);
|
|
43509
|
+
if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
|
|
43510
|
+
params[param.name] = parseNestedParameters(paramContent, parameterPrefix, param.children);
|
|
43472
43511
|
} else {
|
|
43473
43512
|
params[param.name] = paramContent;
|
|
43474
43513
|
}
|
|
43475
43514
|
} else {
|
|
43476
|
-
|
|
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
|
+
}
|
|
43477
43530
|
}
|
|
43478
43531
|
}
|
|
43479
43532
|
}
|
|
@@ -43526,12 +43579,13 @@ var toolInfoPrompt = (tool, toolNamePrefix, parameterPrefix) => `
|
|
|
43526
43579
|
Description: ${tool.description}
|
|
43527
43580
|
|
|
43528
43581
|
Parameters:
|
|
43529
|
-
${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(`
|
|
43530
43583
|
`)}
|
|
43531
43584
|
|
|
43532
43585
|
Usage:
|
|
43533
43586
|
<${toolNamePrefix}${tool.name}>
|
|
43534
|
-
${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(`
|
|
43535
43589
|
`)}
|
|
43536
43590
|
</${toolNamePrefix}${tool.name}>`;
|
|
43537
43591
|
var toolInfoExamplesPrompt = (tool, example, toolNamePrefix, parameterPrefix) => `
|