@abliteration/sdk 0.1.3 → 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
@@ -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,87 @@
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.ListDelistedModels200ResponseMeteringEnum = void 0;
17
+ exports.instanceOfListDelistedModels200Response = instanceOfListDelistedModels200Response;
18
+ exports.ListDelistedModels200ResponseFromJSON = ListDelistedModels200ResponseFromJSON;
19
+ exports.ListDelistedModels200ResponseFromJSONTyped = ListDelistedModels200ResponseFromJSONTyped;
20
+ exports.ListDelistedModels200ResponseToJSON = ListDelistedModels200ResponseToJSON;
21
+ exports.ListDelistedModels200ResponseToJSONTyped = ListDelistedModels200ResponseToJSONTyped;
22
+ const DelistedModel_1 = require("./DelistedModel");
23
+ /**
24
+ * @export
25
+ */
26
+ exports.ListDelistedModels200ResponseMeteringEnum = {
27
+ Preview: 'preview',
28
+ Billed: 'billed',
29
+ };
30
+ /**
31
+ * Check if a given object implements the ListDelistedModels200Response interface.
32
+ */
33
+ function instanceOfListDelistedModels200Response(value) {
34
+ if (!('data' in value) || value['data'] === undefined)
35
+ return false;
36
+ if (!('cost' in value) || value['cost'] === undefined)
37
+ return false;
38
+ if (!('credits_remaining' in value) || value['credits_remaining'] === undefined)
39
+ return false;
40
+ if (!('rate_limit_limit' in value) || value['rate_limit_limit'] === undefined)
41
+ return false;
42
+ if (!('rate_limit_remaining' in value) || value['rate_limit_remaining'] === undefined)
43
+ return false;
44
+ if (!('rate_limit_reset' in value) || value['rate_limit_reset'] === undefined)
45
+ return false;
46
+ if (!('metering' in value) || value['metering'] === undefined)
47
+ return false;
48
+ if (!('request_id' in value) || value['request_id'] === undefined)
49
+ return false;
50
+ return true;
51
+ }
52
+ function ListDelistedModels200ResponseFromJSON(json) {
53
+ return ListDelistedModels200ResponseFromJSONTyped(json, false);
54
+ }
55
+ function ListDelistedModels200ResponseFromJSONTyped(json, ignoreDiscriminator) {
56
+ if (json == null) {
57
+ return json;
58
+ }
59
+ return {
60
+ 'data': (json['data'].map(DelistedModel_1.DelistedModelFromJSON)),
61
+ 'cost': json['cost'],
62
+ 'credits_remaining': json['credits_remaining'],
63
+ 'rate_limit_limit': json['rate_limit_limit'],
64
+ 'rate_limit_remaining': json['rate_limit_remaining'],
65
+ 'rate_limit_reset': json['rate_limit_reset'],
66
+ 'metering': json['metering'],
67
+ 'request_id': json['request_id'],
68
+ };
69
+ }
70
+ function ListDelistedModels200ResponseToJSON(json) {
71
+ return ListDelistedModels200ResponseToJSONTyped(json, false);
72
+ }
73
+ function ListDelistedModels200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
74
+ if (value == null) {
75
+ return value;
76
+ }
77
+ return {
78
+ 'data': (value['data'].map(DelistedModel_1.DelistedModelToJSON)),
79
+ 'cost': value['cost'],
80
+ 'credits_remaining': value['credits_remaining'],
81
+ 'rate_limit_limit': value['rate_limit_limit'],
82
+ 'rate_limit_remaining': value['rate_limit_remaining'],
83
+ 'rate_limit_reset': value['rate_limit_reset'],
84
+ 'metering': value['metering'],
85
+ 'request_id': value['request_id'],
86
+ };
87
+ }
@@ -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
  */
@@ -32,7 +32,7 @@ function ModelDetailFromJSONTyped(json, ignoreDiscriminator) {
32
32
  if (json == null) {
33
33
  return json;
34
34
  }
35
- 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 : (0, Author_1.AuthorFromJSON)(json['author_summary']) });
35
+ 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 : (0, Author_1.AuthorFromJSON)(json['author_summary']) });
36
36
  }
