studiograph 1.3.48-next.242 → 1.3.48-next.243

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 (215) hide show
  1. package/dist/agent/agent-pool.d.ts +24 -10
  2. package/dist/agent/agent-pool.js +31 -10
  3. package/dist/agent/agent-pool.js.map +1 -1
  4. package/dist/agent/context-window.d.ts +113 -0
  5. package/dist/agent/context-window.js +459 -0
  6. package/dist/agent/context-window.js.map +1 -0
  7. package/dist/agent/orchestrator.d.ts +7 -0
  8. package/dist/agent/orchestrator.js +71 -0
  9. package/dist/agent/orchestrator.js.map +1 -1
  10. package/dist/agent/skills/entity-schema.md +4 -1
  11. package/dist/agent/tools/graph-tools.js +6 -1
  12. package/dist/agent/tools/graph-tools.js.map +1 -1
  13. package/dist/core/artifact-frame-model.d.ts +139 -0
  14. package/dist/core/artifact-frame-model.js +433 -0
  15. package/dist/core/artifact-frame-model.js.map +1 -0
  16. package/dist/core/entity-body-templates.js +1 -1
  17. package/dist/core/entity-body-templates.js.map +1 -1
  18. package/dist/core/font-family.d.ts +62 -0
  19. package/dist/core/font-family.js +84 -0
  20. package/dist/core/font-family.js.map +1 -0
  21. package/dist/core/graph.d.ts +0 -4
  22. package/dist/core/graph.js +7 -13
  23. package/dist/core/graph.js.map +1 -1
  24. package/dist/core/types.js +5 -3
  25. package/dist/core/types.js.map +1 -1
  26. package/dist/core/validation.js +7 -3
  27. package/dist/core/validation.js.map +1 -1
  28. package/dist/mcp/tools.js +37 -0
  29. package/dist/mcp/tools.js.map +1 -1
  30. package/dist/server/routes/asset-api.js +65 -179
  31. package/dist/server/routes/asset-api.js.map +1 -1
  32. package/dist/server/routes/chat.js +39 -0
  33. package/dist/server/routes/chat.js.map +1 -1
  34. package/dist/server/routes/graph-api.js +113 -7
  35. package/dist/server/routes/graph-api.js.map +1 -1
  36. package/dist/services/asset-listing.d.ts +20 -35
  37. package/dist/services/asset-listing.js +36 -234
  38. package/dist/services/asset-listing.js.map +1 -1
  39. package/dist/services/asset-move-impact.d.ts +49 -0
  40. package/dist/services/asset-move-impact.js +62 -0
  41. package/dist/services/asset-move-impact.js.map +1 -0
  42. package/dist/services/assets/index.d.ts +2 -22
  43. package/dist/services/assets/index.js +2 -20
  44. package/dist/services/assets/index.js.map +1 -1
  45. package/dist/services/fonts/font-metadata.d.ts +42 -0
  46. package/dist/services/fonts/font-metadata.js +126 -0
  47. package/dist/services/fonts/font-metadata.js.map +1 -0
  48. package/dist/services/fonts/font-skill-service.d.ts +66 -0
  49. package/dist/services/fonts/font-skill-service.js +137 -0
  50. package/dist/services/fonts/font-skill-service.js.map +1 -0
  51. package/dist/web/_app/immutable/assets/0.4q9K6_aj.css +2 -0
  52. package/dist/web/_app/immutable/assets/{4.CdxzP04G.css → 4.rAQde9C1.css} +1 -1
  53. package/dist/web/_app/immutable/assets/{6.DKZVEV0V.css → 6.DONJs2Ua.css} +1 -1
  54. package/dist/web/_app/immutable/assets/ArtifactEntityView.DUGIdmZD.css +1 -0
  55. package/dist/web/_app/immutable/assets/{BulkActionsBar.D_-CBnA5.css → BulkActionsBar.CXSM7tO7.css} +1 -1
  56. package/dist/web/_app/immutable/assets/{FolderPicker.Cp46GHe2.css → FolderPicker.BIvdgOqd.css} +1 -1
  57. package/dist/web/_app/immutable/chunks/-P-_45Lq.js +1 -0
  58. package/dist/web/_app/immutable/chunks/{DsE1vad0.js → 2dmmroBJ.js} +2 -2
  59. package/dist/web/_app/immutable/chunks/39GYFK-92.js +2 -0
  60. package/dist/web/_app/immutable/chunks/{Dosm7CzI2.js → 3NWakot5.js} +1 -1
  61. package/dist/web/_app/immutable/chunks/{Cb8T8f2g2.js → 41TuxWjY2.js} +1 -1
  62. package/dist/web/_app/immutable/chunks/{CTfp9yI8.js → 7hwha0Sh.js} +1 -1
  63. package/dist/web/_app/immutable/chunks/{LCa8e6zu.js → 8fpcZDYw.js} +1 -1
  64. package/dist/web/_app/immutable/chunks/94Ryxh_u.js +5 -0
  65. package/dist/web/_app/immutable/chunks/9eAJQZrp.js +2 -0
  66. package/dist/web/_app/immutable/chunks/B5t0eFJ92.js +1 -0
  67. package/dist/web/_app/immutable/chunks/B8Yk5rbB.js +1 -0
  68. package/dist/web/_app/immutable/chunks/{BzaxZ6j12.js → BDAt3t0d.js} +1 -1
  69. package/dist/web/_app/immutable/chunks/{qKEE-FTz.js → BJDXKR9Z.js} +1 -1
  70. package/dist/web/_app/immutable/chunks/BKFu0lwN.js +1 -0
  71. package/dist/web/_app/immutable/chunks/BKoDfR5M.js +1 -0
  72. package/dist/web/_app/immutable/chunks/{3mkRcVr2.js → BMH0TYNu.js} +1 -1
  73. package/dist/web/_app/immutable/chunks/BYwcH5OJ.js +8 -0
  74. package/dist/web/_app/immutable/chunks/BZaiSHRW.js +2 -0
  75. package/dist/web/_app/immutable/chunks/B_ZKmxdt.js +2 -0
  76. package/dist/web/_app/immutable/chunks/{BaCR2693.js → BdpPyI9Q.js} +1 -1
  77. package/dist/web/_app/immutable/chunks/BeLBbSLQ.js +1 -0
  78. package/dist/web/_app/immutable/chunks/{2eVtOz9o.js → BetCjBPr.js} +1 -1
  79. package/dist/web/_app/immutable/chunks/{NkqbvnRD.js → Bgvs_OLG.js} +2 -2
  80. package/dist/web/_app/immutable/chunks/{CY4mvzPx.js → Blkb3o9A.js} +1 -1
  81. package/dist/web/_app/immutable/chunks/{BdrR1TWp2.js → Blnr7o0u2.js} +1 -1
  82. package/dist/web/_app/immutable/chunks/BqXMLvhL.js +1 -0
  83. package/dist/web/_app/immutable/chunks/{BXmb29An.js → BsGGYtBY.js} +3 -3
  84. package/dist/web/_app/immutable/chunks/{BmqRBswa2.js → Bu_5WOFt2.js} +2 -2
  85. package/dist/web/_app/immutable/chunks/{QZlAB8D12.js → BudZbwja2.js} +1 -1
  86. package/dist/web/_app/immutable/chunks/BuiYznRn2.js +1 -0
  87. package/dist/web/_app/immutable/chunks/{CUFQMEBn2.js → BxFrEcwX.js} +1 -1
  88. package/dist/web/_app/immutable/chunks/{DlRYlmXt.js → By5fEhAV.js} +1 -1
  89. package/dist/web/_app/immutable/chunks/ByDn7_Qm.js +1 -0
  90. package/dist/web/_app/immutable/chunks/C-mgrnTp2.js +1 -0
  91. package/dist/web/_app/immutable/chunks/C17GgqdR.js +2 -0
  92. package/dist/web/_app/immutable/chunks/{BQogYoZn2.js → CAGPIH5O2.js} +1 -1
  93. package/dist/web/_app/immutable/chunks/CIgtLr8b.js +1 -0
  94. package/dist/web/_app/immutable/chunks/{DQ3p_Foa.js → CMKOh3Gu.js} +1 -1
  95. package/dist/web/_app/immutable/chunks/{ClfNZrQj2.js → CQ7ssHiz2.js} +1 -1
  96. package/dist/web/_app/immutable/chunks/{BpJoEjfn.js → CQz_RPfB.js} +1 -1
  97. package/dist/web/_app/immutable/chunks/{CcwhSY5o.js → CSYiGoxd.js} +1 -1
  98. package/dist/web/_app/immutable/chunks/CVGnbOuS2.js +2 -0
  99. package/dist/web/_app/immutable/chunks/CbjSpBcK2.js +83 -0
  100. package/dist/web/_app/immutable/chunks/{BMasrUuD.js → Ciqwqq772.js} +1 -1
  101. package/dist/web/_app/immutable/chunks/Cj6oCHku.js +6 -0
  102. package/dist/web/_app/immutable/chunks/CkvGsRCA.js +1 -0
  103. package/dist/web/_app/immutable/chunks/CpUmT5hX2.js +1 -0
  104. package/dist/web/_app/immutable/chunks/Cr7JY6F4.js +1 -0
  105. package/dist/web/_app/immutable/chunks/D-p0AOc9.js +1 -0
  106. package/dist/web/_app/immutable/chunks/{DA1iSzCa.js → D1Jt3dpR.js} +3 -3
  107. package/dist/web/_app/immutable/chunks/D5PyYNZN2.js +1 -0
  108. package/dist/web/_app/immutable/chunks/D62Ewp98.js +1 -0
  109. package/dist/web/_app/immutable/chunks/{yC6XFgLt.js → D6T1mkH32.js} +1 -1
  110. package/dist/web/_app/immutable/chunks/D7pxZWUe2.js +1 -0
  111. package/dist/web/_app/immutable/chunks/{DIuEhrLp.js → DFRK-opu.js} +1 -1
  112. package/dist/web/_app/immutable/chunks/{DNw42WMo.js → DJ-tF4mo.js} +1 -1
  113. package/dist/web/_app/immutable/chunks/{DpDGz-7d2.js → DMpy3mnJ2.js} +3 -3
  114. package/dist/web/_app/immutable/chunks/DRkkJdkV.js +1 -0
  115. package/dist/web/_app/immutable/chunks/DTRR5v8f.js +1 -0
  116. package/dist/web/_app/immutable/chunks/DYdH-va_.js +2 -0
  117. package/dist/web/_app/immutable/chunks/{YY-j3QR72.js → D_1fVNTS2.js} +1 -1
  118. package/dist/web/_app/immutable/chunks/Db11KpbT.js +1 -0
  119. package/dist/web/_app/immutable/chunks/DcPrzUMJ2.js +1 -0
  120. package/dist/web/_app/immutable/chunks/{BXhAwvWL.js → DeNJFJmW.js} +1 -1
  121. package/dist/web/_app/immutable/chunks/{DxisDAGk.js → DioG9gEY.js} +1 -1
  122. package/dist/web/_app/immutable/chunks/{C4XhH1zO.js → DjWIE8kE.js} +1 -1
  123. package/dist/web/_app/immutable/chunks/{BpBDK-mF.js → Dm3FeQiy.js} +2 -2
  124. package/dist/web/_app/immutable/chunks/{BvWS1qJ_.js → DoBrc_MD.js} +1 -1
  125. package/dist/web/_app/immutable/chunks/{C9D0lxCn.js → Dqt3ZQbf.js} +1 -1
  126. package/dist/web/_app/immutable/chunks/{CFP-tbBY.js → DvDv3PXS.js} +1 -1
  127. package/dist/web/_app/immutable/chunks/DwcahpVZ2.js +2 -0
  128. package/dist/web/_app/immutable/chunks/{B2_Vm8nk.js → Dz0NKq7k.js} +1 -1
  129. package/dist/web/_app/immutable/chunks/JPkInEiy2.js +2 -0
  130. package/dist/web/_app/immutable/chunks/OlaBOMTk.js +1 -0
  131. package/dist/web/_app/immutable/chunks/VYOuBRrp2.js +1 -0
  132. package/dist/web/_app/immutable/chunks/WnsexHKM.js +2 -0
  133. package/dist/web/_app/immutable/chunks/_4BKTeRf.js +1 -0
  134. package/dist/web/_app/immutable/chunks/_nxBVnQa.js +1 -0
  135. package/dist/web/_app/immutable/chunks/deOZsxWU.js +1 -0
  136. package/dist/web/_app/immutable/chunks/kkDjm5WC.js +1 -0
  137. package/dist/web/_app/immutable/chunks/{wSxCclkQ.js → oYsB08kS.js} +1 -1
  138. package/dist/web/_app/immutable/chunks/{TzO9n4Ry.js → u78dShfg.js} +1 -1
  139. package/dist/web/_app/immutable/chunks/{CQ8Nd1xq.js → x2r4Enci.js} +1 -1
  140. package/dist/web/_app/immutable/chunks/{BllqhSzP.js → yhLA_1G0.js} +1 -1
  141. package/dist/web/_app/immutable/entry/app.CyaMSTD-.js +2 -0
  142. package/dist/web/_app/immutable/entry/start.w51yOSqv.js +1 -0
  143. package/dist/web/_app/immutable/nodes/{0.POsYfv4A.js → 0.De1hV4CK.js} +2 -2
  144. package/dist/web/_app/immutable/nodes/{1.DbsJ1j8h.js → 1.Byc9lVX0.js} +1 -1
  145. package/dist/web/_app/immutable/nodes/{10.tIzh8eME.js → 10.5O2PtJDQ.js} +1 -1
  146. package/dist/web/_app/immutable/nodes/{11.C1pvEAmq.js → 11.B5We-hs7.js} +1 -1
  147. package/dist/web/_app/immutable/nodes/{12.CflGHkzD.js → 12.BJY0oraq.js} +1 -1
  148. package/dist/web/_app/immutable/nodes/{13.D_ix7fKY.js → 13.3tv4r7-W.js} +1 -1
  149. package/dist/web/_app/immutable/nodes/15.CXxJLwsA.js +1 -0
  150. package/dist/web/_app/immutable/nodes/{16.CQ1g-7fy.js → 16.DAZbcz9r.js} +1 -1
  151. package/dist/web/_app/immutable/nodes/17.DNfdzJKO.js +1 -0
  152. package/dist/web/_app/immutable/nodes/{18.DJsWff3S.js → 18.CRWiO34_.js} +1 -1
  153. package/dist/web/_app/immutable/nodes/2.D2zEcEUa.js +125 -0
  154. package/dist/web/_app/immutable/nodes/3.DtSKWUk0.js +6 -0
  155. package/dist/web/_app/immutable/nodes/4.C1C-ZltD.js +16 -0
  156. package/dist/web/_app/immutable/nodes/{5.CSPtpdKL.js → 5.B7l9_B2T.js} +1 -1
  157. package/dist/web/_app/immutable/nodes/6.DT5EDRvz.js +4 -0
  158. package/dist/web/_app/immutable/nodes/{7.3fB3F8EG.js → 7.CQ8iYk-b.js} +1 -1
  159. package/dist/web/_app/immutable/nodes/{8.Bkm8E5Xx.js → 8.B-B5mqzx.js} +1 -1
  160. package/dist/web/_app/immutable/nodes/{9.CAhTkW89.js → 9.A8hgLZWF.js} +1 -1
  161. package/dist/web/_app/version.json +1 -1
  162. package/dist/web/index.html +17 -17
  163. package/package.json +3 -1
  164. package/dist/web/_app/immutable/assets/0.CbwnbgGB.css +0 -2
  165. package/dist/web/_app/immutable/assets/ArtifactEntityView.pIdeOQQE.css +0 -1
  166. package/dist/web/_app/immutable/chunks/9kQb20Px.js +0 -1
  167. package/dist/web/_app/immutable/chunks/B6pzOqM62.js +0 -2
  168. package/dist/web/_app/immutable/chunks/B8A8EazR.js +0 -3
  169. package/dist/web/_app/immutable/chunks/BNeHnpzf.js +0 -8
  170. package/dist/web/_app/immutable/chunks/BVV1uJxj2.js +0 -1
  171. package/dist/web/_app/immutable/chunks/BYJ5nWbn.js +0 -1
  172. package/dist/web/_app/immutable/chunks/BhiGv0QP.js +0 -1
  173. package/dist/web/_app/immutable/chunks/BsK1_UFs.js +0 -1
  174. package/dist/web/_app/immutable/chunks/Bti9kpBr2.js +0 -1
  175. package/dist/web/_app/immutable/chunks/Buj5AAdW2.js +0 -2
  176. package/dist/web/_app/immutable/chunks/CDd3pZBV.js +0 -1
  177. package/dist/web/_app/immutable/chunks/CIfkrRcg2.js +0 -1
  178. package/dist/web/_app/immutable/chunks/CJKbb7vh.js +0 -6
  179. package/dist/web/_app/immutable/chunks/CUAmOpNp.js +0 -2
  180. package/dist/web/_app/immutable/chunks/CVAHYv9V.js +0 -2
  181. package/dist/web/_app/immutable/chunks/CW-Ov0pM2.js +0 -7
  182. package/dist/web/_app/immutable/chunks/CZgFaimi2.js +0 -83
  183. package/dist/web/_app/immutable/chunks/CqK_GPz12.js +0 -1
  184. package/dist/web/_app/immutable/chunks/CrwD95qi.js +0 -1
  185. package/dist/web/_app/immutable/chunks/Cx9kQBh62.js +0 -1
  186. package/dist/web/_app/immutable/chunks/D0rBhnqB2.js +0 -1
  187. package/dist/web/_app/immutable/chunks/D9GNuvR52.js +0 -1
  188. package/dist/web/_app/immutable/chunks/DGRiYsdu.js +0 -1
  189. package/dist/web/_app/immutable/chunks/DOPRSg8K.js +0 -1
  190. package/dist/web/_app/immutable/chunks/DdRKuS4X.js +0 -1
  191. package/dist/web/_app/immutable/chunks/Dl-kU-nL.js +0 -2
  192. package/dist/web/_app/immutable/chunks/Dm1JqCoA.js +0 -1
  193. package/dist/web/_app/immutable/chunks/Dv03G3ns.js +0 -1
  194. package/dist/web/_app/immutable/chunks/DzfMsBwF.js +0 -1
  195. package/dist/web/_app/immutable/chunks/Ekbe0aNB.js +0 -1
  196. package/dist/web/_app/immutable/chunks/SBNS2BNm2.js +0 -2
  197. package/dist/web/_app/immutable/chunks/TG-NJeeW2.js +0 -1
  198. package/dist/web/_app/immutable/chunks/anMAD2SC.js +0 -1
  199. package/dist/web/_app/immutable/chunks/h1_gSzML.js +0 -2
  200. package/dist/web/_app/immutable/chunks/idVODsmh.js +0 -2
  201. package/dist/web/_app/immutable/chunks/pwieZDdR.js +0 -2
  202. package/dist/web/_app/immutable/chunks/uKaorCOx.js +0 -1
  203. package/dist/web/_app/immutable/entry/app.BtGNDtsi.js +0 -2
  204. package/dist/web/_app/immutable/entry/start.Ho7dqpLN.js +0 -1
  205. package/dist/web/_app/immutable/nodes/15.BUpHfEPN.js +0 -1
  206. package/dist/web/_app/immutable/nodes/17.72VCEMdJ.js +0 -1
  207. package/dist/web/_app/immutable/nodes/2._Mw_SwmN.js +0 -123
  208. package/dist/web/_app/immutable/nodes/3.DFhdjWDF.js +0 -6
  209. package/dist/web/_app/immutable/nodes/4.NwT6lhXr.js +0 -11
  210. package/dist/web/_app/immutable/nodes/6.CyH3netW.js +0 -6
  211. /package/dist/web/_app/immutable/chunks/{CYEYDNwO2.js → CYEYDNwO.js} +0 -0
  212. /package/dist/web/_app/immutable/chunks/{D4uUZ_aS2.js → D4uUZ_aS.js} +0 -0
  213. /package/dist/web/_app/immutable/chunks/{HrvI1J6b.js → HrvI1J6b2.js} +0 -0
  214. /package/dist/web/_app/immutable/chunks/{UZu_W1XF.js → UZu_W1XF2.js} +0 -0
  215. /package/dist/web/_app/immutable/chunks/{hG-QCarB.js → hG-QCarB2.js} +0 -0
