@tianshu-ai/tianshu 0.4.25 → 0.4.27
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/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-worker.d.ts","sourceRoot":"","sources":["../../src/worker/opencode-worker.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAEV,uBAAuB,EAEvB,YAAY,EACZ,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE9D;;6DAE6D;AAC7D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAarD;AAED;;0BAE0B;AAC1B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CASzE;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;oEACgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,GAAG,EAAE,YAAY,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,qBAAa,cAAe,YAAW,YAAY;IAKrC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEO,IAAI,EAAE,kBAAkB;IAK/C,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode-worker.d.ts","sourceRoot":"","sources":["../../src/worker/opencode-worker.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAEV,uBAAuB,EAEvB,YAAY,EACZ,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE9D;;6DAE6D;AAC7D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAarD;AAED;;0BAE0B;AAC1B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CASzE;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;oEACgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,GAAG,EAAE,YAAY,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,qBAAa,cAAe,YAAW,YAAY;IAKrC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEO,IAAI,EAAE,kBAAkB;IAK/C,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAkKnE,OAAO,CAAC,EAAE;IAgBV;mEAC+D;YACjD,aAAa;CAsB5B;AAWD;;4DAE4D;AAC5D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAqDA"}
|
|
@@ -62,6 +62,11 @@ export class OpenCodeWorker {
|
|
|
62
62
|
const workdir = `opencode/${task.id}`;
|
|
63
63
|
try {
|
|
64
64
|
grant = this.deps.proxy.grant(this.deps.tenantId, modelId);
|
|
65
|
+
this.deps.log.info?.("opencode-worker: starting task", {
|
|
66
|
+
taskId: task.id,
|
|
67
|
+
model: modelId,
|
|
68
|
+
api: grant.api,
|
|
69
|
+
});
|
|
65
70
|
// opencode.json: point the "tianshu" provider at the proxy.
|
|
66
71
|
// The token is the apiKey; the proxy baseUrl already carries
|
|
67
72
|
// the token path segment. OpenCode appends the protocol tail.
|
|
@@ -104,14 +109,31 @@ export class OpenCodeWorker {
|
|
|
104
109
|
}
|
|
105
110
|
await this.sh(`mkdir -p ${shq(workdir)}`, task, signal);
|
|
106
111
|
await this.deps.shell.writeFile(`${workdir}/opencode.json`, JSON.stringify(opencodeConfig, null, 2));
|
|
112
|
+
// Write the prompt to a file and pipe it via stdin rather than
|
|
113
|
+
// passing it as a command-line argument. The sandbox exec
|
|
114
|
+
// transport (openshell) rejects any argv element containing a
|
|
115
|
+
// newline ("command argument N contains newline"), so a
|
|
116
|
+
// multi-line task description would break a positional-arg
|
|
117
|
+
// call. opencode reads a piped prompt from stdin
|
|
118
|
+
// (Bun.stdin.text()), so `... run --format json < .prompt.txt`
|
|
119
|
+
// keeps the command line newline-free while still delivering
|
|
120
|
+
// the full multi-line prompt.
|
|
107
121
|
const prompt = buildPrompt(task);
|
|
122
|
+
await this.deps.shell.writeFile(`${workdir}/.prompt.txt`, prompt);
|
|
108
123
|
// OPENCODE_CONFIG points opencode at our config; run from the
|
|
109
|
-
// task workdir so file artifacts land there.
|
|
124
|
+
// task workdir so file artifacts land there. Prompt via stdin.
|
|
110
125
|
const cmd = `cd ${shq(workdir)} && ` +
|
|
111
126
|
`OPENCODE_CONFIG=./opencode.json ` +
|
|
112
|
-
`opencode run
|
|
113
|
-
|
|
127
|
+
`opencode run --model tianshu/${nativeModelId} --format json ` +
|
|
128
|
+
`< .prompt.txt`;
|
|
114
129
|
const res = await this.sh(cmd, task, signal, this.deps.timeoutMs);
|
|
130
|
+
this.deps.log.info?.("opencode-worker: run finished", {
|
|
131
|
+
taskId: task.id,
|
|
132
|
+
exitCode: res.exitCode,
|
|
133
|
+
timedOut: res.timedOut,
|
|
134
|
+
aborted: res.aborted,
|
|
135
|
+
stderrHead: res.stderr ? res.stderr.slice(0, 200) : "",
|
|
136
|
+
});
|
|
115
137
|
if (res.aborted) {
|
|
116
138
|
return {
|
|
117
139
|
status: "aborted",
|
|
@@ -182,8 +204,8 @@ export class OpenCodeWorker {
|
|
|
182
204
|
async listArtifacts(workdir, task, signal) {
|
|
183
205
|
try {
|
|
184
206
|
const res = await this.sh(
|
|
185
|
-
// list files (
|
|
186
|
-
`cd ${shq(workdir)} && find . -type f ! -name opencode.json -printf '%P\\n' 2>/dev/null | head -100`, task, signal);
|
|
207
|
+
// list files (skip our scaffolding), newline-separated, relative
|
|
208
|
+
`cd ${shq(workdir)} && find . -type f ! -name opencode.json ! -name .prompt.txt -printf '%P\\n' 2>/dev/null | head -100`, task, signal);
|
|
187
209
|
if (res.exitCode !== 0)
|
|
188
210
|
return [];
|
|
189
211
|
return res.stdout
|
|
@@ -230,14 +252,33 @@ export function parseOpencodeEvents(stdout) {
|
|
|
230
252
|
}
|
|
231
253
|
}
|
|
232
254
|
else if (type === "session.error" || type === "error") {
|
|
233
|
-
//
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
if (!error)
|
|
240
|
-
|
|
255
|
+
// opencode error shape (observed): {type,error:{name,data:{
|
|
256
|
+
// message,statusCode,responseBody,...}}} — sometimes nested
|
|
257
|
+
// under `properties`. Dig for the useful bits: name +
|
|
258
|
+
// statusCode + message + a snippet of the upstream body, so a
|
|
259
|
+
// proxy/upstream 4xx/5xx is diagnosable instead of just
|
|
260
|
+
// "APIError".
|
|
261
|
+
if (!error) {
|
|
262
|
+
const props = (ev.properties ?? ev);
|
|
263
|
+
const e = (props.error ?? props);
|
|
264
|
+
const data = (e.data ?? {});
|
|
265
|
+
const name = typeof e.name === "string" ? e.name : "error";
|
|
266
|
+
const status = typeof data.statusCode === "number"
|
|
267
|
+
? ` (status ${data.statusCode})`
|
|
268
|
+
: "";
|
|
269
|
+
const msg = (typeof data.message === "string" && data.message) ||
|
|
270
|
+
(typeof e.message === "string" && e.message) ||
|
|
271
|
+
"";
|
|
272
|
+
const bodyRaw = (typeof data.responseBody === "string" && data.responseBody) ||
|
|
273
|
+
(typeof data.body === "string" && data.body) ||
|
|
274
|
+
"";
|
|
275
|
+
const body = bodyRaw
|
|
276
|
+
? ` — body: ${bodyRaw.replace(/\s+/g, " ").slice(0, 300)}`
|
|
277
|
+
: "";
|
|
278
|
+
error =
|
|
279
|
+
`${name}${status}${msg ? `: ${msg}` : ""}${body}` ||
|
|
280
|
+
JSON.stringify(e).slice(0, 400);
|
|
281
|
+
}
|
|
241
282
|
}
|
|
242
283
|
}
|
|
243
284
|
return { text: texts.join("\n\n"), error };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-worker.js","sourceRoot":"","sources":["../../src/worker/opencode-worker.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,iEAAiE;AACjE,oEAAoE;AACpE,oEAAoE;AACpE,qBAAqB;AACrB,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,6DAA6D;AAY7D;;6DAE6D;AAC7D,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,oBAAoB;YACvB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,sBAAsB;YACzB,OAAO,gBAAgB,CAAC;QAC1B,KAAK,oBAAoB,CAAC;QAC1B,KAAK,kBAAkB,CAAC;QACxB;YACE,gEAAgE;YAChE,yCAAyC;YACzC,OAAO,2BAA2B,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;0BAE0B;AAC1B,MAAM,UAAU,gBAAgB,CAAC,IAAU,EAAE,YAAoB;IAC/D,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAChC,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;IACpB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAgBD;;sDAEsD;AACtD,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEnC,MAAM,OAAO,cAAc;IAKI;IAJpB,IAAI,GAAG,UAAU,CAAC;IAClB,OAAO,CAAS;IAChB,IAAI,CAAS;IAEtB,YAA6B,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAU,EAAE,MAAmB;QACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/D,IAAI,KAAK,GAA8B,IAAI,CAAC;QAC5C,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC;QAEtC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode-worker.js","sourceRoot":"","sources":["../../src/worker/opencode-worker.ts"],"names":[],"mappings":"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"}
|