@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.
Files changed (2) hide show
  1. package/dist/index.js +56 -10
  2. 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.6";
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
- if (paramContent.includes(`<${parameterPrefix}`)) {
43432
- result[paramName] = parseNestedParameters(paramContent, parameterPrefix);
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
- params[param.name] = paramMatches;
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}>`).join(`
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) => `
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polka-codes/runner",
3
- "version": "0.8.6",
3
+ "version": "0.8.8",
4
4
  "license": "AGPL-3.0",
5
5
  "author": "github@polka.codes",
6
6
  "type": "module",