@@ -137,16 +137,30 @@ export declare class AgentPool {
137
137
  private getOrCreate;
138
138
  private loadSession;
139
139
  /**
140
- * Bound chat-context growth from artifact source. An ArtifactBundle inlines
141
- * all of its HTML/CSS/JS, so it's large and it rides in history in two
142
- * places: `read_artifact` / `inspect_artifact` tool RESULTS, and the bundle
143
- * ARGUMENT of `create_artifact` calls. Left alone, the bundle reinflates the
144
- * prompt every turn until the provider overflows and returns an empty turn
145
- * (the "I didn't have a response" bug). After each turn we replace those
146
- * payloads in-place with a compact stub; the agent calls read_artifact again
147
- * when it needs the current source. Only large payloads are touched, so a
148
- * small artifact stays inline (no needless re-read). Defensive throughout
149
- * a malformed message must never break session persistence.
140
+ * Bound what RIDES IN PERSISTED HISTORY after each turn (DESTRUCTIVE — mutates
141
+ * the saved transcript). This is the privacy/baseline complement to the
142
+ * proactive per-call manager (context-window.ts / orchestrator
143
+ * `transformContext`), and the two have a clean division of labor:
144
+ *
145
+ * - The proactive manager handles the live TOKEN BUDGET non-destructively
146
+ * (large text tool results are stubbed/evicted in the per-call VIEW only),
147
+ * so big text stays in the on-disk transcript and the user can still scroll
148
+ * back through it. We deliberately do NOT destructively stub large text
149
+ * here that would degrade saved-chat display and fight the manager's
150
+ * recent-turn pinning.
151
+ * - This pass removes the payloads that MUST NOT PERSIST regardless of budget:
152
+ * 1. ARTIFACT tool RESULTS (`read_artifact` / `inspect_artifact`) — an
153
+ * ArtifactBundle inlines all its HTML/CSS/JS (large + re-readable),
154
+ * and inspect returns vision image blocks. Replaced with an
155
+ * artifact-specific stub; images stripped regardless of size.
156
+ * 2. The bundle ARGUMENT of `create_artifact` tool calls — elided.
157
+ * 3. VISION IMAGES in any OTHER tool result (e.g. a future `read_asset`):
158
+ * stripped so they neither re-bloat every prompt nor outlive the chat
159
+ * on disk (the "delete chat → images gone" promise). Text blocks are
160
+ * kept — only the image blocks are removed.
161
+ *
162
+ * Idempotent and defensive: a stubbed/stripped result has no image and a small
163
+ * text body, so it isn't re-touched; a malformed message never breaks persistence.
150
164
  */
151
165
  private compactArtifactHistory;
152
166
  private saveSession;
@@ -328,16 +328,30 @@ export class AgentPool {
328
328
  return false;
329
329
  }
330
330
  /**
331
- * Bound chat-context growth from artifact source. An ArtifactBundle inlines
332
- * all of its HTML/CSS/JS, so it's large and it rides in history in two
333
- * places: `read_artifact` / `inspect_artifact` tool RESULTS, and the bundle
334
- * ARGUMENT of `create_artifact` calls. Left alone, the bundle reinflates the
335
- * prompt every turn until the provider overflows and returns an empty turn
336
- * (the "I didn't have a response" bug). After each turn we replace those
337
- * payloads in-place with a compact stub; the agent calls read_artifact again
338
- * when it needs the current source. Only large payloads are touched, so a
339
- * small artifact stays inline (no needless re-read). Defensive throughout
340
- * a malformed message must never break session persistence.
331
+ * Bound what RIDES IN PERSISTED HISTORY after each turn (DESTRUCTIVE — mutates
332
+ * the saved transcript). This is the privacy/baseline complement to the
333
+ * proactive per-call manager (context-window.ts / orchestrator
334
+ * `transformContext`), and the two have a clean division of labor:
335
+ *
336
+ * - The proactive manager handles the live TOKEN BUDGET non-destructively
337
+ * (large text tool results are stubbed/evicted in the per-call VIEW only),
338
+ * so big text stays in the on-disk transcript and the user can still scroll
339
+ * back through it. We deliberately do NOT destructively stub large text
340
+ * here that would degrade saved-chat display and fight the manager's
341
+ * recent-turn pinning.
342
+ * - This pass removes the payloads that MUST NOT PERSIST regardless of budget:
343
+ * 1. ARTIFACT tool RESULTS (`read_artifact` / `inspect_artifact`) — an
344
+ * ArtifactBundle inlines all its HTML/CSS/JS (large + re-readable),
345
+ * and inspect returns vision image blocks. Replaced with an
346
+ * artifact-specific stub; images stripped regardless of size.
347
+ * 2. The bundle ARGUMENT of `create_artifact` tool calls — elided.
348
+ * 3. VISION IMAGES in any OTHER tool result (e.g. a future `read_asset`):
349
+ * stripped so they neither re-bloat every prompt nor outlive the chat
350
+ * on disk (the "delete chat → images gone" promise). Text blocks are
351
+ * kept — only the image blocks are removed.
352
+ *
353
+ * Idempotent and defensive: a stubbed/stripped result has no image and a small
354
+ * text body, so it isn't re-touched; a malformed message never breaks persistence.
341
355
  */
342
356
  compactArtifactHistory(agent) {
343
357
  const MIN_ELIDE_BYTES = 2000;
@@ -368,6 +382,13 @@ export class AgentPool {
368
382
  if ('details' in msg)
369
383
  delete msg.details;
370
384
  }
385
+ else if (msg.role === 'toolResult' && Array.isArray(msg.content) && msg.content.some((b) => b?.type === 'image')) {
386
+ // Any non-artifact tool result carrying vision images. Strip only the
387
+ // image blocks (keep the text, e.g. an asset caption); never leave an
388
+ // empty content array — preserve toolCallId pairing with a placeholder.
389
+ const kept = msg.content.filter((b) => b?.type !== 'image');
390
+ msg.content = kept.length > 0 ? kept : [{ type: 'text', text: '[image removed to save context]' }];
391
+ }
371
392
  else if (msg.role === 'assistant' && Array.isArray(msg.content)) {
372
393
  for (const block of msg.content) {
373
394
  if (block?.type === 'toolCall' && block.name === 'create_artifact' && block.arguments?.bundle) {
@@ -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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"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Context-window management for the in-app chat agent.
3
+ *
4
+ * The agent accumulates conversation history in `agent.state.messages`. Large
5
+ * tool results (asset/image payloads from list_assets / read_asset /
6
+ * inspect_artifact, big document or dataset bodies) plus the running turn count
7
+ * make that array grow without bound. Once it exceeds the model's token ceiling
8
+ * the provider rejects the WHOLE request with a hard 400 ("prompt is too long:
9
+ * N tokens > M maximum"), killing the chat.
10
+ *
11
+ * This module is the PROACTIVE half of the fix: a pure, provider-agnostic
12
+ * pass that estimates tokens and, when a request would overflow, trims the
13
+ * transcript down to fit BEFORE it is sent. It is wired into the runtime via
14
+ * pi-agent-core's `transformContext` hook (orchestrator.ts), which runs once
15
+ * before every LLM call and non-destructively produces the message array sent
16
+ * to the provider — the persistent transcript (saved to disk / shown in the UI)
17
+ * is untouched.
18
+ *
19
+ * The DESTRUCTIVE half (agent-pool.ts `compactArtifactHistory`) is the privacy/
20
+ * baseline complement: after each turn it strips images and elides artifact
21
+ * bundles from the PERSISTED transcript, but deliberately keeps large text (so
22
+ * saved chats stay readable). It does not share this module's helpers — the two
23
+ * passes have different jobs (must-not-persist vs live token budget); see that
24
+ * method's own docstring for the split of labor.
25
+ *
26
+ * Nothing here does I/O or model calls — it is deterministic and unit-tested.
27
+ */
28
+ import type { AgentMessage } from '@earendil-works/pi-agent-core';
29
+ /** A tool result is "large" once its content estimate crosses this. Tier-1
30
+ * stubbing and the post-turn compaction both use it. ~2k tokens ≈ a screenful
31
+ * of JSON — small results stay inline so the agent doesn't have to re-fetch. */
32
+ export declare const LARGE_TOOL_RESULT_TOKENS = 2000;
33
+ /** Estimate tokens for one message's content (text + images + tool-call args). */
34
+ export declare function estimateMessageTokens(msg: AgentMessage): number;
35
+ /**
36
+ * Estimate the total prompt tokens for a transcript, optionally including the
37
+ * system prompt and tool schemas (both ride in every request).
38
+ */
39
+ export declare function estimateTokens(messages: AgentMessage[], systemPrompt?: string, tools?: Array<{
40
+ name?: string;
41
+ description?: string;
42
+ parameters?: unknown;
43
+ }>): number;
44
+ /** True if a toolResult message's content is large enough to be worth eliding. */
45
+ export declare function isLargeToolResult(msg: AgentMessage): boolean;
46
+ /** The stub text that replaces an elided tool result. Names the tool so the
47
+ * agent knows it can call it again to retrieve the content on demand. */
48
+ export declare function toolResultStub(toolName?: string): string;
49
+ /**
50
+ * Return a pairing-safe stubbed COPY of a toolResult message: content replaced
51
+ * with a one-line stub, `toolCallId`/`toolName`/`role` preserved (so the paired
52
+ * assistant tool-call still resolves and the provider doesn't 400), `details`
53
+ * dropped. Returns the original reference if it is not a large tool result.
54
+ */
55
+ export declare function stubToolResult(msg: AgentMessage): AgentMessage;
56
+ export interface ManageContextInput {
57
+ messages: AgentMessage[];
58
+ systemPrompt?: string;
59
+ /** pi-ai Model — we read `contextWindow` and `maxTokens`. May be null/undefined
60
+ * for a custom/unknown model id; computeBudget falls back to a 200k window. */
61
+ model: {
62
+ contextWindow?: number;
63
+ maxTokens?: number;
64
+ } | null | undefined;
65
+ tools?: Array<{
66
+ name?: string;
67
+ description?: string;
68
+ parameters?: unknown;
69
+ }>;
70
+ }
71
+ export interface ManageContextStats {
72
+ budget: number;
73
+ estimateBefore: number;
74
+ estimateAfter: number;
75
+ stubbedResults: number;
76
+ evictedTurns: number;
77
+ /** Set when even the latest turn alone had to be truncated (Tier 3). */
78
+ truncatedLatestTurn: boolean;
79
+ /**
80
+ * True when, after ALL tiers ran, the estimate is STILL over budget — i.e. the
81
+ * irreducible cost (systemPrompt + tool schemas, or a single unshrinkable
82
+ * message) alone exceeds the budget and nothing more can be trimmed. The
83
+ * request will likely 400; the reactive isContextOverflow net (chat.ts) is the
84
+ * backstop. The caller logs this distinctly so it isn't a silent failure.
85
+ */
86
+ overBudget: boolean;
87
+ }
88
+ export interface ManageContextResult {
89
+ messages: AgentMessage[];
90
+ stats: ManageContextStats;
91
+ }
92
+ /** Compute the usable input-token budget for a model. */
93
+ export declare function computeBudget(model: {
94
+ contextWindow?: number;
95
+ maxTokens?: number;
96
+ } | null | undefined): number;
97
+ /**
98
+ * Bring a transcript under the model's input-token budget. Non-destructive:
99
+ * returns a NEW array of (possibly stubbed) message copies; the caller's message
100
+ * objects are never mutated. Tiered:
101
+ * 1. stub oversized tool results (oldest first, recent turns pinned)
102
+ * 2. evict oldest whole turns, folding a rolling summary into the oldest kept
103
+ * user message
104
+ * 3. if the latest turn alone still overflows, truncate its oversized blocks
105
+ *
106
+ * Always pairing-safe: tool_use ↔ tool_result groupings are preserved so the
107
+ * provider never 400s on an orphaned tool result. Best-effort under extreme
108
+ * inputs: if even the truncated latest turn can't fit (e.g. enormous tool-call
109
+ * arguments the manager won't drop), it returns the smallest result it can and
110
+ * `stats.estimateAfter` reports the residual — the reactive `isContextOverflow`
111
+ * net (chat.ts) is the final backstop.
112
+ */
113
+ export declare function manageContext(input: ManageContextInput): ManageContextResult;