@auvira.ai/sdk 0.4.0 → 0.5.0

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 (61) hide show
  1. package/README.md +74 -0
  2. package/dist/agent/editCompletion.d.ts +2 -1
  3. package/dist/agent/editCompletion.d.ts.map +1 -1
  4. package/dist/agent/editCompletion.js +30 -0
  5. package/dist/agent/editCompletion.js.map +1 -1
  6. package/dist/agent/evaluateTaskCompletion.d.ts +2 -0
  7. package/dist/agent/evaluateTaskCompletion.d.ts.map +1 -1
  8. package/dist/agent/evaluateTaskCompletion.js +4 -1
  9. package/dist/agent/evaluateTaskCompletion.js.map +1 -1
  10. package/dist/agent/events.d.ts +2 -2
  11. package/dist/agent/events.d.ts.map +1 -1
  12. package/dist/agent/events.js +2 -0
  13. package/dist/agent/events.js.map +1 -1
  14. package/dist/agent/tools/assetPathValidation.d.ts +19 -0
  15. package/dist/agent/tools/assetPathValidation.d.ts.map +1 -0
  16. package/dist/agent/tools/assetPathValidation.js +124 -0
  17. package/dist/agent/tools/assetPathValidation.js.map +1 -0
  18. package/dist/agent/tools/executeTool.d.ts +1 -1
  19. package/dist/agent/tools/executeTool.d.ts.map +1 -1
  20. package/dist/agent/tools/executeTool.js +16 -0
  21. package/dist/agent/tools/executeTool.js.map +1 -1
  22. package/dist/agent/tools/generateImage.d.ts +11 -0
  23. package/dist/agent/tools/generateImage.d.ts.map +1 -0
  24. package/dist/agent/tools/generateImage.js +98 -0
  25. package/dist/agent/tools/generateImage.js.map +1 -0
  26. package/dist/agent/tools/publishReferenceImage.d.ts +9 -0
  27. package/dist/agent/tools/publishReferenceImage.d.ts.map +1 -0
  28. package/dist/agent/tools/publishReferenceImage.js +61 -0
  29. package/dist/agent/tools/publishReferenceImage.js.map +1 -0
  30. package/dist/agent/tools/saveAsset.d.ts +11 -0
  31. package/dist/agent/tools/saveAsset.d.ts.map +1 -0
  32. package/dist/agent/tools/saveAsset.js +30 -0
  33. package/dist/agent/tools/saveAsset.js.map +1 -0
  34. package/dist/agent/tools/types.d.ts +4 -0
  35. package/dist/agent/tools/types.d.ts.map +1 -1
  36. package/dist/providers/agentic/AgenticCustomProvider.d.ts.map +1 -1
  37. package/dist/providers/agentic/AgenticCustomProvider.js +5 -0
  38. package/dist/providers/agentic/AgenticCustomProvider.js.map +1 -1
  39. package/dist/providers/agentic/agentLoop.d.ts.map +1 -1
  40. package/dist/providers/agentic/agentLoop.js +25 -7
  41. package/dist/providers/agentic/agentLoop.js.map +1 -1
  42. package/dist/providers/agentic/toolSchemas.d.ts +124 -0
  43. package/dist/providers/agentic/toolSchemas.d.ts.map +1 -1
  44. package/dist/providers/agentic/toolSchemas.js +55 -0
  45. package/dist/providers/agentic/toolSchemas.js.map +1 -1
  46. package/dist/util/minimaxImageClient.d.ts +25 -0
  47. package/dist/util/minimaxImageClient.d.ts.map +1 -0
  48. package/dist/util/minimaxImageClient.js +114 -0
  49. package/dist/util/minimaxImageClient.js.map +1 -0
  50. package/dist/workspace/referenceImages.d.ts +14 -0
  51. package/dist/workspace/referenceImages.d.ts.map +1 -0
  52. package/dist/workspace/referenceImages.js +60 -0
  53. package/dist/workspace/referenceImages.js.map +1 -0
  54. package/dist/workspace/workspaceCheckpoint.d.ts.map +1 -1
  55. package/dist/workspace/workspaceCheckpoint.js +148 -16
  56. package/dist/workspace/workspaceCheckpoint.js.map +1 -1
  57. package/dist/workspace/writeScreenshot.d.ts.map +1 -1
  58. package/dist/workspace/writeScreenshot.js +15 -7
  59. package/dist/workspace/writeScreenshot.js.map +1 -1
  60. package/docs/sandbox-runner.md +21 -0
  61. package/package.json +5 -1
