studiograph 1.3.48-next.203 → 1.3.48-next.205

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 (298) hide show
  1. package/dist/agent/orchestrator.d.ts +10 -0
  2. package/dist/agent/orchestrator.js +13 -4
  3. package/dist/agent/orchestrator.js.map +1 -1
  4. package/dist/agent/prompts/system.md +1 -0
  5. package/dist/agent/tools/graph-tools.d.ts +10 -1
  6. package/dist/agent/tools/graph-tools.js +163 -8
  7. package/dist/agent/tools/graph-tools.js.map +1 -1
  8. package/dist/cli/commands/index.js +5 -1
  9. package/dist/cli/commands/index.js.map +1 -1
  10. package/dist/core/embeds.d.ts +10 -0
  11. package/dist/core/embeds.js +28 -0
  12. package/dist/core/embeds.js.map +1 -1
  13. package/dist/core/graph.d.ts +43 -1
  14. package/dist/core/graph.js +158 -30
  15. package/dist/core/graph.js.map +1 -1
  16. package/dist/core/validation.d.ts +2 -1
  17. package/dist/core/validation.js +2 -1
  18. package/dist/core/validation.js.map +1 -1
  19. package/dist/core/workspace-manager.js +5 -1
  20. package/dist/core/workspace-manager.js.map +1 -1
  21. package/dist/mcp/server.js +2 -5
  22. package/dist/mcp/server.js.map +1 -1
  23. package/dist/mcp/tools.d.ts +30 -0
  24. package/dist/mcp/tools.js +201 -83
  25. package/dist/mcp/tools.js.map +1 -1
  26. package/dist/server/asset-index-queue.d.ts +8 -6
  27. package/dist/server/asset-index-queue.js +9 -7
  28. package/dist/server/asset-index-queue.js.map +1 -1
  29. package/dist/server/body-write-coordinator.d.ts +10 -0
  30. package/dist/server/body-write-coordinator.js +21 -0
  31. package/dist/server/body-write-coordinator.js.map +1 -1
  32. package/dist/server/index.js +10 -5
  33. package/dist/server/index.js.map +1 -1
  34. package/dist/server/routes/chat.d.ts +11 -2
  35. package/dist/server/routes/chat.js +44 -4
  36. package/dist/server/routes/chat.js.map +1 -1
  37. package/dist/server/routes/graph-api.js +5 -5
  38. package/dist/server/routes/graph-api.js.map +1 -1
  39. package/dist/server/routes/mcp.js +2 -2
  40. package/dist/server/routes/mcp.js.map +1 -1
  41. package/dist/server/routes/workspace-api.js +6 -3
  42. package/dist/server/routes/workspace-api.js.map +1 -1
  43. package/dist/server/yjs-manager.d.ts +31 -38
  44. package/dist/server/yjs-manager.js +36 -60
  45. package/dist/server/yjs-manager.js.map +1 -1
  46. package/dist/services/asset-caption-service.d.ts +6 -5
  47. package/dist/services/asset-caption-service.js +6 -5
  48. package/dist/services/asset-caption-service.js.map +1 -1
  49. package/dist/services/asset-finalize-service.js +14 -5
  50. package/dist/services/asset-finalize-service.js.map +1 -1
  51. package/dist/services/asset-index-sweep.d.ts +41 -38
  52. package/dist/services/asset-index-sweep.js +157 -166
  53. package/dist/services/asset-index-sweep.js.map +1 -1
  54. package/dist/services/asset-sidecar-service.d.ts +10 -12
  55. package/dist/services/asset-sidecar-service.js +11 -28
  56. package/dist/services/asset-sidecar-service.js.map +1 -1
  57. package/dist/services/assets/base.d.ts +9 -0
  58. package/dist/services/assets/base.js +14 -0
  59. package/dist/services/assets/base.js.map +1 -1
  60. package/dist/services/comment-virtual-entity.d.ts +36 -0
  61. package/dist/services/comment-virtual-entity.js +71 -0
  62. package/dist/services/comment-virtual-entity.js.map +1 -0
  63. package/dist/services/entity-mutations.d.ts +6 -3
  64. package/dist/services/entity-mutations.js +10 -7
  65. package/dist/services/entity-mutations.js.map +1 -1
  66. package/dist/services/git.d.ts +8 -0
  67. package/dist/services/git.js +16 -0
  68. package/dist/services/git.js.map +1 -1
  69. package/dist/services/vector-service.d.ts +73 -50
  70. package/dist/services/vector-service.js +120 -107
  71. package/dist/services/vector-service.js.map +1 -1
  72. package/dist/web/_app/immutable/assets/0.B2m1uh6A.css +2 -0
  73. package/dist/web/_app/immutable/assets/2.BwSVFwgH.css +1 -0
  74. package/dist/web/_app/immutable/assets/5.DJwQj_AD.css +1 -0
  75. package/dist/web/_app/immutable/assets/{GalleryView.Dkhytwch.css → GalleryView.WBGxxUQc.css} +1 -1
  76. package/dist/web/_app/immutable/assets/{Markdown.BqgpZCv5.css → Markdown.BZnsSOSf.css} +1 -1
  77. package/dist/web/_app/immutable/assets/Rail.CcvCnCER.css +1 -0
  78. package/dist/web/_app/immutable/assets/TrashCan.DK0MgYgb.css +1 -0
  79. package/dist/web/_app/immutable/assets/WorkspaceView.DlDG6dSp.css +1 -0
  80. package/dist/web/_app/immutable/chunks/{DCoce3cj.js → 0tlXsLxd.js} +1 -1
  81. package/dist/web/_app/immutable/chunks/{f_eYccPf2.js → 22qYtvr82.js} +1 -1
  82. package/dist/web/_app/immutable/chunks/{BoDmwOTJ2.js → 6S9WOky52.js} +1 -1
  83. package/dist/web/_app/immutable/chunks/7YBWQbdc.js +1 -0
  84. package/dist/web/_app/immutable/chunks/{DqcFOWKS.js → 95MZZ5_8.js} +1 -1
  85. package/dist/web/_app/immutable/chunks/9K8VREGP.js +1 -0
  86. package/dist/web/_app/immutable/chunks/9w_9Wepx.js +1 -0
  87. package/dist/web/_app/immutable/chunks/{4XSri7g0.js → B3XGO3kf.js} +1 -1
  88. package/dist/web/_app/immutable/chunks/{DToS-G202.js → B4bLIYz-2.js} +1 -1
  89. package/dist/web/_app/immutable/chunks/{BADt8daH.js → B6qeIQZz.js} +1 -1
  90. package/dist/web/_app/immutable/chunks/{CoHaBDpN.js → BKVRLHiJ2.js} +1 -1
  91. package/dist/web/_app/immutable/chunks/BNXN4Gkh2.js +1 -0
  92. package/dist/web/_app/immutable/chunks/BPv3DpUB.js +1 -0
  93. package/dist/web/_app/immutable/chunks/{B318GEUB2.js → BPzV_xOS2.js} +1 -1
  94. package/dist/web/_app/immutable/chunks/BQVy_FGj2.js +1 -0
  95. package/dist/web/_app/immutable/chunks/BZt7Lb922.js +1 -0
  96. package/dist/web/_app/immutable/chunks/Baw3Yqx9.js +2 -0
  97. package/dist/web/_app/immutable/chunks/BeiUCiCs.js +3 -0
  98. package/dist/web/_app/immutable/chunks/BhPr6hNi.js +1 -0
  99. package/dist/web/_app/immutable/chunks/Biy4jmji2.js +1 -0
  100. package/dist/web/_app/immutable/chunks/{Cvbd3myc2.js → BlgjVmFM2.js} +1 -1
  101. package/dist/web/_app/immutable/chunks/{CJhElIkU2.js → BpCG9m962.js} +1 -1
  102. package/dist/web/_app/immutable/chunks/{CAXXrbj52.js → BsW72fyR2.js} +1 -1
  103. package/dist/web/_app/immutable/chunks/BxdYIpff.js +1 -0
  104. package/dist/web/_app/immutable/chunks/Byhopala2.js +1 -0
  105. package/dist/web/_app/immutable/chunks/Bz9lrgGs.js +1 -0
  106. package/dist/web/_app/immutable/chunks/BzaxZ6j12.js +1 -0
  107. package/dist/web/_app/immutable/chunks/C-nvZs_f2.js +1 -0
  108. package/dist/web/_app/immutable/chunks/{D3JoMtWC.js → C1trcC8M.js} +1 -1
  109. package/dist/web/_app/immutable/chunks/{BtFFBkw5.js → C2SvtNY0.js} +1 -1
  110. package/dist/web/_app/immutable/chunks/C5LnixWQ.js +2 -0
  111. package/dist/web/_app/immutable/chunks/C8KEu9b42.js +1 -0
  112. package/dist/web/_app/immutable/chunks/{CbuGIyDu2.js → C9tvkk7Y2.js} +1 -1
  113. package/dist/web/_app/immutable/chunks/CBvY2_0y.js +1 -0
  114. package/dist/web/_app/immutable/chunks/{CPggL5T4.js → CC8HhqH9.js} +1 -1
  115. package/dist/web/_app/immutable/chunks/{7kR889TK.js → CFaaXG4z.js} +1 -1
  116. package/dist/web/_app/immutable/chunks/{liGRFQqV2.js → CIoNEHQ82.js} +1 -1
  117. package/dist/web/_app/immutable/chunks/CKQvo_PE2.js +1 -0
  118. package/dist/web/_app/immutable/chunks/{B6IRsNLP2.js → CLSrJJzQ2.js} +1 -1
  119. package/dist/web/_app/immutable/chunks/CP8_U450.js +1 -0
  120. package/dist/web/_app/immutable/chunks/{CEniyZ1Z2.js → CQ1eQ93t2.js} +1 -1
  121. package/dist/web/_app/immutable/chunks/{BBaGD9in.js → CQMErdlx.js} +1 -1
  122. package/dist/web/_app/immutable/chunks/CTvi9YWa.js +2 -0
  123. package/dist/web/_app/immutable/chunks/CUFQMEBn2.js +1 -0
  124. package/dist/web/_app/immutable/chunks/{B1IoRIM32.js → CVanH98O2.js} +2 -2
  125. package/dist/web/_app/immutable/chunks/{zPZU7CyH.js → CVqlPtYi.js} +1 -1
  126. package/dist/web/_app/immutable/chunks/CWhyOpjr.js +1 -0
  127. package/dist/web/_app/immutable/chunks/{De0g5qop2.js → CY6DiIka2.js} +1 -1
  128. package/dist/web/_app/immutable/chunks/{Dpuq25vu2.js → CYEYDNwO2.js} +1 -1
  129. package/dist/web/_app/immutable/chunks/{Y_asqJqs2.js → CZgFaimi2.js} +1 -1
  130. package/dist/web/_app/immutable/chunks/{BJgOZTHR.js → CZqvCTCv.js} +1 -1
  131. package/dist/web/_app/immutable/chunks/CaoJkATx2.js +1 -0
  132. package/dist/web/_app/immutable/chunks/CcBwzweT.js +5 -0
  133. package/dist/web/_app/immutable/chunks/CdtzRVZK.js +1 -0
  134. package/dist/web/_app/immutable/chunks/CfFgzhAG.js +2 -0
  135. package/dist/web/_app/immutable/chunks/CfYG72Hc.js +1 -0
  136. package/dist/web/_app/immutable/chunks/Ch1kmm3J2.js +1 -0
  137. package/dist/web/_app/immutable/chunks/{BJDc9iGA.js → CihSiZnn.js} +1 -1
  138. package/dist/web/_app/immutable/chunks/ClkiBAuL.js +8 -0
  139. package/dist/web/_app/immutable/chunks/CmZ4Uyiq2.js +2 -0
  140. package/dist/web/_app/immutable/chunks/{B-Z_xZy_.js → CqcbWwRX.js} +1 -1
  141. package/dist/web/_app/immutable/chunks/{BbHS-AH8.js → CubBffZS.js} +1 -1
  142. package/dist/web/_app/immutable/chunks/{BVPNAzAK.js → CvSEodTA.js} +1 -1
  143. package/dist/web/_app/immutable/chunks/{C8Ar3dLv.js → CwyJjn3P.js} +1 -1
  144. package/dist/web/_app/immutable/chunks/{BoglwbZW.js → D-e9VvIo.js} +1 -1
  145. package/dist/web/_app/immutable/chunks/{Dz34u8Ie2.js → D0W7c6Sg2.js} +1 -1
  146. package/dist/web/_app/immutable/chunks/D0rBhnqB2.js +1 -0
  147. package/dist/web/_app/immutable/chunks/{D3ch71s_.js → D1Bl2Gga.js} +1 -1
  148. package/dist/web/_app/immutable/chunks/{DimS8dbZ2.js → D1yvtriI2.js} +1 -1
  149. package/dist/web/_app/immutable/chunks/{B2n86UNJ.js → D32E2pxT.js} +1 -1
  150. package/dist/web/_app/immutable/chunks/D3AHbZTf2.js +66 -0
  151. package/dist/web/_app/immutable/chunks/D4HyeEWO.js +2 -0
  152. package/dist/web/_app/immutable/chunks/DA3HEX3X.js +1 -0
  153. package/dist/web/_app/immutable/chunks/DL8nyeBG.js +1 -0
  154. package/dist/web/_app/immutable/chunks/{CEMPLE8z2.js → DLRNKppv2.js} +1 -1
  155. package/dist/web/_app/immutable/chunks/{D13ecV4K.js → DOCiIgLU.js} +1 -1
  156. package/dist/web/_app/immutable/chunks/DSjWMgW7.js +7 -0
  157. package/dist/web/_app/immutable/chunks/{C8k8ISFi.js → DTGxUHwb.js} +1 -1
  158. package/dist/web/_app/immutable/chunks/DUCKTcAD.js +1 -0
  159. package/dist/web/_app/immutable/chunks/DX4AgRqC.js +1 -0
  160. package/dist/web/_app/immutable/chunks/DXsFrDer.js +1 -0
  161. package/dist/web/_app/immutable/chunks/DYc5KW3F.js +1 -0
  162. package/dist/web/_app/immutable/chunks/DYkNZprs.js +1 -0
  163. package/dist/web/_app/immutable/chunks/DeVvIYbW.js +1 -0
  164. package/dist/web/_app/immutable/chunks/DeqP2_yt.js +2 -0
  165. package/dist/web/_app/immutable/chunks/DhvxW1dK.js +1 -0
  166. package/dist/web/_app/immutable/chunks/Djs8Ud-L.js +1 -0
  167. package/dist/web/_app/immutable/chunks/{u8G2EUvz2.js → Dl63IUnH2.js} +1 -1
  168. package/dist/web/_app/immutable/chunks/{4iaT0dG7.js → DmFdD6zT.js} +1 -1
  169. package/dist/web/_app/immutable/chunks/Dn3R8S-U.js +1 -0
  170. package/dist/web/_app/immutable/chunks/{JCjEwqH9.js → DoxamuRc.js} +1 -1
  171. package/dist/web/_app/immutable/chunks/DqZauDkr2.js +1 -0
  172. package/dist/web/_app/immutable/chunks/{DwTthEC8.js → DuohT4Lx.js} +1 -1
  173. package/dist/web/_app/immutable/chunks/{BxBYpA6r.js → Dvk9UA5r.js} +1 -1
  174. package/dist/web/_app/immutable/chunks/DwfhvmBf2.js +1 -0
  175. package/dist/web/_app/immutable/chunks/FuiJnZG0.js +1 -0
  176. package/dist/web/_app/immutable/chunks/{rbhlO_t8.js → Izkulod7.js} +1 -1
  177. package/dist/web/_app/immutable/chunks/{Bqm_YrIg2.js → LYL8znYR2.js} +1 -1
  178. package/dist/web/_app/immutable/chunks/PhN6tXuJ.js +1 -0
  179. package/dist/web/_app/immutable/chunks/QL-eLn8a.js +1 -0
  180. package/dist/web/_app/immutable/chunks/TFFPdeR-.js +1 -0
  181. package/dist/web/_app/immutable/chunks/{Wowi_89k.js → XcWejFm_.js} +1 -1
  182. package/dist/web/_app/immutable/chunks/{CbCfNNV_2.js → fZgIfwXE2.js} +3 -3
  183. package/dist/web/_app/immutable/chunks/g3JDkiSS2.js +1 -0
  184. package/dist/web/_app/immutable/chunks/hG-QCarB.js +1 -0
  185. package/dist/web/_app/immutable/chunks/{gZQwV3Fq.js → mbaCFIkB.js} +1 -1
  186. package/dist/web/_app/immutable/chunks/{D3DcX68i.js → nw6a4z0U.js} +2 -2
  187. package/dist/web/_app/immutable/chunks/oboTtHHF.js +1 -0
  188. package/dist/web/_app/immutable/chunks/{D7wNieYW.js → p1JFQepN.js} +1 -1
  189. package/dist/web/_app/immutable/chunks/qwr5boV8.js +1 -0
  190. package/dist/web/_app/immutable/chunks/sAWHNsBX.js +2 -0
  191. package/dist/web/_app/immutable/chunks/{BBGt-XQo.js → uBgoVlsx.js} +1 -1
  192. package/dist/web/_app/immutable/chunks/{CY0iY_WO.js → urURDShR2.js} +1 -1
  193. package/dist/web/_app/immutable/chunks/{iPCkjliu.js → xY0c-UfG.js} +1 -1
  194. package/dist/web/_app/immutable/entry/app.CkGGRJbc.js +2 -0
  195. package/dist/web/_app/immutable/entry/start.DkgTsucO.js +1 -0
  196. package/dist/web/_app/immutable/nodes/0.YapdAHbw.js +2 -0
  197. package/dist/web/_app/immutable/nodes/{1.Xu6kgS6R.js → 1.BAKKtBjs.js} +1 -1
  198. package/dist/web/_app/immutable/nodes/10.Djf1n1Nd.js +1 -0
  199. package/dist/web/_app/immutable/nodes/11.DP1Mh1TW.js +1 -0
  200. package/dist/web/_app/immutable/nodes/12.CZ5RH3HI.js +1 -0
  201. package/dist/web/_app/immutable/nodes/{13.DeUgRT2j.js → 13.CYrHXCA8.js} +1 -1
  202. package/dist/web/_app/immutable/nodes/14.Bg7tnef-.js +1 -0
  203. package/dist/web/_app/immutable/nodes/15.DF3OlgCf.js +1 -0
  204. package/dist/web/_app/immutable/nodes/16.9H1hVoCQ.js +1 -0
  205. package/dist/web/_app/immutable/nodes/{17.Cj3_3kVA.js → 17.w7oVmGWW.js} +2 -2
  206. package/dist/web/_app/immutable/nodes/2.B_vABBrF.js +109 -0
  207. package/dist/web/_app/immutable/nodes/3.D7QTJ2OL.js +6 -0
  208. package/dist/web/_app/immutable/nodes/4.DwgdkuKQ.js +11 -0
  209. package/dist/web/_app/immutable/nodes/5.BT49i7Jl.js +5 -0
  210. package/dist/web/_app/immutable/nodes/{6.Cn_Rpl3W.js → 6.B9V0cd2K.js} +1 -1
  211. package/dist/web/_app/immutable/nodes/7.BSZf4a3u.js +1 -0
  212. package/dist/web/_app/immutable/nodes/8.DJNJcsk3.js +1 -0
  213. package/dist/web/_app/immutable/nodes/9.DiF-4BY-.js +1 -0
  214. package/dist/web/_app/version.json +1 -1
  215. package/dist/web/index.html +26 -26
  216. package/package.json +1 -1
  217. package/dist/web/_app/immutable/assets/0.BO6KeKPp.css +0 -2
  218. package/dist/web/_app/immutable/assets/2.BSqH8A_A.css +0 -1
  219. package/dist/web/_app/immutable/assets/5.2p2bglE-.css +0 -1
  220. package/dist/web/_app/immutable/assets/Rail.D1iFdU7L.css +0 -1
  221. package/dist/web/_app/immutable/assets/TrashCan.DyI4rDVZ.css +0 -1
  222. package/dist/web/_app/immutable/assets/WorkspaceView.BoYTRC5O.css +0 -1
  223. package/dist/web/_app/immutable/chunks/07hFP05m.js +0 -1
  224. package/dist/web/_app/immutable/chunks/4wQCuhK0.js +0 -1
  225. package/dist/web/_app/immutable/chunks/5_TKU9QS2.js +0 -1
  226. package/dist/web/_app/immutable/chunks/8Yh26Z9_2.js +0 -1
  227. package/dist/web/_app/immutable/chunks/9cXiqQci.js +0 -1
  228. package/dist/web/_app/immutable/chunks/BDIUHcEz.js +0 -1
  229. package/dist/web/_app/immutable/chunks/BDSuq3KH.js +0 -1
  230. package/dist/web/_app/immutable/chunks/BG6Chr_U.js +0 -2
  231. package/dist/web/_app/immutable/chunks/BGiLU5VN.js +0 -1
  232. package/dist/web/_app/immutable/chunks/BGmf4b7n2.js +0 -1
  233. package/dist/web/_app/immutable/chunks/BLKnYQyG.js +0 -1
  234. package/dist/web/_app/immutable/chunks/BWwVcHCc2.js +0 -1
  235. package/dist/web/_app/immutable/chunks/BZS902Cj2.js +0 -66
  236. package/dist/web/_app/immutable/chunks/BgRT-K6w.js +0 -5
  237. package/dist/web/_app/immutable/chunks/BibveGGd.js +0 -1
  238. package/dist/web/_app/immutable/chunks/Bnz3DFc4.js +0 -8
  239. package/dist/web/_app/immutable/chunks/Br4L22CY2.js +0 -1
  240. package/dist/web/_app/immutable/chunks/Bskykexb2.js +0 -1
  241. package/dist/web/_app/immutable/chunks/C4WtBaTc.js +0 -2
  242. package/dist/web/_app/immutable/chunks/C6GeXy2x.js +0 -3
  243. package/dist/web/_app/immutable/chunks/C7itDC3h.js +0 -1
  244. package/dist/web/_app/immutable/chunks/CDzfaWKf.js +0 -1
  245. package/dist/web/_app/immutable/chunks/CFAVEaSi.js +0 -2
  246. package/dist/web/_app/immutable/chunks/CK8tIaYT.js +0 -1
  247. package/dist/web/_app/immutable/chunks/CRCPLmOY2.js +0 -2
  248. package/dist/web/_app/immutable/chunks/CTzjJm_m2.js +0 -1
  249. package/dist/web/_app/immutable/chunks/CUXqa1nn2.js +0 -1
  250. package/dist/web/_app/immutable/chunks/CcXmQaYs2.js +0 -1
  251. package/dist/web/_app/immutable/chunks/CcaQuaSt2.js +0 -1
  252. package/dist/web/_app/immutable/chunks/CgJ4D3KO.js +0 -2
  253. package/dist/web/_app/immutable/chunks/CiWqBHuz.js +0 -1
  254. package/dist/web/_app/immutable/chunks/CpDJX46P.js +0 -7
  255. package/dist/web/_app/immutable/chunks/D20C1thX2.js +0 -1
  256. package/dist/web/_app/immutable/chunks/D3zp3KAR.js +0 -1
  257. package/dist/web/_app/immutable/chunks/D5KrgeSF.js +0 -2
  258. package/dist/web/_app/immutable/chunks/D9Z7LOgI.js +0 -1
  259. package/dist/web/_app/immutable/chunks/DBFijAmG.js +0 -1
  260. package/dist/web/_app/immutable/chunks/DGDL_7bn.js +0 -1
  261. package/dist/web/_app/immutable/chunks/DK9P_oNH2.js +0 -1
  262. package/dist/web/_app/immutable/chunks/DLGQ2Ng8.js +0 -2
  263. package/dist/web/_app/immutable/chunks/DO_sw49q2.js +0 -1
  264. package/dist/web/_app/immutable/chunks/DT0wzK622.js +0 -1
  265. package/dist/web/_app/immutable/chunks/DUvuFP83.js +0 -1
  266. package/dist/web/_app/immutable/chunks/DbslMybD.js +0 -1
  267. package/dist/web/_app/immutable/chunks/DcGThsSF.js +0 -1
  268. package/dist/web/_app/immutable/chunks/DjuqhOjF.js +0 -1
  269. package/dist/web/_app/immutable/chunks/DqZzYIcH.js +0 -1
  270. package/dist/web/_app/immutable/chunks/Dw-frCfE.js +0 -1
  271. package/dist/web/_app/immutable/chunks/J5nb9xxj.js +0 -1
  272. package/dist/web/_app/immutable/chunks/JN_nsXUm2.js +0 -1
  273. package/dist/web/_app/immutable/chunks/JS2_GaB1.js +0 -1
  274. package/dist/web/_app/immutable/chunks/N6vnY5Si2.js +0 -1
  275. package/dist/web/_app/immutable/chunks/Yhg5Q4MT.js +0 -1
  276. package/dist/web/_app/immutable/chunks/cIcYcKVA.js +0 -1
  277. package/dist/web/_app/immutable/chunks/h2w5CgVx.js +0 -1
  278. package/dist/web/_app/immutable/chunks/hm_8RsuL.js +0 -1
  279. package/dist/web/_app/immutable/chunks/lq1kR86d.js +0 -1
  280. package/dist/web/_app/immutable/chunks/vrKdRCXg2.js +0 -2
  281. package/dist/web/_app/immutable/chunks/yAxYDEMa.js +0 -1
  282. package/dist/web/_app/immutable/chunks/yEYlhV9G2.js +0 -1
  283. package/dist/web/_app/immutable/entry/app.BNZl4D36.js +0 -2
  284. package/dist/web/_app/immutable/entry/start.CAlodW4e.js +0 -1
  285. package/dist/web/_app/immutable/nodes/0.BxFbx_8C.js +0 -2
  286. package/dist/web/_app/immutable/nodes/10.CWtsHXL9.js +0 -1
  287. package/dist/web/_app/immutable/nodes/11.59Xqxt-e.js +0 -1
  288. package/dist/web/_app/immutable/nodes/12.nmJIN6dO.js +0 -1
  289. package/dist/web/_app/immutable/nodes/14.iyoM-j_N.js +0 -1
  290. package/dist/web/_app/immutable/nodes/15.Br8Y5N9M.js +0 -1
  291. package/dist/web/_app/immutable/nodes/16.Du3Jaki5.js +0 -1
  292. package/dist/web/_app/immutable/nodes/2.bK1i_q6O.js +0 -109
  293. package/dist/web/_app/immutable/nodes/3.HFzIGkqN.js +0 -6
  294. package/dist/web/_app/immutable/nodes/4.Dvmvb_9f.js +0 -11
  295. package/dist/web/_app/immutable/nodes/5.CGzLbhws.js +0 -5
  296. package/dist/web/_app/immutable/nodes/7.Dn3Hdi6w.js +0 -1
  297. package/dist/web/_app/immutable/nodes/8.TdDQyhCJ.js +0 -1
  298. package/dist/web/_app/immutable/nodes/9.BLpLNKL5.js +0 -1
