notdiamond 2.0.0-rc2 → 2.0.0-rc4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +14 -16
- package/client.d.mts +21 -35
- package/client.d.mts.map +1 -1
- package/client.d.ts +21 -35
- package/client.d.ts.map +1 -1
- package/client.js +23 -39
- package/client.js.map +1 -1
- package/client.mjs +23 -39
- package/client.mjs.map +1 -1
- package/internal/tslib.js +17 -17
- package/internal/utils/env.d.mts.map +1 -1
- package/internal/utils/env.d.ts.map +1 -1
- package/internal/utils/env.js +4 -2
- package/internal/utils/env.js.map +1 -1
- package/internal/utils/env.mjs +4 -2
- package/internal/utils/env.mjs.map +1 -1
- package/package.json +10 -11
- package/resources/index.d.mts +6 -6
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +6 -6
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +8 -8
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +4 -4
- package/resources/index.mjs.map +1 -1
- package/resources/model-router.d.mts +311 -0
- package/resources/model-router.d.mts.map +1 -0
- package/resources/model-router.d.ts +311 -0
- package/resources/model-router.d.ts.map +1 -0
- package/resources/model-router.js +97 -0
- package/resources/model-router.js.map +1 -0
- package/resources/model-router.mjs +93 -0
- package/resources/model-router.mjs.map +1 -0
- package/resources/models.d.mts +50 -25
- package/resources/models.d.mts.map +1 -1
- package/resources/models.d.ts +50 -25
- package/resources/models.d.ts.map +1 -1
- package/resources/models.js +5 -0
- package/resources/models.js.map +1 -1
- package/resources/models.mjs +5 -0
- package/resources/models.mjs.map +1 -1
- package/resources/preferences.d.mts +49 -47
- package/resources/preferences.d.mts.map +1 -1
- package/resources/preferences.d.ts +49 -47
- package/resources/preferences.d.ts.map +1 -1
- package/resources/preferences.js +30 -33
- package/resources/preferences.js.map +1 -1
- package/resources/preferences.mjs +30 -33
- package/resources/preferences.mjs.map +1 -1
- package/resources/prompt/adapt.d.mts +352 -0
- package/resources/prompt/adapt.d.mts.map +1 -0
- package/resources/prompt/adapt.d.ts +352 -0
- package/resources/prompt/adapt.d.ts.map +1 -0
- package/resources/prompt/adapt.js +154 -0
- package/resources/prompt/adapt.js.map +1 -0
- package/resources/prompt/adapt.mjs +150 -0
- package/resources/prompt/adapt.mjs.map +1 -0
- package/resources/prompt/index.d.mts +3 -0
- package/resources/prompt/index.d.mts.map +1 -0
- package/resources/prompt/index.d.ts +3 -0
- package/resources/prompt/index.d.ts.map +1 -0
- package/resources/prompt/index.js +9 -0
- package/resources/prompt/index.js.map +1 -0
- package/resources/prompt/index.mjs +4 -0
- package/resources/prompt/index.mjs.map +1 -0
- package/resources/prompt/prompt.d.mts +338 -0
- package/resources/prompt/prompt.d.mts.map +1 -0
- package/resources/prompt/prompt.d.ts +338 -0
- package/resources/prompt/prompt.d.ts.map +1 -0
- package/resources/prompt/prompt.js +128 -0
- package/resources/prompt/prompt.js.map +1 -0
- package/resources/prompt/prompt.mjs +123 -0
- package/resources/prompt/prompt.mjs.map +1 -0
- package/resources/prompt.d.mts +2 -0
- package/resources/prompt.d.mts.map +1 -0
- package/resources/prompt.d.ts +2 -0
- package/resources/prompt.d.ts.map +1 -0
- package/resources/prompt.js +6 -0
- package/resources/prompt.js.map +1 -0
- package/resources/prompt.mjs +3 -0
- package/resources/prompt.mjs.map +1 -0
- package/resources/pzn.d.mts +225 -0
- package/resources/pzn.d.mts.map +1 -0
- package/resources/pzn.d.ts +225 -0
- package/resources/pzn.d.ts.map +1 -0
- package/resources/{routing.js → pzn.js} +26 -69
- package/resources/pzn.js.map +1 -0
- package/resources/{routing.mjs → pzn.mjs} +24 -67
- package/resources/pzn.mjs.map +1 -0
- package/resources/report/index.d.mts +3 -0
- package/resources/report/index.d.mts.map +1 -0
- package/resources/report/index.d.ts +3 -0
- package/resources/report/index.d.ts.map +1 -0
- package/resources/report/index.js +9 -0
- package/resources/report/index.js.map +1 -0
- package/resources/report/index.mjs +4 -0
- package/resources/report/index.mjs.map +1 -0
- package/resources/report/metrics.d.mts +87 -0
- package/resources/report/metrics.d.mts.map +1 -0
- package/resources/report/metrics.d.ts +87 -0
- package/resources/report/metrics.d.ts.map +1 -0
- package/resources/report/metrics.js +57 -0
- package/resources/report/metrics.js.map +1 -0
- package/resources/report/metrics.mjs +53 -0
- package/resources/report/metrics.mjs.map +1 -0
- package/resources/report/report.d.mts +10 -0
- package/resources/report/report.d.mts.map +1 -0
- package/resources/report/report.d.ts +10 -0
- package/resources/report/report.d.ts.map +1 -0
- package/resources/report/report.js +17 -0
- package/resources/report/report.js.map +1 -0
- package/resources/report/report.mjs +12 -0
- package/resources/report/report.mjs.map +1 -0
- package/resources/report.d.mts +1 -244
- package/resources/report.d.mts.map +1 -1
- package/resources/report.d.ts +1 -244
- package/resources/report.d.ts.map +1 -1
- package/resources/report.js +2 -82
- package/resources/report.js.map +1 -1
- package/resources/report.mjs +1 -80
- package/resources/report.mjs.map +1 -1
- package/src/client.ts +71 -120
- package/src/internal/utils/env.ts +4 -2
- package/src/resources/index.ts +24 -34
- package/src/resources/model-router.ts +356 -0
- package/src/resources/models.ts +55 -32
- package/src/resources/preferences.ts +61 -70
- package/src/resources/prompt/adapt.ts +402 -0
- package/src/resources/prompt/index.ts +16 -0
- package/src/resources/prompt/prompt.ts +398 -0
- package/src/resources/prompt.ts +3 -0
- package/src/resources/pzn.ts +273 -0
- package/src/resources/report/index.ts +4 -0
- package/src/resources/report/metrics.ts +99 -0
- package/src/resources/report/report.ts +19 -0
- package/src/resources/report.ts +1 -298
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/resources/admin.d.mts +0 -4
- package/resources/admin.d.mts.map +0 -1
- package/resources/admin.d.ts +0 -4
- package/resources/admin.d.ts.map +0 -1
- package/resources/admin.js +0 -9
- package/resources/admin.js.map +0 -1
- package/resources/admin.mjs +0 -5
- package/resources/admin.mjs.map +0 -1
- package/resources/prompt-adaptation.d.mts +0 -581
- package/resources/prompt-adaptation.d.mts.map +0 -1
- package/resources/prompt-adaptation.d.ts +0 -581
- package/resources/prompt-adaptation.d.ts.map +0 -1
- package/resources/prompt-adaptation.js +0 -289
- package/resources/prompt-adaptation.js.map +0 -1
- package/resources/prompt-adaptation.mjs +0 -285
- package/resources/prompt-adaptation.mjs.map +0 -1
- package/resources/routing.d.mts +0 -391
- package/resources/routing.d.mts.map +0 -1
- package/resources/routing.d.ts +0 -391
- package/resources/routing.d.ts.map +0 -1
- package/resources/routing.js.map +0 -1
- package/resources/routing.mjs.map +0 -1
- package/src/resources/admin.ts +0 -5
- package/src/resources/prompt-adaptation.ts +0 -707
- package/src/resources/routing.ts +0 -476
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ModelRouter = void 0;
|
|
5
|
+
const resource_1 = require("../core/resource.js");
|
|
6
|
+
class ModelRouter extends resource_1.APIResource {
|
|
7
|
+
/**
|
|
8
|
+
* Openhands Model Select
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const response = await client.modelRouter.openHandsSelect({
|
|
13
|
+
* llm_providers: [
|
|
14
|
+
* { model: 'gpt-4o', provider: 'openai' },
|
|
15
|
+
* {
|
|
16
|
+
* model: 'claude-sonnet-4-5-20250929',
|
|
17
|
+
* provider: 'anthropic',
|
|
18
|
+
* },
|
|
19
|
+
* { model: 'gemini-1.5-pro', provider: 'google' },
|
|
20
|
+
* ],
|
|
21
|
+
* messages: [
|
|
22
|
+
* {
|
|
23
|
+
* content: 'You are a helpful assistant.',
|
|
24
|
+
* role: 'system',
|
|
25
|
+
* },
|
|
26
|
+
* { content: 'Explain quantum computing', role: 'user' },
|
|
27
|
+
* ],
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
openHandsSelect(body, options) {
|
|
32
|
+
return this._client.post('/v2/modelRouter/openHandsRouter', { body, ...options });
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Select the optimal LLM to handle your query based on Not Diamond's routing
|
|
36
|
+
* algorithm.
|
|
37
|
+
*
|
|
38
|
+
* This endpoint analyzes your messages and returns the best-suited model from your
|
|
39
|
+
* specified providers. The router considers factors like query complexity, model
|
|
40
|
+
* capabilities, cost, and latency based on your preferences.
|
|
41
|
+
*
|
|
42
|
+
* **Key Features:**
|
|
43
|
+
*
|
|
44
|
+
* - Intelligent routing across multiple LLM providers
|
|
45
|
+
* - Support for custom routers trained on your evaluation data
|
|
46
|
+
* - Optional cost/latency optimization
|
|
47
|
+
* - Function calling support for compatible models
|
|
48
|
+
* - Privacy-preserving content hashing
|
|
49
|
+
*
|
|
50
|
+
* **Usage:**
|
|
51
|
+
*
|
|
52
|
+
* 1. Pass your messages in OpenAI format (array of objects with 'role' and
|
|
53
|
+
* 'content')
|
|
54
|
+
* 2. Specify which LLM providers you want to route between
|
|
55
|
+
* 3. Optionally provide a preference_id for personalized routing
|
|
56
|
+
* 4. Receive a recommended model and session_id
|
|
57
|
+
* 5. Use the session_id to submit feedback and improve routing
|
|
58
|
+
*
|
|
59
|
+
* **Related Endpoints:**
|
|
60
|
+
*
|
|
61
|
+
* - `POST /v2/preferences/userPreferenceCreate` - Create a preference ID for
|
|
62
|
+
* personalized routing
|
|
63
|
+
* - `POST /v2/report/metrics/feedback` - Submit feedback on routing decisions
|
|
64
|
+
* - `POST /v2/pzn/trainCustomRouter` - Train a custom router on your evaluation
|
|
65
|
+
* data
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* const response = await client.modelRouter.selectModel({
|
|
70
|
+
* llm_providers: [
|
|
71
|
+
* { provider: 'openai', model: 'gpt-4o' },
|
|
72
|
+
* {
|
|
73
|
+
* provider: 'anthropic',
|
|
74
|
+
* model: 'claude-sonnet-4-5-20250929',
|
|
75
|
+
* },
|
|
76
|
+
* { provider: 'google', model: 'gemini-1.5-pro' },
|
|
77
|
+
* ],
|
|
78
|
+
* messages: [
|
|
79
|
+
* {
|
|
80
|
+
* role: 'system',
|
|
81
|
+
* content: 'You are a helpful assistant.',
|
|
82
|
+
* },
|
|
83
|
+
* {
|
|
84
|
+
* role: 'user',
|
|
85
|
+
* content: 'Explain quantum computing in simple terms',
|
|
86
|
+
* },
|
|
87
|
+
* ],
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
selectModel(params, options) {
|
|
92
|
+
const { type, ...body } = params;
|
|
93
|
+
return this._client.post('/v2/modelRouter/modelSelect', { query: { type }, body, ...options });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.ModelRouter = ModelRouter;
|
|
97
|
+
//# sourceMappingURL=model-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-router.js","sourceRoot":"","sources":["../src/resources/model-router.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAK/C,MAAa,WAAY,SAAQ,sBAAW;IAC1C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,eAAe,CAAC,IAAsC,EAAE,OAAwB;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,WAAW,CACT,MAAoC,EACpC,OAAwB;QAExB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;CACF;AA7FD,kCA6FC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
import { APIResource } from "../core/resource.mjs";
|
|
3
|
+
export class ModelRouter extends APIResource {
|
|
4
|
+
/**
|
|
5
|
+
* Openhands Model Select
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const response = await client.modelRouter.openHandsSelect({
|
|
10
|
+
* llm_providers: [
|
|
11
|
+
* { model: 'gpt-4o', provider: 'openai' },
|
|
12
|
+
* {
|
|
13
|
+
* model: 'claude-sonnet-4-5-20250929',
|
|
14
|
+
* provider: 'anthropic',
|
|
15
|
+
* },
|
|
16
|
+
* { model: 'gemini-1.5-pro', provider: 'google' },
|
|
17
|
+
* ],
|
|
18
|
+
* messages: [
|
|
19
|
+
* {
|
|
20
|
+
* content: 'You are a helpful assistant.',
|
|
21
|
+
* role: 'system',
|
|
22
|
+
* },
|
|
23
|
+
* { content: 'Explain quantum computing', role: 'user' },
|
|
24
|
+
* ],
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
openHandsSelect(body, options) {
|
|
29
|
+
return this._client.post('/v2/modelRouter/openHandsRouter', { body, ...options });
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Select the optimal LLM to handle your query based on Not Diamond's routing
|
|
33
|
+
* algorithm.
|
|
34
|
+
*
|
|
35
|
+
* This endpoint analyzes your messages and returns the best-suited model from your
|
|
36
|
+
* specified providers. The router considers factors like query complexity, model
|
|
37
|
+
* capabilities, cost, and latency based on your preferences.
|
|
38
|
+
*
|
|
39
|
+
* **Key Features:**
|
|
40
|
+
*
|
|
41
|
+
* - Intelligent routing across multiple LLM providers
|
|
42
|
+
* - Support for custom routers trained on your evaluation data
|
|
43
|
+
* - Optional cost/latency optimization
|
|
44
|
+
* - Function calling support for compatible models
|
|
45
|
+
* - Privacy-preserving content hashing
|
|
46
|
+
*
|
|
47
|
+
* **Usage:**
|
|
48
|
+
*
|
|
49
|
+
* 1. Pass your messages in OpenAI format (array of objects with 'role' and
|
|
50
|
+
* 'content')
|
|
51
|
+
* 2. Specify which LLM providers you want to route between
|
|
52
|
+
* 3. Optionally provide a preference_id for personalized routing
|
|
53
|
+
* 4. Receive a recommended model and session_id
|
|
54
|
+
* 5. Use the session_id to submit feedback and improve routing
|
|
55
|
+
*
|
|
56
|
+
* **Related Endpoints:**
|
|
57
|
+
*
|
|
58
|
+
* - `POST /v2/preferences/userPreferenceCreate` - Create a preference ID for
|
|
59
|
+
* personalized routing
|
|
60
|
+
* - `POST /v2/report/metrics/feedback` - Submit feedback on routing decisions
|
|
61
|
+
* - `POST /v2/pzn/trainCustomRouter` - Train a custom router on your evaluation
|
|
62
|
+
* data
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* const response = await client.modelRouter.selectModel({
|
|
67
|
+
* llm_providers: [
|
|
68
|
+
* { provider: 'openai', model: 'gpt-4o' },
|
|
69
|
+
* {
|
|
70
|
+
* provider: 'anthropic',
|
|
71
|
+
* model: 'claude-sonnet-4-5-20250929',
|
|
72
|
+
* },
|
|
73
|
+
* { provider: 'google', model: 'gemini-1.5-pro' },
|
|
74
|
+
* ],
|
|
75
|
+
* messages: [
|
|
76
|
+
* {
|
|
77
|
+
* role: 'system',
|
|
78
|
+
* content: 'You are a helpful assistant.',
|
|
79
|
+
* },
|
|
80
|
+
* {
|
|
81
|
+
* role: 'user',
|
|
82
|
+
* content: 'Explain quantum computing in simple terms',
|
|
83
|
+
* },
|
|
84
|
+
* ],
|
|
85
|
+
* });
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
selectModel(params, options) {
|
|
89
|
+
const { type, ...body } = params;
|
|
90
|
+
return this._client.post('/v2/modelRouter/modelSelect', { query: { type }, body, ...options });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=model-router.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-router.mjs","sourceRoot":"","sources":["../src/resources/model-router.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;AAKtB,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,eAAe,CAAC,IAAsC,EAAE,OAAwB;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,WAAW,CACT,MAAoC,EACpC,OAAwB;QAExB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;CACF"}
|
package/resources/models.d.mts
CHANGED
|
@@ -33,40 +33,65 @@ export declare class Models extends APIResource {
|
|
|
33
33
|
* **Caching:**
|
|
34
34
|
*
|
|
35
35
|
* - Response is cacheable for 1 hour (model list rarely changes)
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* const models = await client.models.list();
|
|
40
|
+
* ```
|
|
36
41
|
*/
|
|
37
42
|
list(query?: ModelListParams | null | undefined, options?: RequestOptions): APIPromise<ModelListResponse>;
|
|
38
43
|
}
|
|
39
44
|
/**
|
|
40
|
-
* Response for models
|
|
45
|
+
* Response model for a single LLM model from GET /v2/models endpoint.
|
|
46
|
+
*
|
|
47
|
+
* Contains metadata about a supported text generation model including pricing,
|
|
48
|
+
* context limits, and availability information.
|
|
41
49
|
*/
|
|
42
|
-
export interface
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
export interface Model {
|
|
51
|
+
/**
|
|
52
|
+
* Maximum context window size in tokens
|
|
53
|
+
*/
|
|
54
|
+
context_length: number;
|
|
55
|
+
/**
|
|
56
|
+
* Price per million input tokens in USD
|
|
57
|
+
*/
|
|
58
|
+
input_price: number;
|
|
59
|
+
/**
|
|
60
|
+
* Model identifier (e.g., 'gpt-4', 'claude-3-opus-20240229')
|
|
61
|
+
*/
|
|
62
|
+
model: string;
|
|
63
|
+
/**
|
|
64
|
+
* Price per million output tokens in USD
|
|
65
|
+
*/
|
|
66
|
+
output_price: number;
|
|
67
|
+
/**
|
|
68
|
+
* Provider name (e.g., 'openai', 'anthropic', 'google')
|
|
69
|
+
*/
|
|
70
|
+
provider: string;
|
|
71
|
+
/**
|
|
72
|
+
* OpenRouter model identifier if available, null if not supported via OpenRouter
|
|
73
|
+
*/
|
|
74
|
+
openrouter_model?: string | null;
|
|
46
75
|
}
|
|
47
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Response model for GET /v2/models endpoint.
|
|
78
|
+
*
|
|
79
|
+
* Returns a list of all supported text generation models with their metadata,
|
|
80
|
+
* separated into active and deprecated models.
|
|
81
|
+
*/
|
|
82
|
+
export interface ModelListResponse {
|
|
48
83
|
/**
|
|
49
|
-
*
|
|
84
|
+
* List of deprecated models that are no longer recommended but may still work
|
|
50
85
|
*/
|
|
51
|
-
|
|
52
|
-
context_length: number;
|
|
53
|
-
input_price: number;
|
|
54
|
-
model: string;
|
|
55
|
-
output_price: number;
|
|
56
|
-
provider: string;
|
|
57
|
-
openrouter_model?: string | null;
|
|
58
|
-
}
|
|
86
|
+
deprecated_models: Array<Model>;
|
|
59
87
|
/**
|
|
60
|
-
*
|
|
88
|
+
* List of active/supported text generation models with their metadata
|
|
61
89
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
provider: string;
|
|
68
|
-
openrouter_model?: string | null;
|
|
69
|
-
}
|
|
90
|
+
models: Array<Model>;
|
|
91
|
+
/**
|
|
92
|
+
* Total count of active models in the response
|
|
93
|
+
*/
|
|
94
|
+
total: number;
|
|
70
95
|
}
|
|
71
96
|
export interface ModelListParams {
|
|
72
97
|
/**
|
|
@@ -80,6 +105,6 @@ export interface ModelListParams {
|
|
|
80
105
|
provider?: Array<string> | null;
|
|
81
106
|
}
|
|
82
107
|
export declare namespace Models {
|
|
83
|
-
export { type ModelListResponse as ModelListResponse, type ModelListParams as ModelListParams };
|
|
108
|
+
export { type Model as Model, type ModelListResponse as ModelListResponse, type ModelListParams as ModelListParams, };
|
|
84
109
|
}
|
|
85
110
|
//# sourceMappingURL=models.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.mts","sourceRoot":"","sources":["../src/resources/models.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAE;AAEzB,qBAAa,MAAO,SAAQ,WAAW;IACrC
|
|
1
|
+
{"version":3,"file":"models.d.mts","sourceRoot":"","sources":["../src/resources/models.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAE;AAEzB,qBAAa,MAAO,SAAQ,WAAW;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,IAAI,CACF,KAAK,GAAE,eAAe,GAAG,IAAI,GAAG,SAAc,EAC9C,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,iBAAiB,CAAC;CAGjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,OAAO,EACL,KAAK,KAAK,IAAI,KAAK,EACnB,KAAK,iBAAiB,IAAI,iBAAiB,EAC3C,KAAK,eAAe,IAAI,eAAe,GACxC,CAAC;CACH"}
|
package/resources/models.d.ts
CHANGED
|
@@ -33,40 +33,65 @@ export declare class Models extends APIResource {
|
|
|
33
33
|
* **Caching:**
|
|
34
34
|
*
|
|
35
35
|
* - Response is cacheable for 1 hour (model list rarely changes)
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* const models = await client.models.list();
|
|
40
|
+
* ```
|
|
36
41
|
*/
|
|
37
42
|
list(query?: ModelListParams | null | undefined, options?: RequestOptions): APIPromise<ModelListResponse>;
|
|
38
43
|
}
|
|
39
44
|
/**
|
|
40
|
-
* Response for models
|
|
45
|
+
* Response model for a single LLM model from GET /v2/models endpoint.
|
|
46
|
+
*
|
|
47
|
+
* Contains metadata about a supported text generation model including pricing,
|
|
48
|
+
* context limits, and availability information.
|
|
41
49
|
*/
|
|
42
|
-
export interface
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
export interface Model {
|
|
51
|
+
/**
|
|
52
|
+
* Maximum context window size in tokens
|
|
53
|
+
*/
|
|
54
|
+
context_length: number;
|
|
55
|
+
/**
|
|
56
|
+
* Price per million input tokens in USD
|
|
57
|
+
*/
|
|
58
|
+
input_price: number;
|
|
59
|
+
/**
|
|
60
|
+
* Model identifier (e.g., 'gpt-4', 'claude-3-opus-20240229')
|
|
61
|
+
*/
|
|
62
|
+
model: string;
|
|
63
|
+
/**
|
|
64
|
+
* Price per million output tokens in USD
|
|
65
|
+
*/
|
|
66
|
+
output_price: number;
|
|
67
|
+
/**
|
|
68
|
+
* Provider name (e.g., 'openai', 'anthropic', 'google')
|
|
69
|
+
*/
|
|
70
|
+
provider: string;
|
|
71
|
+
/**
|
|
72
|
+
* OpenRouter model identifier if available, null if not supported via OpenRouter
|
|
73
|
+
*/
|
|
74
|
+
openrouter_model?: string | null;
|
|
46
75
|
}
|
|
47
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Response model for GET /v2/models endpoint.
|
|
78
|
+
*
|
|
79
|
+
* Returns a list of all supported text generation models with their metadata,
|
|
80
|
+
* separated into active and deprecated models.
|
|
81
|
+
*/
|
|
82
|
+
export interface ModelListResponse {
|
|
48
83
|
/**
|
|
49
|
-
*
|
|
84
|
+
* List of deprecated models that are no longer recommended but may still work
|
|
50
85
|
*/
|
|
51
|
-
|
|
52
|
-
context_length: number;
|
|
53
|
-
input_price: number;
|
|
54
|
-
model: string;
|
|
55
|
-
output_price: number;
|
|
56
|
-
provider: string;
|
|
57
|
-
openrouter_model?: string | null;
|
|
58
|
-
}
|
|
86
|
+
deprecated_models: Array<Model>;
|
|
59
87
|
/**
|
|
60
|
-
*
|
|
88
|
+
* List of active/supported text generation models with their metadata
|
|
61
89
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
provider: string;
|
|
68
|
-
openrouter_model?: string | null;
|
|
69
|
-
}
|
|
90
|
+
models: Array<Model>;
|
|
91
|
+
/**
|
|
92
|
+
* Total count of active models in the response
|
|
93
|
+
*/
|
|
94
|
+
total: number;
|
|
70
95
|
}
|
|
71
96
|
export interface ModelListParams {
|
|
72
97
|
/**
|
|
@@ -80,6 +105,6 @@ export interface ModelListParams {
|
|
|
80
105
|
provider?: Array<string> | null;
|
|
81
106
|
}
|
|
82
107
|
export declare namespace Models {
|
|
83
|
-
export { type ModelListResponse as ModelListResponse, type ModelListParams as ModelListParams };
|
|
108
|
+
export { type Model as Model, type ModelListResponse as ModelListResponse, type ModelListParams as ModelListParams, };
|
|
84
109
|
}
|
|
85
110
|
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/resources/models.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAE;AAEzB,qBAAa,MAAO,SAAQ,WAAW;IACrC
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/resources/models.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAE;AAEzB,qBAAa,MAAO,SAAQ,WAAW;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,IAAI,CACF,KAAK,GAAE,eAAe,GAAG,IAAI,GAAG,SAAc,EAC9C,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,iBAAiB,CAAC;CAGjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,OAAO,EACL,KAAK,KAAK,IAAI,KAAK,EACnB,KAAK,iBAAiB,IAAI,iBAAiB,EAC3C,KAAK,eAAe,IAAI,eAAe,GACxC,CAAC;CACH"}
|
package/resources/models.js
CHANGED
|
@@ -35,6 +35,11 @@ class Models extends resource_1.APIResource {
|
|
|
35
35
|
* **Caching:**
|
|
36
36
|
*
|
|
37
37
|
* - Response is cacheable for 1 hour (model list rarely changes)
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* const models = await client.models.list();
|
|
42
|
+
* ```
|
|
38
43
|
*/
|
|
39
44
|
list(query = {}, options) {
|
|
40
45
|
return this._client.get('/v2/models', { query, ...options });
|
package/resources/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/resources/models.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAI/C,MAAa,MAAO,SAAQ,sBAAW;IACrC
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/resources/models.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAI/C,MAAa,MAAO,SAAQ,sBAAW;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,IAAI,CACF,QAA4C,EAAE,EAC9C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF;AA5CD,wBA4CC"}
|
package/resources/models.mjs
CHANGED
|
@@ -32,6 +32,11 @@ export class Models extends APIResource {
|
|
|
32
32
|
* **Caching:**
|
|
33
33
|
*
|
|
34
34
|
* - Response is cacheable for 1 hour (model list rarely changes)
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const models = await client.models.list();
|
|
39
|
+
* ```
|
|
35
40
|
*/
|
|
36
41
|
list(query = {}, options) {
|
|
37
42
|
return this._client.get('/v2/models', { query, ...options });
|
package/resources/models.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.mjs","sourceRoot":"","sources":["../src/resources/models.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;AAItB,MAAM,OAAO,MAAO,SAAQ,WAAW;IACrC
|
|
1
|
+
{"version":3,"file":"models.mjs","sourceRoot":"","sources":["../src/resources/models.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;AAItB,MAAM,OAAO,MAAO,SAAQ,WAAW;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,IAAI,CACF,QAA4C,EAAE,EAC9C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF"}
|
|
@@ -2,18 +2,6 @@ import { APIResource } from "../core/resource.mjs";
|
|
|
2
2
|
import { APIPromise } from "../core/api-promise.mjs";
|
|
3
3
|
import { RequestOptions } from "../internal/request-options.mjs";
|
|
4
4
|
export declare class Preferences extends APIResource {
|
|
5
|
-
/**
|
|
6
|
-
* Get User Preference By Id
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```ts
|
|
10
|
-
* const preference = await client.preferences.retrieve(
|
|
11
|
-
* 'preference_id',
|
|
12
|
-
* { user_id: 'user_id', 'x-token': 'x-token' },
|
|
13
|
-
* );
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
retrieve(preferenceID: string, params: PreferenceRetrieveParams, options?: RequestOptions): APIPromise<unknown>;
|
|
17
5
|
/**
|
|
18
6
|
* Create a new preference ID for personalized LLM routing.
|
|
19
7
|
*
|
|
@@ -42,70 +30,84 @@ export declare class Preferences extends APIResource {
|
|
|
42
30
|
*
|
|
43
31
|
* @example
|
|
44
32
|
* ```ts
|
|
45
|
-
* const
|
|
46
|
-
* await client.preferences.createUserPreference();
|
|
33
|
+
* const preference = await client.preferences.create();
|
|
47
34
|
* ```
|
|
48
35
|
*/
|
|
49
|
-
|
|
36
|
+
create(body: PreferenceCreateParams, options?: RequestOptions): APIPromise<PreferenceCreateResponse>;
|
|
50
37
|
/**
|
|
51
|
-
*
|
|
38
|
+
* Get User Preference
|
|
52
39
|
*
|
|
53
40
|
* @example
|
|
54
41
|
* ```ts
|
|
55
|
-
* const
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
42
|
+
* const preference = await client.preferences.retrieve(
|
|
43
|
+
* 'user_id',
|
|
44
|
+
* { 'x-token': 'x-token' },
|
|
45
|
+
* );
|
|
59
46
|
* ```
|
|
60
47
|
*/
|
|
61
|
-
|
|
48
|
+
retrieve(userID: string, params: PreferenceRetrieveParams, options?: RequestOptions): APIPromise<unknown>;
|
|
62
49
|
/**
|
|
63
50
|
* Update User Preference
|
|
64
51
|
*
|
|
65
52
|
* @example
|
|
66
53
|
* ```ts
|
|
67
|
-
* const
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* });
|
|
54
|
+
* const preference = await client.preferences.update({
|
|
55
|
+
* preference_id: 'preference_id',
|
|
56
|
+
* });
|
|
71
57
|
* ```
|
|
72
58
|
*/
|
|
73
|
-
|
|
59
|
+
update(body: PreferenceUpdateParams, options?: RequestOptions): APIPromise<unknown>;
|
|
60
|
+
/**
|
|
61
|
+
* Delete User Preference
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* const preference = await client.preferences.delete(
|
|
66
|
+
* 'preference_id',
|
|
67
|
+
* );
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
delete(preferenceID: string, options?: RequestOptions): APIPromise<unknown>;
|
|
74
71
|
}
|
|
75
|
-
export type PreferenceRetrieveResponse = unknown;
|
|
76
72
|
/**
|
|
77
|
-
* Response
|
|
73
|
+
* Response model for POST /v2/preferences/userPreferenceCreate endpoint.
|
|
74
|
+
*
|
|
75
|
+
* Returns the newly created preference ID which can be used to enable personalized
|
|
76
|
+
* LLM routing. Store this ID and include it in subsequent model_select() calls to
|
|
77
|
+
* activate personalized routing based on your feedback and usage patterns.
|
|
78
|
+
*
|
|
79
|
+
* **Next steps after creation:**
|
|
80
|
+
*
|
|
81
|
+
* 1. Use the preference_id in POST /v2/modelRouter/modelSelect requests
|
|
82
|
+
* 2. Submit feedback on routing decisions to improve accuracy
|
|
83
|
+
* 3. Optionally train a custom router using your evaluation data
|
|
78
84
|
*/
|
|
79
|
-
export interface
|
|
85
|
+
export interface PreferenceCreateResponse {
|
|
80
86
|
/**
|
|
81
|
-
*
|
|
82
|
-
* personalized routing
|
|
87
|
+
* Unique identifier for the newly created preference. Use this in the
|
|
88
|
+
* 'preference_id' parameter of model_select() calls to enable personalized routing
|
|
83
89
|
*/
|
|
84
90
|
preference_id: string;
|
|
85
91
|
}
|
|
86
|
-
export type
|
|
87
|
-
export type
|
|
88
|
-
export
|
|
89
|
-
|
|
90
|
-
* Path param:
|
|
91
|
-
*/
|
|
92
|
-
user_id: string;
|
|
93
|
-
/**
|
|
94
|
-
* Header param:
|
|
95
|
-
*/
|
|
96
|
-
'x-token': string;
|
|
97
|
-
}
|
|
98
|
-
export interface PreferenceCreateUserPreferenceParams {
|
|
92
|
+
export type PreferenceRetrieveResponse = unknown;
|
|
93
|
+
export type PreferenceUpdateResponse = unknown;
|
|
94
|
+
export type PreferenceDeleteResponse = unknown;
|
|
95
|
+
export interface PreferenceCreateParams {
|
|
99
96
|
/**
|
|
100
|
-
* Optional name for the preference
|
|
97
|
+
* Optional name for the preference. If not provided, an auto-generated timestamp
|
|
98
|
+
* will be used. Use descriptive names like 'Production API' or 'Customer Support
|
|
99
|
+
* Bot' for easy identification
|
|
101
100
|
*/
|
|
102
101
|
name?: string | null;
|
|
103
102
|
}
|
|
104
|
-
export interface
|
|
103
|
+
export interface PreferenceRetrieveParams {
|
|
104
|
+
'x-token': string;
|
|
105
|
+
}
|
|
106
|
+
export interface PreferenceUpdateParams {
|
|
105
107
|
preference_id: string;
|
|
106
108
|
name?: string | null;
|
|
107
109
|
}
|
|
108
110
|
export declare namespace Preferences {
|
|
109
|
-
export { type
|
|
111
|
+
export { type PreferenceCreateResponse as PreferenceCreateResponse, type PreferenceRetrieveResponse as PreferenceRetrieveResponse, type PreferenceUpdateResponse as PreferenceUpdateResponse, type PreferenceDeleteResponse as PreferenceDeleteResponse, type PreferenceCreateParams as PreferenceCreateParams, type PreferenceRetrieveParams as PreferenceRetrieveParams, type PreferenceUpdateParams as PreferenceUpdateParams, };
|
|
110
112
|
}
|
|
111
113
|
//# sourceMappingURL=preferences.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.d.mts","sourceRoot":"","sources":["../src/resources/preferences.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OAEd,EAAE,cAAc,EAAE;AAGzB,qBAAa,WAAY,SAAQ,WAAW;IAC1C
|
|
1
|
+
{"version":3,"file":"preferences.d.mts","sourceRoot":"","sources":["../src/resources/preferences.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OAEd,EAAE,cAAc,EAAE;AAGzB,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,MAAM,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,wBAAwB,CAAC;IAIpG;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAQzG;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;IAInF;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;CAG5E;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IAEtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,OAAO,EACL,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,0BAA0B,IAAI,0BAA0B,EAC7D,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,sBAAsB,IAAI,sBAAsB,EACrD,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,sBAAsB,IAAI,sBAAsB,GACtD,CAAC;CACH"}
|