@yagni-app/code-staging 1.2.4-staging.1836.1 → 1.2.5-staging.1848.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.
@@ -135,7 +135,13 @@ const CREDIT_EXHAUSTION_RE = /out of credits|insufficient_quota|payment required
135
135
  * and never reported as the workspace's credits (production 2026-10-08: a $25
136
136
  * run budget read as "the workspace ran out of credits").
137
137
  */
138
- const RUN_BUDGET_EXHAUSTION_RE = /run_budget_exhausted|run_request_limit_exhausted|This Run has reached its model-request or approved packet budget|This Run has used its \d+ model requests/;
138
+ const RUN_BUDGET_EXHAUSTION_RE = /run_budget_exhausted|This Run has reached its model-request or approved packet budget/;
139
+ /**
140
+ * The Run's model-request limit, apart from its budget: the budget may still
141
+ * have room, and the person raises a different setting. Checked first, so a
142
+ * body naming the limit reads as the limit.
143
+ */
144
+ const RUN_REQUEST_LIMIT_RE = /run_request_limit_exhausted|This Run has used its \d+ model requests/;
139
145
  /**
140
146
  * The silent-402 landmine: when the workspace runs out of credits mid-run, the
141
147
  * proxy 402s every model request, the child pi exits 0 with an EMPTY transcript,
@@ -150,6 +156,10 @@ function creditExhaustionReason(r) {
150
156
  if (r.finalOutput.trim().length > 0 && !isFailed(r))
151
157
  return undefined;
152
158
  const hay = `${r.errorMessage ?? ""}\n${r.stderr}`;
159
+ // The backend reads both sentences (`pipelineStopCause` in missionPipelineStream.ts).
160
+ if (RUN_REQUEST_LIMIT_RE.test(hay)) {
161
+ return "this run used all the model calls it is allowed (the model proxy refused further calls). Raise the Team's run limit or revise the plan, then re-run /go.";
162
+ }
153
163
  if (RUN_BUDGET_EXHAUSTION_RE.test(hay)) {
154
164
  return "this run reached its approved budget (the model proxy refused further calls). Raise the Team's run budget or revise the plan, then re-run /go.";
155
165
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yagni-app/code-staging",
3
- "version": "1.2.4-staging.1836.1",
3
+ "version": "1.2.5-staging.1848.1",
4
4
  "description": "YAGNI Code: a terminal coding agent that already knows your company. One YAGNI login routes the model and grounds the agent in your team's context.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "YAGNI, Inc. <jack@yagni.app> (https://yagni.app)",
@@ -58,5 +58,5 @@
58
58
  "turndown": "^7.2.4",
59
59
  "typebox": "^1.3.15"
60
60
  },
61
- "yagniSourceSha": "8d2991e48d09bea965171cab799762f101caec12"
61
+ "yagniSourceSha": "0ad67d29fd235904ec82af5e2ac906e35eae17df"
62
62
  }