37
37
  function ModelDetailToJSON(json) {
38
38
  return ModelDetailToJSONTyped(json, false);
@@ -41,5 +41,5 @@ function ModelDetailToJSONTyped(value, ignoreDiscriminator = false) {
41
41
  if (value == null) {
42
42
  return value;
43
43
  }
44
- 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': (0, Author_1.AuthorToJSON)(value['author_summary']) });
44
+ 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': (0, Author_1.AuthorToJSON)(value['author_summary']) });
45
45
  }
@@ -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.
@@ -45,6 +45,8 @@ function ModelSummaryFromJSONTyped(json, ignoreDiscriminator) {
45
45
  'is_gguf': json['is_gguf'] === undefined ? undefined : json['is_gguf'] === null ? null : json['is_gguf'],
46
46
  'created_at': json['created_at'] === undefined ? undefined : json['created_at'] === null ? null : json['created_at'],
47
47
  'first_seen_at': json['first_seen_at'] === undefined ? undefined : json['first_seen_at'] === null ? null : json['first_seen_at'],
48
+ 'is_delisted': json['is_delisted'] === undefined ? undefined : json['is_delisted'] === null ? null : json['is_delisted'],
49
+ 'last_seen_at': json['last_seen_at'] === undefined ? undefined : json['last_seen_at'] === null ? null : json['last_seen_at'],
48
50
  };
49
51
  }
50
52
  function ModelSummaryToJSON(json) {
@@ -68,5 +70,7 @@ function ModelSummaryToJSONTyped(value, ignoreDiscriminator = false) {
68
70
  'is_gguf': value['is_gguf'],
69
71
  'created_at': value['created_at'],
70
72
  'first_seen_at': value['first_seen_at'],
73
+ 'is_delisted': value['is_delisted'],
74
+ 'last_seen_at': value['last_seen_at'],
71
75
  };
72
76
  }
@@ -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';
@@ -21,6 +21,7 @@ __exportStar(require("./AuthorDetail"), exports);
21
21
  __exportStar(require("./DaiPoint"), exports);
22
22
  __exportStar(require("./Dataset"), exports);
23
23
  __exportStar(require("./DatasetDetail"), exports);
24
+ __exportStar(require("./DelistedModel"), exports);
24
25
  __exportStar(require("./Envelope"), exports);
25
26
  __exportStar(require("./Event"), exports);
26
27
  __exportStar(require("./GetAuthor200Response"), exports);
@@ -31,6 +32,7 @@ __exportStar(require("./GetModel200Response"), exports);
31
32
  __exportStar(require("./IndexDetail"), exports);
32
33
  __exportStar(require("./ListAuthors200Response"), exports);
33
34
  __exportStar(require("./ListDatasets200Response"), exports);
35
+ __exportStar(require("./ListDelistedModels200Response"), exports);
34
36
  __exportStar(require("./ListIndices200Response"), exports);
35
37
  __exportStar(require("./ListMethods200Response"), exports);
36
38
  __exportStar(require("./ListModels200Response"), exports);
