@tianshu-ai/tianshu 0.4.32 → 0.4.34

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@tianshu-ai/tianshu",
3
- "version": "0.4.32",
3
+ "version": "0.4.34",
4
4
  "description": "An open AI agent platform with a sidecar browser. Built in public.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/tianshu-ai/tianshu",
@@ -45,6 +45,9 @@ export declare class OpenCodeWorker implements WorkerHandle {
45
45
  readonly kind = "opencode";
46
46
  readonly agentId: string;
47
47
  readonly name: string;
48
+ /** Worker session for the current run's transcript. Created once
49
+ * by ensureSession(), reused by the poller + the final write. */
50
+ private sessionId;
48
51
  constructor(deps: OpenCodeWorkerDeps);
49
52
  run(task: Task, signal: AbortSignal): Promise<TerminalUpdate>;
50
53
  /**
@@ -59,6 +62,23 @@ export declare class OpenCodeWorker implements WorkerHandle {
59
62
  * writing never breaks the task. Returns the session id to stamp
60
63
  * onto the task.
61
64
  */
65
+ /** Ensure the worker session + owner user row exist once. Returns
66
+ * the session id (stable for the whole run so the poller and the
67
+ * final write target the same session). */
68
+ private ensureSession;
69
+ /**
70
+ * (Re)write the session's transcript from the current parsed state.
71
+ * Called repeatedly during the run (poller) and once at the end.
72
+ * Idempotent: clears the session's messages and reinserts, so the
73
+ * Execution tab reflects the latest progress. Emits, in order:
74
+ * - user : the prompt
75
+ * - assistant : the text-so-far + tool_use parts (real args)
76
+ * - tool : one tool_result per completed/errored tool so
77
+ * the chips resolve (done/failed) instead of
78
+ * spinning forever
79
+ * - system : outcome footer (only when `final`)
80
+ * Best-effort; never throws into the run.
81
+ */
62
82
  private writeHistory;
63
83
  private sh;
64
84
  /** Best-effort list of files opencode wrote under the workdir,
@@ -70,8 +90,16 @@ export declare class OpenCodeWorker implements WorkerHandle {
70
90
  * Each line is `{type, timestamp, sessionID, ...data}`. */
71
91
  export interface OpencodeToolEvent {
72
92
  tool: string;
73
- /** Best-effort short arg summary. */
93
+ /** Best-effort short arg summary (for logs). */
74
94
  detail: string;
95
+ /** The tool's input object, when opencode reported one — used to
96
+ * render real args in the transcript. */
97
+ input?: unknown;
98
+ /** "completed" | "error" | undefined (still running). Drives the
99
+ * tool-result chip so the UI shows done vs. failed vs. spinner. */
100
+ status?: string;
101
+ /** The tool's output/result text (completed) or error (error). */
102
+ output?: string;
75
103
  }
76
104
  export declare function parseOpencodeEvents(stdout: string): {
77
105
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-worker.d.ts","sourceRoot":"","sources":["../../src/worker/opencode-worker.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAEV,uBAAuB,EAEvB,YAAY,EACZ,aAAa,EACb,cAAc,EACf,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;oEACgE;IAChE,EAAE,EAAE,cAAc,CAAC;IACnB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,YAAY,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkBD,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;IAsTnE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IAsGpB,OAAO,CAAC,EAAE;IAgBV;mEAC+D;YACjD,aAAa;CAsB5B;AAWD;;4DAE4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B,CAoEA"}
1
+ {"version":3,"file":"opencode-worker.d.ts","sourceRoot":"","sources":["../../src/worker/opencode-worker.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAEV,uBAAuB,EAEvB,YAAY,EACZ,aAAa,EACb,cAAc,EACf,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;oEACgE;IAChE,EAAE,EAAE,cAAc,CAAC;IACnB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,YAAY,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkBD,qBAAa,cAAe,YAAW,YAAY;IAQrC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;sEACkE;IAClE,OAAO,CAAC,SAAS,CAAuB;gBAEX,IAAI,EAAE,kBAAkB;IAK/C,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAqVnE;;;;;;;;;;;OAWG;IACH;;gDAE4C;IAC5C,OAAO,CAAC,aAAa;IAkCrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAAY;IAgGpB,OAAO,CAAC,EAAE;IAgBV;mEAC+D;YACjD,aAAa;CAsB5B;AAWD;;4DAE4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf;8CAC0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;wEACoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B,CA2FA"}
@@ -62,6 +62,9 @@ export class OpenCodeWorker {
62
62
  kind = "opencode";
63
63
  agentId;
64
64
  name;
65
+ /** Worker session for the current run's transcript. Created once
66
+ * by ensureSession(), reused by the poller + the final write. */
67
+ sessionId = null;
65
68
  constructor(deps) {
66
69
  this.deps = deps;
67
70
  this.agentId = deps.agentId;
@@ -264,7 +267,39 @@ export class OpenCodeWorker {
264
267
  `opencode run --model tianshu/${nativeModelId} --format json ` +
265
268
  `< .prompt.txt > oc.out 2> oc.err ; ` +
266
269
  `cat oc.out`;
267
- const res = await this.sh(cmd, task, signal, this.deps.timeoutMs);
270
+ // Near-real-time transcript: while opencode runs (sh() blocks
271
+ // until it exits), poll the oc.out NDJSON file from the sandbox
272
+ // every few seconds, parse what's there so far, and rewrite the
273
+ // session history. Lets the Execution tab show progress
274
+ // mid-run instead of only at the end. Best-effort; any poll
275
+ // error is ignored. Cleared in finally.
276
+ this.ensureSession(task);
277
+ const pollWorkdir = workdir;
278
+ let polling = true;
279
+ const pollTimer = setInterval(() => {
280
+ void (async () => {
281
+ if (!polling)
282
+ return;
283
+ try {
284
+ const out = await this.deps.shell.readFile(`${pollWorkdir}/oc.out`);
285
+ if (!out)
286
+ return;
287
+ const p = parseOpencodeEvents(out);
288
+ this.writeHistory(task, p, {}, false);
289
+ }
290
+ catch {
291
+ /* file not there yet / read raced — ignore */
292
+ }
293
+ })();
294
+ }, 4000);
295
+ let res;
296
+ try {
297
+ res = await this.sh(cmd, task, signal, this.deps.timeoutMs);
298
+ }
299
+ finally {
300
+ polling = false;
301
+ clearInterval(pollTimer);
302
+ }
268
303
  this.deps.log.info?.("opencode-worker: run finished", {
269
304
  taskId: task.id,
270
305
  exitCode: res.exitCode,
@@ -278,7 +313,7 @@ export class OpenCodeWorker {
278
313
  // assistant text + tool calls). Best-effort; failure to write
279
314
  // history never fails the task. Also drop the raw NDJSON into
280
315
  // the workdir as a downloadable artifact.
281
- const sessionId = this.writeHistory(task, parsed, res);
316
+ const sessionId = this.writeHistory(task, parsed, res, true);
282
317
  await this.deps.shell
283
318
  .writeFile(`${workdir}/opencode-transcript.jsonl`, res.stdout ?? "")
284
319
  .catch(() => undefined);
@@ -353,58 +388,112 @@ export class OpenCodeWorker {
353
388
  * writing never breaks the task. Returns the session id to stamp
354
389
  * onto the task.
355
390
  */
356
- writeHistory(task, parsed, res) {
391
+ /** Ensure the worker session + owner user row exist once. Returns
392
+ * the session id (stable for the whole run so the poller and the
393
+ * final write target the same session). */
394
+ ensureSession(task) {
395
+ if (this.sessionId)
396
+ return this.sessionId;
357
397
  try {
358
398
  const db = this.deps.db;
359
399
  const now = Date.now();
360
400
  const sessionId = `ocs_${randomUUID().replace(/-/g, "").slice(0, 20)}`;
361
401
  const userId = this.deps.ownerUserId ?? task.ownerUserId;
362
- // sessions.user_id has a NOT NULL FK to users(id). The task's
363
- // owner is normally already a user, but dev-tenant / virtual
364
- // users may not be persisted — ensure the row exists so the
365
- // session insert doesn't hit a FOREIGN KEY constraint. Idempotent.
402
+ // sessions.user_id FK -> users(id); dev/virtual users may not
403
+ // be persisted, so ensure the row exists first (idempotent).
366
404
  db.prepare(`INSERT OR IGNORE INTO users (id, external_id, provider, display_name, created_at)
367
405
  VALUES (?, ?, 'opencode-worker', ?, ?)`).run(userId, userId, userId, now);
368
406
  db.prepare(`INSERT INTO sessions (id, user_id, status, kind, worker_role, title, project_slug, created_at)
369
407
  VALUES (?, ?, 'active', 'worker', ?, ?, ?, ?)`).run(sessionId, userId, `opencode:${this.agentId}`, `OpenCode: ${task.title}`.slice(0, 200), task.projectSlug, now);
408
+ this.sessionId = sessionId;
409
+ return sessionId;
410
+ }
411
+ catch (err) {
412
+ this.deps.log.warn?.("opencode-worker: ensureSession failed", {
413
+ err: err instanceof Error ? err.message : String(err),
414
+ });
415
+ return null;
416
+ }
417
+ }
418
+ /**
419
+ * (Re)write the session's transcript from the current parsed state.
420
+ * Called repeatedly during the run (poller) and once at the end.
421
+ * Idempotent: clears the session's messages and reinserts, so the
422
+ * Execution tab reflects the latest progress. Emits, in order:
423
+ * - user : the prompt
424
+ * - assistant : the text-so-far + tool_use parts (real args)
425
+ * - tool : one tool_result per completed/errored tool so
426
+ * the chips resolve (done/failed) instead of
427
+ * spinning forever
428
+ * - system : outcome footer (only when `final`)
429
+ * Best-effort; never throws into the run.
430
+ */
431
+ writeHistory(task, parsed, res, final) {
432
+ const sessionId = this.ensureSession(task);
433
+ if (!sessionId)
434
+ return null;
435
+ try {
436
+ const db = this.deps.db;
437
+ const now = Date.now();
438
+ db.prepare(`DELETE FROM messages WHERE session_id = ?`).run(sessionId);
370
439
  const insertMsg = db.prepare(`INSERT INTO messages (id, session_id, role, content, created_at)
371
440
  VALUES (?, ?, ?, ?, ?)`);
372
- const mkId = () => `ocm_${randomUUID().replace(/-/g, "").slice(0, 20)}`;
373
- // 1) the prompt we sent (user)
374
- insertMsg.run(mkId(), sessionId, "user", JSON.stringify({ text: buildPrompt(task) }), now);
375
- // 2) assistant text + tool calls. Store in the shape the
376
- // history reader understands: content with text + a
377
- // toolCalls array.
378
- const toolCalls = parsed.tools.map((t, i) => ({
379
- callId: `oc_${i}`,
380
- toolName: t.tool,
381
- argsJson: t.detail,
382
- }));
441
+ let seq = 0;
442
+ const mk = (role, content) => insertMsg.run(`ocm_${randomUUID().replace(/-/g, "").slice(0, 20)}`, sessionId, role, JSON.stringify({ content }), now + seq++);
443
+ // 1) prompt
444
+ mk("user", buildPrompt(task));
445
+ // 2) assistant: text + tool_use parts (real args). callId ties
446
+ // each tool_use to its tool_result below.
383
447
  const assistantText = parsed.text ||
384
448
  (parsed.tools.length
385
- ? `(ran ${parsed.tools.length} tool call(s), no final text)`
386
- : "(no output)");
387
- insertMsg.run(mkId(), sessionId, "assistant", JSON.stringify({ text: assistantText, toolCalls }), now + 1);
388
- // 3) outcome footer (system)
389
- const outcome = res.aborted
390
- ? "aborted"
391
- : res.timedOut
392
- ? "timed out"
393
- : parsed.error
394
- ? `error: ${parsed.error}`
395
- : res.exitCode !== 0
396
- ? `exited ${res.exitCode ?? "?"}${res.stderr ? `: ${res.stderr.slice(0, 300)}` : ""}`
397
- : "completed";
398
- insertMsg.run(mkId(), sessionId, "system", JSON.stringify({ text: `OpenCode run ${outcome}.` }), now + 2);
449
+ ? `(running ${parsed.tools.length} tool call(s) so far)`
450
+ : final
451
+ ? "(no output)"
452
+ : "(running…)");
453
+ const parts = [
454
+ { type: "text", text: assistantText },
455
+ ...parsed.tools.map((t, i) => ({
456
+ type: "tool_use",
457
+ id: `oc_${i}`,
458
+ name: t.tool,
459
+ input: t.input ?? {},
460
+ })),
461
+ ];
462
+ mk("assistant", parts);
463
+ // 3) one tool_result per finished tool (completed/error) so the
464
+ // UI chip resolves. Reader recognises role=tool +
465
+ // {role:"toolResult", toolCallId, toolName, content, isError}.
466
+ parsed.tools.forEach((t, i) => {
467
+ if (!t.status)
468
+ return; // still running -> leave chip spinning
469
+ insertMsg.run(`ocm_${randomUUID().replace(/-/g, "").slice(0, 20)}`, sessionId, "tool", JSON.stringify({
470
+ role: "toolResult",
471
+ toolCallId: `oc_${i}`,
472
+ toolName: t.tool,
473
+ isError: t.status === "error",
474
+ content: t.output ?? (t.status === "error" ? "(error)" : "(done)"),
475
+ }), now + seq++);
476
+ });
477
+ // 4) outcome footer only on the final write
478
+ if (final) {
479
+ const outcome = res.aborted
480
+ ? "aborted"
481
+ : res.timedOut
482
+ ? "timed out"
483
+ : parsed.error
484
+ ? `error: ${parsed.error}`
485
+ : res.exitCode !== 0
486
+ ? `exited ${res.exitCode ?? "?"}${res.stderr ? `: ${res.stderr.slice(0, 300)}` : ""}`
487
+ : "completed";
488
+ mk("system", `OpenCode run ${outcome}.`);
489
+ }
399
490
  return sessionId;
400
491
  }
401
492
  catch (err) {
402
493
  this.deps.log.warn?.("opencode-worker: writeHistory failed", {
403
494
  err: err instanceof Error ? err.message : String(err),
404
- userId: this.deps.ownerUserId ?? task.ownerUserId,
405
- ownerUserId: task.ownerUserId,
406
495
  });
407
- return null;
496
+ return sessionId;
408
497
  }
409
498
  }
410
499
  sh(command, task, signal, timeoutMs) {
@@ -472,7 +561,17 @@ export function parseOpencodeEvents(stdout) {
472
561
  const tool = (typeof part.tool === "string" && part.tool) ||
473
562
  (typeof part.name === "string" && part.name) ||
474
563
  "tool";
475
- const input = part.input ?? part.args ?? part.arguments;
564
+ // opencode's ToolPart carries the args under `state.input`
565
+ // (completed tool part). Fall back to the older/simpler spots.
566
+ const state = (part.state ?? {});
567
+ const input = state.input ?? part.input ?? part.args ?? part.arguments;
568
+ const status = typeof state.status === "string" ? state.status : undefined;
569
+ // opencode's completed tool part carries the result under
570
+ // state.output (string) and errors under state.error.
571
+ const outRaw = (typeof state.output === "string" && state.output) ||
572
+ (typeof state.error === "string" && state.error) ||
573
+ "";
574
+ const output = outRaw ? outRaw.slice(0, 4000) : undefined;
476
575
  let detail = "";
477
576
  try {
478
577
  detail = input ? JSON.stringify(input).slice(0, 200) : "";
@@ -480,7 +579,18 @@ export function parseOpencodeEvents(stdout) {
480
579
  catch {
481
580
  detail = "";
482
581
  }
483
- tools.push({ tool, detail });
582
+ // de-dupe: opencode emits a tool_use per state change; merge a
583
+ // later (completed) event into an earlier arg-less one.
584
+ const prev = tools[tools.length - 1];
585
+ if (prev && prev.tool === tool && !prev.input && input) {
586
+ prev.input = input;
587
+ prev.detail = detail;
588
+ prev.status = status ?? prev.status;
589
+ prev.output = output ?? prev.output;
590
+ }
591
+ else {
592
+ tools.push({ tool, detail, input, status, output });
593
+ }
484
594
  }
485
595
  else if (type === "session.error" || type === "error") {
486
596
  // opencode error shape (observed): {type,error:{name,data:{
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-worker.js","sourceRoot":"","sources":["../../src/worker/opencode-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-worker.js","sourceRoot":"","sources":["../../src/worker/opencode-worker.ts"],"names":[],"mappings":"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"}