@abliteration/sdk 0.1.7 → 0.1.9

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 (62) hide show
  1. package/.openapi-generator/FILES +10 -0
  2. package/README.md +7 -0
  3. package/dist/apis/IndicesApi.d.ts +8 -8
  4. package/dist/apis/IndicesApi.js +4 -4
  5. package/dist/apis/ModelsApi.d.ts +122 -0
  6. package/dist/apis/ModelsApi.js +120 -1
  7. package/dist/esm/apis/IndicesApi.d.ts +8 -8
  8. package/dist/esm/apis/IndicesApi.js +4 -4
  9. package/dist/esm/apis/ModelsApi.d.ts +122 -0
  10. package/dist/esm/apis/ModelsApi.js +119 -0
  11. package/dist/esm/models/DownloadAnomaly.d.ts +66 -0
  12. package/dist/esm/models/DownloadAnomaly.js +62 -0
  13. package/dist/esm/models/DownloadPoint.d.ts +34 -0
  14. package/dist/esm/models/DownloadPoint.js +43 -0
  15. package/dist/esm/models/FreedomVelocityDailyPoint.d.ts +42 -0
  16. package/dist/esm/models/FreedomVelocityDailyPoint.js +47 -0
  17. package/dist/esm/models/GetModelDownloadHistory200Response.d.ts +67 -0
  18. package/dist/esm/models/GetModelDownloadHistory200Response.js +79 -0
  19. package/dist/esm/models/IndexDetail.d.ts +14 -1
  20. package/dist/esm/models/IndexDetail.js +7 -0
  21. package/dist/esm/models/ListAnomalies200Response.d.ts +67 -0
  22. package/dist/esm/models/ListAnomalies200Response.js +79 -0
  23. package/dist/esm/models/ModelIndex.d.ts +9 -1
  24. package/dist/esm/models/ModelIndex.js +4 -0
  25. package/dist/esm/models/index.d.ts +5 -0
  26. package/dist/esm/models/index.js +5 -0
  27. package/dist/models/DownloadAnomaly.d.ts +66 -0
  28. package/dist/models/DownloadAnomaly.js +70 -0
  29. package/dist/models/DownloadPoint.d.ts +34 -0
  30. package/dist/models/DownloadPoint.js +50 -0
  31. package/dist/models/FreedomVelocityDailyPoint.d.ts +42 -0
  32. package/dist/models/FreedomVelocityDailyPoint.js +54 -0
  33. package/dist/models/GetModelDownloadHistory200Response.d.ts +67 -0
  34. package/dist/models/GetModelDownloadHistory200Response.js +87 -0
  35. package/dist/models/IndexDetail.d.ts +14 -1
  36. package/dist/models/IndexDetail.js +7 -0
  37. package/dist/models/ListAnomalies200Response.d.ts +67 -0
  38. package/dist/models/ListAnomalies200Response.js +87 -0
  39. package/dist/models/ModelIndex.d.ts +9 -1
  40. package/dist/models/ModelIndex.js +4 -0
  41. package/dist/models/index.d.ts +5 -0
  42. package/dist/models/index.js +5 -0
  43. package/docs/DownloadAnomaly.md +49 -0
  44. package/docs/DownloadPoint.md +37 -0
  45. package/docs/FreedomVelocityDailyPoint.md +41 -0
  46. package/docs/GetModelDownloadHistory200Response.md +48 -0
  47. package/docs/IndexDetail.md +6 -0
  48. package/docs/IndicesApi.md +2 -2
  49. package/docs/ListAnomalies200Response.md +48 -0
  50. package/docs/ModelIndex.md +4 -0
  51. package/docs/ModelsApi.md +167 -0
  52. package/package.json +3 -2
  53. package/src/apis/IndicesApi.ts +8 -8
  54. package/src/apis/ModelsApi.ts +236 -0
  55. package/src/models/DownloadAnomaly.ts +116 -0
  56. package/src/models/DownloadPoint.ts +69 -0
  57. package/src/models/FreedomVelocityDailyPoint.ts +81 -0
  58. package/src/models/GetModelDownloadHistory200Response.ts +132 -0
  59. package/src/models/IndexDetail.ts +26 -1
  60. package/src/models/ListAnomalies200Response.ts +132 -0
  61. package/src/models/ModelIndex.ts +13 -1
  62. package/src/models/index.ts +5 -0
