@hoststack.dev/sdk 0.1.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 +107 -0
- package/dist/index.cjs +482 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +488 -0
- package/dist/index.d.ts +488 -0
- package/dist/index.js +474 -0
- package/dist/index.js.map +1 -0
- package/package.json +60 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,488 @@
|
|
|
1
|
+
interface Project {
|
|
2
|
+
id: number;
|
|
3
|
+
publicId: string;
|
|
4
|
+
name: string;
|
|
5
|
+
slug: string;
|
|
6
|
+
description?: string | null;
|
|
7
|
+
region: string;
|
|
8
|
+
createdAt: string;
|
|
9
|
+
updatedAt: string;
|
|
10
|
+
}
|
|
11
|
+
interface CreateProjectInput {
|
|
12
|
+
name: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
region?: string;
|
|
15
|
+
}
|
|
16
|
+
interface UpdateProjectInput {
|
|
17
|
+
name?: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
}
|
|
20
|
+
interface Service {
|
|
21
|
+
id: number;
|
|
22
|
+
publicId: string;
|
|
23
|
+
name: string;
|
|
24
|
+
type: string;
|
|
25
|
+
status: string;
|
|
26
|
+
internalUrl?: string | null;
|
|
27
|
+
projectId: number;
|
|
28
|
+
createdAt: string;
|
|
29
|
+
updatedAt: string;
|
|
30
|
+
}
|
|
31
|
+
interface CreateServiceInput {
|
|
32
|
+
name: string;
|
|
33
|
+
type: string;
|
|
34
|
+
projectId?: string;
|
|
35
|
+
gitUrl?: string;
|
|
36
|
+
branch?: string;
|
|
37
|
+
buildCommand?: string;
|
|
38
|
+
startCommand?: string;
|
|
39
|
+
}
|
|
40
|
+
interface UpdateServiceInput {
|
|
41
|
+
name?: string;
|
|
42
|
+
}
|
|
43
|
+
interface ServiceConfig {
|
|
44
|
+
buildCommand?: string | null;
|
|
45
|
+
startCommand?: string | null;
|
|
46
|
+
branch?: string | null;
|
|
47
|
+
rootDirectory?: string | null;
|
|
48
|
+
dockerfilePath?: string | null;
|
|
49
|
+
autoDeploy?: boolean;
|
|
50
|
+
instanceCount?: number;
|
|
51
|
+
plan?: string;
|
|
52
|
+
}
|
|
53
|
+
interface UpdateServiceConfigInput {
|
|
54
|
+
buildCommand?: string;
|
|
55
|
+
startCommand?: string;
|
|
56
|
+
branch?: string;
|
|
57
|
+
rootDirectory?: string;
|
|
58
|
+
dockerfilePath?: string;
|
|
59
|
+
autoDeploy?: boolean;
|
|
60
|
+
instanceCount?: number;
|
|
61
|
+
plan?: string;
|
|
62
|
+
}
|
|
63
|
+
interface Deploy {
|
|
64
|
+
id: number;
|
|
65
|
+
publicId: string;
|
|
66
|
+
status: string;
|
|
67
|
+
trigger: string;
|
|
68
|
+
commitHash?: string | null;
|
|
69
|
+
commitMessage?: string | null;
|
|
70
|
+
createdAt: string;
|
|
71
|
+
startedAt?: string | null;
|
|
72
|
+
finishedAt?: string | null;
|
|
73
|
+
}
|
|
74
|
+
interface TriggerDeployInput {
|
|
75
|
+
clearCache?: boolean;
|
|
76
|
+
}
|
|
77
|
+
interface Database {
|
|
78
|
+
id: number;
|
|
79
|
+
publicId: string;
|
|
80
|
+
name: string;
|
|
81
|
+
type: string;
|
|
82
|
+
status: string;
|
|
83
|
+
version?: string | null;
|
|
84
|
+
projectId: number;
|
|
85
|
+
createdAt: string;
|
|
86
|
+
updatedAt: string;
|
|
87
|
+
}
|
|
88
|
+
interface CreateDatabaseInput {
|
|
89
|
+
name: string;
|
|
90
|
+
type: string;
|
|
91
|
+
projectId: number;
|
|
92
|
+
version?: string;
|
|
93
|
+
}
|
|
94
|
+
interface UpdateDatabaseInput {
|
|
95
|
+
name?: string;
|
|
96
|
+
}
|
|
97
|
+
interface DatabaseCredentials {
|
|
98
|
+
host: string;
|
|
99
|
+
port: number;
|
|
100
|
+
username: string;
|
|
101
|
+
password: string;
|
|
102
|
+
database: string;
|
|
103
|
+
connectionUrl: string;
|
|
104
|
+
}
|
|
105
|
+
interface Domain {
|
|
106
|
+
id: number;
|
|
107
|
+
publicId?: string;
|
|
108
|
+
domain: string;
|
|
109
|
+
status: string;
|
|
110
|
+
verified: boolean;
|
|
111
|
+
serviceId?: number | null;
|
|
112
|
+
createdAt: string;
|
|
113
|
+
}
|
|
114
|
+
interface AddDomainInput {
|
|
115
|
+
domain: string;
|
|
116
|
+
serviceId?: string;
|
|
117
|
+
}
|
|
118
|
+
interface UpdateDomainInput {
|
|
119
|
+
serviceId?: string;
|
|
120
|
+
}
|
|
121
|
+
interface EnvVar {
|
|
122
|
+
id: number;
|
|
123
|
+
publicId?: string;
|
|
124
|
+
key: string;
|
|
125
|
+
value: string;
|
|
126
|
+
isSecret: boolean;
|
|
127
|
+
}
|
|
128
|
+
interface CreateEnvVarInput {
|
|
129
|
+
key: string;
|
|
130
|
+
value: string;
|
|
131
|
+
isSecret?: boolean;
|
|
132
|
+
}
|
|
133
|
+
interface UpdateEnvVarInput {
|
|
134
|
+
key?: string;
|
|
135
|
+
value?: string;
|
|
136
|
+
isSecret?: boolean;
|
|
137
|
+
}
|
|
138
|
+
interface BulkSetEnvVarsInput {
|
|
139
|
+
envVars: Array<{
|
|
140
|
+
key: string;
|
|
141
|
+
value: string;
|
|
142
|
+
isSecret?: boolean;
|
|
143
|
+
}>;
|
|
144
|
+
}
|
|
145
|
+
interface User {
|
|
146
|
+
id: number;
|
|
147
|
+
name: string;
|
|
148
|
+
email: string;
|
|
149
|
+
avatarUrl?: string | null;
|
|
150
|
+
}
|
|
151
|
+
interface Team {
|
|
152
|
+
id: number;
|
|
153
|
+
name: string;
|
|
154
|
+
slug: string;
|
|
155
|
+
role: string;
|
|
156
|
+
}
|
|
157
|
+
interface MeResponse {
|
|
158
|
+
user: User;
|
|
159
|
+
team?: Team;
|
|
160
|
+
}
|
|
161
|
+
interface ServiceMetrics {
|
|
162
|
+
cpu: number;
|
|
163
|
+
memory: number;
|
|
164
|
+
network: number;
|
|
165
|
+
requests: number;
|
|
166
|
+
}
|
|
167
|
+
interface CronExecution {
|
|
168
|
+
id: number;
|
|
169
|
+
publicId: string;
|
|
170
|
+
status: string;
|
|
171
|
+
startedAt?: string | null;
|
|
172
|
+
finishedAt?: string | null;
|
|
173
|
+
exitCode?: number | null;
|
|
174
|
+
triggeredBy?: string | null;
|
|
175
|
+
createdAt: string;
|
|
176
|
+
}
|
|
177
|
+
interface ActivityLogEntry {
|
|
178
|
+
id: number;
|
|
179
|
+
action: string;
|
|
180
|
+
resourceType: string;
|
|
181
|
+
resourceId: string;
|
|
182
|
+
userId: number;
|
|
183
|
+
userName: string;
|
|
184
|
+
metadata?: Record<string, unknown>;
|
|
185
|
+
createdAt: string;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
declare class CronResource {
|
|
189
|
+
private client;
|
|
190
|
+
constructor(client: HostStack);
|
|
191
|
+
/** List cron executions for a service. */
|
|
192
|
+
list(teamId: number, serviceId: string, options?: {
|
|
193
|
+
limit?: number;
|
|
194
|
+
}): Promise<{
|
|
195
|
+
executions: CronExecution[];
|
|
196
|
+
}>;
|
|
197
|
+
/** Get a single cron execution by ID. */
|
|
198
|
+
get(teamId: number, serviceId: string, executionId: string): Promise<{
|
|
199
|
+
execution: CronExecution;
|
|
200
|
+
}>;
|
|
201
|
+
/** Trigger an immediate cron execution. */
|
|
202
|
+
trigger(teamId: number, serviceId: string): Promise<{
|
|
203
|
+
execution: CronExecution;
|
|
204
|
+
}>;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
declare class DatabasesResource {
|
|
208
|
+
private client;
|
|
209
|
+
constructor(client: HostStack);
|
|
210
|
+
/** List all databases for a project. */
|
|
211
|
+
list(teamId: number, projectId: number): Promise<{
|
|
212
|
+
databases: Database[];
|
|
213
|
+
}>;
|
|
214
|
+
/** Get a single database by ID. */
|
|
215
|
+
get(teamId: number, databaseId: string): Promise<{
|
|
216
|
+
database: Database;
|
|
217
|
+
}>;
|
|
218
|
+
/** Create a new database. */
|
|
219
|
+
create(teamId: number, data: CreateDatabaseInput): Promise<{
|
|
220
|
+
database: Database;
|
|
221
|
+
}>;
|
|
222
|
+
/** Update a database. */
|
|
223
|
+
update(teamId: number, databaseId: string, data: UpdateDatabaseInput): Promise<{
|
|
224
|
+
database: Database;
|
|
225
|
+
}>;
|
|
226
|
+
/** Delete a database. */
|
|
227
|
+
delete(teamId: number, databaseId: string): Promise<void>;
|
|
228
|
+
/** Suspend a database. */
|
|
229
|
+
suspend(teamId: number, databaseId: string): Promise<void>;
|
|
230
|
+
/** Resume a suspended database. */
|
|
231
|
+
resume(teamId: number, databaseId: string): Promise<void>;
|
|
232
|
+
/** Get connection credentials. */
|
|
233
|
+
getCredentials(teamId: number, databaseId: string): Promise<{
|
|
234
|
+
credentials: DatabaseCredentials;
|
|
235
|
+
}>;
|
|
236
|
+
/** Reset the database password. */
|
|
237
|
+
resetPassword(teamId: number, databaseId: string): Promise<void>;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
declare class DeploysResource {
|
|
241
|
+
private client;
|
|
242
|
+
constructor(client: HostStack);
|
|
243
|
+
/** List deploys for a service. */
|
|
244
|
+
list(teamId: number, serviceId: string): Promise<{
|
|
245
|
+
deploys: Deploy[];
|
|
246
|
+
}>;
|
|
247
|
+
/** Get a single deploy by ID. */
|
|
248
|
+
get(teamId: number, serviceId: string, deployId: string): Promise<{
|
|
249
|
+
deploy: Deploy;
|
|
250
|
+
}>;
|
|
251
|
+
/** Trigger a new deploy. */
|
|
252
|
+
trigger(teamId: number, serviceId: string, data?: TriggerDeployInput): Promise<{
|
|
253
|
+
deploy: Deploy;
|
|
254
|
+
}>;
|
|
255
|
+
/** Cancel an in-progress deploy. */
|
|
256
|
+
cancel(teamId: number, serviceId: string, deployId: string): Promise<void>;
|
|
257
|
+
/** Rollback to a previous deploy. */
|
|
258
|
+
rollback(teamId: number, serviceId: string, deployId: string): Promise<void>;
|
|
259
|
+
/** Get build logs for a deploy. */
|
|
260
|
+
getLogs(teamId: number, serviceId: string, deployId: string): Promise<{
|
|
261
|
+
logs: string;
|
|
262
|
+
}>;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
declare class DomainsResource {
|
|
266
|
+
private client;
|
|
267
|
+
constructor(client: HostStack);
|
|
268
|
+
/** List all domains for the active team. */
|
|
269
|
+
list(teamId: number): Promise<{
|
|
270
|
+
domains: Domain[];
|
|
271
|
+
}>;
|
|
272
|
+
/** Add a custom domain. */
|
|
273
|
+
add(teamId: number, data: AddDomainInput): Promise<{
|
|
274
|
+
domain: Domain;
|
|
275
|
+
}>;
|
|
276
|
+
/** Update a domain. */
|
|
277
|
+
update(teamId: number, domainId: string, data: UpdateDomainInput): Promise<{
|
|
278
|
+
domain: Domain;
|
|
279
|
+
}>;
|
|
280
|
+
/** Remove a domain. */
|
|
281
|
+
remove(teamId: number, domainId: string): Promise<void>;
|
|
282
|
+
/** Verify domain DNS configuration. */
|
|
283
|
+
verify(teamId: number, domainId: string): Promise<void>;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
declare class EnvVarsResource {
|
|
287
|
+
private client;
|
|
288
|
+
constructor(client: HostStack);
|
|
289
|
+
/** List all environment variables for a service. */
|
|
290
|
+
list(teamId: number, serviceId: string): Promise<{
|
|
291
|
+
envVars: EnvVar[];
|
|
292
|
+
}>;
|
|
293
|
+
/** Create a new environment variable. */
|
|
294
|
+
create(teamId: number, serviceId: string, data: CreateEnvVarInput): Promise<{
|
|
295
|
+
envVar: EnvVar;
|
|
296
|
+
}>;
|
|
297
|
+
/** Update an environment variable. */
|
|
298
|
+
update(teamId: number, serviceId: string, envVarId: string, data: UpdateEnvVarInput): Promise<{
|
|
299
|
+
envVar: EnvVar;
|
|
300
|
+
}>;
|
|
301
|
+
/** Delete an environment variable. */
|
|
302
|
+
delete(teamId: number, serviceId: string, envVarId: string): Promise<void>;
|
|
303
|
+
/** Bulk set environment variables (create or update). */
|
|
304
|
+
bulkSet(teamId: number, serviceId: string, data: BulkSetEnvVarsInput): Promise<void>;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
declare class ProjectsResource {
|
|
308
|
+
private client;
|
|
309
|
+
constructor(client: HostStack);
|
|
310
|
+
/** List all projects for the active team. */
|
|
311
|
+
list(teamId: number): Promise<{
|
|
312
|
+
projects: Project[];
|
|
313
|
+
}>;
|
|
314
|
+
/** Get a single project by ID. */
|
|
315
|
+
get(teamId: number, projectId: string): Promise<{
|
|
316
|
+
project: Project;
|
|
317
|
+
}>;
|
|
318
|
+
/** Create a new project. */
|
|
319
|
+
create(teamId: number, data: CreateProjectInput): Promise<{
|
|
320
|
+
project: Project;
|
|
321
|
+
}>;
|
|
322
|
+
/** Update a project. */
|
|
323
|
+
update(teamId: number, projectId: string, data: UpdateProjectInput): Promise<{
|
|
324
|
+
project: Project;
|
|
325
|
+
}>;
|
|
326
|
+
/** Delete a project. */
|
|
327
|
+
delete(teamId: number, projectId: string): Promise<void>;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
interface LogEntry$1 {
|
|
331
|
+
timestamp: string;
|
|
332
|
+
level?: string | null;
|
|
333
|
+
stream?: string | null;
|
|
334
|
+
message: string;
|
|
335
|
+
}
|
|
336
|
+
interface StreamLogsOptions {
|
|
337
|
+
/** Filter by stream: 'stdout' or 'stderr'. */
|
|
338
|
+
stream?: 'stdout' | 'stderr';
|
|
339
|
+
/** Number of historical lines to fetch on first poll (default: 100). */
|
|
340
|
+
initialLines?: number;
|
|
341
|
+
/** Poll interval in milliseconds (default: 2000). */
|
|
342
|
+
pollInterval?: number;
|
|
343
|
+
/** AbortSignal to stop streaming. */
|
|
344
|
+
signal?: AbortSignal;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
interface LogEntry {
|
|
348
|
+
timestamp: string;
|
|
349
|
+
level?: string | null;
|
|
350
|
+
stream?: string | null;
|
|
351
|
+
message: string;
|
|
352
|
+
}
|
|
353
|
+
declare class ServicesResource {
|
|
354
|
+
private client;
|
|
355
|
+
constructor(client: HostStack);
|
|
356
|
+
/** List all services for the active team. */
|
|
357
|
+
list(teamId: number): Promise<{
|
|
358
|
+
services: Service[];
|
|
359
|
+
}>;
|
|
360
|
+
/** Get a single service by ID. */
|
|
361
|
+
get(teamId: number, serviceId: string): Promise<{
|
|
362
|
+
service: Service;
|
|
363
|
+
}>;
|
|
364
|
+
/** Create a new service. */
|
|
365
|
+
create(teamId: number, data: CreateServiceInput): Promise<{
|
|
366
|
+
service: Service;
|
|
367
|
+
}>;
|
|
368
|
+
/** Update a service. */
|
|
369
|
+
update(teamId: number, serviceId: string, data: UpdateServiceInput): Promise<{
|
|
370
|
+
service: Service;
|
|
371
|
+
}>;
|
|
372
|
+
/** Delete a service. */
|
|
373
|
+
delete(teamId: number, serviceId: string): Promise<void>;
|
|
374
|
+
/** Suspend a service. */
|
|
375
|
+
suspend(teamId: number, serviceId: string): Promise<void>;
|
|
376
|
+
/** Resume a suspended service. */
|
|
377
|
+
resume(teamId: number, serviceId: string): Promise<void>;
|
|
378
|
+
/** Get service metrics. */
|
|
379
|
+
getMetrics(teamId: number, serviceId: string): Promise<{
|
|
380
|
+
metrics: ServiceMetrics;
|
|
381
|
+
}>;
|
|
382
|
+
/** Get service configuration. */
|
|
383
|
+
getConfig(teamId: number, serviceId: string): Promise<{
|
|
384
|
+
config: ServiceConfig;
|
|
385
|
+
}>;
|
|
386
|
+
/** Update service configuration. */
|
|
387
|
+
updateConfig(teamId: number, serviceId: string, data: UpdateServiceConfigInput): Promise<{
|
|
388
|
+
config: ServiceConfig;
|
|
389
|
+
}>;
|
|
390
|
+
/** Get runtime logs for a service. */
|
|
391
|
+
getRuntimeLogs(teamId: number, serviceId: string, options?: {
|
|
392
|
+
lines?: number;
|
|
393
|
+
since?: string;
|
|
394
|
+
stream?: 'stdout' | 'stderr';
|
|
395
|
+
}): Promise<{
|
|
396
|
+
logs: LogEntry[] | string;
|
|
397
|
+
}>;
|
|
398
|
+
/**
|
|
399
|
+
* Stream runtime logs for a service by polling the logs endpoint.
|
|
400
|
+
* Yields log entries as they appear. Use an AbortController to stop.
|
|
401
|
+
*
|
|
402
|
+
* @example
|
|
403
|
+
* ```ts
|
|
404
|
+
* const ac = new AbortController();
|
|
405
|
+
* for await (const entry of client.services.streamLogs(teamId, serviceId, { signal: ac.signal })) {
|
|
406
|
+
* console.log(entry.message);
|
|
407
|
+
* }
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
streamLogs(teamId: number, serviceId: string, options?: StreamLogsOptions): AsyncGenerator<LogEntry>;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
interface HostStackOptions {
|
|
414
|
+
/** Your HostStack API key (hs_live_... or hs_test_...). */
|
|
415
|
+
apiKey: string;
|
|
416
|
+
/** Base URL of the HostStack API. Defaults to https://api.hoststack.dev */
|
|
417
|
+
baseUrl?: string;
|
|
418
|
+
}
|
|
419
|
+
declare class HostStack {
|
|
420
|
+
private apiKey;
|
|
421
|
+
private baseUrl;
|
|
422
|
+
/** Manage projects. */
|
|
423
|
+
readonly projects: ProjectsResource;
|
|
424
|
+
/** Manage services (web, worker, cron). */
|
|
425
|
+
readonly services: ServicesResource;
|
|
426
|
+
/** Trigger and manage deployments. */
|
|
427
|
+
readonly deploys: DeploysResource;
|
|
428
|
+
/** Manage databases (Postgres, Redis). */
|
|
429
|
+
readonly databases: DatabasesResource;
|
|
430
|
+
/** Manage custom domains. */
|
|
431
|
+
readonly domains: DomainsResource;
|
|
432
|
+
/** Manage service environment variables. */
|
|
433
|
+
readonly envVars: EnvVarsResource;
|
|
434
|
+
/** Manage cron job executions. */
|
|
435
|
+
readonly cron: CronResource;
|
|
436
|
+
constructor(options: HostStackOptions);
|
|
437
|
+
/**
|
|
438
|
+
* Make an authenticated request to the HostStack API.
|
|
439
|
+
* Used internally by resource classes. Can also be used for custom API calls.
|
|
440
|
+
*/
|
|
441
|
+
request<T>(method: string, path: string, body?: unknown): Promise<T>;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
declare class HostStackError extends Error {
|
|
445
|
+
readonly statusCode: number;
|
|
446
|
+
constructor(statusCode: number, message: string);
|
|
447
|
+
}
|
|
448
|
+
declare class AuthenticationError extends HostStackError {
|
|
449
|
+
constructor(message?: string);
|
|
450
|
+
}
|
|
451
|
+
declare class NotFoundError extends HostStackError {
|
|
452
|
+
constructor(message?: string);
|
|
453
|
+
}
|
|
454
|
+
declare class RateLimitError extends HostStackError {
|
|
455
|
+
constructor(message?: string);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Standard pagination parameters for list requests.
|
|
460
|
+
*/
|
|
461
|
+
interface PaginationParams {
|
|
462
|
+
/** Maximum number of items to return. */
|
|
463
|
+
limit?: number;
|
|
464
|
+
/** Number of items to skip. */
|
|
465
|
+
offset?: number;
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* A paginated response wrapper.
|
|
469
|
+
*/
|
|
470
|
+
interface PaginatedResponse<T> {
|
|
471
|
+
items: T[];
|
|
472
|
+
total: number;
|
|
473
|
+
limit: number;
|
|
474
|
+
offset: number;
|
|
475
|
+
hasMore: boolean;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Builds a query string from pagination params.
|
|
479
|
+
* Returns an empty string if no params are set.
|
|
480
|
+
*/
|
|
481
|
+
declare function buildPaginationQuery(params?: PaginationParams): string;
|
|
482
|
+
/**
|
|
483
|
+
* Wraps a plain array result into a PaginatedResponse.
|
|
484
|
+
* Useful when the API returns a flat array without pagination metadata.
|
|
485
|
+
*/
|
|
486
|
+
declare function wrapArray<T>(items: T[], params?: PaginationParams): PaginatedResponse<T>;
|
|
487
|
+
|
|
488
|
+
export { type ActivityLogEntry, type AddDomainInput, AuthenticationError, type BulkSetEnvVarsInput, type CreateDatabaseInput, type CreateEnvVarInput, type CreateProjectInput, type CreateServiceInput, type CronExecution, type Database, type DatabaseCredentials, type Deploy, type Domain, type EnvVar, HostStack, HostStackError, type HostStackOptions, type LogEntry$1 as LogEntry, type MeResponse, NotFoundError, type PaginatedResponse, type PaginationParams, type Project, RateLimitError, type Service, type ServiceConfig, type ServiceMetrics, type StreamLogsOptions, type Team, type TriggerDeployInput, type UpdateDatabaseInput, type UpdateDomainInput, type UpdateEnvVarInput, type UpdateProjectInput, type UpdateServiceConfigInput, type UpdateServiceInput, type User, buildPaginationQuery, wrapArray };
|