@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/CHANGELOG.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# @sylphx/management
|
|
2
|
+
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`c4471cf`](https://github.com/SylphxAI/platform/commit/c4471cf729a2a60865d0df5bbf04b87f55d57858) Thanks [@shtse8](https://github.com/shtse8)! - Pure-FP `createClient` + free-function rewrite (ADR-077). Adds 39 capability namespaces — billing, certs, email, monitoring, notifications, backups, kv, flags, webhooks, secrets, realtime, serviceTokens, runners, experiments, analytics, oidc, and ten user-facing namespaces. Tenant provisioning migrated to service-token auth (the legacy `/admin/bootstrap` route is retired); platform admin bootstrap now follows the Appwrite pattern with the `X-Sylphx-Project-Id` header. New audit-source filter and webhook signature-algorithm versioning. Wave 1 domains consume `@sylphx/contract` directly; schemas widened to production reality (Wave 2b). Sends `Content-Type` only when a body is present; always sets `Accept`.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`c4471cf`](https://github.com/SylphxAI/platform/commit/c4471cf729a2a60865d0df5bbf04b87f55d57858)]:
|
|
12
|
+
- @sylphx/contract@0.2.0
|
|
13
|
+
|
|
14
|
+
## 0.2.0-beta.0 — 2026-04-24
|
|
15
|
+
|
|
16
|
+
ADR-089 Phase 2 / 3 / 4a / 4b — **100% PaaS endpoint coverage**. The
|
|
17
|
+
`check-paas-sdk-coverage.ts` guard flipped from advisory to strict; the
|
|
18
|
+
Management SDK now covers every public `apps/api/src/server/platform/routes/`
|
|
19
|
+
namespace (35/35 non-excluded, 6 internal-only exclusions with written
|
|
20
|
+
rationale).
|
|
21
|
+
|
|
22
|
+
### New namespaces (14)
|
|
23
|
+
|
|
24
|
+
- `admin` — operator org / user / credit / audit administration
|
|
25
|
+
- `auth` (alias of `authSettings`) — OAuth providers + project auth policy + stats
|
|
26
|
+
- `authSettings` — same surface, ergonomic name
|
|
27
|
+
- `billingSettings` — business info, spending caps, invoice prefs
|
|
28
|
+
- `branchDatabases` — per-branch Neon/CNPG database bindings (ADR-070)
|
|
29
|
+
- `ciSettings` — org + repo CI configuration (runners, secrets, policy)
|
|
30
|
+
- `edgeDeployments` — Vercel-edge / Workers-style function releases
|
|
31
|
+
- `github` — GitHub App installation + repo discovery
|
|
32
|
+
- `kv` — KV admin (operator dashboard; distinct from BaaS `kv` in `@sylphx/sdk`)
|
|
33
|
+
- `management` — self-hosted runtime database backups / PITR restore (ADR-070)
|
|
34
|
+
- `plans` — subscription plan catalog + plan changes
|
|
35
|
+
- `refresh` — refresh-token rotation + sign-out (ADR-059 §1.1)
|
|
36
|
+
- `serviceTokenRequests` — ADR-059 §3 approval workflow for service tokens
|
|
37
|
+
- `user` — authenticated-user self-service (profile, sessions, MFA, connected identities)
|
|
38
|
+
|
|
39
|
+
### New methods on existing namespaces
|
|
40
|
+
|
|
41
|
+
- `backups.restorePointInTime`, `backups.restoreInPlace`
|
|
42
|
+
- `certs.autoProvision`, `certs.getAutoProvisionStatus`
|
|
43
|
+
- `deployments.cancel` (in-flight build cancellation)
|
|
44
|
+
- `environments.clone` (deep-copy env vars + secrets + bindings)
|
|
45
|
+
|
|
46
|
+
### Coverage guard
|
|
47
|
+
|
|
48
|
+
- `scripts/check-paas-sdk-coverage.ts`: strict mode enabled (non-zero
|
|
49
|
+
exit on any non-excluded gap). Namespace matching normalises kebab ↔
|
|
50
|
+
camelCase so `service-tokens` (route) matches `serviceTokens.ts` (SDK).
|
|
51
|
+
Six internal-only namespaces are excluded with one-line rationales:
|
|
52
|
+
`misc`, `internal`, `cron`, `image-opt`, `break-glass`, `challenge`.
|
|
53
|
+
|
|
54
|
+
### Migration notes
|
|
55
|
+
|
|
56
|
+
- No breaking changes. Existing imports continue to work.
|
|
57
|
+
- Bumped to `0.2.0-beta.0` to signal a meaningful surface expansion;
|
|
58
|
+
the package remains in the 0.x beta line (shape not frozen).
|
|
59
|
+
|
|
60
|
+
## Unreleased (wrongly labelled 1.0.0; reverted 2026-04-23 — still in beta)
|
|
61
|
+
|
|
62
|
+
### Changes
|
|
63
|
+
|
|
64
|
+
- **Beta API surface.** Per [ADR-077](https://github.com/SylphxAI/platform/blob/main/docs/adr/ADR-077-trio-completeness.md), the Promise-based pure-functional interface is the target public contract. No classes, no `this`, no hidden state — `createClient` returns a frozen value, and every capability is a free function that takes `client` as its first argument. Shape is NOT yet frozen; still iterating in 0.x.
|
|
65
|
+
- **46 capability namespaces** (in-flight; count may change before stable) covering the full Management plane: `projects`, `deployments`, `environments`, `envVars`, `domains`, `databases`, `services`, `volumes`, `storage`, `secrets`, `tasks`, `resourceBindings`, `organizations`, `users`, `sandboxes`, `functions`, `logs`, `email` (admin), `notifications` (admin/inbox), `monitoring`, `analytics`, `flags`, `experiments`, `remoteConfig`, `ai`, `webhooks`, `runners`, `backups`, `billing`, `certs`, `consent`, `engagement`, `newsletter`, `oidc`, `privacy`, `realtime`, `referrals`, `saml`, `search`, `serviceTokens`, `sessionReplay`.
|
|
66
|
+
- **Contract-first types** ([ADR-084](https://github.com/SylphxAI/platform/blob/main/docs/adr/ADR-084-effect-schema-contract.md)). Wire types and endpoint metadata (method + path) are imported from [`@sylphx/contract`](https://www.npmjs.com/package/@sylphx/contract) — the Effect Schema SSOT. Hand-written type shims were removed; the contract package is the only place wire shape is defined.
|
|
67
|
+
- **Bearer-token auth.** `createClient({ token })` accepts both user session tokens (`slx_...`) and service tokens (`sk_...`). The same SDK works for CLI / CI / backend integrations on the Management plane (`api.sylphx.com/v1`).
|
|
68
|
+
- **Tree-shakable subpath exports.** Every namespace is also reachable as `@sylphx/management/projects`, `@sylphx/management/deployments`, etc. `sideEffects: false` for bundler-friendly dead-code elimination.
|
|
69
|
+
- **ESM-only.** `"type": "module"`, Node ≥ 20, uses the built-in `fetch`. No classes, no polyfills, no peer framework required.
|
|
70
|
+
|
|
71
|
+
### Plane discipline (ADR-083)
|
|
72
|
+
|
|
73
|
+
This SDK is **Management-plane-only**. Runtime BaaS verbs (`kv.get`, `email.send`, `notifications.send`, `flags.evaluate`, `auth.*`, realtime, storage uploads, search, analytics.track) live in [`@sylphx/sdk`](https://www.npmjs.com/package/@sylphx/sdk) with its Firebase-pattern peer-dep entry points (`@sylphx/sdk`, `/react`, `/server`, `/nextjs`, `/web-analytics`). Mixing planes (wrong hostname + wrong auth scheme) returns `401 plane_mismatch`.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 0.1.0
|
|
78
|
+
|
|
79
|
+
### Minor Changes
|
|
80
|
+
|
|
81
|
+
- Initial public release of `@sylphx/management` as a standalone SDK.
|
|
82
|
+
- Resource-namespaced Management API client.
|
|
83
|
+
- `@sylphx/cli` now dogfoods this package.
|
|
84
|
+
|
|
85
|
+
## Pre-release history
|
|
86
|
+
|
|
87
|
+
Earlier changeset entries referenced pre-release work on internal versions;
|
|
88
|
+
the unreleased entry above captures the current 0.x beta direction.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Sylphx
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
# @sylphx/management
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@sylphx/management)
|
|
4
|
+
[](./LICENSE)
|
|
5
|
+
|
|
6
|
+
Pure-FP Promise client for the [Sylphx Platform](https://sylphx.com)
|
|
7
|
+
Management API — **46 capability namespaces, contract-first types, zero
|
|
8
|
+
classes**.
|
|
9
|
+
|
|
10
|
+
The SDK is a thin, stateless transport over `api.sylphx.com/v1`. No classes,
|
|
11
|
+
no mutable state, no business logic — consumers create an immutable `Client`
|
|
12
|
+
and pass it to free functions grouped by capability namespace. Every
|
|
13
|
+
request / response type is imported from
|
|
14
|
+
[`@sylphx/contract`](https://www.npmjs.com/package/@sylphx/contract) — the
|
|
15
|
+
Effect Schema single source of truth (ADR-084).
|
|
16
|
+
|
|
17
|
+
> **Scope: Management plane only** (ADR-083). This SDK covers platform-owner
|
|
18
|
+
> operations (project / deployment / environment / secret / domain / audit
|
|
19
|
+
> / billing / SAML / OIDC / webhooks / privacy / analytics admin, …) on
|
|
20
|
+
> `api.sylphx.com/v1` with Bearer tokens (`slx_...` user / `sk_...`
|
|
21
|
+
> service). For app-runtime data-plane operations (auth, KV, transactional
|
|
22
|
+
> email, push, realtime, `flags.evaluate`, search, analytics.track, AI,
|
|
23
|
+
> storage uploads, end-user session replay) use
|
|
24
|
+
> [`@sylphx/sdk`](https://www.npmjs.com/package/@sylphx/sdk) — one package,
|
|
25
|
+
> Firebase-pattern with `./`, `./react`, `./server`, `./nextjs`,
|
|
26
|
+
> `./web-analytics` peer-dep-gated entry points. Mixing planes (wrong
|
|
27
|
+
> hostname + wrong auth scheme) returns `401 plane_mismatch`.
|
|
28
|
+
|
|
29
|
+
## Requirements
|
|
30
|
+
|
|
31
|
+
- Node.js `>= 20` (uses built-in `fetch`) — or Bun `>= 1.3`
|
|
32
|
+
- A Sylphx API token:
|
|
33
|
+
- **User session token** (`slx_...`) — sign in at `sylphx.com` and run `sylphx auth token`
|
|
34
|
+
- **Service token** (`sk_...`) — for CI / server-side automation, created under project → Tokens
|
|
4
35
|
|
|
5
36
|
## Installation
|
|
6
37
|
|
|
@@ -8,131 +39,156 @@ Programmatic access to the [Sylphx Platform](https://sylphx.com) Management API.
|
|
|
8
39
|
bun add @sylphx/management
|
|
9
40
|
# or
|
|
10
41
|
npm install @sylphx/management
|
|
42
|
+
# or
|
|
43
|
+
pnpm add @sylphx/management
|
|
11
44
|
```
|
|
12
45
|
|
|
13
46
|
## Quick Start
|
|
14
47
|
|
|
15
48
|
```typescript
|
|
16
|
-
import {
|
|
49
|
+
import { createClient, projects, deployments, envVars } from '@sylphx/management'
|
|
17
50
|
|
|
18
|
-
const
|
|
51
|
+
const client = createClient({
|
|
19
52
|
token: process.env.SYLPHX_TOKEN!,
|
|
20
|
-
// baseUrl
|
|
53
|
+
// baseUrl defaults to 'https://api.sylphx.com'
|
|
21
54
|
})
|
|
22
55
|
|
|
23
|
-
// List projects
|
|
24
|
-
const
|
|
56
|
+
// List projects (ids are TypeIDs — `proj_xxx`)
|
|
57
|
+
const list = await projects.list(client)
|
|
25
58
|
|
|
26
59
|
// Trigger a deployment
|
|
27
|
-
await
|
|
60
|
+
await deployments.trigger(client, 'proj_abc', 'production')
|
|
28
61
|
|
|
29
|
-
// List env vars
|
|
30
|
-
const vars = await
|
|
62
|
+
// List env vars for a project + environment
|
|
63
|
+
const vars = await envVars.list(client, 'proj_abc', 'production')
|
|
31
64
|
```
|
|
32
65
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
- `list(projectId, envType?)` — List task definitions
|
|
103
|
-
- `create(projectId, data)` — Create/update a task
|
|
104
|
-
- `get(projectId, taskId)` — Get a task
|
|
105
|
-
- `update(projectId, taskId, data)` — Update a task
|
|
106
|
-
- `delete(projectId, taskId)` — Delete a task
|
|
107
|
-
|
|
108
|
-
### `mgmt.resources`
|
|
109
|
-
- `listBindings(resourceId)` — List resource bindings
|
|
110
|
-
- `bind(resourceId, data)` — Bind a resource to a project env
|
|
111
|
-
- `unbind(resourceId, bindingId)` — Unbind a resource
|
|
112
|
-
|
|
113
|
-
### `mgmt.org`
|
|
114
|
-
- `current()` — Get current org
|
|
115
|
-
- `listMembers(orgId)` — List org members
|
|
116
|
-
- `inviteMember(orgId, email, role)` — Invite a member
|
|
117
|
-
- `removeMember(orgId, userId)` — Remove a member
|
|
118
|
-
|
|
119
|
-
### `mgmt.logs`
|
|
120
|
-
- `stream(projectId, envType)` — Get `{ url, token }` for SSE log streaming
|
|
66
|
+
### Tree-shakable subpath imports
|
|
67
|
+
|
|
68
|
+
Bundlers that support subpath exports can import a single capability
|
|
69
|
+
namespace for better tree-shaking:
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
import { createClient } from '@sylphx/management'
|
|
73
|
+
import * as projects from '@sylphx/management/projects'
|
|
74
|
+
|
|
75
|
+
const client = createClient({ token: process.env.SYLPHX_TOKEN! })
|
|
76
|
+
await projects.list(client)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Capabilities
|
|
80
|
+
|
|
81
|
+
46 namespaces. Every module exports free functions that take `client` as
|
|
82
|
+
the first argument. Key namespaces:
|
|
83
|
+
|
|
84
|
+
| Namespace | Representative functions |
|
|
85
|
+
| -------------------- | ------------------------------------------------------------------------------------------ |
|
|
86
|
+
| `users` | `whoami` |
|
|
87
|
+
| `projects` | `list`, `create`, `delete` |
|
|
88
|
+
| `deployments` | `status`, `trigger`, `history`, `rollback` |
|
|
89
|
+
| `environments` | `list`, `resolveId`, `create`, `update`, `delete`, `promote` |
|
|
90
|
+
| `envVars` | `list`, `set`, `setMany`, `delete` |
|
|
91
|
+
| `domains` | `list`, `create`, `addHostname`, `removeHostname`, `checkHostname`, `enableEmail`, `checkEmail`, `disableEmail` |
|
|
92
|
+
| `databases` | `list`, `create`, `get`, `delete`, `branch` |
|
|
93
|
+
| `services` | `list`, `get`, `deploy`, `delete` |
|
|
94
|
+
| `volumes` | `list`, `create`, `delete` |
|
|
95
|
+
| `storage` | `list`, `create`, `delete` |
|
|
96
|
+
| `secrets` | `list`, `get`, `create`, `update`, `rollback`, `delete` |
|
|
97
|
+
| `remoteConfig` | `list`, `get`, `set`, `delete` |
|
|
98
|
+
| `tasks` | `list`, `create`, `get`, `update`, `delete` |
|
|
99
|
+
| `resourceBindings` | `list`, `create`, `delete` |
|
|
100
|
+
| `organizations` | `current`, `listMembers`, `inviteMember`, `removeMember` |
|
|
101
|
+
| `sandboxes` | `create`, `list`, `get`, `terminate` |
|
|
102
|
+
| `functions` | `list`, `get`, `deploy`, `delete`, `invoke`, `logs` |
|
|
103
|
+
| `logs` | `stream` (returns `{ url, token }` for SSE) |
|
|
104
|
+
| `email` | `listLogs`, `getSettings`, `updateSettings` (admin only — `send` lives in `@sylphx/sdk`) |
|
|
105
|
+
| `notifications` | `listInbox` (admin only — `send` lives in `@sylphx/sdk`) |
|
|
106
|
+
| `billing` | account / plan / invoice endpoints |
|
|
107
|
+
| `saml`, `oidc` | SSO configuration admin |
|
|
108
|
+
| `webhooks` | outbound webhook endpoint CRUD |
|
|
109
|
+
| `analytics` | admin queries (runtime `analytics.track` lives in `@sylphx/sdk`) |
|
|
110
|
+
| `flags` | flag admin CRUD (runtime `flags.evaluate` lives in `@sylphx/sdk`) |
|
|
111
|
+
| `experiments` | A/B test admin CRUD |
|
|
112
|
+
| `ai` | model / completion admin |
|
|
113
|
+
| `backups` | managed-data backup + restore |
|
|
114
|
+
| `certs` | TLS cert inspection |
|
|
115
|
+
| `consent`, `privacy` | GDPR / CCPA admin |
|
|
116
|
+
| `engagement`, `newsletter`, `referrals` | marketing admin |
|
|
117
|
+
| `runners` | self-hosted runner admin |
|
|
118
|
+
| `sessionReplay` | session-replay admin (runtime capture lives in `@sylphx/sdk/web-analytics`) |
|
|
119
|
+
| `monitoring` | metric / alert admin |
|
|
120
|
+
| `realtime` | channel admin (runtime pub/sub lives in `@sylphx/sdk`) |
|
|
121
|
+
| `search` | index admin (runtime queries live in `@sylphx/sdk`) |
|
|
122
|
+
| `serviceTokens` | service-token issuance + revocation |
|
|
123
|
+
|
|
124
|
+
Full, IDE-autocompleted surface is available on the re-exported
|
|
125
|
+
namespaces from the root `@sylphx/management` entry point.
|
|
126
|
+
|
|
127
|
+
> **Plane discipline (ADR-083).** Runtime BaaS verbs — `kv.*`, `email.send`,
|
|
128
|
+
> `notifications.send`, MFA `challenge.*`, `flags.evaluate`,
|
|
129
|
+
> `analytics.track` — are **not** part of `@sylphx/management`. Deployed
|
|
130
|
+
> applications (both server-side and browser-side) use
|
|
131
|
+
> [`@sylphx/sdk`](https://www.npmjs.com/package/@sylphx/sdk) with its
|
|
132
|
+
> peer-dep-gated entry points (`@sylphx/sdk`, `@sylphx/sdk/react`,
|
|
133
|
+
> `@sylphx/sdk/server`, `@sylphx/sdk/nextjs`,
|
|
134
|
+
> `@sylphx/sdk/web-analytics`).
|
|
121
135
|
|
|
122
136
|
## Error Handling
|
|
123
137
|
|
|
138
|
+
Every non-2xx response throws a single error type. Consumers discriminate on
|
|
139
|
+
`status` or match on `body` shape.
|
|
140
|
+
|
|
124
141
|
```typescript
|
|
125
|
-
import {
|
|
142
|
+
import { ApiError } from '@sylphx/management'
|
|
143
|
+
import * as projects from '@sylphx/management/projects'
|
|
126
144
|
|
|
127
145
|
try {
|
|
128
|
-
await
|
|
146
|
+
await projects.delete(client, 'non-existent')
|
|
129
147
|
} catch (err) {
|
|
130
|
-
if (err instanceof
|
|
148
|
+
if (err instanceof ApiError) {
|
|
131
149
|
console.error(`API Error ${err.status}: ${err.message}`)
|
|
132
150
|
}
|
|
133
151
|
}
|
|
134
152
|
```
|
|
135
153
|
|
|
154
|
+
## Architecture
|
|
155
|
+
|
|
156
|
+
- **Contract-first** (ADR-084). Every type in this SDK — `Project`,
|
|
157
|
+
`Deployment`, `EnvVar`, request / response envelopes — is imported from
|
|
158
|
+
[`@sylphx/contract`](https://www.npmjs.com/package/@sylphx/contract). Hand-written type
|
|
159
|
+
shims are a bug. Adding a new capability starts with a contract entry,
|
|
160
|
+
not this package.
|
|
161
|
+
- **Promise-first, Effect-free public surface.** The server uses Effect-TS
|
|
162
|
+
internally (ADR-058), but no Effect types leak through the published
|
|
163
|
+
`.d.ts` — consumers see plain `Promise<T>`.
|
|
164
|
+
- **Immutable value type `Client`.** Cheap to construct, safe to share
|
|
165
|
+
across parallel calls. No hidden globals, no singletons.
|
|
166
|
+
- **ESM-only, tree-shakable.** `"type": "module"`, `sideEffects: false`,
|
|
167
|
+
per-namespace subpath exports.
|
|
168
|
+
- See [ADR-077](https://github.com/SylphxAI/platform/blob/main/docs/adr/ADR-077-trio-completeness.md)
|
|
169
|
+
for the design rationale,
|
|
170
|
+
[ADR-083](https://github.com/SylphxAI/platform/blob/main/docs/adr/ADR-083-two-plane-sdk-architecture.md)
|
|
171
|
+
for the two-plane split,
|
|
172
|
+
[ADR-084](https://github.com/SylphxAI/platform/blob/main/docs/adr/ADR-084-effect-schema-contract.md)
|
|
173
|
+
for the contract SSOT.
|
|
174
|
+
|
|
175
|
+
## Agent integration
|
|
176
|
+
|
|
177
|
+
The `sylphx` CLI (built on top of this SDK) is the first-class agent surface
|
|
178
|
+
for Claude Code / Cursor / ChatGPT Apps. Sylphx does not ship a standalone
|
|
179
|
+
stdio MCP binary; if you want a bespoke MCP for your own workflows, compose
|
|
180
|
+
one directly on top of `@sylphx/management` — every method is a pure
|
|
181
|
+
`Promise<T>` and fully typed from `@sylphx/contract`.
|
|
182
|
+
|
|
183
|
+
## Related packages
|
|
184
|
+
|
|
185
|
+
- [`@sylphx/contract`](https://www.npmjs.com/package/@sylphx/contract) —
|
|
186
|
+
Effect Schema SSOT this SDK derives its types from (peer).
|
|
187
|
+
- [`@sylphx/sdk`](https://www.npmjs.com/package/@sylphx/sdk) — runtime
|
|
188
|
+
BaaS SDK for deployed apps (different plane).
|
|
189
|
+
- [`@sylphx/cli`](https://www.npmjs.com/package/@sylphx/cli) — interactive
|
|
190
|
+
CLI built on this SDK.
|
|
191
|
+
|
|
136
192
|
## License
|
|
137
193
|
|
|
138
|
-
MIT
|
|
194
|
+
MIT — see [LICENSE](./LICENSE).
|
package/dist/admin.d.ts
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-admin (superuser) surface — quotas, audit logs, invitations,
|
|
3
|
+
* JWT key rotation, plan governance. Consumed by the internal Console
|
|
4
|
+
* "Admin" sections; ordinary operators do not call these.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors `apps/api/src/server/platform/routes/admin/**`. Paths are
|
|
7
|
+
* sourced from `@sylphx/contract` admin-* endpoint modules.
|
|
8
|
+
*/
|
|
9
|
+
import type { Client } from './client.js';
|
|
10
|
+
export interface ProjectQuota {
|
|
11
|
+
readonly resource: string;
|
|
12
|
+
readonly limit: number;
|
|
13
|
+
readonly usage: number;
|
|
14
|
+
readonly windowSeconds: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const getProjectQuotas: (client: Client, projectId: string) => Promise<{
|
|
17
|
+
quotas: readonly ProjectQuota[];
|
|
18
|
+
}>;
|
|
19
|
+
export declare const getQuotaStats: (client: Client, projectId: string) => Promise<Record<string, number>>;
|
|
20
|
+
export declare const getQuotaAlerts: (client: Client, projectId: string) => Promise<{
|
|
21
|
+
alerts: readonly {
|
|
22
|
+
readonly id: string;
|
|
23
|
+
readonly resource: string;
|
|
24
|
+
readonly firedAt: string;
|
|
25
|
+
}[];
|
|
26
|
+
}>;
|
|
27
|
+
export declare const updateProjectQuotas: (client: Client, projectId: string, body: {
|
|
28
|
+
readonly quotas: readonly {
|
|
29
|
+
readonly resource: string;
|
|
30
|
+
readonly limit: number;
|
|
31
|
+
}[];
|
|
32
|
+
}) => Promise<{
|
|
33
|
+
quotas: readonly ProjectQuota[];
|
|
34
|
+
}>;
|
|
35
|
+
export declare const acknowledgeQuotaAlert: (client: Client, alertId: string) => Promise<{
|
|
36
|
+
success: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
export interface AuditLogEntry {
|
|
39
|
+
readonly id: string;
|
|
40
|
+
readonly actor: string;
|
|
41
|
+
readonly action: string;
|
|
42
|
+
readonly target: string;
|
|
43
|
+
readonly at: string;
|
|
44
|
+
readonly metadata: Record<string, unknown>;
|
|
45
|
+
}
|
|
46
|
+
export declare const getAuditLogs: (client: Client, query?: {
|
|
47
|
+
readonly from?: string;
|
|
48
|
+
readonly to?: string;
|
|
49
|
+
readonly actor?: string;
|
|
50
|
+
}) => Promise<{
|
|
51
|
+
logs: readonly AuditLogEntry[];
|
|
52
|
+
}>;
|
|
53
|
+
export declare const getAuditActivity: (client: Client) => Promise<{
|
|
54
|
+
entries: readonly AuditLogEntry[];
|
|
55
|
+
}>;
|
|
56
|
+
export interface Invitation {
|
|
57
|
+
readonly id: string;
|
|
58
|
+
readonly email: string;
|
|
59
|
+
readonly role: string;
|
|
60
|
+
readonly orgId: string | null;
|
|
61
|
+
readonly invitedBy: string;
|
|
62
|
+
readonly createdAt: string;
|
|
63
|
+
readonly expiresAt: string;
|
|
64
|
+
readonly acceptedAt: string | null;
|
|
65
|
+
}
|
|
66
|
+
export declare const listInvitations: (client: Client) => Promise<{
|
|
67
|
+
invitations: readonly Invitation[];
|
|
68
|
+
}>;
|
|
69
|
+
export declare const createInvitation: (client: Client, body: {
|
|
70
|
+
readonly email: string;
|
|
71
|
+
readonly role: string;
|
|
72
|
+
readonly orgId?: string;
|
|
73
|
+
}) => Promise<{
|
|
74
|
+
invitation: Invitation;
|
|
75
|
+
}>;
|
|
76
|
+
export declare const revokeInvitation: (client: Client, id: string) => Promise<{
|
|
77
|
+
success: boolean;
|
|
78
|
+
}>;
|
|
79
|
+
export declare const resendInvitation: (client: Client, id: string) => Promise<{
|
|
80
|
+
invitation: Invitation;
|
|
81
|
+
}>;
|
|
82
|
+
export interface JwtKey {
|
|
83
|
+
readonly id: string;
|
|
84
|
+
readonly alg: string;
|
|
85
|
+
readonly status: 'active' | 'retired';
|
|
86
|
+
readonly createdAt: string;
|
|
87
|
+
readonly retiredAt: string | null;
|
|
88
|
+
}
|
|
89
|
+
export declare const listJwtKeys: (client: Client) => Promise<{
|
|
90
|
+
keys: readonly JwtKey[];
|
|
91
|
+
}>;
|
|
92
|
+
export declare const rotateJwtKeys: (client: Client) => Promise<{
|
|
93
|
+
newKey: JwtKey;
|
|
94
|
+
}>;
|
|
95
|
+
export declare const retireJwtKey: (client: Client, keyId: string) => Promise<{
|
|
96
|
+
key: JwtKey;
|
|
97
|
+
}>;
|
|
98
|
+
/**
|
|
99
|
+
* Trigger a project migration between regions. Phase 4b Matrix-2 gap.
|
|
100
|
+
* Underlying endpoint on the platform API is
|
|
101
|
+
* `POST /operator/projects/:id/migrate` — the SDK wraps it directly rather
|
|
102
|
+
* than going through `adminProjectsEndpoints` because migration is its
|
|
103
|
+
* own operational concern (drain → cut-over → warm-up).
|
|
104
|
+
*/
|
|
105
|
+
export declare const migrateProject: (client: Client, projectId: string, body: {
|
|
106
|
+
readonly targetRegion: string;
|
|
107
|
+
readonly strategy?: "drain-cutover" | "live-replication";
|
|
108
|
+
readonly dryRun?: boolean;
|
|
109
|
+
}) => Promise<{
|
|
110
|
+
jobId: string;
|
|
111
|
+
startedAt: string;
|
|
112
|
+
}>;
|
|
113
|
+
/**
|
|
114
|
+
* Regenerate an environment's deploy / API key. Already exposed on
|
|
115
|
+
* `adminProjectsEndpoints.regenerateKey`; surfaced here under the `admin`
|
|
116
|
+
* namespace so Console wiring is one-stop.
|
|
117
|
+
*/
|
|
118
|
+
export declare const regenerateEnvironmentKey: (client: Client, environmentId: string) => Promise<{
|
|
119
|
+
key: string;
|
|
120
|
+
keyId: string;
|
|
121
|
+
}>;
|
|
122
|
+
export interface AdminUserView {
|
|
123
|
+
readonly id: string;
|
|
124
|
+
readonly email: string;
|
|
125
|
+
readonly role: string;
|
|
126
|
+
readonly createdAt: string;
|
|
127
|
+
readonly lastSeenAt: string | null;
|
|
128
|
+
readonly suspended: boolean;
|
|
129
|
+
}
|
|
130
|
+
export declare const listUsers: (client: Client) => Promise<{
|
|
131
|
+
users: readonly AdminUserView[];
|
|
132
|
+
}>;
|
|
133
|
+
export declare const getUser: (client: Client, userId: string) => Promise<{
|
|
134
|
+
user: AdminUserView;
|
|
135
|
+
}>;
|
|
136
|
+
export declare const updateUserRole: (client: Client, userId: string, body: {
|
|
137
|
+
readonly role: string;
|
|
138
|
+
}) => Promise<{
|
|
139
|
+
user: AdminUserView;
|
|
140
|
+
}>;
|
|
141
|
+
/**
|
|
142
|
+
* L-15 (2026-05-02): manually verify a user's email. Super-admin only on the
|
|
143
|
+
* platform tenant. The Management API endpoint exists at
|
|
144
|
+
* `POST /admin/users/users/:userId/verify-email`; the SDK helper was the
|
|
145
|
+
* missing piece blocking operators from validating the new-user E2E flow
|
|
146
|
+
* without (a) a real email inbox or (b) a forbidden direct DB UPDATE.
|
|
147
|
+
*/
|
|
148
|
+
export declare const verifyUserEmail: (client: Client, userId: string) => Promise<{
|
|
149
|
+
readonly id: string;
|
|
150
|
+
readonly email: string;
|
|
151
|
+
}>;
|
|
152
|
+
/**
|
|
153
|
+
* L-15 (2026-05-02): soft-delete a platform user. Super-admin only;
|
|
154
|
+
* cannot delete oneself. Existing sessions are revoked first.
|
|
155
|
+
*/
|
|
156
|
+
export declare const deleteUser: (client: Client, userId: string) => Promise<{
|
|
157
|
+
readonly id: string;
|
|
158
|
+
readonly email: string;
|
|
159
|
+
}>;
|
|
160
|
+
/**
|
|
161
|
+
* L-15 (2026-05-02): revoke ALL sessions for a user (force re-login).
|
|
162
|
+
* Super-admin only.
|
|
163
|
+
*/
|
|
164
|
+
export declare const revokeUserSessions: (client: Client, userId: string) => Promise<{
|
|
165
|
+
readonly userId: string;
|
|
166
|
+
readonly revokedCount: number;
|
|
167
|
+
}>;
|
|
168
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|