@abliteration/sdk 0.1.0 → 0.1.2

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 (114) hide show
  1. package/.openapi-generator/FILES +76 -0
  2. package/.openapi-generator/VERSION +1 -0
  3. package/.openapi-generator-ignore +23 -0
  4. package/README.md +140 -49
  5. package/dist/apis/AuthorsApi.d.ts +11 -3
  6. package/dist/apis/AuthorsApi.js +8 -0
  7. package/dist/apis/DatasetsApi.d.ts +9 -3
  8. package/dist/apis/DatasetsApi.js +6 -0
  9. package/dist/apis/IndicesApi.d.ts +9 -3
  10. package/dist/apis/IndicesApi.js +6 -0
  11. package/dist/apis/ModelsApi.d.ts +9 -3
  12. package/dist/apis/ModelsApi.js +6 -0
  13. package/dist/esm/apis/AuthorsApi.d.ts +11 -3
  14. package/dist/esm/apis/AuthorsApi.js +8 -0
  15. package/dist/esm/apis/DatasetsApi.d.ts +9 -3
  16. package/dist/esm/apis/DatasetsApi.js +6 -0
  17. package/dist/esm/apis/IndicesApi.d.ts +9 -3
  18. package/dist/esm/apis/IndicesApi.js +6 -0
  19. package/dist/esm/apis/ModelsApi.d.ts +9 -3
  20. package/dist/esm/apis/ModelsApi.js +6 -0
  21. package/dist/esm/models/Author.d.ts +4 -0
  22. package/dist/esm/models/Author.js +2 -0
  23. package/dist/esm/models/AuthorDetail.d.ts +4 -0
  24. package/dist/esm/models/AuthorDetail.js +2 -0
  25. package/dist/esm/models/Dataset.d.ts +45 -1
  26. package/dist/esm/models/Dataset.js +22 -0
  27. package/dist/esm/models/DatasetDetail.d.ts +85 -2
  28. package/dist/esm/models/DatasetDetail.js +52 -2
  29. package/dist/esm/models/ModelDetail.d.ts +173 -1
  30. package/dist/esm/models/ModelDetail.js +2 -2
  31. package/dist/models/Author.d.ts +4 -0
  32. package/dist/models/Author.js +2 -0
  33. package/dist/models/AuthorDetail.d.ts +4 -0
  34. package/dist/models/AuthorDetail.js +2 -0
  35. package/dist/models/Dataset.d.ts +45 -1
  36. package/dist/models/Dataset.js +22 -0
  37. package/dist/models/DatasetDetail.d.ts +85 -2
  38. package/dist/models/DatasetDetail.js +52 -2
  39. package/dist/models/ModelDetail.d.ts +173 -1
  40. package/dist/models/ModelDetail.js +2 -2
  41. package/docs/Author.md +44 -0
  42. package/docs/AuthorDetail.md +46 -0
  43. package/docs/AuthorsApi.md +167 -0
  44. package/docs/DaiPoint.md +38 -0
  45. package/docs/Dataset.md +76 -0
  46. package/docs/DatasetDetail.md +80 -0
  47. package/docs/DatasetsApi.md +176 -0
  48. package/docs/Envelope.md +48 -0
  49. package/docs/Event.md +46 -0
  50. package/docs/GetAuthor200Response.md +48 -0
  51. package/docs/GetDataset200Response.md +48 -0
  52. package/docs/GetIndex200Response.md +48 -0
  53. package/docs/GetMethod200Response.md +48 -0
  54. package/docs/GetModel200Response.md +48 -0
  55. package/docs/IndexDetail.md +54 -0
  56. package/docs/IndicesApi.md +153 -0
  57. package/docs/ListAuthors200Response.md +48 -0
  58. package/docs/ListDatasets200Response.md +48 -0
  59. package/docs/ListIndices200Response.md +48 -0
  60. package/docs/ListMethods200Response.md +48 -0
  61. package/docs/ListModels200Response.md +48 -0
  62. package/docs/ListTimeline200Response.md +48 -0
  63. package/docs/Method.md +44 -0
  64. package/docs/MethodDetail.md +50 -0
  65. package/docs/MethodDetailAllOfTopAuthors.md +36 -0
  66. package/docs/MethodsApi.md +153 -0
  67. package/docs/ModelDetail.md +131 -0
  68. package/docs/ModelError.md +42 -0
  69. package/docs/ModelIndex.md +52 -0
  70. package/docs/ModelSummary.md +58 -0
  71. package/docs/ModelsApi.md +191 -0
  72. package/docs/Passport.md +38 -0
  73. package/docs/TimelineApi.md +93 -0
  74. package/openapi-generator-config.json +10 -0
  75. package/package.json +14 -16
  76. package/src/apis/AuthorsApi.ts +248 -0
  77. package/src/apis/DatasetsApi.ts +278 -0
  78. package/src/apis/IndicesApi.ts +213 -0
  79. package/src/apis/MethodsApi.ts +214 -0
  80. package/src/apis/ModelsApi.ts +328 -0
  81. package/src/apis/TimelineApi.ts +148 -0
  82. package/src/apis/index.ts +8 -0
  83. package/src/index.ts +5 -0
  84. package/src/models/Author.ts +93 -0
  85. package/src/models/AuthorDetail.ts +107 -0
  86. package/src/models/DaiPoint.ts +75 -0
  87. package/src/models/Dataset.ts +189 -0
  88. package/src/models/DatasetDetail.ts +209 -0
  89. package/src/models/Envelope.ts +124 -0
  90. package/src/models/Event.ts +99 -0
  91. package/src/models/GetAuthor200Response.ts +132 -0
  92. package/src/models/GetDataset200Response.ts +132 -0
  93. package/src/models/GetIndex200Response.ts +132 -0
  94. package/src/models/GetMethod200Response.ts +132 -0
  95. package/src/models/GetModel200Response.ts +132 -0
  96. package/src/models/IndexDetail.ts +153 -0
  97. package/src/models/ListAuthors200Response.ts +132 -0
  98. package/src/models/ListDatasets200Response.ts +132 -0
  99. package/src/models/ListIndices200Response.ts +132 -0
  100. package/src/models/ListMethods200Response.ts +132 -0
  101. package/src/models/ListModels200Response.ts +132 -0
  102. package/src/models/ListTimeline200Response.ts +132 -0
  103. package/src/models/Method.ts +106 -0
  104. package/src/models/MethodDetail.ts +139 -0
  105. package/src/models/MethodDetailAllOfTopAuthors.ts +69 -0
  106. package/src/models/ModelDetail.ts +362 -0
  107. package/src/models/ModelError.ts +89 -0
  108. package/src/models/ModelIndex.ts +147 -0
  109. package/src/models/ModelSummary.ts +135 -0
  110. package/src/models/Passport.ts +75 -0
  111. package/src/models/index.ts +29 -0
  112. package/src/runtime.ts +505 -0
  113. package/tsconfig.esm.json +7 -0
  114. package/tsconfig.json +16 -0
