@sylphx/management 0.1.0 → 0.2.1
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/CHANGELOG.md +88 -0
- package/LICENSE +21 -0
- package/README.md +157 -101
- package/dist/admin.d.ts +168 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +123 -0
- package/dist/adminBootstrap.d.ts +46 -0
- package/dist/adminBootstrap.d.ts.map +1 -0
- package/dist/adminBootstrap.js +33 -0
- package/dist/adminBuilds.d.ts +72 -0
- package/dist/adminBuilds.d.ts.map +1 -0
- package/dist/adminBuilds.js +29 -0
- package/dist/adminEnvServices.d.ts +41 -0
- package/dist/adminEnvServices.d.ts.map +1 -0
- package/dist/adminEnvServices.js +22 -0
- package/dist/adminRateLimits.d.ts +61 -0
- package/dist/adminRateLimits.d.ts.map +1 -0
- package/dist/adminRateLimits.js +44 -0
- package/dist/adminReconcile.d.ts +45 -0
- package/dist/adminReconcile.d.ts.map +1 -0
- package/dist/adminReconcile.js +20 -0
- package/dist/adminResources.d.ts +97 -0
- package/dist/adminResources.d.ts.map +1 -0
- package/dist/adminResources.js +40 -0
- package/dist/adminSecrets.d.ts +60 -0
- package/dist/adminSecrets.d.ts.map +1 -0
- package/dist/adminSecrets.js +43 -0
- package/dist/adminTenants.d.ts +41 -0
- package/dist/adminTenants.d.ts.map +1 -0
- package/dist/adminTenants.js +29 -0
- package/dist/ai.d.ts +148 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +29 -0
- package/dist/analytics.d.ts +49 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +23 -0
- package/dist/auth.d.ts +39 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +27 -0
- package/dist/authSettings.d.ts +71 -0
- package/dist/authSettings.d.ts.map +1 -0
- package/dist/authSettings.js +39 -0
- package/dist/backups.d.ts +66 -0
- package/dist/backups.d.ts.map +1 -0
- package/dist/backups.js +32 -0
- package/dist/billing.d.ts +105 -0
- package/dist/billing.d.ts.map +1 -0
- package/dist/billing.js +42 -0
- package/dist/billingSettings.d.ts +78 -0
- package/dist/billingSettings.d.ts.map +1 -0
- package/dist/billingSettings.js +54 -0
- package/dist/branchDatabases.d.ts +53 -0
- package/dist/branchDatabases.d.ts.map +1 -0
- package/dist/branchDatabases.js +38 -0
- package/dist/certs.d.ts +63 -0
- package/dist/certs.d.ts.map +1 -0
- package/dist/certs.js +28 -0
- package/dist/ciSettings.d.ts +77 -0
- package/dist/ciSettings.d.ts.map +1 -0
- package/dist/ciSettings.js +41 -0
- package/dist/client.d.ts +36 -38
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +32 -90
- package/dist/consent.d.ts +111 -0
- package/dist/consent.d.ts.map +1 -0
- package/dist/consent.js +35 -0
- package/dist/databases.d.ts +17 -0
- package/dist/databases.d.ts.map +1 -0
- package/dist/databases.js +32 -0
- package/dist/deployments.d.ts +22 -0
- package/dist/deployments.d.ts.map +1 -0
- package/dist/deployments.js +39 -0
- package/dist/domains.d.ts +26 -0
- package/dist/domains.d.ts.map +1 -0
- package/dist/domains.js +39 -0
- package/dist/edgeDeployments.d.ts +43 -0
- package/dist/edgeDeployments.d.ts.map +1 -0
- package/dist/edgeDeployments.js +32 -0
- package/dist/email.d.ts +45 -0
- package/dist/email.d.ts.map +1 -0
- package/dist/email.js +21 -0
- package/dist/engagement.d.ts +100 -0
- package/dist/engagement.d.ts.map +1 -0
- package/dist/engagement.js +28 -0
- package/dist/envVars.d.ts +17 -0
- package/dist/envVars.d.ts.map +1 -0
- package/dist/envVars.js +34 -0
- package/dist/environments.d.ts +41 -0
- package/dist/environments.d.ts.map +1 -0
- package/dist/environments.js +54 -0
- package/dist/errors.d.ts +8 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -2
- package/dist/experiments.d.ts +80 -0
- package/dist/experiments.d.ts.map +1 -0
- package/dist/experiments.js +23 -0
- package/dist/flags.d.ts +85 -0
- package/dist/flags.d.ts.map +1 -0
- package/dist/flags.js +25 -0
- package/dist/functions.d.ts +39 -0
- package/dist/functions.d.ts.map +1 -0
- package/dist/functions.js +40 -0
- package/dist/github.d.ts +33 -0
- package/dist/github.d.ts.map +1 -0
- package/dist/github.js +22 -0
- package/dist/http.d.ts +49 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +97 -0
- package/dist/index.d.ts +85 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -20
- package/dist/kv.d.ts +66 -0
- package/dist/kv.d.ts.map +1 -0
- package/dist/kv.js +36 -0
- package/dist/logs.d.ts +14 -0
- package/dist/logs.d.ts.map +1 -0
- package/dist/logs.js +17 -0
- package/dist/management.d.ts +55 -0
- package/dist/management.d.ts.map +1 -0
- package/dist/management.js +31 -0
- package/dist/monitoring.d.ts +65 -0
- package/dist/monitoring.d.ts.map +1 -0
- package/dist/monitoring.js +29 -0
- package/dist/newsletter.d.ts +279 -0
- package/dist/newsletter.d.ts.map +1 -0
- package/dist/newsletter.js +98 -0
- package/dist/notifications.d.ts +30 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/notifications.js +19 -0
- package/dist/oidc.d.ts +46 -0
- package/dist/oidc.d.ts.map +1 -0
- package/dist/oidc.js +25 -0
- package/dist/organizations.d.ts +24 -0
- package/dist/organizations.d.ts.map +1 -0
- package/dist/organizations.js +42 -0
- package/dist/plans.d.ts +66 -0
- package/dist/plans.d.ts.map +1 -0
- package/dist/plans.js +42 -0
- package/dist/privacy.d.ts +138 -0
- package/dist/privacy.d.ts.map +1 -0
- package/dist/privacy.js +41 -0
- package/dist/projects.d.ts +14 -0
- package/dist/projects.d.ts.map +1 -0
- package/dist/projects.js +22 -0
- package/dist/realtime.d.ts +33 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +19 -0
- package/dist/referrals.d.ts +100 -0
- package/dist/referrals.d.ts.map +1 -0
- package/dist/referrals.js +33 -0
- package/dist/refresh.d.ts +44 -0
- package/dist/refresh.d.ts.map +1 -0
- package/dist/refresh.js +33 -0
- package/dist/remoteConfig.d.ts +15 -0
- package/dist/remoteConfig.d.ts.map +1 -0
- package/dist/remoteConfig.js +35 -0
- package/dist/resourceBindings.d.ts +19 -0
- package/dist/resourceBindings.d.ts.map +1 -0
- package/dist/resourceBindings.js +24 -0
- package/dist/runners.d.ts +60 -0
- package/dist/runners.d.ts.map +1 -0
- package/dist/runners.js +17 -0
- package/dist/saml.d.ts +44 -0
- package/dist/saml.d.ts.map +1 -0
- package/dist/saml.js +77 -0
- package/dist/sandboxes.d.ts +15 -0
- package/dist/sandboxes.d.ts.map +1 -0
- package/dist/sandboxes.js +18 -0
- package/dist/search.d.ts +66 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +29 -0
- package/dist/secrets.d.ts +50 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.js +61 -0
- package/dist/security.d.ts +58 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +49 -0
- package/dist/serviceTokenRequests.d.ts +71 -0
- package/dist/serviceTokenRequests.d.ts.map +1 -0
- package/dist/serviceTokenRequests.js +43 -0
- package/dist/serviceTokens.d.ts +65 -0
- package/dist/serviceTokens.d.ts.map +1 -0
- package/dist/serviceTokens.js +22 -0
- package/dist/services.d.ts +10 -0
- package/dist/services.d.ts.map +1 -0
- package/dist/services.js +15 -0
- package/dist/sessionReplay.d.ts +116 -0
- package/dist/sessionReplay.d.ts.map +1 -0
- package/dist/sessionReplay.js +29 -0
- package/dist/storage.d.ts +12 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +10 -0
- package/dist/tasks.d.ts +29 -0
- package/dist/tasks.d.ts.map +1 -0
- package/dist/tasks.js +29 -0
- package/dist/types.d.ts +59 -155
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +17 -3
- package/dist/user.d.ts +99 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +58 -0
- package/dist/users.d.ts +9 -0
- package/dist/users.d.ts.map +1 -0
- package/dist/users.js +11 -0
- package/dist/volumes.d.ts +16 -0
- package/dist/volumes.d.ts.map +1 -0
- package/dist/volumes.js +9 -0
- package/dist/webhooks.d.ts +77 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +27 -0
- package/package.json +194 -5
- package/dist/request.d.ts +0 -5
- package/dist/request.d.ts.map +0 -1
- package/dist/request.js +0 -1
- package/dist/resources/config.d.ts +0 -30
- package/dist/resources/config.d.ts.map +0 -1
- package/dist/resources/config.js +0 -62
- package/dist/resources/databases.d.ts +0 -26
- package/dist/resources/databases.d.ts.map +0 -1
- package/dist/resources/databases.js +0 -29
- package/dist/resources/deployments.d.ts +0 -24
- package/dist/resources/deployments.d.ts.map +0 -1
- package/dist/resources/deployments.js +0 -30
- package/dist/resources/domains.d.ts +0 -30
- package/dist/resources/domains.d.ts.map +0 -1
- package/dist/resources/domains.js +0 -46
- package/dist/resources/env-vars.d.ts +0 -19
- package/dist/resources/env-vars.d.ts.map +0 -1
- package/dist/resources/env-vars.js +0 -30
- package/dist/resources/environments.d.ts +0 -16
- package/dist/resources/environments.d.ts.map +0 -1
- package/dist/resources/environments.js +0 -24
- package/dist/resources/logs.d.ts +0 -13
- package/dist/resources/logs.d.ts.map +0 -1
- package/dist/resources/logs.js +0 -20
- package/dist/resources/org.d.ts +0 -15
- package/dist/resources/org.d.ts.map +0 -1
- package/dist/resources/org.js +0 -25
- package/dist/resources/projects.d.ts +0 -19
- package/dist/resources/projects.d.ts.map +0 -1
- package/dist/resources/projects.js +0 -19
- package/dist/resources/resources.d.ts +0 -26
- package/dist/resources/resources.d.ts.map +0 -1
- package/dist/resources/resources.js +0 -32
- package/dist/resources/services.d.ts +0 -21
- package/dist/resources/services.d.ts.map +0 -1
- package/dist/resources/services.js +0 -30
- package/dist/resources/storage.d.ts +0 -21
- package/dist/resources/storage.d.ts.map +0 -1
- package/dist/resources/storage.js +0 -25
- package/dist/resources/tasks.d.ts +0 -42
- package/dist/resources/tasks.d.ts.map +0 -1
- package/dist/resources/tasks.js +0 -49
- package/dist/resources/user.d.ts +0 -9
- package/dist/resources/user.d.ts.map +0 -1
- package/dist/resources/user.js +0 -10
- package/dist/resources/volumes.d.ts +0 -20
- package/dist/resources/volumes.d.ts.map +0 -1
- package/dist/resources/volumes.js +0 -19
package/dist/types.d.ts
CHANGED
|
@@ -1,32 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
export interface DeployResult {
|
|
25
|
-
deploymentId?: string;
|
|
26
|
-
status: string;
|
|
27
|
-
environment?: string;
|
|
28
|
-
message?: string;
|
|
29
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Domain types shared across capability modules.
|
|
3
|
+
*
|
|
4
|
+
* ADR-084 Wave 1 entities — **Project, Environment, Database, EnvVar,
|
|
5
|
+
* Domain* (Domain / DomainHostname / DomainEmailBinding / DnsRecord /
|
|
6
|
+
* HostnameInstruction), Deployment* (DeploymentStatus / DeployResult /
|
|
7
|
+
* DeploymentDetail / PromoteResult), Secret* (SecretDetail / SecretListItem
|
|
8
|
+
* / SecretVersion / EnvironmentRef), User (WhoAmI), Organization (Org /
|
|
9
|
+
* OrgMember)** — are re-exported **type-only** from `@sylphx/contract`
|
|
10
|
+
* (the framework-free Effect Schema SSOT). Hand-written types are gone; if
|
|
11
|
+
* wire shape drifts, fix it at the contract, not here.
|
|
12
|
+
*
|
|
13
|
+
* Entities whose contract package hasn't landed yet (Service, Volume,
|
|
14
|
+
* StorageResource, ConfigEntry, Task, Sandbox*, SylphxFunction*,
|
|
15
|
+
* ResourceBinding) keep their hand-written types below — they graduate as
|
|
16
|
+
* later ADR-084 waves ship.
|
|
17
|
+
*/
|
|
18
|
+
export type { DeploymentDetail, DeploymentEnvironmentStatus as DeploymentStatusEnv, DeploymentStatus, DeployResult, DnsRecord, Domain, Domain as DomainResult, DomainEmailBinding, DomainHostname, Environment, EnvVar, HostnameInstruction, Organization as Org, OrgMember, PromoteResult, } from '@sylphx/contract';
|
|
19
|
+
import type { Project } from '@sylphx/contract';
|
|
20
|
+
export type { Project };
|
|
21
|
+
/** @deprecated Use Project instead */
|
|
22
|
+
export type App = Project;
|
|
23
|
+
export type { Database, WhoAmI } from '@sylphx/contract';
|
|
30
24
|
export interface LogEntry {
|
|
31
25
|
id?: string;
|
|
32
26
|
level: 'info' | 'warn' | 'error' | 'success';
|
|
@@ -37,99 +31,6 @@ export interface LogStream {
|
|
|
37
31
|
url: string;
|
|
38
32
|
token: string;
|
|
39
33
|
}
|
|
40
|
-
export interface EnvVar {
|
|
41
|
-
key: string;
|
|
42
|
-
value: string;
|
|
43
|
-
isSecret?: boolean;
|
|
44
|
-
secret?: boolean;
|
|
45
|
-
}
|
|
46
|
-
export interface DnsRecord {
|
|
47
|
-
type: 'MX' | 'TXT' | 'CNAME' | 'A';
|
|
48
|
-
name: string;
|
|
49
|
-
value: string;
|
|
50
|
-
priority?: number;
|
|
51
|
-
ttl: number;
|
|
52
|
-
status?: 'pending' | 'verified';
|
|
53
|
-
description?: string;
|
|
54
|
-
}
|
|
55
|
-
export interface HostnameInstruction {
|
|
56
|
-
type: 'A' | 'CNAME';
|
|
57
|
-
name: string;
|
|
58
|
-
value: string;
|
|
59
|
-
ttl: number;
|
|
60
|
-
}
|
|
61
|
-
export interface DomainHostname {
|
|
62
|
-
id: string;
|
|
63
|
-
domainId: string;
|
|
64
|
-
hostname: string;
|
|
65
|
-
isPrimary: boolean;
|
|
66
|
-
redirectTo: string | null;
|
|
67
|
-
dnsStatus: 'pending' | 'active' | 'error';
|
|
68
|
-
instruction: HostnameInstruction;
|
|
69
|
-
verifiedAt: string | null;
|
|
70
|
-
lastCheckError: string | null;
|
|
71
|
-
createdAt: string;
|
|
72
|
-
}
|
|
73
|
-
export interface DomainEmailBinding {
|
|
74
|
-
id: string;
|
|
75
|
-
domainId: string;
|
|
76
|
-
dnsStatus: 'pending' | 'verifying' | 'verified' | 'failed';
|
|
77
|
-
stalwartLoaded: boolean;
|
|
78
|
-
defaultFromEmail: string | null;
|
|
79
|
-
defaultFromName: string | null;
|
|
80
|
-
records: DnsRecord[];
|
|
81
|
-
verifiedAt: string | null;
|
|
82
|
-
verificationError: string | null;
|
|
83
|
-
createdAt: string;
|
|
84
|
-
}
|
|
85
|
-
export interface DomainResult {
|
|
86
|
-
id: string;
|
|
87
|
-
apexDomain: string;
|
|
88
|
-
hostnames: DomainHostname[];
|
|
89
|
-
email: DomainEmailBinding | null;
|
|
90
|
-
createdAt: string;
|
|
91
|
-
updatedAt: string;
|
|
92
|
-
}
|
|
93
|
-
/** @deprecated Use DomainHostname instead */
|
|
94
|
-
export interface Domain {
|
|
95
|
-
domain: string;
|
|
96
|
-
status?: string;
|
|
97
|
-
ssl?: boolean;
|
|
98
|
-
}
|
|
99
|
-
export interface Database {
|
|
100
|
-
id: string;
|
|
101
|
-
name: string;
|
|
102
|
-
slug?: string;
|
|
103
|
-
status: string;
|
|
104
|
-
tier: string;
|
|
105
|
-
host?: string;
|
|
106
|
-
port?: number;
|
|
107
|
-
dbUser?: string;
|
|
108
|
-
dbName?: string;
|
|
109
|
-
connectionString?: string;
|
|
110
|
-
storageGb?: number;
|
|
111
|
-
env?: string;
|
|
112
|
-
provider?: string;
|
|
113
|
-
backupRetentionDays?: number;
|
|
114
|
-
createdAt?: string;
|
|
115
|
-
}
|
|
116
|
-
export interface Project {
|
|
117
|
-
id: string;
|
|
118
|
-
slug: string;
|
|
119
|
-
name: string;
|
|
120
|
-
ref?: string;
|
|
121
|
-
orgId?: string;
|
|
122
|
-
environments?: Array<{
|
|
123
|
-
id: string;
|
|
124
|
-
slug?: string;
|
|
125
|
-
name: string;
|
|
126
|
-
envType?: string;
|
|
127
|
-
isActive?: boolean;
|
|
128
|
-
publicKey?: string;
|
|
129
|
-
}>;
|
|
130
|
-
}
|
|
131
|
-
/** @deprecated Use Project instead */
|
|
132
|
-
export type App = Project;
|
|
133
34
|
export interface Service {
|
|
134
35
|
id: string;
|
|
135
36
|
name: string;
|
|
@@ -218,7 +119,7 @@ export interface Task {
|
|
|
218
119
|
export interface ResourceBinding {
|
|
219
120
|
id: string;
|
|
220
121
|
resourceId: string;
|
|
221
|
-
|
|
122
|
+
projectEnvironmentId: string;
|
|
222
123
|
resourceType: string;
|
|
223
124
|
role: string;
|
|
224
125
|
envName?: string;
|
|
@@ -226,44 +127,47 @@ export interface ResourceBinding {
|
|
|
226
127
|
projectSlug?: string;
|
|
227
128
|
createdAt?: string;
|
|
228
129
|
}
|
|
229
|
-
export interface
|
|
130
|
+
export interface SandboxSummary {
|
|
230
131
|
id: string;
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
billingEmail?: string | null;
|
|
235
|
-
createdAt?: string;
|
|
132
|
+
status: string;
|
|
133
|
+
image: string;
|
|
134
|
+
endpoint: string | null;
|
|
236
135
|
}
|
|
237
|
-
export interface
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
role: string;
|
|
243
|
-
joinedAt: string;
|
|
136
|
+
export interface Sandbox extends SandboxSummary {
|
|
137
|
+
token: string | null;
|
|
138
|
+
createdAt: string;
|
|
139
|
+
startedAt: string | null;
|
|
140
|
+
expiresAt: string | null;
|
|
244
141
|
}
|
|
245
|
-
export interface
|
|
246
|
-
|
|
247
|
-
id: string;
|
|
248
|
-
email: string;
|
|
249
|
-
name: string;
|
|
250
|
-
};
|
|
251
|
-
orgs: Org[];
|
|
142
|
+
export interface SandboxCreateResult extends SandboxSummary {
|
|
143
|
+
token: string | null;
|
|
252
144
|
}
|
|
253
|
-
export interface
|
|
254
|
-
id: string;
|
|
145
|
+
export interface SylphxFunctionSummary {
|
|
255
146
|
name: string;
|
|
256
|
-
|
|
257
|
-
|
|
147
|
+
status: string;
|
|
148
|
+
version: number;
|
|
149
|
+
runtime?: string | null;
|
|
150
|
+
memoryMb?: number | null;
|
|
151
|
+
timeoutSeconds?: number | null;
|
|
152
|
+
invocationCount?: number;
|
|
153
|
+
errorCount?: number;
|
|
258
154
|
url?: string;
|
|
259
155
|
}
|
|
260
|
-
export interface
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
156
|
+
export interface SylphxFunction extends SylphxFunctionSummary {
|
|
157
|
+
description?: string | null;
|
|
158
|
+
requireAuth?: boolean;
|
|
159
|
+
lastInvokedAt?: string | null;
|
|
160
|
+
}
|
|
161
|
+
export interface SylphxFunctionDeployResult extends SylphxFunctionSummary {
|
|
162
|
+
/** Present when the server short-circuited because the codeHash was unchanged */
|
|
163
|
+
_unchanged?: boolean;
|
|
164
|
+
}
|
|
165
|
+
export interface SylphxFunctionInvocation {
|
|
166
|
+
id?: string;
|
|
167
|
+
createdAt: string;
|
|
168
|
+
status: 'success' | 'error' | 'timeout' | string;
|
|
169
|
+
statusCode: number | null;
|
|
170
|
+
durationMs: number | null;
|
|
171
|
+
errorMessage: string | null;
|
|
268
172
|
}
|
|
269
173
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Domain types shared across capability modules.
|
|
3
|
+
*
|
|
4
|
+
* ADR-084 Wave 1 entities — **Project, Environment, Database, EnvVar,
|
|
5
|
+
* Domain* (Domain / DomainHostname / DomainEmailBinding / DnsRecord /
|
|
6
|
+
* HostnameInstruction), Deployment* (DeploymentStatus / DeployResult /
|
|
7
|
+
* DeploymentDetail / PromoteResult), Secret* (SecretDetail / SecretListItem
|
|
8
|
+
* / SecretVersion / EnvironmentRef), User (WhoAmI), Organization (Org /
|
|
9
|
+
* OrgMember)** — are re-exported **type-only** from `@sylphx/contract`
|
|
10
|
+
* (the framework-free Effect Schema SSOT). Hand-written types are gone; if
|
|
11
|
+
* wire shape drifts, fix it at the contract, not here.
|
|
12
|
+
*
|
|
13
|
+
* Entities whose contract package hasn't landed yet (Service, Volume,
|
|
14
|
+
* StorageResource, ConfigEntry, Task, Sandbox*, SylphxFunction*,
|
|
15
|
+
* ResourceBinding) keep their hand-written types below — they graduate as
|
|
16
|
+
* later ADR-084 waves ship.
|
|
17
|
+
*/
|
|
4
18
|
export {};
|
package/dist/user.d.ts
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform user — the authenticated operator's profile, sessions, security
|
|
3
|
+
* posture, and GDPR export/erasure. Distinct from `users.ts` (which is the
|
|
4
|
+
* customer-managed end-user directory) and from `auth.ts` (credentials).
|
|
5
|
+
*
|
|
6
|
+
* Mirrors `apps/api/src/server/platform/routes/user.ts` — paths sourced
|
|
7
|
+
* from `@sylphx/contract` (`usersEndpoints`, mount `/user/*`).
|
|
8
|
+
*/
|
|
9
|
+
import type { Client } from './client.js';
|
|
10
|
+
export interface WhoAmI {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly email: string;
|
|
13
|
+
readonly role: string | null;
|
|
14
|
+
readonly orgId: string | null;
|
|
15
|
+
}
|
|
16
|
+
export declare const whoami: (client: Client) => Promise<WhoAmI>;
|
|
17
|
+
export interface PlatformProfile {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly email: string;
|
|
20
|
+
readonly name: string | null;
|
|
21
|
+
readonly avatarUrl: string | null;
|
|
22
|
+
readonly locale: string | null;
|
|
23
|
+
readonly timezone: string | null;
|
|
24
|
+
readonly createdAt: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const getProfile: (client: Client) => Promise<{
|
|
27
|
+
profile: PlatformProfile;
|
|
28
|
+
}>;
|
|
29
|
+
export interface UpdateProfileInput {
|
|
30
|
+
readonly name?: string;
|
|
31
|
+
readonly avatarUrl?: string;
|
|
32
|
+
readonly locale?: string;
|
|
33
|
+
readonly timezone?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare const updateProfile: (client: Client, body: UpdateProfileInput) => Promise<{
|
|
36
|
+
profile: PlatformProfile;
|
|
37
|
+
}>;
|
|
38
|
+
export interface SecurityPosture {
|
|
39
|
+
readonly passwordSet: boolean;
|
|
40
|
+
readonly mfaEnabled: boolean;
|
|
41
|
+
readonly passkeyCount: number;
|
|
42
|
+
readonly backupCodesRemaining: number;
|
|
43
|
+
readonly score: number;
|
|
44
|
+
}
|
|
45
|
+
export declare const getSecurity: (client: Client) => Promise<SecurityPosture>;
|
|
46
|
+
export declare const changePassword: (client: Client, body: {
|
|
47
|
+
readonly currentPassword: string;
|
|
48
|
+
readonly newPassword: string;
|
|
49
|
+
}) => Promise<{
|
|
50
|
+
success: boolean;
|
|
51
|
+
}>;
|
|
52
|
+
export interface ConnectedAccount {
|
|
53
|
+
readonly provider: string;
|
|
54
|
+
readonly externalId: string;
|
|
55
|
+
readonly email: string | null;
|
|
56
|
+
readonly connectedAt: string;
|
|
57
|
+
}
|
|
58
|
+
export declare const getConnectedAccounts: (client: Client) => Promise<{
|
|
59
|
+
accounts: readonly ConnectedAccount[];
|
|
60
|
+
}>;
|
|
61
|
+
export interface LoginHistoryEntry {
|
|
62
|
+
readonly id: string;
|
|
63
|
+
readonly at: string;
|
|
64
|
+
readonly ip: string | null;
|
|
65
|
+
readonly userAgent: string | null;
|
|
66
|
+
readonly success: boolean;
|
|
67
|
+
readonly method: string;
|
|
68
|
+
}
|
|
69
|
+
export declare const getLoginHistory: (client: Client) => Promise<{
|
|
70
|
+
history: readonly LoginHistoryEntry[];
|
|
71
|
+
}>;
|
|
72
|
+
export interface UserSession {
|
|
73
|
+
readonly id: string;
|
|
74
|
+
readonly createdAt: string;
|
|
75
|
+
readonly lastSeenAt: string;
|
|
76
|
+
readonly ip: string | null;
|
|
77
|
+
readonly userAgent: string | null;
|
|
78
|
+
readonly current: boolean;
|
|
79
|
+
}
|
|
80
|
+
export declare const getSessions: (client: Client) => Promise<{
|
|
81
|
+
sessions: readonly UserSession[];
|
|
82
|
+
}>;
|
|
83
|
+
export declare const revokeSession: (client: Client, sessionId: string) => Promise<{
|
|
84
|
+
success: boolean;
|
|
85
|
+
}>;
|
|
86
|
+
export declare const revokeAllSessions: (client: Client) => Promise<{
|
|
87
|
+
success: boolean;
|
|
88
|
+
count: number;
|
|
89
|
+
}>;
|
|
90
|
+
export declare const exportData: (client: Client) => Promise<{
|
|
91
|
+
downloadUrl: string;
|
|
92
|
+
expiresAt: string;
|
|
93
|
+
}>;
|
|
94
|
+
export declare const deleteAccount: (client: Client, body?: {
|
|
95
|
+
readonly confirmEmail: string;
|
|
96
|
+
}) => Promise<{
|
|
97
|
+
success: boolean;
|
|
98
|
+
}>;
|
|
99
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"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"}
|
package/dist/user.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform user — the authenticated operator's profile, sessions, security
|
|
3
|
+
* posture, and GDPR export/erasure. Distinct from `users.ts` (which is the
|
|
4
|
+
* customer-managed end-user directory) and from `auth.ts` (credentials).
|
|
5
|
+
*
|
|
6
|
+
* Mirrors `apps/api/src/server/platform/routes/user.ts` — paths sourced
|
|
7
|
+
* from `@sylphx/contract` (`usersEndpoints`, mount `/user/*`).
|
|
8
|
+
*/
|
|
9
|
+
import { usersEndpoints } from '@sylphx/contract';
|
|
10
|
+
import { interpolatePath, request } from './http.js';
|
|
11
|
+
export const whoami = (client) => {
|
|
12
|
+
const { method, path } = usersEndpoints.whoami;
|
|
13
|
+
return request(client, method, path);
|
|
14
|
+
};
|
|
15
|
+
export const getProfile = (client) => {
|
|
16
|
+
const { method, path } = usersEndpoints.getProfile;
|
|
17
|
+
return request(client, method, path);
|
|
18
|
+
};
|
|
19
|
+
export const updateProfile = (client, body) => {
|
|
20
|
+
const { method, path } = usersEndpoints.updateProfile;
|
|
21
|
+
return request(client, method, path, { body });
|
|
22
|
+
};
|
|
23
|
+
export const getSecurity = (client) => {
|
|
24
|
+
const { method, path } = usersEndpoints.getSecurity;
|
|
25
|
+
return request(client, method, path);
|
|
26
|
+
};
|
|
27
|
+
export const changePassword = (client, body) => {
|
|
28
|
+
const { method, path } = usersEndpoints.changePassword;
|
|
29
|
+
return request(client, method, path, { body });
|
|
30
|
+
};
|
|
31
|
+
export const getConnectedAccounts = (client) => {
|
|
32
|
+
const { method, path } = usersEndpoints.getConnectedAccounts;
|
|
33
|
+
return request(client, method, path);
|
|
34
|
+
};
|
|
35
|
+
export const getLoginHistory = (client) => {
|
|
36
|
+
const { method, path } = usersEndpoints.getLoginHistory;
|
|
37
|
+
return request(client, method, path);
|
|
38
|
+
};
|
|
39
|
+
export const getSessions = (client) => {
|
|
40
|
+
const { method, path } = usersEndpoints.getSessions;
|
|
41
|
+
return request(client, method, path);
|
|
42
|
+
};
|
|
43
|
+
export const revokeSession = (client, sessionId) => {
|
|
44
|
+
const { method, path } = usersEndpoints.revokeSession;
|
|
45
|
+
return request(client, method, interpolatePath(path, { sessionId }));
|
|
46
|
+
};
|
|
47
|
+
export const revokeAllSessions = (client) => {
|
|
48
|
+
const { method, path } = usersEndpoints.revokeAllSessions;
|
|
49
|
+
return request(client, method, path);
|
|
50
|
+
};
|
|
51
|
+
export const exportData = (client) => {
|
|
52
|
+
const { method, path } = usersEndpoints.exportData;
|
|
53
|
+
return request(client, method, path);
|
|
54
|
+
};
|
|
55
|
+
export const deleteAccount = (client, body = { confirmEmail: '' }) => {
|
|
56
|
+
const { method, path } = usersEndpoints.deleteAccount;
|
|
57
|
+
return request(client, method, path, { body });
|
|
58
|
+
};
|
package/dist/users.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Current user — `whoami` returns the authenticated principal + their orgs.
|
|
3
|
+
*
|
|
4
|
+
* Wire shape sourced from `@sylphx/contract` (ADR-084).
|
|
5
|
+
*/
|
|
6
|
+
import type { WhoAmI } from '@sylphx/contract';
|
|
7
|
+
import type { Client } from './client.js';
|
|
8
|
+
export declare const whoami: (client: Client) => Promise<WhoAmI>;
|
|
9
|
+
//# sourceMappingURL=users.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../src/users.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,CAGrD,CAAA"}
|
package/dist/users.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Current user — `whoami` returns the authenticated principal + their orgs.
|
|
3
|
+
*
|
|
4
|
+
* Wire shape sourced from `@sylphx/contract` (ADR-084).
|
|
5
|
+
*/
|
|
6
|
+
import { usersEndpoints } from '@sylphx/contract';
|
|
7
|
+
import { request } from './http.js';
|
|
8
|
+
export const whoami = (client) => {
|
|
9
|
+
const { method, path } = usersEndpoints.whoami;
|
|
10
|
+
return request(client, method, path);
|
|
11
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Persistent volumes — list / create / delete. */
|
|
2
|
+
import type { Client } from './client.js';
|
|
3
|
+
import type { Volume } from './types.js';
|
|
4
|
+
export declare const list: (client: Client, projectId: string) => Promise<Volume[]>;
|
|
5
|
+
export interface CreateInput {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly sizeGb: number;
|
|
8
|
+
readonly accessMode?: 'ReadWriteOnce' | 'ReadWriteMany';
|
|
9
|
+
readonly mountPath?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const create: (client: Client, projectId: string, input: CreateInput) => Promise<{
|
|
12
|
+
volume: Volume;
|
|
13
|
+
}>;
|
|
14
|
+
declare const _delete: (client: Client, projectId: string, volId: string) => Promise<void>;
|
|
15
|
+
export { _delete as delete };
|
|
16
|
+
//# sourceMappingURL=volumes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volumes.d.ts","sourceRoot":"","sources":["../src/volumes.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,IAAI,GAAU,QAAQ,MAAM,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAO9E,CAAA;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,eAAe,CAAA;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,MAAM,GAClB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,OAAO,WAAW,KAChB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CACkE,CAAA;AAE/F,QAAA,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAK9E,CAAA;AACF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAA"}
|
package/dist/volumes.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Persistent volumes — list / create / delete. */
|
|
2
|
+
import { request } from './http.js';
|
|
3
|
+
export const list = async (client, projectId) => {
|
|
4
|
+
const res = await request(client, 'GET', `/projects/${encodeURIComponent(projectId)}/volumes`);
|
|
5
|
+
return Array.isArray(res) ? res : (res.volumes ?? []);
|
|
6
|
+
};
|
|
7
|
+
export const create = (client, projectId, input) => request(client, 'POST', `/projects/${encodeURIComponent(projectId)}/volumes`, { body: input });
|
|
8
|
+
const _delete = (client, projectId, volId) => request(client, 'DELETE', `/projects/${encodeURIComponent(projectId)}/volumes/${encodeURIComponent(volId)}`);
|
|
9
|
+
export { _delete as delete };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Outbound webhook configuration + delivery history.
|
|
3
|
+
*
|
|
4
|
+
* GET /webhooks/projects/:id — config (all envs)
|
|
5
|
+
* PATCH /webhooks/projects/:id — update one env's wiring
|
|
6
|
+
* GET /webhooks/projects/:id/deliveries?... — paginated deliveries
|
|
7
|
+
* POST /webhooks/:deliveryId/replay — replay a past delivery
|
|
8
|
+
*
|
|
9
|
+
* Webhook secrets are AES-256-GCM encrypted server-side (ADR Security §4)
|
|
10
|
+
* and never surfaced to the client — `hasSecret` + `webhookSecretPrefix`
|
|
11
|
+
* are the only fields exposed.
|
|
12
|
+
*/
|
|
13
|
+
import type { Client } from './client.js';
|
|
14
|
+
export interface WebhookAppInfo {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly slug: string;
|
|
18
|
+
}
|
|
19
|
+
export interface WebhookEnvironment {
|
|
20
|
+
readonly id: string;
|
|
21
|
+
readonly name: string;
|
|
22
|
+
readonly webhookUrl: string | null;
|
|
23
|
+
readonly hasSecret: boolean;
|
|
24
|
+
readonly updatedAt: string;
|
|
25
|
+
}
|
|
26
|
+
export interface WebhookConfig {
|
|
27
|
+
readonly app: WebhookAppInfo;
|
|
28
|
+
readonly environments: readonly WebhookEnvironment[];
|
|
29
|
+
readonly supportedEvents: readonly string[];
|
|
30
|
+
}
|
|
31
|
+
export declare const getConfig: (client: Client, projectId: string) => Promise<WebhookConfig>;
|
|
32
|
+
export interface UpdateConfigInput {
|
|
33
|
+
readonly environmentId: string;
|
|
34
|
+
readonly webhookUrl?: string | null;
|
|
35
|
+
readonly regenerateSecret?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface UpdateConfigResult {
|
|
38
|
+
readonly success: boolean;
|
|
39
|
+
readonly webhookUrl: string | null;
|
|
40
|
+
readonly secretGenerated: boolean;
|
|
41
|
+
readonly webhookSecretPrefix?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare const updateConfig: (client: Client, projectId: string, input: UpdateConfigInput) => Promise<UpdateConfigResult>;
|
|
44
|
+
export interface WebhookDelivery {
|
|
45
|
+
readonly id: string;
|
|
46
|
+
readonly event: string;
|
|
47
|
+
readonly url: string;
|
|
48
|
+
readonly status: string;
|
|
49
|
+
readonly retryCount: number;
|
|
50
|
+
readonly responseStatus: number | null;
|
|
51
|
+
readonly error: string | null;
|
|
52
|
+
readonly createdAt: string;
|
|
53
|
+
readonly queuedAt: string | null;
|
|
54
|
+
readonly deliveredAt: string | null;
|
|
55
|
+
readonly failedAt: string | null;
|
|
56
|
+
}
|
|
57
|
+
export interface ListDeliveriesOptions {
|
|
58
|
+
readonly status?: string;
|
|
59
|
+
readonly event?: string;
|
|
60
|
+
readonly environmentId?: string;
|
|
61
|
+
readonly limit?: number;
|
|
62
|
+
readonly offset?: number;
|
|
63
|
+
}
|
|
64
|
+
export interface ListDeliveriesResult {
|
|
65
|
+
readonly deliveries: readonly WebhookDelivery[];
|
|
66
|
+
readonly total: number;
|
|
67
|
+
readonly limit: number;
|
|
68
|
+
readonly offset: number;
|
|
69
|
+
}
|
|
70
|
+
export declare const listDeliveries: (client: Client, projectId: string, options?: ListDeliveriesOptions) => Promise<ListDeliveriesResult>;
|
|
71
|
+
export interface ReplayResult {
|
|
72
|
+
readonly success: boolean;
|
|
73
|
+
readonly newDeliveryId: string | null;
|
|
74
|
+
readonly messageId: string | null;
|
|
75
|
+
}
|
|
76
|
+
export declare const replayDelivery: (client: Client, deliveryId: string) => Promise<ReplayResult>;
|
|
77
|
+
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
|
package/dist/webhooks.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Outbound webhook configuration + delivery history.
|
|
3
|
+
*
|
|
4
|
+
* GET /webhooks/projects/:id — config (all envs)
|
|
5
|
+
* PATCH /webhooks/projects/:id — update one env's wiring
|
|
6
|
+
* GET /webhooks/projects/:id/deliveries?... — paginated deliveries
|
|
7
|
+
* POST /webhooks/:deliveryId/replay — replay a past delivery
|
|
8
|
+
*
|
|
9
|
+
* Webhook secrets are AES-256-GCM encrypted server-side (ADR Security §4)
|
|
10
|
+
* and never surfaced to the client — `hasSecret` + `webhookSecretPrefix`
|
|
11
|
+
* are the only fields exposed.
|
|
12
|
+
*/
|
|
13
|
+
import { request } from './http.js';
|
|
14
|
+
export const getConfig = (client, projectId) => request(client, 'GET', `/webhooks/projects/${encodeURIComponent(projectId)}`);
|
|
15
|
+
export const updateConfig = (client, projectId, input) => request(client, 'PATCH', `/webhooks/projects/${encodeURIComponent(projectId)}`, {
|
|
16
|
+
body: input,
|
|
17
|
+
});
|
|
18
|
+
export const listDeliveries = (client, projectId, options) => request(client, 'GET', `/webhooks/projects/${encodeURIComponent(projectId)}/deliveries`, {
|
|
19
|
+
query: {
|
|
20
|
+
status: options?.status,
|
|
21
|
+
event: options?.event,
|
|
22
|
+
environmentId: options?.environmentId,
|
|
23
|
+
limit: String(options?.limit ?? 50),
|
|
24
|
+
offset: String(options?.offset ?? 0),
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
export const replayDelivery = (client, deliveryId) => request(client, 'POST', `/webhooks/${encodeURIComponent(deliveryId)}/replay`);
|