@polka-codes/core 0.6.5 → 0.6.6
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 +78 -55
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -8237,6 +8237,25 @@ __export(exports_allTools, {
|
|
|
8237
8237
|
askFollowupQuestion: () => askFollowupQuestion_default
|
|
8238
8238
|
});
|
|
8239
8239
|
|
|
8240
|
+
// src/tool.ts
|
|
8241
|
+
var PermissionLevel;
|
|
8242
|
+
((PermissionLevel2) => {
|
|
8243
|
+
PermissionLevel2[PermissionLevel2["None"] = 0] = "None";
|
|
8244
|
+
PermissionLevel2[PermissionLevel2["Read"] = 1] = "Read";
|
|
8245
|
+
PermissionLevel2[PermissionLevel2["Write"] = 2] = "Write";
|
|
8246
|
+
PermissionLevel2[PermissionLevel2["Arbitrary"] = 3] = "Arbitrary";
|
|
8247
|
+
})(PermissionLevel ||= {});
|
|
8248
|
+
var ToolResponseType;
|
|
8249
|
+
((ToolResponseType2) => {
|
|
8250
|
+
ToolResponseType2["Reply"] = "Reply";
|
|
8251
|
+
ToolResponseType2["Exit"] = "Exit";
|
|
8252
|
+
ToolResponseType2["Invalid"] = "Invalid";
|
|
8253
|
+
ToolResponseType2["Error"] = "Error";
|
|
8254
|
+
ToolResponseType2["Interrupted"] = "Interrupted";
|
|
8255
|
+
ToolResponseType2["HandOver"] = "HandOver";
|
|
8256
|
+
ToolResponseType2["Delegate"] = "Delegate";
|
|
8257
|
+
})(ToolResponseType ||= {});
|
|
8258
|
+
|
|
8240
8259
|
// src/tools/utils/replaceInFile.ts
|
|
8241
8260
|
var replaceInFile = async (fileContent, diff) => {
|
|
8242
8261
|
const blockPattern = /<<<<<+ SEARCH\s*\r?\n([\s\S]*?)\r?\n=======[ \t]*\r?\n([\s\S]*?)\r?\n?>>>>>+ REPLACE/g;
|
|
@@ -8385,7 +8404,8 @@ var toolInfo = {
|
|
|
8385
8404
|
}
|
|
8386
8405
|
]
|
|
8387
8406
|
}
|
|
8388
|
-
]
|
|
8407
|
+
],
|
|
8408
|
+
permissionLevel: 0 /* None */
|
|
8389
8409
|
};
|
|
8390
8410
|
var handler = async (provider, args) => {
|
|
8391
8411
|
if (!provider.askFollowupQuestion) {
|
|
@@ -8433,7 +8453,8 @@ var toolInfo2 = {
|
|
|
8433
8453
|
}
|
|
8434
8454
|
]
|
|
8435
8455
|
}
|
|
8436
|
-
]
|
|
8456
|
+
],
|
|
8457
|
+
permissionLevel: 0 /* None */
|
|
8437
8458
|
};
|
|
8438
8459
|
var handler2 = async (provider, args) => {
|
|
8439
8460
|
const result = getString(args, "result");
|
|
@@ -8509,7 +8530,8 @@ var toolInfo3 = {
|
|
|
8509
8530
|
}
|
|
8510
8531
|
]
|
|
8511
8532
|
}
|
|
8512
|
-
]
|
|
8533
|
+
],
|
|
8534
|
+
permissionLevel: 0 /* None */
|
|
8513
8535
|
};
|
|
8514
8536
|
var handler3 = async (_provider, args) => {
|
|
8515
8537
|
const agentName = getString(args, "agent_name");
|
|
@@ -8564,7 +8586,8 @@ var toolInfo4 = {
|
|
|
8564
8586
|
}
|
|
8565
8587
|
]
|
|
8566
8588
|
}
|
|
8567
|
-
]
|
|
8589
|
+
],
|
|
8590
|
+
permissionLevel: 3 /* Arbitrary */
|
|
8568
8591
|
};
|
|
8569
8592
|
var handler4 = async (provider, args) => {
|
|
8570
8593
|
if (!provider.executeCommand) {
|
|
@@ -8606,7 +8629,7 @@ var executeCommand_default = {
|
|
|
8606
8629
|
// src/tools/listCodeDefinitionNames.ts
|
|
8607
8630
|
var toolInfo5 = {
|
|
8608
8631
|
name: "list_code_definition_names",
|
|
8609
|
-
description: "Request to list definition names (classes, functions, methods, etc.) used in a
|
|
8632
|
+
description: "Request to list definition names (classes, functions, methods, etc.) used for all files in a directory. This tool provides insights into the codebase structure and important constructs, encapsulating high-level concepts and relationships that are crucial for understanding the overall architecture.",
|
|
8610
8633
|
parameters: [
|
|
8611
8634
|
{
|
|
8612
8635
|
name: "path",
|
|
@@ -8614,7 +8637,19 @@ var toolInfo5 = {
|
|
|
8614
8637
|
required: true,
|
|
8615
8638
|
usageValue: "Directory path here"
|
|
8616
8639
|
}
|
|
8617
|
-
]
|
|
8640
|
+
],
|
|
8641
|
+
examples: [
|
|
8642
|
+
{
|
|
8643
|
+
description: "Request to list code definition names in a directory",
|
|
8644
|
+
parameters: [
|
|
8645
|
+
{
|
|
8646
|
+
name: "path",
|
|
8647
|
+
value: "src/utils"
|
|
8648
|
+
}
|
|
8649
|
+
]
|
|
8650
|
+
}
|
|
8651
|
+
],
|
|
8652
|
+
permissionLevel: 1 /* Read */
|
|
8618
8653
|
};
|
|
8619
8654
|
var handler5 = async (provider, args) => {
|
|
8620
8655
|
if (!provider.listCodeDefinitionNames) {
|
|
@@ -8679,7 +8714,8 @@ var toolInfo6 = {
|
|
|
8679
8714
|
}
|
|
8680
8715
|
]
|
|
8681
8716
|
}
|
|
8682
|
-
]
|
|
8717
|
+
],
|
|
8718
|
+
permissionLevel: 1 /* Read */
|
|
8683
8719
|
};
|
|
8684
8720
|
var handler6 = async (provider, args) => {
|
|
8685
8721
|
if (!provider.listFiles) {
|
|
@@ -8741,7 +8777,8 @@ var toolInfo7 = {
|
|
|
8741
8777
|
}
|
|
8742
8778
|
]
|
|
8743
8779
|
}
|
|
8744
|
-
]
|
|
8780
|
+
],
|
|
8781
|
+
permissionLevel: 1 /* Read */
|
|
8745
8782
|
};
|
|
8746
8783
|
var handler7 = async (provider, args) => {
|
|
8747
8784
|
if (!provider.readFile) {
|
|
@@ -8858,7 +8895,8 @@ return (
|
|
|
8858
8895
|
}
|
|
8859
8896
|
]
|
|
8860
8897
|
}
|
|
8861
|
-
]
|
|
8898
|
+
],
|
|
8899
|
+
permissionLevel: 2 /* Write */
|
|
8862
8900
|
};
|
|
8863
8901
|
var handler8 = async (provider, args) => {
|
|
8864
8902
|
if (!provider.readFile || !provider.writeFile) {
|
|
@@ -8927,7 +8965,8 @@ var toolInfo9 = {
|
|
|
8927
8965
|
}
|
|
8928
8966
|
]
|
|
8929
8967
|
}
|
|
8930
|
-
]
|
|
8968
|
+
],
|
|
8969
|
+
permissionLevel: 1 /* Read */
|
|
8931
8970
|
};
|
|
8932
8971
|
var handler9 = async (provider, args) => {
|
|
8933
8972
|
if (!provider.searchFiles) {
|
|
@@ -9003,7 +9042,8 @@ export default App;
|
|
|
9003
9042
|
}
|
|
9004
9043
|
]
|
|
9005
9044
|
}
|
|
9006
|
-
]
|
|
9045
|
+
],
|
|
9046
|
+
permissionLevel: 2 /* Write */
|
|
9007
9047
|
};
|
|
9008
9048
|
var handler10 = async (provider, args) => {
|
|
9009
9049
|
if (!provider.writeFile) {
|
|
@@ -9080,7 +9120,8 @@ var toolInfo11 = {
|
|
|
9080
9120
|
}
|
|
9081
9121
|
]
|
|
9082
9122
|
}
|
|
9083
|
-
]
|
|
9123
|
+
],
|
|
9124
|
+
permissionLevel: 0 /* None */
|
|
9084
9125
|
};
|
|
9085
9126
|
var handler11 = async (_provider, args) => {
|
|
9086
9127
|
const agentName = getString(args, "agent_name");
|
|
@@ -9125,7 +9166,8 @@ var toolInfo12 = {
|
|
|
9125
9166
|
}
|
|
9126
9167
|
]
|
|
9127
9168
|
}
|
|
9128
|
-
]
|
|
9169
|
+
],
|
|
9170
|
+
permissionLevel: 2 /* Write */
|
|
9129
9171
|
};
|
|
9130
9172
|
var handler12 = async (provider, args) => {
|
|
9131
9173
|
if (!provider.removeFile) {
|
|
@@ -9181,7 +9223,8 @@ var toolInfo13 = {
|
|
|
9181
9223
|
}
|
|
9182
9224
|
]
|
|
9183
9225
|
}
|
|
9184
|
-
]
|
|
9226
|
+
],
|
|
9227
|
+
permissionLevel: 2 /* Write */
|
|
9185
9228
|
};
|
|
9186
9229
|
var handler13 = async (provider, args) => {
|
|
9187
9230
|
if (!provider.renameFile) {
|
|
@@ -9206,18 +9249,8 @@ var renameFile_default = {
|
|
|
9206
9249
|
handler: handler13,
|
|
9207
9250
|
isAvailable: isAvailable13
|
|
9208
9251
|
};
|
|
9209
|
-
// src/
|
|
9210
|
-
var
|
|
9211
|
-
((ToolResponseType2) => {
|
|
9212
|
-
ToolResponseType2["Reply"] = "Reply";
|
|
9213
|
-
ToolResponseType2["Exit"] = "Exit";
|
|
9214
|
-
ToolResponseType2["Invalid"] = "Invalid";
|
|
9215
|
-
ToolResponseType2["Error"] = "Error";
|
|
9216
|
-
ToolResponseType2["Interrupted"] = "Interrupted";
|
|
9217
|
-
ToolResponseType2["HandOver"] = "HandOver";
|
|
9218
|
-
ToolResponseType2["Delegate"] = "Delegate";
|
|
9219
|
-
})(ToolResponseType ||= {});
|
|
9220
|
-
var getAvailableTools = (provider2, allTools2, hasAgent) => {
|
|
9252
|
+
// src/getAvailableTools.ts
|
|
9253
|
+
var getAvailableTools = (provider2, allTools2, hasAgent, permissionLevel) => {
|
|
9221
9254
|
const tools = [];
|
|
9222
9255
|
for (const tool of allTools2) {
|
|
9223
9256
|
if (!hasAgent) {
|
|
@@ -9227,7 +9260,7 @@ var getAvailableTools = (provider2, allTools2, hasAgent) => {
|
|
|
9227
9260
|
continue;
|
|
9228
9261
|
}
|
|
9229
9262
|
}
|
|
9230
|
-
if (tool.isAvailable(provider2)) {
|
|
9263
|
+
if (tool.isAvailable(provider2) && tool.permissionLevel <= permissionLevel) {
|
|
9231
9264
|
tools.push(tool);
|
|
9232
9265
|
}
|
|
9233
9266
|
}
|
|
@@ -9561,6 +9594,9 @@ ${agents}`;
|
|
|
9561
9594
|
return await this.#processLoop(userMessage);
|
|
9562
9595
|
}
|
|
9563
9596
|
async#request(userMessage) {
|
|
9597
|
+
if (!userMessage) {
|
|
9598
|
+
throw new Error("userMessage is missing");
|
|
9599
|
+
}
|
|
9564
9600
|
await this.#callback({ kind: "StartRequest" /* StartRequest */, agent: this, userMessage });
|
|
9565
9601
|
this.messages.push({
|
|
9566
9602
|
role: "user",
|
|
@@ -9609,6 +9645,12 @@ ${agents}`;
|
|
|
9609
9645
|
case "text":
|
|
9610
9646
|
break;
|
|
9611
9647
|
case "tool_use": {
|
|
9648
|
+
if (toolReponses.length > 0) {
|
|
9649
|
+
const toolLevel = this.handlers[content.name].permissionLevel;
|
|
9650
|
+
if (toolLevel > 1 /* Read */) {
|
|
9651
|
+
break outer;
|
|
9652
|
+
}
|
|
9653
|
+
}
|
|
9612
9654
|
await this.#callback({ kind: "ToolUse" /* ToolUse */, agent: this, tool: content.name });
|
|
9613
9655
|
const toolResp = await this.#invokeTool(content.name, content.params);
|
|
9614
9656
|
switch (toolResp.type) {
|
|
@@ -9631,7 +9673,7 @@ ${agents}`;
|
|
|
9631
9673
|
return { exit: toolResp };
|
|
9632
9674
|
case "HandOver" /* HandOver */:
|
|
9633
9675
|
if (toolReponses.length > 0) {
|
|
9634
|
-
|
|
9676
|
+
break outer;
|
|
9635
9677
|
}
|
|
9636
9678
|
await this.#callback({
|
|
9637
9679
|
kind: "ToolHandOver" /* ToolHandOver */,
|
|
@@ -9662,7 +9704,7 @@ ${agents}`;
|
|
|
9662
9704
|
}
|
|
9663
9705
|
}
|
|
9664
9706
|
}
|
|
9665
|
-
if (toolReponses.length === 0
|
|
9707
|
+
if (toolReponses.length === 0) {
|
|
9666
9708
|
return { replay: responsePrompts.requireUseTool };
|
|
9667
9709
|
}
|
|
9668
9710
|
const finalResp = toolReponses.map(({ tool, response: response2 }) => responsePrompts.toolResults(tool, response2)).join(`
|
|
@@ -9734,18 +9776,8 @@ ${interactiveMode(interactive)}
|
|
|
9734
9776
|
// src/Agent/AnalyzerAgent/index.ts
|
|
9735
9777
|
class AnalyzerAgent extends AgentBase {
|
|
9736
9778
|
constructor(options) {
|
|
9737
|
-
const
|
|
9738
|
-
|
|
9739
|
-
askFollowupQuestion_default,
|
|
9740
|
-
attemptCompletion_default,
|
|
9741
|
-
handOver_default,
|
|
9742
|
-
delegate_default,
|
|
9743
|
-
listCodeDefinitionNames_default,
|
|
9744
|
-
listFiles_default,
|
|
9745
|
-
readFile_default,
|
|
9746
|
-
searchFiles_default
|
|
9747
|
-
];
|
|
9748
|
-
const tools = getAvailableTools(options.provider, agentTools, (options.agents?.length ?? 0) > 0);
|
|
9779
|
+
const combinedTools = [...options.additionalTools ?? [], ...Object.values(exports_allTools)];
|
|
9780
|
+
const tools = getAvailableTools(options.provider, combinedTools, (options.agents?.length ?? 0) > 0, 1 /* Read */);
|
|
9749
9781
|
const toolNamePrefix = "tool_";
|
|
9750
9782
|
const systemPrompt = fullSystemPrompt({
|
|
9751
9783
|
os: options.os
|
|
@@ -9834,18 +9866,8 @@ ${interactiveMode(interactive)}
|
|
|
9834
9866
|
// src/Agent/ArchitectAgent/index.ts
|
|
9835
9867
|
class ArchitectAgent extends AgentBase {
|
|
9836
9868
|
constructor(options) {
|
|
9837
|
-
const
|
|
9838
|
-
|
|
9839
|
-
askFollowupQuestion_default,
|
|
9840
|
-
attemptCompletion_default,
|
|
9841
|
-
handOver_default,
|
|
9842
|
-
delegate_default,
|
|
9843
|
-
listCodeDefinitionNames_default,
|
|
9844
|
-
listFiles_default,
|
|
9845
|
-
readFile_default,
|
|
9846
|
-
searchFiles_default
|
|
9847
|
-
];
|
|
9848
|
-
const tools = getAvailableTools(options.provider, agentTools, (options.agents?.length ?? 0) > 0);
|
|
9869
|
+
const combinedTools = [...options.additionalTools ?? [], ...Object.values(exports_allTools)];
|
|
9870
|
+
const tools = getAvailableTools(options.provider, combinedTools, (options.agents?.length ?? 0) > 0, 1 /* Read */);
|
|
9849
9871
|
const toolNamePrefix = "tool_";
|
|
9850
9872
|
const systemPrompt = fullSystemPrompt2({
|
|
9851
9873
|
os: options.os
|
|
@@ -9958,7 +9980,7 @@ class CodeFixerAgent extends AgentBase {
|
|
|
9958
9980
|
#retryCount = 0;
|
|
9959
9981
|
constructor(options) {
|
|
9960
9982
|
const combinedTools = [...options.additionalTools ?? [], ...Object.values(exports_allTools)];
|
|
9961
|
-
const tools = getAvailableTools(options.provider, combinedTools, (options.agents?.length ?? 0) > 0);
|
|
9983
|
+
const tools = getAvailableTools(options.provider, combinedTools, (options.agents?.length ?? 0) > 0, 3 /* Arbitrary */);
|
|
9962
9984
|
const toolNamePrefix = "tool_";
|
|
9963
9985
|
const systemPrompt = fullSystemPrompt3({
|
|
9964
9986
|
os: options.os
|
|
@@ -10146,7 +10168,7 @@ ${interactiveMode(interactive)}
|
|
|
10146
10168
|
class CoderAgent extends AgentBase {
|
|
10147
10169
|
constructor(options) {
|
|
10148
10170
|
const combinedTools = [...options.additionalTools ?? [], ...Object.values(exports_allTools)];
|
|
10149
|
-
const tools = getAvailableTools(options.provider, combinedTools, (options.agents?.length ?? 0) > 0);
|
|
10171
|
+
const tools = getAvailableTools(options.provider, combinedTools, (options.agents?.length ?? 0) > 0, 3 /* Arbitrary */);
|
|
10150
10172
|
const toolNamePrefix = "tool_";
|
|
10151
10173
|
const systemPrompt = fullSystemPrompt4({
|
|
10152
10174
|
os: options.os
|
|
@@ -10685,6 +10707,7 @@ export {
|
|
|
10685
10707
|
UsageMeter,
|
|
10686
10708
|
ToolResponseType,
|
|
10687
10709
|
TaskEventKind,
|
|
10710
|
+
PermissionLevel,
|
|
10688
10711
|
MultiAgent,
|
|
10689
10712
|
MockProvider,
|
|
10690
10713
|
CoderAgent,
|