notdiamond 2.0.0-rc4 → 2.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 (181) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/LICENSE +1 -1
  3. package/README.md +294 -166
  4. package/client.d.mts +20 -23
  5. package/client.d.mts.map +1 -1
  6. package/client.d.ts +20 -23
  7. package/client.d.ts.map +1 -1
  8. package/client.js +43 -46
  9. package/client.js.map +1 -1
  10. package/client.mjs +41 -44
  11. package/client.mjs.map +1 -1
  12. package/core/api-promise.d.mts +2 -2
  13. package/core/api-promise.d.ts +2 -2
  14. package/core/error.d.mts +2 -2
  15. package/core/error.d.ts +2 -2
  16. package/core/error.js +4 -4
  17. package/core/error.mjs +2 -2
  18. package/core/resource.d.mts +3 -3
  19. package/core/resource.d.ts +3 -3
  20. package/index.d.mts +3 -3
  21. package/index.d.ts +3 -3
  22. package/index.js +4 -4
  23. package/index.mjs +3 -3
  24. package/internal/parse.d.mts +2 -2
  25. package/internal/parse.d.ts +2 -2
  26. package/internal/shims.js +1 -1
  27. package/internal/shims.mjs +1 -1
  28. package/internal/tslib.js +17 -17
  29. package/internal/uploads.d.mts +4 -4
  30. package/internal/uploads.d.ts +4 -4
  31. package/internal/utils/base64.js +2 -2
  32. package/internal/utils/base64.mjs +3 -3
  33. package/internal/utils/log.d.mts +3 -3
  34. package/internal/utils/log.d.ts +3 -3
  35. package/internal/utils/path.js +1 -1
  36. package/internal/utils/path.mjs +2 -2
  37. package/internal/utils/values.js +5 -5
  38. package/internal/utils/values.mjs +6 -6
  39. package/package.json +3 -3
  40. package/resources/{pzn.d.mts → custom-router.d.mts} +16 -96
  41. package/resources/custom-router.d.mts.map +1 -0
  42. package/resources/{pzn.d.ts → custom-router.d.ts} +16 -96
  43. package/resources/custom-router.d.ts.map +1 -0
  44. package/resources/{pzn.js → custom-router.js} +13 -50
  45. package/resources/custom-router.js.map +1 -0
  46. package/resources/{pzn.mjs → custom-router.mjs} +11 -48
  47. package/resources/custom-router.mjs.map +1 -0
  48. package/resources/index.d.mts +4 -5
  49. package/resources/index.d.mts.map +1 -1
  50. package/resources/index.d.ts +4 -5
  51. package/resources/index.d.ts.map +1 -1
  52. package/resources/index.js +5 -7
  53. package/resources/index.js.map +1 -1
  54. package/resources/index.mjs +2 -3
  55. package/resources/index.mjs.map +1 -1
  56. package/resources/model-router.d.mts +6 -123
  57. package/resources/model-router.d.mts.map +1 -1
  58. package/resources/model-router.d.ts +6 -123
  59. package/resources/model-router.d.ts.map +1 -1
  60. package/resources/model-router.js +3 -32
  61. package/resources/model-router.js.map +1 -1
  62. package/resources/model-router.mjs +3 -32
  63. package/resources/model-router.mjs.map +1 -1
  64. package/resources/preferences.d.mts +4 -23
  65. package/resources/preferences.d.mts.map +1 -1
  66. package/resources/preferences.d.ts +4 -23
  67. package/resources/preferences.d.ts.map +1 -1
  68. package/resources/preferences.js +3 -25
  69. package/resources/preferences.js.map +1 -1
  70. package/resources/preferences.mjs +3 -25
  71. package/resources/preferences.mjs.map +1 -1
  72. package/resources/prompt-adaptation.d.mts +684 -0
  73. package/resources/prompt-adaptation.d.mts.map +1 -0
  74. package/resources/prompt-adaptation.d.ts +684 -0
  75. package/resources/prompt-adaptation.d.ts.map +1 -0
  76. package/resources/prompt-adaptation.js +258 -0
  77. package/resources/prompt-adaptation.js.map +1 -0
  78. package/resources/prompt-adaptation.mjs +254 -0
  79. package/resources/prompt-adaptation.mjs.map +1 -0
  80. package/src/client.ts +49 -56
  81. package/src/core/api-promise.ts +4 -4
  82. package/src/core/error.ts +2 -2
  83. package/src/core/resource.ts +3 -3
  84. package/src/index.ts +3 -3
  85. package/src/internal/parse.ts +2 -2
  86. package/src/internal/shims.ts +1 -1
  87. package/src/internal/uploads.ts +5 -5
  88. package/src/internal/utils/base64.ts +3 -3
  89. package/src/internal/utils/log.ts +3 -3
  90. package/src/internal/utils/path.ts +2 -2
  91. package/src/internal/utils/values.ts +6 -6
  92. package/src/resources/{pzn.ts → custom-router.ts} +17 -122
  93. package/src/resources/index.ts +14 -16
  94. package/src/resources/model-router.ts +5 -139
  95. package/src/resources/preferences.ts +3 -34
  96. package/src/resources/prompt-adaptation.ts +777 -0
  97. package/src/version.ts +1 -1
  98. package/version.d.mts +1 -1
  99. package/version.d.mts.map +1 -1
  100. package/version.d.ts +1 -1
  101. package/version.d.ts.map +1 -1
  102. package/version.js +1 -1
  103. package/version.js.map +1 -1
  104. package/version.mjs +1 -1
  105. package/version.mjs.map +1 -1
  106. package/resources/prompt/adapt.d.mts +0 -352
  107. package/resources/prompt/adapt.d.mts.map +0 -1
  108. package/resources/prompt/adapt.d.ts +0 -352
  109. package/resources/prompt/adapt.d.ts.map +0 -1
  110. package/resources/prompt/adapt.js +0 -154
  111. package/resources/prompt/adapt.js.map +0 -1
  112. package/resources/prompt/adapt.mjs +0 -150
  113. package/resources/prompt/adapt.mjs.map +0 -1
  114. package/resources/prompt/index.d.mts +0 -3
  115. package/resources/prompt/index.d.mts.map +0 -1
  116. package/resources/prompt/index.d.ts +0 -3
  117. package/resources/prompt/index.d.ts.map +0 -1
  118. package/resources/prompt/index.js +0 -9
  119. package/resources/prompt/index.js.map +0 -1
  120. package/resources/prompt/index.mjs +0 -4
  121. package/resources/prompt/index.mjs.map +0 -1
  122. package/resources/prompt/prompt.d.mts +0 -338
  123. package/resources/prompt/prompt.d.mts.map +0 -1
  124. package/resources/prompt/prompt.d.ts +0 -338
  125. package/resources/prompt/prompt.d.ts.map +0 -1
  126. package/resources/prompt/prompt.js +0 -128
  127. package/resources/prompt/prompt.js.map +0 -1
  128. package/resources/prompt/prompt.mjs +0 -123
  129. package/resources/prompt/prompt.mjs.map +0 -1
  130. package/resources/prompt.d.mts +0 -2
  131. package/resources/prompt.d.mts.map +0 -1
  132. package/resources/prompt.d.ts +0 -2
  133. package/resources/prompt.d.ts.map +0 -1
  134. package/resources/prompt.js +0 -6
  135. package/resources/prompt.js.map +0 -1
  136. package/resources/prompt.mjs +0 -3
  137. package/resources/prompt.mjs.map +0 -1
  138. package/resources/pzn.d.mts.map +0 -1
  139. package/resources/pzn.d.ts.map +0 -1
  140. package/resources/pzn.js.map +0 -1
  141. package/resources/pzn.mjs.map +0 -1
  142. package/resources/report/index.d.mts +0 -3
  143. package/resources/report/index.d.mts.map +0 -1
  144. package/resources/report/index.d.ts +0 -3
  145. package/resources/report/index.d.ts.map +0 -1
  146. package/resources/report/index.js +0 -9
  147. package/resources/report/index.js.map +0 -1
  148. package/resources/report/index.mjs +0 -4
  149. package/resources/report/index.mjs.map +0 -1
  150. package/resources/report/metrics.d.mts +0 -87
  151. package/resources/report/metrics.d.mts.map +0 -1
  152. package/resources/report/metrics.d.ts +0 -87
  153. package/resources/report/metrics.d.ts.map +0 -1
  154. package/resources/report/metrics.js +0 -57
  155. package/resources/report/metrics.js.map +0 -1
  156. package/resources/report/metrics.mjs +0 -53
  157. package/resources/report/metrics.mjs.map +0 -1
  158. package/resources/report/report.d.mts +0 -10
  159. package/resources/report/report.d.mts.map +0 -1
  160. package/resources/report/report.d.ts +0 -10
  161. package/resources/report/report.d.ts.map +0 -1
  162. package/resources/report/report.js +0 -17
  163. package/resources/report/report.js.map +0 -1
  164. package/resources/report/report.mjs +0 -12
  165. package/resources/report/report.mjs.map +0 -1
  166. package/resources/report.d.mts +0 -2
  167. package/resources/report.d.mts.map +0 -1
  168. package/resources/report.d.ts +0 -2
  169. package/resources/report.d.ts.map +0 -1
  170. package/resources/report.js +0 -6
  171. package/resources/report.js.map +0 -1
  172. package/resources/report.mjs +0 -3
  173. package/resources/report.mjs.map +0 -1
  174. package/src/resources/prompt/adapt.ts +0 -402
  175. package/src/resources/prompt/index.ts +0 -16
  176. package/src/resources/prompt/prompt.ts +0 -398
  177. package/src/resources/prompt.ts +0 -3
  178. package/src/resources/report/index.ts +0 -4
  179. package/src/resources/report/metrics.ts +0 -99
  180. package/src/resources/report/report.ts +0 -19
  181. package/src/resources/report.ts +0 -3
