@scalix-world/sdk 1.0.0 → 1.2.0
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.
- package/LICENSE +21 -0
- package/README.md +81 -159
- package/dist/client.d.ts +59 -18
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +86 -23
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +3 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -21
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +22 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +42 -4
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +18 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -9
- package/dist/index.js.map +1 -1
- package/dist/services/account.d.ts +22 -10
- package/dist/services/account.d.ts.map +1 -1
- package/dist/services/account.js +7 -21
- package/dist/services/account.js.map +1 -1
- package/dist/services/audio.d.ts +16 -15
- package/dist/services/audio.d.ts.map +1 -1
- package/dist/services/audio.js +22 -9
- package/dist/services/audio.js.map +1 -1
- package/dist/services/auth.d.ts +80 -0
- package/dist/services/auth.d.ts.map +1 -0
- package/dist/services/auth.js +54 -0
- package/dist/services/auth.js.map +1 -0
- package/dist/services/base.d.ts +9 -2
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +153 -28
- package/dist/services/base.js.map +1 -1
- package/dist/services/compute.d.ts +36 -0
- package/dist/services/compute.d.ts.map +1 -0
- package/dist/services/compute.js +27 -0
- package/dist/services/compute.js.map +1 -0
- package/dist/services/cron.d.ts +22 -0
- package/dist/services/cron.d.ts.map +1 -0
- package/dist/services/cron.js +16 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/database.d.ts +21 -232
- package/dist/services/database.d.ts.map +1 -1
- package/dist/services/database.js +10 -185
- package/dist/services/database.js.map +1 -1
- package/dist/services/docgen.d.ts +6 -0
- package/dist/services/docgen.d.ts.map +1 -1
- package/dist/services/docgen.js +11 -0
- package/dist/services/docgen.js.map +1 -1
- package/dist/services/domains.d.ts +23 -0
- package/dist/services/domains.d.ts.map +1 -0
- package/dist/services/domains.js +16 -0
- package/dist/services/domains.js.map +1 -0
- package/dist/services/embeddings.d.ts +24 -0
- package/dist/services/embeddings.d.ts.map +1 -0
- package/dist/services/embeddings.js +14 -0
- package/dist/services/embeddings.js.map +1 -0
- package/dist/services/events.d.ts +18 -0
- package/dist/services/events.d.ts.map +1 -0
- package/dist/services/events.js +18 -0
- package/dist/services/events.js.map +1 -0
- package/dist/services/functions.d.ts +36 -0
- package/dist/services/functions.d.ts.map +1 -0
- package/dist/services/functions.js +21 -0
- package/dist/services/functions.js.map +1 -0
- package/dist/services/images.d.ts +12 -22
- package/dist/services/images.d.ts.map +1 -1
- package/dist/services/images.js +14 -15
- package/dist/services/images.js.map +1 -1
- package/dist/services/index.d.ts +27 -6
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +11 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/kv.d.ts +14 -0
- package/dist/services/kv.d.ts.map +1 -0
- package/dist/services/kv.js +20 -0
- package/dist/services/kv.js.map +1 -0
- package/dist/services/models.d.ts +16 -0
- package/dist/services/models.d.ts.map +1 -0
- package/dist/services/models.js +12 -0
- package/dist/services/models.js.map +1 -0
- package/dist/services/rag.d.ts +1 -0
- package/dist/services/rag.d.ts.map +1 -1
- package/dist/services/rag.js +6 -0
- package/dist/services/rag.js.map +1 -1
- package/dist/services/realtime.d.ts +75 -0
- package/dist/services/realtime.d.ts.map +1 -0
- package/dist/services/realtime.js +297 -0
- package/dist/services/realtime.js.map +1 -0
- package/dist/services/research.js +4 -3
- package/dist/services/research.js.map +1 -1
- package/dist/services/run.d.ts +54 -0
- package/dist/services/run.d.ts.map +1 -0
- package/dist/services/run.js +44 -0
- package/dist/services/run.js.map +1 -0
- package/dist/services/search.d.ts +32 -0
- package/dist/services/search.d.ts.map +1 -0
- package/dist/services/search.js +25 -0
- package/dist/services/search.js.map +1 -0
- package/dist/services/shield.d.ts +48 -0
- package/dist/services/shield.d.ts.map +1 -0
- package/dist/services/shield.js +59 -0
- package/dist/services/shield.js.map +1 -0
- package/dist/services/text.d.ts +31 -0
- package/dist/services/text.d.ts.map +1 -1
- package/dist/services/text.js +15 -0
- package/dist/services/text.js.map +1 -1
- package/package.json +16 -6
- package/dist/services/chat.d.ts +0 -38
- package/dist/services/chat.d.ts.map +0 -1
- package/dist/services/chat.js +0 -53
- package/dist/services/chat.js.map +0 -1
package/dist/services/base.js
CHANGED
|
@@ -1,13 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AuthenticationError, BadRequestError, ConflictError, InternalServerError, NotFoundError, PermissionDeniedError, RateLimitError, ScalixError, UnprocessableEntityError, } from '../errors.js';
|
|
2
|
+
const RETRYABLE_STATUS_CODES = new Set([408, 409, 429, 500, 502, 503, 504]);
|
|
3
|
+
function sleep(ms) {
|
|
4
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
5
|
+
}
|
|
6
|
+
function backoffDelay(attempt, retryAfter) {
|
|
7
|
+
if (retryAfter !== undefined)
|
|
8
|
+
return retryAfter * 1000;
|
|
9
|
+
const base = Math.min(0.5 * Math.pow(2, attempt), 8);
|
|
10
|
+
return base * (0.5 + Math.random() * 0.5) * 1000;
|
|
11
|
+
}
|
|
12
|
+
function throwForStatus(status, message, requestId) {
|
|
13
|
+
switch (status) {
|
|
14
|
+
case 400: throw new BadRequestError(message, requestId);
|
|
15
|
+
case 401: throw new AuthenticationError(message, requestId);
|
|
16
|
+
case 403: throw new PermissionDeniedError(message, requestId);
|
|
17
|
+
case 404: throw new NotFoundError(message, requestId);
|
|
18
|
+
case 409: throw new ConflictError(message, requestId);
|
|
19
|
+
case 422: throw new UnprocessableEntityError(message, requestId);
|
|
20
|
+
case 429: throw new RateLimitError(message, requestId);
|
|
21
|
+
default:
|
|
22
|
+
if (status >= 500)
|
|
23
|
+
throw new InternalServerError(message, requestId);
|
|
24
|
+
throw new ScalixError(message, { status, requestId });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
3
27
|
export class BaseService {
|
|
4
28
|
config;
|
|
5
29
|
constructor(config) {
|
|
6
|
-
this.config = config
|
|
30
|
+
this.config = config;
|
|
31
|
+
}
|
|
32
|
+
get maxRetries() {
|
|
33
|
+
return this.config.maxRetries ?? 2;
|
|
34
|
+
}
|
|
35
|
+
get timeout() {
|
|
36
|
+
return this.config.timeout ?? 60000;
|
|
7
37
|
}
|
|
8
38
|
async request(method, path, options) {
|
|
9
39
|
if (!this.config.apiKey) {
|
|
10
|
-
throw new AuthenticationError('API key required.
|
|
40
|
+
throw new AuthenticationError('API key required. Pass apiKey to new Scalix("scalix_sk_...").');
|
|
11
41
|
}
|
|
12
42
|
const url = `${this.config.baseUrl}${path}`;
|
|
13
43
|
const headers = {
|
|
@@ -15,16 +45,41 @@ export class BaseService {
|
|
|
15
45
|
'Content-Type': 'application/json',
|
|
16
46
|
...options?.headers,
|
|
17
47
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
48
|
+
let lastError;
|
|
49
|
+
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
|
|
50
|
+
if (attempt > 0) {
|
|
51
|
+
await sleep(backoffDelay(attempt - 1, lastError instanceof RateLimitError ? undefined : undefined));
|
|
52
|
+
}
|
|
53
|
+
let resp;
|
|
54
|
+
try {
|
|
55
|
+
resp = await fetch(url, {
|
|
56
|
+
method,
|
|
57
|
+
headers,
|
|
58
|
+
...(options?.body ? { body: JSON.stringify(options.body) } : {}),
|
|
59
|
+
signal: AbortSignal.timeout(this.timeout),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
lastError = err instanceof Error ? err : new Error(String(err));
|
|
64
|
+
if (attempt < this.maxRetries)
|
|
65
|
+
continue;
|
|
66
|
+
throw new ScalixError(`Connection failed: ${lastError.message}`);
|
|
67
|
+
}
|
|
68
|
+
if (resp.ok) {
|
|
69
|
+
return resp.json();
|
|
70
|
+
}
|
|
71
|
+
const requestId = resp.headers.get('x-request-id') ?? undefined;
|
|
24
72
|
const body = await resp.json().catch(() => ({}));
|
|
25
|
-
|
|
73
|
+
const message = body?.error?.message ?? `Request failed: ${resp.status}`;
|
|
74
|
+
if (attempt < this.maxRetries && RETRYABLE_STATUS_CODES.has(resp.status)) {
|
|
75
|
+
const retryAfter = resp.headers.get('retry-after');
|
|
76
|
+
lastError = new ScalixError(message, { status: resp.status, requestId });
|
|
77
|
+
await sleep(backoffDelay(attempt, retryAfter ? parseFloat(retryAfter) : undefined));
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
throwForStatus(resp.status, message, requestId);
|
|
26
81
|
}
|
|
27
|
-
|
|
82
|
+
throw lastError ?? new ScalixError('Request failed after retries');
|
|
28
83
|
}
|
|
29
84
|
async requestRaw(method, path, options) {
|
|
30
85
|
if (!this.config.apiKey) {
|
|
@@ -36,32 +91,102 @@ export class BaseService {
|
|
|
36
91
|
'Content-Type': 'application/json',
|
|
37
92
|
...options?.headers,
|
|
38
93
|
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
94
|
+
let lastError;
|
|
95
|
+
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
|
|
96
|
+
let resp;
|
|
97
|
+
try {
|
|
98
|
+
resp = await fetch(url, {
|
|
99
|
+
method,
|
|
100
|
+
headers,
|
|
101
|
+
...(options?.body ? { body: JSON.stringify(options.body) } : {}),
|
|
102
|
+
signal: AbortSignal.timeout(this.timeout),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
lastError = err instanceof Error ? err : new Error(String(err));
|
|
107
|
+
if (attempt < this.maxRetries) {
|
|
108
|
+
await sleep(backoffDelay(attempt));
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
throw new ScalixError(`Connection failed: ${lastError.message}`);
|
|
112
|
+
}
|
|
113
|
+
if (resp.ok)
|
|
114
|
+
return resp;
|
|
115
|
+
const requestId = resp.headers.get('x-request-id') ?? undefined;
|
|
45
116
|
const body = await resp.json().catch(() => ({}));
|
|
46
|
-
|
|
117
|
+
const message = body?.error?.message ?? `Request failed: ${resp.status}`;
|
|
118
|
+
if (attempt < this.maxRetries && RETRYABLE_STATUS_CODES.has(resp.status)) {
|
|
119
|
+
const retryAfter = resp.headers.get('retry-after');
|
|
120
|
+
lastError = new ScalixError(message, { status: resp.status, requestId });
|
|
121
|
+
await sleep(backoffDelay(attempt, retryAfter ? parseFloat(retryAfter) : undefined));
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
throwForStatus(resp.status, message, requestId);
|
|
47
125
|
}
|
|
48
|
-
|
|
126
|
+
throw lastError ?? new ScalixError('Request failed after retries');
|
|
49
127
|
}
|
|
50
128
|
async requestMultipart(path, formData) {
|
|
51
129
|
if (!this.config.apiKey) {
|
|
52
130
|
throw new AuthenticationError('API key required.');
|
|
53
131
|
}
|
|
54
132
|
const url = `${this.config.baseUrl}${path}`;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
133
|
+
let lastError;
|
|
134
|
+
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
|
|
135
|
+
let resp;
|
|
136
|
+
try {
|
|
137
|
+
resp = await fetch(url, {
|
|
138
|
+
method: 'POST',
|
|
139
|
+
headers: { Authorization: `Bearer ${this.config.apiKey}` },
|
|
140
|
+
body: formData,
|
|
141
|
+
signal: AbortSignal.timeout(this.timeout),
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
catch (err) {
|
|
145
|
+
lastError = err instanceof Error ? err : new Error(String(err));
|
|
146
|
+
if (attempt < this.maxRetries) {
|
|
147
|
+
await sleep(backoffDelay(attempt));
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
throw new ScalixError(`Connection failed: ${lastError.message}`);
|
|
151
|
+
}
|
|
152
|
+
if (resp.ok) {
|
|
153
|
+
return resp.json();
|
|
154
|
+
}
|
|
155
|
+
const requestId = resp.headers.get('x-request-id') ?? undefined;
|
|
61
156
|
const body = await resp.json().catch(() => ({}));
|
|
62
|
-
|
|
157
|
+
const message = body?.error?.message ?? `Upload failed: ${resp.status}`;
|
|
158
|
+
if (attempt < this.maxRetries && RETRYABLE_STATUS_CODES.has(resp.status)) {
|
|
159
|
+
const retryAfter = resp.headers.get('retry-after');
|
|
160
|
+
lastError = new ScalixError(message, { status: resp.status, requestId });
|
|
161
|
+
await sleep(backoffDelay(attempt, retryAfter ? parseFloat(retryAfter) : undefined));
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
throwForStatus(resp.status, message, requestId);
|
|
165
|
+
}
|
|
166
|
+
throw lastError ?? new ScalixError('Request failed after retries');
|
|
167
|
+
}
|
|
168
|
+
async *paginate(method, path, options) {
|
|
169
|
+
const itemsKey = options?.itemsKey ?? 'data';
|
|
170
|
+
const pageSize = options?.pageSize ?? 100;
|
|
171
|
+
const baseParams = options?.params ?? {};
|
|
172
|
+
let offset = 0;
|
|
173
|
+
while (true) {
|
|
174
|
+
const qs = new URLSearchParams({
|
|
175
|
+
...baseParams,
|
|
176
|
+
limit: String(pageSize),
|
|
177
|
+
offset: String(offset),
|
|
178
|
+
});
|
|
179
|
+
const resp = await this.request(method, `${path}?${qs.toString()}`);
|
|
180
|
+
const items = (resp[itemsKey] ?? []);
|
|
181
|
+
if (!items.length)
|
|
182
|
+
break;
|
|
183
|
+
for (const item of items) {
|
|
184
|
+
yield item;
|
|
185
|
+
}
|
|
186
|
+
if (items.length < pageSize)
|
|
187
|
+
break;
|
|
188
|
+
offset += items.length;
|
|
63
189
|
}
|
|
64
|
-
return resp.json();
|
|
65
190
|
}
|
|
66
191
|
}
|
|
67
192
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseService } from './base.js';
|
|
2
|
+
export interface Deployment {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
image: string;
|
|
6
|
+
replicas: number;
|
|
7
|
+
status: string;
|
|
8
|
+
createdAt: string;
|
|
9
|
+
updatedAt: string;
|
|
10
|
+
}
|
|
11
|
+
export interface CreateDeploymentOptions {
|
|
12
|
+
name: string;
|
|
13
|
+
image: string;
|
|
14
|
+
replicas?: number;
|
|
15
|
+
env?: Record<string, string>;
|
|
16
|
+
ports?: number[];
|
|
17
|
+
memory?: number;
|
|
18
|
+
cpu?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface Instance {
|
|
21
|
+
id: string;
|
|
22
|
+
deploymentId: string;
|
|
23
|
+
status: string;
|
|
24
|
+
ip?: string;
|
|
25
|
+
createdAt: string;
|
|
26
|
+
}
|
|
27
|
+
export declare class ComputeService extends BaseService {
|
|
28
|
+
listDeployments(): Promise<Deployment[]>;
|
|
29
|
+
getDeployment(id: string): Promise<Deployment>;
|
|
30
|
+
createDeployment(opts: CreateDeploymentOptions): Promise<Deployment>;
|
|
31
|
+
scaleDeployment(id: string, replicas: number): Promise<void>;
|
|
32
|
+
deleteDeployment(id: string): Promise<void>;
|
|
33
|
+
restartDeployment(id: string): Promise<void>;
|
|
34
|
+
listInstances(deploymentId: string): Promise<Instance[]>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=compute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../../src/services/compute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,cAAe,SAAQ,WAAW;IACvC,eAAe,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI9C,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAIpE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAG/D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseService } from './base.js';
|
|
2
|
+
export class ComputeService extends BaseService {
|
|
3
|
+
async listDeployments() {
|
|
4
|
+
return this.request('GET', '/v1/compute/deployments');
|
|
5
|
+
}
|
|
6
|
+
async getDeployment(id) {
|
|
7
|
+
return this.request('GET', `/v1/compute/deployments/${id}`);
|
|
8
|
+
}
|
|
9
|
+
async createDeployment(opts) {
|
|
10
|
+
return this.request('POST', '/v1/compute/deployments', { body: opts });
|
|
11
|
+
}
|
|
12
|
+
async scaleDeployment(id, replicas) {
|
|
13
|
+
await this.request('PUT', `/v1/compute/deployments/${id}/scale`, {
|
|
14
|
+
body: { replicas },
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async deleteDeployment(id) {
|
|
18
|
+
await this.request('DELETE', `/v1/compute/deployments/${id}`);
|
|
19
|
+
}
|
|
20
|
+
async restartDeployment(id) {
|
|
21
|
+
await this.request('POST', `/v1/compute/deployments/${id}/restart`);
|
|
22
|
+
}
|
|
23
|
+
async listInstances(deploymentId) {
|
|
24
|
+
return this.request('GET', `/v1/compute/deployments/${deploymentId}/instances`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=compute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute.js","sourceRoot":"","sources":["../../src/services/compute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA8BxC,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,OAAO,CAAe,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAa,KAAK,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAA6B;QAClD,OAAO,IAAI,CAAC,OAAO,CAAa,MAAM,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,QAAgB;QAChD,MAAM,IAAI,CAAC,OAAO,CAAO,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE;YACrE,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAO,QAAQ,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,MAAM,IAAI,CAAC,OAAO,CAAO,MAAM,EAAE,2BAA2B,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAAoB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAa,KAAK,EAAE,2BAA2B,YAAY,YAAY,CAAC,CAAC;IAC9F,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseService } from './base.js';
|
|
2
|
+
export interface Schedule {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
cron: string;
|
|
6
|
+
target: string;
|
|
7
|
+
status: string;
|
|
8
|
+
createdAt: string;
|
|
9
|
+
}
|
|
10
|
+
export interface CreateScheduleOptions {
|
|
11
|
+
name: string;
|
|
12
|
+
cron: string;
|
|
13
|
+
target: string;
|
|
14
|
+
payload?: unknown;
|
|
15
|
+
}
|
|
16
|
+
export declare class CronService extends BaseService {
|
|
17
|
+
listSchedules(): Promise<Schedule[]>;
|
|
18
|
+
createSchedule(opts: CreateScheduleOptions): Promise<Schedule>;
|
|
19
|
+
deleteSchedule(id: string): Promise<void>;
|
|
20
|
+
triggerSchedule(id: string): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=cron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/services/cron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,WAAY,SAAQ,WAAW;IACpC,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIpC,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseService } from './base.js';
|
|
2
|
+
export class CronService extends BaseService {
|
|
3
|
+
async listSchedules() {
|
|
4
|
+
return this.request('GET', '/v1/cron/schedules');
|
|
5
|
+
}
|
|
6
|
+
async createSchedule(opts) {
|
|
7
|
+
return this.request('POST', '/v1/cron/schedules', { body: opts });
|
|
8
|
+
}
|
|
9
|
+
async deleteSchedule(id) {
|
|
10
|
+
await this.request('DELETE', `/v1/cron/schedules/${id}`);
|
|
11
|
+
}
|
|
12
|
+
async triggerSchedule(id) {
|
|
13
|
+
await this.request('POST', `/v1/cron/schedules/${id}/trigger`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/services/cron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAkBxC,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAa,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAA2B;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAW,MAAM,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAO,QAAQ,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,MAAM,IAAI,CAAC,OAAO,CAAO,MAAM,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;CACF"}
|
|
@@ -1,245 +1,34 @@
|
|
|
1
1
|
import { BaseService } from './base.js';
|
|
2
|
-
export interface
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
status: string;
|
|
7
|
-
region?: string;
|
|
8
|
-
plan?: string;
|
|
9
|
-
storageSize?: number;
|
|
10
|
-
createdAt?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface CreateDatabaseOptions {
|
|
13
|
-
name: string;
|
|
14
|
-
plan?: string;
|
|
15
|
-
region?: string;
|
|
2
|
+
export interface QueryResult {
|
|
3
|
+
columns: string[];
|
|
4
|
+
rows: unknown[][];
|
|
5
|
+
rowCount: number;
|
|
16
6
|
}
|
|
17
|
-
export interface
|
|
18
|
-
id: string;
|
|
7
|
+
export interface ColumnInfo {
|
|
19
8
|
name: string;
|
|
20
|
-
parentId?: string;
|
|
21
|
-
createdAt?: string;
|
|
22
|
-
}
|
|
23
|
-
export interface Backup {
|
|
24
|
-
id: string;
|
|
25
|
-
databaseId: string;
|
|
26
9
|
type: string;
|
|
27
|
-
|
|
28
|
-
size: number;
|
|
29
|
-
createdAt: string;
|
|
30
|
-
}
|
|
31
|
-
export interface DatabaseMetrics {
|
|
32
|
-
connections: number;
|
|
33
|
-
queryRate: number;
|
|
34
|
-
errorRate: number;
|
|
35
|
-
storageUsed: number;
|
|
36
|
-
storageTotal: number;
|
|
37
|
-
cpuUsage?: number;
|
|
38
|
-
memoryUsage?: number;
|
|
39
|
-
responseTime?: number;
|
|
40
|
-
timestamp: string;
|
|
41
|
-
}
|
|
42
|
-
export interface PoolingStatus {
|
|
43
|
-
enabled: boolean;
|
|
44
|
-
managed: boolean;
|
|
45
|
-
provider: string;
|
|
46
|
-
mode: string;
|
|
47
|
-
totalConnections?: number;
|
|
48
|
-
activeConnections?: number;
|
|
49
|
-
idleConnections?: number;
|
|
50
|
-
}
|
|
51
|
-
export interface EncryptionStatus {
|
|
52
|
-
encryptionAtRest: boolean;
|
|
53
|
-
encryptionInTransit: boolean;
|
|
54
|
-
tlsVersion: string;
|
|
55
|
-
compliant: boolean;
|
|
56
|
-
managed: boolean;
|
|
57
|
-
provider: string;
|
|
58
|
-
}
|
|
59
|
-
export interface HAStatus {
|
|
60
|
-
enabled: boolean;
|
|
61
|
-
availabilityZones: string[];
|
|
62
|
-
readReplicas: number;
|
|
63
|
-
failoverEnabled: boolean;
|
|
64
|
-
managed: boolean;
|
|
65
|
-
}
|
|
66
|
-
export interface QueryResult {
|
|
67
|
-
rows: Record<string, unknown>[];
|
|
68
|
-
rowCount: number;
|
|
69
|
-
fields?: Array<{
|
|
70
|
-
name: string;
|
|
71
|
-
dataType: string;
|
|
72
|
-
}>;
|
|
10
|
+
nullable: boolean;
|
|
73
11
|
}
|
|
74
12
|
export interface TableInfo {
|
|
75
13
|
name: string;
|
|
76
|
-
|
|
77
|
-
rowCount?: number;
|
|
14
|
+
columns: ColumnInfo[];
|
|
78
15
|
}
|
|
79
|
-
export interface
|
|
16
|
+
export interface SchemaInfo {
|
|
17
|
+
tables: TableInfo[];
|
|
18
|
+
}
|
|
19
|
+
export interface TableData {
|
|
80
20
|
name: string;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
21
|
+
columns: ColumnInfo[];
|
|
22
|
+
rows: unknown[][];
|
|
23
|
+
rowCount: number;
|
|
84
24
|
}
|
|
85
25
|
export declare class DatabaseService extends BaseService {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
database: Database;
|
|
94
|
-
}>;
|
|
95
|
-
update(databaseId: string, updates: Partial<Database>): Promise<{
|
|
96
|
-
database: Database;
|
|
97
|
-
}>;
|
|
98
|
-
delete(databaseId: string): Promise<{
|
|
99
|
-
success: boolean;
|
|
100
|
-
}>;
|
|
101
|
-
listBranches(databaseId: string): Promise<{
|
|
102
|
-
branches: Branch[];
|
|
103
|
-
}>;
|
|
104
|
-
createBranch(databaseId: string, options: {
|
|
105
|
-
name: string;
|
|
106
|
-
parentId?: string;
|
|
107
|
-
}): Promise<{
|
|
108
|
-
branch: Branch;
|
|
109
|
-
}>;
|
|
110
|
-
deleteBranch(databaseId: string, branchId: string): Promise<{
|
|
111
|
-
success: boolean;
|
|
112
|
-
}>;
|
|
113
|
-
maskBranch(databaseId: string, branchId: string): Promise<{
|
|
114
|
-
success: boolean;
|
|
115
|
-
}>;
|
|
116
|
-
listBackups(databaseId: string): Promise<{
|
|
117
|
-
backups: Backup[];
|
|
118
|
-
}>;
|
|
119
|
-
createBackup(databaseId: string, name?: string): Promise<{
|
|
120
|
-
backup: Backup;
|
|
121
|
-
}>;
|
|
122
|
-
restoreBackup(databaseId: string, backupId: string): Promise<{
|
|
123
|
-
success: boolean;
|
|
124
|
-
}>;
|
|
125
|
-
deleteBackup(databaseId: string, backupId: string): Promise<{
|
|
126
|
-
success: boolean;
|
|
127
|
-
}>;
|
|
128
|
-
setBackupSchedule(databaseId: string, schedule: Record<string, unknown>): Promise<{
|
|
129
|
-
success: boolean;
|
|
130
|
-
}>;
|
|
131
|
-
enablePitr(databaseId: string): Promise<{
|
|
132
|
-
success: boolean;
|
|
133
|
-
message: string;
|
|
134
|
-
}>;
|
|
135
|
-
getRestorePoints(databaseId: string): Promise<{
|
|
136
|
-
restorePoints: Array<{
|
|
137
|
-
timestamp: string;
|
|
138
|
-
description: string;
|
|
139
|
-
}>;
|
|
140
|
-
}>;
|
|
141
|
-
restorePitr(databaseId: string, targetTime: string): Promise<{
|
|
142
|
-
success: boolean;
|
|
143
|
-
}>;
|
|
144
|
-
getEncryption(databaseId: string): Promise<{
|
|
145
|
-
encryption: EncryptionStatus;
|
|
146
|
-
}>;
|
|
147
|
-
updateEncryption(databaseId: string, settings: Record<string, unknown>): Promise<{
|
|
148
|
-
encryption: EncryptionStatus;
|
|
149
|
-
}>;
|
|
150
|
-
rotateEncryptionKeys(databaseId: string): Promise<{
|
|
151
|
-
success: boolean;
|
|
152
|
-
}>;
|
|
153
|
-
getHAStatus(databaseId: string): Promise<{
|
|
154
|
-
status: HAStatus;
|
|
155
|
-
}>;
|
|
156
|
-
enableHA(databaseId: string): Promise<{
|
|
157
|
-
status: HAStatus;
|
|
158
|
-
}>;
|
|
159
|
-
disableHA(databaseId: string): Promise<{
|
|
160
|
-
status: HAStatus;
|
|
161
|
-
}>;
|
|
162
|
-
getPoolingStatus(databaseId: string): Promise<{
|
|
163
|
-
pooling: PoolingStatus;
|
|
164
|
-
}>;
|
|
165
|
-
enablePooling(databaseId: string): Promise<{
|
|
166
|
-
pooling: PoolingStatus;
|
|
167
|
-
}>;
|
|
168
|
-
disablePooling(databaseId: string): Promise<{
|
|
169
|
-
success: boolean;
|
|
170
|
-
}>;
|
|
171
|
-
getPoolingStats(databaseId: string): Promise<{
|
|
172
|
-
stats: Record<string, number>;
|
|
173
|
-
}>;
|
|
174
|
-
updatePoolingConfig(databaseId: string, config: Record<string, unknown>): Promise<{
|
|
175
|
-
success: boolean;
|
|
176
|
-
}>;
|
|
177
|
-
query(databaseId: string, sql: string): Promise<QueryResult>;
|
|
178
|
-
explain(databaseId: string, sql: string): Promise<{
|
|
179
|
-
plan: string;
|
|
180
|
-
}>;
|
|
181
|
-
listTables(databaseId: string, schema?: string): Promise<{
|
|
182
|
-
tables: TableInfo[];
|
|
183
|
-
}>;
|
|
184
|
-
listColumns(databaseId: string, tableName: string, schema?: string): Promise<{
|
|
185
|
-
columns: ColumnInfo[];
|
|
186
|
-
}>;
|
|
187
|
-
listRows(databaseId: string, tableName: string, options?: {
|
|
188
|
-
schema?: string;
|
|
189
|
-
limit?: number;
|
|
190
|
-
offset?: number;
|
|
191
|
-
orderBy?: string;
|
|
192
|
-
orderDir?: 'asc' | 'desc';
|
|
193
|
-
}): Promise<{
|
|
194
|
-
rows: Record<string, unknown>[];
|
|
195
|
-
total: number;
|
|
196
|
-
}>;
|
|
197
|
-
insertRow(databaseId: string, tableName: string, data: Record<string, unknown>): Promise<{
|
|
198
|
-
success: boolean;
|
|
199
|
-
}>;
|
|
200
|
-
updateRow(databaseId: string, tableName: string, data: Record<string, unknown>): Promise<{
|
|
201
|
-
success: boolean;
|
|
202
|
-
}>;
|
|
203
|
-
deleteRow(databaseId: string, tableName: string, conditions: Record<string, unknown>): Promise<{
|
|
204
|
-
success: boolean;
|
|
205
|
-
}>;
|
|
206
|
-
listExtensions(databaseId: string): Promise<{
|
|
207
|
-
extensions: Array<{
|
|
208
|
-
name: string;
|
|
209
|
-
installed: boolean;
|
|
210
|
-
}>;
|
|
211
|
-
}>;
|
|
212
|
-
enableExtension(databaseId: string, name: string): Promise<{
|
|
213
|
-
success: boolean;
|
|
214
|
-
}>;
|
|
215
|
-
disableExtension(databaseId: string, name: string): Promise<{
|
|
216
|
-
success: boolean;
|
|
217
|
-
}>;
|
|
218
|
-
importSql(databaseId: string, sql: string): Promise<{
|
|
219
|
-
success: boolean;
|
|
220
|
-
}>;
|
|
221
|
-
importCsv(databaseId: string, data: {
|
|
222
|
-
tableName: string;
|
|
223
|
-
csv: string;
|
|
224
|
-
}): Promise<{
|
|
225
|
-
success: boolean;
|
|
226
|
-
}>;
|
|
227
|
-
rotateCredentials(databaseId: string): Promise<{
|
|
228
|
-
connection: Record<string, string>;
|
|
229
|
-
}>;
|
|
230
|
-
getMetrics(databaseId: string): Promise<{
|
|
231
|
-
metrics: DatabaseMetrics;
|
|
232
|
-
}>;
|
|
233
|
-
getLogs(databaseId: string, options?: {
|
|
234
|
-
limit?: number;
|
|
235
|
-
}): Promise<{
|
|
236
|
-
logs: Array<Record<string, unknown>>;
|
|
237
|
-
}>;
|
|
238
|
-
getConnection(databaseId: string): Promise<{
|
|
239
|
-
connectionString: string;
|
|
240
|
-
}>;
|
|
241
|
-
resetConnection(databaseId: string): Promise<{
|
|
242
|
-
success: boolean;
|
|
243
|
-
}>;
|
|
26
|
+
query(sql: string, params?: unknown[]): Promise<QueryResult>;
|
|
27
|
+
batch(queries: {
|
|
28
|
+
query: string;
|
|
29
|
+
params?: unknown[];
|
|
30
|
+
}[]): Promise<QueryResult[]>;
|
|
31
|
+
schema(): Promise<SchemaInfo>;
|
|
32
|
+
table(name: string): Promise<TableData>;
|
|
244
33
|
}
|
|
245
34
|
//# sourceMappingURL=database.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/services/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/services/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,WAAW;IACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAM5D,KAAK,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAM/E,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAI7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAG9C"}
|