@cpajs/cpa 0.0.0-stage → 0.0.1-alpha-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 (173) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +142 -2
  3. package/dist/client/errors.d.ts +70 -0
  4. package/dist/client/errors.d.ts.map +1 -0
  5. package/dist/client/errors.js +91 -0
  6. package/dist/client/errors.js.map +1 -0
  7. package/dist/client/index.d.ts +46 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +65 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/client/resources/config.d.ts +61 -0
  12. package/dist/client/resources/config.d.ts.map +1 -0
  13. package/dist/client/resources/config.js +80 -0
  14. package/dist/client/resources/config.js.map +1 -0
  15. package/dist/client/resources/credentials.d.ts +64 -0
  16. package/dist/client/resources/credentials.d.ts.map +1 -0
  17. package/dist/client/resources/credentials.js +94 -0
  18. package/dist/client/resources/credentials.js.map +1 -0
  19. package/dist/client/resources/download.d.ts +8 -0
  20. package/dist/client/resources/download.d.ts.map +1 -0
  21. package/dist/client/resources/download.js +17 -0
  22. package/dist/client/resources/download.js.map +1 -0
  23. package/dist/client/resources/logs.d.ts +23 -0
  24. package/dist/client/resources/logs.d.ts.map +1 -0
  25. package/dist/client/resources/logs.js +37 -0
  26. package/dist/client/resources/logs.js.map +1 -0
  27. package/dist/client/resources/oauth.d.ts +43 -0
  28. package/dist/client/resources/oauth.d.ts.map +1 -0
  29. package/dist/client/resources/oauth.js +70 -0
  30. package/dist/client/resources/oauth.js.map +1 -0
  31. package/dist/client/resources/plugins.d.ts +25 -0
  32. package/dist/client/resources/plugins.d.ts.map +1 -0
  33. package/dist/client/resources/plugins.js +47 -0
  34. package/dist/client/resources/plugins.js.map +1 -0
  35. package/dist/client/resources/requests.d.ts +14 -0
  36. package/dist/client/resources/requests.d.ts.map +1 -0
  37. package/dist/client/resources/requests.js +16 -0
  38. package/dist/client/resources/requests.js.map +1 -0
  39. package/dist/client/resources/routing.d.ts +12 -0
  40. package/dist/client/resources/routing.d.ts.map +1 -0
  41. package/dist/client/resources/routing.js +20 -0
  42. package/dist/client/resources/routing.js.map +1 -0
  43. package/dist/client/resources/server.d.ts +17 -0
  44. package/dist/client/resources/server.d.ts.map +1 -0
  45. package/dist/client/resources/server.js +49 -0
  46. package/dist/client/resources/server.js.map +1 -0
  47. package/dist/client/resources/usage.d.ts +16 -0
  48. package/dist/client/resources/usage.d.ts.map +1 -0
  49. package/dist/client/resources/usage.js +20 -0
  50. package/dist/client/resources/usage.js.map +1 -0
  51. package/dist/client/transport.d.ts +60 -0
  52. package/dist/client/transport.d.ts.map +1 -0
  53. package/dist/client/transport.js +170 -0
  54. package/dist/client/transport.js.map +1 -0
  55. package/dist/client/types/common.d.ts +38 -0
  56. package/dist/client/types/common.d.ts.map +1 -0
  57. package/dist/client/types/common.js +4 -0
  58. package/dist/client/types/common.js.map +1 -0
  59. package/dist/client/types/config.d.ts +407 -0
  60. package/dist/client/types/config.d.ts.map +1 -0
  61. package/dist/client/types/config.js +9 -0
  62. package/dist/client/types/config.js.map +1 -0
  63. package/dist/client/types/credentials.d.ts +240 -0
  64. package/dist/client/types/credentials.d.ts.map +1 -0
  65. package/dist/client/types/credentials.js +4 -0
  66. package/dist/client/types/credentials.js.map +1 -0
  67. package/dist/client/types/index.d.ts +10 -0
  68. package/dist/client/types/index.d.ts.map +1 -0
  69. package/dist/client/types/index.js +2 -0
  70. package/dist/client/types/index.js.map +1 -0
  71. package/dist/client/types/oauth.d.ts +89 -0
  72. package/dist/client/types/oauth.d.ts.map +1 -0
  73. package/dist/client/types/oauth.js +4 -0
  74. package/dist/client/types/oauth.js.map +1 -0
  75. package/dist/client/types/observability.d.ts +111 -0
  76. package/dist/client/types/observability.d.ts.map +1 -0
  77. package/dist/client/types/observability.js +4 -0
  78. package/dist/client/types/observability.js.map +1 -0
  79. package/dist/client/types/plugins.d.ts +171 -0
  80. package/dist/client/types/plugins.d.ts.map +1 -0
  81. package/dist/client/types/plugins.js +4 -0
  82. package/dist/client/types/plugins.js.map +1 -0
  83. package/dist/client/types/requests.d.ts +16 -0
  84. package/dist/client/types/requests.d.ts.map +1 -0
  85. package/dist/client/types/requests.js +4 -0
  86. package/dist/client/types/requests.js.map +1 -0
  87. package/dist/client/types/routing.d.ts +50 -0
  88. package/dist/client/types/routing.d.ts.map +1 -0
  89. package/dist/client/types/routing.js +4 -0
  90. package/dist/client/types/routing.js.map +1 -0
  91. package/dist/client/types/server.d.ts +15 -0
  92. package/dist/client/types/server.d.ts.map +1 -0
  93. package/dist/client/types/server.js +4 -0
  94. package/dist/client/types/server.js.map +1 -0
  95. package/dist/index.d.ts +3 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +3 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/server/binary.d.ts +35 -0
  100. package/dist/server/binary.d.ts.map +1 -0
  101. package/dist/server/binary.js +108 -0
  102. package/dist/server/binary.js.map +1 -0
  103. package/dist/server/config.d.ts +37 -0
  104. package/dist/server/config.d.ts.map +1 -0
  105. package/dist/server/config.js +103 -0
  106. package/dist/server/config.js.map +1 -0
  107. package/dist/server/cpa-version.d.ts +12 -0
  108. package/dist/server/cpa-version.d.ts.map +1 -0
  109. package/dist/server/cpa-version.js +12 -0
  110. package/dist/server/cpa-version.js.map +1 -0
  111. package/dist/server/errors.d.ts +36 -0
  112. package/dist/server/errors.d.ts.map +1 -0
  113. package/dist/server/errors.js +26 -0
  114. package/dist/server/errors.js.map +1 -0
  115. package/dist/server/index.d.ts +18 -0
  116. package/dist/server/index.d.ts.map +1 -0
  117. package/dist/server/index.js +208 -0
  118. package/dist/server/index.js.map +1 -0
  119. package/dist/server/process.d.ts +27 -0
  120. package/dist/server/process.d.ts.map +1 -0
  121. package/dist/server/process.js +114 -0
  122. package/dist/server/process.js.map +1 -0
  123. package/dist/server/readiness.d.ts +13 -0
  124. package/dist/server/readiness.d.ts.map +1 -0
  125. package/dist/server/readiness.js +56 -0
  126. package/dist/server/readiness.js.map +1 -0
  127. package/dist/server/redact.d.ts +3 -0
  128. package/dist/server/redact.d.ts.map +1 -0
  129. package/dist/server/redact.js +16 -0
  130. package/dist/server/redact.js.map +1 -0
  131. package/dist/server/targets.d.ts +48 -0
  132. package/dist/server/targets.d.ts.map +1 -0
  133. package/dist/server/targets.js +90 -0
  134. package/dist/server/targets.js.map +1 -0
  135. package/dist/server/types.d.ts +87 -0
  136. package/dist/server/types.d.ts.map +1 -0
  137. package/dist/server/types.js +2 -0
  138. package/dist/server/types.js.map +1 -0
  139. package/package.json +83 -4
  140. package/src/client/errors.ts +104 -0
  141. package/src/client/index.ts +95 -0
  142. package/src/client/resources/config.ts +124 -0
  143. package/src/client/resources/credentials.ts +133 -0
  144. package/src/client/resources/download.ts +21 -0
  145. package/src/client/resources/logs.ts +46 -0
  146. package/src/client/resources/oauth.ts +105 -0
  147. package/src/client/resources/plugins.ts +70 -0
  148. package/src/client/resources/requests.ts +20 -0
  149. package/src/client/resources/routing.ts +29 -0
  150. package/src/client/resources/server.ts +52 -0
  151. package/src/client/resources/usage.ts +27 -0
  152. package/src/client/transport.ts +215 -0
  153. package/src/client/types/common.ts +38 -0
  154. package/src/client/types/config.ts +248 -0
  155. package/src/client/types/credentials.ts +195 -0
  156. package/src/client/types/index.ts +9 -0
  157. package/src/client/types/oauth.ts +71 -0
  158. package/src/client/types/observability.ts +93 -0
  159. package/src/client/types/plugins.ts +136 -0
  160. package/src/client/types/requests.ts +19 -0
  161. package/src/client/types/routing.ts +44 -0
  162. package/src/client/types/server.ts +18 -0
  163. package/src/index.ts +2 -0
  164. package/src/server/binary.ts +128 -0
  165. package/src/server/config.ts +128 -0
  166. package/src/server/cpa-version.ts +11 -0
  167. package/src/server/errors.ts +48 -0
  168. package/src/server/index.ts +236 -0
  169. package/src/server/process.ts +124 -0
  170. package/src/server/readiness.ts +58 -0
  171. package/src/server/redact.ts +14 -0
  172. package/src/server/targets.ts +133 -0
  173. package/src/server/types.ts +93 -0
