mastracode 0.40.0 → 0.40.1-alpha.0

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/dist/cli.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const require_tui = require("./tui-CtCz8i3t.cjs");
2
+ const require_tui = require("./tui-B64FvoTy.cjs");
3
3
  let _mastra_code_sdk = require("@mastra/code-sdk");
4
4
  let fs = require("fs");
5
5
  fs = require_tui.__toESM(fs, 1);
@@ -46,7 +46,7 @@ function resolveTuiSubagents(enabled) {
46
46
  //#endregion
47
47
  //#region src/version.ts
48
48
  function getCurrentVersion() {
49
- return "0.40.0";
49
+ return "0.40.1-alpha.0";
50
50
  }
51
51
  //#endregion
52
52
  //#region src/main.ts
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { b as TUI_CO_AUTHOR, d as detectTerminalTheme, f as applyThemeMode, t as MastraTUI, v as restoreTerminalForeground } from "./tui-CiBhGUe8.js";
2
+ import { b as TUI_CO_AUTHOR, d as detectTerminalTheme, f as applyThemeMode, t as MastraTUI, v as restoreTerminalForeground } from "./tui-GNGQoTIY.js";
3
3
  import { createMastraCode } from "@mastra/code-sdk";
4
4
  import fs from "fs";
5
5
  import { createMastraCodeAnalytics } from "@mastra/code-sdk/analytics";
@@ -45,7 +45,7 @@ function resolveTuiSubagents(enabled) {
45
45
  //#endregion
46
46
  //#region src/version.ts
47
47
  function getCurrentVersion() {
48
- return "0.40.0";
48
+ return "0.40.1-alpha.0";
49
49
  }
50
50
  //#endregion
51
51
  //#region src/main.ts
@@ -1 +1 @@
1
- {"version":3,"file":"event-dispatch.d.ts","sourceRoot":"","sources":["../../src/tui/event-dispatch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAyB,MAAM,+BAA+B,CAAC;AA0CjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C,wBAAsB,aAAa,CACjC,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAsbf"}
1
+ {"version":3,"file":"event-dispatch.d.ts","sourceRoot":"","sources":["../../src/tui/event-dispatch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAA0C,MAAM,+BAA+B,CAAC;AAyClH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAuC3C,wBAAsB,aAAa,CACjC,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CA0bf"}
@@ -19184,8 +19184,8 @@ function handleMessageStart(ctx, message) {
19184
19184
  if (message.role === "assistant") {
19185
19185
  state.lastAskUserComponent = void 0;
19186
19186
  state.lastSubmitPlanComponent = void 0;
19187
+ state.streamingMessage = message;
19187
19188
  if (!state.streamingComponent) {
19188
- state.streamingMessage = message;
19189
19189
  ensureAssistantRenderSegment(state, message.id, ctx.addChildBeforeFollowUps);
19190
19190
  state.assistantRenderRegistry.queueActive(message.id, withParts(message, getTrailingParts(message)), () => {
19191
19191
  reconcileChatBoundarySpacers(state.chatContainer);
@@ -22107,6 +22107,38 @@ function createTUIState(options) {
22107
22107
  function trackInteractivePrompt(ectx, promptType, properties) {
22108
22108
  ectx.analytics?.trackInteractivePrompt(promptType, properties);
22109
22109
  }
22110
+ function applyMessageUpdate(message, update) {
22111
+ if (message.role !== "assistant" || typeof message.content === "string") return void 0;
22112
+ const parts = [...message.content.parts];
22113
+ if (update.type === "text-delta") {
22114
+ const textIndex = parts.findLastIndex((part) => part.type === "text");
22115
+ const textPart = parts[textIndex];
22116
+ if (!textPart || textPart.type !== "text") return void 0;
22117
+ parts[textIndex] = {
22118
+ ...textPart,
22119
+ text: textPart.text + update.delta
22120
+ };
22121
+ } else if (update.type === "reasoning-delta") {
22122
+ const reasoningPart = parts[update.index];
22123
+ if (!reasoningPart || reasoningPart.type !== "reasoning") return void 0;
22124
+ const reasoning = reasoningPart.reasoning + update.delta;
22125
+ parts[update.index] = {
22126
+ ...reasoningPart,
22127
+ reasoning,
22128
+ details: [{
22129
+ type: "text",
22130
+ text: reasoning
22131
+ }]
22132
+ };
22133
+ } else parts[update.index] = update.part;
22134
+ return {
22135
+ ...message,
22136
+ content: {
22137
+ ...message.content,
22138
+ parts
22139
+ }
22140
+ };
22141
+ }
22110
22142
  async function dispatchEvent(event, ectx, state) {
22111
22143
  switch (event.type) {
22112
22144
  case "agent_start":
@@ -22144,16 +22176,21 @@ async function dispatchEvent(event, ectx, state) {
22144
22176
  case "message_start":
22145
22177
  handleMessageStart(ectx, event.message);
22146
22178
  break;
22147
- case "message_update":
22148
- if (event.message.role === "assistant" && getMessageText(event.message).trim().length > 0) {
22179
+ case "message_update": {
22180
+ const message = state.streamingMessage;
22181
+ if (!message || message.id !== event.id) break;
22182
+ const updated = applyMessageUpdate(message, event.event);
22183
+ if (!updated) break;
22184
+ if (event.event.type === "text-delta") {
22149
22185
  state.agentRunLastStreamPartAt = Date.now();
22150
22186
  if (state.decodeStartedAt === 0) state.decodeStartedAt = state.agentRunLastStreamPartAt;
22187
+ ectx.updateStatusLine();
22151
22188
  }
22152
- ectx.updateStatusLine();
22153
- handleMessageUpdate(ectx, event.message);
22189
+ handleMessageUpdate(ectx, updated);
22154
22190
  break;
22191
+ }
22155
22192
  case "message_end":
22156
- handleMessageEnd(ectx, event.message);
22193
+ if (state.streamingMessage?.id === event.id) handleMessageEnd(ectx, state.streamingMessage);
22157
22194
  break;
22158
22195
  case "tool_start":
22159
22196
  state.agentRunLastStreamPartAt = Date.now();
@@ -25342,4 +25379,4 @@ Object.defineProperty(exports, "theme", {
25342
25379
  }
25343
25380
  });
25344
25381
 
25345
- //# sourceMappingURL=tui-CtCz8i3t.cjs.map
25382
+ //# sourceMappingURL=tui-B64FvoTy.cjs.map