@love-moon/ai-sdk 0.13.2 → 0.13.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @love-moon/ai-sdk
2
2
 
3
+ ## 0.13.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 0859251: Show Codex progress notes as soon as Codex finishes writing them. The session
8
+ did not recognize the app-server's `agentMessage` items, so a commentary message
9
+ was held back until the next message started or the turn ended, often minutes
10
+ later during long tool runs.
11
+ - c1b66d1: Fix Codex tasks that stopped mid-reply after the agent spawned sub-agents. In
12
+ multi-agent mode the Codex app-server also streams the sub-agent threads, and
13
+ the first sub-agent to finish ended the parent turn. The parent's later
14
+ messages and final answer were dropped, and a sub-agent's report could show up
15
+ as the AI reply. The session now ignores notifications from other threads.
16
+ - f6dbd6b: Show completed Codex replies while subsequent tools are still running, and keep replies intact when their final text and completion arrive together.
17
+
3
18
  ## 0.13.2
4
19
 
5
20
  ### Patch Changes
@@ -121,7 +121,7 @@ function resolveItemPhase(item) {
121
121
  includesCandidate("reason", "summary")) {
122
122
  return "reasoning";
123
123
  }
124
- if (hasCandidate("message", "agent_message", "output_text", "final_answer")) {
124
+ if (hasCandidate("message", "agentmessage", "agent_message", "output_text", "final_answer")) {
125
125
  return "assistant_message";
126
126
  }
127
127
  if (hasCandidate("compaction", "context_compacted", "compacted") || includesCandidate("compact")) {
@@ -838,8 +838,19 @@ export class CodexAppServerSession extends EventEmitter {
838
838
  if (this.closeRequested) {
839
839
  return;
840
840
  }
841
+ // Multi-agent mode streams spawned sub-agent threads over this connection.
842
+ // Only our own thread may drive turn/message state: a sub-agent's
843
+ // turn/completed must not end the parent turn and drop its final answer.
844
+ const threadId = typeof params?.threadId === "string" ? params.threadId.trim() : "";
845
+ if (threadId && this.sessionId && threadId !== this.sessionId) {
846
+ this.touchTurnActivity();
847
+ return;
848
+ }
841
849
  switch (method) {
842
850
  case "thread/started":
851
+ if (params?.thread?.parentThreadId) {
852
+ return;
853
+ }
843
854
  this.applyThreadInfo(params, { resumeReady: Boolean(this.resumeSessionId) });
844
855
  return;
845
856
  case "sessionConfigured":
@@ -965,12 +976,16 @@ export class CodexAppServerSession extends EventEmitter {
965
976
  }
966
977
  return;
967
978
  }
968
- await this.emitWorkingStatus({
969
- phase: "message_aggregation",
970
- reply_in_progress: true,
971
- status_line: statusLineForPhase("message_aggregation"),
972
- });
973
- await this.queueAssistantDelta(delta, { messageId });
979
+ // Notifications from one stdout batch run concurrently. Buffer the
980
+ // delta before yielding so item/completed cannot flush a partial reply.
981
+ await Promise.all([
982
+ this.queueAssistantDelta(delta, { messageId }),
983
+ this.emitWorkingStatus({
984
+ phase: "message_aggregation",
985
+ reply_in_progress: true,
986
+ status_line: statusLineForPhase("message_aggregation"),
987
+ }),
988
+ ]);
974
989
  return;
975
990
  }
976
991
  case "thread/tokenUsage/updated": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@love-moon/ai-sdk",
3
- "version": "0.13.2",
3
+ "version": "0.13.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/lovemoon-ai/conductor.git"
@@ -53,12 +53,12 @@
53
53
  "zod": "^4.1.5"
54
54
  },
55
55
  "optionalDependencies": {
56
- "@love-moon/chat-web": "^0.13.2"
56
+ "@love-moon/chat-web": "^0.13.3"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/node": "^22.10.2",
60
60
  "tsx": "^4.20.6",
61
61
  "typescript": "^5.6.3"
62
62
  },
63
- "gitCommitId": "d60a6a2"
63
+ "gitCommitId": "d61c070"
64
64
  }