@tianshu-ai/tianshu 0.3.46 → 0.3.48

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.3.46",
3
+ "version": "0.3.48",
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",
@@ -5,10 +5,6 @@ export interface ChannelRouterDeps {
5
5
  * + skills get wired in. Same instance the WebSocket handler
6
6
  * uses; channels share the surface. */
7
7
  pluginRegistry?: import("../core/plugins/registry.js").PluginRegistry;
8
- /** Host's $HOME equivalent — currently only consumed by
9
- * runPrompt's homeDir param, which a few tools need for path
10
- * resolution. */
11
- homeDir?: string;
12
8
  }
13
9
  /** Wire the router into the hub. Returns an unsubscribe function
14
10
  * the caller invokes at shutdown. */
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/channels/router.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA6CvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB;;4CAEwC;IACxC,cAAc,CAAC,EAAE,OAAO,6BAA6B,EAAE,cAAc,CAAC;IACtE;;sBAEkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;sCACsC;AACtC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAoBtE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/channels/router.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA6CvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB;;4CAEwC;IACxC,cAAc,CAAC,EAAE,OAAO,6BAA6B,EAAE,cAAc,CAAC;CACvE;AAED;sCACsC;AACtC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAoBtE"}
@@ -103,13 +103,13 @@ async function dispatch(envelope, deps) {
103
103
  channelId: envelope.channelId,
104
104
  });
105
105
  const runAttempt = async (candidateModelId) => {
106
- let deltaChunks = [];
107
106
  const assistantQueue = [];
107
+ const sentMessageIds = new Set();
108
108
  let errorReason = "";
109
109
  const sink = (msg) => {
110
110
  // Rebroadcast persisted-row events scoped to this channel
111
- // session so a chat shell viewing it paints them live. We
112
- // tag each one with `sessionId` so the chat shell can
111
+ // session so a chat shell viewing it paints them live.
112
+ // We tag each one with `sessionId` so the chat shell can
113
113
  // filter (only apply when viewingSessionId matches) and
114
114
  // the events don't leak into the unrelated webchat thread.
115
115
  if (msg.type === "message_added" ||
@@ -120,15 +120,32 @@ async function dispatch(envelope, deps) {
120
120
  sessionId: session.id,
121
121
  });
122
122
  }
123
- if (msg.type === "stream_delta") {
124
- deltaChunks.push(msg.delta);
123
+ // EVERY assistant message gets queued for adapter delivery.
124
+ // The agent loop emits a `message_added` event for each
125
+ // turn the LLM completes (text turn, post-tool-call
126
+ // continuation, etc.). Previously we only queued the final
127
+ // `stream_end` body, dropping the in-between turns; users
128
+ // on wechat saw only the last response. `sentMessageIds`
129
+ // de-dupes against `stream_end` which fires for the same
130
+ // last message after message_added does.
131
+ if (msg.type === "message_added" && msg.message?.role === "assistant") {
132
+ const text = msg.message.text?.trim() ?? "";
133
+ if (text.length > 0) {
134
+ sentMessageIds.add(msg.message.id);
135
+ assistantQueue.push(text);
136
+ }
125
137
  }
126
138
  else if (msg.type === "stream_end") {
127
- const wireText = msg.message?.text?.trim() ?? "";
128
- const text = wireText || deltaChunks.join("").trim();
129
- deltaChunks = [];
130
- if (text.length > 0)
139
+ // Belt-and-braces: stream_end's `message` is the last
140
+ // assistant turn. If it wasn't already queued via a
141
+ // preceding message_added (some agent paths skip the
142
+ // intermediate event), queue it now.
143
+ const wire = msg.message;
144
+ const text = wire?.text?.trim() ?? "";
145
+ if (wire && text.length > 0 && !sentMessageIds.has(wire.id)) {
146
+ sentMessageIds.add(wire.id);
131
147
  assistantQueue.push(text);
148
+ }
132
149
  }
133
150
  else if (msg.type === "stream_error") {
134
151
  errorReason = msg.reason || "unknown";
@@ -144,7 +161,14 @@ async function dispatch(envelope, deps) {
144
161
  modelId: candidateModelId,
145
162
  signal: aborter.signal,
146
163
  pluginRegistry: deps.pluginRegistry,
147
- homeDir: deps.homeDir,
164
+ // Per-tenant workspace dir — feeds toolContext.tenantHomeDir
165
+ // so tenant_config_* tools resolve to
166
+ // `<tenant>/_tenant/config/...`. WebSocket chat passes the
167
+ // same value (`ctx.workspaceDir`). Without this the router
168
+ // sent homeDir=undefined, getTenantConfigRoot fell back to
169
+ // a CWD-relative "workspace/_tenant/config" phantom dir,
170
+ // and channel agents saw zero workers / skills.
171
+ homeDir: ctx.workspaceDir,
148
172
  session,
149
173
  });
150
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/channels/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/channels/router.ts"],"names":[],"mappings":"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"}