taskflow-hosts 0.1.8 → 0.2.1
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/README.md +27 -12
- package/dist/child-env.d.ts +6 -0
- package/dist/child-env.d.ts.map +1 -0
- package/dist/child-env.js +43 -0
- package/dist/child-env.js.map +1 -0
- package/dist/claude-runner.d.ts +27 -15
- package/dist/claude-runner.d.ts.map +1 -1
- package/dist/claude-runner.js +163 -31
- package/dist/claude-runner.js.map +1 -1
- package/dist/codex-runner.d.ts +8 -1
- package/dist/codex-runner.d.ts.map +1 -1
- package/dist/codex-runner.js +85 -20
- package/dist/codex-runner.js.map +1 -1
- package/dist/grok-runner.d.ts +133 -0
- package/dist/grok-runner.d.ts.map +1 -0
- package/dist/grok-runner.js +350 -0
- package/dist/grok-runner.js.map +1 -0
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/opencode-runner.d.ts +16 -0
- package/dist/opencode-runner.d.ts.map +1 -1
- package/dist/opencode-runner.js +82 -13
- package/dist/opencode-runner.js.map +1 -1
- package/package.json +22 -9
package/dist/opencode-runner.js
CHANGED
|
@@ -35,12 +35,30 @@
|
|
|
35
35
|
* Process handling (idle watchdog, abort, signal-kill detection, stderr cap,
|
|
36
36
|
* error sanitization) mirrors the other runners so behavior is uniform.
|
|
37
37
|
*/
|
|
38
|
-
import { runSubagentProcess, num, unknownAgentResult, } from "taskflow-core";
|
|
38
|
+
import { runSubagentProcess, sanitizeErrorMessage, num, unknownAgentResult, } from "taskflow-core";
|
|
39
39
|
import { emptyUsage } from "taskflow-core";
|
|
40
|
+
import { filteredChildEnv } from "./child-env.js";
|
|
40
41
|
/** The permission policy injected (via OPENCODE_CONFIG_CONTENT) for a read-only
|
|
41
42
|
* phase: deny every mutating capability so a listed-tools phase without
|
|
42
43
|
* write/edit/bash cannot change the workspace. */
|
|
43
|
-
const
|
|
44
|
+
export const OPENCODE_READ_ONLY_CONFIG = JSON.stringify({
|
|
45
|
+
permission: {
|
|
46
|
+
"*": "deny",
|
|
47
|
+
read: "allow",
|
|
48
|
+
grep: "allow",
|
|
49
|
+
glob: "allow",
|
|
50
|
+
list: "allow",
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
/** Explicit operator acknowledgement required before OpenCode may use its
|
|
54
|
+
* unsandboxed `--auto` mode for mutating/default-capable phases. */
|
|
55
|
+
export const OPENCODE_UNSAFE_AUTO_ENV = "PI_TASKFLOW_OPENCODE_UNSAFE_AUTO";
|
|
56
|
+
export function opencodeUnsafeAutoEnabled(env = process.env) {
|
|
57
|
+
return env[OPENCODE_UNSAFE_AUTO_ENV] === "1";
|
|
58
|
+
}
|
|
59
|
+
export function opencodeChildEnv(source = process.env) {
|
|
60
|
+
return filteredChildEnv(source, ["OPENCODE_CONFIG", "OPENCODE_CONFIG_DIR"], ["OPENCODE_", "OPENAI_", "ANTHROPIC_", "GOOGLE_", "GEMINI_", "AWS_", "AZURE_", "XAI_", "GROQ_", "MISTRAL_", "COHERE_"]);
|
|
61
|
+
}
|
|
44
62
|
export function newOpencodeAccumulator(model) {
|
|
45
63
|
return { usage: emptyUsage(), model, finalText: "", lastActivity: "" };
|
|
46
64
|
}
|
|
@@ -76,6 +94,7 @@ export function foldOpencodeEventLine(acc, line) {
|
|
|
76
94
|
const part = event.part;
|
|
77
95
|
switch (event.type) {
|
|
78
96
|
case "text":
|
|
97
|
+
acc.terminalSeen = false;
|
|
79
98
|
if (part && typeof part.text === "string" && part.text) {
|
|
80
99
|
// Text parts stream; concatenate within the current step. A tool call
|
|
81
100
|
// (below) resets this, so only the LAST step's text is the answer.
|
|
@@ -84,6 +103,7 @@ export function foldOpencodeEventLine(acc, line) {
|
|
|
84
103
|
}
|
|
85
104
|
break;
|
|
86
105
|
case "tool_use":
|
|
106
|
+
acc.terminalSeen = false;
|
|
87
107
|
// A tool call means any text so far was intermediate reasoning, not the
|
|
88
108
|
// final answer — drop it and keep only text that follows the last tool.
|
|
89
109
|
acc.finalText = "";
|
|
@@ -91,6 +111,7 @@ export function foldOpencodeEventLine(acc, line) {
|
|
|
91
111
|
activity = shortTool(part);
|
|
92
112
|
break;
|
|
93
113
|
case "step_finish": {
|
|
114
|
+
acc.terminalSeen = true;
|
|
94
115
|
acc.usage.turns++;
|
|
95
116
|
const tk = part?.tokens;
|
|
96
117
|
if (tk) {
|
|
@@ -114,8 +135,11 @@ export function foldOpencodeEventLine(acc, line) {
|
|
|
114
135
|
activity = `error: ${msg}`;
|
|
115
136
|
break;
|
|
116
137
|
}
|
|
138
|
+
case "step_start":
|
|
139
|
+
acc.terminalSeen = false;
|
|
140
|
+
return null;
|
|
117
141
|
default:
|
|
118
|
-
return null; //
|
|
142
|
+
return null; // other — nothing to fold.
|
|
119
143
|
}
|
|
120
144
|
if (activity)
|
|
121
145
|
acc.lastActivity = activity.replace(/\s+/g, " ").trim();
|
|
@@ -161,6 +185,19 @@ export function resolveOpencodeModel(model) {
|
|
|
161
185
|
return undefined; // openrouter path (openrouter/vendor/model)
|
|
162
186
|
return model;
|
|
163
187
|
}
|
|
188
|
+
/** Normalize Taskflow aliases before OpenCode resolves the provider-specific variant. */
|
|
189
|
+
export function resolveOpencodeThinking(thinking) {
|
|
190
|
+
if (!thinking)
|
|
191
|
+
return undefined;
|
|
192
|
+
const normalized = thinking.trim().toLowerCase();
|
|
193
|
+
if (normalized === "off")
|
|
194
|
+
return "none";
|
|
195
|
+
if (normalized === "ultra")
|
|
196
|
+
return "max";
|
|
197
|
+
if (["none", "minimal", "low", "medium", "high", "xhigh", "max"].includes(normalized))
|
|
198
|
+
return normalized;
|
|
199
|
+
throw new Error(`Unsupported OpenCode thinking level '${thinking}'. Use off, none, minimal, low, medium, high, xhigh, max, or ultra.`);
|
|
200
|
+
}
|
|
164
201
|
/**
|
|
165
202
|
* Build the full `opencode run` argv from a phase's resolved context — PURE
|
|
166
203
|
* (no process.env, no spawn). Extracted from `runOpencodeAgentTask` so the
|
|
@@ -176,11 +213,20 @@ export function buildOpencodeArgs(ctx) {
|
|
|
176
213
|
const fullPrompt = ctx.systemPrompt.trim()
|
|
177
214
|
? `${ctx.systemPrompt.trim()}\n\n---\n\nTask: ${ctx.task}`
|
|
178
215
|
: `Task: ${ctx.task}`;
|
|
179
|
-
|
|
216
|
+
if (!readOnly && !ctx.allowUnsafeAuto) {
|
|
217
|
+
throw new Error(`OpenCode mutating/default-capable phases require unsandboxed --auto permissions. ` +
|
|
218
|
+
`Set ${OPENCODE_UNSAFE_AUTO_ENV}=1 to explicitly allow this execution.`);
|
|
219
|
+
}
|
|
220
|
+
// --pure prevents user/project plugins from executing outside the tool
|
|
221
|
+
// permission policy. It is mandatory for both read-only and unsafe runs.
|
|
222
|
+
const args = ["run", fullPrompt, "--format", "json", "--pure"];
|
|
180
223
|
if (ctx.cwd)
|
|
181
224
|
args.push("--dir", ctx.cwd);
|
|
182
225
|
if (opencodeModel)
|
|
183
226
|
args.push("-m", opencodeModel);
|
|
227
|
+
const variant = resolveOpencodeThinking(ctx.thinking);
|
|
228
|
+
if (variant)
|
|
229
|
+
args.push("--variant", variant);
|
|
184
230
|
if (!readOnly)
|
|
185
231
|
args.push("--auto");
|
|
186
232
|
return { args, readOnly };
|
|
@@ -195,16 +241,37 @@ export async function runOpencodeAgentTask(defaultCwd, agents, agentName, task,
|
|
|
195
241
|
if (!agent)
|
|
196
242
|
return unknownAgentResult(agentName, task, agents);
|
|
197
243
|
const model = opts.model ?? agent.model;
|
|
244
|
+
const thinking = opts.thinking ?? agent.thinking ?? globalThinking;
|
|
198
245
|
const tools = opts.tools ?? agent.tools;
|
|
199
|
-
void globalThinking; // opencode's --variant is provider-specific; reserved.
|
|
200
246
|
const cwd = opts.cwd ?? defaultCwd;
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
247
|
+
const childEnv = opencodeChildEnv();
|
|
248
|
+
let args;
|
|
249
|
+
let readOnly;
|
|
250
|
+
try {
|
|
251
|
+
({ args, readOnly } = buildOpencodeArgs({
|
|
252
|
+
systemPrompt: agent.systemPrompt,
|
|
253
|
+
task,
|
|
254
|
+
model,
|
|
255
|
+
thinking,
|
|
256
|
+
tools,
|
|
257
|
+
cwd,
|
|
258
|
+
allowUnsafeAuto: opencodeUnsafeAutoEnabled(),
|
|
259
|
+
}));
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
const message = sanitizeErrorMessage(error instanceof Error ? error.message : String(error));
|
|
263
|
+
return {
|
|
264
|
+
agent: agentName,
|
|
265
|
+
task,
|
|
266
|
+
exitCode: 1,
|
|
267
|
+
output: "",
|
|
268
|
+
stderr: message,
|
|
269
|
+
usage: emptyUsage(),
|
|
270
|
+
model,
|
|
271
|
+
errorMessage: message,
|
|
272
|
+
stopReason: "permission_denied",
|
|
273
|
+
};
|
|
274
|
+
}
|
|
208
275
|
return runSubagentProcess({
|
|
209
276
|
agent: agentName,
|
|
210
277
|
task,
|
|
@@ -213,13 +280,15 @@ export async function runOpencodeAgentTask(defaultCwd, agents, agentName, task,
|
|
|
213
280
|
args,
|
|
214
281
|
// A read-only phase injects the deny-mutations permission policy; the
|
|
215
282
|
// shared runner merges this over the parent env.
|
|
216
|
-
env: readOnly ? { ...
|
|
283
|
+
env: readOnly ? { ...childEnv, OPENCODE_CONFIG_CONTENT: OPENCODE_READ_ONLY_CONFIG } : childEnv,
|
|
217
284
|
cwd,
|
|
218
285
|
idleTimeoutMs: opts.idleTimeoutMs,
|
|
219
286
|
signal: opts.signal,
|
|
220
287
|
onLive: opts.onLive,
|
|
221
288
|
acc: newOpencodeAccumulator(model),
|
|
222
289
|
foldLine: foldOpencodeEventLine,
|
|
290
|
+
requireTerminalEvent: true,
|
|
291
|
+
terminalEventLabel: "OpenCode step_finish",
|
|
223
292
|
});
|
|
224
293
|
}
|
|
225
294
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-runner.js","sourceRoot":"","sources":["../src/opencode-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,kBAAkB,EAClB,GAAG,EACH,kBAAkB,GAOlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode-runner.js","sourceRoot":"","sources":["../src/opencode-runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,35 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taskflow-hosts",
|
|
3
|
-
"version": "0.1
|
|
4
|
-
"description": "Shared host-runner collection for taskflow — the codex, claude, and
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Shared host-runner collection for taskflow — the codex, claude, opencode, and grok SubagentRunner implementations + their argv builders and event-stream parsers. The per-host MCP servers, plugin scaffolds, and bins live in codex-taskflow / claude-taskflow / opencode-taskflow / grok-taskflow; this package holds just the runners so a new host can be added in one place.",
|
|
5
5
|
"homepage": "https://github.com/heggria/taskflow#readme",
|
|
6
|
+
"author": "heggria <bshengtao@gmail.com>",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/heggria/taskflow/issues"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/heggria/taskflow.git",
|
|
13
|
+
"directory": "packages/taskflow-hosts"
|
|
14
|
+
},
|
|
6
15
|
"type": "module",
|
|
7
16
|
"engines": {
|
|
8
17
|
"node": ">=22.19.0"
|
|
9
18
|
},
|
|
10
19
|
"exports": {
|
|
11
20
|
".": {
|
|
12
|
-
"development": "./src/index.ts",
|
|
13
21
|
"types": "./dist/index.d.ts",
|
|
14
22
|
"default": "./dist/index.js"
|
|
15
23
|
},
|
|
16
24
|
"./codex": {
|
|
17
|
-
"development": "./src/codex-runner.ts",
|
|
18
25
|
"types": "./dist/codex-runner.d.ts",
|
|
19
26
|
"default": "./dist/codex-runner.js"
|
|
20
27
|
},
|
|
21
28
|
"./claude": {
|
|
22
|
-
"development": "./src/claude-runner.ts",
|
|
23
29
|
"types": "./dist/claude-runner.d.ts",
|
|
24
30
|
"default": "./dist/claude-runner.js"
|
|
25
31
|
},
|
|
26
32
|
"./opencode": {
|
|
27
|
-
"development": "./src/opencode-runner.ts",
|
|
28
33
|
"types": "./dist/opencode-runner.d.ts",
|
|
29
34
|
"default": "./dist/opencode-runner.js"
|
|
30
35
|
},
|
|
36
|
+
"./grok": {
|
|
37
|
+
"types": "./dist/grok-runner.d.ts",
|
|
38
|
+
"default": "./dist/grok-runner.js"
|
|
39
|
+
},
|
|
31
40
|
"./*": {
|
|
32
|
-
"development": "./src/*.ts",
|
|
33
41
|
"types": "./dist/*.d.ts",
|
|
34
42
|
"default": "./dist/*.js"
|
|
35
43
|
}
|
|
@@ -40,8 +48,11 @@
|
|
|
40
48
|
"dist",
|
|
41
49
|
"README.md"
|
|
42
50
|
],
|
|
51
|
+
"publishConfig": {
|
|
52
|
+
"access": "public"
|
|
53
|
+
},
|
|
43
54
|
"dependencies": {
|
|
44
|
-
"taskflow-core": "0.1
|
|
55
|
+
"taskflow-core": "0.2.1"
|
|
45
56
|
},
|
|
46
57
|
"devDependencies": {
|
|
47
58
|
"typescript": "^7.0.2"
|
|
@@ -52,10 +63,12 @@
|
|
|
52
63
|
"codex",
|
|
53
64
|
"claude",
|
|
54
65
|
"opencode",
|
|
66
|
+
"grok",
|
|
67
|
+
"grok-build",
|
|
55
68
|
"orchestration"
|
|
56
69
|
],
|
|
57
70
|
"license": "MIT",
|
|
58
71
|
"scripts": {
|
|
59
72
|
"build": "rm -rf dist && tsc -p tsconfig.build.json"
|
|
60
73
|
}
|
|
61
|
-
}
|
|
74
|
+
}
|