@@ -11,6 +11,7 @@ import { GitUser } from '../services/git.js';
11
11
  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
+ import type { CommentService } from '../services/comment-service.js';
14
15
  import { AgentPool } from './agent-pool.js';
15
16
  import { type InferenceUsageSummary } from '../services/cloud-inference-billing.js';
16
17
  export interface AgentConfig {
@@ -43,6 +44,14 @@ export interface AgentConfig {
43
44
  * fallback below.
44
45
  */
45
46
  authService?: AuthService;
47
+ /**
48
+ * Optional CommentService — when supplied, the agent's generic read tools
49
+ * (`get_entity`/`list_entities`/`get_related`) can resolve the virtual
50
+ * `comment` entity type, giving the in-app agent the same read parity the
51
+ * MCP surface already has. Omitted by CLI/test callers (comments simply
52
+ * don't appear there).
53
+ */
54
+ commentService?: CommentService;
46
55
  }
47
56
  export interface AgentResponse {
48
57
  content: string;
@@ -63,6 +72,7 @@ export declare class AgentOrchestrator {
63
72
  private toolsDirs;
64
73
  private registryRef;
65
74
  private authService;
75
+ private commentService;
66
76
  private recentMemory?;
67
77
  private sessionsDir;
68
78
  private _currentUser;
@@ -45,6 +45,7 @@ export class AgentOrchestrator {
45
45
  toolsDirs;
46
46
  registryRef = { registry: null };
47
47
  authService;
48
+ commentService;
48
49
  recentMemory;
49
50
  sessionsDir;
50
51
  // Per-session context — used by tool closures via the pool's contextMap
@@ -65,6 +66,7 @@ export class AgentOrchestrator {
65
66
  // paths don't read encrypted oauth_tokens, so the missing crypto is
66
67
  // harmless there.
67
68
  this.authService = config.authService ?? new AuthService(config.workspacePath);
69
+ this.commentService = config.commentService ?? null;
68
70
  this.sessionsDir = join(homedir(), '.studiograph', 'sessions');
69
71
  // Skills: filesystem dirs are now bundled-only. User/workspace authoring
70
72
  // moves to graph `skill` entities (enumerated per-user in createAgentInstance).
@@ -166,7 +168,7 @@ export class AgentOrchestrator {
166
168
  return this.pool.getContext(sid).onNothingToCapture ?? undefined;
167
169
  };
168
170
  const tools = [
169
- ...createGraphTools(this.workspaceManager, this.gitUser, this.workspacePath, onHighlight, onMutation, getUser, this.authService, onAgentActivity),
171
+ ...createGraphTools(this.workspaceManager, this.gitUser, this.workspacePath, onHighlight, onMutation, getUser, this.authService, onAgentActivity, this.commentService),
170
172
  ...createFolderTools(this.workspaceManager, this.gitUser, onMutation, getUser, this.authService, onAgentActivity),
171
173
  ...createHistoryTools(this.workspaceManager, this.gitUser, onMutation, getUser, this.authService, onAgentActivity),
172
174
  ...createOpsTools(this.workspacePath, this.config),
@@ -531,7 +533,7 @@ export class AgentOrchestrator {
531
533
  for (const repo of repos) {
532
534
  let folders = [];
533
535
  try {
534
- folders = this.workspaceManager.getGraph(repo.name).listFolders().map(f => f.path);
536
+ folders = this.workspaceManager.getGraph(repo.name).listFolders();
535
537
  }
536
538
  catch {
537
539
  continue;
@@ -541,14 +543,21 @@ export class AgentOrchestrator {
541
543
  lines.push(`- **${display}** (\`${repo.name}\`): no subfolders`);
542
544
  }
543
545
  else {
544
- const shown = folders.slice(0, MAX_PER_REPO).map(p => `\`${p}\``).join(', ');
546
+ // Render `path` plus an explicit display_name override in quotes when one
547
+ // exists — so the agent can refer to folders by their human label (e.g. in
548
+ // follow-up suggestions) instead of the kebab path. Folders without an
549
+ // override title-case the last segment for display.
550
+ const shown = folders
551
+ .slice(0, MAX_PER_REPO)
552
+ .map(f => (f.display_name ? `\`${f.path}\` ("${f.display_name}")` : `\`${f.path}\``))
553
+ .join(', ');
545
554
  const more = folders.length > MAX_PER_REPO ? ` (+${folders.length - MAX_PER_REPO} more)` : '';
546
555
  lines.push(`- **${display}** (\`${repo.name}\`): ${shown}${more}`);
547
556
  }
548
557
  }
549
558
  if (lines.length === 0)
550
559
  return null;
551
- return `## Folder Inventory\n\nExisting subfolders per repo. Prefer placing new entries in an existing folder when one fits. Folder paths are repo-relative POSIX.\n\n${lines.join('\n')}`;
560
+ return `## Folder Inventory\n\nExisting subfolders per repo. Prefer placing new entries in an existing folder when one fits. Folder paths are repo-relative POSIX; a quoted "Display Name" after a path is that folder's human label.\n\n${lines.join('\n')}`;
552
561
  }
553
562
  /**
554
563
  * Fallback system prompt when prompts/system.md is not found.
@@ -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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"}
@@ -250,6 +250,7 @@ Rules:
250
250
  - Specific to the conversation, not generic
251
251
  - Each prompt is a complete sentence the user could send **as-is** — no placeholder syntax like `[name]`, `[role]`, `{project}`, or `<topic>`. If you don't know the value, don't include that suggestion; the user shouldn't have to edit the prompt before clicking it.
252
252
  - Only suggest actions the tools can actually perform. Don't offer PDF export, slide export, printing, emailing, publishing, deck generation, or any other output format Studiograph doesn't produce. When in doubt, stick to search / read / create-entry / update-entry / link / summarise.
253
+ - 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").
253
254
  - After creating/updating entries: suggest exploring relationships, adding detail, or related actions
254
255
  - One suggestion may be an action ("Create a project entry for X") rather than a question
255
256
  - Keep each under 60 characters
@@ -11,6 +11,7 @@ import { Type as T } from 'typebox';
11
11
  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
+ import type { CommentService } from '../../services/comment-service.js';
14
15
  /**
15
16
  * Helper to wrap tool results in AgentToolResult format
16
17
  */
@@ -40,7 +41,15 @@ export declare function createGraphTools(workspaceManager: WorkspaceManager, git
40
41
  * call. Surfaces the active-agent chip in the sidebar via the WS hub. The
41
42
  * orchestrator wires this through to wsHub.handleAgentActivity.
42
43
  */
43
- onAgentActivity?: (action: 'enter' | 'leave' | 'heartbeat', repo: string) => void): ({
44
+ onAgentActivity?: (action: 'enter' | 'leave' | 'heartbeat', repo: string) => void,
45
+ /**
46
+ * Optional CommentService. When supplied, the generic read tools
47
+ * (`get_entity`, `list_entities`, `get_related`) dispatch the virtual
48
+ * `comment` entity type through the shared adapter — exactly as the MCP
49
+ * surface does. A graceful no-op when absent (stdio / tests), so comments
50
+ * simply don't appear rather than erroring.
51
+ */
52
+ commentService?: CommentService | null): ({
44
53
  name: string;
45
54
  label: string;
46
55
  description: string;
@@ -19,6 +19,7 @@ import { BridgeError, assertCanChangeUserHandle, validateUserHandleInPayload } f
19
19
  import { buildActor, prepareCreatePayload, prepareUpdatePayload, diagnosedUpdate, DroppedAssetError, assertEntityRefs, EntityRefError, UnknownUserRefError, } from '../../services/entity-mutations.js';
20
20
  import { listRepoAssets } from '../../services/asset-listing.js';
21
21
  import { assetEmbed } from '../../core/embeds.js';
22
+ import * as commentVirtualEntity from '../../services/comment-virtual-entity.js';
22
23
  /**
23
24
  * Helper to wrap tool results in AgentToolResult format
24
25
  */
@@ -87,9 +88,18 @@ export function createGraphTools(workspaceManager, gitUser, workspacePath, onHig
87
88
  * call. Surfaces the active-agent chip in the sidebar via the WS hub. The
88
89
  * orchestrator wires this through to wsHub.handleAgentActivity.
89
90
  */
90
- onAgentActivity) {
91
+ onAgentActivity,
92
+ /**
93
+ * Optional CommentService. When supplied, the generic read tools
94
+ * (`get_entity`, `list_entities`, `get_related`) dispatch the virtual
95
+ * `comment` entity type through the shared adapter — exactly as the MCP
96
+ * surface does. A graceful no-op when absent (stdio / tests), so comments
97
+ * simply don't appear rather than erroring.
98
+ */
99
+ commentService) {
91
100
  const getUser = getCurrentUser ?? (() => null);
92
101
  const authSvc = authService ?? null;
102
+ const commentSvc = commentService ?? null;
93
103
  /**
94
104
  * Resolve the identity to stamp on writes. If the tool call is running on
95
105
  * behalf of a real user (chat / quick-capture from the web), credit them
@@ -285,6 +295,25 @@ onAgentActivity) {
285
295
  if (!canAccessRepo(repo, workspaceManager, getUser, authSvc)) {
286
296
  return wrapToolResult({ success: false, error: `Folder "${repo}" not found` });
287
297
  }
298
+ // Comments live in SQLite, not the filesystem graph — dispatch
299
+ // through the shared virtual-entity adapter (mirrors the MCP surface).
300
+ if (params.entityType === 'comment' && commentSvc) {
301
+ const envelope = commentVirtualEntity.getComment(commentSvc, params.entityId);
302
+ if (!envelope || envelope.data.repo !== repo) {
303
+ return wrapToolResult({ success: false, error: `Comment "${params.entityId}" not found` });
304
+ }
305
+ return wrapToolResult({
306
+ success: true,
307
+ entity: {
308
+ entityId: envelope.id,
309
+ entityType: envelope.entityType,
310
+ repo,
311
+ data: cleanData(envelope.data),
312
+ content: envelope.document.content,
313
+ wikilinks: envelope.document.wikilinks,
314
+ },
315
+ });
316
+ }
288
317
  const graph = workspaceManager.getGraph(repo);
289
318
  // If the agent passes the wrong entityType (e.g. based on stale
290
319
  // search results), graph.get computes the wrong filesystem path
@@ -449,6 +478,93 @@ onAgentActivity) {
449
478
  }
450
479
  },
451
480
  },
481
+ // Surgical body edit (find/replace) — parity with the MCP patch_entity.
482
+ // Lets the in-app agent change a small slice of a long entry without
483
+ // regenerating (and risking dropping image embeds from) the whole body.
484
+ {
485
+ name: 'patch_entity',
486
+ label: 'Patch Entry',
487
+ description: 'Surgically edit an entry body by replacing an exact substring — without rewriting the whole body. ' +
488
+ 'Prefer this over update_entity for small edits (rename a heading, fix a sentence): it edits the live ' +
489
+ 'editor body and cannot drop image/asset embeds it did not touch. Use expectedCount to guard against ' +
490
+ 'ambiguous matches. For data/frontmatter changes use update_entity.',
491
+ parameters: T.Object({
492
+ repo: T.String({ description: 'Folder name' }),
493
+ entityType: T.String({ description: 'Entity type' }),
494
+ entityId: T.String({ description: 'Entity ID' }),
495
+ find: T.String({ description: 'Exact substring to locate in the current body (verbatim, including whitespace).' }),
496
+ replace: T.String({ description: 'Replacement text. Empty string deletes the matched substring.' }),
497
+ expectedCount: T.Optional(T.Number({ description: 'Optional safety check: require `find` to occur exactly this many times, else reject with NO_MATCH / AMBIGUOUS_MATCH.' })),
498
+ commitMessage: T.Optional(T.String({ description: 'Custom commit message' })),
499
+ }),
500
+ execute: async (toolCallId, params) => {
501
+ try {
502
+ const repoName = resolvePrivateRepo(params.repo);
503
+ if (!canAccessRepo(repoName, workspaceManager, getUser, authSvc)) {
504
+ return wrapToolResult({ success: false, error: `Folder "${repoName}" not found` });
505
+ }
506
+ if (params.find === '') {
507
+ return wrapToolResult({ success: false, error: 'patch_entity requires a non-empty `find` string' });
508
+ }
509
+ if (params.find === params.replace) {
510
+ return wrapToolResult({ success: false, error: 'patch_entity `find` and `replace` are identical — nothing to do' });
511
+ }
512
+ const graph = workspaceManager.getGraph(repoName);
513
+ const entity = graph.get(params.entityType, params.entityId);
514
+ // Patch against the live editor body when one is open, so we don't
515
+ // reintroduce the stale-read problem (editing a body that lags the
516
+ // user's in-editor typing / freshly-placed embeds).
517
+ const currentBody = graph.getLiveBody(params.entityType, params.entityId) ?? entity.document.content;
518
+ // Count literal (non-regex) occurrences.
519
+ let count = 0;
520
+ for (let i = currentBody.indexOf(params.find); i !== -1; i = currentBody.indexOf(params.find, i + params.find.length))
521
+ count++;
522
+ if (count === 0) {
523
+ return wrapToolResult({ success: false, code: 'NO_MATCH', error: `\`find\` substring not present in ${params.entityType}/${params.entityId}.` });
524
+ }
525
+ if (params.expectedCount !== undefined && count !== params.expectedCount) {
526
+ return wrapToolResult({ success: false, code: 'AMBIGUOUS_MATCH', occurrences: count, error: `Expected ${params.expectedCount} occurrence(s) of \`find\`, found ${count}.` });
527
+ }
528
+ const newBody = currentBody.split(params.find).join(params.replace);
529
+ const actor = effectiveGitUser();
530
+ const options = prepareUpdatePayload({
531
+ entityType: params.entityType,
532
+ entityId: params.entityId,
533
+ content: newBody,
534
+ commitMessage: params.commitMessage,
535
+ }, actor);
536
+ onAgentActivity?.('enter', repoName);
537
+ try {
538
+ const { entity: updated, frontmatter_changed, content_changed, noop, broadcast } = await diagnosedUpdate(graph, options, { content: newBody });
539
+ onMutation?.({ action: 'updated', repo: repoName, entityType: params.entityType, entityId: params.entityId });
540
+ return wrapToolResult({
541
+ success: true,
542
+ entity: {
543
+ entityId: updated.id,
544
+ entityType: updated.entityType,
545
+ repo: repoName,
546
+ data: cleanData(updated.data),
547
+ },
548
+ occurrences: count,
549
+ frontmatter_changed,
550
+ content_changed,
551
+ noop,
552
+ broadcast,
553
+ message: `Patched ${params.entityType}: ${params.entityId} (${count} occurrence${count === 1 ? '' : 's'}). Auto-committed — ready to push.`,
554
+ });
555
+ }
556
+ finally {
557
+ onAgentActivity?.('leave', repoName);
558
+ }
559
+ }
560
+ catch (error) {
561
+ if (error instanceof DroppedAssetError) {
562
+ return wrapToolResult({ success: false, code: 'ASSET_REMOVAL_BLOCKED', droppedAssets: error.dropped, error: error.message });
563
+ }
564
+ return wrapToolResult({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
565
+ }
566
+ },
567
+ },
452
568
  // List assets already uploaded to a folder
453
569
  {
454
570
  name: 'list_assets',
@@ -913,6 +1029,30 @@ onAgentActivity) {
913
1029
  }),
914
1030
  execute: async (toolCallId, params) => {
915
1031
  try {
1032
+ // Comments live in SQLite, not the filesystem graph — dispatch
1033
+ // through the shared virtual-entity adapter (mirrors the MCP surface),
1034
+ // filtering to the folders the caller can see.
1035
+ if (params.entityType === 'comment' && commentSvc) {
1036
+ const allowedComments = getAccessibleRepoNames(workspaceManager, getUser, authSvc);
1037
+ // Filter to accessible folders BEFORE applying the caller's limit:
1038
+ // a pre-filter SQL cap could be consumed entirely by comments in
1039
+ // folders the caller can't see, starving the visible ones. The
1040
+ // service still bounds the underlying fetch (<=500) as a backstop.
1041
+ const visible = commentVirtualEntity
1042
+ .listComments(commentSvc, {})
1043
+ .filter(e => !allowedComments || allowedComments.has(e.data.repo));
1044
+ const envelopes = params.limit ? visible.slice(0, params.limit) : visible;
1045
+ return wrapToolResult({
1046
+ success: true,
1047
+ count: envelopes.length,
1048
+ results: envelopes.map(e => ({
1049
+ repo: e.data.repo,
1050
+ entityId: e.id,
1051
+ entityType: e.entityType,
1052
+ data: cleanData(e.data),
1053
+ })),
1054
+ });
1055
+ }
916
1056
  let results = workspaceManager.list(params.entityType, params.limit);
917
1057
  // Filter to accessible folders
918
1058
  const allowed = getAccessibleRepoNames(workspaceManager, getUser, authSvc);
@@ -960,15 +1100,30 @@ onAgentActivity) {
960
1100
  if (allowed) {
961
1101
  related = related.filter(r => allowed.has(r.repoName));
962
1102
  }
1103
+ const relatedResults = related.map(r => ({
1104
+ repo: r.repoName,
1105
+ entityId: r.id,
1106
+ entityType: r.entityType,
1107
+ data: cleanData(r.data),
1108
+ }));
1109
+ // Comments anchored to this entry surface as related entries
1110
+ // (mirrors the MCP find_related incoming branch). The caller already
1111
+ // passed canAccessRepo for `repo`, so these are in-scope.
1112
+ if (commentSvc) {
1113
+ const anchored = commentVirtualEntity.findRelatedComments(commentSvc, repo, params.entityType, params.entityId);
1114
+ for (const e of anchored) {
1115
+ relatedResults.push({
1116
+ repo,
1117
+ entityId: e.id,
1118
+ entityType: e.entityType,
1119
+ data: cleanData(e.data),
1120
+ });
1121
+ }
1122
+ }
963
1123
  return wrapToolResult({
964
1124
  success: true,
965
- count: related.length,
966
- related: related.map(r => ({
967
- repo: r.repoName,
968
- entityId: r.id,
969
- entityType: r.entityType,
970
- data: cleanData(r.data),
971
- })),
1125
+ count: relatedResults.length,
1126
+ related: relatedResults,
972
1127
  });
973
1128
  }
974
1129
  catch (error) {