@agent-native/core 0.51.3 → 0.51.5
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-agent.d.ts","sourceRoot":"","sources":["../../src/agent/production-agent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EAEnB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIhE,OAAO,EAEL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,MAAM,EACN,QAAQ,EAET,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAoBlD,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAyBvC,OAAO,EAAE,eAAe,EAAE,CAAC;AA4C3B;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8C7B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAaD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB7B;AAED,sEAAsE;AACtE,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B;AAED;;;;GAIG;AACH,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,CACH,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,OAAO,cAAc,EAAE,gBAAgB,KAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACxB,qFAAqF;IACrF,IAAI,CAAC,EAAE,OAAO,cAAc,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACvD;;0EAEsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;sDAGkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;qFACiF;IACjF,WAAW,CAAC,EAAE,OAAO,cAAc,EAAE,uBAAuB,CAAC;IAC7D;4EACwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;oDAEgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;gDAK4C;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;2EAEuE;IACvE,IAAI,CAAC,EAAE,OAAO,cAAc,EAAE,iBAAiB,CAAC;IAChD;;qCAEiC;IACjC,MAAM,CAAC,EAAE,OAAO,cAAc,EAAE,kBAAkB,CAAC;IACnD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD,eAAO,MAAM,uBAAuB,ivBAQ2H,CAAC;
|
|
1
|
+
{"version":3,"file":"production-agent.d.ts","sourceRoot":"","sources":["../../src/agent/production-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -205,6 +205,11 @@ const PLAN_MODE_ALLOWED_ACTIONS = {
|
|
|
205
205
|
"manage-agent-engine": ["list"],
|
|
206
206
|
};
|
|
207
207
|
const PLAN_MODE_WEB_REQUEST_METHODS = new Set(["GET", "HEAD"]);
|
|
208
|
+
const SOURCE_SWEEP_AGENT_TEAM_ALLOWED_ACTIONS = [
|
|
209
|
+
"status",
|
|
210
|
+
"read-result",
|
|
211
|
+
"list",
|
|
212
|
+
];
|
|
208
213
|
function getToolAction(name, args) {
|
|
209
214
|
const raw = args && typeof args === "object" && "action" in args
|
|
210
215
|
? args.action
|
|
@@ -1247,6 +1252,75 @@ function isLikelySourceSweepTool(name, entry) {
|
|
|
1247
1252
|
return (SOURCE_SWEEP_PROVIDER_TOKEN.test(normalized) ||
|
|
1248
1253
|
SOURCE_SWEEP_TOOL_NAME.test(normalized));
|
|
1249
1254
|
}
|
|
1255
|
+
function hasExhaustedSourceSweepBudget(opts) {
|
|
1256
|
+
const threshold = opts.threshold ?? SOURCE_SWEEP_TOOL_CALL_THRESHOLD;
|
|
1257
|
+
const counts = new Map();
|
|
1258
|
+
for (const call of opts.priorToolCalls) {
|
|
1259
|
+
if (!isLikelySourceSweepTool(call.name, opts.actions[call.name]))
|
|
1260
|
+
continue;
|
|
1261
|
+
const next = (counts.get(call.name) ?? 0) + 1;
|
|
1262
|
+
if (next >= threshold)
|
|
1263
|
+
return true;
|
|
1264
|
+
counts.set(call.name, next);
|
|
1265
|
+
}
|
|
1266
|
+
return false;
|
|
1267
|
+
}
|
|
1268
|
+
function sourceSweepDelegationText(input) {
|
|
1269
|
+
if (!input || typeof input !== "object")
|
|
1270
|
+
return "";
|
|
1271
|
+
const record = input;
|
|
1272
|
+
return ["task", "instructions", "message", "name"]
|
|
1273
|
+
.map((key) => record[key])
|
|
1274
|
+
.filter((value) => typeof value === "string")
|
|
1275
|
+
.join("\n");
|
|
1276
|
+
}
|
|
1277
|
+
function isLikelySourceSweepDelegation(opts) {
|
|
1278
|
+
if (opts.toolName !== "agent-teams")
|
|
1279
|
+
return false;
|
|
1280
|
+
const action = getToolAction(opts.toolName, opts.input);
|
|
1281
|
+
if (!["spawn", "send"].includes(action))
|
|
1282
|
+
return false;
|
|
1283
|
+
const normalized = normalizeToolNameForHeuristics(sourceSweepDelegationText(opts.input).toLowerCase());
|
|
1284
|
+
if (!normalized)
|
|
1285
|
+
return false;
|
|
1286
|
+
return (SOURCE_SWEEP_PROVIDER_TOKEN.test(normalized) ||
|
|
1287
|
+
SOURCE_SWEEP_TOOL_NAME.test(normalized));
|
|
1288
|
+
}
|
|
1289
|
+
function sourceSweepDelegationGuardMessage(action) {
|
|
1290
|
+
return (`Skipped agent-teams ${action || "action"}: this turn already exhausted ` +
|
|
1291
|
+
`a read-only source/search convergence budget. Do not move that same ` +
|
|
1292
|
+
`provider/source sweep into agent teams, background sub-agents, or a ` +
|
|
1293
|
+
`follow-up thread; delegation is not a bulk mechanism and does not remove ` +
|
|
1294
|
+
`provider quota, timeout, or cost limits. Continue in the main turn with a ` +
|
|
1295
|
+
`bulk/code/provider API path if one is available, or answer from gathered ` +
|
|
1296
|
+
`evidence with explicit coverage gaps.`);
|
|
1297
|
+
}
|
|
1298
|
+
function restrictAgentTeamsAfterSourceSweep(tools) {
|
|
1299
|
+
return tools.map((tool) => {
|
|
1300
|
+
if (tool.name !== "agent-teams")
|
|
1301
|
+
return tool;
|
|
1302
|
+
const actionParam = tool.inputSchema.properties?.action;
|
|
1303
|
+
if (!actionParam || typeof actionParam !== "object")
|
|
1304
|
+
return tool;
|
|
1305
|
+
return {
|
|
1306
|
+
...tool,
|
|
1307
|
+
description: `${tool.description}\n\nSource-sweep budget exhausted: only these ` +
|
|
1308
|
+
`read-only coordination actions are available: ` +
|
|
1309
|
+
SOURCE_SWEEP_AGENT_TEAM_ALLOWED_ACTIONS.map((action) => `"${action}"`).join(", ") +
|
|
1310
|
+
". Do not spawn or message background sub-agents to continue the same provider/source sweep.",
|
|
1311
|
+
inputSchema: {
|
|
1312
|
+
...tool.inputSchema,
|
|
1313
|
+
properties: {
|
|
1314
|
+
...tool.inputSchema.properties,
|
|
1315
|
+
action: {
|
|
1316
|
+
...actionParam,
|
|
1317
|
+
enum: [...SOURCE_SWEEP_AGENT_TEAM_ALLOWED_ACTIONS],
|
|
1318
|
+
},
|
|
1319
|
+
},
|
|
1320
|
+
},
|
|
1321
|
+
};
|
|
1322
|
+
});
|
|
1323
|
+
}
|
|
1250
1324
|
export function repeatedSourceSweepGuardMessage(opts) {
|
|
1251
1325
|
const threshold = opts.threshold ?? SOURCE_SWEEP_TOOL_CALL_THRESHOLD;
|
|
1252
1326
|
return (`Skipped ${opts.toolName}: this turn already made ${opts.priorCalls} ` +
|
|
@@ -1259,8 +1333,12 @@ export function repeatedSourceSweepGuardMessage(opts) {
|
|
|
1259
1333
|
`tool that can join, grep, classify, count, or aggregate without flooding ` +
|
|
1260
1334
|
`the chat context. Do not ask the user whether to run the obvious bulk/code ` +
|
|
1261
1335
|
`workflow when it is read-only and needed to satisfy their request; either ` +
|
|
1262
|
-
`do it in this turn or state exactly why it is unavailable.
|
|
1263
|
-
`
|
|
1336
|
+
`do it in this turn or state exactly why it is unavailable. Do not delegate ` +
|
|
1337
|
+
`this same one-item-at-a-time source sweep to agent teams, background ` +
|
|
1338
|
+
`sub-agents, or a follow-up thread; delegation is not a bulk mechanism and ` +
|
|
1339
|
+
`does not remove provider quota, timeout, or cost limits. Do not leave the ` +
|
|
1340
|
+
`user with a "come back later" answer for this turn. If no broader path ` +
|
|
1341
|
+
`exists or quota/timeouts block it, answer from the evidence already ` +
|
|
1264
1342
|
`gathered: state the source filters, count what was inspected, list ` +
|
|
1265
1343
|
`confirmed hits, and explicitly name remaining gaps or uninspected records.`);
|
|
1266
1344
|
}
|
|
@@ -1330,6 +1408,10 @@ export async function runAgentLoop(opts) {
|
|
|
1330
1408
|
const maxIterations = normalizeMaxIterations(opts.maxIterations, getDefaultMaxIterations());
|
|
1331
1409
|
const toolCallHistory = [];
|
|
1332
1410
|
const sourceSweepToolCallHistory = seedSourceSweepToolCallsFromHistory(messages, actions);
|
|
1411
|
+
let sourceSweepDelegationGuardActive = hasExhaustedSourceSweepBudget({
|
|
1412
|
+
priorToolCalls: sourceSweepToolCallHistory,
|
|
1413
|
+
actions,
|
|
1414
|
+
});
|
|
1333
1415
|
const toolResultHistory = [];
|
|
1334
1416
|
const runCtx = getRequestRunContext();
|
|
1335
1417
|
if (runCtx) {
|
|
@@ -1394,7 +1476,9 @@ export async function runAgentLoop(opts) {
|
|
|
1394
1476
|
model,
|
|
1395
1477
|
systemPrompt,
|
|
1396
1478
|
messages: contextMessages,
|
|
1397
|
-
tools
|
|
1479
|
+
tools: sourceSweepDelegationGuardActive
|
|
1480
|
+
? restrictAgentTeamsAfterSourceSweep(tools)
|
|
1481
|
+
: tools,
|
|
1398
1482
|
abortSignal: signal,
|
|
1399
1483
|
maxOutputTokens: resolveMaxOutputTokensForEngine(engine.name, opts.maxOutputTokens),
|
|
1400
1484
|
reasoningEffort: opts.reasoningEffort,
|
|
@@ -1615,6 +1699,13 @@ export async function runAgentLoop(opts) {
|
|
|
1615
1699
|
entry: actionEntry,
|
|
1616
1700
|
priorToolCalls: sourceSweepToolCallHistory,
|
|
1617
1701
|
});
|
|
1702
|
+
const sourceSweepDelegationGuard = sourceSweepDelegationGuardActive &&
|
|
1703
|
+
isLikelySourceSweepDelegation({
|
|
1704
|
+
toolName: toolCall.name,
|
|
1705
|
+
input: toolCall.input,
|
|
1706
|
+
})
|
|
1707
|
+
? sourceSweepDelegationGuardMessage(getToolAction(toolCall.name, toolCall.input))
|
|
1708
|
+
: null;
|
|
1618
1709
|
toolCallHistory.push({
|
|
1619
1710
|
name: toolCall.name,
|
|
1620
1711
|
input: normalizedToolInput,
|
|
@@ -1631,6 +1722,7 @@ export async function runAgentLoop(opts) {
|
|
|
1631
1722
|
});
|
|
1632
1723
|
};
|
|
1633
1724
|
if (sourceSweepGuard) {
|
|
1725
|
+
sourceSweepDelegationGuardActive = true;
|
|
1634
1726
|
const result = sourceSweepGuard.message;
|
|
1635
1727
|
send({
|
|
1636
1728
|
type: "tool_start",
|
|
@@ -1647,6 +1739,23 @@ export async function runAgentLoop(opts) {
|
|
|
1647
1739
|
content: result,
|
|
1648
1740
|
};
|
|
1649
1741
|
}
|
|
1742
|
+
if (sourceSweepDelegationGuard) {
|
|
1743
|
+
const result = sourceSweepDelegationGuard;
|
|
1744
|
+
send({
|
|
1745
|
+
type: "tool_start",
|
|
1746
|
+
tool: toolCall.name,
|
|
1747
|
+
input: toolCall.input,
|
|
1748
|
+
});
|
|
1749
|
+
send({ type: "tool_done", tool: toolCall.name, result });
|
|
1750
|
+
recordToolResult(result, false);
|
|
1751
|
+
return {
|
|
1752
|
+
type: "tool-result",
|
|
1753
|
+
toolCallId: toolCall.id,
|
|
1754
|
+
toolName: toolCall.name,
|
|
1755
|
+
toolInput: wireToolInput,
|
|
1756
|
+
content: result,
|
|
1757
|
+
};
|
|
1758
|
+
}
|
|
1650
1759
|
if (!actionEntry) {
|
|
1651
1760
|
const result = `Error: Unknown tool "${toolCall.name}"`;
|
|
1652
1761
|
send({
|