@namzu/zen 2.5.2 → 3.0.0

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/prompt.js CHANGED
@@ -1,5 +1,13 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { ProviderRequestError, isModelContentOmission, } from '@namzu/sdk';
3
+ /** Muse Spark's Responses gateway cannot round-trip caller-bound encrypted reasoning. */
4
+ export function isMuseSparkResponsesModel(model, protocol) {
5
+ return protocol === 'responses' && model.startsWith('muse-spark-');
6
+ }
7
+ /** Go's DeepSeek V4 Responses lane requires reasoning before each assistant turn. */
8
+ export function isGoDeepSeekV4ResponsesModel(service, model, protocol) {
9
+ return service === 'go' && protocol === 'responses' && model === 'deepseek-v4-flash';
10
+ }
3
11
  class HistoryConversionError extends Error {
4
12
  }
5
13
  function record(value) {
@@ -225,7 +233,23 @@ function replayContent(message, params, index, route, service, protocol) {
225
233
  state.projectionDigest !== digest(nativeProjection(content)) ||
226
234
  state.projectionDigest !== digest(projection(message)))
227
235
  return undefined;
228
- return content.map((part) => {
236
+ // Validate the original completed turn before dropping Muse's reasoning items.
237
+ // Their encrypted content belongs to the gateway's upstream caller and fails
238
+ // when replayed in a later tool round. Text and tool calls still round-trip.
239
+ let replayParts = isMuseSparkResponsesModel(params.model, protocol)
240
+ ? content.filter((part) => part.type !== 'reasoning')
241
+ : content;
242
+ if (isGoDeepSeekV4ResponsesModel(service, params.model, protocol)) {
243
+ // The native adapter emits each part in source order. Go rejects an
244
+ // assistant message between a function_call and its output, so group
245
+ // captured reasoning and text before this turn's tool-call batch.
246
+ replayParts = [
247
+ ...replayParts.filter((part) => part.type === 'reasoning'),
248
+ ...replayParts.filter((part) => part.type === 'text'),
249
+ ...replayParts.filter((part) => part.type === 'tool-call'),
250
+ ];
251
+ }
252
+ return replayParts.map((part) => {
229
253
  const providerOptions = part.providerMetadata === undefined
230
254
  ? undefined
231
255
  : JSON.parse(JSON.stringify(part.providerMetadata));
@@ -233,7 +257,10 @@ function replayContent(message, params, index, route, service, protocol) {
233
257
  // The compatible adapter reads Gemini call signatures from the google namespace.
234
258
  const thoughtSignature = metadataString(part, 'thoughtSignature');
235
259
  if (protocol === 'chat' && providerOptions && thoughtSignature !== undefined) {
236
- providerOptions.google = { ...providerOptions.google, thoughtSignature };
260
+ providerOptions.google = {
261
+ ...providerOptions.google,
262
+ thoughtSignature,
263
+ };
237
264
  }
238
265
  return {
239
266
  type: 'tool-call',
@@ -243,7 +270,11 @@ function replayContent(message, params, index, route, service, protocol) {
243
270
  ...(providerOptions && { providerOptions }),
244
271
  };
245
272
  }
246
- return { type: part.type, text: part.text, ...(providerOptions && { providerOptions }) };
273
+ return {
274
+ type: part.type,
275
+ text: part.text,
276
+ ...(providerOptions && { providerOptions }),
277
+ };
247
278
  });
248
279
  }
249
280
  function attachment(attachment) {
@@ -384,7 +415,9 @@ function isRequestOnlyContext(message) {
384
415
  message.source?.type === 'runtime-context' &&
385
416
  message.source.kind === 'step-context');
386
417
  }
387
- const BREAKPOINT = { anthropic: { cacheControl: { type: 'ephemeral' } } };
418
+ const BREAKPOINT = {
419
+ anthropic: { cacheControl: { type: 'ephemeral' } },
420
+ };
388
421
  /**
389
422
  * Messages-protocol cache breakpoints, block-level: after the last static
390
423
  * system message, and on the last non-system message before request-only
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import type { ZenCatalogue } from './catalogue/catalogue.js';
2
2
  import type { ZenProtocol } from './models.js';
3
3
  export interface ZenConfig {
4
- /** Omit for documented free Zen models. The public sentinel also selects anonymous access. */
4
+ /** Omit for a model admitted to direct anonymous Zen access; `public` selects the same path. */
5
5
  apiKey?: string;
6
6
  /** Stable conversation identity, shared by every turn and auxiliary request. */
7
7
  sessionId?: string;
8
- /** Defaults to free Muse Spark 1.3 anonymously, or glm-5.3-flash with an API key. */
8
+ /** Defaults to Space Bunny Free anonymously, or glm-5.3-flash with an API key. */
9
9
  model?: string;
10
10
  /** Override the service base URL, primarily for a host-owned proxy. */
11
11
  baseURL?: string;
@@ -15,11 +15,12 @@ export interface ZenConfig {
15
15
  protocol?: ZenProtocol;
16
16
  /**
17
17
  * A runtime catalogue, from `@namzu/zen/catalogue`, consulted before the
18
- * bundled snapshot for every lookup: routing, anonymous admission, listing,
19
- * context windows and effort levels. A function is called at each lookup, so
20
- * a host can swap in a fresher catalogue for providers it already built;
21
- * returning `undefined` means the bundled snapshot alone. Omitted, the
22
- * provider uses the bundled snapshot and nothing is ever fetched for it.
18
+ * bundled snapshot for every lookup: routing, model listing, context windows
19
+ * and effort levels. Anonymous admission also requires the driver's curated
20
+ * direct-access ID; a catalogue cannot add to that set. A function is called
21
+ * at each lookup, so a host can swap in a fresher catalogue for providers it
22
+ * already built. Returning `undefined` means the bundled snapshot alone.
23
+ * Omitted, the provider uses the bundled snapshot and fetches nothing.
23
24
  */
24
25
  catalogue?: ZenCatalogue | (() => ZenCatalogue | undefined);
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,SAAS;IACzB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,CAAA;CAC3D;AAED,oFAAoF;AACpF,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC7C,MAAM,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IACnD,IAAI,EAAE,KAAK,CAAA;CACX;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,IAAI,EAAE,QAAQ,CAAA;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,SAAS;IACzB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,CAAA;CAC3D;AAED,oFAAoF;AACpF,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC7C,MAAM,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IACnD,IAAI,EAAE,KAAK,CAAA;CACX;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,IAAI,EAAE,QAAQ,CAAA;CACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/zen",
3
- "version": "2.5.2",
3
+ "version": "3.0.0",
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": {
@@ -70,7 +70,7 @@
70
70
  "typescript": "^5.5.0",
71
71
  "vitest": "^4.1.11",
72
72
  "zod": "^3.23.0",
73
- "@namzu/sdk": "^48.0.0"
73
+ "@namzu/sdk": "^48.3.0"
74
74
  },
75
75
  "scripts": {
76
76
  "build": "tsc --build",
@@ -27,9 +27,11 @@ import {
27
27
  type ZenOmissions,
28
28
  checkRosterFloor,
29
29
  derive,
30
+ isDirectAnonymousZenId,
30
31
  isDisplayableName,
31
32
  parsePage,
32
33
  parseServed,
34
+ pinnedProtocolForGo,
33
35
  } from './derive.js'
34
36
 
35
37
  /** The stored shape's version. A document carrying any other is refused. */
@@ -264,6 +266,9 @@ const MODEL_KEYS: ReadonlySet<string> = new Set([
264
266
  'supportsAnonymousAccess',
265
267
  ])
266
268
 
269
+ /** A last-good cache cannot reinstate an id the current reviewed roster omits. */
270
+ const REVIEWED_OMISSIONS = new Set(ZEN_OMITTED_MODELS)
271
+
267
272
  /** A stored catalogue that is not exactly a catalogue. */
268
273
  export class ZenCatalogueFormatError extends Error {
269
274
  override readonly name = 'ZenCatalogueFormatError'
@@ -322,6 +327,9 @@ function parseModel(value: unknown, service: ZenService, where: string): ZenMode
322
327
  onlyKeys(raw, MODEL_KEYS, where)
323
328
  const id = raw.id
324
329
  if (typeof id !== 'string' || !MODEL_ID.test(id)) invalid(`${where}.id`, 'is not a model id')
330
+ if (REVIEWED_OMISSIONS.has(`${service}/${id}`)) {
331
+ invalid(`${where}.id`, 'is now a reviewed omission')
332
+ }
325
333
  const name = raw.name
326
334
  if (
327
335
  typeof name !== 'string' ||
@@ -335,6 +343,10 @@ function parseModel(value: unknown, service: ZenService, where: string): ZenMode
335
343
  if (typeof protocol !== 'string' || !PROTOCOLS.has(protocol)) {
336
344
  invalid(`${where}.protocol`, 'is not a Zen protocol')
337
345
  }
346
+ const pinnedGoProtocol = service === 'go' ? pinnedProtocolForGo(id) : undefined
347
+ if (pinnedGoProtocol !== undefined && protocol !== pinnedGoProtocol) {
348
+ invalid(`${where}.protocol`, `does not match the pinned Go route ${pinnedGoProtocol}`)
349
+ }
338
350
  if (typeof raw.supportsToolUse !== 'boolean') {
339
351
  invalid(`${where}.supportsToolUse`, 'is not true or false')
340
352
  }
@@ -343,6 +355,9 @@ function parseModel(value: unknown, service: ZenService, where: string): ZenMode
343
355
  if (anonymous !== undefined && (anonymous !== true || service !== 'zen')) {
344
356
  invalid(`${where}.supportsAnonymousAccess`, 'is only ever `true`, and only on zen')
345
357
  }
358
+ if (anonymous === true && !isDirectAnonymousZenId(id)) {
359
+ invalid(`${where}.supportsAnonymousAccess`, 'is not a verified direct-anonymous Zen model')
360
+ }
346
361
  return {
347
362
  id,
348
363
  name,
@@ -11,7 +11,9 @@
11
11
  * ## Where each field comes from
12
12
  *
13
13
  * Routes come from the service's own documentation page, as the pair
14
- * (endpoint, AI SDK package) that page states per model. Both halves are read
14
+ * (endpoint, AI SDK package) that page states per model, except for three Go
15
+ * rows whose reference-client wire differs from the published pair. Their
16
+ * exact ids and documented wires are pinned below. Both halves are read
15
17
  * and required to agree, because a page that changed shape must stop the run
16
18
  * rather than have one half guessed: the wire a model is served on is a routing
17
19
  * fact, and the wrong one is a request to the wrong endpoint rather than a
@@ -275,7 +277,10 @@ export function parsePage(
275
277
  })
276
278
  continue
277
279
  }
278
- const price = line.match(/^\|\s*(.+?)\s*\|\s*([^|]*?)\s*\|\s*([^|]*?)\s*\|/)
280
+ // Go's Go/Go Plus tabs indent their Markdown tables. Route rows remain
281
+ // anchored at column zero; only a line with two actual price cells can
282
+ // enter the price roster after removing presentation indentation.
283
+ const price = line.trimStart().match(/^\|\s*(.+?)\s*\|\s*([^|]*?)\s*\|\s*([^|]*?)\s*\|/)
279
284
  if (price) {
280
285
  // A price cell is a dollar figure or the word "Free". Nothing else is
281
286
  // read, so a table whose columns mean something else cannot be picked
@@ -283,7 +288,17 @@ export function parsePage(
283
288
  const input = priceCell(price[2] as string)
284
289
  const output = priceCell(price[3] as string)
285
290
  if (input !== undefined && output !== undefined) {
286
- prices.push({ name: (price[1] as string).trim(), input, output })
291
+ const name = (price[1] as string).trim()
292
+ const previous = prices.find((row) => row.name === name)
293
+ if (previous) {
294
+ // Both subscription tabs promise the same token prices. A
295
+ // disagreement needs a plan-aware catalogue, not first-row wins.
296
+ if (previous.input !== input || previous.output !== output) {
297
+ unusable(`${page} gives different token prices for "${name}" across its tables.`)
298
+ }
299
+ continue
300
+ }
301
+ prices.push({ name, input, output })
287
302
  continue
288
303
  }
289
304
  }
@@ -395,6 +410,53 @@ export function protocolFor(
395
410
  return route.protocol
396
411
  }
397
412
 
413
+ /**
414
+ * Go's route table currently disagrees with the reference client's routes
415
+ * for these model ids. Keep the published pair validation above, then
416
+ * pin only the documented old wire to that reference wire. If the page changes
417
+ * its route again, stop so the exception can be reviewed instead of guessing.
418
+ */
419
+ const GO_REFERENCE_ROUTES: Readonly<
420
+ Record<string, { documented: ZenProtocol; gateway: ZenProtocol }>
421
+ > = Object.freeze({
422
+ 'deepseek-v4-flash': { documented: 'chat', gateway: 'responses' },
423
+ 'minimax-m2.7': { documented: 'messages', gateway: 'chat' },
424
+ 'minimax-m3': { documented: 'messages', gateway: 'chat' },
425
+ })
426
+
427
+ /**
428
+ * The docs' free list states price, not third-party admission. On 2026-09-28,
429
+ * direct Namzu requests for seven of its eight bundled free models returned
430
+ * FreeTierError; Space Bunny alone completed a text turn and a two-turn tool
431
+ * call with the public sentinel. Keep this explicit until direct access is
432
+ * verified for another id. Runtime refresh and the bundled snapshot share it.
433
+ */
434
+ const ZEN_DIRECT_ANONYMOUS_IDS: ReadonlySet<string> = new Set(['space-bunny-free'])
435
+
436
+ /** Only live-verified direct anonymous ids may survive a persisted catalogue. */
437
+ export function isDirectAnonymousZenId(id: string): boolean {
438
+ return ZEN_DIRECT_ANONYMOUS_IDS.has(id)
439
+ }
440
+
441
+ /** The reference-client Go route for an id with a known documentation mismatch. */
442
+ export function pinnedProtocolForGo(id: string): ZenProtocol | undefined {
443
+ return GO_REFERENCE_ROUTES[id]?.gateway
444
+ }
445
+
446
+ function pinnedProtocolFor(row: ZenRouteRow, service: string): ZenProtocol {
447
+ const documented = protocolFor(row, service)
448
+ if (service !== 'go') return documented
449
+ const exception = GO_REFERENCE_ROUTES[row.id]
450
+ if (!exception) return documented
451
+ if (documented === exception.gateway) return documented
452
+ if (documented !== exception.documented) {
453
+ unusable(
454
+ `go.mdx changed the route for "${row.id}" to ${documented}; its reference-client route exception must be reviewed.`,
455
+ )
456
+ }
457
+ return exception.gateway
458
+ }
459
+
398
460
  /** A models.dev model entry, as far as these rules read it. */
399
461
  interface ModelsDevEntry {
400
462
  readonly limit?: { readonly context?: number; readonly output?: number }
@@ -465,11 +527,20 @@ export function derive(
465
527
  const row = parsed.routes.find((candidate) => nameKey(candidate.name) === nameKey(name))
466
528
  if (!row) {
467
529
  unusable(
468
- `The free-model list names "${name}", which the route table does not. Anonymous\n admission is derived from that pairing, so the page has moved.`,
530
+ `The free-model list names "${name}", which the route table does not. Price and direct anonymous admission require that pairing, so the page has moved.`,
469
531
  )
470
532
  }
471
533
  freeIds.add(row.id)
472
534
  }
535
+ if (service === 'zen') {
536
+ for (const row of parsed.routes) {
537
+ if (ZEN_DIRECT_ANONYMOUS_IDS.has(row.id) && !freeIds.has(row.id)) {
538
+ unusable(
539
+ `The zen page still routes "${row.id}" but no longer names it in the free-model list. Its direct anonymous admission must be reviewed.`,
540
+ )
541
+ }
542
+ }
543
+ }
473
544
  const documented = new Set(parsed.routes.map((row) => row.id))
474
545
  const routeNames = new Set(parsed.routes.map((row) => nameKey(row.name)))
475
546
  const orphanPrices = parsed.prices
@@ -534,7 +605,7 @@ export function derive(
534
605
  models.push({
535
606
  id: row.id,
536
607
  name: row.name,
537
- protocol: protocolFor(row, service),
608
+ protocol: pinnedProtocolFor(row, service),
538
609
  contextWindow,
539
610
  maxOutputTokens,
540
611
  inputModalities,
@@ -544,7 +615,8 @@ export function derive(
544
615
  effortLevels: effortValues(effort?.values, `${service}/${row.id}`),
545
616
  // Anonymous admission is a Zen concept: the Go constructor refuses an
546
617
  // absent key outright, so the flag would mean nothing on that service.
547
- supportsAnonymousAccess: service === 'zen' && freeIds.has(row.id),
618
+ supportsAnonymousAccess:
619
+ service === 'zen' && freeIds.has(row.id) && ZEN_DIRECT_ANONYMOUS_IDS.has(row.id),
548
620
  })
549
621
  }
550
622
  // Incomplete metadata is a source that moved, not a decision anybody makes: