@namzu/sdk 5.2.0 → 6.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/dist/provider/__tests__/strict-schema.test.js +50 -2
  3. package/dist/provider/__tests__/strict-schema.test.js.map +1 -1
  4. package/dist/provider/__tests__/vendor-detail.test.d.ts +2 -0
  5. package/dist/provider/__tests__/vendor-detail.test.d.ts.map +1 -0
  6. package/dist/provider/__tests__/vendor-detail.test.js +89 -0
  7. package/dist/provider/__tests__/vendor-detail.test.js.map +1 -0
  8. package/dist/provider/errors.d.ts +38 -5
  9. package/dist/provider/errors.d.ts.map +1 -1
  10. package/dist/provider/errors.js +107 -5
  11. package/dist/provider/errors.js.map +1 -1
  12. package/dist/provider/strict-schema.d.ts.map +1 -1
  13. package/dist/provider/strict-schema.js +64 -8
  14. package/dist/provider/strict-schema.js.map +1 -1
  15. package/dist/public-runtime.d.ts +3 -0
  16. package/dist/public-runtime.d.ts.map +1 -1
  17. package/dist/public-runtime.js +6 -0
  18. package/dist/public-runtime.js.map +1 -1
  19. package/dist/registry/tool/__tests__/dialect.test.d.ts +2 -0
  20. package/dist/registry/tool/__tests__/dialect.test.d.ts.map +1 -0
  21. package/dist/registry/tool/__tests__/dialect.test.js +143 -0
  22. package/dist/registry/tool/__tests__/dialect.test.js.map +1 -0
  23. package/dist/registry/tool/dialect.d.ts +50 -0
  24. package/dist/registry/tool/dialect.d.ts.map +1 -0
  25. package/dist/registry/tool/dialect.js +131 -0
  26. package/dist/registry/tool/dialect.js.map +1 -0
  27. package/dist/registry/toolset/catalog.d.ts.map +1 -1
  28. package/dist/registry/toolset/catalog.js +10 -5
  29. package/dist/registry/toolset/catalog.js.map +1 -1
  30. package/dist/runtime/query/__tests__/stream-recovery.test.js +6 -0
  31. package/dist/runtime/query/__tests__/stream-recovery.test.js.map +1 -1
  32. package/dist/runtime/query/result.d.ts.map +1 -1
  33. package/dist/runtime/query/result.js +6 -0
  34. package/dist/runtime/query/result.js.map +1 -1
  35. package/dist/types/provider/error.d.ts +20 -4
  36. package/dist/types/provider/error.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/src/provider/__tests__/strict-schema.test.ts +58 -2
  39. package/src/provider/__tests__/vendor-detail.test.ts +107 -0
  40. package/src/provider/errors.ts +106 -5
  41. package/src/provider/strict-schema.ts +65 -8
  42. package/src/public-runtime.ts +7 -0
  43. package/src/registry/tool/__tests__/dialect.test.ts +197 -0
  44. package/src/registry/tool/dialect.ts +136 -0
  45. package/src/registry/toolset/catalog.ts +10 -5
  46. package/src/runtime/query/__tests__/stream-recovery.test.ts +6 -0
  47. package/src/runtime/query/result.ts +6 -0
  48. package/src/types/provider/error.ts +20 -4
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/registry/toolset/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/registry/toolset/catalog.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ class ClassifiedFailureProvider {
71
71
  providerId: 'classified-failure',
72
72
  status: 429,
73
73
  retryAfterMs: 2000,
74
+ detail: 'rate limit reached for this organization',
74
75
  }));
75
76
  }
76
77
  }
@@ -169,11 +170,16 @@ describe('query stream recovery', () => {
169
170
  events.push(event);
170
171
  });
171
172
  expect(run.status).toBe('failed');
