mastracode 0.41.1-alpha.2 → 0.41.1-alpha.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/dist/cli.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const require_tui = require("./tui-D5UsAQOX.cjs");
2
+ const require_tui = require("./tui-BF5Fe7AH.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.41.1-alpha.2";
49
+ return "0.41.1-alpha.3";
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-B1UNqped.js";
2
+ import { b as TUI_CO_AUTHOR, d as detectTerminalTheme, f as applyThemeMode, t as MastraTUI, v as restoreTerminalForeground } from "./tui-BMW5AphA.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.41.1-alpha.2";
48
+ return "0.41.1-alpha.3";
49
49
  }
50
50
  //#endregion
51
51
  //#region src/main.ts
@@ -1,5 +1,6 @@
1
1
  import type { AgentControllerEvent } from '@mastra/core/agent-controller';
2
2
  import type { EventHandlerContext } from './handlers/types.js';
3
3
  import type { TUIState } from './state.js';
4
+ export declare function getThreadLifecycleGeneration(state: TUIState): number;
4
5
  export declare function dispatchEvent(event: AgentControllerEvent, ectx: EventHandlerContext, state: TUIState): Promise<void>;
5
6
  //# sourceMappingURL=event-dispatch.d.ts.map
@@ -1 +1 @@
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;AA4ClH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA4C3C,wBAAsB,aAAa,CACjC,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CA4ef"}
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;AA4ClH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAsB3C,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEpE;AA4CD,wBAAsB,aAAa,CACjC,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAsff"}
@@ -30,7 +30,7 @@ export interface EventHandlerContext {
30
30
  }>) => void;
31
31
  startGoal: (objective: string, cancelMessage?: string) => Promise<void>;
32
32
  queueFollowUpMessage: (content: string) => void;
33
- renderExistingMessages: () => Promise<void>;
33
+ renderExistingMessages: (isCurrent?: () => boolean) => Promise<void>;
34
34
  renderClearedTasksInline: (clearedTasks: TaskItemSnapshot[], insertIndex?: number) => void;
35
35
  renderCompletedTasksInline: (completedTasks: TaskItemSnapshot[], insertIndex?: number) => void;
36
36
  renderTaskDeltaInline: (previousTasks: TaskItemSnapshot[], nextTasks: TaskItemSnapshot[], insertIndex?: number) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tui/handlers/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,kBAAkB,EAAE,CAClB,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,KAC1F,IAAI,CAAC;IACV,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,cAAc,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC3F,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,wBAAwB,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3F,0BAA0B,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/F,qBAAqB,EAAE,CACrB,aAAa,EAAE,gBAAgB,EAAE,EACjC,SAAS,EAAE,gBAAgB,EAAE,EAC7B,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC;IACb,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tui/handlers/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,kBAAkB,EAAE,CAClB,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,KAC1F,IAAI,CAAC;IACV,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,cAAc,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC3F,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,sBAAsB,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,wBAAwB,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3F,0BAA0B,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/F,qBAAqB,EAAE,CACrB,aAAa,EAAE,gBAAgB,EAAE,EACjC,SAAS,EAAE,gBAAgB,EAAE,EAC7B,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC;IACb,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"mastra-tui.d.ts","sourceRoot":"","sources":["../../src/tui/mastra-tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mastra-tui.d.ts","sourceRoot":"","sources":["../../src/tui/mastra-tui.ts"],"names":[],"mappings":"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"}
