mstro-app 0.4.35 → 0.4.37

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.
Files changed (32) hide show
  1. package/dist/server/cli/headless/claude-invoker-stream.d.ts +76 -1
  2. package/dist/server/cli/headless/claude-invoker-stream.d.ts.map +1 -1
  3. package/dist/server/cli/headless/claude-invoker-stream.js +28 -16
  4. package/dist/server/cli/headless/claude-invoker-stream.js.map +1 -1
  5. package/dist/server/cli/headless/claude-invoker.d.ts.map +1 -1
  6. package/dist/server/cli/headless/claude-invoker.js +2 -0
  7. package/dist/server/cli/headless/claude-invoker.js.map +1 -1
  8. package/dist/server/cli/improvisation-session-manager.d.ts +3 -0
  9. package/dist/server/cli/improvisation-session-manager.d.ts.map +1 -1
  10. package/dist/server/cli/improvisation-session-manager.js +50 -39
  11. package/dist/server/cli/improvisation-session-manager.js.map +1 -1
  12. package/dist/server/services/websocket/git-worktree-handlers.js +25 -16
  13. package/dist/server/services/websocket/git-worktree-handlers.js.map +1 -1
  14. package/dist/server/services/websocket/session-handlers.d.ts.map +1 -1
  15. package/dist/server/services/websocket/session-handlers.js +11 -1
  16. package/dist/server/services/websocket/session-handlers.js.map +1 -1
  17. package/dist/server/services/websocket/skill-handlers.d.ts +9 -0
  18. package/dist/server/services/websocket/skill-handlers.d.ts.map +1 -1
  19. package/dist/server/services/websocket/skill-handlers.js +244 -3
  20. package/dist/server/services/websocket/skill-handlers.js.map +1 -1
  21. package/dist/server/services/websocket/types.d.ts +44 -3
  22. package/dist/server/services/websocket/types.d.ts.map +1 -1
  23. package/dist/server/services/websocket/types.js +38 -0
  24. package/dist/server/services/websocket/types.js.map +1 -1
  25. package/package.json +1 -1
  26. package/server/cli/headless/claude-invoker-stream.ts +114 -32
  27. package/server/cli/headless/claude-invoker.ts +2 -0
  28. package/server/cli/improvisation-session-manager.ts +59 -43
  29. package/server/services/websocket/git-worktree-handlers.ts +30 -14
  30. package/server/services/websocket/session-handlers.ts +17 -1
  31. package/server/services/websocket/skill-handlers.ts +260 -3
  32. package/server/services/websocket/types.ts +123 -329
@@ -14,16 +14,56 @@ export interface WSContext {
14
14
  _workingDir?: string;
15
15
  _ws?: unknown;
16
16
  }
