@polka-codes/cli-shared 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 +55 -9
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -36939,6 +36939,7 @@ var toolInfo = {
36939
36939
  description: "One or more follow-up questions you need answered before you can continue.",
36940
36940
  required: true,
36941
36941
  allowMultiple: true,
36942
+ usageValue: "questions here",
36942
36943
  children: [
36943
36944
  {
36944
36945
  name: "prompt",
@@ -38153,17 +38154,47 @@ var getAvailableTools = ({
38153
38154
  };
38154
38155
 
38155
38156
  // ../core/src/Agent/parseAssistantMessage.ts
38156
- function parseNestedParameters(content, parameterPrefix) {
38157
+ function parseNestedParameters(content, parameterPrefix, childrenParams) {
38157
38158
  const result = {};
38158
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
+ }
38159
38168
  while (true) {
38160
38169
  const match = nestedParamRegex.exec(content);
38161
38170
  if (match === null)
38162
38171
  break;
38163
38172
  const paramName = match[1];
38164
38173
  const paramContent = match[2].trim();
38165
- if (paramContent.includes(`<${parameterPrefix}`)) {
38166
- 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
+ }
38167
38198
  } else {
38168
38199
  result[paramName] = paramContent;
38169
38200
  }
@@ -38207,15 +38238,29 @@ function parseAssistantMessage(assistantMessage, tools, toolNamePrefix) {
38207
38238
  paramMatches.push(paramMatch[1].trim());
38208
38239
  }
38209
38240
  if (paramMatches.length > 0) {
38210
- if (paramMatches.length === 1) {
38241
+ if (paramMatches.length === 1 && !param.allowMultiple) {
38211
38242
  const paramContent = paramMatches[0];
38212
- if (paramContent.includes(`<${parameterPrefix}`)) {
38213
- params[param.name] = parseNestedParameters(paramContent, parameterPrefix);
38243
+ if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
38244
+ params[param.name] = parseNestedParameters(paramContent, parameterPrefix, param.children);
38214
38245
  } else {
38215
38246
  params[param.name] = paramContent;
38216
38247
  }
38217
38248
  } else {
38218
- 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
+ }
38219
38264
  }
38220
38265
  }
38221
38266
  }
@@ -38268,12 +38313,13 @@ var toolInfoPrompt = (tool, toolNamePrefix, parameterPrefix) => `
38268
38313
  Description: ${tool.description}
38269
38314
 
38270
38315
  Parameters:
38271
- ${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(`
38272
38317
  `)}
38273
38318
 
38274
38319
  Usage:
38275
38320
  <${toolNamePrefix}${tool.name}>
38276
- ${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(`
38277
38323
  `)}
38278
38324
  </${toolNamePrefix}${tool.name}>`;
38279
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.6",
3
+ "version": "0.8.8",
4
4
  "license": "AGPL-3.0",
5
5
  "author": "github@polka.codes",
6
6
  "type": "module",