173
+ // `detail` rides along with the classification. Without it a host
174
+ // rendering this metadata knows a request was rejected but not why, and
175
+ // has to go re-parse the message string — which is the re-parsing this
176
+ // structured field exists to avoid.
172
177
  expect(run.lastProviderError).toEqual({
173
178
  kind: 'throttle',
174
179
  providerId: 'classified-failure',
175
180
  status: 429,
176
181
  retryAfterMs: 2000,
182
+ detail: 'rate limit reached for this organization',
177
183
  });
178
184
  expect(events.find((event) => event.type === 'run_failed')).toMatchObject({
179
185
  type: 'run_failed',
@@ -1 +1 @@
1
- {"version":3,"file":"stream-recovery.test.js","sourceRoot":"","sources":["../../../../src/runtime/query/__tests__/stream-recovery.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-recovery.test.js","sourceRoot":"","sources":["../../../../src/runtime/query/__tests__/stream-recovery.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAkB,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,YAAY,GAAG,SAAS,CAAA;CACnD;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,qBAAqB;IAIlC,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAmCrD,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAIzD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IA2FpE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;CAI9B"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAkB,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,YAAY,GAAG,SAAS,CAAA;CACnD;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,qBAAqB;IAIlC,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAmCrD,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAIzD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAiGpE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;CAI9B"}
@@ -91,6 +91,12 @@ export class ResultAssembler {
91
91
  providerId: err.providerId,
92
92
  ...(err.status !== undefined ? { status: err.status } : {}),
93
93
  ...(err.retryAfterMs !== undefined ? { retryAfterMs: err.retryAfterMs } : {}),
94
+ // The provider's own sentence, already truncated and scrubbed
95
+ // by the driver. Without it a host rendering this metadata
96
+ // knows a request was rejected but not which field, and has to
97
+ // go re-parse `error` to find out — which is exactly the
98
+ // re-parsing the line above says this exists to avoid.
99
+ ...(err.detail !== undefined ? { detail: err.detail } : {}),
94
100
  }
95
101
  : undefined;
96
102
  runMgr.markFailed(errorMessage, providerError);
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"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"}
@@ -3,19 +3,35 @@ export type ProviderErrorKind = 'throttle' | 'network' | 'auth' | 'context_overf
3
3
  /**
4
4
  * Serializable provider-failure metadata carried by failed runs and events.
5
5
  *
6
- * No response body, vendor message, URL, or `cause` belongs here.
6
+ * No response body, URL, or `cause` belongs here. `detail` is the one thing
7
+ * the provider itself said, and it arrives scrubbed — see below.
7
8
  */
8
9
  export interface ProviderErrorInfo {
9
10
  readonly kind: ProviderErrorKind;
10
11
  readonly providerId: string;
11
12
  readonly status?: number;
12
13
  readonly retryAfterMs?: number;
14
+ /**
15
+ * What the provider said was wrong, truncated and scrubbed of anything
16
+ * credential-shaped.
17
+ *
18
+ * Carried here and not only on the error's `message` for the same reason
19
+ * `kind` is: a host rendering a failure should not have to parse a
20
+ * sentence to show one. It is the field that names the offending
21
+ * parameter, which is usually the whole diagnosis.
22
+ */
23
+ readonly detail?: string;
13
24
  }
14
25
  export interface ProviderRequestErrorInit extends ProviderErrorInfo {
15
26
  /**
16
- * Optional extra clause for the message. MUST be text this codebase
17
- * authored — never a fragment of a response body, a header, or a vendor
18
- * error.
27
+ * Optional extra clause for the message.
28
+ *
29
+ * This used to be required to be text the codebase authored, never a
30
+ * fragment of a vendor error — and the constructor did not read the field
31
+ * at all, so nothing carried either kind of text. Providers may now pass
32
+ * their own complaint through `vendorDetail`, which truncates it and
33
+ * replaces anything credential-shaped. Text this codebase authored is
34
+ * still welcome; what is not welcome is a raw body passed straight in.
19
35
  */
20
36
  readonly detail?: string;
21
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/types/provider/error.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAC1B,UAAU,GACV,SAAS,GACT,MAAM,GACN,kBAAkB,GAClB,aAAa,GACb,QAAQ,CAAA;AAEX;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAClE;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/types/provider/error.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAC1B,UAAU,GACV,SAAS,GACT,MAAM,GACN,kBAAkB,GAClB,aAAa,GACb,QAAQ,CAAA;AAEX;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAClE;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/sdk",
3
- "version": "5.2.0",
3
+ "version": "6.0.0",
4
4
  "description": "Open-source AI agent SDK with a built-in runtime. Nothing between you and your agents.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "type": "module",
@@ -80,12 +80,17 @@ describe('the violation report names the exact path', () => {
80
80
  expect(findStrictSchemaViolations(schema)).toEqual([])
81
81
  })
82
82
 
83
- it('reports numeric and string bounds, which are also outside the subset', () => {
83
+ it('reports the bounds the wire refuses, and only those', () => {
84
+ // Measured against the live API rather than read off a page. The first
85
+ // version of this list was derived from documentation and was wrong in
86
+ // both directions: it refused `maxLength`, which the wire accepts, and
87
+ // permitted `prefixItems`, which it rejects.
84
88
  const schema = {
85
89
  type: 'object',
86
90
  properties: {
87
91
  n: { type: 'integer', minimum: 0 },
88
92
  s: { type: 'string', maxLength: 10 },
93
+ a: { type: 'array', items: { type: 'string' }, maxItems: 3, minItems: 1 },
89
94
  },
90
95
  }
91
96
 
@@ -93,7 +98,58 @@ describe('the violation report names the exact path', () => {
93
98
  findStrictSchemaViolations(schema)
94
99
  .map((v) => v.keyword)
95
100
  .sort(),
96
- ).toEqual(['maxLength', 'minimum'])
101
+ ).toEqual(['maxItems', 'minimum'])
102
+ })
103
+
104
+ it('leaves string length alone, because strict accepts it', () => {
105
+ // The false positive that would have refused tools which work.
106
+ expect(
107
+ findStrictSchemaViolations({ s: { type: 'string', minLength: 1, maxLength: 9 } }),
108
+ ).toEqual([])
109
+ })
110
+
111
+ it('catches a tuple in either spelling, because strict admits neither', () => {
112
+ // The interaction worth pinning, and the one a `prefixItems` entry alone
113
+ // got wrong. This check runs at REGISTRATION, on the schema as rendered
114
+ // — draft-07, where a tuple is `items: [a, b]` — while the wire sees the
115
+ // `prefixItems` the driver converts it to. So denying only `prefixItems`
116
+ // was a guard that could not fire on the path that produces tuples.
117
+ //
118
+ // Measured, strict rejects both, which is why a tool that is both strict
119
+ // and tuple-shaped cannot be expressed at all. Converting it only
120
+ // changes which error comes back.
121
+ for (const items of [
122
+ { prefixItems: [{ type: 'integer' }, { type: 'integer' }] },
123
+ { items: [{ type: 'integer' }, { type: 'integer' }] },
124
+ ]) {
125
+ const violations = findStrictSchemaViolations({
126
+ properties: { range: { type: 'array', ...items } },
127
+ })
128
+
129
+ expect(violations, JSON.stringify(items)).toHaveLength(1)
130
+ expect(violations[0]?.remedy).toContain('tuple cannot be expressed')
131
+ }
132
+ })
133
+
134
+ it('leaves an ordinary array alone, where `items` is one schema', () => {
135
+ // The false positive the tuple rule must not become: `items` is the
136
+ // normal spelling for a homogeneous array and strict accepts it. Only
137
+ // the array-of-schemas form is a tuple.
138
+ expect(findStrictSchemaViolations({ type: 'array', items: { type: 'string' } })).toEqual([])
139
+ })
140
+
141
+ it('admits minItems at 0 or 1 and refuses it above, as the wire does', () => {
142
+ // A blanket denial here was a false positive with a real cost: it
143
+ // refuses `z.array(...).nonempty()`, which renders `minItems: 1` and
144
+ // which the wire accepts. The constraint is on the VALUE, and the
145
+ // vendor's error says so — "'minItems' values other than 0 or 1 are not
146
+ // supported".
147
+ expect(findStrictSchemaViolations({ type: 'array', minItems: 0 })).toEqual([])
148
+ expect(findStrictSchemaViolations({ type: 'array', minItems: 1 })).toEqual([])
149
+
150
+ const violations = findStrictSchemaViolations({ type: 'array', minItems: 2 })
151
+ expect(violations).toHaveLength(1)
152
+ expect(violations[0]?.keyword).toBe('minItems')
97
153
  })
98
154
 
99
155
  it('admits additionalProperties only as false', () => {
@@ -0,0 +1,107 @@
1
+ import { describe, expect, it } from 'vitest'
2
+
3
+ import { providerHttpError, redactSecrets, vendorDetail } from '../errors.js'
4
+
5
+ /**
6
+ * The provider's own account of what was wrong, kept — and scrubbed.
7
+ *
8
+ * `ProviderRequestErrorInit` declared `detail` from the beginning and the
9
+ * constructor never read it, so the field existed and carried nothing. The
10
+ * body was read to classify and then dropped, deliberately, because an error
11
+ * body can echo a request and a request can carry a key.
12
+ *
13
+ * The cost of that trade showed up in production: the wire had been saying
14
+ * `tools.0.custom.input_schema: … must match JSON Schema draft 2020-12` and
15
+ * the SDK deleted the sentence, so diagnosing it took seven eliminated
16
+ * hypotheses and a day of downtime. Keeping the sentence and scrubbing the
17
+ * credential shapes is the trade that was actually available.
18
+ */
19
+
20
+ describe('the sentence that names the broken field survives', () => {
21
+ it('lifts the structured message out of a vendor body', () => {
22
+ const body = JSON.stringify({
23
+ type: 'error',
24
+ error: {
25
+ type: 'invalid_request_error',
26
+ message:
27
+ 'tools.0.custom.input_schema: JSON schema is invalid. It must match JSON Schema draft 2020-12',
28
+ },
29
+ })
30
+
31
+ expect(vendorDetail(body)).toBe(
32
+ 'tools.0.custom.input_schema: JSON schema is invalid. It must match JSON Schema draft 2020-12',
33
+ )
34
+ })
35
+
36
+ it('reaches the error a caller actually catches', () => {
37
+ const err = providerHttpError({
38
+ providerId: 'anthropic',
39
+ status: 400,
40
+ body: JSON.stringify({ error: { message: "Schema type 'oneOf' is not supported" } }),
41
+ })
42
+
43
+ expect(err.detail).toContain('oneOf')
44
+ // …and the message too, so a log line that prints only the message is
45
+ // still enough to act on.
46
+ expect(err.message).toContain('oneOf')
47
+ })
48
+
49
+ it('falls back to the raw text when the body is not JSON', () => {
50
+ expect(vendorDetail('upstream connect error, transport failure')).toBe(
51
+ 'upstream connect error, transport failure',
52
+ )
53
+ })
54
+
55
+ it('says nothing rather than something empty', () => {
56
+ expect(vendorDetail(undefined)).toBeUndefined()
57
+ expect(vendorDetail(null)).toBeUndefined()
58
+ expect(vendorDetail(' ')).toBeUndefined()
59
+ expect(vendorDetail({})).toBeUndefined()
60
+ })
61
+
62
+ it('truncates a body that is not a sentence', () => {
63
+ const detail = vendorDetail('x'.repeat(5_000))
64
+ expect(detail?.length).toBeLessThanOrEqual(401)
65
+ expect(detail?.endsWith('…')).toBe(true)
66
+ })
67
+ })
68
+
69
+ describe('a credential never rides along', () => {
70
+ it.each([
71
+ ['sk-ant-api03-AbCdEfGhIjKlMnOpQrStUv', 'anthropic-style key'],
72
+ ['npm_aBcDeFgHiJkLmNoPqRsTuVwXyZ012345', 'npm token'],
73
+ ['ghp_aBcDeFgHiJkLmNoPqRsTuVwXyZ012345', 'github token'],
74
+ ['AKIAIOSFODNN7EXAMPLE', 'aws access key id'],
75
+ ])('scrubs %s (%s)', (secret) => {
76
+ const scrubbed = redactSecrets(`upstream rejected token ${secret} for this request`)
77
+ expect(scrubbed).not.toContain(secret)
78
+ expect(scrubbed).toContain('[redacted]')
79
+ })
80
+
81
+ it('scrubs a bearer header the vendor echoed back', () => {
82
+ const scrubbed = redactSecrets('bad header: Authorization: Bearer abcdef0123456789ABCDEF')
83
+ expect(scrubbed).not.toContain('abcdef0123456789ABCDEF')
84
+ })
85
+
86
+ it('scrubs a credential-named JSON field without eating the rest', () => {
87
+ const scrubbed = redactSecrets('{"api_key":"sk-live-9999","model":"the-model-that-failed"}')
88
+ expect(scrubbed).not.toContain('sk-live-9999')
89
+ // The surrounding sentence is the whole point — scrubbing must not
90
+ // degrade into deleting the message.
91
+ expect(scrubbed).toContain('the-model-that-failed')
92
+ })
93
+
94
+ it('scrubs on the real path, not only in the helper', () => {
95
+ const err = providerHttpError({
96
+ providerId: 'anthropic',
97
+ status: 401,
98
+ body: JSON.stringify({
99
+ error: { message: 'invalid key sk-ant-api03-AbCdEfGhIjKlMnOpQrStUv supplied' },
100
+ }),
101
+ })
102
+
103
+ expect(err.detail).not.toContain('AbCdEfGhIjKlMnOpQrStUv')
104
+ expect(err.detail).toContain('[redacted]')
105
+ expect(err.message).not.toContain('AbCdEfGhIjKlMnOpQrStUv')
106
+ })
107
+ })
@@ -11,11 +11,19 @@
11
11
  *
12
12
  * So the contract here is deliberately narrow:
13
13
  *
14
- * - the message is built from the STATUS LINE and the classified `kind`. The
15
- * response body is read to classify and then dropped. It is never
16
- * interpolated, never re-thrown, and never attached as `cause` — a `cause`
17
- * survives every logger that serializes an error chain, which defeats the
18
- * point.
14
+ * - the message is built from the STATUS LINE, the classified `kind`, and the
15
+ * provider's own complaint in `detail` truncated and scrubbed of anything
16
+ * credential-shaped. The raw body is never re-thrown and never attached as
17
+ * `cause`; a `cause` survives every logger that serializes an error chain,
18
+ * which defeats the point.
19
+ *
20
+ * The body used to be dropped entirely. That was over-corrected: a provider
21
+ * rejecting a request names the exact offending field, and deleting that
22
+ * sentence turned a one-line diagnosis into hypothesis elimination against a
23
+ * live API — once at the cost of a day of production downtime, while the
24
+ * wire had been saying `tools.0.custom.input_schema: … must match JSON
25
+ * Schema draft 2020-12` the entire time. Scrubbing what looks like a
26
+ * credential keeps the safety and returns the sentence.
19
27
  * - `retryAfterMs` is DATA. Nothing in this module sleeps, backs off or
20
28
  * retries. A retry loop inside a driver burns the run's wall clock and hides
21
29
  * the failure from the layer that should decide.
@@ -50,6 +58,22 @@ export class ProviderRequestError extends Error {
50
58
  public readonly providerId: string
51
59
  public readonly status?: number
52
60
  public readonly retryAfterMs?: number
61
+ /**
62
+ * What the provider said was wrong, truncated and redacted.
63
+ *
64
+ * `ProviderRequestErrorInit` has declared this field all along and the
65
+ * constructor never read it, so every caller that set it was writing to
66
+ * nothing. That is not a cosmetic gap: a provider rejecting a request
67
+ * usually names the exact offending field, and losing that sentence turns
68
+ * a one-line diagnosis into hypothesis elimination against a live API. It
69
+ * did — a tool schema in the wrong JSON Schema dialect cost a day of
70
+ * production downtime while the wire had been saying
71
+ * `tools.0.custom.input_schema: … must match JSON Schema draft 2020-12`
72
+ * the whole time.
73
+ *
74
+ * See {@link vendorDetail} for what is kept and what is scrubbed.
75
+ */
76
+ public readonly detail?: string
53
77
 
54
78
  constructor(init: ProviderRequestErrorInit) {
55
79
  super(buildProviderErrorMessage(init))
@@ -58,7 +82,80 @@ export class ProviderRequestError extends Error {
58
82
  this.providerId = init.providerId
59
83
  if (init.status !== undefined) this.status = init.status
60
84
  if (init.retryAfterMs !== undefined) this.retryAfterMs = init.retryAfterMs
85
+ if (init.detail !== undefined) this.detail = init.detail
86
+ }
87
+ }
88
+
89
+ /** Longest detail worth carrying. A provider's complaint is a sentence. */
90
+ const DETAIL_MAX = 400
91
+
92
+ /**
93
+ * Credential shapes to scrub before a provider's words are kept.
94
+ *
95
+ * The original decision to discard the body outright was not paranoia — an
96
+ * error body can echo the request, and a request can carry a key. The answer
97
+ * is to scrub what looks like a credential rather than to throw away the
98
+ * sentence that names the broken field.
99
+ */
100
+ const SECRET_PATTERNS: readonly RegExp[] = [
101
+ /\b(?:sk|pk|rk)[-_][A-Za-z0-9_-]{12,}/g,
102
+ /\bnpm_[A-Za-z0-9]{20,}/g,
103
+ /\bgh[pousr]_[A-Za-z0-9]{20,}/g,
104
+ /\bBearer\s+[A-Za-z0-9._~+/-]{12,}=*/gi,
105
+ /\bAKIA[0-9A-Z]{16}\b/g,
106
+ /("(?:api[_-]?key|authorization|token|secret|password)"\s*:\s*)"[^"]*"/gi,
107
+ ]
108
+
109
+ /**
110
+ * The provider's own account of what was wrong, safe to log.
111
+ *
112
+ * Prefers the structured `error.message` a JSON body carries, because that is
113
+ * the field vendors put the actionable sentence in and it is bounded; falls
114
+ * back to the raw text. Truncated, and every credential shape replaced.
115
+ */
116
+ export function vendorDetail(body: unknown): string | undefined {
117
+ if (body === undefined || body === null) return undefined
118
+
119
+ let text: string
120
+ if (typeof body === 'string') {
121
+ try {
122
+ text = pickMessage(JSON.parse(body)) ?? body
123
+ } catch {
124
+ text = body
125
+ }
126
+ } else {
127
+ text = pickMessage(body) ?? ''
128
+ }
129
+
130
+ const cleaned = redactSecrets(text.trim())
131
+ if (cleaned.length === 0) return undefined
132
+ return cleaned.length > DETAIL_MAX ? `${cleaned.slice(0, DETAIL_MAX)}…` : cleaned
133
+ }
134
+
135
+ export function redactSecrets(text: string): string {
136
+ let out = text
137
+ for (const pattern of SECRET_PATTERNS) {
138
+ out = out.replace(pattern, (_match, prefix?: string) =>
139
+ prefix === undefined ? '[redacted]' : `${prefix}"[redacted]"`,
140
+ )
141
+ }
142
+ return out
143
+ }
144
+
145
+ function pickMessage(value: unknown): string | undefined {
146
+ if (typeof value === 'string') return value
147
+ if (typeof value !== 'object' || value === null) return undefined
148
+ const node = value as Record<string, unknown>
149
+ // `{ error: { message } }` is what every wire in this tree uses; the rest
150
+ // are the shapes seen in the drivers' own fixtures.
151
+ const nested = node.error
152
+ if (typeof nested === 'string') return nested
153
+ if (typeof nested === 'object' && nested !== null) {
154
+ const message = (nested as Record<string, unknown>).message
155
+ if (typeof message === 'string') return message
61
156
  }
157
+ if (typeof node.message === 'string') return node.message
158
+ return undefined
62
159
  }
63
160
 
64
161
  /** Is this a classified provider failure, whichever SDK copy threw it? */
@@ -312,11 +409,13 @@ export function providerVendorError(input: {
312
409
  input.retryAfter ?? vendorRetryAfter(error),
313
410
  input.now ?? Date.now(),
314
411
  )
412
+ const detail = vendorDetail(message)
315
413
  return new ProviderRequestError({
316
414
  kind,
317
415
  providerId: input.providerId,
318
416
  ...(status !== undefined ? { status } : {}),
319
417
  ...(retryAfterMs !== undefined ? { retryAfterMs } : {}),
418
+ ...(detail !== undefined ? { detail } : {}),
320
419
  })
321
420
  }
322
421
 
@@ -335,10 +434,12 @@ export function providerHttpError(input: {
335
434
  }): ProviderRequestError {
336
435
  const kind = classifyProviderHttpStatus(input.status, input.body)
337
436
  const retryAfterMs = parseRetryAfterMs(input.retryAfter, input.now ?? Date.now())
437
+ const detail = vendorDetail(input.body)
338
438
  return new ProviderRequestError({
339
439
  kind,
340
440
  providerId: input.providerId,
341
441
  status: input.status,
342
442
  ...(retryAfterMs !== undefined ? { retryAfterMs } : {}),
443
+ ...(detail !== undefined ? { detail } : {}),
343
444
  })
344
445
  }
@@ -28,12 +28,21 @@
28
28
  * A deny-list rather than an allow-list, deliberately. An allow-list would have
29
29
  * to enumerate every annotation a schema may carry — `description`, `title`,
30
30
  * `examples`, vendor extensions — and would refuse a schema for saying
31
- * something harmless. These are the constructs documented as outside the
32
- * subset; each one names what to write instead.
31
+ * something harmless. Each entry names what to write instead.
32
+ *
33
+ * MEASURED against the live API, not read off a page. The first version of this
34
+ * list was derived from documentation and was wrong in both directions: it
35
+ * refused `minLength`/`maxLength`, which the wire accepts, and it permitted
36
+ * `prefixItems`, which the wire rejects. A deny-list nobody probed is a guess
37
+ * with a confident tone, and this one would have refused working tools while
38
+ * still letting a broken one through.
39
+ *
40
+ * The probe lives in the live contract test; run it against a new model before
41
+ * trusting this list on that model.
33
42
  */
34
43
  const NO_CONDITIONALS = 'strict mode has no conditional schemas; flatten the object'
35
44
  const NO_NUMERIC_BOUNDS = 'numeric bounds are not in the subset; enforce at execution'
36
- const NO_LENGTH_BOUNDS = 'length bounds are not in the subset; enforce at execution'
45
+ const NO_ARRAY_BOUNDS = 'array bounds are not in the subset; enforce at execution'
37
46
 
38
47
  // A Map rather than an object literal, because one of the keys is `then`: an
39
48
  // ordinary object carrying a `then` property is a thenable, and awaiting it
@@ -50,17 +59,40 @@ const UNSUPPORTED: ReadonlyMap<string, string> = new Map([
50
59
  ['exclusiveMinimum', NO_NUMERIC_BOUNDS],
51
60
  ['exclusiveMaximum', NO_NUMERIC_BOUNDS],
52
61
  ['multipleOf', NO_NUMERIC_BOUNDS],
53
- ['minLength', NO_LENGTH_BOUNDS],
54
- ['maxLength', NO_LENGTH_BOUNDS],
55
- ['minItems', NO_LENGTH_BOUNDS],
56
- ['maxItems', NO_LENGTH_BOUNDS],
57
- ['uniqueItems', 'array constraints are not in the subset; enforce at execution'],
62
+ // `minLength`/`maxLength` are NOT here. The first version of this list put
63
+ // them here on documentation alone, and measurement says the wire accepts
64
+ // both — so the list was refusing tools that would have worked. A deny-list
65
+ // derived from prose and never probed is a guess with a confident tone.
66
+ // `minItems` is NOT a flat denial see MIN_ITEMS_ALLOWED below. The wire
67
+ // accepts 0 and 1 and refuses everything above, naming the value in the
68
+ // error, so a blanket entry here would refuse `.nonempty()` on a schema the
69
+ // wire would have taken.
70
+ ['maxItems', NO_ARRAY_BOUNDS],
71
+ ['uniqueItems', NO_ARRAY_BOUNDS],
72
+ // The other direction of the same mistake: this was missing, and it is the
73
+ // one that interacts with the dialect conversion. A tuple becomes
74
+ // `prefixItems` for the 2020-12 wire — and strict rejects `prefixItems`
75
+ // outright, so a tool that is BOTH strict AND tuple-shaped cannot be
76
+ // expressed at all. Better to say that at registration than to convert a
77
+ // schema into a different rejection.
78
+ ['prefixItems', 'strict arrays take one `items` schema; a tuple cannot be expressed'],
58
79
  ['patternProperties', 'name the properties explicitly'],
59
80
  ['propertyNames', 'name the properties explicitly'],
60
81
  ['dependentSchemas', 'flatten the object and validate at execution'],
61
82
  ['dependentRequired', 'flatten the object and validate at execution'],
62
83
  ])
63
84
 
85
+ /**
86
+ * The only `minItems` values the strict subset admits.
87
+ *
88
+ * Measured: `minItems: 0` and `minItems: 1` are accepted, `minItems: 2` comes
89
+ * back *"For 'array' type, 'minItems' values other than 0 or 1 are not
90
+ * supported"*. So the constraint is on the VALUE, not the keyword, and that is
91
+ * the whole difference between refusing a required-non-empty array — the
92
+ * ordinary spelling of `z.array(...).nonempty()` — and letting it through.
93
+ */
94
+ const MIN_ITEMS_ALLOWED = new Set([0, 1])
95
+
64
96
  export interface StrictSchemaViolation {
65
97
  /** Dotted path to the offending keyword, e.g. `properties.insertLine.oneOf`. */
66
98
  readonly path: string
@@ -100,6 +132,31 @@ export function findStrictSchemaViolations(schema: unknown, path = ''): StrictSc
100
132
  })
101
133
  continue
102
134
  }
135
+ // A tuple in the OTHER spelling. This check runs at registration, on the
136
+ // schema as rendered — which is draft-07, where a tuple is `items: [a,
137
+ // b]` — while the wire sees the 2020-12 `prefixItems` the driver
138
+ // converts it to. So a `prefixItems` entry alone never fires on the
139
+ // path that produces tuples, and the entry added to catch this case was
140
+ // dead for exactly the case it was added for.
141
+ //
142
+ // Both spellings mean the same thing and strict admits neither, so this
143
+ // names the tuple rather than the dialect it happens to be written in.
144
+ if (keyword === 'items' && Array.isArray(value)) {
145
+ found.push({
146
+ path: here,
147
+ keyword,
148
+ remedy: 'strict arrays take one `items` schema; a tuple cannot be expressed',
149
+ })
150
+ continue
151
+ }
152
+ if (keyword === 'minItems' && typeof value === 'number' && !MIN_ITEMS_ALLOWED.has(value)) {
153
+ found.push({
154
+ path: here,
155
+ keyword,
156
+ remedy: 'strict accepts `minItems` of 0 or 1 only; enforce a larger bound at execution',
157
+ })
158
+ continue
159
+ }
103
160
  found.push(...findStrictSchemaViolations(value, here))
104
161
  }
105
162
  return found