@nathapp/nax-ai 0.1.8 → 0.1.10

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/index.d.ts CHANGED
@@ -27,6 +27,7 @@ export type { AuthResolver, ResolvedAuth } from "./auth/resolver.ts";
27
27
  export { type Client, type ClientOptions, type ClientRequest, createClient } from "./client.ts";
28
28
  export { createFileCredentialStore, type FileCredentialStoreOptions, } from "./credentials/file-store.ts";
29
29
  export { createMemoryCredentialStore } from "./credentials/memory-store.ts";
30
+ export type { ClientApp } from "./protocols/client-app.ts";
30
31
  export { collectStream, ProtocolStreamError } from "./protocols/collect.ts";
31
32
  export { DEFAULT_PROTOCOL_NAMES, defaultProtocols, PI_PROTOCOL_NAMES, type PiProtocolName, type PiProtocolOptions, type ProtocolName, type ProtocolOptions, piProtocols, } from "./protocols/pi-protocols.ts";
32
33
  export { type BackendId, type BackendSelection, createRegistry, type ProtocolBackends, type ProtocolEntries, UnknownProtocolError, UnregisteredBackendError, } from "./protocols/registry.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACpF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EACL,yBAAyB,EACzB,KAAK,0BAA0B,GAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,cAAc,EACd,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,YAAY,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACpF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EACL,yBAAyB,EACzB,KAAK,0BAA0B,GAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,cAAc,EACd,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,YAAY,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAuD,YAAY,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EACL,yBAAyB,GAE1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EAKjB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,cAAc,EAGd,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAgB7D,OAAO,EAAgB,gBAAgB,EAAmC,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAsB1E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAuD,YAAY,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EACL,yBAAyB,GAE1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EAKjB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,cAAc,EAGd,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAgB7D,OAAO,EAAgB,gBAAgB,EAAmC,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAsB1E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Vendor spellings of the calling application's identity.
