@auvira.ai/sdk 0.5.0 → 0.6.1
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/README.md +37 -0
- package/dist/agent/Agent.d.ts.map +1 -1
- package/dist/agent/Agent.js +9 -0
- package/dist/agent/Agent.js.map +1 -1
- package/dist/agent/RunEventBus.d.ts +1 -1
- package/dist/agent/RunEventBus.d.ts.map +1 -1
- package/dist/agent/RunEventBus.js.map +1 -1
- package/dist/agent/attachmentContext.d.ts +9 -0
- package/dist/agent/attachmentContext.d.ts.map +1 -0
- package/dist/agent/attachmentContext.js +72 -0
- package/dist/agent/attachmentContext.js.map +1 -0
- package/dist/agent/editCompletion.d.ts +29 -2
- package/dist/agent/editCompletion.d.ts.map +1 -1
- package/dist/agent/editCompletion.js +276 -8
- package/dist/agent/editCompletion.js.map +1 -1
- package/dist/agent/hostTools.d.ts +51 -0
- package/dist/agent/hostTools.d.ts.map +1 -0
- package/dist/agent/hostTools.js +111 -0
- package/dist/agent/hostTools.js.map +1 -0
- package/dist/agent/parseSendPayload.d.ts +3 -1
- package/dist/agent/parseSendPayload.d.ts.map +1 -1
- package/dist/agent/parseSendPayload.js +16 -0
- package/dist/agent/parseSendPayload.js.map +1 -1
- package/dist/agent/runAgentTask.d.ts +4 -1
- package/dist/agent/runAgentTask.d.ts.map +1 -1
- package/dist/agent/runAgentTask.js +12 -0
- package/dist/agent/runAgentTask.js.map +1 -1
- package/dist/agent/runValidationWithRepair.d.ts.map +1 -1
- package/dist/agent/runValidationWithRepair.js +4 -0
- package/dist/agent/runValidationWithRepair.js.map +1 -1
- package/dist/agent/tools/executeTool.d.ts.map +1 -1
- package/dist/agent/tools/executeTool.js +15 -1
- package/dist/agent/tools/executeTool.js.map +1 -1
- package/dist/agent/tools/types.d.ts +3 -0
- package/dist/agent/tools/types.d.ts.map +1 -1
- package/dist/agent/types.d.ts +62 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/agent/validateOptions.d.ts.map +1 -1
- package/dist/agent/validateOptions.js +10 -1
- package/dist/agent/validateOptions.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/agentic/AgenticCustomProvider.d.ts.map +1 -1
- package/dist/providers/agentic/AgenticCustomProvider.js +21 -0
- package/dist/providers/agentic/AgenticCustomProvider.js.map +1 -1
- package/dist/providers/agentic/agentLoop.d.ts +4 -1
- package/dist/providers/agentic/agentLoop.d.ts.map +1 -1
- package/dist/providers/agentic/agentLoop.js +287 -266
- package/dist/providers/agentic/agentLoop.js.map +1 -1
- package/dist/providers/agentic/toolSchemas.d.ts +314 -0
- package/dist/providers/agentic/toolSchemas.d.ts.map +1 -1
- package/dist/providers/agentic/toolSchemas.js +7 -0
- package/dist/providers/agentic/toolSchemas.js.map +1 -1
- package/dist/providers/types.d.ts +4 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/runner/jobTypes.d.ts +3 -2
- package/dist/runner/jobTypes.d.ts.map +1 -1
- package/dist/runner/run.d.ts.map +1 -1
- package/dist/runner/run.js +6 -2
- package/dist/runner/run.js.map +1 -1
- package/dist/runner/validateJob.d.ts.map +1 -1
- package/dist/runner/validateJob.js +135 -0
- package/dist/runner/validateJob.js.map +1 -1
- package/docs/host-integration-image-placement.md +152 -0
- package/docs/sandbox-runner.md +22 -1
- package/package.json +2 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { access, readdir, readFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
1
3
|
export const DEFAULT_STYLE_ASSET_PATTERNS = [
|
|
2
4
|
/globals\.css$/i,
|
|
3
5
|
/tailwind\.config/i,
|
|
@@ -15,6 +17,8 @@ export const DEFAULT_MULTI_STEP_LIMITS = {
|
|
|
15
17
|
};
|
|
16
18
|
const WIRING_INCOMPLETE_NUDGE = "Style files changed but pinned-target wiring is incomplete. Update config or component files that apply styles to the pinned target before stopping.";
|
|
17
19
|
const ASSET_PUBLISH_INCOMPLETE_NUDGE = 'Component wiring references an image but no file exists under public/assets/. Call publish_reference_image with the correct source ("primary" or "index:N") before stopping.';
|
|
20
|
+
const COMPLETION_RULES_INCOMPLETE_NUDGE = "Completion rules are not satisfied yet. Update the required config/component files before stopping.";
|
|
21
|
+
const ORPHAN_COMPONENT_NUDGE = "Do not finish with orphan components under src/components/. Wire the uploaded publicUrl in config and render it from the pinned section renderer in page.tsx.";
|
|
18
22
|
function compilePatterns(patterns) {
|
|
19
23
|
return patterns.map((pattern) => new RegExp(pattern, "i"));
|
|
20
24
|
}
|
|
@@ -38,12 +42,113 @@ function matchesAnyPattern(file, patterns) {
|
|
|
38
42
|
return patterns.some((pattern) => pattern.test(normalized));
|
|
39
43
|
}
|
|
40
44
|
/** True when style patterns include public/assets (decoration publish expected). */
|
|
41
|
-
function
|
|
45
|
+
function requiresPublicAssetPublishFromStylePatterns(completion) {
|
|
42
46
|
return resolveStylePatterns(completion).some((pattern) => pattern.test("public/assets/edits/placeholder.png"));
|
|
43
47
|
}
|
|
44
48
|
function hasPublicAssetChange(changedFiles) {
|
|
45
49
|
return changedFiles.some((file) => normalizePath(file).startsWith("public/assets/"));
|
|
46
50
|
}
|
|
51
|
+
function globPatternToRegex(glob) {
|
|
52
|
+
const escaped = glob
|
|
53
|
+
.replace(/[.+^${}()|[\]\\]/g, "\\$&")
|
|
54
|
+
.replace(/\*/g, "[^/]*")
|
|
55
|
+
.replace(/\?/g, ".");
|
|
56
|
+
return new RegExp(`^${escaped}$`, "i");
|
|
57
|
+
}
|
|
58
|
+
function isGlobPattern(pattern) {
|
|
59
|
+
return pattern.includes("*") || pattern.includes("?");
|
|
60
|
+
}
|
|
61
|
+
async function collectRelativePaths(repoPath, relativeDir, depth = 0) {
|
|
62
|
+
if (depth > 8) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
const absoluteDir = join(repoPath, relativeDir);
|
|
66
|
+
let entries;
|
|
67
|
+
try {
|
|
68
|
+
entries = await readdir(absoluteDir, { withFileTypes: true });
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return [];
|
|
72
|
+
}
|
|
73
|
+
const paths = [];
|
|
74
|
+
for (const entry of entries) {
|
|
75
|
+
const rel = relativeDir ? `${relativeDir}/${entry.name}` : entry.name;
|
|
76
|
+
if (entry.isDirectory()) {
|
|
77
|
+
paths.push(...(await collectRelativePaths(repoPath, rel, depth + 1)));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
paths.push(normalizePath(rel));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return paths;
|
|
84
|
+
}
|
|
85
|
+
/** Returns true when a repo-relative path or glob exists under repoPath. */
|
|
86
|
+
export async function pathExistsUnderRepo(repoPath, pattern) {
|
|
87
|
+
const normalized = normalizePath(pattern);
|
|
88
|
+
if (!isGlobPattern(normalized)) {
|
|
89
|
+
try {
|
|
90
|
+
await access(join(repoPath, normalized));
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const regex = globPatternToRegex(normalized);
|
|
98
|
+
const prefix = normalized.includes("/")
|
|
99
|
+
? normalized.slice(0, normalized.indexOf("*"))
|
|
100
|
+
: "";
|
|
101
|
+
const searchRoot = prefix ? dirname(prefix) : ".";
|
|
102
|
+
const files = await collectRelativePaths(repoPath, searchRoot === "." ? "" : searchRoot);
|
|
103
|
+
return files.some((file) => regex.test(file));
|
|
104
|
+
}
|
|
105
|
+
function isUploadRequiredPathPattern(pattern) {
|
|
106
|
+
return normalizePath(pattern).startsWith("public/uploads/");
|
|
107
|
+
}
|
|
108
|
+
/** Builds optional nudge text from opaque wiring hints. */
|
|
109
|
+
export function buildWiringHintNudge(hints) {
|
|
110
|
+
if (!hints) {
|
|
111
|
+
return "";
|
|
112
|
+
}
|
|
113
|
+
const parts = [];
|
|
114
|
+
if (hints.requiredFields?.length) {
|
|
115
|
+
parts.push(`Required fields: ${hints.requiredFields.join(", ")}`);
|
|
116
|
+
}
|
|
117
|
+
if (hints.configPaths?.length) {
|
|
118
|
+
parts.push(`Config files: ${hints.configPaths.join(", ")}`);
|
|
119
|
+
}
|
|
120
|
+
if (hints.pagePaths?.length) {
|
|
121
|
+
parts.push(`Page files: ${hints.pagePaths.join(", ")}`);
|
|
122
|
+
}
|
|
123
|
+
return parts.join(". ");
|
|
124
|
+
}
|
|
125
|
+
function appendWiringHintNudge(nudge, completion) {
|
|
126
|
+
const hint = buildWiringHintNudge(completion?.wiringHints);
|
|
127
|
+
if (!hint) {
|
|
128
|
+
return nudge;
|
|
129
|
+
}
|
|
130
|
+
return `${nudge} ${hint}`.trim();
|
|
131
|
+
}
|
|
132
|
+
/** Determines whether the public/assets publish gate should apply. */
|
|
133
|
+
export async function shouldRequirePublicAssetPublish(input) {
|
|
134
|
+
const setting = input.rules?.requireAssetPublish;
|
|
135
|
+
if (setting === false || setting === "none" || setting === "uploads") {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
const requiredPaths = input.rules?.requiredPaths ?? [];
|
|
139
|
+
if (requiredPaths.length > 0 &&
|
|
140
|
+
requiredPaths.every(isUploadRequiredPathPattern) &&
|
|
141
|
+
input.repoPath) {
|
|
142
|
+
const exists = await Promise.all(requiredPaths.map((pattern) => pathExistsUnderRepo(input.repoPath, pattern)));
|
|
143
|
+
if (exists.every(Boolean)) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (setting === true || setting === "assets") {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
return requiresPublicAssetPublishFromStylePatterns(input.completion);
|
|
151
|
+
}
|
|
47
152
|
/** True when every changed file is a style asset and none are wiring paths. */
|
|
48
153
|
export function isStyleOnlyDiff(changedFiles, completion) {
|
|
49
154
|
if (changedFiles.length === 0) {
|
|
@@ -87,6 +192,9 @@ function isCompletionContractActive(input) {
|
|
|
87
192
|
if (completion.isComplete) {
|
|
88
193
|
return true;
|
|
89
194
|
}
|
|
195
|
+
if (completion.rules) {
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
90
198
|
if (completion.requireWiringAfterStyle &&
|
|
91
199
|
input.hasVisionImages &&
|
|
92
200
|
hasSelectedDomContext(input.selectedDom)) {
|
|
@@ -94,8 +202,152 @@ function isCompletionContractActive(input) {
|
|
|
94
202
|
}
|
|
95
203
|
return completion.mode === "multi_file_required";
|
|
96
204
|
}
|
|
205
|
+
function matchesRequirement(changedFiles, requirement) {
|
|
206
|
+
const pattern = new RegExp(requirement.pattern, "i");
|
|
207
|
+
return changedFiles.some((file) => pattern.test(normalizePath(file)));
|
|
208
|
+
}
|
|
209
|
+
async function readRepoFileContent(repoPath, relativePath) {
|
|
210
|
+
try {
|
|
211
|
+
return await readFile(join(repoPath, normalizePath(relativePath)), "utf8");
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
return undefined;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
async function evaluateRequiredContent(input) {
|
|
218
|
+
if (!input.repoPath || input.requirements.length === 0) {
|
|
219
|
+
return { met: true };
|
|
220
|
+
}
|
|
221
|
+
for (const requirement of input.requirements) {
|
|
222
|
+
if (requirement.required === false) {
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
const pathRegex = new RegExp(requirement.pathPattern, "i");
|
|
226
|
+
const contentRegex = new RegExp(requirement.contentPattern, "i");
|
|
227
|
+
const candidates = new Set();
|
|
228
|
+
for (const file of input.changedFiles) {
|
|
229
|
+
if (pathRegex.test(normalizePath(file))) {
|
|
230
|
+
candidates.add(normalizePath(file));
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (candidates.size === 0) {
|
|
234
|
+
const allFiles = await collectRelativePaths(input.repoPath, "");
|
|
235
|
+
for (const file of allFiles) {
|
|
236
|
+
if (pathRegex.test(file)) {
|
|
237
|
+
candidates.add(file);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
if (candidates.size === 0) {
|
|
242
|
+
return {
|
|
243
|
+
met: false,
|
|
244
|
+
nudge: requirement.nudge ??
|
|
245
|
+
`${COMPLETION_RULES_INCOMPLETE_NUDGE} No file matches /${requirement.pathPattern}/.`,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
let contentMatched = false;
|
|
249
|
+
for (const relPath of candidates) {
|
|
250
|
+
const content = await readRepoFileContent(input.repoPath, relPath);
|
|
251
|
+
if (content && contentRegex.test(content)) {
|
|
252
|
+
contentMatched = true;
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (!contentMatched) {
|
|
257
|
+
return {
|
|
258
|
+
met: false,
|
|
259
|
+
nudge: requirement.nudge ??
|
|
260
|
+
`${COMPLETION_RULES_INCOMPLETE_NUDGE} File content must match /${requirement.contentPattern}/.`,
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return { met: true };
|
|
265
|
+
}
|
|
266
|
+
function hasOrphanComponentChange(changedFiles) {
|
|
267
|
+
return changedFiles.some((file) => /(?:^|\/)src\/components\//i.test(normalizePath(file)));
|
|
268
|
+
}
|
|
269
|
+
function shouldOrphanComponentGuard(input) {
|
|
270
|
+
if (input.contentMet) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
const hasRequiredContent = (input.rules?.requiredContent?.length ?? 0) > 0;
|
|
274
|
+
const guardEnabled = input.rules?.orphanComponentGuard !== false && hasRequiredContent;
|
|
275
|
+
if (!guardEnabled) {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
if (!input.hasVisionImages || !hasSelectedDomContext(input.selectedDom)) {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
return hasOrphanComponentChange(input.changedFiles);
|
|
282
|
+
}
|
|
283
|
+
/** Evaluates serializable completion rules against changed files and workspace paths. */
|
|
284
|
+
export async function evaluateSerializableCompletionRules(input) {
|
|
285
|
+
const rules = input.rules;
|
|
286
|
+
if (rules) {
|
|
287
|
+
for (const requirement of rules.requiredChanges ?? []) {
|
|
288
|
+
if (requirement.required === false) {
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
if (!matchesRequirement(input.changedFiles, requirement)) {
|
|
292
|
+
return {
|
|
293
|
+
met: false,
|
|
294
|
+
nudge: appendWiringHintNudge(`${COMPLETION_RULES_INCOMPLETE_NUDGE} Missing required change matching /${requirement.pattern}/.`, input.completion),
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
if (input.repoPath) {
|
|
299
|
+
for (const relPath of rules.requiredPaths ?? []) {
|
|
300
|
+
const exists = await pathExistsUnderRepo(input.repoPath, relPath);
|
|
301
|
+
if (!exists) {
|
|
302
|
+
return {
|
|
303
|
+
met: false,
|
|
304
|
+
nudge: appendWiringHintNudge(`${COMPLETION_RULES_INCOMPLETE_NUDGE} Required path missing: ${relPath}`, input.completion),
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
const contentResult = await evaluateRequiredContent({
|
|
310
|
+
repoPath: input.repoPath,
|
|
311
|
+
changedFiles: input.changedFiles,
|
|
312
|
+
requirements: rules.requiredContent ?? [],
|
|
313
|
+
});
|
|
314
|
+
if (!contentResult.met) {
|
|
315
|
+
if (shouldOrphanComponentGuard({
|
|
316
|
+
rules,
|
|
317
|
+
changedFiles: input.changedFiles,
|
|
318
|
+
hasVisionImages: input.hasVisionImages,
|
|
319
|
+
selectedDom: input.selectedDom,
|
|
320
|
+
contentMet: false,
|
|
321
|
+
})) {
|
|
322
|
+
return {
|
|
323
|
+
met: false,
|
|
324
|
+
nudge: appendWiringHintNudge(ORPHAN_COMPONENT_NUDGE, input.completion),
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
return {
|
|
328
|
+
met: false,
|
|
329
|
+
nudge: appendWiringHintNudge(contentResult.nudge ?? COMPLETION_RULES_INCOMPLETE_NUDGE, input.completion),
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
const requireAssetPublish = await shouldRequirePublicAssetPublish({
|
|
334
|
+
rules,
|
|
335
|
+
completion: input.completion,
|
|
336
|
+
repoPath: input.repoPath,
|
|
337
|
+
});
|
|
338
|
+
if (requireAssetPublish &&
|
|
339
|
+
input.hasVisionImages &&
|
|
340
|
+
input.wiringComplete &&
|
|
341
|
+
!hasPublicAssetChange(input.changedFiles)) {
|
|
342
|
+
return {
|
|
343
|
+
met: false,
|
|
344
|
+
nudge: getAssetPublishIncompleteNudge(),
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
return { met: true };
|
|
348
|
+
}
|
|
97
349
|
/** Evaluates whether harness early finish should proceed, continue, or fail. */
|
|
98
|
-
export function evaluateHarnessCompletionGate(input) {
|
|
350
|
+
export async function evaluateHarnessCompletionGate(input) {
|
|
99
351
|
const styleOnly = isStyleOnlyDiff(input.changedFiles, input.completion);
|
|
100
352
|
const wiringComplete = hasWiringChange(input.changedFiles, input.completion);
|
|
101
353
|
const limits = resolveMultiStepLimits(input.completion);
|
|
@@ -173,23 +425,33 @@ export function evaluateHarnessCompletionGate(input) {
|
|
|
173
425
|
wiringComplete,
|
|
174
426
|
};
|
|
175
427
|
}
|
|
176
|
-
|
|
177
|
-
input.
|
|
178
|
-
|
|
179
|
-
|
|
428
|
+
const rulesResult = await evaluateSerializableCompletionRules({
|
|
429
|
+
changedFiles: input.changedFiles,
|
|
430
|
+
repoPath: input.repoPath,
|
|
431
|
+
rules: input.completion?.rules,
|
|
432
|
+
completion: input.completion,
|
|
433
|
+
hasVisionImages: input.hasVisionImages,
|
|
434
|
+
wiringComplete,
|
|
435
|
+
selectedDom: input.selectedDom,
|
|
436
|
+
});
|
|
437
|
+
if (!rulesResult.met) {
|
|
438
|
+
const continueReason = rulesResult.nudge === getAssetPublishIncompleteNudge()
|
|
439
|
+
? "asset_publish_incomplete"
|
|
440
|
+
: "completion_callback";
|
|
180
441
|
if (input.deferredFinishCount >= limits.maxExtraTurnsAfterStyleOnly) {
|
|
181
442
|
return {
|
|
182
443
|
action: "fail",
|
|
183
444
|
styleOnly,
|
|
184
445
|
wiringComplete,
|
|
185
|
-
failMessage:
|
|
446
|
+
failMessage: rulesResult.nudge ?? "Completion rules not satisfied",
|
|
186
447
|
};
|
|
187
448
|
}
|
|
188
449
|
return {
|
|
189
450
|
action: "continue",
|
|
190
|
-
continueReason
|
|
451
|
+
continueReason,
|
|
191
452
|
styleOnly,
|
|
192
453
|
wiringComplete,
|
|
454
|
+
continueNudge: rulesResult.nudge,
|
|
193
455
|
};
|
|
194
456
|
}
|
|
195
457
|
}
|
|
@@ -206,4 +468,10 @@ export function getWiringIncompleteNudge() {
|
|
|
206
468
|
export function getAssetPublishIncompleteNudge() {
|
|
207
469
|
return ASSET_PUBLISH_INCOMPLETE_NUDGE;
|
|
208
470
|
}
|
|
471
|
+
export function getCompletionRulesIncompleteNudge() {
|
|
472
|
+
return COMPLETION_RULES_INCOMPLETE_NUDGE;
|
|
473
|
+
}
|
|
474
|
+
export function getOrphanComponentNudge() {
|
|
475
|
+
return ORPHAN_COMPONENT_NUDGE;
|
|
476
|
+
}
|
|
209
477
|
//# sourceMappingURL=editCompletion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editCompletion.js","sourceRoot":"","sources":["../../src/agent/editCompletion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editCompletion.js","sourceRoot":"","sources":["../../src/agent/editCompletion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { AgentAttachmentMeta, SelectedDomContext } from "./types.js";
|
|
2
|
+
export interface HostToolDefinition {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
parameters: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export interface HostToolContext {
|
|
8
|
+
repoPath: string;
|
|
9
|
+
attachments?: AgentAttachmentMeta[];
|
|
10
|
+
selectedDom?: SelectedDomContext;
|
|
11
|
+
}
|
|
12
|
+
export interface HostToolHandlerResult {
|
|
13
|
+
ok: boolean;
|
|
14
|
+
output: string;
|
|
15
|
+
meta?: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export type HostToolHandler = (args: Record<string, unknown>, ctx: HostToolContext) => Promise<HostToolHandlerResult>;
|
|
18
|
+
export interface HostToolRegistration {
|
|
19
|
+
definition: HostToolDefinition;
|
|
20
|
+
handler: HostToolHandler;
|
|
21
|
+
}
|
|
22
|
+
/** Validates host tool registrations and rejects core tool name collisions. */
|
|
23
|
+
export declare function validateHostToolRegistrations(registrations: HostToolRegistration[]): void;
|
|
24
|
+
/**
|
|
25
|
+
* Merges host tool sources with later sources winning on name collision.
|
|
26
|
+
* Call order: create (lowest) → context → send (highest).
|
|
27
|
+
*/
|
|
28
|
+
export declare function mergeHostToolRegistrations(...sources: Array<HostToolRegistration[] | undefined>): HostToolRegistration[];
|
|
29
|
+
/** Merges user host tools with SDK builtins for the current run. */
|
|
30
|
+
export declare function resolveHostToolsForRun(input: {
|
|
31
|
+
hostTools?: HostToolRegistration[];
|
|
32
|
+
includeAttachmentUrlsTool?: boolean;
|
|
33
|
+
}): HostToolRegistration[];
|
|
34
|
+
/** Built-in host tool that returns canonical attachment metadata for the run. */
|
|
35
|
+
export declare function createGetAttachmentUrlsHostTool(): HostToolRegistration;
|
|
36
|
+
/** Registers host tool handlers for a single agent run. */
|
|
37
|
+
export declare function registerHostToolsForRun(registrations: HostToolRegistration[]): void;
|
|
38
|
+
/** Clears host tool handlers after a run completes. */
|
|
39
|
+
export declare function clearHostToolsForRun(): void;
|
|
40
|
+
/** Dispatches a host tool call when registered for the current run. */
|
|
41
|
+
export declare function executeHostTool(toolName: string, args: Record<string, unknown>, ctx: HostToolContext): Promise<HostToolHandlerResult | undefined>;
|
|
42
|
+
/** Converts host tool definitions to OpenAI-compatible tool schemas. */
|
|
43
|
+
export declare function hostToolsToOpenAiDefinitions(registrations: HostToolRegistration[]): Array<{
|
|
44
|
+
type: "function";
|
|
45
|
+
function: {
|
|
46
|
+
name: string;
|
|
47
|
+
description: string;
|
|
48
|
+
parameters: Record<string, unknown>;
|
|
49
|
+
};
|
|
50
|
+
}>;
|
|
51
|
+
//# sourceMappingURL=hostTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostTools.d.ts","sourceRoot":"","sources":["../../src/agent/hostTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAG1E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,KACjB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,eAAe,CAAC;CAC1B;AAiBD,+EAA+E;AAC/E,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,oBAAoB,EAAE,GACpC,IAAI,CAiBN;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,OAAO,EAAE,KAAK,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC,GACpD,oBAAoB,EAAE,CAQxB;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACnC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,GAAG,oBAAoB,EAAE,CAYzB;AAED,iFAAiF;AACjF,wBAAgB,+BAA+B,IAAI,oBAAoB,CAuBtE;AAID,2DAA2D;AAC3D,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,oBAAoB,EAAE,GACpC,IAAI,CAQN;AAED,uDAAuD;AACvD,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,uEAAuE;AACvE,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAM5C;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,CAAC;IACP,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH,CAAC,CASD"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { readAttachmentsManifest } from "./attachmentContext.js";
|
|
2
|
+
const CORE_TOOL_NAMES = new Set([
|
|
3
|
+
"grep",
|
|
4
|
+
"read",
|
|
5
|
+
"read_file",
|
|
6
|
+
"glob",
|
|
7
|
+
"list_dir",
|
|
8
|
+
"search_replace",
|
|
9
|
+
"edit",
|
|
10
|
+
"write",
|
|
11
|
+
"publish_reference_image",
|
|
12
|
+
"generate_image",
|
|
13
|
+
]);
|
|
14
|
+
const HOST_TOOL_NAME_PATTERN = /^[a-z][a-z0-9_]{0,63}$/;
|
|
15
|
+
/** Validates host tool registrations and rejects core tool name collisions. */
|
|
16
|
+
export function validateHostToolRegistrations(registrations) {
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
for (const registration of registrations) {
|
|
19
|
+
const name = registration.definition.name.trim().toLowerCase();
|
|
20
|
+
if (!HOST_TOOL_NAME_PATTERN.test(name)) {
|
|
21
|
+
throw new Error(`Invalid host tool name "${registration.definition.name}" — use lowercase letters, digits, and underscores`);
|
|
22
|
+
}
|
|
23
|
+
if (CORE_TOOL_NAMES.has(name)) {
|
|
24
|
+
throw new Error(`Host tool name collides with core tool: ${name}`);
|
|
25
|
+
}
|
|
26
|
+
if (seen.has(name)) {
|
|
27
|
+
throw new Error(`Duplicate host tool registration: ${name}`);
|
|
28
|
+
}
|
|
29
|
+
seen.add(name);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Merges host tool sources with later sources winning on name collision.
|
|
34
|
+
* Call order: create (lowest) → context → send (highest).
|
|
35
|
+
*/
|
|
36
|
+
export function mergeHostToolRegistrations(...sources) {
|
|
37
|
+
const byName = new Map();
|
|
38
|
+
for (const source of sources) {
|
|
39
|
+
for (const registration of source ?? []) {
|
|
40
|
+
byName.set(registration.definition.name.trim().toLowerCase(), registration);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return [...byName.values()];
|
|
44
|
+
}
|
|
45
|
+
/** Merges user host tools with SDK builtins for the current run. */
|
|
46
|
+
export function resolveHostToolsForRun(input) {
|
|
47
|
+
const registrations = [...(input.hostTools ?? [])];
|
|
48
|
+
if (input.includeAttachmentUrlsTool) {
|
|
49
|
+
const hasBuiltin = registrations.some((tool) => tool.definition.name === "get_attachment_urls");
|
|
50
|
+
if (!hasBuiltin) {
|
|
51
|
+
registrations.push(createGetAttachmentUrlsHostTool());
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
validateHostToolRegistrations(registrations);
|
|
55
|
+
return registrations;
|
|
56
|
+
}
|
|
57
|
+
/** Built-in host tool that returns canonical attachment metadata for the run. */
|
|
58
|
+
export function createGetAttachmentUrlsHostTool() {
|
|
59
|
+
return {
|
|
60
|
+
definition: {
|
|
61
|
+
name: "get_attachment_urls",
|
|
62
|
+
description: "Returns uploaded attachment metadata (index, publicUrl, destPath, role) for the current run.",
|
|
63
|
+
parameters: {
|
|
64
|
+
type: "object",
|
|
65
|
+
properties: {},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
handler: async (_args, ctx) => {
|
|
69
|
+
const attachments = ctx.attachments && ctx.attachments.length > 0
|
|
70
|
+
? ctx.attachments
|
|
71
|
+
: await readAttachmentsManifest(ctx.repoPath);
|
|
72
|
+
return {
|
|
73
|
+
ok: true,
|
|
74
|
+
output: JSON.stringify({ attachments }, null, 2),
|
|
75
|
+
meta: { count: attachments.length },
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const hostToolHandlers = new Map();
|
|
81
|
+
/** Registers host tool handlers for a single agent run. */
|
|
82
|
+
export function registerHostToolsForRun(registrations) {
|
|
83
|
+
hostToolHandlers.clear();
|
|
84
|
+
for (const registration of registrations) {
|
|
85
|
+
hostToolHandlers.set(registration.definition.name.toLowerCase(), registration.handler);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/** Clears host tool handlers after a run completes. */
|
|
89
|
+
export function clearHostToolsForRun() {
|
|
90
|
+
hostToolHandlers.clear();
|
|
91
|
+
}
|
|
92
|
+
/** Dispatches a host tool call when registered for the current run. */
|
|
93
|
+
export async function executeHostTool(toolName, args, ctx) {
|
|
94
|
+
const handler = hostToolHandlers.get(toolName.toLowerCase());
|
|
95
|
+
if (!handler) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
return handler(args, ctx);
|
|
99
|
+
}
|
|
100
|
+
/** Converts host tool definitions to OpenAI-compatible tool schemas. */
|
|
101
|
+
export function hostToolsToOpenAiDefinitions(registrations) {
|
|
102
|
+
return registrations.map((registration) => ({
|
|
103
|
+
type: "function",
|
|
104
|
+
function: {
|
|
105
|
+
name: registration.definition.name,
|
|
106
|
+
description: registration.definition.description,
|
|
107
|
+
parameters: registration.definition.parameters,
|
|
108
|
+
},
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=hostTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostTools.js","sourceRoot":"","sources":["../../src/agent/hostTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import type { AgentImageInput, AgentSendOptions } from "./types.js";
|
|
1
|
+
import type { AgentAttachmentMeta, AgentImageInput, AgentSendOptions } from "./types.js";
|
|
2
2
|
export type AgentSendPayload = string | {
|
|
3
3
|
text: string;
|
|
4
4
|
images?: AgentImageInput[];
|
|
5
|
+
attachments?: AgentAttachmentMeta[];
|
|
5
6
|
};
|
|
6
7
|
export interface ParsedSendPayload {
|
|
7
8
|
prompt: string;
|
|
8
9
|
images: AgentImageInput[];
|
|
10
|
+
attachments: AgentAttachmentMeta[];
|
|
9
11
|
/** @deprecated First image as raw base64 for legacy screenshot writers. */
|
|
10
12
|
screenshotBase64?: string;
|
|
11
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSendPayload.d.ts","sourceRoot":"","sources":["../../src/agent/parseSendPayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parseSendPayload.d.ts","sourceRoot":"","sources":["../../src/agent/parseSendPayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC,CAAC;AAEN,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAgCD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,gBAAqB,GAC7B,iBAAiB,CAgCnB;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAWA;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAK3D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,8EAA8E;AAC9E,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQrE"}
|
|
@@ -10,6 +10,19 @@ function imagesFromDeprecatedOptions(options) {
|
|
|
10
10
|
}
|
|
11
11
|
return [];
|
|
12
12
|
}
|
|
13
|
+
function normalizeAttachments(attachments) {
|
|
14
|
+
if (!attachments?.length) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
return attachments.map((attachment, index) => ({
|
|
18
|
+
index: attachment.index ?? index,
|
|
19
|
+
publicUrl: attachment.publicUrl.trim(),
|
|
20
|
+
...(attachment.destPath?.trim() ? { destPath: attachment.destPath.trim() } : {}),
|
|
21
|
+
...(attachment.mimeType?.trim() ? { mimeType: attachment.mimeType.trim() } : {}),
|
|
22
|
+
...(attachment.role ? { role: attachment.role } : {}),
|
|
23
|
+
...(attachment.label?.trim() ? { label: attachment.label.trim() } : {}),
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
13
26
|
/** Normalizes Cursor-style send payloads into prompt text and vision fields. */
|
|
14
27
|
export function parseSendPayload(payload, options = {}) {
|
|
15
28
|
if (typeof payload === "string") {
|
|
@@ -17,6 +30,7 @@ export function parseSendPayload(payload, options = {}) {
|
|
|
17
30
|
return {
|
|
18
31
|
prompt: payload,
|
|
19
32
|
images,
|
|
33
|
+
attachments: normalizeAttachments(options.attachments),
|
|
20
34
|
screenshotBase64: images[0]?.data,
|
|
21
35
|
};
|
|
22
36
|
}
|
|
@@ -27,9 +41,11 @@ export function parseSendPayload(payload, options = {}) {
|
|
|
27
41
|
const images = payloadImages.length > 0
|
|
28
42
|
? payloadImages
|
|
29
43
|
: imagesFromDeprecatedOptions(options);
|
|
44
|
+
const attachments = normalizeAttachments(payload.attachments?.length ? payload.attachments : options.attachments);
|
|
30
45
|
return {
|
|
31
46
|
prompt: payload.text,
|
|
32
47
|
images,
|
|
48
|
+
attachments,
|
|
33
49
|
screenshotBase64: images[0]?.data,
|
|
34
50
|
};
|
|
35
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSendPayload.js","sourceRoot":"","sources":["../../src/agent/parseSendPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"parseSendPayload.js","sourceRoot":"","sources":["../../src/agent/parseSendPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { RunEventBus } from "./RunEventBus.js";
|
|
2
|
-
import type { AgentCreateOptions, AgentImageInput, AgentRunResult, AgentSendOptions, ConversationTurn, PreparedWorkspace } from "./types.js";
|
|
2
|
+
import type { AgentAttachmentMeta, AgentCreateOptions, AgentImageInput, AgentRunResult, AgentSendOptions, ConversationTurn, PreparedWorkspace } from "./types.js";
|
|
3
|
+
import { type HostToolRegistration } from "./hostTools.js";
|
|
3
4
|
export interface RunAgentTaskContext {
|
|
4
5
|
signal?: AbortSignal;
|
|
5
6
|
agentId?: string;
|
|
6
7
|
images?: AgentImageInput[];
|
|
8
|
+
attachments?: AgentAttachmentMeta[];
|
|
9
|
+
hostTools?: HostToolRegistration[];
|
|
7
10
|
conversationHistory?: ConversationTurn[];
|
|
8
11
|
reuseWorkspace?: PreparedWorkspace;
|
|
9
12
|
onWorkspacePrepared?: (workspace: PreparedWorkspace) => void;
|