@@ -41,5 +41,5 @@ export declare function addUserMessage(state: TUIState, message: MastraDBMessage
41
41
  * Re-render all existing messages from the controller thread into the chat container.
42
42
  * Called on thread switch and initial load.
43
43
  */
44
- export declare function renderExistingMessages(state: TUIState): Promise<void>;
44
+ export declare function renderExistingMessages(state: TUIState, isCurrent?: () => boolean): Promise<void>;
45
45
  //# sourceMappingURL=render-messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-messages.d.ts","sourceRoot":"","sources":["../../src/tui/render-messages.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA+C5E,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAwD5B;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,WAAW,SAAK,GAAG,IAAI,CASlH;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,QAAQ,EACf,cAAc,EAAE,gBAAgB,EAAE,EAClC,WAAW,SAAK,GACf,IAAI,CAUN;AAMD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,gBAAgB,EAAE,EACjC,SAAS,EAAE,gBAAgB,EAAE,EAC7B,WAAW,SAAK,GACf,OAAO,CA0BT;AAwED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAapH;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,IAAI,CAiBN;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACtD,IAAI,CASN;AA+BD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAMjF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAO1E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAM9D;AAmED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CA0MtF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiJ5G;AAsID;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6X3E"}
1
+ {"version":3,"file":"render-messages.d.ts","sourceRoot":"","sources":["../../src/tui/render-messages.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA+C5E,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAwD5B;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,WAAW,SAAK,GAAG,IAAI,CASlH;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,QAAQ,EACf,cAAc,EAAE,gBAAgB,EAAE,EAClC,WAAW,SAAK,GACf,IAAI,CAUN;AAMD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,gBAAgB,EAAE,EACjC,SAAS,EAAE,gBAAgB,EAAE,EAC7B,WAAW,SAAK,GACf,OAAO,CA0BT;AAwED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAapH;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,IAAI,CAiBN;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACtD,IAAI,CASN;AA+BD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAMjF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAO1E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAM9D;AAmED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CA0MtF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiJ5G;AAsID;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,GAAE,MAAM,OAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqYlH"}
@@ -10821,8 +10821,9 @@ function getLatestMessageTimestamp(messages) {
10821
10821
  * Re-render all existing messages from the controller thread into the chat container.
10822
10822
  * Called on thread switch and initial load.
10823
10823
  */
10824
- async function renderExistingMessages(state) {
10824
+ async function renderExistingMessages(state, isCurrent = () => true) {
10825
10825
  const messages = await state.session.thread.listActiveMessages({ limit: STARTUP_MESSAGE_WINDOW_SIZE });
10826
+ if (!isCurrent()) return;
10826
10827
  state.lastRenderedMessageAt = getLatestMessageTimestamp(messages);
10827
10828
  disposeAssistantRenderState(state);
10828
10829
  state.chatContainer.clear();
@@ -10977,6 +10978,7 @@ async function renderExistingMessages(state) {
10977
10978
  const projectPath = state.session.state.get()?.projectPath;
10978
10979
  const recoverAbsPath = !submittedPlan?.plan ? (0, _mastra_code_sdk_utils_plans.resolvePlanPath)(projectPath ?? process.cwd(), submittedPath) : void 0;
10979
10980
  const recovered = recoverAbsPath ? await (0, _mastra_code_sdk_utils_plans.readPlanFile)(recoverAbsPath) : void 0;
10981
+ if (!isCurrent()) return;
10980
10982
  const planBody = submittedPlan?.plan ?? recovered?.plan ?? "";
10981
10983
  const planResult = new PlanResultComponent({
10982
10984
  title: submittedPlan?.title || recovered?.title || "Implementation Plan",
@@ -11046,10 +11048,13 @@ async function renderExistingMessages(state) {
11046
11048
  if (state.taskProgress) state.taskProgress.updateTasks(previousTasksAcc);
11047
11049
  const currentTasks = state.session.state.get()?.tasks;
11048
11050
  if (!areTasksEqual(currentTasks, previousTasksAcc)) try {
11049
- await state.session.state.set({ tasks: previousTasksAcc });
11051
+ if (state.session.state.setIf) await state.session.state.setIf({ tasks: previousTasksAcc }, isCurrent);
11052
+ else if (isCurrent()) await state.session.state.set({ tasks: previousTasksAcc });
11050
11053
  } catch {}
11054
+ if (!isCurrent()) return;
11051
11055
  state.session.displayState.restoreTasks(previousTasksAcc);
11052
11056
  }
11057
+ if (!isCurrent()) return;
11053
11058
  reconcileChatBoundarySpacers(state.chatContainer);
11054
11059
  pruneChatContainer(state);
11055
11060
  state.ui.requestRender();
@@ -23609,6 +23614,27 @@ function isMessageForCurrentThread(message, state) {
23609
23614
  if (state.pendingNewThread) return !message.threadId;
23610
23615
  return !message.threadId || message.threadId === state.session.thread.getId();
23611
23616
  }
23617
+ const threadLifecycleGenerations = /* @__PURE__ */ new WeakMap();
23618
+ function getThreadLifecycleGeneration(state) {
23619
+ return threadLifecycleGenerations.get(state) ?? 0;
23620
+ }
23621
+ function beginThreadLifecycle(state, threadId) {
23622
+ if (threadId !== state.session.thread.getId()) return void 0;
23623
+ const generation = (threadLifecycleGenerations.get(state) ?? 0) + 1;
23624
+ threadLifecycleGenerations.set(state, generation);
23625
+ return () => threadLifecycleGenerations.get(state) === generation && state.session.thread.getId() === threadId;
23626
+ }
23627
+ async function clearThreadState(state, isCurrent) {
23628
+ const updates = {
23629
+ tasks: [],
23630
+ activePlan: null,
23631
+ sandboxAllowedPaths: []
23632
+ };
23633
+ if (state.session.state.setIf) return state.session.state.setIf(updates, isCurrent);
23634
+ if (!isCurrent()) return false;
23635
+ await state.session.state.set(updates);
23636
+ return isCurrent();
23637
+ }
23612
23638
  function applyMessageUpdate(message, update) {
23613
23639
  if (message.role !== "assistant" || typeof message.content === "string") return void 0;
23614
23640
  const parts = [...message.content.parts];
@@ -23767,41 +23793,46 @@ async function dispatchEvent(event, ectx, state) {
23767
23793
  await ectx.refreshModelAuthStatus();
23768
23794
  break;
23769
23795
  case "thread_changed": {
23796
+ const isCurrent = beginThreadLifecycle(state, event.threadId);
23797
+ if (!isCurrent) break;
23770
23798
  ectx.showInfo(`Switched to thread: ${event.threadId}`);
23771
23799
  state.latestRequestPromptTokens = void 0;
23772
23800
  state.backgroundToolContexts?.clear();
23773
- await state.session.state.set({
23774
- tasks: [],
23775
- activePlan: null,
23776
- sandboxAllowedPaths: []
23777
- });
23801
+ if (!await clearThreadState(state, isCurrent)) break;
23778
23802
  state.previousPlanSnapshot = void 0;
23779
23803
  if (state.taskProgress) {
23780
23804
  state.taskProgress.updateTasks([]);
23781
23805
  flushRender(state);
23782
23806
  }
23783
23807
  state.taskToolInsertIndex = -1;
23784
- await ectx.renderExistingMessages();
23785
- await state.controller.loadOMProgress(state.session);
23808
+ await ectx.renderExistingMessages(isCurrent);
23809
+ if (!isCurrent()) break;
23810
+ await state.controller.loadOMProgress(state.session, isCurrent);
23811
+ if (!isCurrent()) break;
23786
23812
  (0, _mastra_code_sdk_utils_project.getCurrentGitBranchAsync)(state.projectInfo.rootPath).then((freshBranch) => {
23787
- if (freshBranch) {
23813
+ if (freshBranch && isCurrent()) {
23788
23814
  state.projectInfo.gitBranch = freshBranch;
23789
23815
  ectx.updateStatusLine();
23790
23816
  }
23791
23817
  });
23792
- const currentThread = (await state.session.thread.list()).find((t) => t.id === event.threadId);
23818
+ const threads = await state.session.thread.list();
23819
+ if (!isCurrent()) break;
23820
+ const currentThread = threads.find((t) => t.id === event.threadId);
23793
23821
  if (currentThread) {
23794
23822
  setCurrentThreadTitle(state, currentThread.title);
23795
23823
  const metadata = currentThread.metadata;
23796
23824
  state.activeGithubPrSubscriptions = getGithubPrSubscriptionsFromMetadata(metadata);
23797
23825
  state.githubPrPollingActive = false;
23798
23826
  state.githubPrGradientAnimator?.stop();
23799
- await state.goalManager.loadFromThread(state);
23827
+ await state.goalManager.loadFromThread(state, isCurrent);
23828
+ if (!isCurrent()) break;
23800
23829
  if (!state.goalManager.getGoal()) state.goalManager.loadFromThreadMetadata(metadata);
23801
23830
  }
23802
23831
  break;
23803
23832
  }
23804
23833
  case "thread_created": {
23834
+ const isCurrent = beginThreadLifecycle(state, event.thread.id);
23835
+ if (!isCurrent) break;
23805
23836
  ectx.showInfo(`Created thread: ${event.thread.id}`);
23806
23837
  state.latestRequestPromptTokens = void 0;
23807
23838
  state.backgroundToolContexts?.clear();
@@ -23813,11 +23844,7 @@ async function dispatchEvent(event, ectx, state) {
23813
23844
  else state.goalManager?.loadFromThreadMetadata(event.thread.metadata);
23814
23845
  const tState = state.session.state.get();
23815
23846
  if (typeof tState?.escapeAsCancel === "boolean") state.editor.escapeEnabled = tState.escapeAsCancel;
23816
- await state.session.state.set({
23817
- tasks: [],
23818
- activePlan: null,
23819
- sandboxAllowedPaths: []
23820
- });
23847
+ if (!await clearThreadState(state, isCurrent)) break;
23821
23848
  state.previousPlanSnapshot = void 0;
23822
23849
  if (state.taskProgress) state.taskProgress.updateTasks([]);
23823
23850
  state.taskToolInsertIndex = -1;
@@ -26136,8 +26163,9 @@ var MastraTUI = class MastraTUI {
26136
26163
  this.updateIdleStatusLine();
26137
26164
  }, 6e4);
26138
26165
  }
26139
- async renderExistingMessagesAndSeedIdleCounter() {
26140
- await renderExistingMessages(this.state);
26166
+ async renderExistingMessagesAndSeedIdleCounter(isCurrent) {
26167
+ await renderExistingMessages(this.state, isCurrent);
26168
+ if (isCurrent && !isCurrent()) return;
26141
26169
  if (this.state.session.run.isRunning()) {
26142
26170
  this.clearStatusTimingTicker();
26143
26171
  return;
@@ -26177,13 +26205,16 @@ var MastraTUI = class MastraTUI {
26177
26205
  if (!/observational memory/i.test(msg)) this.lastStreamError = msg;
26178
26206
  }
26179
26207
  try {
26208
+ const lifecycleGeneration = getThreadLifecycleGeneration(this.state);
26209
+ const lifecycleThreadId = event.type === "thread_created" ? event.thread.id : event.type === "thread_changed" ? event.threadId : void 0;
26210
+ const lifecycleIsCurrent = () => lifecycleThreadId === void 0 || getThreadLifecycleGeneration(this.state) === lifecycleGeneration + 1 && this.state.session.thread.getId() === lifecycleThreadId;
26180
26211
  this.fireLifecycleHooksForEvent(event);
26181
26212
  await dispatchEvent(event, this.getEventContext(), this.state);
26182
26213
  this.captureAgentControllerAnalytics(event);
26183
- if (event.type === "thread_created") await this.syncThreadActivePackMetadata(event.thread);
26184
- else if (event.type === "thread_changed") {
26214
+ if (event.type === "thread_created" && lifecycleIsCurrent()) await this.syncThreadActivePackMetadata(event.thread, lifecycleIsCurrent);
26215
+ else if (event.type === "thread_changed" && lifecycleIsCurrent()) {
26185
26216
  this.refreshBackgroundActivity();
26186
- await this.syncThreadActivePackMetadata();
26217
+ await this.syncThreadActivePackMetadata(void 0, lifecycleIsCurrent);
26187
26218
  }
26188
26219
  if (event.type === "agent_start" && this.state.agentRunStartedAt !== void 0) this.startActiveStatusTimingTicker();
26189
26220
  if (event.type === "agent_end") {
@@ -26312,18 +26343,19 @@ var MastraTUI = class MastraTUI {
26312
26343
  }
26313
26344
  return access;
26314
26345
  }
26315
- async syncThreadActivePackMetadata(thread) {
26346
+ async syncThreadActivePackMetadata(thread, isCurrent = () => true) {
26316
26347
  const settings = (0, _mastra_code_sdk_onboarding_index.loadSettings)();
26317
26348
  const currentThreadId = this.state.session.thread.getId();
26318
- if (!currentThreadId) return;
26349
+ if (!currentThreadId || !isCurrent()) return;
26350
+ const ownsUpdate = () => isCurrent() && this.state.session.thread.getId() === currentThreadId;
26319
26351
  const resolvedThread = thread?.id === currentThreadId ? thread : (await this.state.session.thread.list()).find((t) => t.id === currentThreadId);
26320
26352
  const packs = (0, _mastra_code_sdk_onboarding_index.getAvailableModePacks)(await this.buildProviderAccess(), settings.customModelPacks).filter((p) => p.id !== "custom");
26321
26353
  const metadata = resolvedThread?.metadata;
26322
- if (this.state.session.thread.getId() !== currentThreadId) return;
26354
+ if (!ownsUpdate()) return;
26323
26355
  const resolvedPackId = (0, _mastra_code_sdk_onboarding_settings.resolveThreadActiveModelPackId)(settings, packs, metadata);
26324
26356
  const fallbackStatus = fallbackStatusFromMetadata(metadata);
26325
26357
  const updates = { activeModelPackId: resolvedPackId };
26326
- if (!(this.state.session.state.setIf ? await this.state.session.state.setIf(updates, () => this.state.session.thread.getId() === currentThreadId) : this.state.session.thread.getId() === currentThreadId ? (await this.state.session.state.set(updates), true) : false) || this.state.session.thread.getId() !== currentThreadId) return;
26358
+ if (!(this.state.session.state.setIf ? await this.state.session.state.setIf(updates, ownsUpdate) : ownsUpdate() ? (await this.state.session.state.set(updates), ownsUpdate()) : false) || !ownsUpdate()) return;
26327
26359
  this.state.fallbackStatus = fallbackStatus;
26328
26360
  updateStatusLine(this.state);
26329
26361
  }
@@ -26494,7 +26526,7 @@ var MastraTUI = class MastraTUI {
26494
26526
  fireMessage: (content, images) => this.fireMessage(content, images),
26495
26527
  startGoal: (objective, cancelMessage) => startGoalWithDefaults(this.buildCommandContext(), objective, cancelMessage),
26496
26528
  queueFollowUpMessage: (content) => this.queueFollowUpMessage(content),
26497
- renderExistingMessages: () => this.renderExistingMessagesAndSeedIdleCounter(),
26529
+ renderExistingMessages: (isCurrent) => this.renderExistingMessagesAndSeedIdleCounter(isCurrent),
26498
26530
  renderClearedTasksInline: (clearedTasks, insertIndex) => renderClearedTasksInline(this.state, clearedTasks, insertIndex),
26499
26531
  renderCompletedTasksInline: (completedTasks, insertIndex) => renderCompletedTasksInline(this.state, completedTasks, insertIndex),
26500
26532
  renderTaskDeltaInline: (previousTasks, nextTasks, insertIndex) => renderTaskDeltaInline(this.state, previousTasks, nextTasks, insertIndex),
@@ -27006,4 +27038,4 @@ Object.defineProperty(exports, "theme", {
27006
27038
  }
27007
27039
  });
27008
27040
 
27009
- //# sourceMappingURL=tui-D5UsAQOX.cjs.map
27041
+ //# sourceMappingURL=tui-BF5Fe7AH.cjs.map