opencode-pair-autonomy 1.0.4 → 1.0.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 +4 -36
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -16909,34 +16909,9 @@ function debugPlanMode(data) {
|
|
|
16909
16909
|
var NODE_COMMAND_RE = /^(npm|pnpm|yarn|bun|npx|bunx|node|tsc|tsx|vite|next|nuxt|vitest|jest|eslint|prettier)\b/;
|
|
16910
16910
|
var NODE_MODULES_BIN_RE = /node_modules\/\.bin\//;
|
|
16911
16911
|
var PLAN_MODE_ALWAYS_BLOCKED = new Set(["edit", "write", "patch"]);
|
|
16912
|
-
|
|
16913
|
-
"ginko",
|
|
16914
|
-
"kaiki",
|
|
16915
|
-
"odokawa",
|
|
16916
|
-
"rajdhani"
|
|
16917
|
-
]);
|
|
16918
|
-
function resolveTargetAgent(args) {
|
|
16919
|
-
if (typeof args.subagent_type === "string")
|
|
16920
|
-
return args.subagent_type;
|
|
16921
|
-
if (typeof args.agent === "string")
|
|
16922
|
-
return args.agent;
|
|
16923
|
-
if (typeof args.subagent === "string")
|
|
16924
|
-
return args.subagent;
|
|
16925
|
-
if (typeof args.type === "string")
|
|
16926
|
-
return args.type;
|
|
16927
|
-
return;
|
|
16928
|
-
}
|
|
16929
|
-
function isBlockedInPlanMode(tool, args) {
|
|
16912
|
+
function isBlockedInPlanMode(tool, _args) {
|
|
16930
16913
|
if (PLAN_MODE_ALWAYS_BLOCKED.has(tool))
|
|
16931
16914
|
return true;
|
|
16932
|
-
if (tool === "delegate" || tool.startsWith("delegation"))
|
|
16933
|
-
return false;
|
|
16934
|
-
const target = resolveTargetAgent(args);
|
|
16935
|
-
if (target) {
|
|
16936
|
-
return !PLAN_MODE_ALLOWED_AGENTS.has(target);
|
|
16937
|
-
}
|
|
16938
|
-
if (tool === "task" || tool.startsWith("task_"))
|
|
16939
|
-
return true;
|
|
16940
16915
|
return false;
|
|
16941
16916
|
}
|
|
16942
16917
|
function isNodeCommand(command) {
|
|
@@ -16960,19 +16935,12 @@ function createPreToolUseHook(config2, runtime, profile) {
|
|
|
16960
16935
|
runtime.incrementToolCount(sessionID);
|
|
16961
16936
|
}
|
|
16962
16937
|
if (sessionID && agent && PRIMARY_AGENTS.has(agent) && tool && runtime.getPlanMode(sessionID) === "planning") {
|
|
16963
|
-
const target = resolveTargetAgent(args);
|
|
16964
16938
|
const blocked = isBlockedInPlanMode(tool, args);
|
|
16965
|
-
debugPlanMode({
|
|
16966
|
-
tool,
|
|
16967
|
-
args: Object.keys(args),
|
|
16968
|
-
argsSnapshot: JSON.parse(JSON.stringify(args, (_, v) => typeof v === "string" && v.length > 80 ? `${v.slice(0, 80)}...` : v)),
|
|
16969
|
-
target,
|
|
16970
|
-
blocked,
|
|
16971
|
-
rawInput: typeof input === "object" && input ? Object.keys(input) : "not-object"
|
|
16972
|
-
});
|
|
16939
|
+
debugPlanMode({ tool, blocked });
|
|
16973
16940
|
if (blocked) {
|
|
16974
16941
|
const count = runtime.incrementPlanModeBlock(sessionID);
|
|
16975
|
-
const
|
|
16942
|
+
const isTaskBlocked = tool === "task" || tool.startsWith("task_");
|
|
16943
|
+
const msg = isTaskBlocked ? `[PlanMode] task tool is blocked in planning mode. For read-only workers (rajdhani, ginko, kaiki, odokawa), use delegate instead of task. The user will /go to start execution.` : count >= 3 ? "[PlanMode] STILL in planning mode. You have attempted execution tools multiple times. STOP trying. Complete your plan with TodoWrite. The user will /go to start execution." : "[PlanMode] You are in planning mode. Cannot use execution tools. Use Read/Glob/Grep/TodoWrite to continue planning. The user will /go to start execution.";
|
|
16976
16944
|
throw new BlockingHookError(msg);
|
|
16977
16945
|
}
|
|
16978
16946
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-pair-autonomy",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "OpenCode harness with opinionated agent orchestration. One coordinator, eight specialized workers, automatic verify+review pipeline.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|