@polka-codes/cli-shared 0.8.6 → 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 +55 -9
- 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
|
-
|
|
38166
|
-
|
|
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
|
-
|
|
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}
|
|
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) => `
|