17
+ declare const CoreMessages: readonly ["execute", "cancel", "getHistory", "getSessions", "getSessionsCount", "deleteSession", "getSessionById", "clearHistory", "searchHistory", "new", "autocomplete", "readFile", "ping", "initTab", "resumeSession", "approve", "reject", "recordSelection", "requestNotificationSummary"];
18
+ declare const TerminalMessages: readonly ["terminalInit", "terminalReconnect", "terminalList", "terminalInput", "terminalResize", "terminalClose"];
19
+ declare const FileExplorerMessages: readonly ["listDirectory", "writeFile", "createFile", "createDirectory", "deleteFile", "renameFile", "notifyFileOpened", "searchFileContents", "cancelSearch", "findDefinition"];
20
+ declare const GitMessages: readonly ["gitStatus", "gitStage", "gitUnstage", "gitCommit", "gitCommitWithAI", "gitPush", "gitPull", "gitLog", "gitDiscoverRepos", "gitSetDirectory", "gitGetRemoteInfo", "gitCreatePR", "gitGeneratePRDescription"];
21
+ declare const GitBranchMessages: readonly ["gitListBranches", "gitCheckout", "gitCreateBranch", "gitDeleteBranch"];
22
+ declare const GitDiffMessages: readonly ["gitDiff", "gitShowCommit", "gitCommitDiff"];
23
+ declare const GitTagMessages: readonly ["gitListTags", "gitCreateTag", "gitPushTag"];
24
+ declare const GitWorktreeMessages: readonly ["gitWorktreeList", "gitWorktreeCreate", "gitWorktreeCreateAndAssign", "gitWorktreeRemove", "tabWorktreeSwitch", "gitWorktreePush", "gitWorktreeCreatePR"];
25
+ declare const GitMergeMessages: readonly ["gitMergePreview", "gitWorktreeMerge", "gitMergeAbort", "gitMergeComplete"];
26
+ declare const SessionSyncMessages: readonly ["getActiveTabs", "createTab", "reorderTabs", "syncTabMeta", "syncPromptText", "removeTab", "markTabViewed"];
27
+ declare const SettingsMessages: readonly ["getSettings", "updateSettings"];
28
+ declare const QualityMessages: readonly ["qualityDetectTools", "qualityScan", "qualityInstallTools", "qualityCodeReview", "qualityFixIssues", "qualityLoadState", "qualitySaveDirectories"];
29
+ declare const FileUploadMessages: readonly ["fileUploadStart", "fileUploadChunk", "fileUploadComplete", "fileUploadCancel"];
30
+ declare const PlanMessages: readonly ["planInit", "planGetState", "planListIssues", "planGetIssue", "planGetSprint", "planGetMilestone", "planCreateIssue", "planUpdateIssue", "planDeleteIssue", "planScaffold", "planPrompt", "planExecute", "planExecuteEpic", "planPause", "planStop", "planResume"];
31
+ declare const PlanBoardMessages: readonly ["planCreateBoard", "planUpdateBoard", "planArchiveBoard", "planGetBoard", "planGetBoardState", "planReorderBoards", "planSetActiveBoard", "planGetBoardArtifacts"];
32
+ declare const PlanSprintMessages: readonly ["planCreateSprint", "planActivateSprint", "planCompleteSprint", "planGetSprintArtifacts"];
33
+ declare const DeployMessages: readonly ["deployCreate", "deployStop", "deployResume", "deployDelete", "deployList", "deployGetStatus", "deployUpdateConfig", "deploySetApiKey", "deployValidateApiKey"];
34
+ declare const DeployRelayMessages: readonly ["deployHttpRequest", "deployUsageReport", "deployAiHealthUpdate"];
35
+ declare const SkillMessages: readonly ["listSkills", "chatToBoard"];
36
+ type WebSocketMessageType = typeof CoreMessages[number] | typeof TerminalMessages[number] | typeof FileExplorerMessages[number] | typeof GitMessages[number] | typeof GitBranchMessages[number] | typeof GitDiffMessages[number] | typeof GitTagMessages[number] | typeof GitWorktreeMessages[number] | typeof GitMergeMessages[number] | typeof SessionSyncMessages[number] | typeof SettingsMessages[number] | typeof QualityMessages[number] | typeof FileUploadMessages[number] | typeof PlanMessages[number] | typeof PlanBoardMessages[number] | typeof PlanSprintMessages[number] | typeof DeployMessages[number] | typeof DeployRelayMessages[number] | typeof SkillMessages[number];
17
37
  export interface WebSocketMessage {
18
- type: 'execute' | 'cancel' | 'getHistory' | 'getSessions' | 'getSessionsCount' | 'deleteSession' | 'getSessionById' | 'clearHistory' | 'searchHistory' | 'new' | 'autocomplete' | 'readFile' | 'ping' | 'initTab' | 'resumeSession' | 'approve' | 'reject' | 'recordSelection' | 'requestNotificationSummary' | 'terminalInit' | 'terminalReconnect' | 'terminalList' | 'terminalInput' | 'terminalResize' | 'terminalClose' | 'listDirectory' | 'writeFile' | 'createFile' | 'createDirectory' | 'deleteFile' | 'renameFile' | 'notifyFileOpened' | 'searchFileContents' | 'cancelSearch' | 'findDefinition' | 'gitStatus' | 'gitStage' | 'gitUnstage' | 'gitCommit' | 'gitCommitWithAI' | 'gitPush' | 'gitPull' | 'gitLog' | 'gitDiscoverRepos' | 'gitSetDirectory' | 'gitGetRemoteInfo' | 'gitCreatePR' | 'gitGeneratePRDescription' | 'gitListBranches' | 'gitCheckout' | 'gitCreateBranch' | 'gitDeleteBranch' | 'gitDiff' | 'gitShowCommit' | 'gitCommitDiff' | 'gitListTags' | 'gitCreateTag' | 'gitPushTag' | 'gitWorktreeList' | 'gitWorktreeCreate' | 'gitWorktreeCreateAndAssign' | 'gitWorktreeRemove' | 'tabWorktreeSwitch' | 'gitWorktreePush' | 'gitWorktreeCreatePR' | 'gitMergePreview' | 'gitWorktreeMerge' | 'gitMergeAbort' | 'gitMergeComplete' | 'getActiveTabs' | 'createTab' | 'reorderTabs' | 'syncTabMeta' | 'syncPromptText' | 'removeTab' | 'markTabViewed' | 'getSettings' | 'updateSettings' | 'qualityDetectTools' | 'qualityScan' | 'qualityInstallTools' | 'qualityCodeReview' | 'qualityFixIssues' | 'qualityLoadState' | 'qualitySaveDirectories' | 'fileUploadStart' | 'fileUploadChunk' | 'fileUploadComplete' | 'fileUploadCancel' | 'planInit' | 'planGetState' | 'planListIssues' | 'planGetIssue' | 'planGetSprint' | 'planGetMilestone' | 'planCreateIssue' | 'planUpdateIssue' | 'planDeleteIssue' | 'planScaffold' | 'planPrompt' | 'planExecute' | 'planExecuteEpic' | 'planPause' | 'planStop' | 'planResume' | 'planCreateBoard' | 'planUpdateBoard' | 'planArchiveBoard' | 'planGetBoard' | 'planGetBoardState' | 'planReorderBoards' | 'planSetActiveBoard' | 'planGetBoardArtifacts' | 'planCreateSprint' | 'planActivateSprint' | 'planCompleteSprint' | 'planGetSprintArtifacts' | 'deployCreate' | 'deployStop' | 'deployResume' | 'deployDelete' | 'deployList' | 'deployGetStatus' | 'deployUpdateConfig' | 'deploySetApiKey' | 'deployValidateApiKey' | 'deployHttpRequest' | 'deployUsageReport' | 'deployAiHealthUpdate' | 'listSkills' | 'chatToBoard';
38
+ type: WebSocketMessageType;
19
39
  tabId?: string;
20
40
  terminalId?: string;
21
41
  data?: any;
22
42
  /** Injected by server relay for view-only shared users */
23
43
  _permission?: 'view';
24
44
  }
