@namzu/zen 1.0.1 → 1.0.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @namzu/zen
2
2
 
3
+ ## 1.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 6551d15: Fix two error-classification bugs in the Zen driver that could misreport a genuine upstream failure (`overloaded`/`5xx`) as an unreachable-network one, or an unreachable-network one as an upstream server failure, depending on how the connection actually failed.
8
+
9
+ - **A connection Zen's own SDK layer never got any HTTP response on (a transport failure such as `ECONNREFUSED`, or a proxy reset) is now classified `provider.network` ("could not reach the provider"), not `provider.unavailable` ("the provider is failing on its own side").** The driver used to default a missing status code to a fabricated `502`, which read as a genuine 5xx from the provider and pointed an operator at "resume once it recovers" for a request that in fact never reached the wire at all.
10
+ - **A client-side timeout or aborted request (what a `fetch` call rejects with when `AbortSignal.timeout` fires — the shape behind Zen's free/anonymous models occasionally not answering in time) now keeps the platform's real reason in the error's `detail`** instead of the generic fallback "The model stream failed." (`message`/`name` on that rejection live on the prototype, not as own properties, and the driver's own fingerprinting was reading only own properties).
11
+ - **Every classified failure from a `chatStream` call now names the model in its message and `detail`** (e.g. `model "big-pickle": …`), so a run juggling more than one model — or a log line read without the status line above it — still says which request failed. `providerId` (`"zen"` / `"zen-go"`) is unchanged; nothing keys on it differently.
12
+
13
+ No public API changes. Nothing here indicates a Zen catalogue problem: `big-pickle` and every other listed model are unaffected by this fix, which only corrects how an already-thrown failure is classified and described.
14
+
3
15
  ## 1.0.1
4
16
 
5
17
  ### Patch Changes
package/dist/client.d.ts CHANGED
@@ -22,6 +22,17 @@ export declare class ZenProvider implements LLMProvider {
22
22
  listModels(signal?: AbortSignal): Promise<ModelInfo[]>;
23
23
  reasoningEffortLevelsFor(model: string, _thinking?: ThinkingConfig): readonly ReasoningEffort[] | undefined;
24
24
  resolveContextWindow(model: string, signal?: AbortSignal): Promise<number | undefined>;
25
+ /**
26
+ * Classify a caught throwable into a `ProviderRequestError`.
27
+ *
28
+ * `model`, when given, names the request that failed: a driver-level
29
+ * detail like "the operation was aborted due to timeout" says nothing
30
+ * about WHICH model was unreachable, and an operator watching a run that
31
+ * spans several models (a fallback chain, `resolveContextWindow`, a
32
+ * chat vs. a catalogue call) needs that in the one sentence the error
33
+ * carries, not just in a status line above it that a log line will not
34
+ * repeat. `listModels()` has no single model to name and omits it.
35
+ */
25
36
  private failure;
26
37
  }
