@polka-codes/cli 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 +64 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -31550,7 +31550,7 @@ var {
|
|
|
31550
31550
|
Help
|
|
31551
31551
|
} = import__.default;
|
|
31552
31552
|
// package.json
|
|
31553
|
-
var version = "0.8.
|
|
31553
|
+
var version = "0.8.7";
|
|
31554
31554
|
|
|
31555
31555
|
// ../core/src/AiService/AiServiceBase.ts
|
|
31556
31556
|
class AiServiceBase {
|
|
@@ -40953,6 +40953,14 @@ var getStringArray = (args2, name2, defaultValue) => {
|
|
|
40953
40953
|
if (ret === "") {
|
|
40954
40954
|
return [];
|
|
40955
40955
|
}
|
|
40956
|
+
if (Array.isArray(ret)) {
|
|
40957
|
+
for (const item of ret) {
|
|
40958
|
+
if (typeof item !== "string") {
|
|
40959
|
+
throw new Error(`Invalid argument type: ${name2} ${item}`);
|
|
40960
|
+
}
|
|
40961
|
+
}
|
|
40962
|
+
return ret;
|
|
40963
|
+
}
|
|
40956
40964
|
if (typeof ret !== "string") {
|
|
40957
40965
|
throw new Error(`Invalid argument type: ${name2} ${ret}`);
|
|
40958
40966
|
}
|
|
@@ -41021,6 +41029,7 @@ var toolInfo = {
|
|
|
41021
41029
|
description: "One or more follow-up questions you need answered before you can continue.",
|
|
41022
41030
|
required: true,
|
|
41023
41031
|
allowMultiple: true,
|
|
41032
|
+
usageValue: "questions here",
|
|
41024
41033
|
children: [
|
|
41025
41034
|
{
|
|
41026
41035
|
name: "prompt",
|
|
@@ -42235,17 +42244,47 @@ var getAvailableTools = ({
|
|
|
42235
42244
|
};
|
|
42236
42245
|
|
|
42237
42246
|
// ../core/src/Agent/parseAssistantMessage.ts
|
|
42238
|
-
function parseNestedParameters(content, parameterPrefix) {
|
|
42247
|
+
function parseNestedParameters(content, parameterPrefix, childrenParams) {
|
|
42239
42248
|
const result = {};
|
|
42240
42249
|
const nestedParamRegex = new RegExp(`<${parameterPrefix}([^>]+)>([\\s\\S]*?)<\\/${parameterPrefix}\\1>`, "gs");
|
|
42250
|
+
const arrayParams = new Set;
|
|
42251
|
+
if (childrenParams) {
|
|
42252
|
+
for (const param of childrenParams) {
|
|
42253
|
+
if (param.allowMultiple) {
|
|
42254
|
+
arrayParams.add(param.name);
|
|
42255
|
+
}
|
|
42256
|
+
}
|
|
42257
|
+
}
|
|
42241
42258
|
while (true) {
|
|
42242
42259
|
const match = nestedParamRegex.exec(content);
|
|
42243
42260
|
if (match === null)
|
|
42244
42261
|
break;
|
|
42245
42262
|
const paramName = match[1];
|
|
42246
42263
|
const paramContent = match[2].trim();
|
|
42247
|
-
|
|
42248
|
-
|
|
42264
|
+
const childParam = childrenParams?.find((p2) => p2.name === paramName);
|
|
42265
|
+
if (paramContent.includes(`<${parameterPrefix}`) && childParam?.children) {
|
|
42266
|
+
const nestedResult = parseNestedParameters(paramContent, parameterPrefix, childParam.children);
|
|
42267
|
+
if (arrayParams.has(paramName)) {
|
|
42268
|
+
if (!result[paramName]) {
|
|
42269
|
+
result[paramName] = [];
|
|
42270
|
+
}
|
|
42271
|
+
if (Array.isArray(result[paramName])) {
|
|
42272
|
+
result[paramName].push(nestedResult);
|
|
42273
|
+
} else {
|
|
42274
|
+
result[paramName] = [nestedResult];
|
|
42275
|
+
}
|
|
42276
|
+
} else {
|
|
42277
|
+
result[paramName] = nestedResult;
|
|
42278
|
+
}
|
|
42279
|
+
} else if (arrayParams.has(paramName)) {
|
|
42280
|
+
if (!result[paramName]) {
|
|
42281
|
+
result[paramName] = [];
|
|
42282
|
+
}
|
|
42283
|
+
if (Array.isArray(result[paramName])) {
|
|
42284
|
+
result[paramName].push(paramContent);
|
|
42285
|
+
} else {
|
|
42286
|
+
result[paramName] = [paramContent];
|
|
42287
|
+
}
|
|
42249
42288
|
} else {
|
|
42250
42289
|
result[paramName] = paramContent;
|
|
42251
42290
|
}
|
|
@@ -42289,15 +42328,29 @@ function parseAssistantMessage(assistantMessage, tools, toolNamePrefix) {
|
|
|
42289
42328
|
paramMatches.push(paramMatch[1].trim());
|
|
42290
42329
|
}
|
|
42291
42330
|
if (paramMatches.length > 0) {
|
|
42292
|
-
if (paramMatches.length === 1) {
|
|
42331
|
+
if (paramMatches.length === 1 && !param.allowMultiple) {
|
|
42293
42332
|
const paramContent = paramMatches[0];
|
|
42294
|
-
if (paramContent.includes(`<${parameterPrefix}`)) {
|
|
42295
|
-
params[param.name] = parseNestedParameters(paramContent, parameterPrefix);
|
|
42333
|
+
if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
|
|
42334
|
+
params[param.name] = parseNestedParameters(paramContent, parameterPrefix, param.children);
|
|
42296
42335
|
} else {
|
|
42297
42336
|
params[param.name] = paramContent;
|
|
42298
42337
|
}
|
|
42299
42338
|
} else {
|
|
42300
|
-
|
|
42339
|
+
if (param.allowMultiple) {
|
|
42340
|
+
params[param.name] = paramMatches.map((paramContent) => {
|
|
42341
|
+
if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
|
|
42342
|
+
return parseNestedParameters(paramContent, parameterPrefix, param.children);
|
|
42343
|
+
}
|
|
42344
|
+
return paramContent;
|
|
42345
|
+
});
|
|
42346
|
+
} else {
|
|
42347
|
+
const paramContent = paramMatches[0];
|
|
42348
|
+
if (paramContent.includes(`<${parameterPrefix}`) && param.children) {
|
|
42349
|
+
params[param.name] = parseNestedParameters(paramContent, parameterPrefix, param.children);
|
|
42350
|
+
} else {
|
|
42351
|
+
params[param.name] = paramContent;
|
|
42352
|
+
}
|
|
42353
|
+
}
|
|
42301
42354
|
}
|
|
42302
42355
|
}
|
|
42303
42356
|
}
|
|
@@ -42350,12 +42403,13 @@ var toolInfoPrompt = (tool, toolNamePrefix, parameterPrefix) => `
|
|
|
42350
42403
|
Description: ${tool.description}
|
|
42351
42404
|
|
|
42352
42405
|
Parameters:
|
|
42353
|
-
${tool.parameters.map((param) => `- ${parameterPrefix}${param.name}: (${param.required ? "required" : "optional"}) ${param.description}`).join(`
|
|
42406
|
+
${tool.parameters.map((param) => `- ${parameterPrefix}${param.name}: (${param.required ? "required" : "optional"})${param.allowMultiple ? " (multiple allowed)" : ""} ${param.description}`).join(`
|
|
42354
42407
|
`)}
|
|
42355
42408
|
|
|
42356
42409
|
Usage:
|
|
42357
42410
|
<${toolNamePrefix}${tool.name}>
|
|
42358
|
-
${tool.parameters.map((param) => `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}
|
|
42411
|
+
${tool.parameters.map((param) => param.allowMultiple ? `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>
|
|
42412
|
+
<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>` : `<${parameterPrefix}${param.name}>${param.usageValue}</${parameterPrefix}${param.name}>`).join(`
|
|
42359
42413
|
`)}
|
|
42360
42414
|
</${toolNamePrefix}${tool.name}>`;
|
|
42361
42415
|
var toolInfoExamplesPrompt = (tool, example, toolNamePrefix, parameterPrefix) => `
|