ugly-app 0.1.805 → 0.1.807
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/client/runAgent.d.ts +11 -0
- package/dist/agent/client/runAgent.d.ts.map +1 -1
- package/dist/agent/client/runAgent.js +37 -1
- package/dist/agent/client/runAgent.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/package.json +1 -1
- package/src/agent/client/runAgent.ts +53 -1
- package/src/cli/version.ts +1 -1
- package/templates/package.json +1 -0
|
@@ -82,6 +82,17 @@ export interface RunAgentConfig {
|
|
|
82
82
|
onTurn?: (turn: Message, telemetry?: MsgTelemetry) => void;
|
|
83
83
|
onEvent?: (event: AgentEvent) => void;
|
|
84
84
|
onFrame?: (frame: AgentStreamFrame) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Turn-settle hook. Called when the model ENDS a turn (no more tool calls),
|
|
87
|
+
* BEFORE the loop finishes. Return user-message content (a string or ContentPart[])
|
|
88
|
+
* to INJECT and CONTINUE the loop instead of finishing — e.g. an automated verify
|
|
89
|
+
* gate that runs the project's typecheck after edits and, on failure, feeds the
|
|
90
|
+
* errors back so the model fixes them in the same turn. Return null/undefined to let
|
|
91
|
+
* the turn finish normally. Budget / maxTurns still bound total work, so a consumer
|
|
92
|
+
* that always returns content can't loop forever. Optional and backward-compatible:
|
|
93
|
+
* with no hook, behavior is unchanged.
|
|
94
|
+
*/
|
|
95
|
+
onSettle?: () => Promise<ContentPart[] | string | null | undefined>;
|
|
85
96
|
}
|
|
86
97
|
export interface AgentController {
|
|
87
98
|
send(userText: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runAgent.d.ts","sourceRoot":"","sources":["../../../src/agent/client/runAgent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runAgent.d.ts","sourceRoot":"","sources":["../../../src/agent/client/runAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,13 @@ export function runAgent(config) {
|
|
|
65
65
|
telemetryTotals: totals,
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
+
// Extra turns granted PAST the turn cap, only to let onSettle's verify gate apply a
|
|
69
|
+
// fix (so a task that used its whole budget building can't ship a broken build). The
|
|
70
|
+
// hook's own internal cap bounds how many times it can extend this. Cost/token caps
|
|
71
|
+
// are hard and never extended.
|
|
72
|
+
let verifyGrace = 0;
|
|
73
|
+
const VERIFY_GRACE_STEP = 3;
|
|
74
|
+
const VERIFY_GRACE_MAX = 12;
|
|
68
75
|
function budgetExceeded() {
|
|
69
76
|
const b = config.budget;
|
|
70
77
|
if (!b)
|
|
@@ -74,7 +81,7 @@ export function runAgent(config) {
|
|
|
74
81
|
if (b.maxTokens !== undefined &&
|
|
75
82
|
totals.inputTokens + totals.outputTokens >= b.maxTokens)
|
|
76
83
|
return `token cap reached (${totals.inputTokens + totals.outputTokens} ≥ ${b.maxTokens})`;
|
|
77
|
-
if (b.maxTurns !== undefined && totals.turns >= b.maxTurns)
|
|
84
|
+
if (b.maxTurns !== undefined && totals.turns >= b.maxTurns + verifyGrace)
|
|
78
85
|
return `turn cap reached (${totals.turns} ≥ ${b.maxTurns})`;
|
|
79
86
|
return null;
|
|
80
87
|
}
|
|
@@ -173,6 +180,23 @@ export function runAgent(config) {
|
|
|
173
180
|
}
|
|
174
181
|
const capped = budgetExceeded();
|
|
175
182
|
if (capped) {
|
|
183
|
+
// A turn cap must not let the model ship a broken build: give onSettle one
|
|
184
|
+
// chance to run its verify gate + inject a fix, and grant a few grace turns so
|
|
185
|
+
// the model can actually apply it. Bounded by VERIFY_GRACE_MAX + the hook's own
|
|
186
|
+
// internal cap. Cost/token caps are hard and skip this.
|
|
187
|
+
if (capped.startsWith('turn cap') &&
|
|
188
|
+
verifyGrace < VERIFY_GRACE_MAX &&
|
|
189
|
+
config.onSettle &&
|
|
190
|
+
!aborter.signal.aborted) {
|
|
191
|
+
const cont = await config.onSettle();
|
|
192
|
+
if (cont && !aborter.signal.aborted) {
|
|
193
|
+
verifyGrace += VERIFY_GRACE_STEP;
|
|
194
|
+
const content = typeof cont === 'string' ? [{ type: 'text', text: cont }] : cont;
|
|
195
|
+
messages = [...messages, { role: 'user', content }];
|
|
196
|
+
await persist('running');
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
176
200
|
config.onEvent?.({ type: 'budget_exceeded', reason: capped, totals });
|
|
177
201
|
await persist('done');
|
|
178
202
|
return;
|
|
@@ -222,6 +246,18 @@ export function runAgent(config) {
|
|
|
222
246
|
return;
|
|
223
247
|
}
|
|
224
248
|
if (resp.stopReason !== 'tool_use') {
|
|
249
|
+
// Turn-settle hook: a consumer (e.g. the coding agent's verify gate) may run
|
|
250
|
+
// a check and return content to inject, continuing the loop so the model
|
|
251
|
+
// fixes regressions before the turn ends. No hook / null → finish normally.
|
|
252
|
+
if (config.onSettle && !aborter.signal.aborted) {
|
|
253
|
+
const cont = await config.onSettle();
|
|
254
|
+
if (cont && !aborter.signal.aborted) {
|
|
255
|
+
const content = typeof cont === 'string' ? [{ type: 'text', text: cont }] : cont;
|
|
256
|
+
messages = [...messages, { role: 'user', content }];
|
|
257
|
+
await persist('running');
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
225
261
|
config.onEvent?.({ type: 'done' });
|
|
226
262
|
return;
|
|
227
263
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runAgent.js","sourceRoot":"","sources":["../../../src/agent/client/runAgent.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,qEAAqE;AACrE,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,gCAAgC;AAChC,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,gDAAgD;AAGhD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GAOvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,oBAAoB,GAIrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AAkFzE,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEnF,SAAS,MAAM;IACb,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CAAC,OAAsB;IAC5C,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAsB;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC;IACtD,IAAI,QAAQ,GAAc,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAyB,oBAAoB,EAAE,CAAC;IAC1D,IAAI,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,+CAA+C;IAC/C,IAAI,KAAK,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAC7B,uBAAuB,EACvB,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAChD,GAAG,EAAE,GAAE,CAAC,EACR,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,GAAG,GAAG,GAAsD,CAAC;YACnE,MAAM,KAAK,GAAI,GAAoC,CAAC,KAAK,IAAK,GAAwB,CAAC;YACvF,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YACvD,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5E,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,MAA8B;QACnD,IAAI,CAAC,MAAM,CAAC,YAAY;YAAE,OAAO;QACjC,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,QAAQ;YACR,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,eAAe,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,cAAc;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM;YACtD,OAAO,sBAAsB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;QAC3E,IACE,CAAC,CAAC,SAAS,KAAK,SAAS;YACzB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS;YAEvD,OAAO,sBAAsB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC;QAC5F,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ;YACxD,OAAO,qBAAqB,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC,QAAQ,GAAG,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,KAAK,UAAU,WAAW,CAAC,KAAa;QACtC,IAAI,OAAgB,CAAC;QACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,UAAU,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG;oBAChB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ;oBACR,KAAK;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,QAAQ;oBACR,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvD,CAAC;gBACF,uEAAuE;gBACvE,uEAAuE;gBACvE,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAC7C,WAAW,EACX,SAAS,EACT,CAAC,GAAG,EAAE,EAAE;wBACN,MAAM,KAAK,GAAG,GAAuB,CAAC;wBACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;4BAAE,OAAO;wBACrD,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;wBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;4BAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC5E,CAAC,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC3B,CAAsB,CAAC;oBACxB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CACvC,WAAW,EACX,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC5C,CAAsB,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,IAAI,UAAU,EAAE,CAAC;gBACnD,OAAO,GAAG,GAAG,CAAC;gBACd,IAAI,OAAO,GAAG,eAAe;oBAAE,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,MAAM,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,GAAe;QACpC,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,CAAC,EAAE;oBACL,OAAO;wBACL,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,GAAG,CAAC,EAAE;wBACnB,OAAO,EAAE,SAAS,GAAG,CAAC,IAAI,iCAAiC;qBAC5D,CAAC;YACN,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO;gBACV,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,GAAG,CAAC,EAAE;oBACnB,OAAO,EAAE,+BAA+B,GAAG,CAAC,IAAI,IAAI;iBACrD,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,GAAG,CAAC,EAAE;gBACnB,OAAO,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,IAAkB;QAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,2DAA2D;QAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAA6B,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC;IAC1C,CAAC;IAED,0EAA0E;IAC1E,KAAK,UAAU,IAAI;QACjB,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,CAAC;YACH,SAAS,CAAC;gBACR,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBACtC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;gBAChC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;oBACtB,OAAO;gBACT,CAAC;gBAED,sEAAsE;gBACtE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC7D,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;wBAChB,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;wBACtB,MAAM,CAAC,OAAO,EAAE,CAAC;4BACf,IAAI,EAAE,YAAY;4BAClB,YAAY,EAAE,CAAC,CAAC,YAAY;4BAC5B,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC7C,CAAC,CAAC;wBACH,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;gBACvB,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;gBAEtC,MAAM,aAAa,GAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5E,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE;wBAC/B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS;4BAC1C,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;4BAC7C,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS;4BAC3C,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;4BAC/C,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;4BACtC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;4BACrC,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,EAAE,WAAW;oBACjB,KAAK;oBACL,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAEnE,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;oBAChC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAC,CAAC;oBAC/E,OAAO;gBACT,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACnC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBACnC,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnD,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7D,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACtC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/F,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,QAAQ;YACjB,IAAI,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxE,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;YAC5D,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9D,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC5B,MAAM,GAAG,OAAO,CAAC,eAAe,IAAI,oBAAoB,EAAE,CAAC;YAC3D,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;YAC5D,kEAAkE;YAClE,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;oBACzC,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC7D,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzB,MAAM,IAAI,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,WAAW;YACT,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,kBAAkB;YAChB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO;YACL,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,EAAE,CAAC;QACV,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAW,SAAQ,KAAK;IAC5B;QACE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"runAgent.js","sourceRoot":"","sources":["../../../src/agent/client/runAgent.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.807";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.807",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
|
|
6
6
|
"files": [
|
|
@@ -100,6 +100,17 @@ export interface RunAgentConfig {
|
|
|
100
100
|
onTurn?: (turn: Message, telemetry?: MsgTelemetry) => void;
|
|
101
101
|
onEvent?: (event: AgentEvent) => void;
|
|
102
102
|
onFrame?: (frame: AgentStreamFrame) => void;
|
|
103
|
+
/**
|
|
104
|
+
* Turn-settle hook. Called when the model ENDS a turn (no more tool calls),
|
|
105
|
+
* BEFORE the loop finishes. Return user-message content (a string or ContentPart[])
|
|
106
|
+
* to INJECT and CONTINUE the loop instead of finishing — e.g. an automated verify
|
|
107
|
+
* gate that runs the project's typecheck after edits and, on failure, feeds the
|
|
108
|
+
* errors back so the model fixes them in the same turn. Return null/undefined to let
|
|
109
|
+
* the turn finish normally. Budget / maxTurns still bound total work, so a consumer
|
|
110
|
+
* that always returns content can't loop forever. Optional and backward-compatible:
|
|
111
|
+
* with no hook, behavior is unchanged.
|
|
112
|
+
*/
|
|
113
|
+
onSettle?: () => Promise<ContentPart[] | string | null | undefined>;
|
|
103
114
|
}
|
|
104
115
|
|
|
105
116
|
export interface AgentController {
|
|
@@ -170,6 +181,14 @@ export function runAgent(config: RunAgentConfig): AgentController {
|
|
|
170
181
|
});
|
|
171
182
|
}
|
|
172
183
|
|
|
184
|
+
// Extra turns granted PAST the turn cap, only to let onSettle's verify gate apply a
|
|
185
|
+
// fix (so a task that used its whole budget building can't ship a broken build). The
|
|
186
|
+
// hook's own internal cap bounds how many times it can extend this. Cost/token caps
|
|
187
|
+
// are hard and never extended.
|
|
188
|
+
let verifyGrace = 0;
|
|
189
|
+
const VERIFY_GRACE_STEP = 3;
|
|
190
|
+
const VERIFY_GRACE_MAX = 12;
|
|
191
|
+
|
|
173
192
|
function budgetExceeded(): string | null {
|
|
174
193
|
const b = config.budget;
|
|
175
194
|
if (!b) return null;
|
|
@@ -180,7 +199,7 @@ export function runAgent(config: RunAgentConfig): AgentController {
|
|
|
180
199
|
totals.inputTokens + totals.outputTokens >= b.maxTokens
|
|
181
200
|
)
|
|
182
201
|
return `token cap reached (${totals.inputTokens + totals.outputTokens} ≥ ${b.maxTokens})`;
|
|
183
|
-
if (b.maxTurns !== undefined && totals.turns >= b.maxTurns)
|
|
202
|
+
if (b.maxTurns !== undefined && totals.turns >= b.maxTurns + verifyGrace)
|
|
184
203
|
return `turn cap reached (${totals.turns} ≥ ${b.maxTurns})`;
|
|
185
204
|
return null;
|
|
186
205
|
}
|
|
@@ -284,6 +303,26 @@ export function runAgent(config: RunAgentConfig): AgentController {
|
|
|
284
303
|
}
|
|
285
304
|
const capped = budgetExceeded();
|
|
286
305
|
if (capped) {
|
|
306
|
+
// A turn cap must not let the model ship a broken build: give onSettle one
|
|
307
|
+
// chance to run its verify gate + inject a fix, and grant a few grace turns so
|
|
308
|
+
// the model can actually apply it. Bounded by VERIFY_GRACE_MAX + the hook's own
|
|
309
|
+
// internal cap. Cost/token caps are hard and skip this.
|
|
310
|
+
if (
|
|
311
|
+
capped.startsWith('turn cap') &&
|
|
312
|
+
verifyGrace < VERIFY_GRACE_MAX &&
|
|
313
|
+
config.onSettle &&
|
|
314
|
+
!aborter.signal.aborted
|
|
315
|
+
) {
|
|
316
|
+
const cont = await config.onSettle();
|
|
317
|
+
if (cont && !aborter.signal.aborted) {
|
|
318
|
+
verifyGrace += VERIFY_GRACE_STEP;
|
|
319
|
+
const content: ContentPart[] =
|
|
320
|
+
typeof cont === 'string' ? [{ type: 'text', text: cont }] : cont;
|
|
321
|
+
messages = [...messages, { role: 'user', content }];
|
|
322
|
+
await persist('running');
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
287
326
|
config.onEvent?.({ type: 'budget_exceeded', reason: capped, totals });
|
|
288
327
|
await persist('done');
|
|
289
328
|
return;
|
|
@@ -337,6 +376,19 @@ export function runAgent(config: RunAgentConfig): AgentController {
|
|
|
337
376
|
return;
|
|
338
377
|
}
|
|
339
378
|
if (resp.stopReason !== 'tool_use') {
|
|
379
|
+
// Turn-settle hook: a consumer (e.g. the coding agent's verify gate) may run
|
|
380
|
+
// a check and return content to inject, continuing the loop so the model
|
|
381
|
+
// fixes regressions before the turn ends. No hook / null → finish normally.
|
|
382
|
+
if (config.onSettle && !aborter.signal.aborted) {
|
|
383
|
+
const cont = await config.onSettle();
|
|
384
|
+
if (cont && !aborter.signal.aborted) {
|
|
385
|
+
const content: ContentPart[] =
|
|
386
|
+
typeof cont === 'string' ? [{ type: 'text', text: cont }] : cont;
|
|
387
|
+
messages = [...messages, { role: 'user', content }];
|
|
388
|
+
await persist('running');
|
|
389
|
+
continue;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
340
392
|
config.onEvent?.({ type: 'done' });
|
|
341
393
|
return;
|
|
342
394
|
}
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.807";
|