@@ -1,7 +1,8 @@
1
- import { randomUUID } from "node:crypto";
1
+ import { createHash, randomUUID } from "node:crypto";
2
2
  import { promises as fs } from "node:fs";
3
3
  import { join, resolve } from "node:path";
4
4
  import { buildUnifiedPatch, capPatch, getDiffMaxChars, } from "../agent/patchUtils.js";
5
+ import { isBinaryAssetPath, mimeFromPath, sniffImageMime, } from "../agent/tools/assetPathValidation.js";
5
6
  import { toRepoRelativePath } from "../agent/tools/pathGuard.js";
6
7
  import { fileExists } from "../tools/fileExists.js";
7
8
  import { matchesPathGlobFilters } from "../util/globMatch.js";
@@ -45,6 +46,83 @@ function isEditableFile(relPath) {
45
46
  }
46
47
  return EDITABLE_EXTENSIONS.has(lower.slice(dot));
47
48
  }
49
+ function formatBytes(size) {
50
+ if (size < 1024) {
51
+ return `${size} B`;
52
+ }
53
+ const kb = size / 1024;
54
+ if (kb < 1024) {
55
+ return `${kb.toFixed(1)} KB`;
56
+ }
57
+ return `${(kb / 1024).toFixed(1)} MB`;
58
+ }
59
+ async function readBinarySnapshotEntry(repoPath, relPath) {
60
+ const absolute = join(repoPath, relPath);
61
+ if (!(await fileExists(absolute))) {
62
+ return {
63
+ kind: "binary",
64
+ sha256: null,
65
+ byteSize: 0,
66
+ mimeType: "application/octet-stream",
67
+ buffer: null,
68
+ };
69
+ }
70
+ const stat = await fs.stat(absolute);
71
+ if (!stat.isFile()) {
72
+ return {
73
+ kind: "binary",
74
+ sha256: null,
75
+ byteSize: 0,
76
+ mimeType: "application/octet-stream",
77
+ buffer: null,
78
+ };
79
+ }
80
+ const buffer = await fs.readFile(absolute);
81
+ const mimeType = sniffImageMime(buffer) ?? mimeFromPath(relPath) ?? "application/octet-stream";
82
+ return {
83
+ kind: "binary",
84
+ sha256: createHash("sha256").update(buffer).digest("hex"),
85
+ byteSize: buffer.byteLength,
86
+ mimeType,
87
+ buffer,
88
+ };
89
+ }
90
+ function buildBinaryDiffLine(relPath, before, after) {
91
+ if (before.sha256 === null && after.sha256 !== null) {
92
+ return `Binary asset added: ${relPath} (${after.mimeType}, ${formatBytes(after.byteSize)})`;
93
+ }
94
+ if (before.sha256 !== null && after.sha256 === null) {
95
+ return `Binary asset deleted: ${relPath}`;
96
+ }
97
+ if (before.sha256 !== after.sha256) {
98
+ return `Binary asset changed: ${relPath} (sha256 ${before.sha256?.slice(0, 12)}… → ${after.sha256?.slice(0, 12)}…)`;
99
+ }
100
+ return "";
101
+ }
102
+ function isBinaryAssetFile(relPath) {
103
+ return isBinaryAssetPath(relPath);
104
+ }
105
+ function entriesEqual(before, after) {
106
+ if (before.kind !== after.kind) {
107
+ return false;
108
+ }
109
+ if (before.kind === "text" && after.kind === "text") {
110
+ return before.content === after.content;
111
+ }
112
+ if (before.kind === "binary" && after.kind === "binary") {
113
+ return before.sha256 === after.sha256;
114
+ }
115
+ return false;
116
+ }
117
+ function buildEntryDiffLine(relPath, before, after) {
118
+ if (before.kind === "binary" && after.kind === "binary") {
119
+ return buildBinaryDiffLine(relPath, before, after);
120
+ }
121
+ if (before.kind === "text" && after.kind === "text") {
122
+ return buildCheckpointHunk(relPath, before.content, after.content);
123
+ }
124
+ return `Asset changed: ${relPath}`;
125
+ }
48
126
  function buildCheckpointHunk(relPath, oldContent, newContent) {
49
127
  if (oldContent === null && newContent === null) {
50
128
  return "";
@@ -66,21 +144,32 @@ function buildCheckpointHunk(relPath, oldContent, newContent) {
66
144
  return buildUnifiedPatch(relPath, oldContent ?? "", newContent ?? "");
67
145
  }
68
146
  async function readSnapshotEntry(repoPath, relPath) {
147
+ if (isBinaryAssetFile(relPath)) {
148
+ return readBinarySnapshotEntry(repoPath, relPath);
149
+ }
69
150
  const absolute = join(repoPath, relPath);
70
151
  if (!(await fileExists(absolute))) {
71
- return { content: null };
152
+ return { kind: "text", content: null };
72
153
  }
73
154
  const stat = await fs.stat(absolute);
74
155
  if (!stat.isFile()) {
75
- return { content: null };
156
+ return { kind: "text", content: null };
76
157
  }
77
- return { content: await fs.readFile(absolute, "utf8") };
158
+ return { kind: "text", content: await fs.readFile(absolute, "utf8") };
78
159
  }
79
160
  async function snapshotAllowedPaths(repoPath, allowedWritePaths) {
80
161
  const snapshot = new Map();
81
162
  for (const rawPath of allowedWritePaths) {
82
163
  const relPath = normalizeRelPath(rawPath);
83
- if (!relPath || relPath.endsWith("/")) {
164
+ if (!relPath) {
165
+ continue;
166
+ }
167
+ if (relPath.endsWith("/")) {
168
+ const absoluteDir = join(repoPath, relPath);
169
+ if (!(await fileExists(absoluteDir))) {
170
+ continue;
171
+ }
172
+ await walkSnapshot(absoluteDir, repoPath, snapshot);
84
173
  continue;
85
174
  }
86
175
  snapshot.set(relPath, await readSnapshotEntry(repoPath, relPath));
@@ -99,14 +188,19 @@ async function walkSnapshot(dir, repoPath, snapshot, globFilters) {
99
188
  await walkSnapshot(fullPath, repoPath, snapshot, globFilters);
100
189
  continue;
101
190
  }
102
- if (!entry.isFile() || !isEditableFile(relPath)) {
191
+ if (!entry.isFile() || (!isEditableFile(relPath) && !isBinaryAssetFile(relPath))) {
103
192
  continue;
104
193
  }
105
194
  if (globFilters &&
106
195
  !matchesPathGlobFilters(relPath, globFilters.includeGlobs, globFilters.excludeGlobs)) {
107
196
  continue;
108
197
  }
198
+ if (isBinaryAssetFile(relPath)) {
199
+ snapshot.set(relPath, await readBinarySnapshotEntry(repoPath, relPath));
200
+ continue;
201
+ }
109
202
  snapshot.set(relPath, {
203
+ kind: "text",
110
204
  content: await fs.readFile(fullPath, "utf8"),
111
205
  });
112
206
  }
@@ -127,25 +221,35 @@ async function diffSnapshotAsync(repoPath, snapshot, allowedWritePaths, globFilt
127
221
  const hunks = [];
128
222
  const seen = new Set();
129
223
  for (const relPath of snapshot.keys()) {
130
- const before = snapshot.get(relPath) ?? { content: null };
224
+ const before = snapshot.get(relPath) ?? { kind: "text", content: null };
131
225
  const after = await readCurrentEntry(repoPath, relPath);
132
- const beforeContent = before.content;
133
- const afterContent = after.content;
134
- if (beforeContent === afterContent) {
226
+ if (entriesEqual(before, after)) {
135
227
  continue;
136
228
  }
137
229
  seen.add(relPath);
138
230
  changedFiles.push(relPath);
139
- hunks.push(buildCheckpointHunk(relPath, beforeContent, afterContent));
231
+ hunks.push(buildEntryDiffLine(relPath, before, after));
140
232
  }
141
233
  for (const relPath of await discoverNewFiles(repoPath, snapshot, allowedWritePaths, globFilters)) {
142
234
  if (seen.has(relPath)) {
143
235
  continue;
144
236
  }
145
237
  const after = await readCurrentEntry(repoPath, relPath);
146
- if (after.content !== null) {
238
+ const emptyBefore = after.kind === "binary"
239
+ ? {
240
+ kind: "binary",
241
+ sha256: null,
242
+ byteSize: 0,
243
+ mimeType: "application/octet-stream",
244
+ buffer: null,
245
+ }
246
+ : { kind: "text", content: null };
247
+ const hasContent = after.kind === "text"
248
+ ? after.content !== null
249
+ : after.sha256 !== null;
250
+ if (hasContent) {
147
251
  changedFiles.push(relPath);
148
- hunks.push(buildCheckpointHunk(relPath, null, after.content));
252
+ hunks.push(buildEntryDiffLine(relPath, emptyBefore, after));
149
253
  }
150
254
  }
151
255
  changedFiles.sort();
@@ -161,7 +265,24 @@ async function discoverNewFiles(repoPath, snapshot, allowedWritePaths, globFilte
161
265
  const added = [];
162
266
  for (const rawPath of allowedWritePaths) {
163
267
  const relPath = normalizeRelPath(rawPath);
164
- if (!relPath || relPath.endsWith("/") || snapshot.has(relPath)) {
268
+ if (!relPath) {
269
+ continue;
270
+ }
271
+ if (relPath.endsWith("/")) {
272
+ const absoluteDir = join(repoPath, relPath);
273
+ if (!(await fileExists(absoluteDir))) {
274
+ continue;
275
+ }
276
+ const discovered = new Map();
277
+ await walkSnapshot(absoluteDir, repoPath, discovered, globFilters);
278
+ for (const discoveredPath of discovered.keys()) {
279
+ if (!snapshot.has(discoveredPath)) {
280
+ added.push(discoveredPath);
281
+ }
282
+ }
283
+ continue;
284
+ }
285
+ if (snapshot.has(relPath)) {
165
286
  continue;
166
287
  }
167
288
  const absolute = join(repoPath, relPath);
@@ -186,14 +307,25 @@ async function restoreSnapshot(repoPath, snapshot, globFilters) {
186
307
  await walkSnapshot(resolve(repoPath), repoPath, current, globFilters);
187
308
  for (const [relPath, entry] of snapshot.entries()) {
188
309
  const absolute = join(repoPath, relPath);
189
- if (entry.content === null) {
310
+ if (entry.kind === "text") {
311
+ if (entry.content === null) {
312
+ if (await fileExists(absolute)) {
313
+ await fs.unlink(absolute);
314
+ }
315
+ continue;
316
+ }
317
+ await fs.mkdir(join(absolute, ".."), { recursive: true });
318
+ await fs.writeFile(absolute, entry.content, "utf8");
319
+ continue;
320
+ }
321
+ if (entry.buffer === null) {
190
322
  if (await fileExists(absolute)) {
191
323
  await fs.unlink(absolute);
192
324
  }
193
325
  continue;
194
326
  }
195
327
  await fs.mkdir(join(absolute, ".."), { recursive: true });
196
- await fs.writeFile(absolute, entry.content, "utf8");
328
+ await fs.writeFile(absolute, entry.buffer);
197
329
  }
198
330
  for (const relPath of current.keys()) {
199
331
  if (!snapshot.has(relPath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceCheckpoint.js","sourceRoot":"","sources":["../../src/workspace/workspaceCheckpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceCheckpoint.js","sourceRoot":"","sources":["../../src/workspace/workspaceCheckpoint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"writeScreenshot.d.ts","sourceRoot":"","sources":["../../src/workspace/writeScreenshot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAYD,sEAAsE;AACtE,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAgD5C"}
1
+ {"version":3,"file":"writeScreenshot.d.ts","sourceRoot":"","sources":["../../src/workspace/writeScreenshot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMzD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD,sEAAsE;AACtE,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAoD5C"}
@@ -1,7 +1,8 @@
1
1
  import { mkdir, writeFile, copyFile } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { normalizeScreenshotBase64 } from "../util/screenshotBase64.js";
4
- const SCREENSHOT_RELATIVE = ".auvira/input-screenshot.png";
4
+ import { LEGACY_SCREENSHOT_RELATIVE } from "./referenceImages.js";
5
+ const AUVIRA_DIR = ".auvira";
5
6
  function extensionForMime(mimeType) {
6
7
  if (mimeType.includes("jpeg") || mimeType.includes("jpg")) {
7
8
  return "jpg";
@@ -9,6 +10,9 @@ function extensionForMime(mimeType) {
9
10
  if (mimeType.includes("webp")) {
10
11
  return "webp";
11
12
  }
13
+ if (mimeType.includes("svg")) {
14
+ return "svg";
15
+ }
12
16
  return "png";
13
17
  }
14
18
  /** Writes reference images into the workspace `.auvira` directory. */
@@ -26,30 +30,34 @@ export async function writeScreenshot(input) {
26
30
  if (images.length === 0 && !input.screenshotPath) {
27
31
  return undefined;
28
32
  }
29
- const auviraDir = join(input.workspacePath, ".auvira");
33
+ const auviraDir = join(input.workspacePath, AUVIRA_DIR);
30
34
  await mkdir(auviraDir, { recursive: true });
31
35
  if (images.length > 0) {
32
36
  for (let index = 0; index < images.length; index += 1) {
33
37
  const image = images[index];
34
38
  const ext = extensionForMime(image.mimeType);
35
- const fileName = index === 0 ? "input-screenshot.png" : `input-screenshot-${index}.${ext}`;
39
+ const fileName = `input-image-${index}.${ext}`;
36
40
  const absolutePath = join(auviraDir, fileName);
37
41
  const buffer = Buffer.from(normalizeScreenshotBase64(image.data), "base64");
38
42
  await writeFile(absolutePath, buffer);
43
+ if (index === 0) {
44
+ await writeFile(join(auviraDir, "input-screenshot.png"), buffer);
45
+ }
39
46
  }
40
47
  return {
41
- absolutePath: join(auviraDir, "input-screenshot.png"),
42
- relativePath: SCREENSHOT_RELATIVE,
48
+ absolutePath: join(auviraDir, "input-image-0.png"),
49
+ relativePath: `${AUVIRA_DIR}/input-image-0.png`,
43
50
  imageCount: images.length,
44
51
  };
45
52
  }
46
- const absolutePath = join(input.workspacePath, SCREENSHOT_RELATIVE);
53
+ const absolutePath = join(input.workspacePath, LEGACY_SCREENSHOT_RELATIVE);
47
54
  if (input.screenshotPath) {
48
55
  await copyFile(input.screenshotPath, absolutePath);
56
+ await copyFile(input.screenshotPath, join(auviraDir, "input-image-0.png"));
49
57
  }
50
58
  return {
51
59
  absolutePath,
52
- relativePath: SCREENSHOT_RELATIVE,
60
+ relativePath: LEGACY_SCREENSHOT_RELATIVE,
53
61
  imageCount: 1,
54
62
  };
55
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeScreenshot.js","sourceRoot":"","sources":["../../src/workspace/writeScreenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAe3D,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAA2B;IAE3B,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACtB,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBACvD,QAAQ,EAAE,WAAW;iBACtB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;IAEX,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,QAAQ,GACZ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,oBAAoB,KAAK,IAAI,GAAG,EAAE,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5E,MAAM,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC;YACrD,YAAY,EAAE,mBAAmB;YACjC,UAAU,EAAE,MAAM,CAAC,MAAM;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,YAAY;QACZ,YAAY,EAAE,mBAAmB;QACjC,UAAU,EAAE,CAAC;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"writeScreenshot.js","sourceRoot":"","sources":["../../src/workspace/writeScreenshot.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,10 @@ auvira-sdk-run --job <editJobId>
71
71
  | `AUVIRA_JOBS_ROOT` | No | Jobs directory (default `/vercel/.auvira/auvira-jobs`) |
72
72
  | `AUVIRA_CURSOR_JOB_ID` | No | Job id if `--job` not passed |
73
73
  | `AUVIRA_STREAM_RAW_MODEL_TRACE` | No | Set to `true` to emit raw provider reasoning in `activity_trace` (default off) |
74
+ | `AUVIRA_IMAGE_GEN_ENABLED` | No | Set to `true` to enable `generate_image` tool (default `false`) |
75
+ | `AUVIRA_IMAGE_GEN_MAX_PER_RUN` | No | Max image generations per run (default `2`) |
76
+ | `AUVIRA_IMAGE_BASE_URL` | No | Override image API base (default global `api.minimax.io/v1` or CN from chat host) |
77
+ | `AUVIRA_IMAGE_MODEL` | No | Image model id (default `image-01`) |
74
78
 
75
79
  `CUSTOM_MODEL_API_KEY` is read from the environment only — never from `job.json`.
76
80
 
@@ -234,8 +238,25 @@ import type { SandboxAuviraJobInput, SandboxAuviraJobResult } from "@auvira.ai/s
234
238
 
235
239
  Subpath: `@auvira.ai/sdk/runner` (types + CLI module).
236
240
 
241
+ ## Host checklist (visual assets)
242
+
243
+ 1. Add `public/assets/edits/` (or your asset dir) to harness `ALLOWED_WRITE_PATHS`
244
+ 2. Set `AUVIRA_IMAGE_GEN_ENABLED=true` when generation is desired (costs apply)
245
+ 3. Ensure preview serves `public/` at site root (`/assets/...` not `/public/assets/...`)
246
+ 4. Map `publish_reference_image` / `generate_image` tool steps in activity UI
247
+
248
+ Reference images are stored as `.auvira/input-image-0.png`, `.auvira/input-image-1.png`, … (`primary` = index 0). Legacy `.auvira/input-screenshot.png` is still written for the first image.
249
+
237
250
  ## Changelog
238
251
 
252
+ ### 0.5.0
253
+
254
+ - Added `publish_reference_image` and `generate_image` agent tools
255
+ - Stable multi-image `.auvira` naming (`input-image-N`)
256
+ - MiniMax image-01 client (`POST /v1/image_generation`) isolated in `minimaxImageClient.ts`
257
+ - Binary-safe asset writes with `publicUrl` wiring contract
258
+ - Metadata-only checkpoint diffs for binary assets under `public/`
259
+
239
260
  ### 0.4.0
240
261
 
241
262
  - Added `aggregateStepStates()` helper for host step upsert (last status wins per step id)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auvira.ai/sdk",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Cursor-SDK-compatible visual coding agent with custom model support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -44,6 +44,10 @@
44
44
  "test:real": "node --env-file=.env ./node_modules/vitest/vitest.mjs run src/__tests__/real src/__tests__/flex/real-*.e2e.test.ts src/__tests__/runner/run-cli.real.e2e.test.ts",
45
45
  "test:runner": "node --env-file=.env ./node_modules/vitest/vitest.mjs run src/__tests__/runner --exclude 'src/__tests__/runner/**/*.real.e2e.test.ts'",
46
46
  "test:runner:real": "node --env-file=.env ./node_modules/vitest/vitest.mjs run src/__tests__/runner/run-cli.real.e2e.test.ts src/__tests__/runner/run-cli-vibe-consumer.real.e2e.test.ts",
47
+ "test:runner:asset": "AUVIRA_REAL_ASSET_E2E=true node --env-file=.env ./node_modules/vitest/vitest.mjs run src/__tests__/runner/run-cli-asset.real.e2e.test.ts",
48
+ "test:runner:image-gen": "AUVIRA_REAL_IMAGE_GEN_E2E=true AUVIRA_IMAGE_GEN_ENABLED=true node --env-file=.env ./node_modules/vitest/vitest.mjs run src/__tests__/runner/run-cli-generate-image.real.e2e.test.ts",
49
+ "test:real:image-api": "AUVIRA_REAL_IMAGE_API=true AUVIRA_IMAGE_GEN_ENABLED=true node --env-file=.env ./node_modules/vitest/vitest.mjs run src/__tests__/real/minimax-image-api.real.test.ts",
50
+ "test:real:multi-image": "AUVIRA_REAL_MULTI_IMAGE_E2E=true node --env-file=.env ./node_modules/vitest/vitest.mjs run src/__tests__/real/agent-multi-image.e2e.test.ts src/__tests__/runner/run-cli-multi-image.real.e2e.test.ts",
47
51
  "test:runner:vibe": "node --env-file=.env ./node_modules/vitest/vitest.mjs run src/__tests__/runner/run-cli-vibe-consumer.real.e2e.test.ts"
48
52
  },
49
53
  "keywords": [