@@ -12,7 +12,9 @@
12
12
  import * as runtime from '../runtime';
13
13
  import { type GetHistoricalDeletionSummary200Response } from '../models/GetHistoricalDeletionSummary200Response';
14
14
  import { type GetModel200Response } from '../models/GetModel200Response';
15
+ import { type GetModelDownloadHistory200Response } from '../models/GetModelDownloadHistory200Response';
15
16
  import { type GetModelReadmeAt200Response } from '../models/GetModelReadmeAt200Response';
17
+ import { type ListAnomalies200Response } from '../models/ListAnomalies200Response';
16
18
  import { type ListDelistedModels200Response } from '../models/ListDelistedModels200Response';
17
19
  import { type ListHistoricalDeletions200Response } from '../models/ListHistoricalDeletions200Response';
18
20
  import { type ListModelReadmeDrifts200Response } from '../models/ListModelReadmeDrifts200Response';
@@ -23,6 +25,16 @@ export interface GetModelRequest {
23
25
  */
24
26
  id: string;
25
27
  }
28
+ export interface GetModelDownloadHistoryRequest {
29
+ /**
30
+ *
31
+ */
32
+ id: string;
33
+ /**
34
+ * Window in days (max 365). Pass 0 for full history.
35
+ */
36
+ days?: number;
37
+ }
26
38
  export interface GetModelReadmeAtRequest {
27
39
  /**
28
40
  *
@@ -33,6 +45,28 @@ export interface GetModelReadmeAtRequest {
33
45
  */
34
46
  commit: string;
35
47
  }
