studiograph 1.3.48-next.216 → 1.3.48-next.218

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 (148) hide show
  1. package/dist/agent/agent-pool.js +6 -1
  2. package/dist/agent/agent-pool.js.map +1 -1
  3. package/dist/agent/skills/artifact-canvas/skill.md +15 -2
  4. package/dist/agent/tools/artifact-tools.d.ts +13 -0
  5. package/dist/agent/tools/artifact-tools.js +15 -2
  6. package/dist/agent/tools/artifact-tools.js.map +1 -1
  7. package/dist/agent/tools/graph-tools.js +51 -43
  8. package/dist/agent/tools/graph-tools.js.map +1 -1
  9. package/dist/core/artifact-asset-urls.d.ts +9 -4
  10. package/dist/core/artifact-asset-urls.js +34 -6
  11. package/dist/core/artifact-asset-urls.js.map +1 -1
  12. package/dist/core/artifact-export.js +22 -0
  13. package/dist/core/artifact-export.js.map +1 -1
  14. package/dist/core/entity-types-catalog.js +1 -1
  15. package/dist/core/entity-types-catalog.js.map +1 -1
  16. package/dist/core/secrets/registry.js +7 -0
  17. package/dist/core/secrets/registry.js.map +1 -1
  18. package/dist/mcp/tools.js +81 -35
  19. package/dist/mcp/tools.js.map +1 -1
  20. package/dist/server/routes/chat.js +38 -11
  21. package/dist/server/routes/chat.js.map +1 -1
  22. package/dist/services/artifact-render-export.d.ts +33 -1
  23. package/dist/services/artifact-render-export.js +96 -14
  24. package/dist/services/artifact-render-export.js.map +1 -1
  25. package/dist/services/assets/index.d.ts +15 -0
  26. package/dist/services/assets/index.js +19 -2
  27. package/dist/services/assets/index.js.map +1 -1
  28. package/dist/services/entity-mutations.d.ts +85 -0
  29. package/dist/services/entity-mutations.js +118 -0
  30. package/dist/services/entity-mutations.js.map +1 -1
  31. package/dist/web/_app/immutable/assets/4.C0imTRHq.css +1 -0
  32. package/dist/web/_app/immutable/assets/{ArtifactEntityView.D8VO4Pjv.css → ArtifactEntityView.Cky6tBSx.css} +1 -1
  33. package/dist/web/_app/immutable/assets/Rail.eX2Yh2Yv.css +1 -0
  34. package/dist/web/_app/immutable/assets/Version.D3WVQoeW.css +1 -0
  35. package/dist/web/_app/immutable/chunks/{BBWxIsEM.js → -4M4pI36.js} +2 -2
  36. package/dist/web/_app/immutable/chunks/{DXDifw0s.js → 1rZqB7hB.js} +1 -1
  37. package/dist/web/_app/immutable/chunks/5_AZ__A22.js +1 -0
  38. package/dist/web/_app/immutable/chunks/{-22TxB5d2.js → B2JaS3Yd2.js} +1 -1
  39. package/dist/web/_app/immutable/chunks/B6PQUbwI.js +1 -0
  40. package/dist/web/_app/immutable/chunks/{D2ag_Uyi.js → B8hQ1anh.js} +1 -1
  41. package/dist/web/_app/immutable/chunks/B9vBS3Cg.js +1 -0
  42. package/dist/web/_app/immutable/chunks/{CtWePYE8.js → BR9ccr4m.js} +1 -1
  43. package/dist/web/_app/immutable/chunks/{C9Z7TnpM2.js → BSAWGo3f2.js} +2 -2
  44. package/dist/web/_app/immutable/chunks/{BxAd_KjM.js → BUC7AiTR.js} +1 -1
  45. package/dist/web/_app/immutable/chunks/{BmMxAkqo.js → BZ8V_ZF1.js} +1 -1
  46. package/dist/web/_app/immutable/chunks/{Cz7673sV.js → Bg2u3sit.js} +1 -1
  47. package/dist/web/_app/immutable/chunks/{CqlsWZJq.js → BqVsZELu.js} +2 -2
  48. package/dist/web/_app/immutable/chunks/{CyeMAnFK.js → C2ap5t26.js} +1 -1
  49. package/dist/web/_app/immutable/chunks/{BnV5GiCk.js → C7WuWTsh.js} +1 -1
  50. package/dist/web/_app/immutable/chunks/{T9SOWjTT.js → C8CY4UOj.js} +3 -3
  51. package/dist/web/_app/immutable/chunks/CCl_51cs.js +1 -0
  52. package/dist/web/_app/immutable/chunks/{DyYSrbT5.js → CEzE0HR6.js} +2 -2
  53. package/dist/web/_app/immutable/chunks/{CMhe4nWF.js → CIMQ3fjR.js} +1 -1
  54. package/dist/web/_app/immutable/chunks/{DcJ7t3E_.js → CIouGziG.js} +1 -1
  55. package/dist/web/_app/immutable/chunks/CJnlkE5I.js +8 -0
  56. package/dist/web/_app/immutable/chunks/{CSLmRgRV.js → CK4Nv938.js} +1 -1
  57. package/dist/web/_app/immutable/chunks/CNClHfhj.js +1 -0
  58. package/dist/web/_app/immutable/chunks/{ZvuIXXVm.js → CU2XB__q.js} +2 -2
  59. package/dist/web/_app/immutable/chunks/{xuiSu5Yz.js → CYxbGkW1.js} +1 -1
  60. package/dist/web/_app/immutable/chunks/{_iojsbf02.js → CZaz-uIW2.js} +2 -2
  61. package/dist/web/_app/immutable/chunks/{DY4PjJdC2.js → C_35QPUq2.js} +1 -1
  62. package/dist/web/_app/immutable/chunks/{BEsXcOMv2.js → C_YXWOpP2.js} +1 -1
  63. package/dist/web/_app/immutable/chunks/{CjSST_0v2.js → CbLO-N0U2.js} +2 -2
  64. package/dist/web/_app/immutable/chunks/{ChXcfjme.js → CiWxewf5.js} +1 -1
  65. package/dist/web/_app/immutable/chunks/{D30gbnv4.js → Ckuco_2b.js} +1 -1
  66. package/dist/web/_app/immutable/chunks/ClFlcGK8.js +1 -0
  67. package/dist/web/_app/immutable/chunks/CnIJedXy.js +2 -0
  68. package/dist/web/_app/immutable/chunks/Cp300oQP2.js +2 -0
  69. package/dist/web/_app/immutable/chunks/CyWCZOAO.js +1 -0
  70. package/dist/web/_app/immutable/chunks/D3QYCtln.js +1 -0
  71. package/dist/web/_app/immutable/chunks/D6P0eqhA.js +1 -0
  72. package/dist/web/_app/immutable/chunks/DG2mK6QI2.js +1 -0
  73. package/dist/web/_app/immutable/chunks/{CUVlGbbN.js → DNDwN3KV.js} +2 -2
  74. package/dist/web/_app/immutable/chunks/{BPBWkSAD.js → DSURKQlq.js} +1 -1
  75. package/dist/web/_app/immutable/chunks/{w26lo4aE.js → DTh_hmEw2.js} +6 -91
  76. package/dist/web/_app/immutable/chunks/{C_TS4Mnw.js → DU7TXC0-.js} +1 -1
  77. package/dist/web/_app/immutable/chunks/{CGMkBjyK.js → Dae4E9_w.js} +1 -1
  78. package/dist/web/_app/immutable/chunks/Db65IR8b.js +1 -0
  79. package/dist/web/_app/immutable/chunks/{BlLiKj1B.js → DiJ8_Zwm.js} +1 -1
  80. package/dist/web/_app/immutable/chunks/{BbfHGU9n2.js → DiMsLIh32.js} +1 -1
  81. package/dist/web/_app/immutable/chunks/{397tJ7WX.js → DnR05sD4.js} +1 -1
  82. package/dist/web/_app/immutable/chunks/{WEDYyj8L.js → Dy2JCcUb.js} +3 -3
  83. package/dist/web/_app/immutable/chunks/{la9bSGEV2.js → Dzv-mIb32.js} +1 -1
  84. package/dist/web/_app/immutable/chunks/{BHbYxkde.js → GfBknz5R.js} +1 -1
  85. package/dist/web/_app/immutable/chunks/{BmiL4fuU.js → M2OQNqj5.js} +1 -1
  86. package/dist/web/_app/immutable/chunks/{D5BAm4-E.js → Mcs3bjP1.js} +1 -1
  87. package/dist/web/_app/immutable/chunks/NVmayBBw.js +1 -0
  88. package/dist/web/_app/immutable/chunks/{BKEVdSfF2.js → StSGhX-d2.js} +1 -1
  89. package/dist/web/_app/immutable/chunks/{DL6qyJ6y2.js → Su2XO11t2.js} +1 -1
  90. package/dist/web/_app/immutable/chunks/UZABStSZ2.js +1 -0
  91. package/dist/web/_app/immutable/chunks/UeSyIbz22.js +2 -0
  92. package/dist/web/_app/immutable/chunks/{BD465UHo2.js → VKtbttjd2.js} +1 -1
  93. package/dist/web/_app/immutable/chunks/{cDccBm5o.js → V_udsqeV.js} +1 -1
  94. package/dist/web/_app/immutable/chunks/YCz51d-b.js +6 -0
  95. package/dist/web/_app/immutable/chunks/{CXaudvaF.js → cqUU7CSz.js} +1 -1
  96. package/dist/web/_app/immutable/chunks/{BGSqRx9o2.js → es4c-7If2.js} +1 -1
  97. package/dist/web/_app/immutable/chunks/{CLEe5fmp.js → mJ0zwK0U.js} +2 -2
  98. package/dist/web/_app/immutable/chunks/{CV0w3nPn.js → nx1gFFg8.js} +1 -1
  99. package/dist/web/_app/immutable/chunks/{DywBnCWN.js → ptjoRy3M.js} +1 -1
  100. package/dist/web/_app/immutable/chunks/{B8Ji4oP7.js → vhC5Jy3I.js} +1 -1
  101. package/dist/web/_app/immutable/entry/{app.BzIHm2nv.js → app.C8V8pJux.js} +2 -2
  102. package/dist/web/_app/immutable/entry/start.tnuHARwR.js +1 -0
  103. package/dist/web/_app/immutable/nodes/0.Dwap0d8o.js +2 -0
  104. package/dist/web/_app/immutable/nodes/{1.KjNsCYZs.js → 1.hphDgSza.js} +1 -1
  105. package/dist/web/_app/immutable/nodes/{10.DHae9APw.js → 10.-VGJAgUF.js} +1 -1
  106. package/dist/web/_app/immutable/nodes/{11.Dy8InEk-.js → 11.CIcPnDnc.js} +1 -1
  107. package/dist/web/_app/immutable/nodes/{12.D_BApmRj.js → 12.sNyiO-Cy.js} +1 -1
  108. package/dist/web/_app/immutable/nodes/{13.BBEJvemR.js → 13.mlCuUABy.js} +1 -1
  109. package/dist/web/_app/immutable/nodes/{15.id6zc9hx.js → 15.BCtkizTs.js} +1 -1
  110. package/dist/web/_app/immutable/nodes/{17.IU8OIrvA.js → 17.DUcTtp8X.js} +1 -1
  111. package/dist/web/_app/immutable/nodes/{18.DyPGeurS.js → 18.CsQA_Z5r.js} +1 -1
  112. package/dist/web/_app/immutable/nodes/{2.D0KjBjju.js → 2.CHs0LISt.js} +4 -4
  113. package/dist/web/_app/immutable/nodes/{3.i23fR5YM.js → 3.DimALrCM.js} +3 -3
  114. package/dist/web/_app/immutable/nodes/4.Bt6sOjw5.js +11 -0
  115. package/dist/web/_app/immutable/nodes/{5.BYOeOAnc.js → 5.DxJ-ca6K.js} +1 -1
  116. package/dist/web/_app/immutable/nodes/{6.DxlOT_B8.js → 6.DyPAK7-T.js} +2 -2
  117. package/dist/web/_app/immutable/nodes/{7.esaY4OuD.js → 7.BCwL6BP4.js} +1 -1
  118. package/dist/web/_app/immutable/nodes/{8.BwGvvlZA.js → 8.DqUXSEot.js} +1 -1
  119. package/dist/web/_app/immutable/nodes/{9.Cvu9MhsM.js → 9.CXyZBd2f.js} +1 -1
  120. package/dist/web/_app/version.json +1 -1
  121. package/dist/web/index.html +14 -14
  122. package/package.json +1 -1
  123. package/dist/web/_app/immutable/assets/4.ZXjjq75c.css +0 -1
  124. package/dist/web/_app/immutable/assets/Rail.49-Okpoz.css +0 -1
  125. package/dist/web/_app/immutable/assets/history-summary.LpmHXasl.css +0 -1
  126. package/dist/web/_app/immutable/chunks/-WKtFaHt.js +0 -1
  127. package/dist/web/_app/immutable/chunks/6UyQXoVt.js +0 -6
  128. package/dist/web/_app/immutable/chunks/B7vC2gRe.js +0 -1
  129. package/dist/web/_app/immutable/chunks/BKPWF7Bs2.js +0 -2
  130. package/dist/web/_app/immutable/chunks/BRmXLY3K2.js +0 -1
  131. package/dist/web/_app/immutable/chunks/BV3B8RXJ.js +0 -1
  132. package/dist/web/_app/immutable/chunks/BwoVO9GO2.js +0 -1
  133. package/dist/web/_app/immutable/chunks/Bz9lrgGs.js +0 -1
  134. package/dist/web/_app/immutable/chunks/C3DPLHeX.js +0 -8
  135. package/dist/web/_app/immutable/chunks/ChoBJpU8.js +0 -1
  136. package/dist/web/_app/immutable/chunks/CmqG0ugr.js +0 -1
  137. package/dist/web/_app/immutable/chunks/DE9nfVei.js +0 -1
  138. package/dist/web/_app/immutable/chunks/DQKl2M81.js +0 -1
  139. package/dist/web/_app/immutable/chunks/DWbusZ7p.js +0 -2
  140. package/dist/web/_app/immutable/chunks/DgQR4HT3.js +0 -1
  141. package/dist/web/_app/immutable/chunks/i5geo-c6.js +0 -1
  142. package/dist/web/_app/immutable/chunks/uqyYNx8v.js +0 -1
  143. package/dist/web/_app/immutable/chunks/xGITcCHb2.js +0 -2
  144. package/dist/web/_app/immutable/entry/start.D6wF97rN.js +0 -1
  145. package/dist/web/_app/immutable/nodes/0.J96DmPfX.js +0 -2
  146. package/dist/web/_app/immutable/nodes/4.Csxtxmpw.js +0 -11
  147. /package/dist/web/_app/immutable/chunks/{BzaxZ6j12.js → BzaxZ6j1.js} +0 -0
  148. /package/dist/web/_app/immutable/chunks/{DDbpVNi02.js → DDbpVNi0.js} +0 -0
