@abliteration/sdk 0.1.4 → 0.1.5

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 (38) hide show
  1. package/.openapi-generator/FILES +4 -0
  2. package/README.md +3 -0
  3. package/dist/apis/ModelsApi.d.ts +91 -8
  4. package/dist/apis/ModelsApi.js +80 -5
  5. package/dist/esm/apis/ModelsApi.d.ts +91 -8
  6. package/dist/esm/apis/ModelsApi.js +79 -4
  7. package/dist/esm/models/DelistedModel.d.ts +54 -0
  8. package/dist/esm/models/DelistedModel.js +53 -0
  9. package/dist/esm/models/ListDelistedModels200Response.d.ts +67 -0
  10. package/dist/esm/models/ListDelistedModels200Response.js +79 -0
  11. package/dist/esm/models/ModelDetail.d.ts +8 -0
  12. package/dist/esm/models/ModelDetail.js +2 -2
  13. package/dist/esm/models/ModelSummary.d.ts +8 -0
  14. package/dist/esm/models/ModelSummary.js +4 -0
  15. package/dist/esm/models/index.d.ts +2 -0
  16. package/dist/esm/models/index.js +2 -0
  17. package/dist/models/DelistedModel.d.ts +54 -0
  18. package/dist/models/DelistedModel.js +60 -0
  19. package/dist/models/ListDelistedModels200Response.d.ts +67 -0
  20. package/dist/models/ListDelistedModels200Response.js +87 -0
  21. package/dist/models/ModelDetail.d.ts +8 -0
  22. package/dist/models/ModelDetail.js +2 -2
  23. package/dist/models/ModelSummary.d.ts +8 -0
  24. package/dist/models/ModelSummary.js +4 -0
  25. package/dist/models/index.d.ts +2 -0
  26. package/dist/models/index.js +2 -0
  27. package/docs/DelistedModel.md +46 -0
  28. package/docs/ListDelistedModels200Response.md +48 -0
  29. package/docs/ModelDetail.md +4 -0
  30. package/docs/ModelSummary.md +4 -0
  31. package/docs/ModelsApi.md +91 -3
  32. package/package.json +1 -1
  33. package/src/apis/ModelsApi.ts +152 -8
  34. package/src/models/DelistedModel.ts +99 -0
  35. package/src/models/ListDelistedModels200Response.ts +132 -0
  36. package/src/models/ModelDetail.ts +12 -0
  37. package/src/models/ModelSummary.ts +12 -0
  38. package/src/models/index.ts +2 -0
@@ -22,6 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
22
22
  };
23
23
  import * as runtime from '../runtime';
24
24
  import { GetModel200ResponseFromJSON, } from '../models/GetModel200Response';
25
+ import { ListDelistedModels200ResponseFromJSON, } from '../models/ListDelistedModels200Response';
25
26
  import { ListModels200ResponseFromJSON, } from '../models/ListModels200Response';
26
27
  /**
27
28
  *
@@ -55,7 +56,7 @@ export class ModelsApi extends runtime.BaseAPI {
55
56
  });
56
57
  }
57
58
  /**
58
- * Cost: 10 credits. Priced above /authors/[id], /methods/[id] and /datasets/[id] because iterating over model ids is functionally a slow dump. The id is author/name and must be percent-encoded.
59
+ * Cost: 10 credits. Priced above /authors/[id], /methods/[id] and /datasets/[id] because iterating over model ids is functionally a slow dump. The id is author/name and must be percent-encoded. Delisted models are served here even though they are hidden from the default catalog list; the response then carries `is_delisted=1` and `days_since_gone`.
59
60
  * Get one model
60
61
  */
61
62
  getModelRaw(requestParameters, initOverrides) {
@@ -66,7 +67,7 @@ export class ModelsApi extends runtime.BaseAPI {
66
67
  });
67
68
  }
68
69
  /**
69
- * Cost: 10 credits. Priced above /authors/[id], /methods/[id] and /datasets/[id] because iterating over model ids is functionally a slow dump. The id is author/name and must be percent-encoded.
70
+ * Cost: 10 credits. Priced above /authors/[id], /methods/[id] and /datasets/[id] because iterating over model ids is functionally a slow dump. The id is author/name and must be percent-encoded. Delisted models are served here even though they are hidden from the default catalog list; the response then carries `is_delisted=1` and `days_since_gone`.
70
71
  * Get one model
71
72
  */
72
73
  getModel(requestParameters, initOverrides) {
@@ -75,6 +76,62 @@ export class ModelsApi extends runtime.BaseAPI {
75
76
  return yield response.value();
76
77
  });
77
78
  }