@@ -0,0 +1,46 @@
1
+
2
+ # DelistedModel
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `id` | string
10
+ `author` | string
11
+ `family` | string
12
+ `params_b` | number
13
+ `downloads` | number
14
+ `last_seen_at` | string
15
+ `days_since_gone` | number
16
+
17
+ ## Example
18
+
19
+ ```typescript
20
+ import type { DelistedModel } from '@abliteration/sdk'
21
+
22
+ // TODO: Update the object below with actual values
23
+ const example = {
24
+ "id": null,
25
+ "author": null,
26
+ "family": null,
27
+ "params_b": null,
28
+ "downloads": null,
29
+ "last_seen_at": null,
30
+ "days_since_gone": null,
31
+ } satisfies DelistedModel
32
+
33
+ console.log(example)
34
+
35
+ // Convert the instance to a JSON string
36
+ const exampleJSON: string = JSON.stringify(example)
37
+ console.log(exampleJSON)
38
+
39
+ // Parse the JSON string back to an object
40
+ const exampleParsed = JSON.parse(exampleJSON) as DelistedModel
41
+ console.log(exampleParsed)
42
+ ```
43
+
44
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
45
+
46
+
@@ -0,0 +1,48 @@
1
+
2
+ # ListDelistedModels200Response
3
+
4
+
5
+ ## Properties
6
+
7
+ Name | Type
8
+ ------------ | -------------
9
+ `data` | [Array&lt;DelistedModel&gt;](DelistedModel.md)
10
+ `cost` | number
11
+ `credits_remaining` | number
12
+ `rate_limit_limit` | number
13
+ `rate_limit_remaining` | number
14
+ `rate_limit_reset` | number
15
+ `metering` | string
16
+ `request_id` | string
17
+
18
+ ## Example
19
+
20
+ ```typescript
21
+ import type { ListDelistedModels200Response } from '@abliteration/sdk'
22
+
23
+ // TODO: Update the object below with actual values
24
+ const example = {
25
+ "data": null,
26
+ "cost": null,
27
+ "credits_remaining": null,
28
+ "rate_limit_limit": null,
29
+ "rate_limit_remaining": null,
30
+ "rate_limit_reset": null,
31
+ "metering": null,
32
+ "request_id": null,
33
+ } satisfies ListDelistedModels200Response
34
+
35
+ console.log(example)
36
+
37
+ // Convert the instance to a JSON string
38
+ const exampleJSON: string = JSON.stringify(example)
39
+ console.log(exampleJSON)
40
+
41
+ // Parse the JSON string back to an object
42
+ const exampleParsed = JSON.parse(exampleJSON) as ListDelistedModels200Response
43
+ console.log(exampleParsed)
44
+ ```
45
+
46
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
47
+
48
+
@@ -29,6 +29,8 @@ Name | Type
29
29
  `last_modified` | string
30
30
  `first_seen_at` | string
31
31
  `last_seen_at` | string
32
+ `is_delisted` | number
33
+ `days_since_gone` | number
32
34
  `readme_text` | string
33
35
  `readme_status` | string
34
36
  `tags` | string
