@polka-codes/cli-shared 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.
Files changed (2) hide show
  1. package/dist/index.js +63 -9
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -36863,6 +36863,14 @@ var getStringArray = (args2, name2, defaultValue) => {
36863
36863
  if (ret === "") {
36864
36864
  return [];
36865
36865
  }
36866
+ if (Array.isArray(ret)) {
36867
+ for (const item of ret) {
36868
+ if (typeof item !== "string") {
36869
+ throw new Error(`Invalid argument type: ${name2} ${item}`);
36870
+ }
36871
+ }
36872
+ return ret;
36873
+ }
36866
36874
  if (typeof ret !== "string") {
36867
36875
  throw new Error(`Invalid argument type: ${name2} ${ret}`);
36868
36876
  }
@@ -36931,6 +36939,7 @@ var toolInfo = {
36931
36939
  description: "One or more follow-up questions you need answered before you can continue.",
36932
36940
  required: true,
36933
36941
  allowMultiple: true,
36942
+ usageValue: "questions here",
36934
36943
  children: [
36935
36944
  {
36936
36945
  name: "prompt",
@@ -38145,17 +38154,47 @@ var getAvailableTools = ({
38145
38154
  };
38146
38155
 
38147
38156
  // ../core/src/Agent/parseAssistantMessage.ts
38148
- function parseNestedParameters(content, parameterPrefix) {
38157
+ function parseNestedParameters(content, parameterPrefix, childrenParams) {
38149
38158
  const result = {};
38150
38159
  const nestedParamRegex = new RegExp(`<${parameterPrefix}([^>]+)>([\\s\\S]*?)<\\/${parameterPrefix}\\1>`, "gs");
38160
+ const arrayParams = new Set;
38161
+ if (childrenParams) {
38162
+ for (const param of childrenParams) {
38163
+ if (param.allowMultiple) {
38164
+ arrayParams.add(param.name);
38165
+ }
38166
+ }
38167
+ }
38151
38168
  while (true) {
38152
38169
  const match = nestedParamRegex.exec(content);
38153
38170
  if (match === null)
38154
38171
  break;
38155
38172
  const paramName = match[1];
38156
38173
  const paramContent = match[2].trim();
38157
- if (paramContent.includes(`<${parameterPrefix}`)) {
38158
- result[paramName] = parseNestedParameters(paramContent, parameterPrefix);
38174
+ const childParam = childrenParams?.find((p2) => p2.name === paramName);
38175
+ if (paramContent.includes(`<${parameterPrefix}`) && childParam?.children) {
38176
+ const nestedResult = parseNestedParameters(paramContent, parameterPrefix, childParam.children);
38177
+ if (arrayParams.has(paramName)) {
38178
+ if (!result[paramName]) {
38179
+ result[paramName] = [];
38180
+ }
38181
+ if (Array.isArray(result[paramName])) {
38182
+ result[paramName].push(nestedResult);
38183
+ } else {
38184
+ result[paramName] = [nestedResult];
38185
+ }
38186
+ } else {
38187
+ result[paramName] = nestedResult;
38188
+ }
38189
+ } else if (arrayParams.has(paramName)) {
38190
+ if (!result[paramName]) {
38191
+ result[paramName] = [];
38192
+ }
38193
+ if (Array.isArray(result[paramName])) {
38194
+ result[paramName].push(paramContent);
38195
+ } else {
38196
+ result[paramName] = [paramContent];
38197
+ }
38159
38198
  } else {
38160
38199
  result[paramName] = paramContent;
38161
38200
  }
@@ -38199,15 +38238,29 @@ function parseAssistantMessage(assistantMessage, tools, toolNamePrefix) {
38199
38238
  paramMatches.push(paramMatch[1].trim());
38200
38239
  }
38201
38240
  if (paramMatches.length > 0) {
38202
- if (paramMatches.length === 1) {
38241
+ if (paramMatches.length === 1 && !param.allowMultiple) {
38203
38242
  const paramContent = paramMatches[0];
38204
- if (paramContent.includes(`<${parameterPrefix}`)) {
38205
- params[param.name] = parseNestedParameters(paramContent, parameterPrefix);
38243
+ if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
38244
+ params[param.name] = parseNestedParameters(paramContent, parameterPrefix, param.children);
38206
38245
  } else {
38207
38246
  params[param.name] = paramContent;
38208
38247
  }
38209
38248
  } else {
38210
- params[param.name] = paramMatches;
38249
+ if (param.allowMultiple) {
38250
+ params[param.name] = paramMatches.map((paramContent) => {
38251
+ if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
38252
+ return parseNestedParameters(paramContent, parameterPrefix, param.children);
38253
+ }
38254
+ return paramContent;
38255
+ });
38256
+ } else {
38257
+ const paramContent = paramMatches[0];
38258
+ if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
38259
+ params[param.name] = parseNestedParameters(paramContent, parameterPrefix, param.children);
38260
+ } else {
38261
+ params[param.name] = paramContent;
38262
+ }
38263
+ }
38211
38264
  }
38212
38265
  }
38213
38266
  }
@@ -38260,12 +38313,13 @@ var toolInfoPrompt = (tool, toolNamePrefix, parameterPrefix) => `
38260
38313
  Description: ${tool.description}
38261
38314
 
38262
38315
  Parameters:
38263
- ${tool.parameters.map((param) => `- ${parameterPrefix}${param.name}: (${param.required ? "required" : "optional"}) ${param.description}`).join(`
38316
+ ${tool.parameters.map((param) => `- ${parameterPrefix}${param.name}: (${param.required ? "required" : "optional"})${param.allowMultiple ? " (multiple allowed)" : ""} ${param.description}`).join(`
38264
38317
  `)}
38265
38318
 
38266
38319
  Usage:
38267
38320
  <${toolNamePrefix}${tool.name}>
38268
- ${tool.parameters.map((param) => `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>`).join(`
38321
+ ${tool.parameters.map((param) => param.allowMultiple ? `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>
38322
+ <${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>` : `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>`).join(`
38269
38323
  `)}
38270
38324
  </${toolNamePrefix}${tool.name}>`;
38271
38325
  var toolInfoExamplesPrompt = (tool, example, toolNamePrefix, parameterPrefix) => `
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polka-codes/cli-shared",
3
- "version": "0.8.5",
3
+ "version": "0.8.7",
4
4
  "license": "AGPL-3.0",
5
5
  "author": "github@polka.codes",
6
6
  "type": "module",