27
38
  export declare class ZenGoProvider extends ZenProvider {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAaA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EAMnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,aAAa,CAAA;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExD,eAAO,MAAM,gBAAgB,EAAE,oBAS9B,CAAA;AAED,eAAO,MAAM,YAAY,+BAA+B,CAAA;AACxD,eAAO,MAAM,eAAe,kCAAkC,CAAA;AAE9D,oFAAoF;AACpF,qBAAa,WAAY,YAAW,WAAW;IAY7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,QAAQ,CAAC,OAAO,EAAE,UAAU;IAZ7B,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,uBAAmB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAGjB,MAAM,GAAE,SAAc,EAC9B,OAAO,GAAE,UAAkB;IA+C9B,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC;IAsUrE,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAoC5D,wBAAwB,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,cAAc,GACxB,SAAS,eAAe,EAAE,GAAG,SAAS;IAInC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK5F,OAAO,CAAC,OAAO;CAuBf;AAED,qBAAa,aAAc,SAAQ,WAAW;gBACjC,MAAM,EAAE,WAAW;CAG/B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAaA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EAMnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,aAAa,CAAA;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExD,eAAO,MAAM,gBAAgB,EAAE,oBAS9B,CAAA;AAED,eAAO,MAAM,YAAY,+BAA+B,CAAA;AACxD,eAAO,MAAM,eAAe,kCAAkC,CAAA;AAE9D,oFAAoF;AACpF,qBAAa,WAAY,YAAW,WAAW;IAY7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,QAAQ,CAAC,OAAO,EAAE,UAAU;IAZ7B,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,uBAAmB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAGjB,MAAM,GAAE,SAAc,EAC9B,OAAO,GAAE,UAAkB;IA+C9B,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC;IAsUrE,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAoC5D,wBAAwB,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,cAAc,GACxB,SAAS,eAAe,EAAE,GAAG,SAAS;IAInC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK5F;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO;CA+Df;AAED,qBAAa,aAAc,SAAQ,WAAW;gBACjC,MAAM,EAAE,WAAW;CAG/B"}
package/dist/client.js CHANGED
@@ -367,7 +367,7 @@ export class ZenProvider {
367
367
  throw params.signal.reason;
368
368
  if (isProviderRequestError(error))
369
369
  throw error;
370
- throw this.failure(error);
370
+ throw this.failure(error, model);
371
371
  }
372
372
  finally {
373
373
  controller.abort();
@@ -422,27 +422,73 @@ export class ZenProvider {
422
422
  signal?.throwIfAborted();
423
423
  return findZenModel(this.service, model)?.contextWindow;
424
424
  }
425
- failure(error) {
425
+ /**
426
+ * Classify a caught throwable into a `ProviderRequestError`.
427
+ *
428
+ * `model`, when given, names the request that failed: a driver-level
429
+ * detail like "the operation was aborted due to timeout" says nothing
430
+ * about WHICH model was unreachable, and an operator watching a run that
431
+ * spans several models (a fallback chain, `resolveContextWindow`, a
432
+ * chat vs. a catalogue call) needs that in the one sentence the error
433
+ * carries, not just in a status line above it that a log line will not
434
+ * repeat. `listModels()` has no single model to name and omits it.
435
+ */
436
+ failure(error, model) {
426
437
  const scrub = (text) => this.anonymous ? text : text.split(this.apiKey).join('[REDACTED:api-key]');
427
- if (APICallError.isInstance(error))
428
- return providerHttpError({
438
+ // Fold the model into `detail` — never into `providerId`, which pricing,
439
+ // telemetry and route-equality checks key on as an exact 'zen'/'zen-go'
440
+ // literal — by rebuilding the classified error with the same kind,
441
+ // status and code, so `.message` and `.detail` both name the model
442
+ // alongside whatever the provider (or the transport) said.
443
+ const named = (err) => {
444
+ if (!model)
445
+ return err;
446
+ return new ProviderRequestError({
447
+ kind: err.kind,
448
+ providerId: err.providerId,
449
+ ...(err.providerCode !== undefined ? { providerCode: err.providerCode } : {}),
450
+ ...(err.status !== undefined ? { status: err.status } : {}),
451
+ ...(err.retryAfterMs !== undefined ? { retryAfterMs: err.retryAfterMs } : {}),
452
+ detail: err.detail ? `model "${model}": ${err.detail}` : `model "${model}"`,
453
+ });
454
+ };
455
+ // `APICallError` also wraps a TRANSPORT failure — a connection the
456
+ // vendor SDK never got a response on at all, e.g. `ECONNREFUSED` — and
457
+ // on those `error.statusCode` is `undefined`. The `?? 502` that used to
458
+ // sit here manufactured an HTTP 502 for a request that never reached
459
+ // the wire: `classifyProviderHttpStatus` reads that as a genuine
460
+ // upstream 5xx and reports `kind: 'server'` — "the provider is failing
461
+ // on its own side, resume once it recovers" — when what actually
462
+ // happened is this host could not open the connection at all, which is
463
+ // `kind: 'network'`'s story ("check network reachability … "), not the
464
+ // server's. A real status is still handled exactly as before.
465
+ if (APICallError.isInstance(error) && error.statusCode !== undefined)
466
+ return named(providerHttpError({
429
467
  providerId: this.id,
430
- status: error.statusCode ?? 502,
468
+ status: error.statusCode,
431
469
  body: scrub(error.responseBody ?? error.message),
432
470
  retryAfter: error.responseHeaders?.['retry-after'],
433
- });
471
+ }));
472
+ if (APICallError.isInstance(error))
473
+ return named(providerVendorError({
474
+ providerId: this.id,
475
+ // A fresh Error, not the `APICallError` itself: only the
476
+ // scrubbed message crosses this boundary, never its
477
+ // `responseBody`/`responseHeaders`/`cause`.
478
+ error: new Error(scrub(error.message)),
479
+ }));
434
480
  // Native streaming adapters can emit plain error envelopes after HTTP 200.
435
481
  // Keep only classification fields; never attach the original error/cause.
436
482
  const envelope = safeErrorEnvelope(error);
437
483
  const body = scrub(JSON.stringify(envelope));
438
484
  if (envelope.status !== undefined)
439
- return providerHttpError({ providerId: this.id, status: envelope.status, body });
440
- return providerVendorError({
485
+ return named(providerHttpError({ providerId: this.id, status: envelope.status, body }));
486
+ return named(providerVendorError({
441
487
  providerId: this.id,
442
488
  error: Object.assign(new Error(body), {
443
489
  ...(envelope.code !== undefined ? { code: scrub(envelope.code) } : {}),
444
490
  }),
445
- });
491
+ }));
446
492
  }
447
493
  }
448
494
  export class ZenGoProvider extends ZenProvider {
@@ -451,8 +497,21 @@ export class ZenGoProvider extends ZenProvider {
451
497
  }
452
498
  }
453
499
  function safeErrorEnvelope(error) {
500
+ // Plain property access, not `Object.getOwnPropertyDescriptor`: `message`
501
+ // and `name` are defined on the PROTOTYPE for platform error classes like
502
+ // `DOMException` (what `fetch`'s own `AbortSignal.timeout` rejects with),
503
+ // so an own-property-only read silently came back `undefined` for every
504
+ // field on exactly the errors this branch exists to describe — a client
505
+ // timeout or an aborted connection — and fell through to the hardcoded
506
+ // "The model stream failed." This does not touch the safety property: the
507
+ // five fields read here (type/code/message/status/statusCode) are the
508
+ // same ones a JSON vendor envelope would carry as OWN properties, and
509
+ // normal property access reads a vendor object's own fields exactly as
510
+ // `own` did — it only additionally reaches a HOST class's prototype
511
+ // accessors, never anything nested or secret-shaped that the type/length
512
+ // guards below would not already exclude.
454
513
  const own = (value, key) => typeof value === 'object' && value !== null
455
- ? Object.getOwnPropertyDescriptor(value, key)?.value
514
+ ? value[key]
456
515
  : undefined;
457
516
  const nested = own(error, 'error');
458
517
  const source = typeof nested === 'object' && nested !== null ? nested : error;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/zen",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Zen and Go model provider for the Namzu agent kernel, with native protocol routing and conversation attribution.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "engines": {
@@ -66,7 +66,7 @@
66
66
  "typescript": "^5.5.0",
67
67
  "vitest": "^3.2.6",
68
68
  "zod": "^3.23.0",
69
- "@namzu/sdk": "^39.0.0"
69
+ "@namzu/sdk": "^40.0.0"
70
70
  },
71
71
  "scripts": {
72
72
  "build": "tsc --build",
package/src/client.ts CHANGED
@@ -422,7 +422,7 @@ export class ZenProvider implements LLMProvider {
422
422
  } catch (error) {
423
423
  if (params.signal?.aborted) throw params.signal.reason
424
424
  if (isProviderRequestError(error)) throw error
425
- throw this.failure(error)
425
+ throw this.failure(error, model)
426
426
  } finally {
427
427
  controller.abort()
428
428
  if (reader) {
@@ -480,28 +480,79 @@ export class ZenProvider implements LLMProvider {
480
480
  return findZenModel(this.service, model)?.contextWindow
481
481
  }
482
482
 
483
- private failure(error: unknown): ProviderRequestError {
483
+ /**
484
+ * Classify a caught throwable into a `ProviderRequestError`.
485
+ *
486
+ * `model`, when given, names the request that failed: a driver-level
487
+ * detail like "the operation was aborted due to timeout" says nothing
488
+ * about WHICH model was unreachable, and an operator watching a run that
489
+ * spans several models (a fallback chain, `resolveContextWindow`, a
490
+ * chat vs. a catalogue call) needs that in the one sentence the error
491
+ * carries, not just in a status line above it that a log line will not
492
+ * repeat. `listModels()` has no single model to name and omits it.
493
+ */
494
+ private failure(error: unknown, model?: string): ProviderRequestError {
484
495
  const scrub = (text: string) =>
485
496
  this.anonymous ? text : text.split(this.apiKey).join('[REDACTED:api-key]')
486
- if (APICallError.isInstance(error))
487
- return providerHttpError({
488
- providerId: this.id,
489
- status: error.statusCode ?? 502,
490
- body: scrub(error.responseBody ?? error.message),
491
- retryAfter: error.responseHeaders?.['retry-after'],
497
+ // Fold the model into `detail` — never into `providerId`, which pricing,
498
+ // telemetry and route-equality checks key on as an exact 'zen'/'zen-go'
499
+ // literal — by rebuilding the classified error with the same kind,
500
+ // status and code, so `.message` and `.detail` both name the model
501
+ // alongside whatever the provider (or the transport) said.
502
+ const named = (err: ProviderRequestError): ProviderRequestError => {
503
+ if (!model) return err
504
+ return new ProviderRequestError({
505
+ kind: err.kind,
506
+ providerId: err.providerId,
507
+ ...(err.providerCode !== undefined ? { providerCode: err.providerCode } : {}),
508
+ ...(err.status !== undefined ? { status: err.status } : {}),
509
+ ...(err.retryAfterMs !== undefined ? { retryAfterMs: err.retryAfterMs } : {}),
510
+ detail: err.detail ? `model "${model}": ${err.detail}` : `model "${model}"`,
492
511
  })
512
+ }
513
+ // `APICallError` also wraps a TRANSPORT failure — a connection the
514
+ // vendor SDK never got a response on at all, e.g. `ECONNREFUSED` — and
515
+ // on those `error.statusCode` is `undefined`. The `?? 502` that used to
516
+ // sit here manufactured an HTTP 502 for a request that never reached
517
+ // the wire: `classifyProviderHttpStatus` reads that as a genuine
518
+ // upstream 5xx and reports `kind: 'server'` — "the provider is failing
519
+ // on its own side, resume once it recovers" — when what actually
520
+ // happened is this host could not open the connection at all, which is
521
+ // `kind: 'network'`'s story ("check network reachability … "), not the
522
+ // server's. A real status is still handled exactly as before.
523
+ if (APICallError.isInstance(error) && error.statusCode !== undefined)
524
+ return named(
525
+ providerHttpError({
526
+ providerId: this.id,
527
+ status: error.statusCode,
528
+ body: scrub(error.responseBody ?? error.message),
529
+ retryAfter: error.responseHeaders?.['retry-after'],
530
+ }),
531
+ )
532
+ if (APICallError.isInstance(error))
533
+ return named(
534
+ providerVendorError({
535
+ providerId: this.id,
536
+ // A fresh Error, not the `APICallError` itself: only the
537
+ // scrubbed message crosses this boundary, never its
538
+ // `responseBody`/`responseHeaders`/`cause`.
539
+ error: new Error(scrub(error.message)),
540
+ }),
541
+ )
493
542
  // Native streaming adapters can emit plain error envelopes after HTTP 200.
494
543
  // Keep only classification fields; never attach the original error/cause.
495
544
  const envelope = safeErrorEnvelope(error)
496
545
  const body = scrub(JSON.stringify(envelope))
497
546
  if (envelope.status !== undefined)
498
- return providerHttpError({ providerId: this.id, status: envelope.status, body })
499
- return providerVendorError({
500
- providerId: this.id,
501
- error: Object.assign(new Error(body), {
502
- ...(envelope.code !== undefined ? { code: scrub(envelope.code) } : {}),
547
+ return named(providerHttpError({ providerId: this.id, status: envelope.status, body }))
548
+ return named(
549
+ providerVendorError({
550
+ providerId: this.id,
551
+ error: Object.assign(new Error(body), {
552
+ ...(envelope.code !== undefined ? { code: scrub(envelope.code) } : {}),
553
+ }),
503
554
  }),
504
- })
555
+ )
505
556
  }
506
557
  }
507
558
 
@@ -517,9 +568,22 @@ function safeErrorEnvelope(error: unknown): {
517
568
  message: string
518
569
  status?: number
519
570
  } {
571
+ // Plain property access, not `Object.getOwnPropertyDescriptor`: `message`
572
+ // and `name` are defined on the PROTOTYPE for platform error classes like
573
+ // `DOMException` (what `fetch`'s own `AbortSignal.timeout` rejects with),
574
+ // so an own-property-only read silently came back `undefined` for every
575
+ // field on exactly the errors this branch exists to describe — a client
576
+ // timeout or an aborted connection — and fell through to the hardcoded
577
+ // "The model stream failed." This does not touch the safety property: the
578
+ // five fields read here (type/code/message/status/statusCode) are the
579
+ // same ones a JSON vendor envelope would carry as OWN properties, and
580
+ // normal property access reads a vendor object's own fields exactly as
581
+ // `own` did — it only additionally reaches a HOST class's prototype
582
+ // accessors, never anything nested or secret-shaped that the type/length
583
+ // guards below would not already exclude.
520
584
  const own = (value: unknown, key: string): unknown =>
521
585
  typeof value === 'object' && value !== null
522
- ? Object.getOwnPropertyDescriptor(value, key)?.value
586
+ ? (value as Record<string, unknown>)[key]
523
587
  : undefined
524
588
  const nested = own(error, 'error')
525
589
  const source = typeof nested === 'object' && nested !== null ? nested : error