studiograph 1.3.48-next.48 → 1.3.48-next.49

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 (193) hide show
  1. package/dist/agent/followups.d.ts +34 -0
  2. package/dist/agent/followups.js +52 -0
  3. package/dist/agent/followups.js.map +1 -0
  4. package/dist/agent/orchestrator.js +1 -1
  5. package/dist/agent/orchestrator.js.map +1 -1
  6. package/dist/agent/skill-loader.js +3 -1
  7. package/dist/agent/skill-loader.js.map +1 -1
  8. package/dist/agent/tools/graph-tools.js +35 -9
  9. package/dist/agent/tools/graph-tools.js.map +1 -1
  10. package/dist/agent/tools/message-tools.d.ts +2 -1
  11. package/dist/agent/tools/message-tools.js +8 -6
  12. package/dist/agent/tools/message-tools.js.map +1 -1
  13. package/dist/cli/commands/start.js +122 -45
  14. package/dist/cli/commands/start.js.map +1 -1
  15. package/dist/core/graph.js +14 -4
  16. package/dist/core/graph.js.map +1 -1
  17. package/dist/mcp/tools.js +11 -11
  18. package/dist/mcp/tools.js.map +1 -1
  19. package/dist/server/chrome/chrome.js +17 -1
  20. package/dist/server/index.js +2 -2
  21. package/dist/server/index.js.map +1 -1
  22. package/dist/server/routes/asset-api.js +46 -34
  23. package/dist/server/routes/asset-api.js.map +1 -1
  24. package/dist/server/routes/auth-api.js +91 -2
  25. package/dist/server/routes/auth-api.js.map +1 -1
  26. package/dist/server/routes/chat.js +4 -12
  27. package/dist/server/routes/chat.js.map +1 -1
  28. package/dist/server/routes/git-http.js +10 -16
  29. package/dist/server/routes/git-http.js.map +1 -1
  30. package/dist/server/routes/graph-api.js +80 -28
  31. package/dist/server/routes/graph-api.js.map +1 -1
  32. package/dist/server/routes/insights-api.js +6 -4
  33. package/dist/server/routes/insights-api.js.map +1 -1
  34. package/dist/server/routes/meeting-ingest-api.js +14 -1
  35. package/dist/server/routes/meeting-ingest-api.js.map +1 -1
  36. package/dist/server/routes/messages-api.js +15 -13
  37. package/dist/server/routes/messages-api.js.map +1 -1
  38. package/dist/server/routes/permissions-api.d.ts +5 -4
  39. package/dist/server/routes/permissions-api.js +14 -14
  40. package/dist/server/routes/permissions-api.js.map +1 -1
  41. package/dist/server/routes/workspace-api.d.ts +2 -1
  42. package/dist/server/routes/workspace-api.js +17 -1
  43. package/dist/server/routes/workspace-api.js.map +1 -1
  44. package/dist/server/routes/ws.d.ts +2 -1
  45. package/dist/server/routes/ws.js +52 -9
  46. package/dist/server/routes/ws.js.map +1 -1
  47. package/dist/server/yjs-manager.js +37 -0
  48. package/dist/server/yjs-manager.js.map +1 -1
  49. package/dist/services/access-control.d.ts +7 -3
  50. package/dist/services/access-control.js +30 -3
  51. package/dist/services/access-control.js.map +1 -1
  52. package/dist/services/auth-service.d.ts +16 -0
  53. package/dist/services/auth-service.js +45 -5
  54. package/dist/services/auth-service.js.map +1 -1
  55. package/dist/services/personal-folder.d.ts +25 -0
  56. package/dist/services/personal-folder.js +70 -0
  57. package/dist/services/personal-folder.js.map +1 -1
  58. package/dist/web/_app/immutable/assets/0.D03EHRDg.css +1 -0
  59. package/dist/web/_app/immutable/assets/11.VuZ0yuu4.css +1 -0
  60. package/dist/web/_app/immutable/assets/12.CBEP3aNg.css +1 -0
  61. package/dist/web/_app/immutable/assets/2.aJMJyx3M.css +1 -0
  62. package/dist/web/_app/immutable/assets/3.BbA-zR0F.css +1 -0
  63. package/dist/web/_app/immutable/assets/{4.Bw-eH9Xv.css → 4.BsFe8Ecx.css} +1 -1
  64. package/dist/web/_app/immutable/assets/ChevronLeft.DJHXltBB.css +1 -0
  65. package/dist/web/_app/immutable/assets/StopFilledAlt.kEJgOmBk.css +1 -0
  66. package/dist/web/_app/immutable/assets/ViewToolbar.CV6Us0fJ.css +1 -0
  67. package/dist/web/_app/immutable/assets/WorkspaceView.CFKNfZSY.css +1 -0
  68. package/dist/web/_app/immutable/chunks/{BJVJpWzz.js → 24nU6DRU.js} +1 -1
  69. package/dist/web/_app/immutable/chunks/B24A6jAy.js +6 -0
  70. package/dist/web/_app/immutable/chunks/B8CgkcYZ.js +1 -0
  71. package/dist/web/_app/immutable/chunks/{Bw_Pp-Pz.js → B9qwNmSf.js} +1 -1
  72. package/dist/web/_app/immutable/chunks/BXIcKgYy.js +1 -0
  73. package/dist/web/_app/immutable/chunks/{C7PgRgxX.js → BiMb3uU3.js} +1 -1
  74. package/dist/web/_app/immutable/chunks/C-KRPd1f.js +1 -0
  75. package/dist/web/_app/immutable/chunks/{Ckiai0LF.js → C3QX_pgn.js} +2 -2
  76. package/dist/web/_app/immutable/chunks/C3rmQoP5.js +4 -0
  77. package/dist/web/_app/immutable/chunks/C6NT3aAi.js +2 -0
  78. package/dist/web/_app/immutable/chunks/CBFBKav7.js +1 -0
  79. package/dist/web/_app/immutable/chunks/CH1XwVFs.js +5 -0
  80. package/dist/web/_app/immutable/chunks/{BCJtO6Up.js → CKD7VXBr.js} +1 -1
  81. package/dist/web/_app/immutable/chunks/CLJcKDW0.js +1 -0
  82. package/dist/web/_app/immutable/chunks/CS21N7mS.js +2 -0
  83. package/dist/web/_app/immutable/chunks/CawK5k-Y.js +13 -0
  84. package/dist/web/_app/immutable/chunks/CbhBH-Pr.js +1 -0
  85. package/dist/web/_app/immutable/chunks/CdRP-PQd.js +1 -0
  86. package/dist/web/_app/immutable/chunks/CgtGEUwG.js +1 -0
  87. package/dist/web/_app/immutable/chunks/{Bz0ZjVQE.js → ChqmDGF0.js} +1 -1
  88. package/dist/web/_app/immutable/chunks/CjyOT5ru.js +1 -0
  89. package/dist/web/_app/immutable/chunks/Cm3t5Lw_.js +1 -0
  90. package/dist/web/_app/immutable/chunks/Cq78Q8ao.js +1 -0
  91. package/dist/web/_app/immutable/chunks/CqJvlJ5e.js +1 -0
  92. package/dist/web/_app/immutable/chunks/D-eQH68P.js +1 -0
  93. package/dist/web/_app/immutable/chunks/D6uxAoMD.js +1 -0
  94. package/dist/web/_app/immutable/chunks/{UPEqhJHW.js → D78L3NHT.js} +1 -1
  95. package/dist/web/_app/immutable/chunks/D8l98jpc.js +1 -0
  96. package/dist/web/_app/immutable/chunks/D98nKNS8.js +5 -0
  97. package/dist/web/_app/immutable/chunks/{oIb8yPFh.js → DBrWPzSo.js} +4 -4
  98. package/dist/web/_app/immutable/chunks/DHBDhuM5.js +1 -0
  99. package/dist/web/_app/immutable/chunks/DHZ8iEPd.js +1 -0
  100. package/dist/web/_app/immutable/chunks/DODkJf9W.js +1 -0
  101. package/dist/web/_app/immutable/chunks/DZynkbIh.js +1 -0
  102. package/dist/web/_app/immutable/chunks/Dc-pYwK_.js +1 -0
  103. package/dist/web/_app/immutable/chunks/DiVMY2ie.js +1 -0
  104. package/dist/web/_app/immutable/chunks/DjYhk3V-.js +1 -0
  105. package/dist/web/_app/immutable/chunks/Dk4o-8uR.js +1 -0
  106. package/dist/web/_app/immutable/chunks/QvIJHVST.js +1 -0
  107. package/dist/web/_app/immutable/chunks/VHoDNwgF.js +1 -0
  108. package/dist/web/_app/immutable/chunks/{gZfO0DkI.js → _LqPzIoq.js} +1 -1
  109. package/dist/web/_app/immutable/chunks/{BDtxhI5r.js → _rGNAZ2T.js} +1 -1
  110. package/dist/web/_app/immutable/chunks/bBh4-vdc.js +1 -0
  111. package/dist/web/_app/immutable/chunks/iRhbt-db.js +2 -0
  112. package/dist/web/_app/immutable/chunks/ouoe_5n-.js +3 -0
  113. package/dist/web/_app/immutable/chunks/xUpz_Ego.js +1 -0
  114. package/dist/web/_app/immutable/entry/app.tgSpN2zy.js +2 -0
  115. package/dist/web/_app/immutable/entry/start.CYDu1-na.js +1 -0
  116. package/dist/web/_app/immutable/nodes/0.O_BpuEVv.js +2 -0
  117. package/dist/web/_app/immutable/nodes/1.BCH0rc1N.js +1 -0
  118. package/dist/web/_app/immutable/nodes/10.BdAZrtUP.js +1 -0
  119. package/dist/web/_app/immutable/nodes/11.Dh4nuff7.js +1 -0
  120. package/dist/web/_app/immutable/nodes/12.DRrTb8yT.js +1 -0
  121. package/dist/web/_app/immutable/nodes/2.DhSERXR4.js +268 -0
  122. package/dist/web/_app/immutable/nodes/3.CEgK5MQt.js +5 -0
  123. package/dist/web/_app/immutable/nodes/4.BKj4xQOT.js +11 -0
  124. package/dist/web/_app/immutable/nodes/5.Be1XlKLD.js +1 -0
  125. package/dist/web/_app/immutable/nodes/6.Cen-Be5t.js +1 -0
  126. package/dist/web/_app/immutable/nodes/7.BiEGRqIm.js +1 -0
  127. package/dist/web/_app/immutable/nodes/8.Be00K7Ga.js +1 -0
  128. package/dist/web/_app/immutable/nodes/9.CnZz8P2s.js +1 -0
  129. package/dist/web/_app/version.json +1 -1
  130. package/dist/web/favicon.png +0 -0
  131. package/dist/web/index.html +12 -12
  132. package/package.json +1 -1
  133. package/dist/web/_app/immutable/assets/0.C5UfMb0y.css +0 -1
  134. package/dist/web/_app/immutable/assets/11.BysgAqqA.css +0 -1
  135. package/dist/web/_app/immutable/assets/12.Cv7_3lm3.css +0 -1
  136. package/dist/web/_app/immutable/assets/2.DF2alPoJ.css +0 -1
  137. package/dist/web/_app/immutable/assets/3.K3A_7PML.css +0 -1
  138. package/dist/web/_app/immutable/assets/ChevronLeft.DkKx6zzU.css +0 -1
  139. package/dist/web/_app/immutable/assets/ViewToolbar.SyuJrtFp.css +0 -1
  140. package/dist/web/_app/immutable/assets/WorkspaceView.CFCGULVf.css +0 -1
  141. package/dist/web/_app/immutable/chunks/B-8WiidI.js +0 -1
  142. package/dist/web/_app/immutable/chunks/B0UhiMeL.js +0 -1
  143. package/dist/web/_app/immutable/chunks/B1f42VKu.js +0 -1
  144. package/dist/web/_app/immutable/chunks/B584Plw_.js +0 -2
  145. package/dist/web/_app/immutable/chunks/B9rnDSMy.js +0 -1
  146. package/dist/web/_app/immutable/chunks/BK42PcDI.js +0 -1
  147. package/dist/web/_app/immutable/chunks/BMB60CtO.js +0 -1
  148. package/dist/web/_app/immutable/chunks/BQiOMhgK.js +0 -1
  149. package/dist/web/_app/immutable/chunks/BT1EtT-T.js +0 -4
  150. package/dist/web/_app/immutable/chunks/BUzEKAuP.js +0 -1
  151. package/dist/web/_app/immutable/chunks/BVXp0xQD.js +0 -1
  152. package/dist/web/_app/immutable/chunks/BaMdMBD6.js +0 -1
  153. package/dist/web/_app/immutable/chunks/Bjbdko8J.js +0 -1
  154. package/dist/web/_app/immutable/chunks/BvVwTRB5.js +0 -1
  155. package/dist/web/_app/immutable/chunks/CBiBLuiK.js +0 -1
  156. package/dist/web/_app/immutable/chunks/CH2ArZqX.js +0 -18
  157. package/dist/web/_app/immutable/chunks/COSWCWJc.js +0 -1
  158. package/dist/web/_app/immutable/chunks/CTh3LGxI.js +0 -1
  159. package/dist/web/_app/immutable/chunks/CVWN0my4.js +0 -5
  160. package/dist/web/_app/immutable/chunks/CXKVCl01.js +0 -2
  161. package/dist/web/_app/immutable/chunks/Ca1DAtQh.js +0 -2
  162. package/dist/web/_app/immutable/chunks/CcmvIPLE.js +0 -1
  163. package/dist/web/_app/immutable/chunks/CdbeIqEu.js +0 -1
  164. package/dist/web/_app/immutable/chunks/ChL9MLYT.js +0 -1
  165. package/dist/web/_app/immutable/chunks/CmQUXR-Q.js +0 -1
  166. package/dist/web/_app/immutable/chunks/D3dgfs75.js +0 -1
  167. package/dist/web/_app/immutable/chunks/D4zk90z_.js +0 -1
  168. package/dist/web/_app/immutable/chunks/DFYOFE3o.js +0 -1
  169. package/dist/web/_app/immutable/chunks/DGvzULxd.js +0 -2
  170. package/dist/web/_app/immutable/chunks/DXlELvfC.js +0 -1
  171. package/dist/web/_app/immutable/chunks/DckX78C-.js +0 -1
  172. package/dist/web/_app/immutable/chunks/Derf2KR0.js +0 -1
  173. package/dist/web/_app/immutable/chunks/IWO0A1w9.js +0 -1
  174. package/dist/web/_app/immutable/chunks/PHw7Ht7D.js +0 -1
  175. package/dist/web/_app/immutable/chunks/QtcHHeRi.js +0 -1
  176. package/dist/web/_app/immutable/chunks/_FGjjD9P.js +0 -1
  177. package/dist/web/_app/immutable/chunks/hXfpX92g.js +0 -1
  178. package/dist/web/_app/immutable/chunks/xNAOqGHi.js +0 -3
  179. package/dist/web/_app/immutable/entry/app.DZZk9FhL.js +0 -2
  180. package/dist/web/_app/immutable/entry/start.7xpU_KlK.js +0 -1
  181. package/dist/web/_app/immutable/nodes/0.BoP7EznM.js +0 -2
  182. package/dist/web/_app/immutable/nodes/1.D88C7B3J.js +0 -1
  183. package/dist/web/_app/immutable/nodes/10.-ZvCdP8I.js +0 -1
  184. package/dist/web/_app/immutable/nodes/11.BykVkP_y.js +0 -1
  185. package/dist/web/_app/immutable/nodes/12.D3wEsz-7.js +0 -1
  186. package/dist/web/_app/immutable/nodes/2.CIsXawC1.js +0 -266
  187. package/dist/web/_app/immutable/nodes/3.gLLCp7pi.js +0 -5
  188. package/dist/web/_app/immutable/nodes/4.DBRtBuw0.js +0 -11
  189. package/dist/web/_app/immutable/nodes/5.Cl_maDlW.js +0 -1
  190. package/dist/web/_app/immutable/nodes/6.BcAq3XZ9.js +0 -1
  191. package/dist/web/_app/immutable/nodes/7.BkUvTb7i.js +0 -1
  192. package/dist/web/_app/immutable/nodes/8.C1Hsaxzw.js +0 -1
  193. package/dist/web/_app/immutable/nodes/9.SeWvoOCo.js +0 -1