48
+ export interface ListAnomaliesRequest {
49
+ /**
50
+ * Baseline distance in days. Default 7, min 1, max 365.
51
+ */
52
+ windowDays?: number;
53
+ /**
54
+ * Only rows where baseline downloads >= this. Filters `0→10` noise. Default 1000.
55
+ */
56
+ minBaseline?: number;
57
+ /**
58
+ * Filter to one class. Omit for both.
59
+ */
60
+ kind?: ListAnomaliesKindEnum;
61
+ /**
62
+ * Rows to return, 1 to 1000. Values outside the range are clamped, not rejected.
63
+ */
64
+ limit?: number;
65
+ /**
66
+ * Rows to skip. Negative and non-numeric values are treated as 0.
67
+ */
68
+ offset?: number;
69
+ }
36
70
  export interface ListDelistedModelsRequest {
37
71
  /**
38
72
  * ISO-8601 date or timestamp. Rows with last_seen_at >= since only. Use your previous poll's newest last_seen_at to build an incremental feed.
@@ -188,6 +222,29 @@ export interface ModelsApiInterface {
188
222
  * Get one model
189
223
  */
190
224
  getModel(requestParameters: GetModelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetModel200Response>;
225
+ /**
226
+ * Creates request options for getModelDownloadHistory without sending the request
227
+ * @param {string} id
228
+ * @param {number} [days] Window in days (max 365). Pass 0 for full history.
229
+ * @throws {RequiredError}
230
+ * @memberof ModelsApiInterface
231
+ */
232
+ getModelDownloadHistoryRequestOpts(requestParameters: GetModelDownloadHistoryRequest): Promise<runtime.RequestOpts>;
233
+ /**
234
+ * Cost: 5 credits, flat. Raw signal that /market/anomalies scans over. Callers with a chart or their own anomaly detector pull it once per model.
235
+ * @summary Per-model download timeline
236
+ * @param {string} id
237
+ * @param {number} [days] Window in days (max 365). Pass 0 for full history.
238
+ * @param {*} [options] Override http request option.
239
+ * @throws {RequiredError}
240
+ * @memberof ModelsApiInterface
241
+ */
242
+ getModelDownloadHistoryRaw(requestParameters: GetModelDownloadHistoryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetModelDownloadHistory200Response>>;
243
+ /**
244
+ * Cost: 5 credits, flat. Raw signal that /market/anomalies scans over. Callers with a chart or their own anomaly detector pull it once per model.
245
+ * Per-model download timeline
246
+ */
247
+ getModelDownloadHistory(requestParameters: GetModelDownloadHistoryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetModelDownloadHistory200Response>;
191
248
  /**
192
249
  * Creates request options for getModelReadmeAt without sending the request
193
250
  * @param {string} id
@@ -211,6 +268,35 @@ export interface ModelsApiInterface {
211
268
  * README content at one commit (wayback)
212
269
  */
213
270
  getModelReadmeAt(requestParameters: GetModelReadmeAtRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetModelReadmeAt200Response>;
271
+ /**
272
+ * Creates request options for listAnomalies without sending the request
273
+ * @param {number} [windowDays] Baseline distance in days. Default 7, min 1, max 365.
274
+ * @param {number} [minBaseline] Only rows where baseline downloads &gt;&#x3D; this. Filters &#x60;0→10&#x60; noise. Default 1000.
275
+ * @param {'spike' | 'drop'} [kind] Filter to one class. Omit for both.
276
+ * @param {number} [limit] Rows to return, 1 to 1000. Values outside the range are clamped, not rejected.
277
+ * @param {number} [offset] Rows to skip. Negative and non-numeric values are treated as 0.
278
+ * @throws {RequiredError}
279
+ * @memberof ModelsApiInterface
280
+ */
281
+ listAnomaliesRequestOpts(requestParameters: ListAnomaliesRequest): Promise<runtime.RequestOpts>;
282
+ /**
283
+ * Cost: 15 credits, flat. Every row is a model whose downloads-per-window has crossed a threshold: 2× jump = `spike`, 0.5× fall = `drop`. Sorted by absolute delta so biggest movers surface first. Consumers get \"what is happening in the field right now\" without re-implementing the ETL over `download_history`.
284
+ * @summary Anomalies in the download counter (change stream)
285
+ * @param {number} [windowDays] Baseline distance in days. Default 7, min 1, max 365.
286
+ * @param {number} [minBaseline] Only rows where baseline downloads &gt;&#x3D; this. Filters &#x60;0→10&#x60; noise. Default 1000.
287
+ * @param {'spike' | 'drop'} [kind] Filter to one class. Omit for both.
288
+ * @param {number} [limit] Rows to return, 1 to 1000. Values outside the range are clamped, not rejected.
289
+ * @param {number} [offset] Rows to skip. Negative and non-numeric values are treated as 0.
290
+ * @param {*} [options] Override http request option.
291
+ * @throws {RequiredError}
292
+ * @memberof ModelsApiInterface
293
+ */
294
+ listAnomaliesRaw(requestParameters: ListAnomaliesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListAnomalies200Response>>;
295
+ /**
296
+ * Cost: 15 credits, flat. Every row is a model whose downloads-per-window has crossed a threshold: 2× jump = `spike`, 0.5× fall = `drop`. Sorted by absolute delta so biggest movers surface first. Consumers get \"what is happening in the field right now\" without re-implementing the ETL over `download_history`.
297
+ * Anomalies in the download counter (change stream)
298
+ */
299
+ listAnomalies(requestParameters: ListAnomaliesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListAnomalies200Response>;
214
300
  /**
215
301
  * Creates request options for listDelistedModels without sending the request
216
302
  * @param {string} [since] ISO-8601 date or timestamp. Rows with last_seen_at &gt;&#x3D; since only. Use your previous poll\&#39;s newest last_seen_at to build an incremental feed.
@@ -370,6 +456,20 @@ export declare class ModelsApi extends runtime.BaseAPI implements ModelsApiInter
370
456
  * Get one model
371
457
  */
372
458
  getModel(requestParameters: GetModelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetModel200Response>;
459
+ /**
460
+ * Creates request options for getModelDownloadHistory without sending the request
461
+ */
462
+ getModelDownloadHistoryRequestOpts(requestParameters: GetModelDownloadHistoryRequest): Promise<runtime.RequestOpts>;
463
+ /**
464
+ * Cost: 5 credits, flat. Raw signal that /market/anomalies scans over. Callers with a chart or their own anomaly detector pull it once per model.
465
+ * Per-model download timeline
466
+ */
467
+ getModelDownloadHistoryRaw(requestParameters: GetModelDownloadHistoryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetModelDownloadHistory200Response>>;
468
+ /**
469
+ * Cost: 5 credits, flat. Raw signal that /market/anomalies scans over. Callers with a chart or their own anomaly detector pull it once per model.
470
+ * Per-model download timeline
471
+ */
472
+ getModelDownloadHistory(requestParameters: GetModelDownloadHistoryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetModelDownloadHistory200Response>;
373
473
  /**
374
474
  * Creates request options for getModelReadmeAt without sending the request
375
475
  */
@@ -384,6 +484,20 @@ export declare class ModelsApi extends runtime.BaseAPI implements ModelsApiInter
384
484
  * README content at one commit (wayback)
385
485
  */
386
486
  getModelReadmeAt(requestParameters: GetModelReadmeAtRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetModelReadmeAt200Response>;
487
+ /**
488
+ * Creates request options for listAnomalies without sending the request
489
+ */
490
+ listAnomaliesRequestOpts(requestParameters: ListAnomaliesRequest): Promise<runtime.RequestOpts>;
491
+ /**
492
+ * Cost: 15 credits, flat. Every row is a model whose downloads-per-window has crossed a threshold: 2× jump = `spike`, 0.5× fall = `drop`. Sorted by absolute delta so biggest movers surface first. Consumers get \"what is happening in the field right now\" without re-implementing the ETL over `download_history`.
493
+ * Anomalies in the download counter (change stream)
494
+ */
495
+ listAnomaliesRaw(requestParameters: ListAnomaliesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListAnomalies200Response>>;
496
+ /**
497
+ * Cost: 15 credits, flat. Every row is a model whose downloads-per-window has crossed a threshold: 2× jump = `spike`, 0.5× fall = `drop`. Sorted by absolute delta so biggest movers surface first. Consumers get \"what is happening in the field right now\" without re-implementing the ETL over `download_history`.
498
+ * Anomalies in the download counter (change stream)
499
+ */
500
+ listAnomalies(requestParameters?: ListAnomaliesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListAnomalies200Response>;
387
501
  /**
388
502
  * Creates request options for listDelistedModels without sending the request
389
503
  */
@@ -441,6 +555,14 @@ export declare class ModelsApi extends runtime.BaseAPI implements ModelsApiInter
441
555
  */
442
556
  listModels(requestParameters?: ListModelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListModels200Response>;
443
557
  }
558
+ /**
559
+ * @export
560
+ */
561
+ export declare const ListAnomaliesKindEnum: {
562
+ readonly Spike: "spike";
563
+ readonly Drop: "drop";
564
+ };
565
+ export type ListAnomaliesKindEnum = typeof ListAnomaliesKindEnum[keyof typeof ListAnomaliesKindEnum];
444
566
  /**
445
567
  * @export
446
568
  */
@@ -23,7 +23,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
23
23
  import * as runtime from '../runtime';
24
24
  import { GetHistoricalDeletionSummary200ResponseFromJSON, } from '../models/GetHistoricalDeletionSummary200Response';
25
25
  import { GetModel200ResponseFromJSON, } from '../models/GetModel200Response';
26
+ import { GetModelDownloadHistory200ResponseFromJSON, } from '../models/GetModelDownloadHistory200Response';
26
27
  import { GetModelReadmeAt200ResponseFromJSON, } from '../models/GetModelReadmeAt200Response';
28
+ import { ListAnomalies200ResponseFromJSON, } from '../models/ListAnomalies200Response';
27
29
  import { ListDelistedModels200ResponseFromJSON, } from '../models/ListDelistedModels200Response';
28
30
  import { ListHistoricalDeletions200ResponseFromJSON, } from '../models/ListHistoricalDeletions200Response';
29
31
  import { ListModelReadmeDrifts200ResponseFromJSON, } from '../models/ListModelReadmeDrifts200Response';
@@ -124,6 +126,57 @@ export class ModelsApi extends runtime.BaseAPI {
124
126
  return yield response.value();
125
127
  });
126
128
  }
129
+ /**
130
+ * Creates request options for getModelDownloadHistory without sending the request
131
+ */
132
+ getModelDownloadHistoryRequestOpts(requestParameters) {
133
+ return __awaiter(this, void 0, void 0, function* () {
134
+ if (requestParameters['id'] == null) {
135
+ throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling getModelDownloadHistory().');
136
+ }
137
+ const queryParameters = {};
138
+ if (requestParameters['days'] != null) {
139
+ queryParameters['days'] = requestParameters['days'];
140
+ }
141
+ const headerParameters = {};
142
+ if (this.configuration && this.configuration.accessToken) {
143
+ const token = this.configuration.accessToken;
144
+ const tokenString = yield token("bearerAuth", []);
145
+ if (tokenString) {
146
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
147
+ }
148
+ }
149
+ let urlPath = `/api/v1/models/{id}/download-history`;
150
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
151
+ return {
152
+ path: urlPath,
153
+ method: 'GET',
154
+ headers: headerParameters,
155
+ query: queryParameters,
156
+ };
157
+ });
158
+ }
159
+ /**
160
+ * Cost: 5 credits, flat. Raw signal that /market/anomalies scans over. Callers with a chart or their own anomaly detector pull it once per model.
161
+ * Per-model download timeline
162
+ */
163
+ getModelDownloadHistoryRaw(requestParameters, initOverrides) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ const requestOptions = yield this.getModelDownloadHistoryRequestOpts(requestParameters);
166
+ const response = yield this.request(requestOptions, initOverrides);
167
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetModelDownloadHistory200ResponseFromJSON(jsonValue));
168
+ });
169
+ }
170
+ /**
171
+ * Cost: 5 credits, flat. Raw signal that /market/anomalies scans over. Callers with a chart or their own anomaly detector pull it once per model.
172
+ * Per-model download timeline
173
+ */
174
+ getModelDownloadHistory(requestParameters, initOverrides) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ const response = yield this.getModelDownloadHistoryRaw(requestParameters, initOverrides);
177
+ return yield response.value();
178
+ });
179
+ }
127
180
  /**
128
181
  * Creates request options for getModelReadmeAt without sending the request
129
182
  */
@@ -176,6 +229,65 @@ export class ModelsApi extends runtime.BaseAPI {
176
229
  return yield response.value();
177
230
  });
178
231
  }
232
+ /**
233
+ * Creates request options for listAnomalies without sending the request
234
+ */
235
+ listAnomaliesRequestOpts(requestParameters) {
236
+ return __awaiter(this, void 0, void 0, function* () {
237
+ const queryParameters = {};
238
+ if (requestParameters['windowDays'] != null) {
239
+ queryParameters['window_days'] = requestParameters['windowDays'];
240
+ }
241
+ if (requestParameters['minBaseline'] != null) {
242
+ queryParameters['min_baseline'] = requestParameters['minBaseline'];
243
+ }
244
+ if (requestParameters['kind'] != null) {
245
+ queryParameters['kind'] = requestParameters['kind'];
246
+ }
247
+ if (requestParameters['limit'] != null) {
248
+ queryParameters['limit'] = requestParameters['limit'];
249
+ }
250
+ if (requestParameters['offset'] != null) {
251
+ queryParameters['offset'] = requestParameters['offset'];
252
+ }
253
+ const headerParameters = {};
254
+ if (this.configuration && this.configuration.accessToken) {
255
+ const token = this.configuration.accessToken;
256
+ const tokenString = yield token("bearerAuth", []);
257
+ if (tokenString) {
258
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
259
+ }
260
+ }
261
+ let urlPath = `/api/v1/market/anomalies`;
262
+ return {
263
+ path: urlPath,
264
+ method: 'GET',
265
+ headers: headerParameters,
266
+ query: queryParameters,
267
+ };
268
+ });
269
+ }
270
+ /**
271
+ * Cost: 15 credits, flat. Every row is a model whose downloads-per-window has crossed a threshold: 2× jump = `spike`, 0.5× fall = `drop`. Sorted by absolute delta so biggest movers surface first. Consumers get \"what is happening in the field right now\" without re-implementing the ETL over `download_history`.
272
+ * Anomalies in the download counter (change stream)
273
+ */
274
+ listAnomaliesRaw(requestParameters, initOverrides) {
275
+ return __awaiter(this, void 0, void 0, function* () {
276
+ const requestOptions = yield this.listAnomaliesRequestOpts(requestParameters);
277
+ const response = yield this.request(requestOptions, initOverrides);
278
+ return new runtime.JSONApiResponse(response, (jsonValue) => ListAnomalies200ResponseFromJSON(jsonValue));
279
+ });
280
+ }
281
+ /**
282
+ * Cost: 15 credits, flat. Every row is a model whose downloads-per-window has crossed a threshold: 2× jump = `spike`, 0.5× fall = `drop`. Sorted by absolute delta so biggest movers surface first. Consumers get \"what is happening in the field right now\" without re-implementing the ETL over `download_history`.
283
+ * Anomalies in the download counter (change stream)
284
+ */
285
+ listAnomalies() {
286
+ return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
287
+ const response = yield this.listAnomaliesRaw(requestParameters, initOverrides);
288
+ return yield response.value();
289
+ });
290
+ }
179
291
  /**
180
292
  * Creates request options for listDelistedModels without sending the request
181
293
  */
