@adhdev/mesh-shared 1.0.72 → 1.0.74

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.
@@ -239,6 +239,14 @@ export type TurnEvidenceBody = {
239
239
  * a commit. Absent = no reporting surface = today's genuine-end commit.
240
240
  */
241
241
  reportExpected?: boolean;
242
+ /**
243
+ * Stamped by the WORKER's daemon when the turn's whole reply is a provider
244
+ * auth/billing failure banner (claude-cli "Login expired · Please run
245
+ * /login", 2026-10-06 preview incident). The owner commits the attempt
246
+ * `failed / provider_auth_failed` (R9f) instead of reading the idle edge
247
+ * as a completion. Closed enum — the banner text itself never travels.
248
+ */
249
+ providerFailure?: ProviderFailure;
242
250
  } | {
243
251
  kind: 'transcript_final';
244
252
  selfAttributing: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adhdev/mesh-shared",
3
- "version": "1.0.72",
3
+ "version": "1.0.74",
4
4
  "description": "ADHDev mesh-shared — pure mesh/git status normalizers shared by daemon-core and web-core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -258,7 +258,15 @@ export type TurnEvidenceBody =
258
258
  * owner then treats a genuine end as a report-awaiting candidate (R9r), not
259
259
  * a commit. Absent = no reporting surface = today's genuine-end commit.
260
260
  */
261
- reportExpected?: boolean }
261
+ reportExpected?: boolean
262
+ /**
263
+ * Stamped by the WORKER's daemon when the turn's whole reply is a provider
264
+ * auth/billing failure banner (claude-cli "Login expired · Please run
265
+ * /login", 2026-10-06 preview incident). The owner commits the attempt
266
+ * `failed / provider_auth_failed` (R9f) instead of reading the idle edge
267
+ * as a completion. Closed enum — the banner text itself never travels.
268
+ */
269
+ providerFailure?: ProviderFailure }
262
270
  | { kind: 'transcript_final'; selfAttributing: boolean; nativeRead: boolean; nativeMarker?: NativeTurnMarkerRef
263
271
  live: LiveTurnPending; summary?: SummaryRef; messageAt?: number }
264
272
  | { kind: 'transcript_activity'; newestActivityAt: number }
@@ -348,7 +356,7 @@ export const TURN_EVIDENCE_FIELD_SPECS: TurnEvidenceFieldSpecs = {
348
356
  strength: en(TURN_END_STRENGTHS), afterFinalizationTimeout: boolOpt, hollow: boolOpt,
349
357
  summary: { t: 'summary_ref', optional: true }, blockReason: enOpt(TURN_END_BLOCK_REASONS),
350
358
  releasedByHardCap: boolOpt, nativeOutcome: enOpt(NATIVE_TURN_OUTCOMES), live: { t: 'live', optional: true },
351
- reportExpected: boolOpt,
359
+ reportExpected: boolOpt, providerFailure: enOpt(PROVIDER_FAILURES),
352
360
  },
353
361
  transcript_final: {
354
362
  selfAttributing: bool, nativeRead: bool, nativeMarker: { t: 'native_marker', optional: true },