@@ -8,13 +8,15 @@
8
8
  import { Type as T } from '@sinclair/typebox';
9
9
  import { wrapToolResult } from './graph-tools.js';
10
10
  import { formatTranscript } from '../../services/message-service.js';
11
- /** Get folders the current user is a member of. Null = no filtering (API key / open mode). */
12
- function getAccessibleFolders(user, authService) {
11
+ import * as access from '../../services/access-control.js';
12
+ /** Get folders the current user can access. Null = no filtering (API key / open mode).
13
+ * Uses access-control so personal-folder restrictions match the HTTP layer. */
14
+ function getAccessibleFolders(user, workspaceManager, authService) {
13
15
  if (!user)
14
16
  return null; // API key / open mode → all
15
- return authService.getUserFolders(user.id);
17
+ return access.getAccessibleRepos(user, workspaceManager, authService).map(r => r.name);
16
18
  }
17
- export function createMessageTools(messageService, getCurrentUser, authService) {
19
+ export function createMessageTools(messageService, getCurrentUser, workspaceManager, authService) {
18
20
  return [
19
21
  {
20
22
  name: 'search_messages',
@@ -28,7 +30,7 @@ export function createMessageTools(messageService, getCurrentUser, authService)
28
30
  execute: async (_toolCallId, params) => {
29
31
  const { query, folder, limit } = params;
30
32
  const user = getCurrentUser();
31
- const accessible = getAccessibleFolders(user, authService);
33
+ const accessible = getAccessibleFolders(user, workspaceManager, authService);
32
34
  const results = messageService.searchMessages(query, {
33
35
  folder,
34
36
  folders: accessible ?? undefined,
@@ -59,7 +61,7 @@ export function createMessageTools(messageService, getCurrentUser, authService)
59
61
  execute: async (_toolCallId, params) => {
60
62
  const { folder, messageId, limit: rawLimit } = params;
61
63
  const user = getCurrentUser();
62
- const accessible = getAccessibleFolders(user, authService);
64
+ const accessible = getAccessibleFolders(user, workspaceManager, authService);
63
65
  // Access check
64
66
  if (accessible && !accessible.includes(folder)) {
65
67
  return wrapToolResult({ error: `Access denied to folder "${folder}"` });
@@ -1 +1 @@
1
- {"version":3,"file":"message-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/message-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/message-tools.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { createGraphTools } from '../../agent/tools/graph-tools.js';
16
16
  import { createFsTools } from '../../agent/tools/fs-tools.js';
17
17
  import { createOpsTools } from '../../agent/tools/ops-tools.js';
18
18
  import { loadSkillIndex, buildSkillIndexPrompt, loadEagerSkills } from '../../agent/skill-loader.js';
19
+ import { parseFollowups } from '../../agent/followups.js';
19
20
  import { createLoadSkillTool } from '../../agent/tools/load-skill.js';
20
21
  import { loadCustomTools } from '../../agent/tools/tool-loader.js';
21
22
  import { ConnectorManager } from '../../mcp/connector-manager.js';
@@ -140,6 +141,17 @@ export const startCommand = new Command('start')
140
141
  title: `Studiograph — ${config.team_name}`,
141
142
  style: { borderColor: 'cyan', padding: 1 },
142
143
  }));
144
+ if (opts.verbose) {
145
+ const toolNames = agent.state.tools.map((t) => t.name).sort();
146
+ const skillNames = skillIndex.map((s) => s.name).sort();
147
+ console.log(dimText(`\n Tools (${toolNames.length}): ${toolNames.join(', ')}`));
148
+ console.log(dimText(` Skills (${skillNames.length}): ${skillNames.join(', ') || '(none)'}`));
149
+ if (connectorSummary) {
150
+ console.log(dimText(` Connectors: ${connectorSummary}`));
151
+ }
152
+ console.log(dimText(` Workspace: ${process.cwd()}`));
153
+ console.log(dimText(` Repos: ${repos.map((r) => r.name).join(', ')}\n`));
154
+ }
143
155
  // Check for updates (non-blocking, cached)
144
156
  await notifyUpdateAvailable();
145
157
  console.log(dimText('Type your message and press Enter. Type "exit" to quit.\n'));
@@ -158,6 +170,12 @@ export const startCommand = new Command('start')
158
170
  let lastLineWasBlank = false;
159
171
  // Spinner state for tool execution
160
172
  let toolSpinner = null;
173
+ // Disable ora animation in non-TTY sessions or when explicitly opted out
174
+ // (pty-wrapped captures, CI logs, agent-driven sessions). Ora's own
175
+ // isTTY check only sees the pty, not the capture behind it.
176
+ const spinnersEnabled = !!process.stderr.isTTY
177
+ && process.env.STUDIOGRAPH_NO_SPINNER !== '1'
178
+ && process.env.CI !== 'true';
161
179
  // Subscribe to agent events
162
180
  agent.subscribe((event) => {
163
181
  if (event.type === 'message_start') {
@@ -188,11 +206,16 @@ export const startCommand = new Command('start')
188
206
  lastLineWasBlank = true; // prevent double blank after tool gap
189
207
  }
190
208
  hasWrittenOutput = true;
191
- // Accumulate text and render complete lines through Markdown
209
+ // Accumulate text and render complete lines through Markdown.
210
+ // Truncate at any '<!--' to keep the trailing followups marker —
211
+ // which the agent appends to every response — out of rendered
212
+ // output. We surface the parsed suggestions on message_end.
192
213
  fullText += output;
193
- const lastNewline = fullText.lastIndexOf('\n');
214
+ const markerStart = fullText.indexOf('<!--');
215
+ const renderable = markerStart >= 0 ? fullText.substring(0, markerStart) : fullText;
216
+ const lastNewline = renderable.lastIndexOf('\n');
194
217
  if (lastNewline >= 0) {
195
- const completeText = fullText.substring(0, lastNewline + 1);
218
+ const completeText = renderable.substring(0, lastNewline + 1);
196
219
  if (completeText !== lastRenderedText) {
197
220
  // Defer rendering while inside an unclosed code fence — pi-tui
198
221
  // renders code blocks with borders, which shifts line indices
@@ -217,9 +240,17 @@ export const startCommand = new Command('start')
217
240
  }
218
241
  }
219
242
  else if (event.type === 'message_end') {
220
- // Render any remaining text (trailing incomplete line)
221
- if (fullText && fullText !== lastRenderedText) {
222
- mdRenderer.setText(fullText);
243
+ // Extract full assistant text and split off the followups marker
244
+ // before the final render so the CLI never shows the raw comment.
245
+ const msg = event.message;
246
+ const textContent = msg.role === 'assistant'
247
+ ? msg.content.filter((c) => c.type === 'text').map((c) => c.text).join('')
248
+ : '';
249
+ const { content: finalContent, suggestions } = parseFollowups(textContent || fullText);
250
+ // Render any remaining text (trailing incomplete line) from the
251
+ // suggestion-free content.
252
+ if (finalContent && finalContent !== lastRenderedText) {
253
+ mdRenderer.setText(finalContent);
223
254
  const width = process.stdout.columns || 80;
224
255
  const allLines = mdRenderer.render(width);
225
256
  for (let i = displayedLineCount; i < allLines.length; i++) {
@@ -230,19 +261,19 @@ export const startCommand = new Command('start')
230
261
  process.stdout.write(allLines[i] + '\n');
231
262
  }
232
263
  }
233
- // Message complete - extract text for logging
234
- const msg = event.message;
235
- if (msg.role === 'assistant') {
236
- const textContent = msg.content
237
- .filter((c) => c.type === 'text')
238
- .map((c) => c.text)
239
- .join('');
240
- if (textContent) {
241
- conversationLog.push(`Assistant: ${textContent}`);
242
- // Reset all formatting, then one blank line before next prompt
264
+ if (msg.role === 'assistant' && textContent) {
265
+ conversationLog.push(`Assistant: ${textContent}`);
266
+ // Render suggestions as a dim numbered block under the response.
267
+ if (suggestions && suggestions.length > 0) {
243
268
  process.stdout.write('\x1b[0m\n');
244
- inToolSequence = false;
269
+ process.stdout.write(dimText(' Try:') + '\n');
270
+ suggestions.forEach((s, i) => {
271
+ process.stdout.write(dimText(` ${i + 1}. ${s}`) + '\n');
272
+ });
245
273
  }
274
+ // Reset all formatting, then one blank line before next prompt
275
+ process.stdout.write('\x1b[0m\n');
276
+ inToolSequence = false;
246
277
  }
247
278
  }
248
279
  else if (event.type === 'tool_execution_start') {
@@ -252,11 +283,19 @@ export const startCommand = new Command('start')
252
283
  else {
253
284
  inToolSequence = true;
254
285
  }
255
- toolSpinner = ora({
256
- text: info(`Using tool: ${toolRef(event.toolName)}`),
257
- stream: process.stderr,
258
- color: 'cyan',
259
- }).start();
286
+ const toolLabel = info(`Using tool: ${toolRef(event.toolName)}`);
287
+ if (spinnersEnabled) {
288
+ toolSpinner = ora({
289
+ text: toolLabel,
290
+ stream: process.stderr,
291
+ color: 'cyan',
292
+ }).start();
293
+ }
294
+ else {
295
+ // Non-animated: one line on start, one on end. Keeps captured logs
296
+ // (CI, pty-wrapped sessions) from filling with cursor-control frames.
297
+ process.stderr.write(`${info('⠋')} ${toolLabel}\n`);
298
+ }
260
299
  hasWrittenOutput = true;
261
300
  }
262
301
  else if (event.type === 'agent_end') {
@@ -264,19 +303,22 @@ export const startCommand = new Command('start')
264
303
  process.stdout.write('\x07');
265
304
  }
266
305
  else if (event.type === 'tool_execution_end') {
306
+ const toolLabel = info(`Using tool: ${toolRef(event.toolName)}`);
307
+ const errText = event.isError
308
+ ? warn(`${toolRef(event.toolName)}: Execution failed`)
309
+ : event.result?.details?.success === false
310
+ ? warn(`${toolRef(event.toolName)}: ${event.result.details.error || 'Unknown error'}`)
311
+ : null;
267
312
  if (toolSpinner) {
268
- const toolLabel = info(`Using tool: ${toolRef(event.toolName)}`);
269
- if (event.isError) {
270
- toolSpinner.fail(warn(`${toolRef(event.toolName)}: Execution failed`));
271
- }
272
- else if (event.result?.details?.success === false) {
273
- toolSpinner.fail(warn(`${toolRef(event.toolName)}: ${event.result.details.error || 'Unknown error'}`));
274
- }
275
- else {
313
+ if (errText)
314
+ toolSpinner.fail(errText);
315
+ else
276
316
  toolSpinner.stopAndPersist({ symbol: info('🔧'), text: toolLabel });
277
- }
278
317
  toolSpinner = null;
279
318
  }
319
+ else if (!spinnersEnabled) {
320
+ process.stderr.write(`${errText ? warn('✗') : info('🔧')} ${errText || toolLabel}\n`);
321
+ }
280
322
  }
281
323
  });
282
324
  // Create readline interface
@@ -297,23 +339,37 @@ export const startCommand = new Command('start')
297
339
  // we queue messages and process them one at a time.
298
340
  let agentBusy = false;
299
341
  const messageQueue = [];
300
- async function processMessage(message) {
301
- if (message.toLowerCase() === 'exit') {
302
- // Save session summary to memory
303
- if (conversationLog.length > 0) {
342
+ // Once the readline stream closes (exit command, Ctrl+D, EOF on piped
343
+ // stdin) we drain any buffered work before calling process.exit so
344
+ // session memory is saved in every exit path, not just the 'exit'
345
+ // command path.
346
+ let closing = false;
347
+ function saveSessionAndExit(code = 0) {
348
+ if (conversationLog.length > 0) {
349
+ try {
304
350
  const summary = conversationLog.join('\n\n');
305
351
  memoryService.saveSessionSummary(summary, {
306
352
  timestamp: new Date().toISOString(),
307
353
  message_count: conversationLog.length,
308
354
  });
309
355
  }
356
+ catch { /* non-fatal */ }
357
+ }
358
+ console.log('\n👋 Goodbye!');
359
+ process.exit(code);
360
+ }
361
+ async function processMessage(message) {
362
+ if (message.toLowerCase() === 'exit') {
363
+ // Routing through rl.close() means every exit path (exit command,
364
+ // Ctrl+D, piped-stdin EOF) funnels through a single save+exit fn.
310
365
  rl.close();
311
- process.exit(0);
312
366
  return;
313
367
  }
314
368
  if (!message) {
315
- process.stdout.write('\x1b[0m');
316
- rl.prompt();
369
+ if (!closing) {
370
+ process.stdout.write('\x1b[0m');
371
+ rl.prompt();
372
+ }
317
373
  return;
318
374
  }
319
375
  agentBusy = true;
@@ -344,14 +400,19 @@ export const startCommand = new Command('start')
344
400
  }
345
401
  }
346
402
  agentBusy = false;
347
- // Drain the queue
403
+ // Drain the queue, then either re-prompt or exit if we were waiting
404
+ // for pending work to finish before closing.
348
405
  if (messageQueue.length > 0) {
349
406
  const next = messageQueue.shift();
350
- process.stdout.write('\x1b[0m');
351
- rl.prompt();
352
- // Small delay so the prompt renders before processing
407
+ if (!closing) {
408
+ process.stdout.write('\x1b[0m');
409
+ rl.prompt();
410
+ }
353
411
  setImmediate(() => processMessage(next));
354
412
  }
413
+ else if (closing) {
414
+ saveSessionAndExit();
415
+ }
355
416
  else {
356
417
  process.stdout.write('\x1b[0m');
357
418
  rl.prompt();
@@ -362,7 +423,7 @@ export const startCommand = new Command('start')
362
423
  const message = pasteBuffer.join('\n').trim();
363
424
  pasteBuffer = [];
364
425
  if (!message) {
365
- if (!agentBusy) {
426
+ if (!agentBusy && !closing) {
366
427
  process.stdout.write('\x1b[0m');
367
428
  rl.prompt();
368
429
  }
@@ -385,8 +446,24 @@ export const startCommand = new Command('start')
385
446
  pasteTimer = setTimeout(flushPasteBuffer, PASTE_DEBOUNCE_MS);
386
447
  });
387
448
  rl.on('close', () => {
388
- console.log('\n👋 Goodbye!');
389
- process.exit(0);
449
+ if (closing)
450
+ return; // re-entrant close (rare but safe)
451
+ closing = true;
452
+ // If the close was triggered while there's still buffered input,
453
+ // queued messages, or in-flight agent work, drain it before exiting
454
+ // so piped input (echo "..." | studiograph start) and Ctrl+D during
455
+ // a response both persist the session.
456
+ if (pasteTimer) {
457
+ clearTimeout(pasteTimer);
458
+ pasteTimer = null;
459
+ }
460
+ if (pasteBuffer.length > 0) {
461
+ flushPasteBuffer(); // schedules processMessage async
462
+ }
463
+ if (agentBusy || messageQueue.length > 0) {
464
+ return; // processMessage will call saveSessionAndExit when drained
465
+ }
466
+ saveSessionAndExit();
390
467
  });
391
468
  });
392
469
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
@@ -244,16 +244,26 @@ export class BaseGraphManager {
244
244
  const { entityType, entityId, data, content, commitMessage, skipCommit, user } = options;
245
245
  // Get existing entity
246
246
  const existing = this.get(entityType, entityId);
247
- // Merge data (if provided) and add update metadata
247
+ // Merge data (if provided) and always stamp update metadata. Even
248
+ // content-only edits (editor autosave) must update `updated_by` /
249
+ // `updated_at` — otherwise the audit trail freezes at whatever the
250
+ // last data-change user was, which for scaffolded files is
251
+ // "studiograph".
252
+ const updater = (user ?? this.gitUser).id;
253
+ const now = new Date().toISOString();
248
254
  const mergedData = data
249
255
  ? {
250
256
  ...existing.data,
251
257
  ...data,
252
258
  entity_type: entityType,
253
- updated_at: new Date().toISOString(),
254
- updated_by: (user ?? this.gitUser).id,
259
+ updated_at: now,
260
+ updated_by: updater,
255
261
  }
256
- : existing.data;
262
+ : {
263
+ ...existing.data,
264
+ updated_at: now,
265
+ updated_by: updater,
266
+ };
257
267
  // Validate merged data — use lenient validation when no new data is provided,
258
268
  // since the existing entity may have been stored without all required fields.
259
269
  // Raw fallback coerces Date objects to YYYY-MM-DD so gray-matter doesn't