studiograph 1.3.48-next.208 → 1.3.48-next.209

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 (200) hide show
  1. package/dist/agent/agent-pool.d.ts +19 -0
  2. package/dist/agent/agent-pool.js +37 -0
  3. package/dist/agent/agent-pool.js.map +1 -1
  4. package/dist/agent/orchestrator.d.ts +22 -0
  5. package/dist/agent/orchestrator.js +34 -1
  6. package/dist/agent/orchestrator.js.map +1 -1
  7. package/dist/agent/prompts/system.md +1 -0
  8. package/dist/agent/tools/graph-tools.d.ts +21 -1
  9. package/dist/agent/tools/graph-tools.js +91 -1
  10. package/dist/agent/tools/graph-tools.js.map +1 -1
  11. package/dist/core/embeds.d.ts +9 -0
  12. package/dist/core/embeds.js +12 -0
  13. package/dist/core/embeds.js.map +1 -1
  14. package/dist/server/index.js +8 -3
  15. package/dist/server/index.js.map +1 -1
  16. package/dist/server/routes/asset-api.d.ts +48 -1
  17. package/dist/server/routes/asset-api.js +96 -29
  18. package/dist/server/routes/asset-api.js.map +1 -1
  19. package/dist/server/routes/chat-sessions-api.d.ts +5 -1
  20. package/dist/server/routes/chat-sessions-api.js +335 -1
  21. package/dist/server/routes/chat-sessions-api.js.map +1 -1
  22. package/dist/server/routes/chat.d.ts +2 -1
  23. package/dist/server/routes/chat.js +126 -8
  24. package/dist/server/routes/chat.js.map +1 -1
  25. package/dist/server/routes/graph-api.js +2 -3
  26. package/dist/server/routes/graph-api.js.map +1 -1
  27. package/dist/services/asset-caption-service.js +2 -1
  28. package/dist/services/asset-caption-service.js.map +1 -1
  29. package/dist/services/asset-finalize-service.js +2 -3
  30. package/dist/services/asset-finalize-service.js.map +1 -1
  31. package/dist/services/assets/index.d.ts +11 -0
  32. package/dist/services/assets/index.js +29 -0
  33. package/dist/services/assets/index.js.map +1 -1
  34. package/dist/services/chat-session-service.d.ts +94 -2
  35. package/dist/services/chat-session-service.js +198 -2
  36. package/dist/services/chat-session-service.js.map +1 -1
  37. package/dist/services/scratch-asset-promote.d.ts +57 -0
  38. package/dist/services/scratch-asset-promote.js +95 -0
  39. package/dist/services/scratch-asset-promote.js.map +1 -0
  40. package/dist/services/scratch-attachment-service.d.ts +196 -0
  41. package/dist/services/scratch-attachment-service.js +347 -0
  42. package/dist/services/scratch-attachment-service.js.map +1 -0
  43. package/dist/web/_app/immutable/assets/0.Bs_z3Z86.css +2 -0
  44. package/dist/web/_app/immutable/assets/{2.DIEJ81Ug.css → 2.DATnR31c.css} +1 -1
  45. package/dist/web/_app/immutable/assets/3.Cz4H8n_O.css +1 -0
  46. package/dist/web/_app/immutable/assets/{5.C74BHkOh.css → 6.CF1i5Bon.css} +1 -1
  47. package/dist/web/_app/immutable/assets/AssetLibraryPicker.BOFW0MvF.css +1 -0
  48. package/dist/web/_app/immutable/assets/Rail.ilusFgD4.css +1 -0
  49. package/dist/web/_app/immutable/assets/sheet.RF9RBmml.css +1 -0
  50. package/dist/web/_app/immutable/chunks/-2spa_ty.js +1 -0
  51. package/dist/web/_app/immutable/chunks/{DVrELb3P.js → 8gf0UBic.js} +1 -1
  52. package/dist/web/_app/immutable/chunks/8xCkZMHB2.js +2 -0
  53. package/dist/web/_app/immutable/chunks/{C59XpJda.js → B-n5q6ku.js} +1 -1
  54. package/dist/web/_app/immutable/chunks/B3OPjHNM.js +6 -0
  55. package/dist/web/_app/immutable/chunks/B3hBJ0CZ.js +1 -0
  56. package/dist/web/_app/immutable/chunks/B4_vWrbE.js +5 -0
  57. package/dist/web/_app/immutable/chunks/B85YLOuO.js +1 -0
  58. package/dist/web/_app/immutable/chunks/BA-4MmCY.js +1 -0
  59. package/dist/web/_app/immutable/chunks/BCQQzpbj.js +1 -0
  60. package/dist/web/_app/immutable/chunks/BF86pxyG.js +1 -0
  61. package/dist/web/_app/immutable/chunks/BLs1h0Rh2.js +1 -0
  62. package/dist/web/_app/immutable/chunks/{CgOHVHku.js → BT7MNsRm.js} +1 -1
  63. package/dist/web/_app/immutable/chunks/BVC3D6J_2.js +2 -0
  64. package/dist/web/_app/immutable/chunks/BWvxD8JC.js +1 -0
  65. package/dist/web/_app/immutable/chunks/{gXqkvrs32.js → BXFiQe0S2.js} +1 -1
  66. package/dist/web/_app/immutable/chunks/{BEeNeCvC2.js → Bbqu2-5G2.js} +1 -1
  67. package/dist/web/_app/immutable/chunks/BdtryC552.js +1 -0
  68. package/dist/web/_app/immutable/chunks/BfwmNeLQ.js +1 -0
  69. package/dist/web/_app/immutable/chunks/BuRnMKGZ.js +1 -0
  70. package/dist/web/_app/immutable/chunks/Bx74EEyn2.js +1 -0
  71. package/dist/web/_app/immutable/chunks/BxPN0T61.js +1 -0
  72. package/dist/web/_app/immutable/chunks/C-TmTX5l2.js +1 -0
  73. package/dist/web/_app/immutable/chunks/{DI8udRYr2.js → C-ZVRZqG2.js} +1 -1
  74. package/dist/web/_app/immutable/chunks/CEPTuxuw.js +2 -0
  75. package/dist/web/_app/immutable/chunks/CP8_U450.js +1 -0
  76. package/dist/web/_app/immutable/chunks/CTDSRwA-.js +1 -0
  77. package/dist/web/_app/immutable/chunks/CarU_W4g.js +2 -0
  78. package/dist/web/_app/immutable/chunks/CbBO7xjd.js +1 -0
  79. package/dist/web/_app/immutable/chunks/Ch1kmm3J2.js +1 -0
  80. package/dist/web/_app/immutable/chunks/{DehfVQc5.js → CjBxftln.js} +1 -1
  81. package/dist/web/_app/immutable/chunks/{BZB0euuT2.js → CllJGOSl2.js} +1 -1
  82. package/dist/web/_app/immutable/chunks/Cq3VfwJ3.js +2 -0
  83. package/dist/web/_app/immutable/chunks/{BtmGpvgc.js → CqkR4dEE.js} +1 -1
  84. package/dist/web/_app/immutable/chunks/CzXdOgVl2.js +7 -0
  85. package/dist/web/_app/immutable/chunks/{DO6pimNO.js → Czkm1Z_J.js} +1 -1
  86. package/dist/web/_app/immutable/chunks/{C9osKsHh.js → D1-GZSN1.js} +1 -1
  87. package/dist/web/_app/immutable/chunks/D8RiXQGX.js +1 -0
  88. package/dist/web/_app/immutable/chunks/D8wZ2xul.js +4 -0
  89. package/dist/web/_app/immutable/chunks/D9kLoQFp.js +2 -0
  90. package/dist/web/_app/immutable/chunks/DAUpeR52.js +1 -0
  91. package/dist/web/_app/immutable/chunks/DF37Jk8z.js +3 -0
  92. package/dist/web/_app/immutable/chunks/DFo8Z02k2.js +2 -0
  93. package/dist/web/_app/immutable/chunks/{BhO5HIrI.js → DHcBGJcU.js} +2 -2
  94. package/dist/web/_app/immutable/chunks/{DBgUzjQx.js → DPUVu0T0.js} +1 -1
  95. package/dist/web/_app/immutable/chunks/{DdMEZwLF.js → DQ8hc8G4.js} +1 -1
  96. package/dist/web/_app/immutable/chunks/DcKFKEKq2.js +1 -0
  97. package/dist/web/_app/immutable/chunks/Dg14Xiup2.js +2 -0
  98. package/dist/web/_app/immutable/chunks/{CQWAWa_32.js → Dhi-nA7b2.js} +1 -1
  99. package/dist/web/_app/immutable/chunks/{Dbwno29L.js → DjIqa1_y.js} +1 -1
  100. package/dist/web/_app/immutable/chunks/DqOvW0Ci.js +1 -0
  101. package/dist/web/_app/immutable/chunks/DuxziNnw.js +1 -0
  102. package/dist/web/_app/immutable/chunks/DzK_EvND.js +2 -0
  103. package/dist/web/_app/immutable/chunks/HqKvrUJa.js +1 -0
  104. package/dist/web/_app/immutable/chunks/{m1V4PaLQ.js → JcpnqlPk.js} +1 -1
  105. package/dist/web/_app/immutable/chunks/{aPZBHxIa2.js → NXXkP0Yl2.js} +1 -1
  106. package/dist/web/_app/immutable/chunks/{D-e9VvIo.js → PyLyCpuL.js} +1 -1
  107. package/dist/web/_app/immutable/chunks/{BKVRLHiJ.js → RK4gCWN0.js} +2 -2
  108. package/dist/web/_app/immutable/chunks/{io_teJur.js → SzNdcEDz.js} +1 -1
  109. package/dist/web/_app/immutable/chunks/{D-4BQ8du.js → XXFvJvf7.js} +1 -1
  110. package/dist/web/_app/immutable/chunks/{BOI59A5Z.js → al_nidE9.js} +1 -1
  111. package/dist/web/_app/immutable/chunks/{CWjCi5AO.js → dpypnVMz.js} +1 -1
  112. package/dist/web/_app/immutable/chunks/{DFiYoirC.js → hTPRNEu-.js} +1 -1
  113. package/dist/web/_app/immutable/chunks/{ygFA5T5j.js → hjHovleV.js} +2 -2
  114. package/dist/web/_app/immutable/chunks/iq89w22o.js +1 -0
  115. package/dist/web/_app/immutable/chunks/xeNvx4Bl2.js +1 -0
  116. package/dist/web/_app/immutable/chunks/yoW0fRX1.js +8 -0
  117. package/dist/web/_app/immutable/chunks/yweJJEAv.js +1 -0
  118. package/dist/web/_app/immutable/chunks/{CaxFmvdv2.js → z-R2Vldf2.js} +1 -1
  119. package/dist/web/_app/immutable/entry/app.D9x3Ozzy.js +2 -0
  120. package/dist/web/_app/immutable/entry/start.CASYyKnT.js +1 -0
  121. package/dist/web/_app/immutable/nodes/0.dg_UMka-.js +2 -0
  122. package/dist/web/_app/immutable/nodes/{1.BAbasvD2.js → 1.DmQYkamr.js} +1 -1
  123. package/dist/web/_app/immutable/nodes/{10.DLCRi098.js → 10.BEAGT9ix.js} +1 -1
  124. package/dist/web/_app/immutable/nodes/{11.BhO2gsVN.js → 11.BCpAYiCX.js} +1 -1
  125. package/dist/web/_app/immutable/nodes/{12.CELYXDE2.js → 12.BD2-phrA.js} +1 -1
  126. package/dist/web/_app/immutable/nodes/14.Car_Z8Ge.js +1 -0
  127. package/dist/web/_app/immutable/nodes/15.DxgnZ61h.js +1 -0
  128. package/dist/web/_app/immutable/nodes/16.Dx-_Q88K.js +1 -0
  129. package/dist/web/_app/immutable/nodes/{17.Di4QOO2r.js → 17.DPlV4PKK.js} +1 -1
  130. package/dist/web/_app/immutable/nodes/2.De5Q8inl.js +122 -0
  131. package/dist/web/_app/immutable/nodes/3.CB85wmwM.js +6 -0
  132. package/dist/web/_app/immutable/nodes/4.CuBxISNV.js +11 -0
  133. package/dist/web/_app/immutable/nodes/{6.C9PxY9yv.js → 5.BacpN2b7.js} +1 -1
  134. package/dist/web/_app/immutable/nodes/6.NCIMY9Md.js +6 -0
  135. package/dist/web/_app/immutable/nodes/{7.BvcEDWk4.js → 7.CuBtDBRM.js} +1 -1
  136. package/dist/web/_app/immutable/nodes/{8.Bho2M8PC.js → 8.CK9UmlO8.js} +1 -1
  137. package/dist/web/_app/immutable/nodes/{9.serTFNH6.js → 9.1L0aYtSp.js} +1 -1
  138. package/dist/web/_app/version.json +1 -1
  139. package/dist/web/index.html +21 -25
  140. package/package.json +1 -1
  141. package/dist/web/_app/immutable/assets/0.D7WVex0N.css +0 -2
  142. package/dist/web/_app/immutable/assets/3.DNhFBqTL.css +0 -1
  143. package/dist/web/_app/immutable/assets/Rail.Bc3JxCqx.css +0 -1
  144. package/dist/web/_app/immutable/assets/TrashCan.DK0MgYgb.css +0 -1
  145. package/dist/web/_app/immutable/assets/sheet.4rY4hpfJ.css +0 -1
  146. package/dist/web/_app/immutable/chunks/BYJjrdWC2.js +0 -2
  147. package/dist/web/_app/immutable/chunks/BbfGTPuK.js +0 -1
  148. package/dist/web/_app/immutable/chunks/Bl0ikfEZ2.js +0 -2
  149. package/dist/web/_app/immutable/chunks/Bnk3lZtK.js +0 -1
  150. package/dist/web/_app/immutable/chunks/Br0i2G4f.js +0 -1
  151. package/dist/web/_app/immutable/chunks/Byhopala.js +0 -1
  152. package/dist/web/_app/immutable/chunks/C-nvZs_f2.js +0 -1
  153. package/dist/web/_app/immutable/chunks/C4Fr9rfm.js +0 -2
  154. package/dist/web/_app/immutable/chunks/C4PTvPrm.js +0 -1
  155. package/dist/web/_app/immutable/chunks/C6wE57TS.js +0 -2
  156. package/dist/web/_app/immutable/chunks/CEe1tMKx.js +0 -1
  157. package/dist/web/_app/immutable/chunks/Cg-oEIqT.js +0 -1
  158. package/dist/web/_app/immutable/chunks/Cptz3YHX.js +0 -3
  159. package/dist/web/_app/immutable/chunks/CqcbWwRX.js +0 -4
  160. package/dist/web/_app/immutable/chunks/D1aeXbxV.js +0 -2
  161. package/dist/web/_app/immutable/chunks/D32E2pxT.js +0 -1
  162. package/dist/web/_app/immutable/chunks/D3fuZlbh.js +0 -5
  163. package/dist/web/_app/immutable/chunks/D6bNshhj.js +0 -1
  164. package/dist/web/_app/immutable/chunks/D6ovY8Ov2.js +0 -2
  165. package/dist/web/_app/immutable/chunks/D7r1zUlN.js +0 -1
  166. package/dist/web/_app/immutable/chunks/DF_atEMV2.js +0 -1
  167. package/dist/web/_app/immutable/chunks/DKZFPfA72.js +0 -1
  168. package/dist/web/_app/immutable/chunks/DRPT1OD5.js +0 -2
  169. package/dist/web/_app/immutable/chunks/DUCKTcAD.js +0 -1
  170. package/dist/web/_app/immutable/chunks/DX4AgRqC.js +0 -1
  171. package/dist/web/_app/immutable/chunks/DapLnTPZ.js +0 -8
  172. package/dist/web/_app/immutable/chunks/De6I7t0p2.js +0 -2
  173. package/dist/web/_app/immutable/chunks/DrUhXuKH.js +0 -1
  174. package/dist/web/_app/immutable/chunks/Dtmrat27.js +0 -1
  175. package/dist/web/_app/immutable/chunks/EKvUXtuS2.js +0 -1
  176. package/dist/web/_app/immutable/chunks/FZpWuDNe2.js +0 -7
  177. package/dist/web/_app/immutable/chunks/JWG5eWW5.js +0 -2
  178. package/dist/web/_app/immutable/chunks/KZ8MarYh.js +0 -1
  179. package/dist/web/_app/immutable/chunks/QI2oCYox.js +0 -1
  180. package/dist/web/_app/immutable/chunks/QL-eLn8a.js +0 -1
  181. package/dist/web/_app/immutable/chunks/RFJVKWCi.js +0 -1
  182. package/dist/web/_app/immutable/chunks/UzskWcO_.js +0 -8
  183. package/dist/web/_app/immutable/chunks/biqzvulT.js +0 -1
  184. package/dist/web/_app/immutable/chunks/m-Bbt1hq2.js +0 -1
  185. package/dist/web/_app/immutable/chunks/oboTtHHF.js +0 -1
  186. package/dist/web/_app/immutable/chunks/q0weW0_H.js +0 -1
  187. package/dist/web/_app/immutable/chunks/wpAwA-4W.js +0 -1
  188. package/dist/web/_app/immutable/entry/app.BNrwTMYA.js +0 -2
  189. package/dist/web/_app/immutable/entry/start.DiQo8G0D.js +0 -1
  190. package/dist/web/_app/immutable/nodes/0.BTbxSLTa.js +0 -2
  191. package/dist/web/_app/immutable/nodes/14.CUhfiTSw.js +0 -1
  192. package/dist/web/_app/immutable/nodes/15.DYX45qTZ.js +0 -1
  193. package/dist/web/_app/immutable/nodes/16.CCcn9jVI.js +0 -1
  194. package/dist/web/_app/immutable/nodes/2.dJj4Yyb-.js +0 -122
  195. package/dist/web/_app/immutable/nodes/3.B5EOiLQA.js +0 -6
  196. package/dist/web/_app/immutable/nodes/4.CnhO6aev.js +0 -11
  197. package/dist/web/_app/immutable/nodes/5.BAg46KWJ.js +0 -6
  198. /package/dist/web/_app/immutable/assets/{dist.DDCWxn3B.css → realtime.DDCWxn3B.css} +0 -0
  199. /package/dist/web/_app/immutable/chunks/{BuhW5Fr02.js → BuhW5Fr0.js} +0 -0
  200. /package/dist/web/_app/immutable/chunks/{CfYG72Hc2.js → CfYG72Hc.js} +0 -0
