@dbx-tools/shared-model-gateway 0.9.37 → 0.9.38
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/README.md +47 -7
- package/index.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,21 +1,61 @@
|
|
|
1
1
|
# @dbx-tools/shared-model-gateway
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Discover the models exposed by a dbx-tools model gateway from browser, edge, or
|
|
4
|
+
shared application code. The package validates successful and error responses
|
|
5
|
+
at the network boundary and provides the protocol contracts needed to build
|
|
6
|
+
model pickers without importing Node or AppKit runtime code.
|
|
7
|
+
|
|
8
|
+
## List Available Models
|
|
5
9
|
|
|
6
10
|
```ts
|
|
7
|
-
import { createModelGatewayClient
|
|
11
|
+
import { createModelGatewayClient } from "@dbx-tools/shared-model-gateway";
|
|
8
12
|
|
|
9
13
|
const client = createModelGatewayClient();
|
|
10
14
|
const response = await client.listModels({ search: "claude sonnet" });
|
|
11
|
-
|
|
15
|
+
|
|
16
|
+
for (const model of response.data) {
|
|
17
|
+
console.log(model.id);
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
In a browser, the client uses the active origin. Supply `baseUrl` in tests,
|
|
22
|
+
server rendering, or any runtime without `globalThis.location`:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
const client = createModelGatewayClient({
|
|
26
|
+
baseUrl: "http://127.0.0.1:4000/",
|
|
27
|
+
});
|
|
12
28
|
```
|
|
13
29
|
|
|
14
|
-
|
|
30
|
+
## Request A Codex Catalogue
|
|
31
|
+
|
|
32
|
+
Use the Codex catalogue when a client needs Codex-specific model metadata and
|
|
33
|
+
reasoning controls:
|
|
15
34
|
|
|
16
35
|
```ts
|
|
17
36
|
const response = await client.listModels({ codex: true });
|
|
18
37
|
```
|
|
19
38
|
|
|
20
|
-
|
|
21
|
-
|
|
39
|
+
Pass an `AbortSignal` to cancel model discovery. HTTP failures throw
|
|
40
|
+
`ModelGatewayClientError`, which includes the status code and a validated gateway
|
|
41
|
+
error response when one was returned.
|
|
42
|
+
|
|
43
|
+
## Validate Gateway Payloads
|
|
44
|
+
|
|
45
|
+
Use the exported Zod schemas when another transport owns the HTTP request:
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
import { ModelListResponseSchema } from "@dbx-tools/shared-model-gateway";
|
|
49
|
+
|
|
50
|
+
const models = ModelListResponseSchema.parse(await response.json());
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The `models` module covers OpenAI, Codex, Anthropic, embedding, and error
|
|
54
|
+
payloads. The `contracts` module covers model capabilities and deterministic
|
|
55
|
+
route-selection inputs and results.
|
|
56
|
+
|
|
57
|
+
## Package API
|
|
58
|
+
|
|
59
|
+
- `client` creates the model-discovery client and typed HTTP errors.
|
|
60
|
+
- `models` validates public model, embedding, and error payloads.
|
|
61
|
+
- `contracts` validates shared routing and capability values.
|
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model-gateway";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.38";
|
|
7
7
|
export * as client from "./src/client.ts";
|
|
8
8
|
export * as contracts from "./src/contracts.ts";
|
|
9
9
|
export * as models from "./src/models.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model-gateway";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.38";
|
|
3
3
|
export * as client from "./src/client.ts";
|
|
4
4
|
export * as contracts from "./src/contracts.ts";
|
|
5
5
|
export * as models from "./src/models.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model-gateway";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.38";
|
|
6
6
|
export * as client from "./src/client.js";
|
|
7
7
|
export * as contracts from "./src/contracts.js";
|
|
8
8
|
export * as models from "./src/models.js";
|
|
@@ -10,4 +10,4 @@ export { ModelGatewayClientError } from "./src/client.js";
|
|
|
10
10
|
export { ClientProtocolSchema, UpstreamProtocolSchema, ModelCapabilitiesSchema, ModelTargetSchema, RequestedFeaturesSchema, GatewayRouteSchema, ModelCapabilityOverrideSchema, ResolveRouteInputSchema } from "./src/contracts.js";
|
|
11
11
|
export { OpenAIModelCapabilitiesSchema, OpenAIModelSchema, OpenAIModelListResponseSchema, CodexReasoningLevelSchema, CodexTruncationPolicySchema, CodexModelSchema, CodexModelListResponseSchema, ModelListResponseSchema, EmbeddingRequestSchema, EmbeddingDataSchema, EmbeddingUsageSchema, EmbeddingResponseSchema, OpenAIErrorResponseSchema, AnthropicErrorResponseSchema, GatewayErrorResponseSchema } from "./src/models.js";
|
|
12
12
|
export * from "./exports.js";
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRW5PLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxpQkFBaUIsRUFBRSw2QkFBNkIsRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkIsRUFBRSxnQkFBZ0IsRUFBRSw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBhLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfSURFTlRJRklFUiA9IFwiQGRieC10b29scy9zaGFyZWQtbW9kZWwtZ2F0ZXdheVwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjM4XCI7XG5leHBvcnQgKiBhcyBjbGllbnQgZnJvbSBcIi4vc3JjL2NsaWVudC50c1wiO1xuZXhwb3J0ICogYXMgY29udHJhY3RzIGZyb20gXCIuL3NyYy9jb250cmFjdHMudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVscyBmcm9tIFwiLi9zcmMvbW9kZWxzLnRzXCI7XG5leHBvcnQgeyBNb2RlbEdhdGV3YXlDbGllbnRFcnJvciB9IGZyb20gXCIuL3NyYy9jbGllbnQudHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9kZWxHYXRld2F5Q2xpZW50T3B0aW9ucywgTGlzdE1vZGVsc09wdGlvbnMsIE1vZGVsR2F0ZXdheUNsaWVudCB9IGZyb20gXCIuL3NyYy9jbGllbnQudHNcIjtcbmV4cG9ydCB7IENsaWVudFByb3RvY29sU2NoZW1hLCBVcHN0cmVhbVByb3RvY29sU2NoZW1hLCBNb2RlbENhcGFiaWxpdGllc1NjaGVtYSwgTW9kZWxUYXJnZXRTY2hlbWEsIFJlcXVlc3RlZEZlYXR1cmVzU2NoZW1hLCBHYXRld2F5Um91dGVTY2hlbWEsIE1vZGVsQ2FwYWJpbGl0eU92ZXJyaWRlU2NoZW1hLCBSZXNvbHZlUm91dGVJbnB1dFNjaGVtYSB9IGZyb20gXCIuL3NyYy9jb250cmFjdHMudHNcIjtcbmV4cG9ydCB0eXBlIHsgQ2xpZW50UHJvdG9jb2wsIFVwc3RyZWFtUHJvdG9jb2wsIE1vZGVsQ2FwYWJpbGl0aWVzLCBNb2RlbFRhcmdldCwgUmVxdWVzdGVkRmVhdHVyZXMsIEdhdGV3YXlSb3V0ZSwgTW9kZWxDYXBhYmlsaXR5T3ZlcnJpZGUsIFJlc29sdmVSb3V0ZUlucHV0IH0gZnJvbSBcIi4vc3JjL2NvbnRyYWN0cy50c1wiO1xuZXhwb3J0IHsgT3BlbkFJTW9kZWxDYXBhYmlsaXRpZXNTY2hlbWEsIE9wZW5BSU1vZGVsU2NoZW1hLCBPcGVuQUlNb2RlbExpc3RSZXNwb25zZVNjaGVtYSwgQ29kZXhSZWFzb25pbmdMZXZlbFNjaGVtYSwgQ29kZXhUcnVuY2F0aW9uUG9saWN5U2NoZW1hLCBDb2RleE1vZGVsU2NoZW1hLCBDb2RleE1vZGVsTGlzdFJlc3BvbnNlU2NoZW1hLCBNb2RlbExpc3RSZXNwb25zZVNjaGVtYSwgRW1iZWRkaW5nUmVxdWVzdFNjaGVtYSwgRW1iZWRkaW5nRGF0YVNjaGVtYSwgRW1iZWRkaW5nVXNhZ2VTY2hlbWEsIEVtYmVkZGluZ1Jlc3BvbnNlU2NoZW1hLCBPcGVuQUlFcnJvclJlc3BvbnNlU2NoZW1hLCBBbnRocm9waWNFcnJvclJlc3BvbnNlU2NoZW1hLCBHYXRld2F5RXJyb3JSZXNwb25zZVNjaGVtYSB9IGZyb20gXCIuL3NyYy9tb2RlbHMudHNcIjtcbmV4cG9ydCB0eXBlIHsgT3BlbkFJTW9kZWxDYXBhYmlsaXRpZXMsIE9wZW5BSU1vZGVsLCBPcGVuQUlNb2RlbExpc3RSZXNwb25zZSwgQ29kZXhSZWFzb25pbmdMZXZlbCwgQ29kZXhUcnVuY2F0aW9uUG9saWN5LCBDb2RleE1vZGVsLCBDb2RleE1vZGVsTGlzdFJlc3BvbnNlLCBNb2RlbExpc3RSZXNwb25zZSwgRW1iZWRkaW5nUmVxdWVzdCwgRW1iZWRkaW5nRGF0YSwgRW1iZWRkaW5nVXNhZ2UsIEVtYmVkZGluZ1Jlc3BvbnNlLCBPcGVuQUlFcnJvclJlc3BvbnNlLCBBbnRocm9waWNFcnJvclJlc3BvbnNlLCBHYXRld2F5RXJyb3JSZXNwb25zZSB9IGZyb20gXCIuL3NyYy9tb2RlbHMudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydHMudHNcIjtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"typescript": "^5.9.3"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@dbx-tools/shared-model": "^0.9.
|
|
25
|
+
"@dbx-tools/shared-model": "^0.9.38",
|
|
26
26
|
"zod": "4.3.6"
|
|
27
27
|
},
|
|
28
28
|
"main": "./lib/index.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"./package.json": "./package.json"
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
|
-
"version": "0.9.
|
|
54
|
+
"version": "0.9.38",
|
|
55
55
|
"types": "./lib/index.d.ts",
|
|
56
56
|
"dbxToolsConfig": {
|
|
57
57
|
"tags": [
|