@@ -429,6 +541,13 @@ export class ModelsApi extends runtime.BaseAPI {
429
541
  });
430
542
  }
431
543
  }
544
+ /**
545
+ * @export
546
+ */
547
+ export const ListAnomaliesKindEnum = {
548
+ Spike: 'spike',
549
+ Drop: 'drop',
550
+ };
432
551
  /**
433
552
  * @export
434
553
  */
@@ -0,0 +1,66 @@
1
+ /**
2
+ * abliteration.org Public API
3
+ * Read access to the abliteration.org catalog: models and their method classification, alignment datasets and their passports, the M-code taxonomy, the four flagship indices and the curated field timeline. Every call is authenticated with a bearer key and metered in credits against the same wallet the Research Agent spends from. There is no free tier for machine traffic and no separate billing. Responses report `cost` and `credits_remaining` on every success. While `metering` reads `preview`, the cost shown is what the call will bill once metering is enabled and nothing is actually deducted; when it reads `billed`, it was.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * One model whose downloads-per-window crossed a threshold.
14
+ * @export
15
+ * @interface DownloadAnomaly
16
+ */
17
+ export interface DownloadAnomaly {
18
+ /**
19
+ *
20
+ */
21
+ model_id?: string;
22
+ /**
23
+ * ISO-8601 timestamp of the current snapshot.
24
+ */
25
+ current_at?: string;
26
+ /**
27
+ *
28
+ */
29
+ current_downloads?: number;
30
+ /**
31
+ * ISO-8601 timestamp of the baseline snapshot the delta is computed against.
32
+ */
33
+ baseline_at?: string;
34
+ /**
35
+ *
36
+ */
37
+ baseline_downloads?: number;
38
+ /**
39
+ * current_downloads / baseline_downloads.
40
+ */
41
+ ratio?: number;
42
+ /**
43
+ * current_downloads - baseline_downloads (signed).
44
+ */
45
+ delta?: number;
46
+ /**
47
+ * `spike` when ratio >= 2, `drop` when ratio <= 0.5.
48
+ */
49
+ kind?: DownloadAnomalyKindEnum;
50
+ }
51
+ /**
52
+ * @export
53
+ */
54
+ export declare const DownloadAnomalyKindEnum: {
55
+ readonly Spike: "spike";
56
+ readonly Drop: "drop";
57
+ };
58
+ export type DownloadAnomalyKindEnum = typeof DownloadAnomalyKindEnum[keyof typeof DownloadAnomalyKindEnum];
59
+ /**
60
+ * Check if a given object implements the DownloadAnomaly interface.
61
+ */
62
+ export declare function instanceOfDownloadAnomaly(value: object): value is DownloadAnomaly;
63
+ export declare function DownloadAnomalyFromJSON(json: any): DownloadAnomaly;
64
+ export declare function DownloadAnomalyFromJSONTyped(json: any, ignoreDiscriminator: boolean): DownloadAnomaly;
65
+ export declare function DownloadAnomalyToJSON(json: any): DownloadAnomaly;
66
+ export declare function DownloadAnomalyToJSONTyped(value?: DownloadAnomaly | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,62 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * abliteration.org Public API
5
+ * Read access to the abliteration.org catalog: models and their method classification, alignment datasets and their passports, the M-code taxonomy, the four flagship indices and the curated field timeline. Every call is authenticated with a bearer key and metered in credits against the same wallet the Research Agent spends from. There is no free tier for machine traffic and no separate billing. Responses report `cost` and `credits_remaining` on every success. While `metering` reads `preview`, the cost shown is what the call will bill once metering is enabled and nothing is actually deducted; when it reads `billed`, it was.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * @export
16
+ */
17
+ export const DownloadAnomalyKindEnum = {
18
+ Spike: 'spike',
19
+ Drop: 'drop',
20
+ };
21
+ /**
22
+ * Check if a given object implements the DownloadAnomaly interface.
23
+ */
24
+ export function instanceOfDownloadAnomaly(value) {
25
+ return true;
26
+ }
27
+ export function DownloadAnomalyFromJSON(json) {
28
+ return DownloadAnomalyFromJSONTyped(json, false);
29
+ }
30
+ export function DownloadAnomalyFromJSONTyped(json, ignoreDiscriminator) {
31
+ if (json == null) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'model_id': json['model_id'] == null ? undefined : json['model_id'],
36
+ 'current_at': json['current_at'] == null ? undefined : json['current_at'],
37
+ 'current_downloads': json['current_downloads'] == null ? undefined : json['current_downloads'],
38
+ 'baseline_at': json['baseline_at'] == null ? undefined : json['baseline_at'],
39
+ 'baseline_downloads': json['baseline_downloads'] == null ? undefined : json['baseline_downloads'],
40
+ 'ratio': json['ratio'] == null ? undefined : json['ratio'],
41
+ 'delta': json['delta'] == null ? undefined : json['delta'],
42
+ 'kind': json['kind'] == null ? undefined : json['kind'],
43
+ };
44
+ }
45
+ export function DownloadAnomalyToJSON(json) {
46
+ return DownloadAnomalyToJSONTyped(json, false);
47
+ }
48
+ export function DownloadAnomalyToJSONTyped(value, ignoreDiscriminator = false) {
49
+ if (value == null) {
50
+ return value;
51
+ }
52
+ return {
53
+ 'model_id': value['model_id'],
54
+ 'current_at': value['current_at'],
55
+ 'current_downloads': value['current_downloads'],
56
+ 'baseline_at': value['baseline_at'],
57
+ 'baseline_downloads': value['baseline_downloads'],
58
+ 'ratio': value['ratio'],
59
+ 'delta': value['delta'],
60
+ 'kind': value['kind'],
61
+ };
62
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * abliteration.org Public API
3
+ * Read access to the abliteration.org catalog: models and their method classification, alignment datasets and their passports, the M-code taxonomy, the four flagship indices and the curated field timeline. Every call is authenticated with a bearer key and metered in credits against the same wallet the Research Agent spends from. There is no free tier for machine traffic and no separate billing. Responses report `cost` and `credits_remaining` on every success. While `metering` reads `preview`, the cost shown is what the call will bill once metering is enabled and nothing is actually deducted; when it reads `billed`, it was.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * One snapshot in a per-model download timeline.
14
+ * @export
15
+ * @interface DownloadPoint
16
+ */
17
+ export interface DownloadPoint {
18
+ /**
19
+ * ISO-8601 timestamp of the observation.
20
+ */
21
+ date?: string;
22
+ /**
23
+ *
24
+ */
25
+ downloads?: number;
26
+ }
27
+ /**
28
+ * Check if a given object implements the DownloadPoint interface.
29
+ */
30
+ export declare function instanceOfDownloadPoint(value: object): value is DownloadPoint;
31
+ export declare function DownloadPointFromJSON(json: any): DownloadPoint;
32
+ export declare function DownloadPointFromJSONTyped(json: any, ignoreDiscriminator: boolean): DownloadPoint;
33
+ export declare function DownloadPointToJSON(json: any): DownloadPoint;
34
+ export declare function DownloadPointToJSONTyped(value?: DownloadPoint | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,43 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * abliteration.org Public API
5
+ * Read access to the abliteration.org catalog: models and their method classification, alignment datasets and their passports, the M-code taxonomy, the four flagship indices and the curated field timeline. Every call is authenticated with a bearer key and metered in credits against the same wallet the Research Agent spends from. There is no free tier for machine traffic and no separate billing. Responses report `cost` and `credits_remaining` on every success. While `metering` reads `preview`, the cost shown is what the call will bill once metering is enabled and nothing is actually deducted; when it reads `billed`, it was.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the DownloadPoint interface.
16
+ */
17
+ export function instanceOfDownloadPoint(value) {
18
+ return true;
19
+ }
20
+ export function DownloadPointFromJSON(json) {
21
+ return DownloadPointFromJSONTyped(json, false);
22
+ }
23
+ export function DownloadPointFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'date': json['date'] == null ? undefined : json['date'],
29
+ 'downloads': json['downloads'] == null ? undefined : json['downloads'],
30
+ };
31
+ }
32
+ export function DownloadPointToJSON(json) {
33
+ return DownloadPointToJSONTyped(json, false);
34
+ }
35
+ export function DownloadPointToJSONTyped(value, ignoreDiscriminator = false) {
36
+ if (value == null) {
37
+ return value;
38
+ }
39
+ return {
40
+ 'date': value['date'],
41
+ 'downloads': value['downloads'],
42
+ };
43
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * abliteration.org Public API
3
+ * Read access to the abliteration.org catalog: models and their method classification, alignment datasets and their passports, the M-code taxonomy, the four flagship indices and the curated field timeline. Every call is authenticated with a bearer key and metered in credits against the same wallet the Research Agent spends from. There is no free tier for machine traffic and no separate billing. Responses report `cost` and `credits_remaining` on every success. While `metering` reads `preview`, the cost shown is what the call will bill once metering is enabled and nothing is actually deducted; when it reads `billed`, it was.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * One stored daily Freedom Velocity reading.
14
+ * @export
15
+ * @interface FreedomVelocityDailyPoint
16
+ */
17
+ export interface FreedomVelocityDailyPoint {
18
+ /**
19
+ * UTC date of the snapshot, YYYY-MM-DD.
20
+ */
21
+ date?: string;
22
+ /**
23
+ * Mean days from a base model release to the first derived catalog model, as stored that day.
24
+ */
25
+ value?: number;
26
+ /**
27
+ * Median of the per-base days that day; null when not recorded.
28
+ */
29
+ median?: number | null;
30
+ /**
31
+ * Number of base models in the average that day; null when not recorded.
32
+ */
33
+ bases_count?: number | null;
34
+ }
35
+ /**
36
+ * Check if a given object implements the FreedomVelocityDailyPoint interface.
37
+ */
38
+ export declare function instanceOfFreedomVelocityDailyPoint(value: object): value is FreedomVelocityDailyPoint;
39
+ export declare function FreedomVelocityDailyPointFromJSON(json: any): FreedomVelocityDailyPoint;
40
+ export declare function FreedomVelocityDailyPointFromJSONTyped(json: any, ignoreDiscriminator: boolean): FreedomVelocityDailyPoint;
41
+ export declare function FreedomVelocityDailyPointToJSON(json: any): FreedomVelocityDailyPoint;
42
+ export declare function FreedomVelocityDailyPointToJSONTyped(value?: FreedomVelocityDailyPoint | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,47 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * abliteration.org Public API
5
+ * Read access to the abliteration.org catalog: models and their method classification, alignment datasets and their passports, the M-code taxonomy, the four flagship indices and the curated field timeline. Every call is authenticated with a bearer key and metered in credits against the same wallet the Research Agent spends from. There is no free tier for machine traffic and no separate billing. Responses report `cost` and `credits_remaining` on every success. While `metering` reads `preview`, the cost shown is what the call will bill once metering is enabled and nothing is actually deducted; when it reads `billed`, it was.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the FreedomVelocityDailyPoint interface.
16
+ */
17
+ export function instanceOfFreedomVelocityDailyPoint(value) {
18
+ return true;
19
+ }
20
+ export function FreedomVelocityDailyPointFromJSON(json) {
21
+ return FreedomVelocityDailyPointFromJSONTyped(json, false);
22
+ }
23
+ export function FreedomVelocityDailyPointFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'date': json['date'] == null ? undefined : json['date'],
29
+ 'value': json['value'] == null ? undefined : json['value'],
30
+ 'median': json['median'] === undefined ? undefined : json['median'] === null ? null : json['median'],
31
+ 'bases_count': json['bases_count'] === undefined ? undefined : json['bases_count'] === null ? null : json['bases_count'],
32
+ };
33
+ }
34
+ export function FreedomVelocityDailyPointToJSON(json) {
35
+ return FreedomVelocityDailyPointToJSONTyped(json, false);
36
+ }
37
+ export function FreedomVelocityDailyPointToJSONTyped(value, ignoreDiscriminator = false) {
38
+ if (value == null) {
39
+ return value;
40
+ }
41
+ return {
42
+ 'date': value['date'],
43
+ 'value': value['value'],
44
+ 'median': value['median'],
45
+ 'bases_count': value['bases_count'],
46
+ };
47
+ }