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.
@@ -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":"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"}
1
+ {"version":3,"file":"runAgent.js","sourceRoot":"","sources":["../../../src/agent/client/runAgent.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.805";
1
+ export declare const CLI_VERSION = "0.1.807";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.805";
2
+ export const CLI_VERSION = "0.1.807";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.805",
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
  }
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.805";
2
+ export const CLI_VERSION = "0.1.807";
@@ -4,6 +4,7 @@
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "ugly-app dev --watch",
7
+ "typecheck": "tsc --noEmit",
7
8
  "build": "ugly-app build",
8
9
  "build:workers": "ugly-app build:workers",
9
10
  "lint": "ugly-app lint",