@sylphx/management 0.1.0 → 0.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/CHANGELOG.md +88 -0
- package/LICENSE +21 -0
- package/README.md +157 -101
- package/dist/admin.d.ts +141 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +96 -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 +28 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +71 -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/kv.d.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KV Admin (Console-plane operator surface).
|
|
3
|
+
*
|
|
4
|
+
* Distinct from the BaaS-plane `kv` namespace in `@sylphx/sdk` — that one
|
|
5
|
+
* is customer-app runtime data-plane (`sdk/kv/*`); this one is operator
|
|
6
|
+
* dashboard administration (`/kv/*` on the Platform API):
|
|
7
|
+
*
|
|
8
|
+
* GET /kv/status — service health for a customer project
|
|
9
|
+
* GET /kv — list keys (prefix/cursor/limit)
|
|
10
|
+
* GET /kv/stats — usage stats (count + bytes)
|
|
11
|
+
* GET /kv/:key — read a value as operator
|
|
12
|
+
* PUT /kv/:key — write a value as operator
|
|
13
|
+
* DELETE /kv/:key — delete a value as operator
|
|
14
|
+
*
|
|
15
|
+
* Always scoped to a customer project via the `projectId` query param.
|
|
16
|
+
* The BaaS `kv` namespace must NOT be confused with this surface — see
|
|
17
|
+
* ADR-083 plane discipline.
|
|
18
|
+
*/
|
|
19
|
+
import type { Client } from './client.js';
|
|
20
|
+
export interface KvStatus {
|
|
21
|
+
readonly ready: boolean;
|
|
22
|
+
readonly backend: string | null;
|
|
23
|
+
readonly error?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface KvKeyListEntry {
|
|
26
|
+
readonly key: string;
|
|
27
|
+
readonly bytes: number;
|
|
28
|
+
readonly ttlSeconds: number | null;
|
|
29
|
+
readonly updatedAt: string;
|
|
30
|
+
}
|
|
31
|
+
export interface KvListResult {
|
|
32
|
+
readonly keys: readonly KvKeyListEntry[];
|
|
33
|
+
readonly cursor: string | null;
|
|
34
|
+
}
|
|
35
|
+
export interface KvStats {
|
|
36
|
+
readonly count: number;
|
|
37
|
+
readonly bytes: number;
|
|
38
|
+
}
|
|
39
|
+
export interface KvGetResult {
|
|
40
|
+
readonly value: string | null;
|
|
41
|
+
readonly ttlSeconds: number | null;
|
|
42
|
+
readonly updatedAt: string | null;
|
|
43
|
+
}
|
|
44
|
+
export interface KvSetInput {
|
|
45
|
+
readonly value: string;
|
|
46
|
+
readonly ttlSeconds?: number | null;
|
|
47
|
+
}
|
|
48
|
+
export interface KvSetResult {
|
|
49
|
+
readonly key: string;
|
|
50
|
+
readonly updatedAt: string;
|
|
51
|
+
}
|
|
52
|
+
export declare const getStatus: (client: Client, projectId: string) => Promise<KvStatus>;
|
|
53
|
+
export interface ListOptions {
|
|
54
|
+
readonly prefix?: string;
|
|
55
|
+
readonly cursor?: string;
|
|
56
|
+
readonly limit?: number;
|
|
57
|
+
}
|
|
58
|
+
export declare const list: (client: Client, projectId: string, options?: ListOptions) => Promise<KvListResult>;
|
|
59
|
+
export declare const getStats: (client: Client, projectId: string) => Promise<KvStats>;
|
|
60
|
+
export declare const get: (client: Client, projectId: string, key: string) => Promise<KvGetResult>;
|
|
61
|
+
export declare const set: (client: Client, projectId: string, key: string, input: KvSetInput) => Promise<KvSetResult>;
|
|
62
|
+
declare const _delete: (client: Client, projectId: string, key: string) => Promise<{
|
|
63
|
+
success: boolean;
|
|
64
|
+
}>;
|
|
65
|
+
export { _delete as delete };
|
|
66
|
+
//# sourceMappingURL=kv.d.ts.map
|
package/dist/kv.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv.d.ts","sourceRoot":"","sources":["../src/kv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,QAAQ,CACf,CAAA;AAE/D,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,IAAI,GAChB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,UAAU,WAAW,KACnB,OAAO,CAAC,YAAY,CAQpB,CAAA;AAEH,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,OAAO,CACd,CAAA;AAE9D,eAAO,MAAM,GAAG,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,WAAW,CACL,CAAA;AAEnF,eAAO,MAAM,GAAG,GACf,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,KAAK,MAAM,EACX,OAAO,UAAU,KACf,OAAO,CAAC,WAAW,CAInB,CAAA;AAEH,QAAA,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CACR,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAA"}
|
package/dist/kv.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KV Admin (Console-plane operator surface).
|
|
3
|
+
*
|
|
4
|
+
* Distinct from the BaaS-plane `kv` namespace in `@sylphx/sdk` — that one
|
|
5
|
+
* is customer-app runtime data-plane (`sdk/kv/*`); this one is operator
|
|
6
|
+
* dashboard administration (`/kv/*` on the Platform API):
|
|
7
|
+
*
|
|
8
|
+
* GET /kv/status — service health for a customer project
|
|
9
|
+
* GET /kv — list keys (prefix/cursor/limit)
|
|
10
|
+
* GET /kv/stats — usage stats (count + bytes)
|
|
11
|
+
* GET /kv/:key — read a value as operator
|
|
12
|
+
* PUT /kv/:key — write a value as operator
|
|
13
|
+
* DELETE /kv/:key — delete a value as operator
|
|
14
|
+
*
|
|
15
|
+
* Always scoped to a customer project via the `projectId` query param.
|
|
16
|
+
* The BaaS `kv` namespace must NOT be confused with this surface — see
|
|
17
|
+
* ADR-083 plane discipline.
|
|
18
|
+
*/
|
|
19
|
+
import { request } from './http.js';
|
|
20
|
+
export const getStatus = (client, projectId) => request(client, 'GET', '/kv/status', { query: { projectId } });
|
|
21
|
+
export const list = (client, projectId, options) => request(client, 'GET', '/kv', {
|
|
22
|
+
query: {
|
|
23
|
+
projectId,
|
|
24
|
+
prefix: options?.prefix,
|
|
25
|
+
cursor: options?.cursor,
|
|
26
|
+
limit: options?.limit?.toString(),
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
export const getStats = (client, projectId) => request(client, 'GET', '/kv/stats', { query: { projectId } });
|
|
30
|
+
export const get = (client, projectId, key) => request(client, 'GET', `/kv/${encodeURIComponent(key)}`, { query: { projectId } });
|
|
31
|
+
export const set = (client, projectId, key, input) => request(client, 'PUT', `/kv/${encodeURIComponent(key)}`, {
|
|
32
|
+
query: { projectId },
|
|
33
|
+
body: input,
|
|
34
|
+
});
|
|
35
|
+
const _delete = (client, projectId, key) => request(client, 'DELETE', `/kv/${encodeURIComponent(key)}`, { query: { projectId } });
|
|
36
|
+
export { _delete as delete };
|
package/dist/logs.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log streams — build + runtime SSE.
|
|
3
|
+
*
|
|
4
|
+
* The SDK does not open the SSE connection; it hands back the URL + auth
|
|
5
|
+
* token. Consumers (CLI, Console, a custom integration) wire up
|
|
6
|
+
* `new EventSource(url, { ... })` with the returned `token` as the
|
|
7
|
+
* `Authorization: Bearer …` header. This keeps the SDK free of
|
|
8
|
+
* transport-specific state while still standardising how stream
|
|
9
|
+
* handshakes look.
|
|
10
|
+
*/
|
|
11
|
+
import type { Client } from './client.js';
|
|
12
|
+
import type { LogStream } from './types.js';
|
|
13
|
+
export declare const stream: (client: Client, projectId: string, envType: string) => LogStream;
|
|
14
|
+
//# sourceMappingURL=logs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,SAM3E,CAAA"}
|
package/dist/logs.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log streams — build + runtime SSE.
|
|
3
|
+
*
|
|
4
|
+
* The SDK does not open the SSE connection; it hands back the URL + auth
|
|
5
|
+
* token. Consumers (CLI, Console, a custom integration) wire up
|
|
6
|
+
* `new EventSource(url, { ... })` with the returned `token` as the
|
|
7
|
+
* `Authorization: Bearer …` header. This keeps the SDK free of
|
|
8
|
+
* transport-specific state while still standardising how stream
|
|
9
|
+
* handshakes look.
|
|
10
|
+
*/
|
|
11
|
+
export const stream = (client, projectId, envType) => {
|
|
12
|
+
const params = new URLSearchParams({ envType, stream: 'true', limit: '200' });
|
|
13
|
+
return {
|
|
14
|
+
url: `${client.apiBase}/projects/${encodeURIComponent(projectId)}/logs?${params.toString()}`,
|
|
15
|
+
token: client.token,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Management API (self-hosted runtime administration).
|
|
3
|
+
*
|
|
4
|
+
* The Platform operates a "Management" surface distinct from project-level
|
|
5
|
+
* Platform CRUD: it controls the self-hosted runtime that executes
|
|
6
|
+
* customer deployments (ADR-070 PaaS reconciler). Namespaced under
|
|
7
|
+
* `/management/*` on the Platform host.
|
|
8
|
+
*
|
|
9
|
+
* GET /management/resources/databases/:id/backups
|
|
10
|
+
* POST /management/resources/databases/:id/restore
|
|
11
|
+
* POST /management/resources/databases/:id/restore-in-place
|
|
12
|
+
*
|
|
13
|
+
* The `backups.ts` namespace wraps project-level customer backups (user
|
|
14
|
+
* DB backups shown in the Console); this module wraps the runtime-fabric
|
|
15
|
+
* control plane that reconciles CNPG clusters + volume snapshots under
|
|
16
|
+
* the hood. Two different audiences — do not merge.
|
|
17
|
+
*
|
|
18
|
+
* @see docs/adr/ADR-070-paas-reconciler-architecture.md
|
|
19
|
+
*/
|
|
20
|
+
import type { Client } from './client.js';
|
|
21
|
+
export interface ManagedBackup {
|
|
22
|
+
readonly id: string;
|
|
23
|
+
readonly databaseId: string;
|
|
24
|
+
readonly createdAt: string;
|
|
25
|
+
readonly sizeBytes: number;
|
|
26
|
+
readonly method: 'snapshot' | 'pitr';
|
|
27
|
+
readonly status: 'completed' | 'in_progress' | 'failed';
|
|
28
|
+
}
|
|
29
|
+
export declare const backups: (client: Client, databaseId: string) => Promise<{
|
|
30
|
+
backups: readonly ManagedBackup[];
|
|
31
|
+
}>;
|
|
32
|
+
export interface RestoreInput {
|
|
33
|
+
/** RFC-3339 timestamp within the WAL retention window. */
|
|
34
|
+
readonly pointInTime: string;
|
|
35
|
+
/** Optional human-readable label for the new restored cluster. */
|
|
36
|
+
readonly label?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface RestoreResult {
|
|
39
|
+
readonly jobId: string;
|
|
40
|
+
readonly newClusterName: string;
|
|
41
|
+
readonly status: 'pending' | 'restoring' | 'ready' | 'failed';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* PITR restore to a BRAND-NEW cluster — original remains untouched.
|
|
45
|
+
*/
|
|
46
|
+
export declare const restore: (client: Client, databaseId: string, body: RestoreInput) => Promise<RestoreResult>;
|
|
47
|
+
/**
|
|
48
|
+
* PITR restore IN PLACE — deletes the source cluster then recreates it
|
|
49
|
+
* from the target point-in-time. Destructive: the caller must hold a
|
|
50
|
+
* maintenance window and have explicit acknowledgement.
|
|
51
|
+
*/
|
|
52
|
+
export declare const restoreInPlace: (client: Client, databaseId: string, body: RestoreInput & {
|
|
53
|
+
readonly acknowledgeDestructive: true;
|
|
54
|
+
}) => Promise<RestoreResult>;
|
|
55
|
+
//# sourceMappingURL=management.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"management.d.ts","sourceRoot":"","sources":["../src/management.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAA;CACvD;AAED,eAAO,MAAM,OAAO,GACnB,QAAQ,MAAM,EACd,YAAY,MAAM,KAChB,OAAO,CAAC;IAAE,OAAO,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,CAK9C,CAAA;AAEF,MAAM,WAAW,YAAY;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,GACnB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,MAAM,YAAY,KAChB,OAAO,CAAC,aAAa,CAMtB,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAC1B,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAA;CAAE,KAC5D,OAAO,CAAC,aAAa,CAMtB,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Management API (self-hosted runtime administration).
|
|
3
|
+
*
|
|
4
|
+
* The Platform operates a "Management" surface distinct from project-level
|
|
5
|
+
* Platform CRUD: it controls the self-hosted runtime that executes
|
|
6
|
+
* customer deployments (ADR-070 PaaS reconciler). Namespaced under
|
|
7
|
+
* `/management/*` on the Platform host.
|
|
8
|
+
*
|
|
9
|
+
* GET /management/resources/databases/:id/backups
|
|
10
|
+
* POST /management/resources/databases/:id/restore
|
|
11
|
+
* POST /management/resources/databases/:id/restore-in-place
|
|
12
|
+
*
|
|
13
|
+
* The `backups.ts` namespace wraps project-level customer backups (user
|
|
14
|
+
* DB backups shown in the Console); this module wraps the runtime-fabric
|
|
15
|
+
* control plane that reconciles CNPG clusters + volume snapshots under
|
|
16
|
+
* the hood. Two different audiences — do not merge.
|
|
17
|
+
*
|
|
18
|
+
* @see docs/adr/ADR-070-paas-reconciler-architecture.md
|
|
19
|
+
*/
|
|
20
|
+
import { request } from './http.js';
|
|
21
|
+
export const backups = (client, databaseId) => request(client, 'GET', `/management/resources/databases/${encodeURIComponent(databaseId)}/backups`);
|
|
22
|
+
/**
|
|
23
|
+
* PITR restore to a BRAND-NEW cluster — original remains untouched.
|
|
24
|
+
*/
|
|
25
|
+
export const restore = (client, databaseId, body) => request(client, 'POST', `/management/resources/databases/${encodeURIComponent(databaseId)}/restore`, { body });
|
|
26
|
+
/**
|
|
27
|
+
* PITR restore IN PLACE — deletes the source cluster then recreates it
|
|
28
|
+
* from the target point-in-time. Destructive: the caller must hold a
|
|
29
|
+
* maintenance window and have explicit acknowledgement.
|
|
30
|
+
*/
|
|
31
|
+
export const restoreInPlace = (client, databaseId, body) => request(client, 'POST', `/management/resources/databases/${encodeURIComponent(databaseId)}/restore-in-place`, { body });
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application monitoring — error events, stack traces, source-map uploads.
|
|
3
|
+
*
|
|
4
|
+
* GET /monitoring/projects/:id/errors?env=&limit=&since=
|
|
5
|
+
* GET /monitoring/errors/:errorId/stacktrace?projectId=
|
|
6
|
+
* GET /monitoring/projects/:id/source-maps?service=
|
|
7
|
+
* POST /monitoring/projects/:id/source-maps
|
|
8
|
+
*
|
|
9
|
+
* Stack traces are server-deminified if a matching source-map has been
|
|
10
|
+
* uploaded for the release — the `resolved` flag indicates whether
|
|
11
|
+
* `frames` reflect original source positions or raw minified offsets.
|
|
12
|
+
*/
|
|
13
|
+
import type { Client } from './client.js';
|
|
14
|
+
export interface MonitoringError {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly createdAt: string;
|
|
17
|
+
readonly level: string | null;
|
|
18
|
+
readonly message: string;
|
|
19
|
+
readonly serviceName: string | null;
|
|
20
|
+
readonly stackTraceId: string | null;
|
|
21
|
+
}
|
|
22
|
+
export interface ListErrorsOptions {
|
|
23
|
+
readonly env?: string;
|
|
24
|
+
readonly limit?: number;
|
|
25
|
+
readonly since?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare const listErrors: (client: Client, projectId: string, options?: ListErrorsOptions) => Promise<{
|
|
28
|
+
errors: readonly MonitoringError[];
|
|
29
|
+
}>;
|
|
30
|
+
export interface StackFrame {
|
|
31
|
+
readonly function: string | null;
|
|
32
|
+
readonly file: string | null;
|
|
33
|
+
readonly line: number | null;
|
|
34
|
+
readonly column: number | null;
|
|
35
|
+
}
|
|
36
|
+
export interface StackTrace {
|
|
37
|
+
readonly errorId: string;
|
|
38
|
+
readonly resolved: boolean;
|
|
39
|
+
readonly frames: readonly StackFrame[];
|
|
40
|
+
readonly raw: string | null;
|
|
41
|
+
}
|
|
42
|
+
export declare const getStackTrace: (client: Client, projectId: string, errorId: string) => Promise<StackTrace>;
|
|
43
|
+
export interface SourceMap {
|
|
44
|
+
readonly id: string;
|
|
45
|
+
readonly release: string;
|
|
46
|
+
readonly filename: string;
|
|
47
|
+
readonly uploadedAt: string;
|
|
48
|
+
readonly sizeBytes: number;
|
|
49
|
+
readonly service: string | null;
|
|
50
|
+
}
|
|
51
|
+
export declare const listSourceMaps: (client: Client, projectId: string, options?: {
|
|
52
|
+
service?: string;
|
|
53
|
+
}) => Promise<{
|
|
54
|
+
maps: readonly SourceMap[];
|
|
55
|
+
}>;
|
|
56
|
+
export interface UploadSourceMapInput {
|
|
57
|
+
readonly release: string;
|
|
58
|
+
readonly filename: string;
|
|
59
|
+
readonly content: string;
|
|
60
|
+
readonly service?: string;
|
|
61
|
+
}
|
|
62
|
+
export declare const uploadSourceMap: (client: Client, projectId: string, input: UploadSourceMapInput) => Promise<{
|
|
63
|
+
id: string;
|
|
64
|
+
}>;
|
|
65
|
+
//# sourceMappingURL=monitoring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitoring.d.ts","sourceRoot":"","sources":["../src/monitoring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,UAAU,GACtB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,UAAU,iBAAiB,KACzB,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,CAO9C,CAAA;AAEH,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAA;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,eAAO,MAAM,aAAa,GACzB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,SAAS,MAAM,KACb,OAAO,CAAC,UAAU,CAGlB,CAAA;AAEH,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,eAAO,MAAM,cAAc,GAC1B,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,CAGtC,CAAA;AAEH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,GAC3B,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,OAAO,oBAAoB,KACzB,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAGtB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application monitoring — error events, stack traces, source-map uploads.
|
|
3
|
+
*
|
|
4
|
+
* GET /monitoring/projects/:id/errors?env=&limit=&since=
|
|
5
|
+
* GET /monitoring/errors/:errorId/stacktrace?projectId=
|
|
6
|
+
* GET /monitoring/projects/:id/source-maps?service=
|
|
7
|
+
* POST /monitoring/projects/:id/source-maps
|
|
8
|
+
*
|
|
9
|
+
* Stack traces are server-deminified if a matching source-map has been
|
|
10
|
+
* uploaded for the release — the `resolved` flag indicates whether
|
|
11
|
+
* `frames` reflect original source positions or raw minified offsets.
|
|
12
|
+
*/
|
|
13
|
+
import { request } from './http.js';
|
|
14
|
+
export const listErrors = (client, projectId, options) => request(client, 'GET', `/monitoring/projects/${encodeURIComponent(projectId)}/errors`, {
|
|
15
|
+
query: {
|
|
16
|
+
env: options?.env,
|
|
17
|
+
limit: options?.limit !== undefined ? String(options.limit) : undefined,
|
|
18
|
+
since: options?.since,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
export const getStackTrace = (client, projectId, errorId) => request(client, 'GET', `/monitoring/errors/${encodeURIComponent(errorId)}/stacktrace`, {
|
|
22
|
+
query: { projectId },
|
|
23
|
+
});
|
|
24
|
+
export const listSourceMaps = (client, projectId, options) => request(client, 'GET', `/monitoring/projects/${encodeURIComponent(projectId)}/source-maps`, {
|
|
25
|
+
query: { service: options?.service },
|
|
26
|
+
});
|
|
27
|
+
export const uploadSourceMap = (client, projectId, input) => request(client, 'POST', `/monitoring/projects/${encodeURIComponent(projectId)}/source-maps`, {
|
|
28
|
+
body: input,
|
|
29
|
+
});
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Newsletter — subscribers, automation sequences, steps, enrollments.
|
|
3
|
+
*
|
|
4
|
+
* All routes mount under `/newsletter` in the Platform API.
|
|
5
|
+
*
|
|
6
|
+
* Subscribers
|
|
7
|
+
* GET /newsletter/subscribers — list
|
|
8
|
+
* GET /newsletter/subscribers/by-email — by email
|
|
9
|
+
* GET /newsletter/subscribers/preferences — preferences by email
|
|
10
|
+
* GET /newsletter/subscribers/export — CSV export
|
|
11
|
+
* GET /newsletter/subscribers/stats — aggregate stats
|
|
12
|
+
* DELETE /newsletter/subscribers — GDPR delete
|
|
13
|
+
* POST /newsletter/subscribers/bulk-delete
|
|
14
|
+
* POST /newsletter/subscribers/resend-verification
|
|
15
|
+
*
|
|
16
|
+
* Sequences (automation workflows)
|
|
17
|
+
* GET /newsletter/sequences
|
|
18
|
+
* GET /newsletter/sequences/:sequenceId
|
|
19
|
+
* POST /newsletter/sequences
|
|
20
|
+
* PATCH /newsletter/sequences/:sequenceId
|
|
21
|
+
* DELETE /newsletter/sequences/:sequenceId
|
|
22
|
+
* GET /newsletter/sequences/:sequenceId/analytics
|
|
23
|
+
*
|
|
24
|
+
* Steps (inside sequences)
|
|
25
|
+
* POST /newsletter/steps
|
|
26
|
+
* PATCH /newsletter/steps/:stepId
|
|
27
|
+
* DELETE /newsletter/steps/:stepId
|
|
28
|
+
* POST /newsletter/steps/reorder
|
|
29
|
+
*
|
|
30
|
+
* Enrollments (subscribers inside sequences)
|
|
31
|
+
* GET /newsletter/enrollments
|
|
32
|
+
* GET /newsletter/enrollments/:enrollmentId
|
|
33
|
+
* POST /newsletter/enrollments
|
|
34
|
+
* POST /newsletter/enrollments/:enrollmentId/cancel
|
|
35
|
+
* POST /newsletter/enrollments/:enrollmentId/pause
|
|
36
|
+
* POST /newsletter/enrollments/:enrollmentId/resume
|
|
37
|
+
*
|
|
38
|
+
* `SubscriberPreferences` is returned as an object keyed on preference ID;
|
|
39
|
+
* the service stores the underlying rows as an array but flattens for wire.
|
|
40
|
+
*/
|
|
41
|
+
import type { Client } from './client.js';
|
|
42
|
+
export type SubscriberSource = 'website' | 'waitlist' | 'referral' | 'api' | 'import';
|
|
43
|
+
export type PreferenceKey = 'newsletter' | 'product_updates' | 'promotions' | 'changelog' | 'security_alerts';
|
|
44
|
+
export type SubscriberPreferences = Readonly<Partial<Record<PreferenceKey, boolean>>>;
|
|
45
|
+
export interface Subscriber {
|
|
46
|
+
readonly id: string;
|
|
47
|
+
readonly email: string;
|
|
48
|
+
readonly name: string | null;
|
|
49
|
+
readonly source: SubscriberSource;
|
|
50
|
+
readonly emailVerified: boolean;
|
|
51
|
+
readonly subscribedAt: string | null;
|
|
52
|
+
readonly unsubscribedAt: string | null;
|
|
53
|
+
readonly createdAt: string;
|
|
54
|
+
readonly preferences: SubscriberPreferences | null;
|
|
55
|
+
}
|
|
56
|
+
export interface SubscriberDetail extends Subscriber {
|
|
57
|
+
readonly metadata: Readonly<Record<string, unknown>> | null;
|
|
58
|
+
readonly updatedAt: string;
|
|
59
|
+
}
|
|
60
|
+
export interface ListSubscribersOptions {
|
|
61
|
+
readonly projectId?: string;
|
|
62
|
+
readonly verified?: boolean;
|
|
63
|
+
readonly source?: SubscriberSource;
|
|
64
|
+
readonly search?: string;
|
|
65
|
+
readonly includeUnsubscribed?: boolean;
|
|
66
|
+
readonly limit?: number;
|
|
67
|
+
readonly offset?: number;
|
|
68
|
+
}
|
|
69
|
+
export interface ListSubscribersResult {
|
|
70
|
+
readonly subscribers: readonly Subscriber[];
|
|
71
|
+
readonly total: number;
|
|
72
|
+
readonly hasMore: boolean;
|
|
73
|
+
}
|
|
74
|
+
export declare const listSubscribers: (client: Client, options?: ListSubscribersOptions) => Promise<ListSubscribersResult>;
|
|
75
|
+
export declare const getSubscriber: (client: Client, email: string) => Promise<SubscriberDetail>;
|
|
76
|
+
export declare const getPreferences: (client: Client, email: string) => Promise<SubscriberPreferences>;
|
|
77
|
+
export interface ExportSubscribersOptions {
|
|
78
|
+
readonly verified?: boolean;
|
|
79
|
+
readonly includeUnsubscribed?: boolean;
|
|
80
|
+
}
|
|
81
|
+
export interface ExportSubscribersResult {
|
|
82
|
+
readonly csv: string;
|
|
83
|
+
readonly filename: string;
|
|
84
|
+
}
|
|
85
|
+
export declare const exportSubscribers: (client: Client, options?: ExportSubscribersOptions) => Promise<ExportSubscribersResult>;
|
|
86
|
+
export interface SubscriberStats {
|
|
87
|
+
readonly total: number;
|
|
88
|
+
readonly verified: number;
|
|
89
|
+
readonly unsubscribed: number;
|
|
90
|
+
readonly bySource: Readonly<Record<string, number>>;
|
|
91
|
+
}
|
|
92
|
+
export declare const subscriberStats: (client: Client) => Promise<SubscriberStats>;
|
|
93
|
+
export declare const deleteSubscriber: (client: Client, email: string) => Promise<{
|
|
94
|
+
success: boolean;
|
|
95
|
+
message: string;
|
|
96
|
+
}>;
|
|
97
|
+
export interface BulkDeleteSubscribersInput {
|
|
98
|
+
readonly projectId: string;
|
|
99
|
+
readonly subscriberIds: readonly string[];
|
|
100
|
+
}
|
|
101
|
+
export interface BulkDeleteSubscribersResult {
|
|
102
|
+
readonly deleted: number;
|
|
103
|
+
readonly errors?: readonly {
|
|
104
|
+
readonly id: string;
|
|
105
|
+
readonly error: string;
|
|
106
|
+
}[];
|
|
107
|
+
}
|
|
108
|
+
export declare const bulkDeleteSubscribers: (client: Client, input: BulkDeleteSubscribersInput) => Promise<BulkDeleteSubscribersResult>;
|
|
109
|
+
export declare const resendVerification: (client: Client, email: string) => Promise<{
|
|
110
|
+
sent: boolean;
|
|
111
|
+
}>;
|
|
112
|
+
export type SequenceTrigger = 'subscribe' | 'verify_email' | 'tag_added' | 'manual' | 'event';
|
|
113
|
+
export type StepType = 'email' | 'delay' | 'condition' | 'tag' | 'webhook';
|
|
114
|
+
export type EnrollmentStatus = 'active' | 'completed' | 'paused' | 'cancelled' | 'unsubscribed';
|
|
115
|
+
export interface TriggerCondition {
|
|
116
|
+
readonly field: string;
|
|
117
|
+
readonly operator: 'eq' | 'neq' | 'contains' | 'exists';
|
|
118
|
+
readonly value?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface TriggerConditions {
|
|
121
|
+
readonly tag?: string;
|
|
122
|
+
readonly event?: string;
|
|
123
|
+
readonly conditions?: readonly TriggerCondition[];
|
|
124
|
+
}
|
|
125
|
+
export type StepConfig = {
|
|
126
|
+
readonly type: 'email';
|
|
127
|
+
readonly templateId?: string;
|
|
128
|
+
readonly subject: string;
|
|
129
|
+
readonly body: string;
|
|
130
|
+
readonly fromName?: string;
|
|
131
|
+
} | {
|
|
132
|
+
readonly type: 'delay';
|
|
133
|
+
readonly duration: number;
|
|
134
|
+
readonly unit: 'minutes' | 'hours' | 'days' | 'weeks';
|
|
135
|
+
} | {
|
|
136
|
+
readonly type: 'condition';
|
|
137
|
+
readonly field: string;
|
|
138
|
+
readonly operator: 'eq' | 'neq' | 'contains' | 'exists' | 'opened_email' | 'clicked_link';
|
|
139
|
+
readonly value?: string;
|
|
140
|
+
readonly trueBranch?: string;
|
|
141
|
+
readonly falseBranch?: string;
|
|
142
|
+
} | {
|
|
143
|
+
readonly type: 'tag';
|
|
144
|
+
readonly action: 'add' | 'remove';
|
|
145
|
+
readonly tag: string;
|
|
146
|
+
} | {
|
|
147
|
+
readonly type: 'webhook';
|
|
148
|
+
readonly url: string;
|
|
149
|
+
readonly method: 'GET' | 'POST';
|
|
150
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
151
|
+
readonly body?: Readonly<Record<string, unknown>>;
|
|
152
|
+
};
|
|
153
|
+
export interface Sequence {
|
|
154
|
+
readonly id: string;
|
|
155
|
+
readonly projectId: string;
|
|
156
|
+
readonly name: string;
|
|
157
|
+
readonly description: string | null;
|
|
158
|
+
readonly trigger: SequenceTrigger;
|
|
159
|
+
readonly triggerConditions: TriggerConditions | null;
|
|
160
|
+
readonly isActive: boolean;
|
|
161
|
+
readonly allowReenrollment: boolean;
|
|
162
|
+
readonly exitOnUnsubscribe: boolean;
|
|
163
|
+
readonly createdAt: string;
|
|
164
|
+
readonly updatedAt: string;
|
|
165
|
+
}
|
|
166
|
+
export interface Step {
|
|
167
|
+
readonly id: string;
|
|
168
|
+
readonly sequenceId: string;
|
|
169
|
+
readonly stepNumber: number;
|
|
170
|
+
readonly type: StepType;
|
|
171
|
+
readonly name: string;
|
|
172
|
+
readonly config: StepConfig;
|
|
173
|
+
readonly isEnabled: boolean;
|
|
174
|
+
readonly createdAt: string;
|
|
175
|
+
readonly updatedAt: string;
|
|
176
|
+
}
|
|
177
|
+
export interface SequenceWithSteps extends Sequence {
|
|
178
|
+
readonly steps: readonly Step[];
|
|
179
|
+
}
|
|
180
|
+
export interface ListSequencesOptions {
|
|
181
|
+
readonly includeInactive?: boolean;
|
|
182
|
+
}
|
|
183
|
+
export declare const listSequences: (client: Client, projectId: string, options?: ListSequencesOptions) => Promise<readonly Sequence[]>;
|
|
184
|
+
export declare const getSequence: (client: Client, sequenceId: string) => Promise<SequenceWithSteps>;
|
|
185
|
+
export interface CreateSequenceInput {
|
|
186
|
+
readonly projectId: string;
|
|
187
|
+
readonly name: string;
|
|
188
|
+
readonly description?: string;
|
|
189
|
+
readonly trigger: SequenceTrigger;
|
|
190
|
+
readonly triggerConditions?: TriggerConditions;
|
|
191
|
+
readonly allowReenrollment?: boolean;
|
|
192
|
+
readonly exitOnUnsubscribe?: boolean;
|
|
193
|
+
}
|
|
194
|
+
export declare const createSequence: (client: Client, input: CreateSequenceInput) => Promise<SequenceWithSteps>;
|
|
195
|
+
export interface UpdateSequenceInput {
|
|
196
|
+
readonly name?: string;
|
|
197
|
+
readonly description?: string;
|
|
198
|
+
readonly trigger?: SequenceTrigger;
|
|
199
|
+
readonly triggerConditions?: TriggerConditions;
|
|
200
|
+
readonly isActive?: boolean;
|
|
201
|
+
readonly allowReenrollment?: boolean;
|
|
202
|
+
readonly exitOnUnsubscribe?: boolean;
|
|
203
|
+
}
|
|
204
|
+
export declare const updateSequence: (client: Client, sequenceId: string, input: UpdateSequenceInput) => Promise<SequenceWithSteps>;
|
|
205
|
+
export declare const deleteSequence: (client: Client, sequenceId: string) => Promise<{
|
|
206
|
+
success: boolean;
|
|
207
|
+
}>;
|
|
208
|
+
export interface StepAnalytics {
|
|
209
|
+
readonly stepId: string;
|
|
210
|
+
readonly stepName: string;
|
|
211
|
+
readonly reached: number;
|
|
212
|
+
readonly completed: number;
|
|
213
|
+
readonly avgDurationMs: number | null;
|
|
214
|
+
}
|
|
215
|
+
export interface SequenceAnalytics {
|
|
216
|
+
readonly sequenceId: string;
|
|
217
|
+
readonly totalEnrollments: number;
|
|
218
|
+
readonly activeEnrollments: number;
|
|
219
|
+
readonly completedEnrollments: number;
|
|
220
|
+
readonly cancelledEnrollments: number;
|
|
221
|
+
readonly unsubscribedEnrollments: number;
|
|
222
|
+
readonly stepAnalytics: readonly StepAnalytics[];
|
|
223
|
+
}
|
|
224
|
+
export declare const sequenceAnalytics: (client: Client, sequenceId: string) => Promise<SequenceAnalytics>;
|
|
225
|
+
export interface AddStepInput {
|
|
226
|
+
readonly sequenceId: string;
|
|
227
|
+
readonly stepNumber: number;
|
|
228
|
+
readonly type: StepType;
|
|
229
|
+
readonly name: string;
|
|
230
|
+
readonly config: StepConfig;
|
|
231
|
+
readonly isEnabled?: boolean;
|
|
232
|
+
}
|
|
233
|
+
export declare const addStep: (client: Client, input: AddStepInput) => Promise<Step>;
|
|
234
|
+
export interface UpdateStepInput {
|
|
235
|
+
readonly stepNumber?: number;
|
|
236
|
+
readonly name?: string;
|
|
237
|
+
readonly config?: StepConfig;
|
|
238
|
+
readonly isEnabled?: boolean;
|
|
239
|
+
}
|
|
240
|
+
export declare const updateStep: (client: Client, stepId: string, input: UpdateStepInput) => Promise<Step>;
|
|
241
|
+
export declare const deleteStep: (client: Client, stepId: string) => Promise<{
|
|
242
|
+
success: boolean;
|
|
243
|
+
}>;
|
|
244
|
+
export declare const reorderSteps: (client: Client, sequenceId: string, stepOrder: readonly string[]) => Promise<{
|
|
245
|
+
success: boolean;
|
|
246
|
+
}>;
|
|
247
|
+
export interface Enrollment {
|
|
248
|
+
readonly id: string;
|
|
249
|
+
readonly sequenceId: string;
|
|
250
|
+
readonly subscriberId: string;
|
|
251
|
+
readonly status: EnrollmentStatus;
|
|
252
|
+
readonly currentStep: number;
|
|
253
|
+
readonly context: Readonly<Record<string, unknown>> | null;
|
|
254
|
+
readonly enrolledAt: string;
|
|
255
|
+
readonly completedAt: string | null;
|
|
256
|
+
}
|
|
257
|
+
export interface ListEnrollmentsOptions {
|
|
258
|
+
readonly status?: EnrollmentStatus;
|
|
259
|
+
readonly limit?: number;
|
|
260
|
+
readonly offset?: number;
|
|
261
|
+
}
|
|
262
|
+
export declare const listEnrollments: (client: Client, sequenceId: string, options?: ListEnrollmentsOptions) => Promise<readonly Enrollment[]>;
|
|
263
|
+
export declare const getEnrollment: (client: Client, enrollmentId: string) => Promise<Enrollment>;
|
|
264
|
+
export interface EnrollSubscriberInput {
|
|
265
|
+
readonly sequenceId: string;
|
|
266
|
+
readonly subscriberId: string;
|
|
267
|
+
readonly context?: Readonly<Record<string, unknown>>;
|
|
268
|
+
}
|
|
269
|
+
export declare const enrollSubscriber: (client: Client, input: EnrollSubscriberInput) => Promise<Enrollment>;
|
|
270
|
+
export declare const cancelEnrollment: (client: Client, enrollmentId: string) => Promise<{
|
|
271
|
+
success: boolean;
|
|
272
|
+
}>;
|
|
273
|
+
export declare const pauseEnrollment: (client: Client, enrollmentId: string) => Promise<{
|
|
274
|
+
success: boolean;
|
|
275
|
+
}>;
|
|
276
|
+
export declare const resumeEnrollment: (client: Client, enrollmentId: string) => Promise<{
|
|
277
|
+
success: boolean;
|
|
278
|
+
}>;
|
|
279
|
+
//# sourceMappingURL=newsletter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newsletter.d.ts","sourceRoot":"","sources":["../src/newsletter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAKzC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAA;AACrF,MAAM,MAAM,aAAa,GACtB,YAAY,GACZ,iBAAiB,GACjB,YAAY,GACZ,WAAW,GACX,iBAAiB,CAAA;AAEpB,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AAErF,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAClD;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IACnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,GAC3B,QAAQ,MAAM,EACd,UAAU,sBAAsB,KAC9B,OAAO,CAAC,qBAAqB,CAc7B,CAAA;AAEH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,gBAAgB,CACL,CAAA;AAEjF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,qBAAqB,CACR,CAAA;AAEpF,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,iBAAiB,GAC7B,QAAQ,MAAM,EACd,UAAU,wBAAwB,KAChC,OAAO,CAAC,uBAAuB,CAS/B,CAAA;AAEH,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACnD;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,OAAO,CAAC,eAAe,CAChB,CAAA;AAExD,eAAO,MAAM,gBAAgB,GAC5B,QAAQ,MAAM,EACd,OAAO,MAAM,KACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAC0B,CAAA;AAE1E,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC;AAED,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC5E;AAED,eAAO,MAAM,qBAAqB,GACjC,QAAQ,MAAM,EACd,OAAO,0BAA0B,KAC/B,OAAO,CAAC,2BAA2B,CAC0C,CAAA;AAEhF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CACA,CAAA;AAI5F,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;AAC7F,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,GAAG,SAAS,CAAA;AAC1E,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAA;AAE/F,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAA;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;CACjD;AAED,MAAM,MAAM,UAAU,GACnB;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CACzB,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;CACpD,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAA;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC5B,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAA;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACnB,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAChD,CAAA;AAEJ,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,eAAO,MAAM,aAAa,GACzB,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,UAAU,oBAAoB,KAC5B,OAAO,CAAC,SAAS,QAAQ,EAAE,CAO3B,CAAA;AAEH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,iBAAiB,CACR,CAAA;AAElF,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IAC9C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,eAAO,MAAM,cAAc,GAC1B,QAAQ,MAAM,EACd,OAAO,mBAAmB,KACxB,OAAO,CAAC,iBAAiB,CAAsE,CAAA;AAElG,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,eAAO,MAAM,cAAc,GAC1B,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,OAAO,mBAAmB,KACxB,OAAO,CAAC,iBAAiB,CAGzB,CAAA;AAEH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CACX,CAAA;AAErF,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,aAAa,EAAE,CAAA;CAChD;AAED,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,YAAY,MAAM,KAAG,OAAO,CAAC,iBAAiB,CACJ,CAAA;AAI5F,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CACZ,CAAA;AAE9D,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,eAAe,KAAG,OAAO,CAAC,IAAI,CACH,CAAA;AAE7F,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CACX,CAAA;AAE7E,eAAO,MAAM,YAAY,GACxB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,WAAW,SAAS,MAAM,EAAE,KAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAC2D,CAAA;AAI1F,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,eAAO,MAAM,eAAe,GAC3B,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,UAAU,sBAAsB,KAC9B,OAAO,CAAC,SAAS,UAAU,EAAE,CAQ7B,CAAA;AAEH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,cAAc,MAAM,KAAG,OAAO,CAAC,UAAU,CACD,CAAA;AAEtF,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACpD;AAED,eAAO,MAAM,gBAAgB,GAC5B,QAAQ,MAAM,EACd,OAAO,qBAAqB,KAC1B,OAAO,CAAC,UAAU,CAAwE,CAAA;AAE7F,eAAO,MAAM,gBAAgB,GAC5B,QAAQ,MAAM,EACd,cAAc,MAAM,KAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAC+D,CAAA;AAE9F,eAAO,MAAM,eAAe,GAC3B,QAAQ,MAAM,EACd,cAAc,MAAM,KAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAC8D,CAAA;AAE7F,eAAO,MAAM,gBAAgB,GAC5B,QAAQ,MAAM,EACd,cAAc,MAAM,KAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAC+D,CAAA"}
|