@sylphx/management
v0.1.0
Published
Sylphx Management SDK — programmatic access to the Sylphx Platform API
Downloads
219
Readme
@sylphx/management
Programmatic access to the Sylphx Platform Management API.
Installation
bun add @sylphx/management
# or
npm install @sylphx/managementQuick Start
import { SylphxManagement } from '@sylphx/management'
const mgmt = new SylphxManagement({
token: process.env.SYLPHX_TOKEN!,
// baseUrl: 'https://api.sylphx.com' (default)
})
// List projects
const projects = await mgmt.projects.list()
// Trigger a deployment
await mgmt.deployments.trigger('my-project-id', 'production')
// List env vars
const vars = await mgmt.envVars.list('my-project-id', 'production')API
All methods are namespaced under the SylphxManagement instance:
mgmt.user
whoami()— Get current user and orgs
mgmt.projects
list()— List all projectscreate(data)— Create a new projectdelete(id)— Delete a project
mgmt.deployments
status(projectId)— Get deployment statustrigger(projectId, envType)— Trigger a deployhistory(projectId, envType)— Get deployment historyrollback(projectId, body)— Rollback to a previous deploy
mgmt.environments
list(projectId)— List environmentsresolveId(projectId, envType)— Resolve envType → envIdpromote(projectId, targetEnvId, sourceEnvId)— Promote an environment
mgmt.envVars
list(projectId, envType)— List env varsset(projectId, key, value, envType, secret?)— Set a single env varsetMany(projectId, vars, envType)— Batch-set env varsdelete(projectId, key, envType)— Delete an env var
mgmt.domains
list(projectId, envType?)— List apex domainscreate(projectId, apexDomain, envType?)— Register a domainaddHostname(projectId, domainId, hostname, opts?)— Add a hostnameremoveHostname(projectId, domainId, hostnameId)— Remove a hostnamecheckHostname(projectId, domainId, hostnameId)— Check DNS for hostnameenableEmail(projectId, domainId, opts?)— Enable email sendingcheckEmail(projectId, domainId)— Check email DNS propagationdisableEmail(projectId, domainId)— Disable email sending
mgmt.databases
list()— List all databasescreate(data)— Provision a databaseget(id)— Get database detailsdelete(id)— Delete a databasebranch(id, data)— Branch a database
mgmt.services
list(projectId)— List servicesget(projectId, name)— Get a servicedeploy(projectId, name, envType)— Deploy a servicedelete(projectId, name)— Delete a service
mgmt.volumes
list(projectId)— List volumescreate(projectId, data)— Create a volumedelete(projectId, volId)— Delete a volume
mgmt.storage
list(projectId, envType?)— List storage resourcescreate(projectId, data)— Provision storagedelete(projectId, storageId)— Delete storage
mgmt.config
list(projectId, envType?)— List config keysget(projectId, key, envType?)— Get a config keyset(projectId, key, value, envType?)— Set a config keydelete(projectId, key, envType?)— Delete a config key
mgmt.tasks
list(projectId, envType?)— List task definitionscreate(projectId, data)— Create/update a taskget(projectId, taskId)— Get a taskupdate(projectId, taskId, data)— Update a taskdelete(projectId, taskId)— Delete a task
mgmt.resources
listBindings(resourceId)— List resource bindingsbind(resourceId, data)— Bind a resource to a project envunbind(resourceId, bindingId)— Unbind a resource
mgmt.org
current()— Get current orglistMembers(orgId)— List org membersinviteMember(orgId, email, role)— Invite a memberremoveMember(orgId, userId)— Remove a member
mgmt.logs
stream(projectId, envType)— Get{ url, token }for SSE log streaming
Error Handling
import { ManagementApiError } from '@sylphx/management'
try {
await mgmt.projects.delete('non-existent')
} catch (err) {
if (err instanceof ManagementApiError) {
console.error(`API Error ${err.status}: ${err.message}`)
}
}License
MIT
