@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.
- package/dist/index.js +63 -9
- 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
|
-
|
|
38158
|
-
|
|
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
|
-
|
|
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}
|
|
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) => `
|