@@ -86,6 +88,8 @@ const example = {
86
88
  "last_modified": null,
87
89
  "first_seen_at": null,
88
90
  "last_seen_at": null,
91
+ "is_delisted": null,
92
+ "days_since_gone": null,
89
93
  "readme_text": null,
90
94
  "readme_status": null,
91
95
  "tags": null,
@@ -19,6 +19,8 @@ Name | Type
19
19
  `is_gguf` | number
20
20
  `created_at` | string
21
21
  `first_seen_at` | string
22
+ `is_delisted` | number
23
+ `last_seen_at` | string
22
24
 
23
25
  ## Example
24
26
 
@@ -40,6 +42,8 @@ const example = {
40
42
  "is_gguf": null,
41
43
  "created_at": null,
42
44
  "first_seen_at": null,
45
+ "is_delisted": null,
46
+ "last_seen_at": null,
43
47
  } satisfies ModelSummary
44
48
 
45
49
  console.log(example)
package/docs/ModelsApi.md CHANGED
@@ -5,6 +5,7 @@ All URIs are relative to *https://abliteration.org*
5
5
  | Method | HTTP request | Description |
6
6
  |------------- | ------------- | -------------|
7
7
  | [**getModel**](ModelsApi.md#getmodel) | **GET** /api/v1/models/{id} | Get one model |
8
+ | [**listDelistedModels**](ModelsApi.md#listdelistedmodels) | **GET** /api/v1/models/delisted | List delisted models (change stream) |
8
9
  | [**listModels**](ModelsApi.md#listmodels) | **GET** /api/v1/models | List models |
9
10
 
10
11
 
@@ -15,7 +16,7 @@ All URIs are relative to *https://abliteration.org*
15
16
 
16
17
  Get one model
17
18
 
18
- 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.
19
+ 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 &#x60;is_delisted&#x3D;1&#x60; and &#x60;days_since_gone&#x60;.
19
20
 
20
21
  ### Example
21
22
 
@@ -85,13 +86,97 @@ example().catch(console.error);
85
86
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
86
87
 
87
88
 
89
+ ## listDelistedModels
90
+
91
+ > ListDelistedModels200Response listDelistedModels(since, sort, limit, offset)
92
+
93
+ List delisted models (change stream)
94
+
95
+ 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 &#x60;since&#x3D;&lt;last_seen_at of your previous run&gt;&#x60; to fetch only new casualties; callers building compliance dashboards, safety-research corpora, or \&quot;wayback\&quot; tools live on this endpoint. See /api#change-stream.
96
+
97
+ ### Example
98
+
99
+ ```ts
100
+ import {
101
+ Configuration,
102
+ ModelsApi,
103
+ } from '@abliteration/sdk';
104
+ import type { ListDelistedModelsRequest } from '@abliteration/sdk';
105
+
106
+ async function example() {
107
+ console.log("🚀 Testing @abliteration/sdk SDK...");
108
+ const config = new Configuration({
109
+ // Configure HTTP bearer authorization: bearerAuth
110
+ accessToken: "YOUR BEARER TOKEN",
111
+ });
112
+ const api = new ModelsApi(config);
113
+
114
+ const body = {
115
+ // string | 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. (optional)
116
+ since: since_example,
117
+ // 'recent' | 'downloads' | `recent` (default, newest disappearance first) or `downloads` (biggest casualties first — best for post-mortem coverage). (optional)
118
+ sort: sort_example,
119
+ // number | Rows to return, 1 to 1000. Values outside the range are clamped, not rejected. (optional)
120
+ limit: 56,
121
+ // number | Rows to skip. Negative and non-numeric values are treated as 0. (optional)
122
+ offset: 56,
123
+ } satisfies ListDelistedModelsRequest;
124
+
125
+ try {
126
+ const data = await api.listDelistedModels(body);
127
+ console.log(data);
128
+ } catch (error) {
129
+ console.error(error);
130
+ }
131
+ }
132
+
133
+ // Run the test
134
+ example().catch(console.error);
135
+ ```
136
+
137
+ ### Parameters
138
+
139
+
140
+ | Name | Type | Description | Notes |
141
+ |------------- | ------------- | ------------- | -------------|
142
+ | **since** | `string` | 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. | [Optional] [Defaults to `undefined`] |
143
+ | **sort** | `recent`, `downloads` | &#x60;recent&#x60; (default, newest disappearance first) or &#x60;downloads&#x60; (biggest casualties first — best for post-mortem coverage). | [Optional] [Defaults to `&#39;recent&#39;`] [Enum: recent, downloads] |
144
+ | **limit** | `number` | Rows to return, 1 to 1000. Values outside the range are clamped, not rejected. | [Optional] [Defaults to `50`] |
145
+ | **offset** | `number` | Rows to skip. Negative and non-numeric values are treated as 0. | [Optional] [Defaults to `0`] |
146
+
147
+ ### Return type
148
+
149
+ [**ListDelistedModels200Response**](ListDelistedModels200Response.md)
150
+
151
+ ### Authorization
152
+
153
+ [bearerAuth](../README.md#bearerAuth)
154
+
155
+ ### HTTP request headers
156
+
157
+ - **Content-Type**: Not defined
158
+ - **Accept**: `application/json`
159
+
160
+
161
+ ### HTTP response details
162
+ | Status code | Description | Response headers |
163
+ |-------------|-------------|------------------|
164
+ | **200** | Delisted models. | - |
165
+ | **401** | Missing, unknown or revoked key. | - |
166
+ | **402** | Not enough credits. Only possible while metering is enabled. | - |
167
+ | **429** | Per-key rate limit exceeded. Retry-After header is set. | - |
168
+ | **503** | Catalog temporarily unreadable. Nothing was charged. | - |
169
+
170
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
171
+
172
+
88
173
  ## listModels
89
174
 
90
- > ListModels200Response listModels(method, family, author, license, downloadsGte, downloadsLte, createdAfter, createdBefore, sort, limit, offset)
175
+ > ListModels200Response listModels(method, family, author, license, downloadsGte, downloadsLte, createdAfter, createdBefore, delisted, sort, limit, offset)
91
176
 
92
177
  List models
93
178
 
94
- Cost: 5-300+ credits, stepped by returned rows and multiplied by &#x60;1 + (offset/2500)²&#x60;. A filtered lookup up to 200 rows costs 5; a 1000-row page on the first page costs 300; on offset&#x3D;10000, 5100. Filter cheap, dump expensive. See /api#pricing. Delisted models are excluded here but remain reachable by id.
179
+ Cost: 5-300+ credits, stepped by returned rows and multiplied by &#x60;1 + (offset/2500)²&#x60;. A filtered lookup up to 200 rows costs 5; a 1000-row page on the first page costs 300; on offset&#x3D;10000, 5100. Filter cheap, dump expensive. See /api#pricing. Delisted models are excluded by default (&#x60;delisted&#x3D;live&#x60;); pass &#x60;delisted&#x3D;dead|all&#x60; to include tombstoned records. A dedicated change-stream endpoint is at GET /api/v1/models/delisted.
95
180
 
96
181
  ### Example
97
182
 
@@ -127,6 +212,8 @@ async function example() {
127
212
  createdAfter: createdAfter_example,
128
213
  // string | ISO-8601 date or timestamp, inclusive. (optional)
129
214
  createdBefore: createdBefore_example,
215
+ // 'live' | 'dead' | 'all' | Tombstone filter. `live` (default): HF-visible models only. `dead`: delisted-only (same shape as this endpoint plus is_delisted=1 and last_seen_at). `all`: both, in one page. For a purpose-built change-stream feed, prefer GET /api/v1/models/delisted. (optional)
216
+ delisted: delisted_example,
130
217
  // 'downloads' | '-downloads' | 'likes' | '-likes' | 'created' | '-created' | 'created_at' | '-created_at' | 'first_seen' | '-first_seen' | 'first_seen_at' | '-first_seen_at' | Bare key is the natural direction (downloads/likes = most first, dates = newest first). A leading `-` flips it. `created` and `first_seen` are aliases for the full column names. (optional)
131
218
  sort: sort_example,
132
219
  // number | Rows to return, 1 to 1000. Values outside the range are clamped, not rejected. (optional)
@@ -160,6 +247,7 @@ example().catch(console.error);
160
247
  | **downloadsLte** | `number` | | [Optional] [Defaults to `undefined`] |
161
248
  | **createdAfter** | `string` | ISO-8601 date or timestamp, inclusive. | [Optional] [Defaults to `undefined`] |
162
249
  | **createdBefore** | `string` | ISO-8601 date or timestamp, inclusive. | [Optional] [Defaults to `undefined`] |
250
+ | **delisted** | `live`, `dead`, `all` | Tombstone filter. &#x60;live&#x60; (default): HF-visible models only. &#x60;dead&#x60;: delisted-only (same shape as this endpoint plus is_delisted&#x3D;1 and last_seen_at). &#x60;all&#x60;: both, in one page. For a purpose-built change-stream feed, prefer GET /api/v1/models/delisted. | [Optional] [Defaults to `&#39;live&#39;`] [Enum: live, dead, all] |
163
251
  | **sort** | `downloads`, `-downloads`, `likes`, `-likes`, `created`, `-created`, `created_at`, `-created_at`, `first_seen`, `-first_seen`, `first_seen_at`, `-first_seen_at` | Bare key is the natural direction (downloads/likes &#x3D; most first, dates &#x3D; newest first). A leading &#x60;-&#x60; flips it. &#x60;created&#x60; and &#x60;first_seen&#x60; are aliases for the full column names. | [Optional] [Defaults to `&#39;downloads&#39;`] [Enum: downloads, -downloads, likes, -likes, created, -created, created_at, -created_at, first_seen, -first_seen, first_seen_at, -first_seen_at] |
164
252
  | **limit** | `number` | Rows to return, 1 to 1000. Values outside the range are clamped, not rejected. | [Optional] [Defaults to `50`] |
165
253
  | **offset** | `number` | Rows to skip. Negative and non-numeric values are treated as 0. | [Optional] [Defaults to `0`] |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abliteration/sdk",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "OpenAPI client for @abliteration/sdk",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {