@junctionpanel/server 0.1.88 → 0.1.89
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/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +35 -12
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +56 -1
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-agent.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,eAAe,EAQpB,KAAK,UAAU,EAKhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAYnC,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAWnC,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EAGX,oBAAoB,EAKpB,sBAAsB,EAItB,YAAY,EACZ,kBAAkB,EAGlB,iBAAiB,EAGjB,iBAAiB,EACjB,0BAA0B,EAE1B,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AAqCtC,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAuBF,KAAK,oCAAoC,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9C,2BAA2B,CAAC,EAAE,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC5E,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAgIF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,MAAM,CA8ER;AAyDD,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAEtE,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;KAAE,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,uBAAuB,CAAC;CAC3C,CAAC;AAoPF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgCtE;
|
|
1
|
+
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -569,6 +569,48 @@ function resolvePermissionKind(toolName, input) {
|
|
|
569
569
|
}
|
|
570
570
|
return "tool";
|
|
571
571
|
}
|
|
572
|
+
function isClaudeEditTool(toolName, input) {
|
|
573
|
+
const toolDetail = mapClaudeRunningToolCall({
|
|
574
|
+
name: toolName,
|
|
575
|
+
callId: "permission-classifier",
|
|
576
|
+
input,
|
|
577
|
+
output: null,
|
|
578
|
+
})?.detail;
|
|
579
|
+
if (toolDetail?.type === "write" || toolDetail?.type === "edit") {
|
|
580
|
+
return true;
|
|
581
|
+
}
|
|
582
|
+
const normalizedToolName = toolName.trim().toLowerCase();
|
|
583
|
+
return (normalizedToolName === "write" ||
|
|
584
|
+
normalizedToolName === "write_file" ||
|
|
585
|
+
normalizedToolName === "create_file" ||
|
|
586
|
+
normalizedToolName === "edit" ||
|
|
587
|
+
normalizedToolName === "multiedit" ||
|
|
588
|
+
normalizedToolName === "multi_edit" ||
|
|
589
|
+
normalizedToolName === "apply_patch" ||
|
|
590
|
+
normalizedToolName === "apply_diff" ||
|
|
591
|
+
normalizedToolName === "str_replace_editor");
|
|
592
|
+
}
|
|
593
|
+
function resolveClaudePermissionDecision(input) {
|
|
594
|
+
if (input.kind === "question") {
|
|
595
|
+
return "prompt";
|
|
596
|
+
}
|
|
597
|
+
if (input.kind === "plan") {
|
|
598
|
+
return input.lastNonPlanMode === "bypassPermissions"
|
|
599
|
+
? "allow_plan_transition"
|
|
600
|
+
: "prompt";
|
|
601
|
+
}
|
|
602
|
+
if (input.kind !== "tool") {
|
|
603
|
+
return "prompt";
|
|
604
|
+
}
|
|
605
|
+
const effectiveMode = input.currentMode === "plan" ? input.lastNonPlanMode : input.currentMode;
|
|
606
|
+
if (effectiveMode === "bypassPermissions") {
|
|
607
|
+
return "allow_silent";
|
|
608
|
+
}
|
|
609
|
+
if (effectiveMode === "acceptEdits" && isClaudeEditTool(input.toolName, input.toolInput)) {
|
|
610
|
+
return "allow_silent";
|
|
611
|
+
}
|
|
612
|
+
return "prompt";
|
|
613
|
+
}
|
|
572
614
|
const ACTIVE_RUN_STATES = new Set([
|
|
573
615
|
"queued",
|
|
574
616
|
"awaiting_response",
|
|
@@ -1158,7 +1200,20 @@ class ClaudeAgentSession {
|
|
|
1158
1200
|
this.handlePermissionRequest = async (toolName, input, options) => {
|
|
1159
1201
|
const requestId = `permission-${randomUUID()}`;
|
|
1160
1202
|
const kind = resolvePermissionKind(toolName, input);
|
|
1161
|
-
|
|
1203
|
+
const decision = resolveClaudePermissionDecision({
|
|
1204
|
+
currentMode: this.currentMode,
|
|
1205
|
+
lastNonPlanMode: this.lastNonPlanMode,
|
|
1206
|
+
kind,
|
|
1207
|
+
toolName,
|
|
1208
|
+
toolInput: input,
|
|
1209
|
+
});
|
|
1210
|
+
if (decision === "allow_silent") {
|
|
1211
|
+
return {
|
|
1212
|
+
behavior: "allow",
|
|
1213
|
+
updatedInput: input,
|
|
1214
|
+
};
|
|
1215
|
+
}
|
|
1216
|
+
if (decision === "allow_plan_transition") {
|
|
1162
1217
|
this.currentMode = "bypassPermissions";
|
|
1163
1218
|
this.cachedRuntimeInfo = null;
|
|
1164
1219
|
this.pushToolCall(mapClaudeCompletedToolCall({
|