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.
- package/dist/agent/agent-pool.js +6 -1
- package/dist/agent/agent-pool.js.map +1 -1
- package/dist/agent/skills/artifact-canvas/skill.md +15 -2
- package/dist/agent/tools/artifact-tools.d.ts +13 -0
- package/dist/agent/tools/artifact-tools.js +15 -2
- package/dist/agent/tools/artifact-tools.js.map +1 -1
- package/dist/agent/tools/graph-tools.js +51 -43
- package/dist/agent/tools/graph-tools.js.map +1 -1
- package/dist/core/artifact-asset-urls.d.ts +9 -4
- package/dist/core/artifact-asset-urls.js +34 -6
- package/dist/core/artifact-asset-urls.js.map +1 -1
- package/dist/core/artifact-export.js +22 -0
- package/dist/core/artifact-export.js.map +1 -1
- package/dist/core/entity-types-catalog.js +1 -1
- package/dist/core/entity-types-catalog.js.map +1 -1
- package/dist/core/secrets/registry.js +7 -0
- package/dist/core/secrets/registry.js.map +1 -1
- package/dist/mcp/tools.js +81 -35
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/routes/chat.js +38 -11
- package/dist/server/routes/chat.js.map +1 -1
- package/dist/services/artifact-render-export.d.ts +33 -1
- package/dist/services/artifact-render-export.js +96 -14
- package/dist/services/artifact-render-export.js.map +1 -1
- package/dist/services/assets/index.d.ts +15 -0
- package/dist/services/assets/index.js +19 -2
- package/dist/services/assets/index.js.map +1 -1
- package/dist/services/entity-mutations.d.ts +85 -0
- package/dist/services/entity-mutations.js +118 -0
- package/dist/services/entity-mutations.js.map +1 -1
- package/dist/web/_app/immutable/assets/4.C0imTRHq.css +1 -0
- package/dist/web/_app/immutable/assets/{ArtifactEntityView.D8VO4Pjv.css → ArtifactEntityView.Cky6tBSx.css} +1 -1
- package/dist/web/_app/immutable/assets/Rail.eX2Yh2Yv.css +1 -0
- package/dist/web/_app/immutable/assets/Version.D3WVQoeW.css +1 -0
- package/dist/web/_app/immutable/chunks/{BBWxIsEM.js → -4M4pI36.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DXDifw0s.js → 1rZqB7hB.js} +1 -1
- package/dist/web/_app/immutable/chunks/5_AZ__A22.js +1 -0
- package/dist/web/_app/immutable/chunks/{-22TxB5d2.js → B2JaS3Yd2.js} +1 -1
- package/dist/web/_app/immutable/chunks/B6PQUbwI.js +1 -0
- package/dist/web/_app/immutable/chunks/{D2ag_Uyi.js → B8hQ1anh.js} +1 -1
- package/dist/web/_app/immutable/chunks/B9vBS3Cg.js +1 -0
- package/dist/web/_app/immutable/chunks/{CtWePYE8.js → BR9ccr4m.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C9Z7TnpM2.js → BSAWGo3f2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{BxAd_KjM.js → BUC7AiTR.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BmMxAkqo.js → BZ8V_ZF1.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Cz7673sV.js → Bg2u3sit.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CqlsWZJq.js → BqVsZELu.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CyeMAnFK.js → C2ap5t26.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BnV5GiCk.js → C7WuWTsh.js} +1 -1
- package/dist/web/_app/immutable/chunks/{T9SOWjTT.js → C8CY4UOj.js} +3 -3
- package/dist/web/_app/immutable/chunks/CCl_51cs.js +1 -0
- package/dist/web/_app/immutable/chunks/{DyYSrbT5.js → CEzE0HR6.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CMhe4nWF.js → CIMQ3fjR.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DcJ7t3E_.js → CIouGziG.js} +1 -1
- package/dist/web/_app/immutable/chunks/CJnlkE5I.js +8 -0
- package/dist/web/_app/immutable/chunks/{CSLmRgRV.js → CK4Nv938.js} +1 -1
- package/dist/web/_app/immutable/chunks/CNClHfhj.js +1 -0
- package/dist/web/_app/immutable/chunks/{ZvuIXXVm.js → CU2XB__q.js} +2 -2
- package/dist/web/_app/immutable/chunks/{xuiSu5Yz.js → CYxbGkW1.js} +1 -1
- package/dist/web/_app/immutable/chunks/{_iojsbf02.js → CZaz-uIW2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DY4PjJdC2.js → C_35QPUq2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BEsXcOMv2.js → C_YXWOpP2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CjSST_0v2.js → CbLO-N0U2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{ChXcfjme.js → CiWxewf5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D30gbnv4.js → Ckuco_2b.js} +1 -1
- package/dist/web/_app/immutable/chunks/ClFlcGK8.js +1 -0
- package/dist/web/_app/immutable/chunks/CnIJedXy.js +2 -0
- package/dist/web/_app/immutable/chunks/Cp300oQP2.js +2 -0
- package/dist/web/_app/immutable/chunks/CyWCZOAO.js +1 -0
- package/dist/web/_app/immutable/chunks/D3QYCtln.js +1 -0
- package/dist/web/_app/immutable/chunks/D6P0eqhA.js +1 -0
- package/dist/web/_app/immutable/chunks/DG2mK6QI2.js +1 -0
- package/dist/web/_app/immutable/chunks/{CUVlGbbN.js → DNDwN3KV.js} +2 -2
- package/dist/web/_app/immutable/chunks/{BPBWkSAD.js → DSURKQlq.js} +1 -1
- package/dist/web/_app/immutable/chunks/{w26lo4aE.js → DTh_hmEw2.js} +6 -91
- package/dist/web/_app/immutable/chunks/{C_TS4Mnw.js → DU7TXC0-.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CGMkBjyK.js → Dae4E9_w.js} +1 -1
- package/dist/web/_app/immutable/chunks/Db65IR8b.js +1 -0
- package/dist/web/_app/immutable/chunks/{BlLiKj1B.js → DiJ8_Zwm.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BbfHGU9n2.js → DiMsLIh32.js} +1 -1
- package/dist/web/_app/immutable/chunks/{397tJ7WX.js → DnR05sD4.js} +1 -1
- package/dist/web/_app/immutable/chunks/{WEDYyj8L.js → Dy2JCcUb.js} +3 -3
- package/dist/web/_app/immutable/chunks/{la9bSGEV2.js → Dzv-mIb32.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BHbYxkde.js → GfBknz5R.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BmiL4fuU.js → M2OQNqj5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D5BAm4-E.js → Mcs3bjP1.js} +1 -1
- package/dist/web/_app/immutable/chunks/NVmayBBw.js +1 -0
- package/dist/web/_app/immutable/chunks/{BKEVdSfF2.js → StSGhX-d2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DL6qyJ6y2.js → Su2XO11t2.js} +1 -1
- package/dist/web/_app/immutable/chunks/UZABStSZ2.js +1 -0
- package/dist/web/_app/immutable/chunks/UeSyIbz22.js +2 -0
- package/dist/web/_app/immutable/chunks/{BD465UHo2.js → VKtbttjd2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{cDccBm5o.js → V_udsqeV.js} +1 -1
- package/dist/web/_app/immutable/chunks/YCz51d-b.js +6 -0
- package/dist/web/_app/immutable/chunks/{CXaudvaF.js → cqUU7CSz.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BGSqRx9o2.js → es4c-7If2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CLEe5fmp.js → mJ0zwK0U.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CV0w3nPn.js → nx1gFFg8.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DywBnCWN.js → ptjoRy3M.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B8Ji4oP7.js → vhC5Jy3I.js} +1 -1
- package/dist/web/_app/immutable/entry/{app.BzIHm2nv.js → app.C8V8pJux.js} +2 -2
- package/dist/web/_app/immutable/entry/start.tnuHARwR.js +1 -0
- package/dist/web/_app/immutable/nodes/0.Dwap0d8o.js +2 -0
- package/dist/web/_app/immutable/nodes/{1.KjNsCYZs.js → 1.hphDgSza.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.DHae9APw.js → 10.-VGJAgUF.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.Dy8InEk-.js → 11.CIcPnDnc.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.D_BApmRj.js → 12.sNyiO-Cy.js} +1 -1
- package/dist/web/_app/immutable/nodes/{13.BBEJvemR.js → 13.mlCuUABy.js} +1 -1
- package/dist/web/_app/immutable/nodes/{15.id6zc9hx.js → 15.BCtkizTs.js} +1 -1
- package/dist/web/_app/immutable/nodes/{17.IU8OIrvA.js → 17.DUcTtp8X.js} +1 -1
- package/dist/web/_app/immutable/nodes/{18.DyPGeurS.js → 18.CsQA_Z5r.js} +1 -1
- package/dist/web/_app/immutable/nodes/{2.D0KjBjju.js → 2.CHs0LISt.js} +4 -4
- package/dist/web/_app/immutable/nodes/{3.i23fR5YM.js → 3.DimALrCM.js} +3 -3
- package/dist/web/_app/immutable/nodes/4.Bt6sOjw5.js +11 -0
- package/dist/web/_app/immutable/nodes/{5.BYOeOAnc.js → 5.DxJ-ca6K.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.DxlOT_B8.js → 6.DyPAK7-T.js} +2 -2
- package/dist/web/_app/immutable/nodes/{7.esaY4OuD.js → 7.BCwL6BP4.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.BwGvvlZA.js → 8.DqUXSEot.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.Cvu9MhsM.js → 9.CXyZBd2f.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +14 -14
- package/package.json +1 -1
- package/dist/web/_app/immutable/assets/4.ZXjjq75c.css +0 -1
- package/dist/web/_app/immutable/assets/Rail.49-Okpoz.css +0 -1
- package/dist/web/_app/immutable/assets/history-summary.LpmHXasl.css +0 -1
- package/dist/web/_app/immutable/chunks/-WKtFaHt.js +0 -1
- package/dist/web/_app/immutable/chunks/6UyQXoVt.js +0 -6
- package/dist/web/_app/immutable/chunks/B7vC2gRe.js +0 -1
- package/dist/web/_app/immutable/chunks/BKPWF7Bs2.js +0 -2
- package/dist/web/_app/immutable/chunks/BRmXLY3K2.js +0 -1
- package/dist/web/_app/immutable/chunks/BV3B8RXJ.js +0 -1
- package/dist/web/_app/immutable/chunks/BwoVO9GO2.js +0 -1
- package/dist/web/_app/immutable/chunks/Bz9lrgGs.js +0 -1
- package/dist/web/_app/immutable/chunks/C3DPLHeX.js +0 -8
- package/dist/web/_app/immutable/chunks/ChoBJpU8.js +0 -1
- package/dist/web/_app/immutable/chunks/CmqG0ugr.js +0 -1
- package/dist/web/_app/immutable/chunks/DE9nfVei.js +0 -1
- package/dist/web/_app/immutable/chunks/DQKl2M81.js +0 -1
- package/dist/web/_app/immutable/chunks/DWbusZ7p.js +0 -2
- package/dist/web/_app/immutable/chunks/DgQR4HT3.js +0 -1
- package/dist/web/_app/immutable/chunks/i5geo-c6.js +0 -1
- package/dist/web/_app/immutable/chunks/uqyYNx8v.js +0 -1
- package/dist/web/_app/immutable/chunks/xGITcCHb2.js +0 -2
- package/dist/web/_app/immutable/entry/start.D6wF97rN.js +0 -1
- package/dist/web/_app/immutable/nodes/0.J96DmPfX.js +0 -2
- package/dist/web/_app/immutable/nodes/4.Csxtxmpw.js +0 -11
- /package/dist/web/_app/immutable/chunks/{BzaxZ6j12.js → BzaxZ6j1.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{DDbpVNi02.js → DDbpVNi0.js} +0 -0
package/dist/agent/agent-pool.js
CHANGED
|
@@ -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: `
|
|
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
|
|
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
|
-
|
|
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EACL,oCAAoC,EACpC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"artifact-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/artifact-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EACL,oCAAoC,EACpC,qBAAqB,EACrB,wBAAwB,GAGzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0ClD;;oFAEoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAOD,MAAM,UAAU,mBAAmB,CAAC,UAAoC,EAAE,UAA+B,EAAE;IACzG,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,qBAAqB,CAAC;IACzE,OAAO;QACL;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,smBAAsmB;YACxmB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE;oBACnB,WAAW,EAAE,6IAA6I;oBAC1J,oBAAoB,EAAE,IAAI;iBAC3B,CAAC;gBACF,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC1B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC,CAAC;oBACnG,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC,CAAC;iBAC1F,EAAE;oBACD,WAAW,EAAE,6GAA6G;iBAC3H,CAAC,CAAC;gBACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC5B,WAAW,EAAE,8KAA8K;iBAC5L,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC5B,WAAW,EAAE,+IAA+I;iBAC7J,CAAC,CAAC;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,MAA+F,EAAE,EAAE;gBACtI,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,yBAAyB;wBAChC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,iDAAiD;qBACzD,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,QAAQ,CAAC;gBACb,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,sEAAsE;oBACtE,yEAAyE;oBACzE,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,iDAAiD;qBACzD,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,cAAc,CAAC;oBACpB,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE;wBACR,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;wBACpC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;wBAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;wBACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;qBACjC;oBACD,QAAQ;oBACR,OAAO,EAAE,qBAAqB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;iBACpD,CAAC,CAAC;YACL,CAAC;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACT,qVAAqV;YACvV,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE;oBAC9B,WAAW,EAAE,0HAA0H;oBACvI,oBAAoB,EAAE,IAAI;iBAC3B,CAAC,CAAC;gBACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC1B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC,CAAC;oBACnG,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC,CAAC;iBAC5F,EAAE;oBACD,WAAW,EAAE,oHAAoH;iBAClI,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE;oBAC1E,WAAW,EAAE,gHAAgH;iBAC9H,CAAC,CAAC;gBACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;oBACjC,WAAW,EAAE,0JAA0J;iBACxK,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC3C,WAAW,EAAE,6DAA6D;iBAC3E,CAAC,CAAC;gBACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7B,WAAW,EAAE,wFAAwF;iBACtG,CAAC,CAAC;gBACH,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC1C,WAAW,EAAE,+EAA+E;iBAC7F,CAAC,CAAC;gBACH,uBAAuB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC5C,WAAW,EAAE,oFAAoF;iBAClG,CAAC,CAAC;gBACH,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC1E,WAAW,EAAE,qEAAqE;iBACnF,CAAC,CAAC;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,MAUpC,EAAE,EAAE;gBACH,IAAI,MAAsB,CAAC;gBAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBACjC,OAAO,cAAc,CAAC;4BACpB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,yBAAyB;4BAChC,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;yBAC1B,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACzB,CAAC;qBAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC9D,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,cAAc,CAAC;4BACpB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;yBACxD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,6DAA6D;qBACrE,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE;wBAC/C,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,aAAa,EAAE,MAAM,CAAC,aAAa;wBACnC,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;wBACnD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;wBACvD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;qBAC1C,CAAC,CAAC;oBACH,sEAAsE;oBACtE,mEAAmE;oBACnE,uEAAuE;oBACvE,yEAAyE;oBACzE,yEAAyE;oBACzE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;oBAClE,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;oBAChE,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;4BAChE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC7F;wBACD,OAAO,EAAE,MAAM;qBAChB,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,oCAAoC,EAAE,CAAC;wBACxD,OAAO,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;oBAChG,CAAC;oBACD,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,eAAe;YACtB,WAAW,EACT,mfAAmf;YACrf,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC1B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC,CAAC;oBACnG,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC,CAAC;iBACzF,EAAE;oBACD,WAAW,EAAE,iHAAiH;iBAC/H,CAAC,CAAC;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,MAAuC,EAAE,EAAE;gBAC9E,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC1B,OAAO,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC,CAAC;gBACxG,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9E,OAAO,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -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
|
-
|
|
546
|
-
|
|
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
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
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
|
-
|
|
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);
|