79
+ /**
80
+ * Creates request options for listDelistedModels without sending the request
81
+ */
82
+ listDelistedModelsRequestOpts(requestParameters) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ const queryParameters = {};
85
+ if (requestParameters['since'] != null) {
86
+ queryParameters['since'] = requestParameters['since'];
87
+ }
88
+ if (requestParameters['sort'] != null) {
89
+ queryParameters['sort'] = requestParameters['sort'];
90
+ }
91
+ if (requestParameters['limit'] != null) {
92
+ queryParameters['limit'] = requestParameters['limit'];
93
+ }
94
+ if (requestParameters['offset'] != null) {
95
+ queryParameters['offset'] = requestParameters['offset'];
96
+ }
97
+ const headerParameters = {};
98
+ if (this.configuration && this.configuration.accessToken) {
99
+ const token = this.configuration.accessToken;
100
+ const tokenString = yield token("bearerAuth", []);
101
+ if (tokenString) {
102
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
103
+ }
104
+ }
105
+ let urlPath = `/api/v1/models/delisted`;
106
+ return {
107
+ path: urlPath,
108
+ method: 'GET',
109
+ headers: headerParameters,
110
+ query: queryParameters,
111
+ };
112
+ });
113
+ }
114
+ /**
115
+ * Cost: 5 credits, flat. Change-stream companion to /models: every row is a tombstone — a model that HF no longer serves, preserved here at its final state. Poll with `since=<last_seen_at of your previous run>` to fetch only new casualties; callers building compliance dashboards, safety-research corpora, or \"wayback\" tools live on this endpoint. See /api#change-stream.
116
+ * List delisted models (change stream)
117
+ */
118
+ listDelistedModelsRaw(requestParameters, initOverrides) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const requestOptions = yield this.listDelistedModelsRequestOpts(requestParameters);
121
+ const response = yield this.request(requestOptions, initOverrides);
122
+ return new runtime.JSONApiResponse(response, (jsonValue) => ListDelistedModels200ResponseFromJSON(jsonValue));
123
+ });
124
+ }
125
+ /**
126
+ * Cost: 5 credits, flat. Change-stream companion to /models: every row is a tombstone — a model that HF no longer serves, preserved here at its final state. Poll with `since=<last_seen_at of your previous run>` to fetch only new casualties; callers building compliance dashboards, safety-research corpora, or \"wayback\" tools live on this endpoint. See /api#change-stream.
127
+ * List delisted models (change stream)
128
+ */
129
+ listDelistedModels() {
130
+ return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
131
+ const response = yield this.listDelistedModelsRaw(requestParameters, initOverrides);
132
+ return yield response.value();
133
+ });
134
+ }
78
135
  /**
79
136
  * Creates request options for listModels without sending the request
80
137
  */
@@ -105,6 +162,9 @@ export class ModelsApi extends runtime.BaseAPI {
105
162
  if (requestParameters['createdBefore'] != null) {
106
163
  queryParameters['created_before'] = requestParameters['createdBefore'];
107
164
  }
165
+ if (requestParameters['delisted'] != null) {
166
+ queryParameters['delisted'] = requestParameters['delisted'];
167
+ }
108
168
  if (requestParameters['sort'] != null) {
109
169
  queryParameters['sort'] = requestParameters['sort'];
110
170
  }
@@ -132,7 +192,7 @@ export class ModelsApi extends runtime.BaseAPI {
132
192
  });
133
193
  }
134
194
  /**
135
- * Cost: 5-300+ credits, stepped by returned rows and multiplied by `1 + (offset/2500)²`. A filtered lookup up to 200 rows costs 5; a 1000-row page on the first page costs 300; on offset=10000, 5100. Filter cheap, dump expensive. See /api#pricing. Delisted models are excluded here but remain reachable by id.
195
+ * Cost: 5-300+ credits, stepped by returned rows and multiplied by `1 + (offset/2500)²`. A filtered lookup up to 200 rows costs 5; a 1000-row page on the first page costs 300; on offset=10000, 5100. Filter cheap, dump expensive. See /api#pricing. Delisted models are excluded by default (`delisted=live`); pass `delisted=dead|all` to include tombstoned records. A dedicated change-stream endpoint is at GET /api/v1/models/delisted.
136
196
  * List models
137
197
  */
138
198
  listModelsRaw(requestParameters, initOverrides) {
@@ -143,7 +203,7 @@ export class ModelsApi extends runtime.BaseAPI {
143
203
  });
144
204
  }
145
205
  /**
146
- * Cost: 5-300+ credits, stepped by returned rows and multiplied by `1 + (offset/2500)²`. A filtered lookup up to 200 rows costs 5; a 1000-row page on the first page costs 300; on offset=10000, 5100. Filter cheap, dump expensive. See /api#pricing. Delisted models are excluded here but remain reachable by id.
206
+ * Cost: 5-300+ credits, stepped by returned rows and multiplied by `1 + (offset/2500)²`. A filtered lookup up to 200 rows costs 5; a 1000-row page on the first page costs 300; on offset=10000, 5100. Filter cheap, dump expensive. See /api#pricing. Delisted models are excluded by default (`delisted=live`); pass `delisted=dead|all` to include tombstoned records. A dedicated change-stream endpoint is at GET /api/v1/models/delisted.
147
207
  * List models
148
208
  */
149
209
  listModels() {
@@ -153,6 +213,21 @@ export class ModelsApi extends runtime.BaseAPI {
153
213
  });
154
214
  }
155
215
  }
216
+ /**
217
+ * @export
218
+ */
219
+ export const ListDelistedModelsSortEnum = {
220
+ Recent: 'recent',
221
+ Downloads: 'downloads',
222
+ };
223
+ /**
224
+ * @export
225
+ */
226
+ export const ListModelsDelistedEnum = {
227
+ Live: 'live',
228
+ Dead: 'dead',
229
+ All: 'all',
230
+ };
156
231
  /**
157
232
  * @export
158
233
  */