@@ -354,10 +354,15 @@ export class AgentPool {
354
354
  const already = msg.content.length === 1 && msg.content[0]?.text === STUB;
355
355
  if (already)
356
356
  continue;
357
+ // inspect_artifact now returns its screenshots as IMAGE content blocks.
358
+ // Vision images must NOT persist across turns (that's the whole point —
359
+ // they'd re-bloat every prompt), so strip the moment ANY image block is
360
+ // present, regardless of the byte threshold.
361
+ const hasImage = msg.content.some((b) => b?.type === 'image');
357
362
  let size = 0;
358
363
  for (const b of msg.content)
359
364
  size += typeof b?.text === 'string' ? b.text.length : (b?.data?.length ?? 0);
360
- if (size < MIN_ELIDE_BYTES)
365
+ if (!hasImage && size < MIN_ELIDE_BYTES)
361
366
  continue;
362
367
  msg.content = [{ type: 'text', text: STUB }];
363
368
  if ('details' in msg)
@@ -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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"}
@@ -17,8 +17,21 @@ Use this skill when the user asks for a visual or interactive output that should
17
17
  5. Keep your chat response short; the canvas carries the artifact itself.
18
18
  6. If the chat is scoped to an open artifact entry, `create_artifact` updates that canvas directly. If the user references a different artifact entry, pass `target.entityId` and `target.repo` when known. Otherwise it creates a new `artifact` graph entry and opens it in the center content well.
19
19
 
20
+ ## Storage — always use the artifact tools
21
+
22
+ An `artifact` entry stores the ArtifactBundle as **JSON** in its body — never markdown or prose. Always create and edit artifacts through the artifact tools, never `create_entity` / `update_entity` / `patch_entity`:
23
+
24
+ - Create or fill: `create_artifact` with the full bundle.
25
+ - Edit an existing one: `read_artifact` (returns the current bundle + a `hash`), modify the full bundle, then `create_artifact` passing that `hash` as `baseHash`.
26
+
27
+ `create_artifact` assembles and validates the bundle for you; the generic entry tools will reject a hand-written artifact body. If you only have raw markdown/prose (e.g. slide text you haven't laid out yet), create a `document` entry instead — not an `artifact`.
28
+
29
+ Make a revision as ONE `create_artifact` that rewrites the whole bundle — don't fan out several edits to the same artifact in parallel. Each write replaces the entire bundle, so concurrent writes race; a sibling write that lands first makes yours fail the `baseHash` precondition (re-read and retry rather than retrying blindly). When restyling, change the CSS in the bundle you rewrite and reason about specificity directly: among rules of equal specificity the one later in the file wins, so a broad `.col li` can override a more intentional `.col-accent li` — raise the accent selector's specificity (e.g. `.col.col-accent li`) instead of adding more rules.
30
+
20
31
  ## Bundle Shape
21
32
 
33
+ A valid bundle is a JSON object with: `schemaVersion`, `artifactId` (a stable id that starts alphanumeric), `title`, `kind`, `viewport`, `entrypoint`, and `files` (the entrypoint must be one of the file keys).
34
+
22
35
  Use `schemaVersion: 1`.
23
36
 
24
37
  Set `kind` to one of:
@@ -30,7 +43,7 @@ Set `kind` to one of:
30
43
  - `custom`
31
44
 
32
45
  Use `viewport` to define the canvas size:
33
- - Slides: `1280 × 720`, mode `fixed`
46
+ - Slides: `1920 × 1080`, mode `fixed`
34
47
  - Social square: `1080 × 1080`, mode `fixed`
35
48
  - Social portrait: `1080 × 1350`, mode `fixed`
36
49
  - Documents: `816 × 1056`, mode `paged` for US Letter at 96dpi
@@ -129,7 +142,7 @@ JavaScript is allowed, but it runs only inside a sandboxed iframe. Write self-co
129
142
 
130
143
  ## Slides / decks specifically
131
144
 
132
- A `kind: "slides"` deck is a multi-frame artifact. It MUST follow the Multi-Frame contract above, or Studiograph renders it as a single static frame (only the first slide shows):
145
+ A `kind: "slides"` deck uses a fixed `1920 × 1080` viewport and conventionally splits its files into `index.html`, `styles.css`, and `slides.js` (entrypoint `index.html`). It is a multi-frame artifact and MUST follow the Multi-Frame contract above, or Studiograph renders it as a single static frame (only the first slide shows):
133
146
 
134
147
  - Wrap the slides in `data-artifact-layout="sequence"` and put `data-artifact-frame` on EVERY slide `<section>` — not just `class="slide"`. Studiograph detects slides only via `[data-artifact-frame]` (or `[data-artifact-page]` / `.page`); a `.slide` class alone is invisible to the stepper and the export/`inspect_artifact` frame splitter.
135
148
  - Declare `display.controls.stepper` with `"selector": "[data-artifact-frame]"` so Studiograph renders prev/next + slide numbers in fullscreen. The selector MUST match the markup you emit.
@@ -101,6 +101,19 @@ export declare function createArtifactTools(onArtifact?: ArtifactCallback | null
101
101
  text: string;
102
102
  }[];
103
103
  details: any;
104
+ } | {
105
+ content: ({
106
+ type: "image";
107
+ data: string;
108
+ mimeType: "image/jpeg" | "image/png";
109
+ } | {
110
+ type: "text";
111
+ text: string;
112
+ })[];
113
+ details: {
114
+ success: true;
115
+ inspection: Record<string, unknown>;
116
+ };
104
117
  }>;
105
118
  } | {
106
119
  name: string;
@@ -6,7 +6,7 @@
6
6
  import { createHash } from 'crypto';
7
7
  import { Type as T } from 'typebox';
8
8
  import { validateArtifactBundle } from '../../core/artifact-bundle.js';
9
- import { ArtifactRenderExportUnavailableError, inspectArtifactRender, } from '../../services/artifact-render-export.js';
9
+ import { ArtifactRenderExportUnavailableError, inspectArtifactRender, inspectionToModelPayload, } from '../../services/artifact-render-export.js';
10
10
  import { wrapToolResult } from './graph-tools.js';
11
11
  /** Stable content hash of an artifact's stored body STRING (not the parsed
12
12
  * bundle), so `read_artifact` and the write-time guard hash the exact same
@@ -164,7 +164,20 @@ export function createArtifactTools(onArtifact, options = {}) {
164
164
  includeFrameScreenshots: params.includeFrameScreenshots,
165
165
  screenshotFormat: params.screenshotFormat,
166
166
  });
167
- return wrapToolResult({ success: true, inspection });
167
+ // Return screenshots as real IMAGE content blocks (vision) instead of
168
+ // base64 embedded in text: the model actually SEES the slides, for
169
+ // ~1.6k tokens/image instead of ~300k. The text block carries only the
170
+ // compact metadata (dims, rects, console, errors) — no base64. `details`
171
+ // mirrors that metadata for non-model consumers/logs (also base64-free).
172
+ const { metadata, images } = inspectionToModelPayload(inspection);
173
+ const result = { success: true, inspection: metadata };
174
+ return {
175
+ content: [
176
+ { type: 'text', text: JSON.stringify(result, null, 2) },
177
+ ...images.map((img) => ({ type: 'image', data: img.data, mimeType: img.mimeType })),
178
+ ],
179
+ details: result,
180
+ };
168
181
  }
169
182
  catch (err) {
170
183
  if (err instanceof ArtifactRenderExportUnavailableError) {
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/artifact-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/artifact-tools.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ import * as access from '../../services/access-control.js';
16
16
  import { isCuratedEntityType } from '../../core/entity-types-catalog.js';
17
17
  import { getAgentAllowedEntityTypes } from '../prompts/entity-types-section.js';
18
18
  import { BridgeError, assertCanChangeUserHandle, validateUserHandleInPayload } from '../../services/user-person-bridge.js';
19
- import { buildActor, prepareCreatePayload, prepareUpdatePayload, diagnosedUpdate, DroppedAssetError, assertEntityRefs, EntityRefError, UnknownUserRefError, } from '../../services/entity-mutations.js';
19
+ import { buildActor, prepareCreatePayload, prepareUpdatePayload, diagnosedUpdate, DroppedAssetError, assertEntityRefs, EntityRefError, UnknownUserRefError, applyPatchEntity, } from '../../services/entity-mutations.js';
20
20
  import { listRepoAssets, listWorkspaceAssets } from '../../services/asset-listing.js';
21
21
  import { assetEmbed } from '../../core/embeds.js';
22
22
  import * as commentVirtualEntity from '../../services/comment-virtual-entity.js';
@@ -188,7 +188,7 @@ getActiveSessionId) {
188
188
  {
189
189
  name: 'create_entity',
190
190
  label: 'Create Entry',
191
- description: 'Create a new entry in a folder. Always validate required fields before calling. Folder is auto-resolved for app-defined entry types.',
191
+ description: 'Create a new entry in a folder. Always validate required fields before calling. Folder is auto-resolved for app-defined entry types. To make an Artifact Canvas (slide decks, documents, graphics, prototypes, diagrams), use create_artifact — not this tool; an `artifact` body is ArtifactBundle JSON, never markdown. For raw markdown/prose, use a `document` entry.',
192
192
  parameters: T.Object({
193
193
  repo: T.Optional(T.String({ description: 'Folder name (auto-resolved for app entity types)' })),
194
194
  entityType: T.Union(agentAllowedTypes.map(t => T.Literal(t)), { description: `Entity type. Must be one of: ${agentAllowedTypes.join(', ')}.` }),
@@ -377,7 +377,7 @@ getActiveSessionId) {
377
377
  {
378
378
  name: 'update_entity',
379
379
  label: 'Update Entry',
380
- description: 'Update an existing entry. Folder is auto-resolved for app-defined types.',
380
+ description: 'Update an existing entry. Folder is auto-resolved for app-defined types. To change an `artifact` body, use read_artifact + create_artifact (it is ArtifactBundle JSON, not markdown); frontmatter-only edits here are fine.',
381
381
  parameters: T.Object({
382
382
  repo: T.Optional(T.String({ description: 'Folder name (auto-resolved for app entity types)' })),
383
383
  entityType: T.String({ description: 'Entity type' }),
@@ -502,7 +502,8 @@ getActiveSessionId) {
502
502
  description: 'Surgically edit an entry body by replacing an exact substring — without rewriting the whole body. ' +
503
503
  'Prefer this over update_entity for small edits (rename a heading, fix a sentence): it edits the live ' +
504
504
  'editor body and cannot drop image/asset embeds it did not touch. Use expectedCount to guard against ' +
505
- 'ambiguous matches. For data/frontmatter changes use update_entity.',
505
+ 'ambiguous matches. For data/frontmatter changes use update_entity. ' +
506
+ 'Never patch an `artifact` body — it is ArtifactBundle JSON; a substring edit corrupts it. Edit artifacts via read_artifact + create_artifact.',
506
507
  parameters: T.Object({
507
508
  repo: T.String({ description: 'Folder name' }),
508
509
  entityType: T.String({ description: 'Entity type' }),
@@ -525,52 +526,49 @@ getActiveSessionId) {
525
526
  return wrapToolResult({ success: false, error: 'patch_entity `find` and `replace` are identical — nothing to do' });
526
527
  }
527
528
  const graph = workspaceManager.getGraph(repoName);
528
- const entity = graph.get(params.entityType, params.entityId);
529
- // Patch against the live editor body when one is open, so we don't
530
- // reintroduce the stale-read problem (editing a body that lags the
531
- // user's in-editor typing / freshly-placed embeds).
532
- const currentBody = graph.getLiveBody(params.entityType, params.entityId) ?? entity.document.content;
533
- // Count literal (non-regex) occurrences.
534
- let count = 0;
535
- for (let i = currentBody.indexOf(params.find); i !== -1; i = currentBody.indexOf(params.find, i + params.find.length))
536
- count++;
537
- if (count === 0) {
538
- return wrapToolResult({ success: false, code: 'NO_MATCH', error: `\`find\` substring not present in ${params.entityType}/${params.entityId}.` });
539
- }
540
- if (params.expectedCount !== undefined && count !== params.expectedCount) {
541
- return wrapToolResult({ success: false, code: 'AMBIGUOUS_MATCH', occurrences: count, error: `Expected ${params.expectedCount} occurrence(s) of \`find\`, found ${count}.` });
542
- }
543
- const newBody = currentBody.split(params.find).join(params.replace);
544
529
  const actor = effectiveGitUser();
545
- const options = prepareUpdatePayload({
546
- entityType: params.entityType,
547
- entityId: params.entityId,
548
- content: newBody,
549
- commitMessage: params.commitMessage,
550
- }, actor);
530
+ // Shared read-modify-write-retry (optimistic concurrency, disk-hash
531
+ // baseRevision, parallel-patch compose) — see applyPatchEntity.
551
532
  onAgentActivity?.('enter', repoName);
533
+ let outcome;
552
534
  try {
553
- const { entity: updated, frontmatter_changed, content_changed, noop, broadcast } = await diagnosedUpdate(graph, options, { content: newBody });
554
- onMutation?.({ action: 'updated', repo: repoName, entityType: params.entityType, entityId: params.entityId });
555
- return wrapToolResult({
556
- success: true,
557
- entity: {
558
- entityId: updated.id,
559
- entityType: updated.entityType,
560
- repo: repoName,
561
- data: cleanData(updated.data),
562
- },
563
- occurrences: count,
564
- frontmatter_changed,
565
- content_changed,
566
- noop,
567
- broadcast,
568
- message: `Patched ${params.entityType}: ${params.entityId} (${count} occurrence${count === 1 ? '' : 's'}). Auto-committed — ready to push.`,
535
+ outcome = await applyPatchEntity(graph, actor, {
536
+ entityType: params.entityType,
537
+ entityId: params.entityId,
538
+ find: params.find,
539
+ replace: params.replace,
540
+ expectedCount: params.expectedCount,
541
+ commitMessage: params.commitMessage,
569
542
  });
570
543
  }
571
544
  finally {
572
545
  onAgentActivity?.('leave', repoName);
573
546
  }
547
+ if (outcome.status === 'no_match') {
548
+ return wrapToolResult({ success: false, code: 'NO_MATCH', error: `\`find\` substring not present in ${params.entityType}/${params.entityId}.` });
549
+ }
550
+ if (outcome.status === 'ambiguous') {
551
+ return wrapToolResult({ success: false, code: 'AMBIGUOUS_MATCH', occurrences: outcome.occurrences, error: `Expected ${params.expectedCount} occurrence(s) of \`find\`, found ${outcome.occurrences}.` });
552
+ }
553
+ if (outcome.status === 'conflict') {
554
+ return wrapToolResult({ success: false, code: 'WRITE_CONFLICT', error: `Could not apply patch to ${params.entityType}/${params.entityId}: the entry kept changing under concurrent writes after ${outcome.attempts} attempts. Retry, or avoid editing the same entry in parallel.` });
555
+ }
556
+ onMutation?.({ action: 'updated', repo: repoName, entityType: params.entityType, entityId: params.entityId });
557
+ return wrapToolResult({
558
+ success: true,
559
+ entity: {
560
+ entityId: outcome.entity.id,
561
+ entityType: outcome.entity.entityType,
562
+ repo: repoName,
563
+ data: cleanData(outcome.entity.data),
564
+ },
565
+ occurrences: outcome.occurrences,
566
+ frontmatter_changed: outcome.frontmatter_changed,
567
+ content_changed: outcome.content_changed,
568
+ noop: outcome.noop,
569
+ broadcast: outcome.broadcast,
570
+ message: `Patched ${params.entityType}: ${params.entityId} (${outcome.occurrences} occurrence${outcome.occurrences === 1 ? '' : 's'}). Auto-committed — ready to push.`,
571
+ });
574
572
  }
575
573
  catch (error) {
576
574
  if (error instanceof DroppedAssetError) {
@@ -682,7 +680,17 @@ getActiveSessionId) {
682
680
  if (mode === 'replace_placeholder' && !params.placeholder) {
683
681
  return wrapToolResult({ success: false, error: 'mode "replace_placeholder" requires a non-empty placeholder' });
684
682
  }
685
- const filename = params.alt ?? (url.split('/').pop() || 'asset').split('?')[0];
683
+ // Derive the alt text from the URL's last segment. That segment is
684
+ // percent-encoded (encodeAssetFilename), so decode it for the human-
685
+ // facing alt — the embed keeps the original (encoded) url. Malformed
686
+ // `%` → keep raw rather than throw.
687
+ const altSegment = (url.split('/').pop() || 'asset').split('?')[0];
688
+ let derivedAlt = altSegment;
689
+ try {
690
+ derivedAlt = decodeURIComponent(altSegment);
691
+ }
692
+ catch { /* keep raw */ }
693
+ const filename = params.alt ?? derivedAlt;
686
694
  const embed = assetEmbed(filename, url);
687
695
  const graph = workspaceManager.getGraph(repoName);
688
696
  const entity = graph.get(params.entityType, params.entityId);