45
+ declare const CoreResponseMessages: readonly ["output", "thinking", "movementStart", "movementComplete", "movementError", "sessionUpdate", "history", "sessions", "sessionsCount", "sessionDeleted", "sessionData", "historyCleared", "searchResults", "newSession", "autocomplete", "fileContent", "error", "pong", "tabInitialized", "approvalRequired", "toolUse", "streamingTokens", "notificationSummary"];
46
+ declare const TerminalResponseMessages: readonly ["terminalOutput", "terminalReady", "terminalExit", "terminalError", "terminalList", "terminalScrollback", "terminalCreated", "terminalClosed"];
47
+ declare const FileExplorerResponseMessages: readonly ["directoryListing", "fileWritten", "fileCreated", "directoryCreated", "fileDeleted", "fileRenamed", "fileOpened", "fileContentChanged", "contentSearchResults", "contentSearchComplete", "contentSearchError", "definitionResult", "fileError"];
48
+ declare const GitResponseMessages: readonly ["gitStatus", "gitStaged", "gitUnstaged", "gitCommitted", "gitCommitMessage", "gitPushed", "gitPulled", "gitLog", "gitError", "gitReposDiscovered", "gitDirectorySet", "gitRemoteInfo", "gitPRCreated", "gitPRDescription"];
49
+ declare const GitBranchResponseMessages: readonly ["gitBranchList", "gitCheckedOut", "gitBranchCreated", "gitBranchDeleted"];
50
+ declare const GitDiffResponseMessages: readonly ["gitDiffResult", "gitCommitDetail", "gitCommitDiffResult"];
51
+ declare const GitTagResponseMessages: readonly ["gitTagList", "gitTagCreated", "gitTagPushed"];
52
+ declare const GitWorktreeResponseMessages: readonly ["gitWorktreeListResult", "gitWorktreeCreated", "gitWorktreeCreatedAndAssigned", "gitWorktreeRemoved", "tabWorktreeSwitched", "gitBranchChanged", "gitWorktreePushed", "gitWorktreePRCreated"];
53
+ declare const GitMergeResponseMessages: readonly ["gitMergePreviewResult", "gitWorktreeMergeResult", "gitMergeAborted", "gitMergeCompleted"];
54
+ declare const SessionSyncResponseMessages: readonly ["activeTabs", "tabCreated", "tabRemoved", "tabRenamed", "tabsReordered", "promptTextSync", "tabViewed", "tabStateChanged"];
55
+ declare const SettingsResponseMessages: readonly ["settings", "settingsUpdated"];
56
+ declare const QualityResponseMessages: readonly ["qualityToolsDetected", "qualityScanProgress", "qualityScanResults", "qualityInstallProgress", "qualityInstallComplete", "qualityCodeReview", "qualityCodeReviewProgress", "qualityPostSession", "qualityFixProgress", "qualityFixComplete", "qualityError", "qualityStateLoaded"];
57
+ declare const FileUploadResponseMessages: readonly ["fileUploadAck", "fileUploadReady", "fileUploadError"];
58
+ declare const PlanResponseMessages: readonly ["planState", "planIssueList", "planIssue", "planSprint", "planMilestone", "planNotFound", "planStateUpdated", "planIssueUpdated", "planIssueCreated", "planIssueDeleted", "planScaffolded", "planPromptStreaming", "planPromptProgress", "planPromptResponse", "planExecutionStarted", "planExecutionProgress", "planExecutionOutput", "planExecutionMetrics", "planExecutionComplete", "planExecutionError", "planError"];
59
+ declare const PlanBoardResponseMessages: readonly ["planBoardCreated", "planBoardUpdated", "planBoardArchived", "planBoardState", "planBoardArtifacts", "planWorkspaceUpdated"];
60
+ declare const PlanSprintResponseMessages: readonly ["planSprintCreated", "planSprintUpdated", "planSprintCompleted", "planSprintArtifacts", "planReviewProgress"];
61
+ declare const DeployResponseMessages: readonly ["deployCreated", "deployStopped", "deployResumed", "deployDeleted", "deployListResult", "deployStatusResult", "deployConfigUpdated", "deployApiKeyStatus", "deployError"];
62
+ declare const DeployRelayResponseMessages: readonly ["deployHttpResponse", "deployHttpResponseChunk", "deployStatus", "deployUsageReportAck", "deployAiHealthAck"];
63
+ declare const SkillResponseMessages: readonly ["skillsList", "chatToBoardCreated"];
64
+ type WebSocketResponseType = typeof CoreResponseMessages[number] | typeof TerminalResponseMessages[number] | typeof FileExplorerResponseMessages[number] | typeof GitResponseMessages[number] | typeof GitBranchResponseMessages[number] | typeof GitDiffResponseMessages[number] | typeof GitTagResponseMessages[number] | typeof GitWorktreeResponseMessages[number] | typeof GitMergeResponseMessages[number] | typeof SessionSyncResponseMessages[number] | typeof SettingsResponseMessages[number] | typeof QualityResponseMessages[number] | typeof FileUploadResponseMessages[number] | typeof PlanResponseMessages[number] | typeof PlanBoardResponseMessages[number] | typeof PlanSprintResponseMessages[number] | typeof DeployResponseMessages[number] | typeof DeployRelayResponseMessages[number] | typeof SkillResponseMessages[number];
25
65
  export interface WebSocketResponse {
26
- type: 'output' | 'thinking' | 'movementStart' | 'movementComplete' | 'movementError' | 'sessionUpdate' | 'history' | 'sessions' | 'sessionsCount' | 'sessionDeleted' | 'sessionData' | 'historyCleared' | 'searchResults' | 'newSession' | 'autocomplete' | 'fileContent' | 'error' | 'pong' | 'tabInitialized' | 'approvalRequired' | 'toolUse' | 'streamingTokens' | 'notificationSummary' | 'terminalOutput' | 'terminalReady' | 'terminalExit' | 'terminalError' | 'terminalList' | 'directoryListing' | 'fileWritten' | 'fileCreated' | 'directoryCreated' | 'fileDeleted' | 'fileRenamed' | 'fileOpened' | 'fileContentChanged' | 'contentSearchResults' | 'contentSearchComplete' | 'contentSearchError' | 'definitionResult' | 'fileError' | 'terminalScrollback' | 'terminalCreated' | 'terminalClosed' | 'gitStatus' | 'gitStaged' | 'gitUnstaged' | 'gitCommitted' | 'gitCommitMessage' | 'gitPushed' | 'gitPulled' | 'gitLog' | 'gitError' | 'gitReposDiscovered' | 'gitDirectorySet' | 'gitRemoteInfo' | 'gitPRCreated' | 'gitPRDescription' | 'gitBranchList' | 'gitCheckedOut' | 'gitBranchCreated' | 'gitBranchDeleted' | 'gitDiffResult' | 'gitCommitDetail' | 'gitCommitDiffResult' | 'gitTagList' | 'gitTagCreated' | 'gitTagPushed' | 'gitWorktreeListResult' | 'gitWorktreeCreated' | 'gitWorktreeCreatedAndAssigned' | 'gitWorktreeRemoved' | 'tabWorktreeSwitched' | 'gitBranchChanged' | 'gitWorktreePushed' | 'gitWorktreePRCreated' | 'gitMergePreviewResult' | 'gitWorktreeMergeResult' | 'gitMergeAborted' | 'gitMergeCompleted' | 'activeTabs' | 'tabCreated' | 'tabRemoved' | 'tabRenamed' | 'tabsReordered' | 'promptTextSync' | 'tabViewed' | 'tabStateChanged' | 'settings' | 'settingsUpdated' | 'qualityToolsDetected' | 'qualityScanProgress' | 'qualityScanResults' | 'qualityInstallProgress' | 'qualityInstallComplete' | 'qualityCodeReview' | 'qualityCodeReviewProgress' | 'qualityPostSession' | 'qualityFixProgress' | 'qualityFixComplete' | 'qualityError' | 'qualityStateLoaded' | 'fileUploadAck' | 'fileUploadReady' | 'fileUploadError' | 'planState' | 'planIssueList' | 'planIssue' | 'planSprint' | 'planMilestone' | 'planNotFound' | 'planStateUpdated' | 'planIssueUpdated' | 'planIssueCreated' | 'planIssueDeleted' | 'planScaffolded' | 'planPromptStreaming' | 'planPromptProgress' | 'planPromptResponse' | 'planExecutionStarted' | 'planExecutionProgress' | 'planExecutionOutput' | 'planExecutionMetrics' | 'planExecutionComplete' | 'planExecutionError' | 'planError' | 'planBoardCreated' | 'planBoardUpdated' | 'planBoardArchived' | 'planBoardState' | 'planBoardArtifacts' | 'planWorkspaceUpdated' | 'planSprintCreated' | 'planSprintUpdated' | 'planSprintCompleted' | 'planSprintArtifacts' | 'planReviewProgress' | 'deployCreated' | 'deployStopped' | 'deployResumed' | 'deployDeleted' | 'deployListResult' | 'deployStatusResult' | 'deployConfigUpdated' | 'deployApiKeyStatus' | 'deployError' | 'deployHttpResponse' | 'deployHttpResponseChunk' | 'deployStatus' | 'deployUsageReportAck' | 'deployAiHealthAck' | 'skillsList' | 'chatToBoardCreated';
66
+ type: WebSocketResponseType;
27
67
  tabId?: string;
28
68
  terminalId?: string;
29
69
  data?: any;
@@ -36,7 +76,7 @@ export interface SkillEntry {
36
76
  name: string;
37
77
  displayName: string;
38
78
  description: string;
39
- source: 'project' | 'system' | 'builtin';
79
+ source: 'project' | 'user' | 'system' | 'builtin' | 'platform';
40
80
  }
41
81
  export interface AutocompleteResult {
42
82
  value: string;
@@ -554,4 +594,5 @@ export interface DeployAiHealthUpdateData {
554
594
  /** Whether AI features are currently disabled locally */
555
595
  aiDisabled: boolean;
556
596
  }
597
+ export {};
557
598
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/types.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACjC,KAAK,IAAI,IAAI,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAElB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,QAAA,MAAM,YAAY,kSAAmS,CAAC;AAEtT,QAAA,MAAM,gBAAgB,oHAAqH,CAAC;AAE5I,QAAA,MAAM,oBAAoB,kLAAmL,CAAC;AAE9M,QAAA,MAAM,WAAW,wNAAyN,CAAC;AAE3O,QAAA,MAAM,iBAAiB,mFAAoF,CAAC;AAE5G,QAAA,MAAM,eAAe,wDAAyD,CAAC;AAE/E,QAAA,MAAM,cAAc,wDAAyD,CAAC;AAE9E,QAAA,MAAM,mBAAmB,qKAAsK,CAAC;AAEhM,QAAA,MAAM,gBAAgB,uFAAwF,CAAC;AAE/G,QAAA,MAAM,mBAAmB,uHAAwH,CAAC;AAElJ,QAAA,MAAM,gBAAgB,4CAA6C,CAAC;AAEpE,QAAA,MAAM,eAAe,8JAA+J,CAAC;AAErL,QAAA,MAAM,kBAAkB,2FAA4F,CAAC;AAErH,QAAA,MAAM,YAAY,8QAA+Q,CAAC;AAElS,QAAA,MAAM,iBAAiB,8KAA+K,CAAC;AAEvM,QAAA,MAAM,kBAAkB,qGAAsG,CAAC;AAE/H,QAAA,MAAM,cAAc,2KAA4K,CAAC;AAEjM,QAAA,MAAM,mBAAmB,6EAA8E,CAAC;AAExG,QAAA,MAAM,aAAa,wCAAyC,CAAC;AAE7D,KAAK,oBAAoB,GACrB,OAAO,YAAY,CAAC,MAAM,CAAC,GAC3B,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAC/B,OAAO,oBAAoB,CAAC,MAAM,CAAC,GACnC,OAAO,WAAW,CAAC,MAAM,CAAC,GAC1B,OAAO,iBAAiB,CAAC,MAAM,CAAC,GAChC,OAAO,eAAe,CAAC,MAAM,CAAC,GAC9B,OAAO,cAAc,CAAC,MAAM,CAAC,GAC7B,OAAO,mBAAmB,CAAC,MAAM,CAAC,GAClC,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAC/B,OAAO,mBAAmB,CAAC,MAAM,CAAC,GAClC,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAC/B,OAAO,eAAe,CAAC,MAAM,CAAC,GAC9B,OAAO,kBAAkB,CAAC,MAAM,CAAC,GACjC,OAAO,YAAY,CAAC,MAAM,CAAC,GAC3B,OAAO,iBAAiB,CAAC,MAAM,CAAC,GAChC,OAAO,kBAAkB,CAAC,MAAM,CAAC,GACjC,OAAO,cAAc,CAAC,MAAM,CAAC,GAC7B,OAAO,mBAAmB,CAAC,MAAM,CAAC,GAClC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,oBAAoB,6WAA8W,CAAC;AAEzY,QAAA,MAAM,wBAAwB,0JAA2J,CAAC;AAE1L,QAAA,MAAM,4BAA4B,2PAA4P,CAAC;AAE/R,QAAA,MAAM,mBAAmB,sOAAuO,CAAC;AAEjQ,QAAA,MAAM,yBAAyB,qFAAsF,CAAC;AAEtH,QAAA,MAAM,uBAAuB,sEAAuE,CAAC;AAErG,QAAA,MAAM,sBAAsB,0DAA2D,CAAC;AAExF,QAAA,MAAM,2BAA2B,yMAA0M,CAAC;AAE5O,QAAA,MAAM,wBAAwB,sGAAuG,CAAC;AAEtI,QAAA,MAAM,2BAA2B,sIAAuI,CAAC;AAEzK,QAAA,MAAM,wBAAwB,0CAA2C,CAAC;AAE1E,QAAA,MAAM,uBAAuB,8RAA+R,CAAC;AAE7T,QAAA,MAAM,0BAA0B,kEAAmE,CAAC;AAEpG,QAAA,MAAM,oBAAoB,saAAua,CAAC;AAElc,QAAA,MAAM,yBAAyB,wIAAyI,CAAC;AAEzK,QAAA,MAAM,0BAA0B,yHAA0H,CAAC;AAE3J,QAAA,MAAM,sBAAsB,qLAAsL,CAAC;AAEnN,QAAA,MAAM,2BAA2B,yHAA0H,CAAC;AAE5J,QAAA,MAAM,qBAAqB,+CAAgD,CAAC;AAE5E,KAAK,qBAAqB,GACtB,OAAO,oBAAoB,CAAC,MAAM,CAAC,GACnC,OAAO,wBAAwB,CAAC,MAAM,CAAC,GACvC,OAAO,4BAA4B,CAAC,MAAM,CAAC,GAC3C,OAAO,mBAAmB,CAAC,MAAM,CAAC,GAClC,OAAO,yBAAyB,CAAC,MAAM,CAAC,GACxC,OAAO,uBAAuB,CAAC,MAAM,CAAC,GACtC,OAAO,sBAAsB,CAAC,MAAM,CAAC,GACrC,OAAO,2BAA2B,CAAC,MAAM,CAAC,GAC1C,OAAO,wBAAwB,CAAC,MAAM,CAAC,GACvC,OAAO,2BAA2B,CAAC,MAAM,CAAC,GAC1C,OAAO,wBAAwB,CAAC,MAAM,CAAC,GACvC,OAAO,uBAAuB,CAAC,MAAM,CAAC,GACtC,OAAO,0BAA0B,CAAC,MAAM,CAAC,GACzC,OAAO,oBAAoB,CAAC,MAAM,CAAC,GACnC,OAAO,yBAAyB,CAAC,MAAM,CAAC,GACxC,OAAO,0BAA0B,CAAC,MAAM,CAAC,GACzC,OAAO,sBAAsB,CAAC,MAAM,CAAC,GACrC,OAAO,2BAA2B,CAAC,MAAM,CAAC,GAC1C,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAEzC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;CAChE;AAGD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzC;AAGD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;CACnC;AAGD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9F,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAChD,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,sBAAsB;IACtB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,0CAA0C;IAC1C,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,WAAW;IAC1B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,qCAAqC;IACrC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,gCAAgC;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,6BAA6B;IAC7B,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;IACzD,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAMD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;IACpC,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,eAAe,CAAC;AAE/G;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;CACrB"}
@@ -1,4 +1,42 @@
1
1
  // Copyright (c) 2025-present Mstro, Inc. All rights reserved.
2
2
  // Licensed under the MIT License. See LICENSE file for details.
3
+ const CoreMessages = ['execute', 'cancel', 'getHistory', 'getSessions', 'getSessionsCount', 'deleteSession', 'getSessionById', 'clearHistory', 'searchHistory', 'new', 'autocomplete', 'readFile', 'ping', 'initTab', 'resumeSession', 'approve', 'reject', 'recordSelection', 'requestNotificationSummary'];
4
+ const TerminalMessages = ['terminalInit', 'terminalReconnect', 'terminalList', 'terminalInput', 'terminalResize', 'terminalClose'];
5
+ const FileExplorerMessages = ['listDirectory', 'writeFile', 'createFile', 'createDirectory', 'deleteFile', 'renameFile', 'notifyFileOpened', 'searchFileContents', 'cancelSearch', 'findDefinition'];
6
+ const GitMessages = ['gitStatus', 'gitStage', 'gitUnstage', 'gitCommit', 'gitCommitWithAI', 'gitPush', 'gitPull', 'gitLog', 'gitDiscoverRepos', 'gitSetDirectory', 'gitGetRemoteInfo', 'gitCreatePR', 'gitGeneratePRDescription'];
7
+ const GitBranchMessages = ['gitListBranches', 'gitCheckout', 'gitCreateBranch', 'gitDeleteBranch'];
8
+ const GitDiffMessages = ['gitDiff', 'gitShowCommit', 'gitCommitDiff'];
9
+ const GitTagMessages = ['gitListTags', 'gitCreateTag', 'gitPushTag'];
10
+ const GitWorktreeMessages = ['gitWorktreeList', 'gitWorktreeCreate', 'gitWorktreeCreateAndAssign', 'gitWorktreeRemove', 'tabWorktreeSwitch', 'gitWorktreePush', 'gitWorktreeCreatePR'];
11
+ const GitMergeMessages = ['gitMergePreview', 'gitWorktreeMerge', 'gitMergeAbort', 'gitMergeComplete'];
12
+ const SessionSyncMessages = ['getActiveTabs', 'createTab', 'reorderTabs', 'syncTabMeta', 'syncPromptText', 'removeTab', 'markTabViewed'];
13
+ const SettingsMessages = ['getSettings', 'updateSettings'];
14
+ const QualityMessages = ['qualityDetectTools', 'qualityScan', 'qualityInstallTools', 'qualityCodeReview', 'qualityFixIssues', 'qualityLoadState', 'qualitySaveDirectories'];
15
+ const FileUploadMessages = ['fileUploadStart', 'fileUploadChunk', 'fileUploadComplete', 'fileUploadCancel'];
16
+ const PlanMessages = ['planInit', 'planGetState', 'planListIssues', 'planGetIssue', 'planGetSprint', 'planGetMilestone', 'planCreateIssue', 'planUpdateIssue', 'planDeleteIssue', 'planScaffold', 'planPrompt', 'planExecute', 'planExecuteEpic', 'planPause', 'planStop', 'planResume'];
17
+ const PlanBoardMessages = ['planCreateBoard', 'planUpdateBoard', 'planArchiveBoard', 'planGetBoard', 'planGetBoardState', 'planReorderBoards', 'planSetActiveBoard', 'planGetBoardArtifacts'];
18
+ const PlanSprintMessages = ['planCreateSprint', 'planActivateSprint', 'planCompleteSprint', 'planGetSprintArtifacts'];
19
+ const DeployMessages = ['deployCreate', 'deployStop', 'deployResume', 'deployDelete', 'deployList', 'deployGetStatus', 'deployUpdateConfig', 'deploySetApiKey', 'deployValidateApiKey'];
20
+ const DeployRelayMessages = ['deployHttpRequest', 'deployUsageReport', 'deployAiHealthUpdate'];
21
+ const SkillMessages = ['listSkills', 'chatToBoard'];
22
+ const CoreResponseMessages = ['output', 'thinking', 'movementStart', 'movementComplete', 'movementError', 'sessionUpdate', 'history', 'sessions', 'sessionsCount', 'sessionDeleted', 'sessionData', 'historyCleared', 'searchResults', 'newSession', 'autocomplete', 'fileContent', 'error', 'pong', 'tabInitialized', 'approvalRequired', 'toolUse', 'streamingTokens', 'notificationSummary'];
23
+ const TerminalResponseMessages = ['terminalOutput', 'terminalReady', 'terminalExit', 'terminalError', 'terminalList', 'terminalScrollback', 'terminalCreated', 'terminalClosed'];
24
+ const FileExplorerResponseMessages = ['directoryListing', 'fileWritten', 'fileCreated', 'directoryCreated', 'fileDeleted', 'fileRenamed', 'fileOpened', 'fileContentChanged', 'contentSearchResults', 'contentSearchComplete', 'contentSearchError', 'definitionResult', 'fileError'];
25
+ const GitResponseMessages = ['gitStatus', 'gitStaged', 'gitUnstaged', 'gitCommitted', 'gitCommitMessage', 'gitPushed', 'gitPulled', 'gitLog', 'gitError', 'gitReposDiscovered', 'gitDirectorySet', 'gitRemoteInfo', 'gitPRCreated', 'gitPRDescription'];
26
+ const GitBranchResponseMessages = ['gitBranchList', 'gitCheckedOut', 'gitBranchCreated', 'gitBranchDeleted'];
27
+ const GitDiffResponseMessages = ['gitDiffResult', 'gitCommitDetail', 'gitCommitDiffResult'];
28
+ const GitTagResponseMessages = ['gitTagList', 'gitTagCreated', 'gitTagPushed'];
29
+ const GitWorktreeResponseMessages = ['gitWorktreeListResult', 'gitWorktreeCreated', 'gitWorktreeCreatedAndAssigned', 'gitWorktreeRemoved', 'tabWorktreeSwitched', 'gitBranchChanged', 'gitWorktreePushed', 'gitWorktreePRCreated'];
30
+ const GitMergeResponseMessages = ['gitMergePreviewResult', 'gitWorktreeMergeResult', 'gitMergeAborted', 'gitMergeCompleted'];
31
+ const SessionSyncResponseMessages = ['activeTabs', 'tabCreated', 'tabRemoved', 'tabRenamed', 'tabsReordered', 'promptTextSync', 'tabViewed', 'tabStateChanged'];
32
+ const SettingsResponseMessages = ['settings', 'settingsUpdated'];
33
+ const QualityResponseMessages = ['qualityToolsDetected', 'qualityScanProgress', 'qualityScanResults', 'qualityInstallProgress', 'qualityInstallComplete', 'qualityCodeReview', 'qualityCodeReviewProgress', 'qualityPostSession', 'qualityFixProgress', 'qualityFixComplete', 'qualityError', 'qualityStateLoaded'];
34
+ const FileUploadResponseMessages = ['fileUploadAck', 'fileUploadReady', 'fileUploadError'];
35
+ const PlanResponseMessages = ['planState', 'planIssueList', 'planIssue', 'planSprint', 'planMilestone', 'planNotFound', 'planStateUpdated', 'planIssueUpdated', 'planIssueCreated', 'planIssueDeleted', 'planScaffolded', 'planPromptStreaming', 'planPromptProgress', 'planPromptResponse', 'planExecutionStarted', 'planExecutionProgress', 'planExecutionOutput', 'planExecutionMetrics', 'planExecutionComplete', 'planExecutionError', 'planError'];
36
+ const PlanBoardResponseMessages = ['planBoardCreated', 'planBoardUpdated', 'planBoardArchived', 'planBoardState', 'planBoardArtifacts', 'planWorkspaceUpdated'];
37
+ const PlanSprintResponseMessages = ['planSprintCreated', 'planSprintUpdated', 'planSprintCompleted', 'planSprintArtifacts', 'planReviewProgress'];
38
+ const DeployResponseMessages = ['deployCreated', 'deployStopped', 'deployResumed', 'deployDeleted', 'deployListResult', 'deployStatusResult', 'deployConfigUpdated', 'deployApiKeyStatus', 'deployError'];
39
+ const DeployRelayResponseMessages = ['deployHttpResponse', 'deployHttpResponseChunk', 'deployStatus', 'deployUsageReportAck', 'deployAiHealthAck'];
40
+ const SkillResponseMessages = ['skillsList', 'chatToBoardCreated'];
3
41
  export {};
4
42
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../server/services/websocket/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,gEAAgE"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../server/services/websocket/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mstro-app",
3
- "version": "0.4.35",
3
+ "version": "0.4.37",
4
4
  "description": "Run Claude Code from any browser - streams live sessions from your machine to mstro.app",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -6,8 +6,73 @@ import type { NativeTimeoutDetector } from './native-timeout-detector.js';
6
6
  import { classifyError } from './stall-assessor.js';
7
7
  import type { ResolvedHeadlessConfig, ToolUseAccumulator } from './types.js';
8
8
 
9
- // biome-ignore lint/suspicious/noExplicitAny: external CLI stream JSON with heterogeneous shapes
10
- type StreamJson = any;
9
+ interface StreamContentBlock {
10
+ type: string;
11
+ text?: string;
12
+ thinking?: string;
13
+ name?: string;
14
+ id?: string;
15
+ input?: Record<string, unknown>;
16
+ tool_use_id?: string;
17
+ content?: string | unknown;
18
+ is_error?: boolean;
19
+ }
20
+
21
+ interface StreamTokenUsage {
22
+ input_tokens?: number;
23
+ output_tokens?: number;
24
+ cache_creation_input_tokens?: number;
25
+ cache_read_input_tokens?: number;
26
+ }
27
+
28
+ type StreamJson = {
29
+ type: string;
30
+ subtype?: string;
31
+ session_id?: string;
32
+ stop_reason?: string;
33
+ is_error?: boolean;
34
+ error?: string | { message?: string };
35
+ result?: string;
36
+ message?: {
37
+ content?: StreamContentBlock[];
38
+ usage?: StreamTokenUsage;
39
+ };
40
+ event?: {
41
+ type: string;
42
+ delta?: {
43
+ type: string;
44
+ thinking?: string;
45
+ text?: string;
46
+ partial_json?: string;
47
+ };
48
+ content_block?: {
49
+ type: string;
50
+ name?: string;
51
+ id?: string;
52
+ };
53
+ index?: number;
54
+ message?: { usage?: StreamTokenUsage };
55
+ usage?: { output_tokens?: number };
56
+ };
57
+ usage?: StreamTokenUsage;
58
+ delta?: {
59
+ type: string;
60
+ thinking?: string;
61
+ text?: string;
62
+ partial_json?: string;
63
+ };
64
+ content_block?: {
65
+ type: string;
66
+ name?: string;
67
+ id?: string;
68
+ };
69
+ index?: number;
70
+ text?: string;
71
+ thinking?: string;
72
+ name?: string;
73
+ id?: string;
74
+ input?: Record<string, unknown>;
75
+ };
11
76
 
12
77
  export interface StreamHandlerContext {
13
78
  config: ResolvedHeadlessConfig;
@@ -29,6 +94,11 @@ export interface StreamHandlerContext {
29
94
  lastTokenActivityTime: number;
30
95
  /** Claude Code result event stop_reason (e.g., 'end_turn', 'max_tokens') */
31
96
  stopReason?: string;
97
+ /** True once any stream_event text_delta has been received — used to skip
98
+ * duplicate text from assistant messages emitted alongside streaming deltas. */
99
+ hasReceivedTextDeltas: boolean;
100
+ /** Same guard for thinking deltas */
101
+ hasReceivedThinkingDeltas: boolean;
32
102
  }
33
103
 
34
104
  /** Log messages when verbose mode is enabled */
@@ -61,6 +131,8 @@ function handleThinkingDelta(event: StreamJson, ctx: StreamHandlerContext): stri
61
131
  return ctx.accumulatedThinking;
62
132
  }
63
133
 
134
+ ctx.hasReceivedThinkingDeltas = true;
135
+
64
136
  if (ctx.resumeAssessmentActive) {
65
137
  ctx.resumeAssessmentActive = false;
66
138
  if (ctx.resumeAssessmentBuffer) {
@@ -92,6 +164,7 @@ function handleTextDelta(event: StreamJson, ctx: StreamHandlerContext): string {
92
164
  return ctx.accumulatedAssistantResponse;
93
165
  }
94
166
 
167
+ ctx.hasReceivedTextDeltas = true;
95
168
  const text = event.delta.text;
96
169
  const updated = ctx.accumulatedAssistantResponse + text;
97
170
 
@@ -211,30 +284,32 @@ function handleToolResult(parsed: StreamJson, ctx: StreamHandlerContext): void {
211
284
  // ========== Stream Processing ==========
212
285
 
213
286
  function handleAssistantTextBlock(block: StreamJson, ctx: StreamHandlerContext): void {
214
- ctx.accumulatedAssistantResponse += block.text;
215
- ctx.config.outputCallback?.(block.text);
287
+ if (ctx.hasReceivedTextDeltas) return;
288
+ ctx.accumulatedAssistantResponse += block.text!;
289
+ ctx.config.outputCallback?.(block.text!);
216
290
  }
217
291
 
218
292
  function handleAssistantThinkingBlock(block: StreamJson, ctx: StreamHandlerContext): void {
219
- ctx.accumulatedThinking += block.thinking;
293
+ if (ctx.hasReceivedThinkingDeltas) return;
294
+ ctx.accumulatedThinking += block.thinking!;
220
295
  if (ctx.config.thinkingCallback) {
221
- ctx.config.thinkingCallback(block.thinking);
296
+ ctx.config.thinkingCallback(block.thinking!);
222
297
  } else {
223
- ctx.config.outputCallback?.(block.thinking);
298
+ ctx.config.outputCallback?.(block.thinking!);
224
299
  }
225
300
  }
226
301
 
227
302
  function handleAssistantToolUseBlock(block: StreamJson, ctx: StreamHandlerContext): void {
228
303
  const toolInput = block.input || {};
229
304
  ctx.accumulatedToolUse.push({
230
- toolName: block.name, toolId: block.id,
305
+ toolName: block.name!, toolId: block.id!,
231
306
  toolInput, startTime: Date.now(),
232
307
  });
233
308
  ctx.config.toolUseCallback?.({
234
- type: 'tool_start', toolName: block.name, toolId: block.id, index: 0,
309
+ type: 'tool_start', toolName: block.name!, toolId: block.id!, index: 0,
235
310
  });
236
311
  ctx.config.toolUseCallback?.({
237
- type: 'tool_complete', toolName: block.name, toolId: block.id,
312
+ type: 'tool_complete', toolName: block.name!, toolId: block.id!,
238
313
  index: 0, completeInput: toolInput,
239
314
  });
240
315
  }
@@ -266,29 +341,36 @@ function handleAssistantMessage(parsed: StreamJson, ctx: StreamHandlerContext):
266
341
  }
267
342
  }
268
343
 
344
+ function extractErrorMessage(parsed: StreamJson): string {
345
+ const errObj = typeof parsed.error === 'object' ? parsed.error?.message : parsed.error;
346
+ return errObj || String(parsed.message ?? '') || JSON.stringify(parsed);
347
+ }
348
+
349
+ function handleResultEvent(parsed: StreamJson, ctx: StreamHandlerContext): boolean {
350
+ handleResultTokenUsage(parsed, ctx);
351
+ if (parsed.stop_reason) {
352
+ ctx.stopReason = parsed.stop_reason;
353
+ }
354
+ if (parsed.is_error) {
355
+ const errorMessage = parsed.error || parsed.result || 'Unknown error in result';
356
+ ctx.config.outputCallback?.(`\n[[MSTRO_ERROR:CLAUDE_RESULT_ERROR]] ${errorMessage}\n`);
357
+ return true;
358
+ }
359
+ if (!ctx.accumulatedAssistantResponse && parsed.result && typeof parsed.result === 'string') {
360
+ ctx.accumulatedAssistantResponse = parsed.result;
361
+ ctx.config.outputCallback?.(parsed.result);
362
+ }
363
+ return false;
364
+ }
365
+
269
366
  export function processStreamEvent(parsed: StreamJson, ctx: StreamHandlerContext): void {
270
367
  if (parsed.type === 'error') {
271
- const errorMessage = parsed.error?.message || parsed.message || JSON.stringify(parsed);
272
- ctx.config.outputCallback?.(`\n[[MSTRO_ERROR:CLAUDE_ERROR]] ${errorMessage}\n`);
368
+ ctx.config.outputCallback?.(`\n[[MSTRO_ERROR:CLAUDE_ERROR]] ${extractErrorMessage(parsed)}\n`);
273
369
  return;
274
370
  }
275
371
 
276
372
  if (parsed.type === 'result') {
277
- handleResultTokenUsage(parsed, ctx);
278
- if (parsed.stop_reason) {
279
- ctx.stopReason = parsed.stop_reason;
280
- }
281
- if (parsed.is_error) {
282
- const errorMessage = parsed.error || parsed.result || 'Unknown error in result';
283
- ctx.config.outputCallback?.(`\n[[MSTRO_ERROR:CLAUDE_RESULT_ERROR]] ${errorMessage}\n`);
284
- return;
285
- }
286
- // Fallback: capture the result text if streaming deltas didn't accumulate anything.
287
- // This happens when Claude Code runs skill commands or other non-streaming code paths.
288
- if (!ctx.accumulatedAssistantResponse && parsed.result && typeof parsed.result === 'string') {
289
- ctx.accumulatedAssistantResponse = parsed.result;
290
- ctx.config.outputCallback?.(parsed.result);
291
- }
373
+ if (handleResultEvent(parsed, ctx)) return;
292
374
  }
293
375
 
294
376
  if (parsed.type === 'stream_event' && parsed.event) {
@@ -314,9 +396,9 @@ function handleToolStart(event: StreamJson, ctx: StreamHandlerContext): void {
314
396
  }
315
397
  }
316
398
 
317
- const toolName = event.content_block.name;
318
- const toolId = event.content_block.id;
319
- const index = event.index;
399
+ const toolName = event.content_block.name!;
400
+ const toolId = event.content_block.id!;
401
+ const index = event.index!;
320
402
 
321
403
  ctx.toolInputBuffers.set(index, { name: toolName, id: toolId, inputJson: '', startTime: Date.now() });
322
404
  ctx.config.toolUseCallback?.({ type: 'tool_start', toolName, toolId, index });
@@ -326,7 +408,7 @@ function handleToolStart(event: StreamJson, ctx: StreamHandlerContext): void {
326
408
  function handleToolInputDelta(event: StreamJson, ctx: StreamHandlerContext): void {
327
409
  if (event.type !== 'content_block_delta' || event.delta?.type !== 'input_json_delta') return;
328
410
 
329
- const index = event.index;
411
+ const index = event.index!;
330
412
  const partialJson = event.delta.partial_json;
331
413
  const toolBuffer = ctx.toolInputBuffers.get(index);
332
414
  if (toolBuffer) toolBuffer.inputJson += partialJson;
@@ -337,7 +419,7 @@ function handleToolInputDelta(event: StreamJson, ctx: StreamHandlerContext): voi
337
419
  function handleToolComplete(event: StreamJson, ctx: StreamHandlerContext): void {
338
420
  if (event.type !== 'content_block_stop') return;
339
421
 
340
- const index = event.index;
422
+ const index = event.index!;
341
423
  const toolBuffer = ctx.toolInputBuffers.get(index);
342
424
  if (!toolBuffer) return;
343
425
 
@@ -63,6 +63,8 @@ export async function executeClaudeCommand(
63
63
  apiTokenUsage: { inputTokens: 0, outputTokens: 0 },
64
64
  currentStepOutputTokens: 0,
65
65
  lastTokenActivityTime: Date.now(),
66
+ hasReceivedTextDeltas: false,
67
+ hasReceivedThinkingDeltas: false,
66
68
  };
67
69
 
68
70
  const stallState: StallState = {