@@ -0,0 +1,64 @@
1
+ import type { AuthFileEntry, CoreAuth, CredentialModelsResponse, DeleteCredentialsResponse, ForceRefreshResult, ListCredentialsQuery, ListCredentialsResponse, PatchCredentialFieldsRequest, PatchCredentialFieldsResponse, PatchCredentialStatusRequest, PatchCredentialStatusResponse, SIWCStatusResponse, UploadCredentialsResponse } from '../types/credentials.ts';
2
+ import type { RequestOptions, Transport } from '../transport.ts';
3
+ /** Credential file content: a parsed JSON object, JSON text, or raw bytes. */
4
+ export type CredentialContent = Record<string, unknown> | string | Blob | Uint8Array<ArrayBuffer> | ArrayBuffer;
5
+ export interface CredentialFile {
6
+ /** File name in the auth directory; must end with `.json`. */
7
+ name: string;
8
+ content: CredentialContent;
9
+ }
10
+ /** Identifies a credential by auth ID / file name or by `auth_index`. */
11
+ export type CredentialSelector = {
12
+ name: string;
13
+ auth_index?: string;
14
+ } | {
15
+ auth_index: string;
16
+ name?: string;
17
+ };
18
+ /** `/v8/management/credentials*`: OAuth and API-key credential files. */
19
+ export declare class CredentialsResource {
20
+ #private;
21
+ constructor(transport: Transport);
22
+ /** Lists credentials. Passing `page` or `page_size` enables pagination fields in the response. */
23
+ list(query?: ListCredentialsQuery, options?: RequestOptions): Promise<ListCredentialsResponse>;
24
+ /** Finds one credential by auth ID / file name, or returns undefined. */
25
+ get(name: string, options?: RequestOptions): Promise<AuthFileEntry | undefined>;
26
+ /** Uploads (or overwrites) one credential file. */
27
+ upload(file: CredentialFile, options?: RequestOptions): Promise<UploadCredentialsResponse>;
28
+ /**
29
+ * Uploads several credential files in one multipart request. When some
30
+ * files fail the server answers 207 and this resolves with `status: 'partial'`.
31
+ */
32
+ uploadMany(files: readonly CredentialFile[], options?: RequestOptions): Promise<UploadCredentialsResponse>;
33
+ /** Deletes credentials by auth ID or file name. Partial failures resolve with `status: 'partial'`. */
34
+ delete(names: string | readonly string[], options?: RequestOptions): Promise<DeleteCredentialsResponse>;
35
+ /** Deletes every `*.json` file in the auth directory. */
36
+ deleteAll(options?: RequestOptions): Promise<{
37
+ status: 'ok';
38
+ deleted: number;
39
+ }>;
40
+ /** Models available through one credential. */
41
+ models(name: string, options?: RequestOptions): Promise<CredentialModelsResponse>;
42
+ /** Downloads a credential file by file name. The content includes tokens. */
43
+ download(name: string, options?: RequestOptions): Promise<Blob>;
44
+ /** Enables or disables a credential. */
45
+ setStatus(request: PatchCredentialStatusRequest, options?: RequestOptions): Promise<PatchCredentialStatusResponse>;
46
+ /**
47
+ * Sets metadata fields on a credential file. Keys may be dotted paths;
48
+ * `headers` is merged and an empty string removes a header.
49
+ */
50
+ patchFields(request: PatchCredentialFieldsRequest, options?: RequestOptions): Promise<PatchCredentialFieldsResponse>;
51
+ /** Forces a token refresh for one credential. The returned auth record contains raw tokens. */
52
+ refresh(selector: CredentialSelector, options?: RequestOptions): Promise<{
53
+ ok: true;
54
+ auth: CoreAuth;
55
+ }>;
56
+ /** Forces a token refresh for every enabled credential that supports it. */
57
+ refreshAll(options?: RequestOptions): Promise<{
58
+ ok: true;
59
+ results: ForceRefreshResult[];
60
+ }>;
61
+ /** Sign in with ChatGPT binding state of a Codex credential. */
62
+ siwcStatus(selector: CredentialSelector, options?: RequestOptions): Promise<SIWCStatusResponse>;
63
+ }
64
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/client/resources/credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ function toBlob(content) {
2
+ if (content instanceof Blob)
3
+ return content;
4
+ if (typeof content === 'string')
5
+ return new Blob([content], { type: 'application/json' });
6
+ if (content instanceof ArrayBuffer || content instanceof Uint8Array)
7
+ return new Blob([content], { type: 'application/json' });
8
+ return new Blob([JSON.stringify(content)], { type: 'application/json' });
9
+ }
10
+ /** `/v8/management/credentials*`: OAuth and API-key credential files. */
11
+ export class CredentialsResource {
12
+ #t;
13
+ constructor(transport) {
14
+ this.#t = transport;
15
+ }
16
+ /** Lists credentials. Passing `page` or `page_size` enables pagination fields in the response. */
17
+ async list(query = {}, options = {}) {
18
+ return (await this.#t.request({ ...options, method: 'GET', path: '/credentials', query: { ...query } })).data;
19
+ }
20
+ /** Finds one credential by auth ID / file name, or returns undefined. */
21
+ async get(name, options = {}) {
22
+ const { files } = await this.list({ name }, options);
23
+ return files[0];
24
+ }
25
+ /** Uploads (or overwrites) one credential file. */
26
+ async upload(file, options = {}) {
27
+ const res = await this.#t.request({
28
+ ...options,
29
+ method: 'POST',
30
+ path: '/credentials',
31
+ query: { name: file.name },
32
+ body: toBlob(file.content),
33
+ contentType: 'application/json',
34
+ });
35
+ return res.data;
36
+ }
37
+ /**
38
+ * Uploads several credential files in one multipart request. When some
39
+ * files fail the server answers 207 and this resolves with `status: 'partial'`.
40
+ */
41
+ async uploadMany(files, options = {}) {
42
+ if (files.length === 0)
43
+ throw new TypeError('uploadMany needs at least one file.');
44
+ const form = new FormData();
45
+ for (const file of files)
46
+ form.append('file', toBlob(file.content), file.name);
47
+ return (await this.#t.request({ ...options, method: 'POST', path: '/credentials', body: form })).data;
48
+ }
49
+ /** Deletes credentials by auth ID or file name. Partial failures resolve with `status: 'partial'`. */
50
+ async delete(names, options = {}) {
51
+ const list = typeof names === 'string' ? [names] : [...names];
52
+ if (list.length === 0)
53
+ throw new TypeError('delete needs at least one name.');
54
+ return (await this.#t.request({ ...options, method: 'DELETE', path: '/credentials', query: { name: list } }))
55
+ .data;
56
+ }
57
+ /** Deletes every `*.json` file in the auth directory. */
58
+ async deleteAll(options = {}) {
59
+ return (await this.#t.request({ ...options, method: 'DELETE', path: '/credentials', query: { all: 'true' } }))
60
+ .data;
61
+ }
62
+ /** Models available through one credential. */
63
+ async models(name, options = {}) {
64
+ return (await this.#t.request({ ...options, method: 'GET', path: '/credentials/models', query: { name } })).data;
65
+ }
66
+ /** Downloads a credential file by file name. The content includes tokens. */
67
+ async download(name, options = {}) {
68
+ return (await this.#t.request({ ...options, method: 'GET', path: '/credentials/download', query: { name }, responseType: 'blob' })).data;
69
+ }
70
+ /** Enables or disables a credential. */
71
+ async setStatus(request, options = {}) {
72
+ return (await this.#t.request({ ...options, method: 'PATCH', path: '/credentials/status', json: request })).data;
73
+ }
74
+ /**
75
+ * Sets metadata fields on a credential file. Keys may be dotted paths;
76
+ * `headers` is merged and an empty string removes a header.
77
+ */
78
+ async patchFields(request, options = {}) {
79
+ return (await this.#t.request({ ...options, method: 'PATCH', path: '/credentials/fields', json: request })).data;
80
+ }
81
+ /** Forces a token refresh for one credential. The returned auth record contains raw tokens. */
82
+ async refresh(selector, options = {}) {
83
+ return (await this.#t.request({ ...options, method: 'POST', path: '/credentials/refresh', json: selector })).data;
84
+ }
85
+ /** Forces a token refresh for every enabled credential that supports it. */
86
+ async refreshAll(options = {}) {
87
+ return (await this.#t.request({ ...options, method: 'POST', path: '/credentials/refresh', json: { all: true } })).data;
88
+ }
89
+ /** Sign in with ChatGPT binding state of a Codex credential. */
90
+ async siwcStatus(selector, options = {}) {
91
+ return (await this.#t.request({ ...options, method: 'GET', path: '/credentials/siwc/status', query: { ...selector } })).data;
92
+ }
93
+ }
94
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/client/resources/credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** A file returned as an attachment. */
2
+ export interface DownloadedFile {
3
+ /** File name from `Content-Disposition`, when the server sent one. */
4
+ filename: string | undefined;
5
+ blob: Blob;
6
+ }
7
+ export declare function attachmentFilename(headers: Headers): string | undefined;
8
+ //# sourceMappingURL=download.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/client/resources/download.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAavE"}
@@ -0,0 +1,17 @@
1
+ export function attachmentFilename(headers) {
2
+ const disposition = headers.get('Content-Disposition');
3
+ if (!disposition)
4
+ return undefined;
5
+ const star = /filename\*\s*=\s*(?:UTF-8'')?([^;]+)/i.exec(disposition);
6
+ if (star?.[1]) {
7
+ try {
8
+ return decodeURIComponent(star[1].trim().replace(/^"|"$/g, ''));
9
+ }
10
+ catch {
11
+ // Fall through to the plain parameter.
12
+ }
13
+ }
14
+ const plain = /filename\s*=\s*("([^"]*)"|[^;]+)/i.exec(disposition);
15
+ return plain ? (plain[2] ?? plain[1]).trim() : undefined;
16
+ }
17
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/client/resources/download.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,IAAI,GAAG,uCAAuC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACd,IAAI,CAAC;YACH,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,mCAAmC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { DeleteLogsResponse, GetLogsQuery, GetLogsResponse, RequestErrorLogsResponse } from '../types/observability.ts';
2
+ import type { RequestOptions, Transport } from '../transport.ts';
3
+ import { type DownloadedFile } from './download.ts';
4
+ /** `/v8/management/observability/logs*`. */
5
+ export declare class LogsResource {
6
+ #private;
7
+ constructor(transport: Transport);
8
+ /**
9
+ * Reads the main log. Requires `observability.logs.logging-to-file`.
10
+ * For incremental reads pass the previous `next-cursor` as `cursor`; when
11
+ * the response has `cursor-reset: true`, replace what you have instead of appending.
12
+ */
13
+ get(query?: GetLogsQuery, options?: RequestOptions): Promise<GetLogsResponse>;
14
+ /** Truncates the main log and removes rotated main log files. */
15
+ clear(options?: RequestOptions): Promise<DeleteLogsResponse>;
16
+ /** Lists `error-*.log` request error files, newest first. */
17
+ listErrorLogs(options?: RequestOptions): Promise<RequestErrorLogsResponse>;
18
+ /** Downloads one request error log by file name. */
19
+ downloadErrorLog(name: string, options?: RequestOptions): Promise<DownloadedFile>;
20
+ /** Downloads the request log for a request ID (CPA matches on its last 8 characters). */
21
+ downloadRequestLog(requestId: string, options?: RequestOptions): Promise<DownloadedFile>;
22
+ }
23
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/client/resources/logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC7H,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAExE,4CAA4C;AAC5C,qBAAa,YAAY;;IAGvB,YAAY,SAAS,EAAE,SAAS,EAE/B;IAED;;;;OAIG;IACG,GAAG,CAAC,KAAK,GAAE,YAAiB,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAE1F;IAED,iEAAiE;IAC3D,KAAK,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAErE;IAED,6DAA6D;IACvD,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAEnF;IAED,oDAAoD;IAC9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAE1F;IAED,yFAAyF;IACnF,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAEjG;CAMF"}
@@ -0,0 +1,37 @@
1
+ import { attachmentFilename } from './download.js';
2
+ /** `/v8/management/observability/logs*`. */
3
+ export class LogsResource {
4
+ #t;
5
+ constructor(transport) {
6
+ this.#t = transport;
7
+ }
8
+ /**
9
+ * Reads the main log. Requires `observability.logs.logging-to-file`.
10
+ * For incremental reads pass the previous `next-cursor` as `cursor`; when
11
+ * the response has `cursor-reset: true`, replace what you have instead of appending.
12
+ */
13
+ async get(query = {}, options = {}) {
14
+ return (await this.#t.request({ ...options, method: 'GET', path: '/observability/logs', query: { ...query } })).data;
15
+ }
16
+ /** Truncates the main log and removes rotated main log files. */
17
+ async clear(options = {}) {
18
+ return (await this.#t.request({ ...options, method: 'DELETE', path: '/observability/logs' })).data;
19
+ }
20
+ /** Lists `error-*.log` request error files, newest first. */
21
+ async listErrorLogs(options = {}) {
22
+ return (await this.#t.request({ ...options, method: 'GET', path: '/observability/logs/errors' })).data;
23
+ }
24
+ /** Downloads one request error log by file name. */
25
+ async downloadErrorLog(name, options = {}) {
26
+ return this.#download(`/observability/logs/errors/${encodeURIComponent(name)}`, options);
27
+ }
28
+ /** Downloads the request log for a request ID (CPA matches on its last 8 characters). */
29
+ async downloadRequestLog(requestId, options = {}) {
30
+ return this.#download(`/observability/logs/requests/${encodeURIComponent(requestId)}`, options);
31
+ }
32
+ async #download(path, options) {
33
+ const res = await this.#t.request({ ...options, method: 'GET', path, responseType: 'blob' });
34
+ return { filename: attachmentFilename(res.headers), blob: res.data };
35
+ }
36
+ }
37
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/client/resources/logs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAuB,MAAM,eAAe,CAAC;AAExE,4CAA4C;AAC5C,MAAM,OAAO,YAAY;IACd,EAAE,CAAY;IAEvB,YAAY,SAAoB;QAC9B,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,KAAK,GAAiB,EAAE,EAAE,OAAO,GAAmB,EAAE;QAC9D,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAkB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxI,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,KAAK,CAAC,OAAO,GAAmB,EAAE;QACtC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAqB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzH,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,aAAa,CAAC,OAAO,GAAmB,EAAE;QAC9C,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAA2B,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnI,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,OAAO,GAAmB,EAAE;QAC/D,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3F,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,OAAO,GAAmB,EAAE;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,gCAAgC,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAuB;QACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QACnG,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ import type { CancelOAuthSessionResponse, OAuthAuthUrlRequest, OAuthAuthUrlResponse, OAuthCallbackRequest, OAuthCallbackResponse, OAuthStatusResponse, SIWCBindResponse, VertexImportResponse } from '../types/oauth.ts';
2
+ import type { SIWCStatusResponse } from '../types/credentials.ts';
3
+ import type { RequestOptions, Transport } from '../transport.ts';
4
+ import type { CredentialContent, CredentialSelector } from './credentials.ts';
5
+ export interface WaitForOAuthOptions extends RequestOptions {
6
+ /** Poll interval. Default 2 000 ms. */
7
+ intervalMs?: number;
8
+ }
9
+ /** `/v8/management/oauth/*`: native login flows. */
10
+ export declare class OAuthResource {
11
+ #private;
12
+ constructor(transport: Transport);
13
+ /**
14
+ * Starts a login and returns the URL to open. Device flows (xai, meta, kimi)
15
+ * also return `user_code`. Poll {@link status} with the returned `state`.
16
+ */
17
+ start(request: OAuthAuthUrlRequest, options?: RequestOptions): Promise<OAuthAuthUrlResponse>;
18
+ /** Session state: `wait` while pending, `ok` when done, `error` with a message otherwise. */
19
+ status(state: string, options?: RequestOptions): Promise<OAuthStatusResponse>;
20
+ /** Polls {@link status} until the session leaves `wait`. Abort with `signal`. */
21
+ waitForCompletion(state: string, options?: WaitForOAuthOptions): Promise<Exclude<OAuthStatusResponse, {
22
+ status: 'wait';
23
+ }>>;
24
+ /** Cancels a pending session. `cancelled` is false if it was unknown or already finished. */
25
+ cancel(state: string, options?: RequestOptions): Promise<CancelOAuthSessionResponse>;
26
+ /**
27
+ * Completes a browser flow by handing over the final redirect URL (or
28
+ * `state` + `code`). Useful when the provider's loopback callback cannot
29
+ * reach the server. This route does not require the management key.
30
+ */
31
+ callback(request: OAuthCallbackRequest, options?: RequestOptions): Promise<OAuthCallbackResponse>;
32
+ /** Imports a Google Cloud service account key as a Vertex credential. */
33
+ importVertex(input: {
34
+ serviceAccount: CredentialContent;
35
+ location?: string;
36
+ fileName?: string;
37
+ }, options?: RequestOptions): Promise<VertexImportResponse>;
38
+ /** Starts binding Sign in with ChatGPT to a file-backed Codex OAuth credential. */
39
+ siwcBind(name: string, options?: RequestOptions): Promise<SIWCBindResponse>;
40
+ /** Same as `credentials.siwcStatus`, via the oauth route. */
41
+ siwcStatus(selector: CredentialSelector, options?: RequestOptions): Promise<SIWCStatusResponse>;
42
+ }
43
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/client/resources/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oDAAoD;AACpD,qBAAa,aAAa;;IAGxB,YAAY,SAAS,EAAE,SAAS,EAE/B;IAED;;;OAGG;IACG,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAErG;IAED,6FAA6F;IACvF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEtF;IAED,iFAAiF;IAC3E,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAiBnI;IAED,6FAA6F;IACvF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAE7F;IAED;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAG1G;IAED,yEAAyE;IACnE,YAAY,CAChB,KAAK,EAAE;QAAE,cAAc,EAAE,iBAAiB,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAClF,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAc/B;IAED,mFAAmF;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEpF;IAED,6DAA6D;IACvD,UAAU,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAExG;CACF"}
@@ -0,0 +1,70 @@
1
+ /** `/v8/management/oauth/*`: native login flows. */
2
+ export class OAuthResource {
3
+ #t;
4
+ constructor(transport) {
5
+ this.#t = transport;
6
+ }
7
+ /**
8
+ * Starts a login and returns the URL to open. Device flows (xai, meta, kimi)
9
+ * also return `user_code`. Poll {@link status} with the returned `state`.
10
+ */
11
+ async start(request, options = {}) {
12
+ return (await this.#t.request({ ...options, method: 'POST', path: '/oauth/auth-url', json: request })).data;
13
+ }
14
+ /** Session state: `wait` while pending, `ok` when done, `error` with a message otherwise. */
15
+ async status(state, options = {}) {
16
+ return (await this.#t.request({ ...options, method: 'GET', path: '/oauth/status', query: { state } })).data;
17
+ }
18
+ /** Polls {@link status} until the session leaves `wait`. Abort with `signal`. */
19
+ async waitForCompletion(state, options = {}) {
20
+ const { intervalMs = 2_000, ...requestOptions } = options;
21
+ while (true) {
22
+ const result = await this.status(state, requestOptions);
23
+ if (result.status !== 'wait')
24
+ return result;
25
+ await new Promise((resolve, reject) => {
26
+ const timer = setTimeout(resolve, intervalMs);
27
+ requestOptions.signal?.addEventListener('abort', () => {
28
+ clearTimeout(timer);
29
+ reject(requestOptions.signal.reason);
30
+ }, { once: true });
31
+ });
32
+ }
33
+ }
34
+ /** Cancels a pending session. `cancelled` is false if it was unknown or already finished. */
35
+ async cancel(state, options = {}) {
36
+ return (await this.#t.request({ ...options, method: 'DELETE', path: '/oauth/session', query: { state } })).data;
37
+ }
38
+ /**
39
+ * Completes a browser flow by handing over the final redirect URL (or
40
+ * `state` + `code`). Useful when the provider's loopback callback cannot
41
+ * reach the server. This route does not require the management key.
42
+ */
43
+ async callback(request, options = {}) {
44
+ return (await this.#t.request({ ...options, method: 'POST', path: '/oauth/callback', json: request, anonymous: true }))
45
+ .data;
46
+ }
47
+ /** Imports a Google Cloud service account key as a Vertex credential. */
48
+ async importVertex(input, options = {}) {
49
+ const form = new FormData();
50
+ const content = input.serviceAccount;
51
+ const blob = content instanceof Blob
52
+ ? content
53
+ : new Blob([typeof content === 'string' || content instanceof ArrayBuffer || content instanceof Uint8Array ? content : JSON.stringify(content)], {
54
+ type: 'application/json',
55
+ });
56
+ form.append('file', blob, input.fileName ?? 'service-account.json');
57
+ if (input.location !== undefined)
58
+ form.append('location', input.location);
59
+ return (await this.#t.request({ ...options, method: 'POST', path: '/oauth/import', query: { provider: 'vertex' }, body: form })).data;
60
+ }
61
+ /** Starts binding Sign in with ChatGPT to a file-backed Codex OAuth credential. */
62
+ async siwcBind(name, options = {}) {
63
+ return (await this.#t.request({ ...options, method: 'POST', path: '/oauth/siwc/bind', json: { name } })).data;
64
+ }
65
+ /** Same as `credentials.siwcStatus`, via the oauth route. */
66
+ async siwcStatus(selector, options = {}) {
67
+ return (await this.#t.request({ ...options, method: 'GET', path: '/oauth/siwc/status', query: { ...selector } })).data;
68
+ }
69
+ }
70
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/client/resources/oauth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { DeletePluginResponse, PluginInstallQuery, PluginInstallResponse, PluginListResponse, PluginQuotaResetResponse, PluginStoreListResponse, QuotaFetchResponse } from '../types/plugins.ts';
2
+ import type { RequestOptions, Transport } from '../transport.ts';
3
+ /** `/v8/management/plugins*`. */
4
+ export declare class PluginsResource {
5
+ #private;
6
+ constructor(transport: Transport);
7
+ list(options?: RequestOptions): Promise<PluginListResponse>;
8
+ /** Deletes the plugin file and its `plugins.configs` entry. */
9
+ delete(id: string, options?: RequestOptions): Promise<DeletePluginResponse>;
10
+ /** Lists plugins from every store source (network access on the server). */
11
+ store(options?: RequestOptions): Promise<PluginStoreListResponse>;
12
+ /**
13
+ * Installs a store plugin by plugin id (not `store_id`) and enables it.
14
+ * The global `plugins.enabled` switch is left unchanged.
15
+ */
16
+ install(id: string, query?: PluginInstallQuery, options?: RequestOptions): Promise<PluginInstallResponse>;
17
+ /**
18
+ * Fetches quota for a credential from the plugin's quota provider.
19
+ * (`POST /plugins/:id/quota` runs the same handler and is not exposed separately.)
20
+ */
21
+ quota(id: string, authIndex: string, options?: RequestOptions): Promise<QuotaFetchResponse>;
22
+ /** Resets plugin quota state for a credential, then its routing cooldown. */
23
+ resetQuota(id: string, authIndex: string, options?: RequestOptions): Promise<PluginQuotaResetResponse>;
24
+ }
25
+ //# sourceMappingURL=plugins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/client/resources/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjE,iCAAiC;AACjC,qBAAa,eAAe;;IAG1B,YAAY,SAAS,EAAE,SAAS,EAE/B;IAEK,IAAI,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAEpE;IAED,+DAA+D;IACzD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEpF;IAED,4EAA4E;IACtE,KAAK,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAE1E;IAED;;;OAGG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAStH;IAED;;;OAGG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAIpG;IAED,6EAA6E;IACvE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAS/G;CACF"}
@@ -0,0 +1,47 @@
1
+ /** `/v8/management/plugins*`. */
2
+ export class PluginsResource {
3
+ #t;
4
+ constructor(transport) {
5
+ this.#t = transport;
6
+ }
7
+ async list(options = {}) {
8
+ return (await this.#t.request({ ...options, method: 'GET', path: '/plugins' })).data;
9
+ }
10
+ /** Deletes the plugin file and its `plugins.configs` entry. */
11
+ async delete(id, options = {}) {
12
+ return (await this.#t.request({ ...options, method: 'DELETE', path: `/plugins/${encodeURIComponent(id)}` })).data;
13
+ }
14
+ /** Lists plugins from every store source (network access on the server). */
15
+ async store(options = {}) {
16
+ return (await this.#t.request({ ...options, method: 'GET', path: '/plugins/store' })).data;
17
+ }
18
+ /**
19
+ * Installs a store plugin by plugin id (not `store_id`) and enables it.
20
+ * The global `plugins.enabled` switch is left unchanged.
21
+ */
22
+ async install(id, query = {}, options = {}) {
23
+ return (await this.#t.request({
24
+ ...options,
25
+ method: 'POST',
26
+ path: `/plugins/store/${encodeURIComponent(id)}/install`,
27
+ query: { ...query },
28
+ })).data;
29
+ }
30
+ /**
31
+ * Fetches quota for a credential from the plugin's quota provider.
32
+ * (`POST /plugins/:id/quota` runs the same handler and is not exposed separately.)
33
+ */
34
+ async quota(id, authIndex, options = {}) {
35
+ return (await this.#t.request({ ...options, method: 'GET', path: `/plugins/${encodeURIComponent(id)}/quota`, query: { auth_index: authIndex } })).data;
36
+ }
37
+ /** Resets plugin quota state for a credential, then its routing cooldown. */
38
+ async resetQuota(id, authIndex, options = {}) {
39
+ return (await this.#t.request({
40
+ ...options,
41
+ method: 'DELETE',
42
+ path: `/plugins/${encodeURIComponent(id)}/quota`,
43
+ query: { auth_index: authIndex },
44
+ })).data;
45
+ }
46
+ }
47
+ //# sourceMappingURL=plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/client/resources/plugins.ts"],"names":[],"mappings":"AAWA,iCAAiC;AACjC,MAAM,OAAO,eAAe;IACjB,EAAE,CAAY;IAEvB,YAAY,SAAoB;QAC9B,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,GAAmB,EAAE;QACrC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAqB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAO,GAAmB,EAAE;QACnD,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAuB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1I,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,KAAK,CAAC,OAAO,GAAmB,EAAE;QACtC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAA0B,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,KAAK,GAAuB,EAAE,EAAE,OAAO,GAAmB,EAAE;QACpF,OAAO,CACL,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAwB;YAC3C,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,UAAU;YACxD,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE;SACpB,CAAC,CACH,CAAC,IAAI,CAAC;IACT,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,SAAiB,EAAE,OAAO,GAAmB,EAAE;QACrE,OAAO,CACL,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAqB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAC7J,CAAC,IAAI,CAAC;IACT,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,SAAiB,EAAE,OAAO,GAAmB,EAAE;QAC1E,OAAO,CACL,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAA2B;YAC9C,GAAG,OAAO;YACV,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE,CAAC,QAAQ;YAChD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;SACjC,CAAC,CACH,CAAC,IAAI,CAAC;IACT,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { ApiCallRequest, ApiCallResponse } from '../types/requests.ts';
2
+ import type { RequestOptions, Transport } from '../transport.ts';
3
+ /** `/v8/management/requests/*`. */
4
+ export declare class RequestsResource {
5
+ #private;
6
+ constructor(transport: Transport);
7
+ /**
8
+ * Makes an HTTP request from the server, optionally with a credential's
9
+ * proxy and token (`$TOKEN$` in headers or `data`). Resolves whenever the
10
+ * upstream call completed, whatever its status; check `status_code`.
11
+ */
12
+ apiCall(request: ApiCallRequest, options?: RequestOptions): Promise<ApiCallResponse>;
13
+ }
14
+ //# sourceMappingURL=requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../src/client/resources/requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjE,mCAAmC;AACnC,qBAAa,gBAAgB;;IAG3B,YAAY,SAAS,EAAE,SAAS,EAE/B;IAED;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAE7F;CACF"}
@@ -0,0 +1,16 @@
1
+ /** `/v8/management/requests/*`. */
2
+ export class RequestsResource {
3
+ #t;
4
+ constructor(transport) {
5
+ this.#t = transport;
6
+ }
7
+ /**
8
+ * Makes an HTTP request from the server, optionally with a credential's
9
+ * proxy and token (`$TOKEN$` in headers or `data`). Resolves whenever the
10
+ * upstream call completed, whatever its status; check `status_code`.
11
+ */
12
+ async apiCall(request, options = {}) {
13
+ return (await this.#t.request({ ...options, method: 'POST', path: '/requests/api-call', json: request })).data;
14
+ }
15
+ }
16
+ //# sourceMappingURL=requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../src/client/resources/requests.ts"],"names":[],"mappings":"AAGA,mCAAmC;AACnC,MAAM,OAAO,gBAAgB;IAClB,EAAE,CAAY;IAEvB,YAAY,SAAoB;QAC9B,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,OAAO,GAAmB,EAAE;QACjE,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAkB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClI,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import type { CooldownResetResponse, ModelDefinitionsResponse, StaticModelChannel } from '../types/routing.ts';
2
+ import type { RequestOptions, Transport } from '../transport.ts';
3
+ /** `/v8/management/routing/*`. */
4
+ export declare class RoutingResource {
5
+ #private;
6
+ constructor(transport: Transport);
7
+ /** Clears quota and cooldown state for one credential. */
8
+ resetCooldown(authIndex: string, options?: RequestOptions): Promise<CooldownResetResponse>;
9
+ /** Built-in model definitions for a channel (or a plugin provider). */
10
+ modelDefinitions(channel: StaticModelChannel | (string & {}), options?: RequestOptions): Promise<ModelDefinitionsResponse>;
11
+ }
12
+ //# sourceMappingURL=routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/client/resources/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjE,kCAAkC;AAClC,qBAAa,eAAe;;IAG1B,YAAY,SAAS,EAAE,SAAS,EAE/B;IAED,0DAA0D;IACpD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAInG;IAED,uEAAuE;IACjE,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAQnI;CACF"}
@@ -0,0 +1,20 @@
1
+ /** `/v8/management/routing/*`. */
2
+ export class RoutingResource {
3
+ #t;
4
+ constructor(transport) {
5
+ this.#t = transport;
6
+ }
7
+ /** Clears quota and cooldown state for one credential. */
8
+ async resetCooldown(authIndex, options = {}) {
9
+ return (await this.#t.request({ ...options, method: 'POST', path: '/routing/cooldown/reset', json: { auth_index: authIndex } })).data;
10
+ }
11
+ /** Built-in model definitions for a channel (or a plugin provider). */
12
+ async modelDefinitions(channel, options = {}) {
13
+ return (await this.#t.request({
14
+ ...options,
15
+ method: 'GET',
16
+ path: `/routing/model-definitions/${encodeURIComponent(channel)}`,
17
+ })).data;
18
+ }
19
+ }
20
+ //# sourceMappingURL=routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/client/resources/routing.ts"],"names":[],"mappings":"AAGA,kCAAkC;AAClC,MAAM,OAAO,eAAe;IACjB,EAAE,CAAY;IAEvB,YAAY,SAAoB;QAC9B,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,OAAO,GAAmB,EAAE;QACjE,OAAO,CACL,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAwB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAC/I,CAAC,IAAI,CAAC;IACT,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,gBAAgB,CAAC,OAA2C,EAAE,OAAO,GAAmB,EAAE;QAC9F,OAAO,CACL,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAA2B;YAC9C,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,8BAA8B,kBAAkB,CAAC,OAAO,CAAC,EAAE;SAClE,CAAC,CACH,CAAC,IAAI,CAAC;IACT,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { HealthzResponse, ServerInfo } from '../types/server.ts';
2
+ import type { RequestOptions, Transport } from '../transport.ts';
3
+ /** Server information: `/healthz`, version headers and `/v8/management/server/*`. */
4
+ export declare class ServerResource {
5
+ #private;
6
+ constructor(transport: Transport);
7
+ /** `GET /healthz` (no management key needed). */
8
+ health(options?: RequestOptions): Promise<HealthzResponse>;
9
+ /**
10
+ * Version, commit, build date and plugin support of the running server,
11
+ * read from the `X-CPA-*` headers of a cheap authenticated request.
12
+ */
13
+ info(options?: RequestOptions): Promise<ServerInfo>;
14
+ /** Latest CLIProxyAPI release tag on GitHub (e.g. `"v8.0.43"`), fetched by the server. */
15
+ latestVersion(options?: RequestOptions): Promise<string>;
16
+ }
17
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/client/resources/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAyB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAajE,qFAAqF;AACrF,qBAAa,cAAc;;IAGzB,YAAY,SAAS,EAAE,SAAS,EAE/B;IAED,iDAAiD;IAC3C,MAAM,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAEnE;IAED;;;OAGG;IACG,IAAI,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAY5D;IAED,0FAA0F;IACpF,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjE;CACF"}