@@ -3,55 +3,10 @@
3
3
  import { APIResource } from '../core/resource';
4
4
  import { APIPromise } from '../core/api-promise';
5
5
  import { type Uploadable } from '../core/uploads';
6
- import { buildHeaders } from '../internal/headers';
7
6
  import { RequestOptions } from '../internal/request-options';
8
7
  import { multipartFormRequestOptions } from '../internal/uploads';
9
8
 
10
- export class Pzn extends APIResource {
11
- /**
12
- * Submit a survey response for personalized routing setup.
13
- *
14
- * This admin endpoint processes survey responses to set up personalized routing
15
- * configurations for users based on their use case, LLM preferences, and
16
- * constraints.
17
- *
18
- * **Survey Data:**
19
- *
20
- * - User information and use case description
21
- * - Preferred LLM providers and models
22
- * - Constraint priorities (quality, cost, latency)
23
- * - Optional prompts and evaluation datasets
24
- *
25
- * **File Uploads:**
26
- *
27
- * - `prompt_file`: Optional CSV file with prompts
28
- * - `dataset_file`: Optional CSV file with evaluation dataset
29
- *
30
- * **Note:** This is an admin-only endpoint for internal use.
31
- *
32
- * @example
33
- * ```ts
34
- * const response = await client.pzn.submitSurveyResponse({
35
- * constraint_priorities: 'constraint_priorities',
36
- * email: 'email',
37
- * llm_providers: 'llm_providers',
38
- * use_case_desc: 'use_case_desc',
39
- * user_id: 'user_id',
40
- * 'x-token': 'x-token',
41
- * });
42
- * ```
43
- */
44
- submitSurveyResponse(params: PznSubmitSurveyResponseParams, options?: RequestOptions): APIPromise<unknown> {
45
- const { 'x-token': xToken, ...body } = params;
46
- return this._client.post(
47
- '/v2/pzn/surveyResponse',
48
- multipartFormRequestOptions(
49
- { body, ...options, headers: buildHeaders([{ 'x-token': xToken }, options?.headers]) },
50
- this._client,
51
- ),
52
- );
53
- }
54
-
9
+ export class CustomRouter extends APIResource {
55
10
  /**
56
11
  * Train a custom router on your evaluation data to optimize routing for your
57
12
  * specific use case.
@@ -111,20 +66,21 @@ export class Pzn extends APIResource {
111
66
  *
112
67
  * @example
113
68
  * ```ts
114
- * const response = await client.pzn.trainCustomRouter({
115
- * dataset_file: fs.createReadStream('path/to/file'),
116
- * language: 'english',
117
- * llm_providers:
118
- * '[{"provider": "openai", "model": "gpt-4o"}, {"provider": "anthropic", "model": "claude-sonnet-4-5-20250929"}]',
119
- * maximize: true,
120
- * prompt_column: 'prompt',
121
- * });
69
+ * const response =
70
+ * await client.customRouter.trainCustomRouter({
71
+ * dataset_file: fs.createReadStream('path/to/file'),
72
+ * language: 'english',
73
+ * llm_providers:
74
+ * '[{"provider": "openai", "model": "gpt-4o"}, {"provider": "anthropic", "model": "claude-sonnet-4-5-20250929"}]',
75
+ * maximize: true,
76
+ * prompt_column: 'prompt',
77
+ * });
122
78
  * ```
123
79
  */
124
80
  trainCustomRouter(
125
- body: PznTrainCustomRouterParams,
81
+ body: CustomRouterTrainCustomRouterParams,
126
82
  options?: RequestOptions,
127
- ): APIPromise<PznTrainCustomRouterResponse> {
83
+ ): APIPromise<CustomRouterTrainCustomRouterResponse> {
128
84
  return this._client.post(
129
85
  '/v2/pzn/trainCustomRouter',
130
86
  multipartFormRequestOptions({ body, ...options }, this._client),
@@ -132,8 +88,6 @@ export class Pzn extends APIResource {
132
88
  }
133
89
  }
134
90
 
135
- export type PznSubmitSurveyResponseResponse = unknown;
136
-
137
91
  /**
138
92
  * Response model for POST /v2/pzn/trainCustomRouter endpoint.
139
93
  *
@@ -155,7 +109,7 @@ export type PznSubmitSurveyResponseResponse = unknown;
155
109
  * - No need to poll status - you can start using it immediately (will use default
156
110
  * until ready)
157
111
  */
158
- export interface PznTrainCustomRouterResponse {
112
+ export interface CustomRouterTrainCustomRouterResponse {
159
113
  /**
160
114
  * Unique identifier for the custom router. Use this in model_select() calls to
161
115
  * enable routing with your custom-trained router
@@ -163,64 +117,7 @@ export interface PznTrainCustomRouterResponse {
163
117
  preference_id: string;
164
118
  }
165
119
 
166
- export interface PznSubmitSurveyResponseParams {
167
- /**
168
- * Body param: JSON string of constraint priorities object
169
- */
170
- constraint_priorities: string;
171
-
172
- /**
173
- * Body param: User email address
174
- */
175
- email: string;
176
-
177
- /**
178
- * Body param: JSON string of LLM providers array
179
- */
180
- llm_providers: string;
181
-
182
- /**
183
- * Body param: Description of the user's use case
184
- */
185
- use_case_desc: string;
186
-
187
- /**
188
- * Body param: User ID from Supabase
189
- */
190
- user_id: string;
191
-
192
- /**
193
- * Header param:
194
- */
195
- 'x-token': string;
196
-
197
- /**
198
- * Body param: Optional additional preferences text
199
- */
200
- additional_preferences?: string | null;
201
-
202
- /**
203
- * Body param: Optional CSV file with evaluation dataset
204
- */
205
- dataset_file?: Uploadable | null;
206
-
207
- /**
208
- * Body param: Optional preference name
209
- */
210
- name?: string | null;
211
-
212
- /**
213
- * Body param: Optional CSV file with prompts
214
- */
215
- prompt_file?: Uploadable | null;
216
-
217
- /**
218
- * Body param: Optional JSON string of prompts array
219
- */
220
- prompts?: string | null;
221
- }
222
-
223
- export interface PznTrainCustomRouterParams {
120
+ export interface CustomRouterTrainCustomRouterParams {
224
121
  /**
225
122
  * CSV file containing evaluation data with prompt column and score/response
226
123
  * columns for each model
@@ -263,11 +160,9 @@ export interface PznTrainCustomRouterParams {
263
160
  preference_id?: string | null;
264
161
  }
265
162
 
266
- export declare namespace Pzn {
163
+ export declare namespace CustomRouter {
267
164
  export {
268
- type PznSubmitSurveyResponseResponse as PznSubmitSurveyResponseResponse,
269
- type PznTrainCustomRouterResponse as PznTrainCustomRouterResponse,
270
- type PznSubmitSurveyResponseParams as PznSubmitSurveyResponseParams,
271
- type PznTrainCustomRouterParams as PznTrainCustomRouterParams,
165
+ type CustomRouterTrainCustomRouterResponse as CustomRouterTrainCustomRouterResponse,
166
+ type CustomRouterTrainCustomRouterParams as CustomRouterTrainCustomRouterParams,
272
167
  };
273
168
  }
@@ -1,34 +1,32 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ export {
4
+ CustomRouter,
5
+ type CustomRouterTrainCustomRouterResponse,
6
+ type CustomRouterTrainCustomRouterParams,
7
+ } from './custom-router';
3
8
  export {
4
9
  ModelRouter,
5
- type ModelRouterOpenHandsSelectResponse,
6
10
  type ModelRouterSelectModelResponse,
7
- type ModelRouterOpenHandsSelectParams,
8
11
  type ModelRouterSelectModelParams,
9
12
  } from './model-router';
10
13
  export { Models, type Model, type ModelListResponse, type ModelListParams } from './models';
11
14
  export {
12
15
  Preferences,
13
16
  type PreferenceCreateResponse,
14
- type PreferenceRetrieveResponse,
15
17
  type PreferenceUpdateResponse,
16
18
  type PreferenceDeleteResponse,
17
19
  type PreferenceCreateParams,
18
- type PreferenceRetrieveParams,
19
20
  type PreferenceUpdateParams,
20
21
  } from './preferences';
21
22
  export {
22
- Prompt,
23
+ PromptAdaptation,
24
+ type GoldenRecord,
23
25
  type JobStatus,
24
- type PromptGetAdaptResultsResponse,
25
- type PromptGetAdaptStatusResponse,
26
- } from './prompt/prompt';
27
- export {
28
- Pzn,
29
- type PznSubmitSurveyResponseResponse,
30
- type PznTrainCustomRouterResponse,
31
- type PznSubmitSurveyResponseParams,
32
- type PznTrainCustomRouterParams,
33
- } from './pzn';
34
- export { Report } from './report/report';
26
+ type RequestProvider,
27
+ type PromptAdaptationAdaptResponse,
28
+ type PromptAdaptationGetAdaptResultsResponse,
29
+ type PromptAdaptationGetAdaptStatusResponse,
30
+ type PromptAdaptationGetCostResponse,
31
+ type PromptAdaptationAdaptParams,
32
+ } from './prompt-adaptation';
@@ -1,45 +1,17 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../core/resource';
4
- import * as AdaptAPI from './prompt/adapt';
4
+ import * as PromptAdaptationAPI from './prompt-adaptation';
5
5
  import { APIPromise } from '../core/api-promise';
6
6
  import { RequestOptions } from '../internal/request-options';
7
7
 
8
8
  export class ModelRouter extends APIResource {
9
- /**
10
- * Openhands Model Select
11
- *
12
- * @example
13
- * ```ts
14
- * const response = await client.modelRouter.openHandsSelect({
15
- * llm_providers: [
16
- * { model: 'gpt-4o', provider: 'openai' },
17
- * {
18
- * model: 'claude-sonnet-4-5-20250929',
19
- * provider: 'anthropic',
20
- * },
21
- * { model: 'gemini-1.5-pro', provider: 'google' },
22
- * ],
23
- * messages: [
24
- * {
25
- * content: 'You are a helpful assistant.',
26
- * role: 'system',
27
- * },
28
- * { content: 'Explain quantum computing', role: 'user' },
29
- * ],
30
- * });
31
- * ```
32
- */
33
- openHandsSelect(body: ModelRouterOpenHandsSelectParams, options?: RequestOptions): APIPromise<unknown> {
34
- return this._client.post('/v2/modelRouter/openHandsRouter', { body, ...options });
35
- }
36
-
37
9
  /**
38
10
  * Select the optimal LLM to handle your query based on Not Diamond's routing
39
11
  * algorithm.
40
12
  *
41
13
  * This endpoint analyzes your messages and returns the best-suited model from your
42
- * specified providers. The router considers factors like query complexity, model
14
+ * specified models. The router considers factors like query complexity, model
43
15
  * capabilities, cost, and latency based on your preferences.
44
16
  *
45
17
  * **Key Features:**
@@ -48,14 +20,13 @@ export class ModelRouter extends APIResource {
48
20
  * - Support for custom routers trained on your evaluation data
49
21
  * - Optional cost/latency optimization
50
22
  * - Function calling support for compatible models
51
- * - Privacy-preserving content hashing
52
23
  *
53
24
  * **Usage:**
54
25
  *
55
26
  * 1. Pass your messages in OpenAI format (array of objects with 'role' and
56
27
  * 'content')
57
28
  * 2. Specify which LLM providers you want to route between
58
- * 3. Optionally provide a preference_id for personalized routing
29
+ * 3. Optionally provide a preference_id to use a custom router that you've trained
59
30
  * 4. Receive a recommended model and session_id
60
31
  * 5. Use the session_id to submit feedback and improve routing
61
32
  *
@@ -63,7 +34,6 @@ export class ModelRouter extends APIResource {
63
34
  *
64
35
  * - `POST /v2/preferences/userPreferenceCreate` - Create a preference ID for
65
36
  * personalized routing
66
- * - `POST /v2/report/metrics/feedback` - Submit feedback on routing decisions
67
37
  * - `POST /v2/pzn/trainCustomRouter` - Train a custom router on your evaluation
68
38
  * data
69
39
  *
@@ -76,7 +46,7 @@ export class ModelRouter extends APIResource {
76
46
  * provider: 'anthropic',
77
47
  * model: 'claude-sonnet-4-5-20250929',
78
48
  * },
79
- * { provider: 'google', model: 'gemini-1.5-pro' },
49
+ * { provider: 'google', model: 'gemini-2.5-flash' },
80
50
  * ],
81
51
  * messages: [
82
52
  * {
@@ -100,8 +70,6 @@ export class ModelRouter extends APIResource {
100
70
  }
101
71
  }
102
72
 
103
- export type ModelRouterOpenHandsSelectResponse = unknown;
104
-
105
73
  /**
106
74
  * Response from model selection endpoint.
107
75
  */
@@ -139,112 +107,12 @@ export namespace ModelRouterSelectModelResponse {
139
107
  }
140
108
  }
141
109
 
142
- export interface ModelRouterOpenHandsSelectParams {
143
- /**
144
- * List of LLM providers to route between. Specify at least one provider in format
145
- * {provider, model}
146
- */
147
- llm_providers: Array<AdaptAPI.RequestProvider | ModelRouterOpenHandsSelectParams.OpenRouterProvider>;
148
-
149
- /**
150
- * Array of message objects in OpenAI format (with 'role' and 'content' keys)
151
- */
152
- messages: Array<{ [key: string]: string | Array<unknown> }> | string;
153
-
154
- /**
155
- * Whether to hash message content for privacy
156
- */
157
- hash_content?: boolean;
158
-
159
- /**
160
- * Maximum number of models to consider for routing. If not specified, considers
161
- * all provided models
162
- */
163
- max_model_depth?: number | null;
164
-
165
- /**
166
- * Optimization metric for model selection
167
- */
168
- metric?: string;
169
-
170
- /**
171
- * Preference ID for personalized routing. Create one via POST
172
- * /v2/preferences/userPreferenceCreate
173
- */
174
- preference_id?: string | null;
175
-
176
- /**
177
- * Previous session ID to link related requests
178
- */
179
- previous_session?: string | null;
180
-
181
- /**
182
- * OpenAI-format function calling tools
183
- */
184
- tools?: Array<{ [key: string]: unknown }> | null;
185
-
186
- /**
187
- * Optimization tradeoff strategy. Use 'cost' to prioritize cost savings or
188
- * 'latency' to prioritize speed
189
- */
190
- tradeoff?: string | null;
191
- }
192
-
193
- export namespace ModelRouterOpenHandsSelectParams {
194
- /**
195
- * Model for specifying an LLM provider using OpenRouter format.
196
- *
197
- * Used in model routing requests when you want to specify providers using the
198
- * OpenRouter naming convention (combined 'provider/model' format). This is an
199
- * alternative to the standard RequestProvider which uses separate provider and
200
- * model fields.
201
- *
202
- * **When to use:**
203
- *
204
- * - When working with OpenRouter-compatible systems
205
- * - When you prefer the unified 'provider/model' format
206
- * - For models accessed via OpenRouter proxy
207
- */
208
- export interface OpenRouterProvider {
209
- /**
210
- * OpenRouter model identifier in 'provider/model' format (e.g., 'openai/gpt-4o',
211
- * 'anthropic/claude-sonnet-4-5-20250929')
212
- */
213
- model: string;
214
-
215
- /**
216
- * Maximum context length for the model (required for custom models)
217
- */
218
- context_length?: number | null;
219
-
220
- /**
221
- * Input token price per million tokens in USD (required for custom models)
222
- */
223
- input_price?: number | null;
224
-
225
- /**
226
- * Whether this is a custom model not in Not Diamond's supported model list
227
- */
228
- is_custom?: boolean;
229
-
230
- /**
231
- * Average latency in seconds (required for custom models)
232
- */
233
- latency?: number | null;
234
-
235
- /**
236
- * Output token price per million tokens in USD (required for custom models)
237
- */
238
- output_price?: number | null;
239
- }
240
- }
241
-
242
110
  export interface ModelRouterSelectModelParams {
243
111
  /**
244
112
  * Body param: List of LLM providers to route between. Specify at least one
245
113
  * provider in format {provider, model}
246
114
  */
247
- llm_providers: Array<AdaptAPI.RequestProvider | ModelRouterSelectModelParams.OpenRouterProvider>;
115
+ llm_providers: Array<PromptAdaptationAPI.RequestProvider | ModelRouterSelectModelParams.OpenRouterProvider>;
248
116
 
249
117
  /**
250
118
  * Body param: Array of message objects in OpenAI format (with 'role' and 'content'
@@ -348,9 +216,7 @@ export namespace ModelRouterSelectModelParams {
348
216
 
349
217
  export declare namespace ModelRouter {
350
218
  export {
351
- type ModelRouterOpenHandsSelectResponse as ModelRouterOpenHandsSelectResponse,
352
219
  type ModelRouterSelectModelResponse as ModelRouterSelectModelResponse,
353
- type ModelRouterOpenHandsSelectParams as ModelRouterOpenHandsSelectParams,
354
220
  type ModelRouterSelectModelParams as ModelRouterSelectModelParams,
355
221
  };
356
222
  }
@@ -2,7 +2,6 @@
2
2
 
3
3
  import { APIResource } from '../core/resource';
4
4
  import { APIPromise } from '../core/api-promise';
5
- import { buildHeaders } from '../internal/headers';
6
5
  import { RequestOptions } from '../internal/request-options';
7
6
  import { path } from '../internal/utils/path';
8
7
 
@@ -14,20 +13,17 @@ export class Preferences extends APIResource {
14
13
  * learning your preferences over time. Once created, you can:
15
14
  *
16
15
  * 1. Use it in model_select() calls to get personalized routing decisions
17
- * 2. Submit feedback via the feedback endpoint to improve routing quality
18
- * 3. Train a custom router specific to your use case
16
+ * 2. Train a custom router specific to your use case
19
17
  *
20
18
  * **Workflow:**
21
19
  *
22
20
  * 1. Create a preference ID (this endpoint)
23
21
  * 2. Use the preference_id in POST /v2/modelRouter/modelSelect requests
24
- * 3. Submit feedback on routing decisions via POST /v2/report/metrics/feedback
25
- * 4. Optionally train a custom router via POST /v2/pzn/trainCustomRouter
22
+ * 3. Optionally train a custom router via POST /v2/pzn/trainCustomRouter
26
23
  *
27
24
  * **Benefits:**
28
25
  *
29
- * - Personalized routing that learns from your feedback
30
- * - Improved accuracy for your specific use case
26
+ * - Personalized routing for your specific use case
31
27
  * - Ability to train custom routers on your evaluation data
32
28
  *
33
29
  * **Note:** If you don't provide a preference_id in model_select() calls, the
@@ -42,25 +38,6 @@ export class Preferences extends APIResource {
42
38
  return this._client.post('/v2/preferences/userPreferenceCreate', { body, ...options });
43
39
  }
44
40
 
45
- /**
46
- * Get User Preference
47
- *
48
- * @example
49
- * ```ts
50
- * const preference = await client.preferences.retrieve(
51
- * 'user_id',
52
- * { 'x-token': 'x-token' },
53
- * );
54
- * ```
55
- */
56
- retrieve(userID: string, params: PreferenceRetrieveParams, options?: RequestOptions): APIPromise<unknown> {
57
- const { 'x-token': xToken } = params;
58
- return this._client.get(path`/v2/preferences/${userID}`, {
59
- ...options,
60
- headers: buildHeaders([{ 'x-token': xToken }, options?.headers]),
61
- });
62
- }
63
-
64
41
  /**
65
42
  * Update User Preference
66
43
  *
@@ -111,8 +88,6 @@ export interface PreferenceCreateResponse {
111
88
  preference_id: string;
112
89
  }
113
90
 
114
- export type PreferenceRetrieveResponse = unknown;
115
-
116
91
  export type PreferenceUpdateResponse = unknown;
117
92
 
118
93
  export type PreferenceDeleteResponse = unknown;
@@ -126,10 +101,6 @@ export interface PreferenceCreateParams {
126
101
  name?: string | null;
127
102
  }
128
103
 
129
- export interface PreferenceRetrieveParams {
130
- 'x-token': string;
131
- }
132
-
133
104
  export interface PreferenceUpdateParams {
134
105
  preference_id: string;
135
106
 
@@ -139,11 +110,9 @@ export interface PreferenceUpdateParams {
139
110
  export declare namespace Preferences {
140
111
  export {
141
112
  type PreferenceCreateResponse as PreferenceCreateResponse,
142
- type PreferenceRetrieveResponse as PreferenceRetrieveResponse,
143
113
  type PreferenceUpdateResponse as PreferenceUpdateResponse,
144
114
  type PreferenceDeleteResponse as PreferenceDeleteResponse,
145
115
  type PreferenceCreateParams as PreferenceCreateParams,
146
- type PreferenceRetrieveParams as PreferenceRetrieveParams,
147
116
  type PreferenceUpdateParams as PreferenceUpdateParams,
148
117
  };
149
118
  }