@@ -0,0 +1,124 @@
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
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface Envelope
20
+ */
21
+ export interface Envelope {
22
+ /**
23
+ * The payload. An array on list routes, an object on single-entity routes.
24
+ */
25
+ data: any | null;
26
+ /**
27
+ * Credits this call costs.
28
+ */
29
+ cost: number;
30
+ /**
31
+ * Wallet balance after the call. Unchanged while metering is preview.
32
+ */
33
+ credits_remaining: number;
34
+ /**
35
+ * Ceiling for the current window. Also returned as X-RateLimit-Limit.
36
+ */
37
+ rate_limit_limit: number;
38
+ /**
39
+ * Calls left in the current window for this key. Also returned as X-RateLimit-Remaining.
40
+ */
41
+ rate_limit_remaining: number;
42
+ /**
43
+ * Unix seconds at which the window resets to full ceiling. Also returned as X-RateLimit-Reset.
44
+ */
45
+ rate_limit_reset: number;
46
+ /**
47
+ * Whether cost was actually deducted.
48
+ */
49
+ metering: EnvelopeMeteringEnum;
50
+ /**
51
+ * Also returned in the x-request-id header.
52
+ */
53
+ request_id: string;
54
+ }
55
+
56
+
57
+ /**
58
+ * @export
59
+ */
60
+ export const EnvelopeMeteringEnum = {
61
+ Preview: 'preview',
62
+ Billed: 'billed',
63
+ } as const;
64
+ export type EnvelopeMeteringEnum = typeof EnvelopeMeteringEnum[keyof typeof EnvelopeMeteringEnum];
65
+
66
+
67
+ /**
68
+ * Check if a given object implements the Envelope interface.
69
+ */
70
+ export function instanceOfEnvelope(value: object): value is Envelope {
71
+ if (!('data' in value) || value['data'] === undefined) return false;
72
+ if (!('cost' in value) || value['cost'] === undefined) return false;
73
+ if (!('credits_remaining' in value) || value['credits_remaining'] === undefined) return false;
74
+ if (!('rate_limit_limit' in value) || value['rate_limit_limit'] === undefined) return false;
75
+ if (!('rate_limit_remaining' in value) || value['rate_limit_remaining'] === undefined) return false;
76
+ if (!('rate_limit_reset' in value) || value['rate_limit_reset'] === undefined) return false;
77
+ if (!('metering' in value) || value['metering'] === undefined) return false;
78
+ if (!('request_id' in value) || value['request_id'] === undefined) return false;
79
+ return true;
80
+ }
81
+
82
+ export function EnvelopeFromJSON(json: any): Envelope {
83
+ return EnvelopeFromJSONTyped(json, false);
84
+ }
85
+
86
+ export function EnvelopeFromJSONTyped(json: any, ignoreDiscriminator: boolean): Envelope {
87
+ if (json == null) {
88
+ return json;
89
+ }
90
+ return {
91
+
92
+ 'data': json['data'],
93
+ 'cost': json['cost'],
94
+ 'credits_remaining': json['credits_remaining'],
95
+ 'rate_limit_limit': json['rate_limit_limit'],
96
+ 'rate_limit_remaining': json['rate_limit_remaining'],
97
+ 'rate_limit_reset': json['rate_limit_reset'],
98
+ 'metering': json['metering'],
99
+ 'request_id': json['request_id'],
100
+ };
101
+ }
102
+
103
+ export function EnvelopeToJSON(json: any): Envelope {
104
+ return EnvelopeToJSONTyped(json, false);
105
+ }
106
+
107
+ export function EnvelopeToJSONTyped(value?: Envelope | null, ignoreDiscriminator: boolean = false): any {
108
+ if (value == null) {
109
+ return value;
110
+ }
111
+
112
+ return {
113
+
114
+ 'data': value['data'],
115
+ 'cost': value['cost'],
116
+ 'credits_remaining': value['credits_remaining'],
117
+ 'rate_limit_limit': value['rate_limit_limit'],
118
+ 'rate_limit_remaining': value['rate_limit_remaining'],
119
+ 'rate_limit_reset': value['rate_limit_reset'],
120
+ 'metering': value['metering'],
121
+ 'request_id': value['request_id'],
122
+ };
123
+ }
124
+
@@ -0,0 +1,99 @@
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
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface Event
20
+ */
21
+ export interface Event {
22
+ /**
23
+ *
24
+ */
25
+ id?: string;
26
+ /**
27
+ *
28
+ */
29
+ date?: string | null;
30
+ /**
31
+ *
32
+ */
33
+ date_precision?: string | null;
34
+ /**
35
+ *
36
+ */
37
+ type?: string | null;
38
+ /**
39
+ *
40
+ */
41
+ title?: string | null;
42
+ /**
43
+ *
44
+ */
45
+ description?: string | null;
46
+ /**
47
+ *
48
+ */
49
+ primary_source_url?: string | null;
50
+ }
51
+
52
+ /**
53
+ * Check if a given object implements the Event interface.
54
+ */
55
+ export function instanceOfEvent(value: object): value is Event {
56
+ return true;
57
+ }
58
+
59
+ export function EventFromJSON(json: any): Event {
60
+ return EventFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function EventFromJSONTyped(json: any, ignoreDiscriminator: boolean): Event {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'id': json['id'] == null ? undefined : json['id'],
70
+ 'date': json['date'] === undefined ? undefined : json['date'] === null ? null : json['date'],
71
+ 'date_precision': json['date_precision'] === undefined ? undefined : json['date_precision'] === null ? null : json['date_precision'],
72
+ 'type': json['type'] === undefined ? undefined : json['type'] === null ? null : json['type'],
73
+ 'title': json['title'] === undefined ? undefined : json['title'] === null ? null : json['title'],
74
+ 'description': json['description'] === undefined ? undefined : json['description'] === null ? null : json['description'],
75
+ 'primary_source_url': json['primary_source_url'] === undefined ? undefined : json['primary_source_url'] === null ? null : json['primary_source_url'],
76
+ };
77
+ }
78
+
79
+ export function EventToJSON(json: any): Event {
80
+ return EventToJSONTyped(json, false);
81
+ }
82
+
83
+ export function EventToJSONTyped(value?: Event | null, ignoreDiscriminator: boolean = false): any {
84
+ if (value == null) {
85
+ return value;
86
+ }
87
+
88
+ return {
89
+
90
+ 'id': value['id'],
91
+ 'date': value['date'],
92
+ 'date_precision': value['date_precision'],
93
+ 'type': value['type'],
94
+ 'title': value['title'],
95
+ 'description': value['description'],
96
+ 'primary_source_url': value['primary_source_url'],
97
+ };
98
+ }
99
+
@@ -0,0 +1,132 @@
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
+ import { mapValues } from '../runtime';
16
+ import type { AuthorDetail } from './AuthorDetail';
17
+ import {
18
+ AuthorDetailFromJSON,
19
+ AuthorDetailFromJSONTyped,
20
+ AuthorDetailToJSON,
21
+ AuthorDetailToJSONTyped,
22
+ } from './AuthorDetail';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetAuthor200Response
28
+ */
29
+ export interface GetAuthor200Response {
30
+ /**
31
+ *
32
+ */
33
+ data: AuthorDetail;
34
+ /**
35
+ * Credits this call costs.
36
+ */
37
+ cost: number;
38
+ /**
39
+ * Wallet balance after the call. Unchanged while metering is preview.
40
+ */
41
+ credits_remaining: number;
42
+ /**
43
+ * Ceiling for the current window. Also returned as X-RateLimit-Limit.
44
+ */
45
+ rate_limit_limit: number;
46
+ /**
47
+ * Calls left in the current window for this key. Also returned as X-RateLimit-Remaining.
48
+ */
49
+ rate_limit_remaining: number;
50
+ /**
51
+ * Unix seconds at which the window resets to full ceiling. Also returned as X-RateLimit-Reset.
52
+ */
53
+ rate_limit_reset: number;
54
+ /**
55
+ * Whether cost was actually deducted.
56
+ */
57
+ metering: GetAuthor200ResponseMeteringEnum;
58
+ /**
59
+ * Also returned in the x-request-id header.
60
+ */
61
+ request_id: string;
62
+ }
63
+
64
+
65
+ /**
66
+ * @export
67
+ */
68
+ export const GetAuthor200ResponseMeteringEnum = {
69
+ Preview: 'preview',
70
+ Billed: 'billed',
71
+ } as const;
72
+ export type GetAuthor200ResponseMeteringEnum = typeof GetAuthor200ResponseMeteringEnum[keyof typeof GetAuthor200ResponseMeteringEnum];
73
+
74
+
75
+ /**
76
+ * Check if a given object implements the GetAuthor200Response interface.
77
+ */
78
+ export function instanceOfGetAuthor200Response(value: object): value is GetAuthor200Response {
79
+ if (!('data' in value) || value['data'] === undefined) return false;
80
+ if (!('cost' in value) || value['cost'] === undefined) return false;
81
+ if (!('credits_remaining' in value) || value['credits_remaining'] === undefined) return false;
82
+ if (!('rate_limit_limit' in value) || value['rate_limit_limit'] === undefined) return false;
83
+ if (!('rate_limit_remaining' in value) || value['rate_limit_remaining'] === undefined) return false;
84
+ if (!('rate_limit_reset' in value) || value['rate_limit_reset'] === undefined) return false;
85
+ if (!('metering' in value) || value['metering'] === undefined) return false;
86
+ if (!('request_id' in value) || value['request_id'] === undefined) return false;
87
+ return true;
88
+ }
89
+
90
+ export function GetAuthor200ResponseFromJSON(json: any): GetAuthor200Response {
91
+ return GetAuthor200ResponseFromJSONTyped(json, false);
92
+ }
93
+
94
+ export function GetAuthor200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetAuthor200Response {
95
+ if (json == null) {
96
+ return json;
97
+ }
98
+ return {
99
+
100
+ 'data': AuthorDetailFromJSON(json['data']),
101
+ 'cost': json['cost'],
102
+ 'credits_remaining': json['credits_remaining'],
103
+ 'rate_limit_limit': json['rate_limit_limit'],
104
+ 'rate_limit_remaining': json['rate_limit_remaining'],
105
+ 'rate_limit_reset': json['rate_limit_reset'],
106
+ 'metering': json['metering'],
107
+ 'request_id': json['request_id'],
108
+ };
109
+ }
110
+
111
+ export function GetAuthor200ResponseToJSON(json: any): GetAuthor200Response {
112
+ return GetAuthor200ResponseToJSONTyped(json, false);
113
+ }
114
+
115
+ export function GetAuthor200ResponseToJSONTyped(value?: GetAuthor200Response | null, ignoreDiscriminator: boolean = false): any {
116
+ if (value == null) {
117
+ return value;
118
+ }
119
+
120
+ return {
121
+
122
+ 'data': AuthorDetailToJSON(value['data']),
123
+ 'cost': value['cost'],
124
+ 'credits_remaining': value['credits_remaining'],
125
+ 'rate_limit_limit': value['rate_limit_limit'],
126
+ 'rate_limit_remaining': value['rate_limit_remaining'],
127
+ 'rate_limit_reset': value['rate_limit_reset'],
128
+ 'metering': value['metering'],
129
+ 'request_id': value['request_id'],
130
+ };
131
+ }
132
+
@@ -0,0 +1,132 @@
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
+ import { mapValues } from '../runtime';
16
+ import type { DatasetDetail } from './DatasetDetail';
17
+ import {
18
+ DatasetDetailFromJSON,
19
+ DatasetDetailFromJSONTyped,
20
+ DatasetDetailToJSON,
21
+ DatasetDetailToJSONTyped,
22
+ } from './DatasetDetail';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetDataset200Response
28
+ */
29
+ export interface GetDataset200Response {
30
+ /**
31
+ *
32
+ */
33
+ data: DatasetDetail;
34
+ /**
35
+ * Credits this call costs.
36
+ */
37
+ cost: number;
38
+ /**
39
+ * Wallet balance after the call. Unchanged while metering is preview.
40
+ */
41
+ credits_remaining: number;
42
+ /**
43
+ * Ceiling for the current window. Also returned as X-RateLimit-Limit.
44
+ */
45
+ rate_limit_limit: number;
46
+ /**
47
+ * Calls left in the current window for this key. Also returned as X-RateLimit-Remaining.
48
+ */
49
+ rate_limit_remaining: number;
50
+ /**
51
+ * Unix seconds at which the window resets to full ceiling. Also returned as X-RateLimit-Reset.
52
+ */
53
+ rate_limit_reset: number;
54
+ /**
55
+ * Whether cost was actually deducted.
56
+ */
57
+ metering: GetDataset200ResponseMeteringEnum;
58
+ /**
59
+ * Also returned in the x-request-id header.
60
+ */
61
+ request_id: string;
62
+ }
63
+
64
+
65
+ /**
66
+ * @export
67
+ */
68
+ export const GetDataset200ResponseMeteringEnum = {
69
+ Preview: 'preview',
70
+ Billed: 'billed',
71
+ } as const;
72
+ export type GetDataset200ResponseMeteringEnum = typeof GetDataset200ResponseMeteringEnum[keyof typeof GetDataset200ResponseMeteringEnum];
73
+
74
+
75
+ /**
76
+ * Check if a given object implements the GetDataset200Response interface.
77
+ */
78
+ export function instanceOfGetDataset200Response(value: object): value is GetDataset200Response {
79
+ if (!('data' in value) || value['data'] === undefined) return false;
80
+ if (!('cost' in value) || value['cost'] === undefined) return false;
81
+ if (!('credits_remaining' in value) || value['credits_remaining'] === undefined) return false;
82
+ if (!('rate_limit_limit' in value) || value['rate_limit_limit'] === undefined) return false;
83
+ if (!('rate_limit_remaining' in value) || value['rate_limit_remaining'] === undefined) return false;
84
+ if (!('rate_limit_reset' in value) || value['rate_limit_reset'] === undefined) return false;
85
+ if (!('metering' in value) || value['metering'] === undefined) return false;
86
+ if (!('request_id' in value) || value['request_id'] === undefined) return false;
87
+ return true;
88
+ }
89
+
90
+ export function GetDataset200ResponseFromJSON(json: any): GetDataset200Response {
91
+ return GetDataset200ResponseFromJSONTyped(json, false);
92
+ }
93
+
94
+ export function GetDataset200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetDataset200Response {
95
+ if (json == null) {
96
+ return json;
97
+ }
98
+ return {
99
+
100
+ 'data': DatasetDetailFromJSON(json['data']),
101
+ 'cost': json['cost'],
102
+ 'credits_remaining': json['credits_remaining'],
103
+ 'rate_limit_limit': json['rate_limit_limit'],
104
+ 'rate_limit_remaining': json['rate_limit_remaining'],
105
+ 'rate_limit_reset': json['rate_limit_reset'],
106
+ 'metering': json['metering'],
107
+ 'request_id': json['request_id'],
108
+ };
109
+ }
110
+
111
+ export function GetDataset200ResponseToJSON(json: any): GetDataset200Response {
112
+ return GetDataset200ResponseToJSONTyped(json, false);
113
+ }
114
+
115
+ export function GetDataset200ResponseToJSONTyped(value?: GetDataset200Response | null, ignoreDiscriminator: boolean = false): any {
116
+ if (value == null) {
117
+ return value;
118
+ }
119
+
120
+ return {
121
+
122
+ 'data': DatasetDetailToJSON(value['data']),
123
+ 'cost': value['cost'],
124
+ 'credits_remaining': value['credits_remaining'],
125
+ 'rate_limit_limit': value['rate_limit_limit'],
126
+ 'rate_limit_remaining': value['rate_limit_remaining'],
127
+ 'rate_limit_reset': value['rate_limit_reset'],
128
+ 'metering': value['metering'],
129
+ 'request_id': value['request_id'],
130
+ };
131
+ }
132
+
@@ -0,0 +1,132 @@
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
+ import { mapValues } from '../runtime';
16
+ import type { IndexDetail } from './IndexDetail';
17
+ import {
18
+ IndexDetailFromJSON,
19
+ IndexDetailFromJSONTyped,
20
+ IndexDetailToJSON,
21
+ IndexDetailToJSONTyped,
22
+ } from './IndexDetail';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface GetIndex200Response
28
+ */
29
+ export interface GetIndex200Response {
30
+ /**
31
+ *
32
+ */
33
+ data: IndexDetail;
34
+ /**
35
+ * Credits this call costs.
36
+ */
37
+ cost: number;
38
+ /**
39
+ * Wallet balance after the call. Unchanged while metering is preview.
40
+ */
41
+ credits_remaining: number;
42
+ /**
43
+ * Ceiling for the current window. Also returned as X-RateLimit-Limit.
44
+ */
45
+ rate_limit_limit: number;
46
+ /**
47
+ * Calls left in the current window for this key. Also returned as X-RateLimit-Remaining.
48
+ */
49
+ rate_limit_remaining: number;
50
+ /**
51
+ * Unix seconds at which the window resets to full ceiling. Also returned as X-RateLimit-Reset.
52
+ */
53
+ rate_limit_reset: number;
54
+ /**
55
+ * Whether cost was actually deducted.
56
+ */
57
+ metering: GetIndex200ResponseMeteringEnum;
58
+ /**
59
+ * Also returned in the x-request-id header.
60
+ */
61
+ request_id: string;
62
+ }
63
+
64
+
65
+ /**
66
+ * @export
67
+ */
68
+ export const GetIndex200ResponseMeteringEnum = {
69
+ Preview: 'preview',
70
+ Billed: 'billed',
71
+ } as const;
72
+ export type GetIndex200ResponseMeteringEnum = typeof GetIndex200ResponseMeteringEnum[keyof typeof GetIndex200ResponseMeteringEnum];
73
+
74
+
75
+ /**
76
+ * Check if a given object implements the GetIndex200Response interface.
77
+ */
78
+ export function instanceOfGetIndex200Response(value: object): value is GetIndex200Response {
79
+ if (!('data' in value) || value['data'] === undefined) return false;
80
+ if (!('cost' in value) || value['cost'] === undefined) return false;
81
+ if (!('credits_remaining' in value) || value['credits_remaining'] === undefined) return false;
82
+ if (!('rate_limit_limit' in value) || value['rate_limit_limit'] === undefined) return false;
83
+ if (!('rate_limit_remaining' in value) || value['rate_limit_remaining'] === undefined) return false;
84
+ if (!('rate_limit_reset' in value) || value['rate_limit_reset'] === undefined) return false;
85
+ if (!('metering' in value) || value['metering'] === undefined) return false;
86
+ if (!('request_id' in value) || value['request_id'] === undefined) return false;
87
+ return true;
88
+ }
89
+
90
+ export function GetIndex200ResponseFromJSON(json: any): GetIndex200Response {
91
+ return GetIndex200ResponseFromJSONTyped(json, false);
92
+ }
93
+
94
+ export function GetIndex200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetIndex200Response {
95
+ if (json == null) {
96
+ return json;
97
+ }
98
+ return {
99
+
100
+ 'data': IndexDetailFromJSON(json['data']),
101
+ 'cost': json['cost'],
102
+ 'credits_remaining': json['credits_remaining'],
103
+ 'rate_limit_limit': json['rate_limit_limit'],
104
+ 'rate_limit_remaining': json['rate_limit_remaining'],
105
+ 'rate_limit_reset': json['rate_limit_reset'],
106
+ 'metering': json['metering'],
107
+ 'request_id': json['request_id'],
108
+ };
109
+ }
110
+
111
+ export function GetIndex200ResponseToJSON(json: any): GetIndex200Response {
112
+ return GetIndex200ResponseToJSONTyped(json, false);
113
+ }
114
+
115
+ export function GetIndex200ResponseToJSONTyped(value?: GetIndex200Response | null, ignoreDiscriminator: boolean = false): any {
116
+ if (value == null) {
117
+ return value;
118
+ }
119
+
120
+ return {
121
+
122
+ 'data': IndexDetailToJSON(value['data']),
123
+ 'cost': value['cost'],
124
+ 'credits_remaining': value['credits_remaining'],
125
+ 'rate_limit_limit': value['rate_limit_limit'],
126
+ 'rate_limit_remaining': value['rate_limit_remaining'],
127
+ 'rate_limit_reset': value['rate_limit_reset'],
128
+ 'metering': value['metering'],
129
+ 'request_id': value['request_id'],
130
+ };
131
+ }
132
+