3
+ *
4
+ * The same split as `session-id.ts`, for the same reason: the consumer owns the
5
+ * identity — what its application is called, and where it lives — and this
6
+ * package owns which vendor spells that in which header. A consumer could set
7
+ * these through `ProtocolRequest.headers`, but only by learning a vendor
8
+ * vocabulary that this package exists to keep away from it.
9
+ *
10
+ * Nothing here is a consumer domain concept. A name and a URL are what a
11
+ * provider's own attribution API asks for, and they end up in that provider's
12
+ * records rather than in ours.
13
+ *
14
+ * pi-ai touches neither header at any version, and sets no per-model table for
15
+ * them, so this is the only place they can come from. Without it every request
16
+ * from every pi-ai consumer looks alike on a provider's dashboard: the sole
17
+ * identifying header on the wire is pi-ai's own `User-Agent`, which reads
18
+ * "pi (<platform> <release>; <arch>)" whatever is calling it.
19
+ */
20
+ /**
21
+ * How the calling application identifies itself upstream.
22
+ *
23
+ * Both fields are optional and independent: a consumer with no public URL can
24
+ * still send a name. Construction-time rather than per-request — this is a
25
+ * constant of the process, unlike a session id, which changes with the work.
26
+ */
27
+ export interface ClientApp {
28
+ /** Display name, e.g. "nax". */
29
+ readonly name?: string;
30
+ /** Public URL of the application. */
31
+ readonly url?: string;
32
+ }
33
+ /**
34
+ * Returns undefined — not an empty object — whenever there is nothing to add,
35
+ * so a caller merges nothing at all. Mirrors `vendorSessionHeaders`, including
36
+ * its empty-string-is-absent rule and its own-property lookup: a plain object
37
+ * literal inherits `constructor`, `toString` and friends, and indexing it with
38
+ * one of those provider names would produce a header named after a function
39
+ * body.
40
+ */
41
+ export declare function vendorAppHeaders(provider: string, app: ClientApp | undefined): Readonly<Record<string, string>> | undefined;
42
+ //# sourceMappingURL=client-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-app.d.ts","sourceRoot":"","sources":["../../src/protocols/client-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,SAAS,GAAG,SAAS,GACzB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAU9C"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Vendor spellings of the calling application's identity.
3
+ *
4
+ * The same split as `session-id.ts`, for the same reason: the consumer owns the
5
+ * identity — what its application is called, and where it lives — and this
6
+ * package owns which vendor spells that in which header. A consumer could set
7
+ * these through `ProtocolRequest.headers`, but only by learning a vendor
8
+ * vocabulary that this package exists to keep away from it.
9
+ *
10
+ * Nothing here is a consumer domain concept. A name and a URL are what a
11
+ * provider's own attribution API asks for, and they end up in that provider's
12
+ * records rather than in ours.
13
+ *
14
+ * pi-ai touches neither header at any version, and sets no per-model table for
15
+ * them, so this is the only place they can come from. Without it every request
16
+ * from every pi-ai consumer looks alike on a provider's dashboard: the sole
17
+ * identifying header on the wire is pi-ai's own `User-Agent`, which reads
18
+ * "pi (<platform> <release>; <arch>)" whatever is calling it.
19
+ */
20
+ /**
21
+ * Providers that read an application identity off the request.
22
+ *
23
+ * OpenRouter is the only one that documents a pair
24
+ * (https://openrouter.ai/docs/api-reference/overview): `HTTP-Referer`
25
+ * identifies the app and populates the `app_id`, `origin` and `http_referer`
26
+ * fields of each generation record, and `X-Title` sets the display name
27
+ * (`X-OpenRouter-Title` is accepted as well; the short spelling is the
28
+ * documented one and the one every OpenRouter client sends).
29
+ *
30
+ * Left at one entry deliberately. A vendor table earns its place by recording
31
+ * something a consumer could not know; guessing that another gateway reads the
32
+ * same names would record something nobody knows.
33
+ */
34
+ const VENDOR_APP_HEADERS = {
35
+ openrouter: { name: "X-Title", url: "HTTP-Referer" },
36
+ };
37
+ /**
38
+ * Returns undefined — not an empty object — whenever there is nothing to add,
39
+ * so a caller merges nothing at all. Mirrors `vendorSessionHeaders`, including
40
+ * its empty-string-is-absent rule and its own-property lookup: a plain object
41
+ * literal inherits `constructor`, `toString` and friends, and indexing it with
42
+ * one of those provider names would produce a header named after a function
43
+ * body.
44
+ */
45
+ export function vendorAppHeaders(provider, app) {
46
+ if (app === undefined)
47
+ return undefined;
48
+ if (!Object.hasOwn(VENDOR_APP_HEADERS, provider))
49
+ return undefined;
50
+ const spelling = VENDOR_APP_HEADERS[provider];
51
+ if (spelling === undefined)
52
+ return undefined;
53
+ const headers = {};
54
+ if (app.url !== undefined && app.url !== "")
55
+ headers[spelling.url] = app.url;
56
+ if (app.name !== undefined && app.name !== "")
57
+ headers[spelling.name] = app.name;
58
+ return Object.keys(headers).length === 0 ? undefined : headers;
59
+ }
60
+ //# sourceMappingURL=client-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-app.js","sourceRoot":"","sources":["../../src/protocols/client-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgBH;;;;;;;;;;;;;GAaG;AACH,MAAM,kBAAkB,GAA8E;IACpG,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,EAAE;CACrD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,GAA0B;IAE1B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE;QAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;IAC7E,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE;QAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACjF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACjE,CAAC"}
@@ -43,14 +43,18 @@ export declare function classifyProviderError(status: number | undefined, messag
43
43
  */
44
44
  export declare function parseRetryAfter(headers: Readonly<Record<string, string>> | undefined): number | undefined;
45
45
  /**
46
- * Normalises an arbitrary thrown value (connection reset, DNS failure, an
47
- * immediate socket error) into a `ProtocolError`.
48
- *
49
- * Always classified as "transport": `classifyHttpError(undefined)` would
50
- * return "unknown", but a throw with no HTTP response is exactly the class
51
- * of fault §10.1 assigns to nax-ai's own bounded retry, not the consumer's
52
- * rate-limit/overload policy. `cause` is preserved so the original value is
53
- * never lost.
46
+ * Normalises an arbitrary thrown value into a `ProtocolError`.
47
+ *
48
+ * A throw carrying an HTTP status is classified from it, exactly as an error
49
+ * event would be, and keeps its `retry-after`. Section 10.1 assigns rate
50
+ * limits and overload capacity to the consumer, and filing a thrown 429 as
51
+ * `transport` handed it to this module's own retry instead -- against that
52
+ * policy, and discarding the provider's recovery time on the way.
53
+ *
54
+ * A throw with NO status stays `transport`: that is the connection reset, DNS
55
+ * failure and immediate socket error this function was written for, where
56
+ * classifyHttpError(undefined) would return "unknown" and the fault genuinely
57
+ * is ours to retry. `cause` is preserved either way.
54
58
  */
55
59
  export declare function classifyThrown(cause: unknown): ProtocolError;
56
60
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/protocols/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAQ/E;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAWhH;AAaD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CASzG;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAM5D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/protocols/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAQ/E;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAWhH;AAaD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CASzG;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAa5D"}
@@ -134,19 +134,53 @@ export function parseRetryAfter(headers) {
134
134
  return seconds;
135
135
  }
136
136
  /**
137
- * Normalises an arbitrary thrown value (connection reset, DNS failure, an
138
- * immediate socket error) into a `ProtocolError`.
137
+ * A status carried by a thrown value, when it has one.
139
138
  *
140
- * Always classified as "transport": `classifyHttpError(undefined)` would
141
- * return "unknown", but a throw with no HTTP response is exactly the class
142
- * of fault §10.1 assigns to nax-ai's own bounded retry, not the consumer's
143
- * rate-limit/overload policy. `cause` is preserved so the original value is
144
- * never lost.
139
+ * Provider SDKs are inconsistent about where they put it: some set `status`,
140
+ * some `statusCode`, some hang a whole `response` off the error. Anything
141
+ * else -- a bare Error, a string, undefined -- has no status, which is the
142
+ * case classifyThrown was originally written for.
143
+ */
144
+ function thrownStatus(cause) {
145
+ if (typeof cause !== "object" || cause === null)
146
+ return undefined;
147
+ const it = cause;
148
+ const raw = it.status ?? it.statusCode ?? it.response?.status;
149
+ return typeof raw === "number" && Number.isFinite(raw) ? raw : undefined;
150
+ }
151
+ /** Headers carried by a thrown value, in the same two shapes as the status. */
152
+ function thrownHeaders(cause) {
153
+ if (typeof cause !== "object" || cause === null)
154
+ return undefined;
155
+ const it = cause;
156
+ const raw = it.headers ?? it.response?.headers;
157
+ return typeof raw === "object" && raw !== null ? raw : undefined;
158
+ }
159
+ /**
160
+ * Normalises an arbitrary thrown value into a `ProtocolError`.
161
+ *
162
+ * A throw carrying an HTTP status is classified from it, exactly as an error
163
+ * event would be, and keeps its `retry-after`. Section 10.1 assigns rate
164
+ * limits and overload capacity to the consumer, and filing a thrown 429 as
165
+ * `transport` handed it to this module's own retry instead -- against that
166
+ * policy, and discarding the provider's recovery time on the way.
167
+ *
168
+ * A throw with NO status stays `transport`: that is the connection reset, DNS
169
+ * failure and immediate socket error this function was written for, where
170
+ * classifyHttpError(undefined) would return "unknown" and the fault genuinely
171
+ * is ours to retry. `cause` is preserved either way.
145
172
  */
146
173
  export function classifyThrown(cause) {
174
+ const message = cause instanceof Error ? cause.message : String(cause);
175
+ const status = thrownStatus(cause);
176
+ if (status === undefined)
177
+ return { kind: "transport", message, cause };
178
+ const retryAfter = parseRetryAfter(thrownHeaders(cause));
147
179
  return {
148
- kind: "transport",
149
- message: cause instanceof Error ? cause.message : String(cause),
180
+ kind: classifyProviderError(status, message),
181
+ message,
182
+ status,
183
+ ...(retryAfter !== undefined ? { retryAfter } : {}),
150
184
  cause,
151
185
  };
152
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/protocols/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/protocols/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi-client.d.ts","sourceRoot":"","sources":["../../src/protocols/pi-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,qBAAqB,EACrB,OAAO,EACP,KAAK,EAGL,IAAI,IAAI,MAAM,EAEd,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,OAAO,KAAK,EAEV,QAAQ,EAER,eAAe,EAGhB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB;AAC5B;;;;;GAKG;AACH,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,KACvC,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAE1C,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAmBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,CASpH;AAkFD,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAM5E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,mBAAmB,CAerE;AAkDD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAmIrE;AAiBD;;;;;;GAMG;AACH,KAAK,YAAY,GAAG,CAClB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,mBAAmB,KAC1B,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAE1C,wBAAgB,YAAY,CAC1B,OAAO,GAAE,iBAAsB,EAC/B,YAAY,CAAC,EAAE,YAAY;AAC3B;;;;;GAKG;AACH,YAAY,CAAC,EAAE,YAAY,GAC1B,MAAM,CA0ER"}
1
+ {"version":3,"file":"pi-client.d.ts","sourceRoot":"","sources":["../../src/protocols/pi-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,qBAAqB,EACrB,OAAO,EACP,KAAK,EAGL,IAAI,IAAI,MAAM,EAEd,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,OAAO,KAAK,EAEV,QAAQ,EAER,eAAe,EAGhB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB;AAC5B;;;;;GAKG;AACH,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,KACvC,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAE1C,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAmBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,CASpH;AAkFD,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAM5E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,mBAAmB,CAerE;AAkDD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAmIrE;AAiBD;;;;;;GAMG;AACH,KAAK,YAAY,GAAG,CAClB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,mBAAmB,KAC1B,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAE1C,wBAAgB,YAAY,CAC1B,OAAO,GAAE,iBAAsB,EAC/B,YAAY,CAAC,EAAE,YAAY;AAC3B;;;;;GAKG;AACH,YAAY,CAAC,EAAE,YAAY,GAC1B,MAAM,CA8ER"}
@@ -13,6 +13,7 @@
13
13
  import { builtinModels } from "@earendil-works/pi-ai/providers/all";
14
14
  import { createPiAuthResolver, toPiCredentialStore } from "../auth/pi-auth.js";
15
15
  import { toTokenUsage, totalTokens } from "../usage.js";
16
+ import { vendorAppHeaders } from "./client-app.js";
16
17
  import { classifyProviderError, classifyThrown, parseRetryAfter } from "./errors.js";
17
18
  import { assertValidHeaders, assertValidSessionId, mergeRequestHeaders, withoutEmpty } from "./request-headers.js";
18
19
  import { vendorSessionHeaders } from "./session-id.js";
@@ -363,6 +364,10 @@ authResolver) {
363
364
  // there is nothing on the request side, so mergeRequestHeaders can return
364
365
  // undefined and the option stays absent rather than being set to `{}`.
365
366
  const requestHeaders = withoutEmpty({
367
+ // Both vendor maps sit beneath the caller's own headers, so an explicit
368
+ // spelling still wins. They cannot collide with each other: one names a
369
+ // session, the other an application.
370
+ ...vendorAppHeaders(model.provider, options.clientApp),
366
371
  ...vendorSessionHeaders(model.provider, options_?.sessionId),
367
372
  ...options_?.headers,
368
373
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pi-client.js","sourceRoot":"","sources":["../../src/protocols/pi-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-client.js","sourceRoot":"","sources":["../../src/protocols/pi-client.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  * on first resolve of a protocol and not before.
11
11
  */
12
12
  import type { CredentialStore } from "../types.ts";
13
+ import type { ClientApp } from "./client-app.ts";
13
14
  import type { ProtocolEntries } from "./registry.ts";
14
15
  import type { Transport } from "./types.ts";
15
16
  /**
@@ -46,6 +47,20 @@ export interface ProtocolOptions {
46
47
  * four protocols, and ProtocolRequest is the shared protocol-agnostic type.
47
48
  */
48
49
  readonly transport?: Transport;
50
+ /**
51
+ * How the calling application names itself upstream, for providers that read
52
+ * one off the request and report on it.
53
+ *
54
+ * Construction-time for the opposite reason to `transport`: this is
55
+ * meaningful to every protocol, but it is a constant of the process rather
56
+ * than of the work, so repeating it on each request would be noise. Which
57
+ * header carries it — and for which vendor — is this package's business; see
58
+ * client-app.ts.
59
+ *
60
+ * Omitted means nothing extra is sent, and the request is identified only by
61
+ * pi-ai's own `User-Agent`.
62
+ */
63
+ readonly clientApp?: ClientApp;
49
64
  }
50
65
  /** @deprecated Use {@link ProtocolOptions}. Kept as a non-breaking alias. */
51
66
  export type PiProtocolOptions = ProtocolOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"pi-protocols.d.ts","sourceRoot":"","sources":["../../src/protocols/pi-protocols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,YACjC,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,CAChB,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,qGAAyB,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEhD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,eAAoB,GAAG,eAAe,CAY/E;AAED,8EAA8E;AAC9E,eAAO,MAAM,WAAW,yBAAmB,CAAC"}
1
+ {"version":3,"file":"pi-protocols.d.ts","sourceRoot":"","sources":["../../src/protocols/pi-protocols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,YACjC,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,CAChB,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,qGAAyB,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEhD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,eAAoB,GAAG,eAAe,CAY/E;AAED,8EAA8E;AAC9E,eAAO,MAAM,WAAW,yBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi-protocols.js","sourceRoot":"","sources":["../../src/protocols/pi-protocols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;CAChB,CAAC;AAEX,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AA8BxD,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAoB,EAAE;IAC5D,OAAO,MAAM,CAAC,WAAW,CACvB,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI;QACJ;YACE,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC1E,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"pi-protocols.js","sourceRoot":"","sources":["../../src/protocols/pi-protocols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;CAChB,CAAC;AAEX,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AA4CxD,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAoB,EAAE;IAC5D,OAAO,MAAM,CAAC,WAAW,CACvB,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI;QACJ;YACE,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC1E,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/protocols/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AA2CD;;;;;;;;;;;;GAYG;AACH,wBAAuB,oBAAoB,CACzC,UAAU,EAAE,MAAM,aAAa,CAAC,aAAa,CAAC,EAC9C,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,GACvC,aAAa,CAAC,aAAa,CAAC,CAoC9B"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/protocols/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AA2CD;;;;;;;;;;;;GAYG;AACH,wBAAuB,oBAAoB,CACzC,UAAU,EAAE,MAAM,aAAa,CAAC,aAAa,CAAC,EAC9C,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,GACvC,aAAa,CAAC,aAAa,CAAC,CAsC9B"}
@@ -12,6 +12,7 @@
12
12
  * (concurrency, cost budget, failover) and must never be retried internally.
13
13
  * 4xx and auth failures are terminal — retrying cannot help either.
14
14
  */
15
+ import { classifyThrown } from "./errors.js";
15
16
  /** 250ms then 500ms. No jitter: §10.1 hands concurrency policy to the
16
17
  * consumer, so de-synchronising a herd is their call, not ours — and a fixed
17
18
  * schedule keeps tests deterministic. */
@@ -74,11 +75,14 @@ export async function* retryTransportFaults(makeStream, { retries, sleep, signal
74
75
  }
75
76
  }
76
77
  catch (cause) {
77
- // A throw is retryable whenever it precedes any emitted event and
78
- // attempts remain — unlike an error event, a throw carries no `kind`
79
- // to gate on, so any pre-first-event throw is presumed transport-shaped.
78
+ // A throw carries no `kind` of its own, so classify it the same way an
79
+ // error event is classified. Section 10.1 reserves rate-limit, overload,
80
+ // auth and bad-request for the consumer; only a genuine transport fault
81
+ // -- typically a throw with no HTTP status at all -- is ours to retry.
80
82
  if (emitted || retryIndex >= retries)
81
83
  throw cause;
84
+ if (classifyThrown(cause).kind !== "transport")
85
+ throw cause;
82
86
  await abortableSleep(backoffMs(retryIndex), sleep, signal);
83
87
  retryIndex += 1;
84
88
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/protocols/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH;;yCAEyC;AACzC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,SAAS,SAAS,CAAC,UAAkB;IACnC,OAAO,kBAAkB,GAAG,CAAC,IAAI,UAAU,CAAC;AAC9C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAoB;IACjD,uEAAuE;IACvE,0EAA0E;IAC1E,qEAAqE;IACrE,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,MAAmB;IACrC,OAAO,MAAM,CAAC,MAAM,IAAI,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED;;mCAEmC;AACnC,SAAS,cAAc,CACrB,EAAU,EACV,KAAoC,EACpC,MAA+B;IAE/B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACzC,UAA8C,EAC9C,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAgB;IAExC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,SAAS,CAAC;QACR,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAgC,CAAC;QAErC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,UAAU,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7C,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM;gBACR,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,qEAAqE;YACrE,yEAAyE;YACzE,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO;gBAAE,MAAM,KAAK,CAAC;YAClD,MAAM,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3D,UAAU,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,iCAAiC;QAElE,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,UAAU,IAAI,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/protocols/retry.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,13 @@
14
14
  * the same value keys prompt caching. Reimplementing that mapping would
15
15
  * duplicate a table pi-ai maintains against the model catalog.
16
16
  *
17
- * OpenCode is the exception: pi-ai has no support for its header at any
18
- * version, so it is added here.
17
+ * That forwarding is necessary but not sufficient: pi-ai sends an affinity
18
+ * header only where a model's catalog entry also sets
19
+ * `compat.sendSessionAffinityHeaders`, which defaults to false. So a provider
20
+ * belongs in the table below whenever pi-ai will not put the id on the wire —
21
+ * whether it lacks the spelling or simply never enables it.
22
+ *
23
+ * Two providers are exceptions, for different reasons — see the table.
19
24
  */
20
25
  /**
21
26
  * Returns undefined — not an empty object — whenever there is nothing to add,
@@ -1 +1 @@
1
- {"version":3,"file":"session-id.d.ts","sourceRoot":"","sources":["../../src/protocols/session-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgBH;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAS9C"}
1
+ {"version":3,"file":"session-id.d.ts","sourceRoot":"","sources":["../../src/protocols/session-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAuCH;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAS9C"}
@@ -14,8 +14,13 @@
14
14
  * the same value keys prompt caching. Reimplementing that mapping would
15
15
  * duplicate a table pi-ai maintains against the model catalog.
16
16
  *
17
- * OpenCode is the exception: pi-ai has no support for its header at any
18
- * version, so it is added here.
17
+ * That forwarding is necessary but not sufficient: pi-ai sends an affinity
18
+ * header only where a model's catalog entry also sets
19
+ * `compat.sendSessionAffinityHeaders`, which defaults to false. So a provider
20
+ * belongs in the table below whenever pi-ai will not put the id on the wire —
21
+ * whether it lacks the spelling or simply never enables it.
22
+ *
23
+ * Two providers are exceptions, for different reasons — see the table.
19
24
  */
20
25
  /**
21
26
  * Providers whose header pi-ai does not send.
@@ -24,11 +29,34 @@
24
29
  * (https://opencode.ai/zen/go) are separate catalog entries for one service;
25
30
  * https://opencode.ai/docs/go/ documents `x-opencode-session`, and OpenCode has
26
31
  * said requests without it may start erroring. Both are listed — gating on the
27
- * `-go` one alone would leave Zen unheadered.
32
+ * `-go` one alone would leave Zen unheadered. pi-ai has no support for this
33
+ * header at any version.
34
+ *
35
+ * `openrouter` is a different failure. pi-ai *does* know the spelling: a model
36
+ * whose `compat.sessionAffinityFormat` is "openrouter" gets `x-session-id`
37
+ * (dist/api/openai-completions.js). But the branch is guarded by
38
+ * `compat.sendSessionAffinityHeaders`, which `detectCompat` sets to false and
39
+ * which not one openrouter catalog entry overrides, so the format never fires.
40
+ * The id was reaching pi and being dropped a layer above the socket: every
41
+ * OpenRouter generation record came back with `session_id: null`, and with it
42
+ * no sticky routing to the endpoint holding the warm cache. OpenRouter reads
43
+ * the header as its routing key and reports it per generation
44
+ * (https://openrouter.ai/blog/tutorials/prompt-caching-sticky-routing/); a
45
+ * body-level `session_id` would do the same, but no request field on this path
46
+ * reaches the body.
47
+ *
48
+ * Listing it here rather than setting the compat flag is not a preference:
49
+ * `ProviderOverride` deliberately exposes no `compat` (see providers/types.ts),
50
+ * so the vendor table is the only lever this package has. It is also the more
51
+ * durable one — provider-keyed rather than api-keyed, so it covers OpenRouter's
52
+ * `anthropic-messages` entries as well as its `openai-completions` ones. If
53
+ * pi-ai ever flips the gate, both sides write the same name and the same value
54
+ * and the merge is a no-op.
28
55
  */
29
56
  const VENDOR_SESSION_HEADERS = {
30
57
  opencode: "x-opencode-session",
31
58
  "opencode-go": "x-opencode-session",
59
+ openrouter: "x-session-id",
32
60
  };
33
61
  /**
34
62
  * Returns undefined — not an empty object — whenever there is nothing to add,
@@ -1 +1 @@
1
- {"version":3,"file":"session-id.js","sourceRoot":"","sources":["../../src/protocols/session-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;GAQG;AACH,MAAM,sBAAsB,GAAqC;IAC/D,QAAQ,EAAE,oBAAoB;IAC9B,aAAa,EAAE,oBAAoB;CACpC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,SAA6B;IAE7B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAClE,sEAAsE;IACtE,2EAA2E;IAC3E,sDAAsD;IACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACvE,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"session-id.js","sourceRoot":"","sources":["../../src/protocols/session-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,sBAAsB,GAAqC;IAC/D,QAAQ,EAAE,oBAAoB;IAC9B,aAAa,EAAE,oBAAoB;IACnC,UAAU,EAAE,cAAc;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,SAA6B;IAE7B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAClE,sEAAsE;IACtE,2EAA2E;IAC3E,sDAAsD;IACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACvE,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nathapp/nax-ai",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Provider-agnostic LLM client: completions, streaming, tool calls, usage and auth across API-key and OAuth providers.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",