@@ -14,6 +14,15 @@ import type { MutationEvent } from './tools/graph-tools.js';
14
14
  import type { ArtifactCallback, ArtifactToolTarget } from './tools/artifact-tools.js';
15
15
  export interface AgentContext {
16
16
  user: AuthUser | null;
17
+ /**
18
+ * The RAW client session id for this turn (the chat's id as the client knows
19
+ * it — what conversation-scratch images are keyed by). Distinct from the
20
+ * pool's resolved session key (`user:<id>:<clientId>`). Lets session-scoped
21
+ * tools (e.g. `save_file_to_assets`) target the current conversation's
22
+ * scratch images rather than the user's other chats. Optional — unset for
23
+ * CLI/non-web contexts.
24
+ */
25
+ clientSessionId?: string | null;
17
26
  onHighlight?: ((ids: string[]) => void) | null;
18
27
  onMutation?: ((m: MutationEvent) => void) | null;
19
28
  onArtifact?: ArtifactCallback | null;
@@ -128,6 +137,16 @@ export declare class AgentPool {
128
137
  private compactArtifactHistory;
129
138
  private saveSession;
130
139
  private getUserDir;
140
+ /**
141
+ * Delete a session's persisted state: evict the warm in-memory entry AND
142
+ * unlink its on-disk JSON. Used when a chat is deleted — the per-session JSON
143
+ * holds base64 copies of any vision images the agent saw, so it must be
144
+ * removed for the "delete chat → images gone" promise to hold (composer-vision).
145
+ * `sessionId` is the RESOLVED id the pool keys by (e.g. `user:7:abc`).
146
+ */
147
+ deleteSession(userId: number | undefined, sessionId: string): void;
148
+ /** Delete EVERY persisted session for a user (the reset / delete-all path). */
149
+ deleteAllSessions(userId: number | undefined): void;
131
150
  private pruneSessions;
132
151
  private reap;
133
152
  }
@@ -305,6 +305,43 @@ export class AgentPool {
305
305
  return join(this.config.sessionsDir, String(userId));
306
306
  return this.config.sessionsDir;
307
307
  }
308
+ /**
309
+ * Delete a session's persisted state: evict the warm in-memory entry AND
310
+ * unlink its on-disk JSON. Used when a chat is deleted — the per-session JSON
311
+ * holds base64 copies of any vision images the agent saw, so it must be
312
+ * removed for the "delete chat → images gone" promise to hold (composer-vision).
313
+ * `sessionId` is the RESOLVED id the pool keys by (e.g. `user:7:abc`).
314
+ */
315
+ deleteSession(userId, sessionId) {
316
+ this.pool.delete(sessionId);
317
+ const path = join(this.getUserDir(userId), `${sessionId}.json`);
318
+ // Path-traversal guard: a resolved id is server-built, but never trust it.
319
+ if (!resolve(path).startsWith(resolve(this.getUserDir(userId))))
320
+ return;
321
+ try {
322
+ if (existsSync(path))
323
+ unlinkSync(path);
324
+ }
325
+ catch { /* best-effort */ }
326
+ }
327
+ /** Delete EVERY persisted session for a user (the reset / delete-all path). */
328
+ deleteAllSessions(userId) {
329
+ for (const [key, entry] of this.pool) {
330
+ if (entry.userId === userId)
331
+ this.pool.delete(key);
332
+ }
333
+ const dir = this.getUserDir(userId);
334
+ if (!existsSync(dir))
335
+ return;
336
+ for (const f of readdirSync(dir)) {
337
+ if (f.endsWith('.json')) {
338
+ try {
339
+ unlinkSync(join(dir, f));
340
+ }
341
+ catch { /* best-effort */ }
342
+ }
343
+ }
344
+ }
308
345
  pruneSessions(dir, keep) {
309
346
  if (!existsSync(dir))
310
347
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-pool.js","sourceRoot":"","sources":["../../src/agent/agent-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-pool.js","sourceRoot":"","sources":["../../src/agent/agent-pool.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { type MutationEvent } from './tools/graph-tools.js';
12
12
  import { AuthService } from '../services/auth-service.js';
13
13
  import type { AuthUser } from '../services/auth-service.js';
14
14
  import type { CommentService } from '../services/comment-service.js';
15
+ import type { ChatSessionService } from '../services/chat-session-service.js';
15
16
  import { AgentPool } from './agent-pool.js';
16
17
  import { type InferenceUsageSummary } from '../services/cloud-inference-billing.js';
17
18
  export interface AgentConfig {
@@ -52,6 +53,12 @@ export interface AgentConfig {
52
53
  * don't appear there).
53
54
  */
54
55
  commentService?: CommentService;
56
+ /**
57
+ * Optional ChatSessionService — lets the agent's `save_file_to_assets` tool
58
+ * promote a conversation-scratch image into the curated asset library. Omitted
59
+ * by CLI/test callers (the tool then resolves no scratch images and no-ops).
60
+ */
61
+ chatSessionService?: ChatSessionService;
55
62
  }
56
63
  export interface AgentResponse {
57
64
  content: string;
@@ -73,6 +80,7 @@ export declare class AgentOrchestrator {
73
80
  private registryRef;
74
81
  private authService;
75
82
  private commentService;
83
+ private chatSessionService;
76
84
  private recentMemory?;
77
85
  private sessionsDir;
78
86
  private _currentUser;
@@ -163,6 +171,20 @@ export declare class AgentOrchestrator {
163
171
  provider: string;
164
172
  modelId: string;
165
173
  };
174
+ /** Can the active chat model accept image input? Drives the composer's
175
+ * vision-attach affordance (disable + tooltip when false). The Studiograph
176
+ * Credits gateway is vision-capable (A6); otherwise resolve from the model. */
177
+ supportsVision(): boolean;
178
+ /**
179
+ * Delete the agent-pool's persisted state for a chat session — evicts the warm
180
+ * agent + unlinks its on-disk JSON, which holds base64 copies of any vision
181
+ * images the agent saw. Called when a chat is deleted so those copies don't
182
+ * outlive the conversation (composer-vision cleanup). `rawSessionId` is the
183
+ * client session id; the pool keys by the resolved `user:{id}:{raw}` form.
184
+ */
185
+ deleteChatSessionState(userId: number, rawSessionId: string): void;
186
+ /** Delete agent-pool state for ALL of a user's chats (reset / delete-all). */
187
+ deleteAllChatSessionState(userId: number): void;
166
188
  /**
167
189
  * One-shot, tool-free model call that names a conversation from its opening
168
190
  * exchange (the ChatGPT pattern). Used by POST /api/chat/title after the
@@ -34,6 +34,7 @@ import { ENTITY_SCHEMAS } from '../core/validation.js';
34
34
  import { AuthService } from '../services/auth-service.js';
35
35
  import * as access from '../services/access-control.js';
36
36
  import { loadUserConfig, resolveApiKey, resolveProvider, resolveModelId } from '../core/user-config.js';
37
+ import { supportsVision } from '../services/model-capabilities.js';
37
38
  import { onSecretMutation } from '../core/secrets/index.js';
38
39
  import { AgentPool } from './agent-pool.js';
39
40
  import { addInferenceUsage, createCloudInferenceStreamFn, createInferenceUsageSummary, isStudiographCreditsMode, studiographCreditsModel, } from '../services/cloud-inference-billing.js';
@@ -48,6 +49,7 @@ export class AgentOrchestrator {
48
49
  registryRef = { registry: null };
49
50
  authService;
50
51
  commentService;
52
+ chatSessionService;
51
53
  recentMemory;
52
54
  sessionsDir;
53
55
  // Per-session context — used by tool closures via the pool's contextMap
@@ -69,6 +71,7 @@ export class AgentOrchestrator {
69
71
  // harmless there.
70
72
  this.authService = config.authService ?? new AuthService(config.workspacePath);
71
73
  this.commentService = config.commentService ?? null;
74
+ this.chatSessionService = config.chatSessionService ?? null;
72
75
  this.sessionsDir = join(homedir(), '.studiograph', 'sessions');
73
76
  // Skills: filesystem dirs are now bundled-only. User/workspace authoring
74
77
  // moves to graph `skill` entities (enumerated per-user in createAgentInstance).
@@ -141,6 +144,13 @@ export class AgentOrchestrator {
141
144
  const sid = this.pool.findSessionForAgent(agent);
142
145
  return sid ? (this.pool.getContext(sid).user ?? null) : this._currentUser;
143
146
  };
147
+ // The raw client session id for the active turn (scratch images are keyed by
148
+ // it). Resolved per call from the pool context so session-scoped tools target
149
+ // the current conversation. Null for non-web contexts that set no context.
150
+ const getActiveSessionId = () => {
151
+ const sid = this.pool.findSessionForAgent(agent);
152
+ return sid ? (this.pool.getContext(sid).clientSessionId ?? null) : null;
153
+ };
144
154
  const onHighlight = (ids) => {
145
155
  const sid = this.pool.findSessionForAgent(agent);
146
156
  if (sid)
@@ -211,7 +221,7 @@ export class AgentOrchestrator {
211
221
  return this.pool.getContext(sid).onNothingToCapture ?? undefined;
212
222
  };
213
223
  const tools = [
214
- ...createGraphTools(this.workspaceManager, this.gitUser, this.workspacePath, onHighlight, onMutation, getUser, this.authService, onAgentActivity, this.commentService),
224
+ ...createGraphTools(this.workspaceManager, this.gitUser, this.workspacePath, onHighlight, onMutation, getUser, this.authService, onAgentActivity, this.commentService, this.chatSessionService, getActiveSessionId),
215
225
  ...createFolderTools(this.workspaceManager, this.gitUser, onMutation, getUser, this.authService, onAgentActivity),
216
226
  ...createHistoryTools(this.workspaceManager, this.gitUser, onMutation, getUser, this.authService, onAgentActivity),
217
227
  ...createOpsTools(this.workspacePath, this.config),
@@ -732,6 +742,29 @@ ${repoList}`;
732
742
  modelId: resolveModelId(userConfig, this.config),
733
743
  };
734
744
  }
745
+ /** Can the active chat model accept image input? Drives the composer's
746
+ * vision-attach affordance (disable + tooltip when false). The Studiograph
747
+ * Credits gateway is vision-capable (A6); otherwise resolve from the model. */
748
+ supportsVision() {
749
+ if (isStudiographCreditsMode())
750
+ return true;
751
+ const { provider, modelId } = this.getModelSelection();
752
+ return supportsVision(provider, modelId);
753
+ }
754
+ /**
755
+ * Delete the agent-pool's persisted state for a chat session — evicts the warm
756
+ * agent + unlinks its on-disk JSON, which holds base64 copies of any vision
757
+ * images the agent saw. Called when a chat is deleted so those copies don't
758
+ * outlive the conversation (composer-vision cleanup). `rawSessionId` is the
759
+ * client session id; the pool keys by the resolved `user:{id}:{raw}` form.
760
+ */
761
+ deleteChatSessionState(userId, rawSessionId) {
762
+ this.pool.deleteSession(userId, `user:${userId}:${rawSessionId}`);
763
+ }
764
+ /** Delete agent-pool state for ALL of a user's chats (reset / delete-all). */
765
+ deleteAllChatSessionState(userId) {
766
+ this.pool.deleteAllSessions(userId);
767
+ }
735
768
  /**
736
769
  * One-shot, tool-free model call that names a conversation from its opening
737
770
  * exchange (the ChatGPT pattern). Used by POST /api/chat/title after the
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -257,6 +257,7 @@ Rules:
257
257
  - Refer to folders by their **display name**, never the kebab-case path or slug — say "Brand Refresh", not "brand-refresh". Use the folder's `display_name` from the Folder Inventory when it has one; otherwise title-case the last path segment ("client-work/acme-corp" → "Acme Corp").
258
258
  - After creating/updating entries: suggest exploring relationships, adding detail, or related actions
259
259
  - One suggestion may be an action ("Create a project entry for X") rather than a question
260
+ - Never suggest saving an attached/uploaded file (image or document) to the library (or "to assets"). The composer's attachment chip already has a dedicated "Save to library" button, so a follow-up for it is redundant and goes stale once the user clicks it. Only call `save_file_to_assets` when the user explicitly asks — don't proactively offer it.
260
261
  - Keep each under 60 characters
261
262
  - During onboarding interview: omit the followups comment entirely — the UI handles suggestions
262
263
  - Exception: if the user defers onboarding ("I'll finish this later", "come back to this", etc.), include exactly one suggestion: "Continue where I left off"
@@ -12,6 +12,7 @@ import { WorkspaceManager } from '../../core/workspace-manager.js';
12
12
  import { type AuthUser } from '../../services/auth-service.js';
13
13
  import type { AuthService } from '../../services/auth-service.js';
14
14
  import type { CommentService } from '../../services/comment-service.js';
15
+ import type { ChatSessionService } from '../../services/chat-session-service.js';
15
16
  /**
16
17
  * Helper to wrap tool results in AgentToolResult format
17
18
  */
@@ -30,6 +31,13 @@ export interface MutationEvent {
30
31
  repo: string;
31
32
  entityType: string;
32
33
  entityId: string;
34
+ /**
35
+ * The mutation changed free-standing ASSETS in `repo` (not just an entry) —
36
+ * e.g. promoting a chat image into the library. The transport should emit a
37
+ * `repo_sync` so asset-only views (the asset manager) refresh; the default
38
+ * `entity_change` broadcast doesn't cover assets (they aren't entities).
39
+ */
40
+ repoSync?: boolean;
33
41
  }
34
42
  export declare function createGraphTools(workspaceManager: WorkspaceManager, gitUser: {
35
43
  id: string;
@@ -49,7 +57,19 @@ onAgentActivity?: (action: 'enter' | 'leave' | 'heartbeat', repo: string) => voi
49
57
  * surface does. A graceful no-op when absent (stdio / tests), so comments
50
58
  * simply don't appear rather than erroring.
51
59
  */
52
- commentService?: CommentService | null): ({
60
+ commentService?: CommentService | null,
61
+ /**
62
+ * Optional ChatSessionService. When supplied (web chat), enables
63
+ * `save_file_to_assets` to promote a conversation-scratch image into the
64
+ * curated asset library. A graceful no-op when absent (stdio / tests).
65
+ */
66
+ chatSessionService?: ChatSessionService | null,
67
+ /**
68
+ * Resolves the active turn's RAW client session id. Lets `save_file_to_assets`
69
+ * scope "this image" to the current conversation's scratch images rather than
70
+ * the user's other chats. Returns null outside a web chat turn.
71
+ */
72
+ getActiveSessionId?: () => string | null | undefined): ({
53
73
  name: string;
54
74
  label: string;
55
75
  description: string;
@@ -20,6 +20,7 @@ import { buildActor, prepareCreatePayload, prepareUpdatePayload, diagnosedUpdate
20
20
  import { listRepoAssets } from '../../services/asset-listing.js';
21
21
  import { assetEmbed } from '../../core/embeds.js';
22
22
  import * as commentVirtualEntity from '../../services/comment-virtual-entity.js';
23
+ import { promoteScratchFileToAssets, PromoteScratchError } from '../../services/scratch-asset-promote.js';
23
24
  /**
24
25
  * Helper to wrap tool results in AgentToolResult format
25
26
  */
@@ -96,10 +97,24 @@ onAgentActivity,
96
97
  * surface does. A graceful no-op when absent (stdio / tests), so comments
97
98
  * simply don't appear rather than erroring.
98
99
  */
99
- commentService) {
100
+ commentService,
101
+ /**
102
+ * Optional ChatSessionService. When supplied (web chat), enables
103
+ * `save_file_to_assets` to promote a conversation-scratch image into the
104
+ * curated asset library. A graceful no-op when absent (stdio / tests).
105
+ */
106
+ chatSessionService,
107
+ /**
108
+ * Resolves the active turn's RAW client session id. Lets `save_file_to_assets`
109
+ * scope "this image" to the current conversation's scratch images rather than
110
+ * the user's other chats. Returns null outside a web chat turn.
111
+ */
112
+ getActiveSessionId) {
100
113
  const getUser = getCurrentUser ?? (() => null);
101
114
  const authSvc = authService ?? null;
102
115
  const commentSvc = commentService ?? null;
116
+ const chatSessionSvc = chatSessionService ?? null;
117
+ const getSessionId = getActiveSessionId ?? (() => null);
103
118
  /**
104
119
  * Resolve the identity to stamp on writes. If the tool call is running on
105
120
  * behalf of a real user (chat / quick-capture from the web), credit them
@@ -709,6 +724,81 @@ commentService) {
709
724
  }
710
725
  },
711
726
  },
727
+ // Promote a composer/chat scratch file (image or doc) into the asset library.
728
+ {
729
+ name: 'save_file_to_assets',
730
+ label: 'Save File to Assets',
731
+ description: 'Save a file the user attached to THIS chat (a composer/scratch image or document) into the curated ' +
732
+ 'asset library so it persists beyond the conversation. Use this when the user says something like "save ' +
733
+ 'this to my assets". By default it saves the most-recently-attached file to the shared Assets folder ' +
734
+ '(the user can then move it wherever they like); pass `filename` to disambiguate when several are ' +
735
+ 'attached, or `folder` to save into a specific folder you have write access to. Only works for files ' +
736
+ 'the user attached to the chat (and not ones already picked from the library) — it cannot save arbitrary ' +
737
+ 'URLs or filesystem paths.',
738
+ parameters: T.Object({
739
+ filename: T.Optional(T.String({ description: 'Which attached file to save, by filename (defaults to the most recent).' })),
740
+ folder: T.Optional(T.String({ description: 'Destination folder name. Defaults to the shared Assets library.' })),
741
+ }),
742
+ execute: async (toolCallId, params) => {
743
+ try {
744
+ const user = getUser();
745
+ if (!user)
746
+ return wrapToolResult({ success: false, error: 'Saving files requires a signed-in user.' });
747
+ if (!chatSessionSvc) {
748
+ return wrapToolResult({ success: false, error: 'Saving chat files is not available in this context.' });
749
+ }
750
+ const sessionId = getSessionId();
751
+ if (!sessionId) {
752
+ return wrapToolResult({ success: false, code: 'NO_SESSION', error: 'No active conversation to save a file from.' });
753
+ }
754
+ // Scope to THIS conversation's OWN uploads (not library picks, which are
755
+ // already saved; not the user's other chats).
756
+ const files = chatSessionSvc.getScratchFilesBySession(sessionId)
757
+ .filter((f) => f.userId === user.id && f.source === 'upload');
758
+ if (files.length === 0) {
759
+ return wrapToolResult({ success: false, code: 'NO_FILE', error: 'No uploaded file is attached to this chat to save.' });
760
+ }
761
+ // Resolve which scratch file: by filename if given, else most recent.
762
+ let target = files[0];
763
+ if (params.filename) {
764
+ const want = String(params.filename).toLowerCase();
765
+ const match = files.find(f => f.filename.toLowerCase() === want)
766
+ ?? files.find(f => f.filename.toLowerCase().includes(want));
767
+ if (!match) {
768
+ return wrapToolResult({
769
+ success: false, code: 'NO_MATCH',
770
+ error: `No attached file matches "${params.filename}".`,
771
+ attached: files.map(f => f.filename),
772
+ });
773
+ }
774
+ target = match;
775
+ }
776
+ const folder = params.folder ? resolvePrivateRepo(params.folder) : undefined;
777
+ const result = await promoteScratchFileToAssets(workspaceManager, chatSessionSvc, authSvc, {
778
+ sessionId: target.sessionId,
779
+ fileId: target.fileId,
780
+ user,
781
+ targetRepo: folder,
782
+ });
783
+ onMutation?.({ action: 'updated', repo: result.repo, entityType: 'material', entityId: result.assetId, repoSync: true });
784
+ return wrapToolResult({
785
+ success: true,
786
+ asset_id: result.assetId,
787
+ filename: result.filename,
788
+ name: result.displayName,
789
+ url: result.url,
790
+ repo: result.repo,
791
+ message: `Saved "${result.displayName}" to the ${result.repo} folder. You can move it to another folder from the asset library.`,
792
+ });
793
+ }
794
+ catch (error) {
795
+ if (error instanceof PromoteScratchError) {
796
+ return wrapToolResult({ success: false, code: error.code, error: error.message });
797
+ }
798
+ return wrapToolResult({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
799
+ }
800
+ },
801
+ },
712
802
  // Delete entity
713
803
  {
714
804
  name: 'delete_entity',