@@ -0,0 +1,54 @@
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
+ *
14
+ * @export
15
+ * @interface DelistedModel
16
+ */
17
+ export interface DelistedModel {
18
+ /**
19
+ *
20
+ */
21
+ id?: string;
22
+ /**
23
+ *
24
+ */
25
+ author?: string;
26
+ /**
27
+ *
28
+ */
29
+ family?: string | null;
30
+ /**
31
+ *
32
+ */
33
+ params_b?: number | null;
34
+ /**
35
+ * Downloads at the moment the model was last visible on HF. Not a live counter.
36
+ */
37
+ downloads?: number;
38
+ /**
39
+ * ISO-8601 timestamp of the last successful Hub observation. Approximately when the model died.
40
+ */
41
+ last_seen_at?: string;
42
+ /**
43
+ * Whole days between last_seen_at and now, computed server-side for convenience.
44
+ */
45
+ days_since_gone?: number;
46
+ }
47
+ /**
48
+ * Check if a given object implements the DelistedModel interface.
49
+ */
50
+ export declare function instanceOfDelistedModel(value: object): value is DelistedModel;
51
+ export declare function DelistedModelFromJSON(json: any): DelistedModel;
52
+ export declare function DelistedModelFromJSONTyped(json: any, ignoreDiscriminator: boolean): DelistedModel;
53
+ export declare function DelistedModelToJSON(json: any): DelistedModel;
54
+ export declare function DelistedModelToJSONTyped(value?: DelistedModel | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,53 @@
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 DelistedModel interface.
16
+ */
17
+ export function instanceOfDelistedModel(value) {
18
+ return true;
19
+ }
20
+ export function DelistedModelFromJSON(json) {
21
+ return DelistedModelFromJSONTyped(json, false);
22
+ }
23
+ export function DelistedModelFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'id': json['id'] == null ? undefined : json['id'],
29
+ 'author': json['author'] == null ? undefined : json['author'],
30
+ 'family': json['family'] === undefined ? undefined : json['family'] === null ? null : json['family'],
31
+ 'params_b': json['params_b'] === undefined ? undefined : json['params_b'] === null ? null : json['params_b'],
32
+ 'downloads': json['downloads'] == null ? undefined : json['downloads'],
33
+ 'last_seen_at': json['last_seen_at'] == null ? undefined : json['last_seen_at'],
34
+ 'days_since_gone': json['days_since_gone'] == null ? undefined : json['days_since_gone'],
35
+ };
36
+ }
37
+ export function DelistedModelToJSON(json) {
38
+ return DelistedModelToJSONTyped(json, false);
39
+ }
40
+ export function DelistedModelToJSONTyped(value, ignoreDiscriminator = false) {
41
+ if (value == null) {
42
+ return value;
43
+ }
44
+ return {
45
+ 'id': value['id'],
46
+ 'author': value['author'],
47
+ 'family': value['family'],
48
+ 'params_b': value['params_b'],
49
+ 'downloads': value['downloads'],
50
+ 'last_seen_at': value['last_seen_at'],
51
+ 'days_since_gone': value['days_since_gone'],
52
+ };
53
+ }
@@ -0,0 +1,67 @@
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
+ import type { DelistedModel } from './DelistedModel';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface ListDelistedModels200Response
17
+ */
18
+ export interface ListDelistedModels200Response {
19
+ /**
20
+ *
21
+ */
22
+ data: Array<DelistedModel>;
23
+ /**
24
+ * Credits this call costs.
25
+ */
26
+ cost: number;
27
+ /**
28
+ * Wallet balance after the call. Unchanged while metering is preview.
29
+ */
30
+ credits_remaining: number;
31
+ /**
32
+ * Ceiling for the current window. Also returned as X-RateLimit-Limit.
33
+ */
34
+ rate_limit_limit: number;
35
+ /**
36
+ * Calls left in the current window for this key. Also returned as X-RateLimit-Remaining.
37
+ */
38
+ rate_limit_remaining: number;
39
+ /**
40
+ * Unix seconds at which the window resets to full ceiling. Also returned as X-RateLimit-Reset.
41
+ */
42
+ rate_limit_reset: number;
43
+ /**
44
+ * Whether cost was actually deducted.
45
+ */
46
+ metering: ListDelistedModels200ResponseMeteringEnum;
47
+ /**
48
+ * Also returned in the x-request-id header.
49
+ */
50
+ request_id: string;
51
+ }
52
+ /**
53
+ * @export
54
+ */
55
+ export declare const ListDelistedModels200ResponseMeteringEnum: {
56
+ readonly Preview: "preview";
57
+ readonly Billed: "billed";
58
+ };
59
+ export type ListDelistedModels200ResponseMeteringEnum = typeof ListDelistedModels200ResponseMeteringEnum[keyof typeof ListDelistedModels200ResponseMeteringEnum];
60
+ /**
61
+ * Check if a given object implements the ListDelistedModels200Response interface.
62
+ */
63
+ export declare function instanceOfListDelistedModels200Response(value: object): value is ListDelistedModels200Response;
64
+ export declare function ListDelistedModels200ResponseFromJSON(json: any): ListDelistedModels200Response;
65
+ export declare function ListDelistedModels200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListDelistedModels200Response;
66
+ export declare function ListDelistedModels200ResponseToJSON(json: any): ListDelistedModels200Response;
67
+ export declare function ListDelistedModels200ResponseToJSONTyped(value?: ListDelistedModels200Response | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,79 @@
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
+ import { DelistedModelFromJSON, DelistedModelToJSON, } from './DelistedModel';
15
+ /**
16
+ * @export
17
+ */
18
+ export const ListDelistedModels200ResponseMeteringEnum = {
19
+ Preview: 'preview',
20
+ Billed: 'billed',
21
+ };
22
+ /**
23
+ * Check if a given object implements the ListDelistedModels200Response interface.
24
+ */
25
+ export function instanceOfListDelistedModels200Response(value) {
26
+ if (!('data' in value) || value['data'] === undefined)
27
+ return false;
28
+ if (!('cost' in value) || value['cost'] === undefined)
29
+ return false;
30
+ if (!('credits_remaining' in value) || value['credits_remaining'] === undefined)
31
+ return false;
32
+ if (!('rate_limit_limit' in value) || value['rate_limit_limit'] === undefined)
33
+ return false;
34
+ if (!('rate_limit_remaining' in value) || value['rate_limit_remaining'] === undefined)
35
+ return false;
36
+ if (!('rate_limit_reset' in value) || value['rate_limit_reset'] === undefined)
37
+ return false;
38
+ if (!('metering' in value) || value['metering'] === undefined)
39
+ return false;
40
+ if (!('request_id' in value) || value['request_id'] === undefined)
41
+ return false;
42
+ return true;
43
+ }
44
+ export function ListDelistedModels200ResponseFromJSON(json) {
45
+ return ListDelistedModels200ResponseFromJSONTyped(json, false);
46
+ }
47
+ export function ListDelistedModels200ResponseFromJSONTyped(json, ignoreDiscriminator) {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+ 'data': (json['data'].map(DelistedModelFromJSON)),
53
+ 'cost': json['cost'],
54
+ 'credits_remaining': json['credits_remaining'],
55
+ 'rate_limit_limit': json['rate_limit_limit'],
56
+ 'rate_limit_remaining': json['rate_limit_remaining'],
57
+ 'rate_limit_reset': json['rate_limit_reset'],
58
+ 'metering': json['metering'],
59
+ 'request_id': json['request_id'],
60
+ };
61
+ }
62
+ export function ListDelistedModels200ResponseToJSON(json) {
63
+ return ListDelistedModels200ResponseToJSONTyped(json, false);
64
+ }
65
+ export function ListDelistedModels200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
66
+ if (value == null) {
67
+ return value;
68
+ }
69
+ return {
70
+ 'data': (value['data'].map(DelistedModelToJSON)),
71
+ 'cost': value['cost'],
72
+ 'credits_remaining': value['credits_remaining'],
73
+ 'rate_limit_limit': value['rate_limit_limit'],
74
+ 'rate_limit_remaining': value['rate_limit_remaining'],
75
+ 'rate_limit_reset': value['rate_limit_reset'],
76
+ 'metering': value['metering'],
77
+ 'request_id': value['request_id'],
78
+ };
79
+ }
@@ -105,6 +105,14 @@ export interface ModelDetail {
105
105
  *
106
106
  */
107
107
  last_seen_at?: string | null;
108
+ /**
109
+ * 0/1 flag. `1` means HF no longer serves this model — the response is the last state we recorded.
110
+ */
111
+ is_delisted?: number | null;
112
+ /**
113
+ * Whole days between last_seen_at and now. `null` unless is_delisted=1.
114
+ */
115
+ days_since_gone?: number | null;
108
116
  /**
109
117
  *
110
118
  */
@@ -25,7 +25,7 @@ export function ModelDetailFromJSONTyped(json, ignoreDiscriminator) {
25
25
  if (json == null) {
26
26
  return json;
27
27
  }
28
- return Object.assign(Object.assign({}, json), { 'id': json['id'] == null ? undefined : json['id'], 'author': json['author'] == null ? undefined : json['author'], 'name': json['name'] == null ? undefined : json['name'], 'primary_method': json['primary_method'] === undefined ? undefined : json['primary_method'] === null ? null : json['primary_method'], 'secondary_methods': json['secondary_methods'] === undefined ? undefined : json['secondary_methods'] === null ? null : json['secondary_methods'], 'confidence': json['confidence'] === undefined ? undefined : json['confidence'] === null ? null : json['confidence'], 'classification_evidence': json['classification_evidence'] === undefined ? undefined : json['classification_evidence'] === null ? null : json['classification_evidence'], 'classifier_version': json['classifier_version'] === undefined ? undefined : json['classifier_version'] === null ? null : json['classifier_version'], 'classified_at': json['classified_at'] === undefined ? undefined : json['classified_at'] === null ? null : json['classified_at'], 'family': json['family'] === undefined ? undefined : json['family'] === null ? null : json['family'], 'params_b': json['params_b'] === undefined ? undefined : json['params_b'] === null ? null : json['params_b'], 'is_gguf': json['is_gguf'] === undefined ? undefined : json['is_gguf'] === null ? null : json['is_gguf'], 'is_moe': json['is_moe'] === undefined ? undefined : json['is_moe'] === null ? null : json['is_moe'], 'is_multimodal': json['is_multimodal'] === undefined ? undefined : json['is_multimodal'] === null ? null : json['is_multimodal'], 'is_image_gen': json['is_image_gen'] === undefined ? undefined : json['is_image_gen'] === null ? null : json['is_image_gen'], 'is_second_order': json['is_second_order'] === undefined ? undefined : json['is_second_order'] === null ? null : json['is_second_order'], 'downloads': json['downloads'] === undefined ? undefined : json['downloads'] === null ? null : json['downloads'], 'likes': json['likes'] === undefined ? undefined : json['likes'] === null ? null : json['likes'], 'created_at': json['created_at'] === undefined ? undefined : json['created_at'] === null ? null : json['created_at'], 'last_modified': json['last_modified'] === undefined ? undefined : json['last_modified'] === null ? null : json['last_modified'], 'first_seen_at': json['first_seen_at'] === undefined ? undefined : json['first_seen_at'] === null ? null : json['first_seen_at'], 'last_seen_at': json['last_seen_at'] === undefined ? undefined : json['last_seen_at'] === null ? null : json['last_seen_at'], 'readme_text': json['readme_text'] === undefined ? undefined : json['readme_text'] === null ? null : json['readme_text'], 'readme_status': json['readme_status'] === undefined ? undefined : json['readme_status'] === null ? null : json['readme_status'], 'tags': json['tags'] === undefined ? undefined : json['tags'] === null ? null : json['tags'], 'pipeline_tag': json['pipeline_tag'] === undefined ? undefined : json['pipeline_tag'] === null ? null : json['pipeline_tag'], 'library_name': json['library_name'] === undefined ? undefined : json['library_name'] === null ? null : json['library_name'], 'yaml_base_model': json['yaml_base_model'] === undefined ? undefined : json['yaml_base_model'] === null ? null : json['yaml_base_model'], 'yaml_language': json['yaml_language'] === undefined ? undefined : json['yaml_language'] === null ? null : json['yaml_language'], 'yaml_datasets': json['yaml_datasets'] === undefined ? undefined : json['yaml_datasets'] === null ? null : json['yaml_datasets'], 'yaml_license': json['yaml_license'] === undefined ? undefined : json['yaml_license'] === null ? null : json['yaml_license'], 'yaml_tags': json['yaml_tags'] === undefined ? undefined : json['yaml_tags'] === null ? null : json['yaml_tags'], 'files_count': json['files_count'] === undefined ? undefined : json['files_count'] === null ? null : json['files_count'], 'total_size_bytes': json['total_size_bytes'] === undefined ? undefined : json['total_size_bytes'] === null ? null : json['total_size_bytes'], 'largest_file_bytes': json['largest_file_bytes'] === undefined ? undefined : json['largest_file_bytes'] === null ? null : json['largest_file_bytes'], 'smallest_model_bytes': json['smallest_model_bytes'] === undefined ? undefined : json['smallest_model_bytes'] === null ? null : json['smallest_model_bytes'], 'quantizations': json['quantizations'] === undefined ? undefined : json['quantizations'] === null ? null : json['quantizations'], 'has_mmproj': json['has_mmproj'] === undefined ? undefined : json['has_mmproj'] === null ? null : json['has_mmproj'], 'hub_downloads_all_time': json['hub_downloads_all_time'] === undefined ? undefined : json['hub_downloads_all_time'] === null ? null : json['hub_downloads_all_time'], 'hub_trending_score': json['hub_trending_score'] === undefined ? undefined : json['hub_trending_score'] === null ? null : json['hub_trending_score'], 'hub_real_params_m': json['hub_real_params_m'] === undefined ? undefined : json['hub_real_params_m'] === null ? null : json['hub_real_params_m'], 'hub_context_length': json['hub_context_length'] === undefined ? undefined : json['hub_context_length'] === null ? null : json['hub_context_length'], 'hub_siblings_count': json['hub_siblings_count'] === undefined ? undefined : json['hub_siblings_count'] === null ? null : json['hub_siblings_count'], 'hub_provider_count': json['hub_provider_count'] === undefined ? undefined : json['hub_provider_count'] === null ? null : json['hub_provider_count'], 'hub_provider_names': json['hub_provider_names'] === undefined ? undefined : json['hub_provider_names'] === null ? null : json['hub_provider_names'], 'hub_enriched_at': json['hub_enriched_at'] === undefined ? undefined : json['hub_enriched_at'] === null ? null : json['hub_enriched_at'], 'files': json['files'] == null ? undefined : json['files'], 'benchmarks': json['benchmarks'] == null ? undefined : json['benchmarks'], 'author_summary': json['author_summary'] === undefined ? undefined : json['author_summary'] === null ? null : AuthorFromJSON(json['author_summary']) });
28
+ return Object.assign(Object.assign({}, json), { 'id': json['id'] == null ? undefined : json['id'], 'author': json['author'] == null ? undefined : json['author'], 'name': json['name'] == null ? undefined : json['name'], 'primary_method': json['primary_method'] === undefined ? undefined : json['primary_method'] === null ? null : json['primary_method'], 'secondary_methods': json['secondary_methods'] === undefined ? undefined : json['secondary_methods'] === null ? null : json['secondary_methods'], 'confidence': json['confidence'] === undefined ? undefined : json['confidence'] === null ? null : json['confidence'], 'classification_evidence': json['classification_evidence'] === undefined ? undefined : json['classification_evidence'] === null ? null : json['classification_evidence'], 'classifier_version': json['classifier_version'] === undefined ? undefined : json['classifier_version'] === null ? null : json['classifier_version'], 'classified_at': json['classified_at'] === undefined ? undefined : json['classified_at'] === null ? null : json['classified_at'], 'family': json['family'] === undefined ? undefined : json['family'] === null ? null : json['family'], 'params_b': json['params_b'] === undefined ? undefined : json['params_b'] === null ? null : json['params_b'], 'is_gguf': json['is_gguf'] === undefined ? undefined : json['is_gguf'] === null ? null : json['is_gguf'], 'is_moe': json['is_moe'] === undefined ? undefined : json['is_moe'] === null ? null : json['is_moe'], 'is_multimodal': json['is_multimodal'] === undefined ? undefined : json['is_multimodal'] === null ? null : json['is_multimodal'], 'is_image_gen': json['is_image_gen'] === undefined ? undefined : json['is_image_gen'] === null ? null : json['is_image_gen'], 'is_second_order': json['is_second_order'] === undefined ? undefined : json['is_second_order'] === null ? null : json['is_second_order'], 'downloads': json['downloads'] === undefined ? undefined : json['downloads'] === null ? null : json['downloads'], 'likes': json['likes'] === undefined ? undefined : json['likes'] === null ? null : json['likes'], 'created_at': json['created_at'] === undefined ? undefined : json['created_at'] === null ? null : json['created_at'], 'last_modified': json['last_modified'] === undefined ? undefined : json['last_modified'] === null ? null : json['last_modified'], 'first_seen_at': json['first_seen_at'] === undefined ? undefined : json['first_seen_at'] === null ? null : json['first_seen_at'], 'last_seen_at': json['last_seen_at'] === undefined ? undefined : json['last_seen_at'] === null ? null : json['last_seen_at'], 'is_delisted': json['is_delisted'] === undefined ? undefined : json['is_delisted'] === null ? null : json['is_delisted'], 'days_since_gone': json['days_since_gone'] === undefined ? undefined : json['days_since_gone'] === null ? null : json['days_since_gone'], 'readme_text': json['readme_text'] === undefined ? undefined : json['readme_text'] === null ? null : json['readme_text'], 'readme_status': json['readme_status'] === undefined ? undefined : json['readme_status'] === null ? null : json['readme_status'], 'tags': json['tags'] === undefined ? undefined : json['tags'] === null ? null : json['tags'], 'pipeline_tag': json['pipeline_tag'] === undefined ? undefined : json['pipeline_tag'] === null ? null : json['pipeline_tag'], 'library_name': json['library_name'] === undefined ? undefined : json['library_name'] === null ? null : json['library_name'], 'yaml_base_model': json['yaml_base_model'] === undefined ? undefined : json['yaml_base_model'] === null ? null : json['yaml_base_model'], 'yaml_language': json['yaml_language'] === undefined ? undefined : json['yaml_language'] === null ? null : json['yaml_language'], 'yaml_datasets': json['yaml_datasets'] === undefined ? undefined : json['yaml_datasets'] === null ? null : json['yaml_datasets'], 'yaml_license': json['yaml_license'] === undefined ? undefined : json['yaml_license'] === null ? null : json['yaml_license'], 'yaml_tags': json['yaml_tags'] === undefined ? undefined : json['yaml_tags'] === null ? null : json['yaml_tags'], 'files_count': json['files_count'] === undefined ? undefined : json['files_count'] === null ? null : json['files_count'], 'total_size_bytes': json['total_size_bytes'] === undefined ? undefined : json['total_size_bytes'] === null ? null : json['total_size_bytes'], 'largest_file_bytes': json['largest_file_bytes'] === undefined ? undefined : json['largest_file_bytes'] === null ? null : json['largest_file_bytes'], 'smallest_model_bytes': json['smallest_model_bytes'] === undefined ? undefined : json['smallest_model_bytes'] === null ? null : json['smallest_model_bytes'], 'quantizations': json['quantizations'] === undefined ? undefined : json['quantizations'] === null ? null : json['quantizations'], 'has_mmproj': json['has_mmproj'] === undefined ? undefined : json['has_mmproj'] === null ? null : json['has_mmproj'], 'hub_downloads_all_time': json['hub_downloads_all_time'] === undefined ? undefined : json['hub_downloads_all_time'] === null ? null : json['hub_downloads_all_time'], 'hub_trending_score': json['hub_trending_score'] === undefined ? undefined : json['hub_trending_score'] === null ? null : json['hub_trending_score'], 'hub_real_params_m': json['hub_real_params_m'] === undefined ? undefined : json['hub_real_params_m'] === null ? null : json['hub_real_params_m'], 'hub_context_length': json['hub_context_length'] === undefined ? undefined : json['hub_context_length'] === null ? null : json['hub_context_length'], 'hub_siblings_count': json['hub_siblings_count'] === undefined ? undefined : json['hub_siblings_count'] === null ? null : json['hub_siblings_count'], 'hub_provider_count': json['hub_provider_count'] === undefined ? undefined : json['hub_provider_count'] === null ? null : json['hub_provider_count'], 'hub_provider_names': json['hub_provider_names'] === undefined ? undefined : json['hub_provider_names'] === null ? null : json['hub_provider_names'], 'hub_enriched_at': json['hub_enriched_at'] === undefined ? undefined : json['hub_enriched_at'] === null ? null : json['hub_enriched_at'], 'files': json['files'] == null ? undefined : json['files'], 'benchmarks': json['benchmarks'] == null ? undefined : json['benchmarks'], 'author_summary': json['author_summary'] === undefined ? undefined : json['author_summary'] === null ? null : AuthorFromJSON(json['author_summary']) });
29
29
  }
30
30
  export function ModelDetailToJSON(json) {
31
31
  return ModelDetailToJSONTyped(json, false);
@@ -34,5 +34,5 @@ export function ModelDetailToJSONTyped(value, ignoreDiscriminator = false) {
34
34
  if (value == null) {
35
35
  return value;
36
36
  }
37
- return Object.assign(Object.assign({}, value), { 'id': value['id'], 'author': value['author'], 'name': value['name'], 'primary_method': value['primary_method'], 'secondary_methods': value['secondary_methods'], 'confidence': value['confidence'], 'classification_evidence': value['classification_evidence'], 'classifier_version': value['classifier_version'], 'classified_at': value['classified_at'], 'family': value['family'], 'params_b': value['params_b'], 'is_gguf': value['is_gguf'], 'is_moe': value['is_moe'], 'is_multimodal': value['is_multimodal'], 'is_image_gen': value['is_image_gen'], 'is_second_order': value['is_second_order'], 'downloads': value['downloads'], 'likes': value['likes'], 'created_at': value['created_at'], 'last_modified': value['last_modified'], 'first_seen_at': value['first_seen_at'], 'last_seen_at': value['last_seen_at'], 'readme_text': value['readme_text'], 'readme_status': value['readme_status'], 'tags': value['tags'], 'pipeline_tag': value['pipeline_tag'], 'library_name': value['library_name'], 'yaml_base_model': value['yaml_base_model'], 'yaml_language': value['yaml_language'], 'yaml_datasets': value['yaml_datasets'], 'yaml_license': value['yaml_license'], 'yaml_tags': value['yaml_tags'], 'files_count': value['files_count'], 'total_size_bytes': value['total_size_bytes'], 'largest_file_bytes': value['largest_file_bytes'], 'smallest_model_bytes': value['smallest_model_bytes'], 'quantizations': value['quantizations'], 'has_mmproj': value['has_mmproj'], 'hub_downloads_all_time': value['hub_downloads_all_time'], 'hub_trending_score': value['hub_trending_score'], 'hub_real_params_m': value['hub_real_params_m'], 'hub_context_length': value['hub_context_length'], 'hub_siblings_count': value['hub_siblings_count'], 'hub_provider_count': value['hub_provider_count'], 'hub_provider_names': value['hub_provider_names'], 'hub_enriched_at': value['hub_enriched_at'], 'files': value['files'], 'benchmarks': value['benchmarks'], 'author_summary': AuthorToJSON(value['author_summary']) });
37
+ return Object.assign(Object.assign({}, value), { 'id': value['id'], 'author': value['author'], 'name': value['name'], 'primary_method': value['primary_method'], 'secondary_methods': value['secondary_methods'], 'confidence': value['confidence'], 'classification_evidence': value['classification_evidence'], 'classifier_version': value['classifier_version'], 'classified_at': value['classified_at'], 'family': value['family'], 'params_b': value['params_b'], 'is_gguf': value['is_gguf'], 'is_moe': value['is_moe'], 'is_multimodal': value['is_multimodal'], 'is_image_gen': value['is_image_gen'], 'is_second_order': value['is_second_order'], 'downloads': value['downloads'], 'likes': value['likes'], 'created_at': value['created_at'], 'last_modified': value['last_modified'], 'first_seen_at': value['first_seen_at'], 'last_seen_at': value['last_seen_at'], 'is_delisted': value['is_delisted'], 'days_since_gone': value['days_since_gone'], 'readme_text': value['readme_text'], 'readme_status': value['readme_status'], 'tags': value['tags'], 'pipeline_tag': value['pipeline_tag'], 'library_name': value['library_name'], 'yaml_base_model': value['yaml_base_model'], 'yaml_language': value['yaml_language'], 'yaml_datasets': value['yaml_datasets'], 'yaml_license': value['yaml_license'], 'yaml_tags': value['yaml_tags'], 'files_count': value['files_count'], 'total_size_bytes': value['total_size_bytes'], 'largest_file_bytes': value['largest_file_bytes'], 'smallest_model_bytes': value['smallest_model_bytes'], 'quantizations': value['quantizations'], 'has_mmproj': value['has_mmproj'], 'hub_downloads_all_time': value['hub_downloads_all_time'], 'hub_trending_score': value['hub_trending_score'], 'hub_real_params_m': value['hub_real_params_m'], 'hub_context_length': value['hub_context_length'], 'hub_siblings_count': value['hub_siblings_count'], 'hub_provider_count': value['hub_provider_count'], 'hub_provider_names': value['hub_provider_names'], 'hub_enriched_at': value['hub_enriched_at'], 'files': value['files'], 'benchmarks': value['benchmarks'], 'author_summary': AuthorToJSON(value['author_summary']) });
38
38
  }
@@ -67,6 +67,14 @@ export interface ModelSummary {
67
67
  *
68
68
  */
69
69
  first_seen_at?: string | null;
70
+ /**
71
+ * 0/1 flag, present in every response row. `1` means the model is no longer on the Hub.
72
+ */
73
+ is_delisted?: number | null;
74
+ /**
75
+ * ISO-8601 timestamp of the last successful Hub observation. Non-null on delisted rows.
76
+ */
77
+ last_seen_at?: string | null;
70
78
  }
71
79
  /**
72
80
  * Check if a given object implements the ModelSummary interface.
@@ -38,6 +38,8 @@ export function ModelSummaryFromJSONTyped(json, ignoreDiscriminator) {
38
38
  'is_gguf': json['is_gguf'] === undefined ? undefined : json['is_gguf'] === null ? null : json['is_gguf'],
39
39
  'created_at': json['created_at'] === undefined ? undefined : json['created_at'] === null ? null : json['created_at'],
40
40
  'first_seen_at': json['first_seen_at'] === undefined ? undefined : json['first_seen_at'] === null ? null : json['first_seen_at'],
41
+ 'is_delisted': json['is_delisted'] === undefined ? undefined : json['is_delisted'] === null ? null : json['is_delisted'],
42
+ 'last_seen_at': json['last_seen_at'] === undefined ? undefined : json['last_seen_at'] === null ? null : json['last_seen_at'],
41
43
  };
42
44
  }
43
45
  export function ModelSummaryToJSON(json) {
@@ -61,5 +63,7 @@ export function ModelSummaryToJSONTyped(value, ignoreDiscriminator = false) {
61
63
  'is_gguf': value['is_gguf'],
62
64
  'created_at': value['created_at'],
63
65
  'first_seen_at': value['first_seen_at'],
66
+ 'is_delisted': value['is_delisted'],
67
+ 'last_seen_at': value['last_seen_at'],
64
68
  };
65
69
  }
@@ -3,6 +3,7 @@ export * from './AuthorDetail';
3
3
  export * from './DaiPoint';
4
4
  export * from './Dataset';
5
5
  export * from './DatasetDetail';
6
+ export * from './DelistedModel';
6
7
  export * from './Envelope';
7
8
  export * from './Event';
8
9
  export * from './GetAuthor200Response';
@@ -13,6 +14,7 @@ export * from './GetModel200Response';
13
14
  export * from './IndexDetail';
14
15
  export * from './ListAuthors200Response';
15
16
  export * from './ListDatasets200Response';
17
+ export * from './ListDelistedModels200Response';
16
18
  export * from './ListIndices200Response';
17
19
  export * from './ListMethods200Response';
18
20
  export * from './ListModels200Response';
@@ -5,6 +5,7 @@ export * from './AuthorDetail';
5
5
  export * from './DaiPoint';
6
6
  export * from './Dataset';
7
7
  export * from './DatasetDetail';
8
+ export * from './DelistedModel';
8
9
  export * from './Envelope';
9
10
  export * from './Event';
10
11
  export * from './GetAuthor200Response';
@@ -15,6 +16,7 @@ export * from './GetModel200Response';
15
16
  export * from './IndexDetail';
16
17
  export * from './ListAuthors200Response';
17
18
  export * from './ListDatasets200Response';
19
+ export * from './ListDelistedModels200Response';
18
20
  export * from './ListIndices200Response';
19
21
  export * from './ListMethods200Response';
20
22
  export * from './ListModels200Response';
@@ -0,0 +1,54 @@
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
+ *
14
+ * @export
15
+ * @interface DelistedModel
16
+ */
17
+ export interface DelistedModel {
18
+ /**
19
+ *
20
+ */
21
+ id?: string;
22
+ /**
23
+ *
24
+ */
25
+ author?: string;
26
+ /**
27
+ *
28
+ */
29
+ family?: string | null;
30
+ /**
31
+ *
32
+ */
33
+ params_b?: number | null;
34
+ /**
35
+ * Downloads at the moment the model was last visible on HF. Not a live counter.
36
+ */
37
+ downloads?: number;
38
+ /**
39
+ * ISO-8601 timestamp of the last successful Hub observation. Approximately when the model died.
40
+ */
41
+ last_seen_at?: string;
42
+ /**
43
+ * Whole days between last_seen_at and now, computed server-side for convenience.
44
+ */
45
+ days_since_gone?: number;
46
+ }
47
+ /**
48
+ * Check if a given object implements the DelistedModel interface.
49
+ */
50
+ export declare function instanceOfDelistedModel(value: object): value is DelistedModel;
51
+ export declare function DelistedModelFromJSON(json: any): DelistedModel;
52
+ export declare function DelistedModelFromJSONTyped(json: any, ignoreDiscriminator: boolean): DelistedModel;
53
+ export declare function DelistedModelToJSON(json: any): DelistedModel;
54
+ export declare function DelistedModelToJSONTyped(value?: DelistedModel | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * abliteration.org Public API
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfDelistedModel = instanceOfDelistedModel;
17
+ exports.DelistedModelFromJSON = DelistedModelFromJSON;
18
+ exports.DelistedModelFromJSONTyped = DelistedModelFromJSONTyped;
19
+ exports.DelistedModelToJSON = DelistedModelToJSON;
20
+ exports.DelistedModelToJSONTyped = DelistedModelToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the DelistedModel interface.
23
+ */
24
+ function instanceOfDelistedModel(value) {
25
+ return true;
26
+ }
27
+ function DelistedModelFromJSON(json) {
28
+ return DelistedModelFromJSONTyped(json, false);
29
+ }
30
+ function DelistedModelFromJSONTyped(json, ignoreDiscriminator) {
31
+ if (json == null) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'id': json['id'] == null ? undefined : json['id'],
36
+ 'author': json['author'] == null ? undefined : json['author'],
37
+ 'family': json['family'] === undefined ? undefined : json['family'] === null ? null : json['family'],
38
+ 'params_b': json['params_b'] === undefined ? undefined : json['params_b'] === null ? null : json['params_b'],
39
+ 'downloads': json['downloads'] == null ? undefined : json['downloads'],
40
+ 'last_seen_at': json['last_seen_at'] == null ? undefined : json['last_seen_at'],
41
+ 'days_since_gone': json['days_since_gone'] == null ? undefined : json['days_since_gone'],
42
+ };
43
+ }
44
+ function DelistedModelToJSON(json) {
45
+ return DelistedModelToJSONTyped(json, false);
46
+ }
47
+ function DelistedModelToJSONTyped(value, ignoreDiscriminator = false) {
48
+ if (value == null) {
49
+ return value;
50
+ }
51
+ return {
52
+ 'id': value['id'],
53
+ 'author': value['author'],
54
+ 'family': value['family'],
55
+ 'params_b': value['params_b'],
56
+ 'downloads': value['downloads'],
57
+ 'last_seen_at': value['last_seen_at'],
58
+ 'days_since_gone': value['days_since_gone'],
59
+ };
60
+ }