cartridge-slot-sdk
v1.1.0
Published
TypeScript client for Cartridge Slot GraphQL API
Readme
Cartridge Slot TypeScript SDK
Unofficial TypeScript client for the Cartridge Slot GraphQL API with full type safety.
Installation
npm i cartridge-slot-sdkExamples
Check out the usage example to get started.
Usage
import { SlotClient, DeploymentTier } from 'cartridge-slot-sdk';
// Initialize the client
const client = new SlotClient({
authToken: 'your-auth-token',
apiUrl: 'https://api.cartridge.gg/query' // optional
});
// Create a Katana deployment
const deployment = await client.createDeployment({
project: 'my-project',
team: process.env.SLOT_TEAM || 'my-team',
tier: DeploymentTier.Basic,
wait: true,
service: {
katana: {
config: `chain_id = "mykatana"`,
},
},
});
console.log('Deployment created:', deployment.id);
// Create a Torii deployment
const toriiDeployment = await client.createDeployment({
project: 'my-torii-project',
team: process.env.SLOT_TEAM || 'my-team',
tier: DeploymentTier.Basic,
wait: true,
service: {
torii: {
config: `world_address = "0x585a28495ca41bece7640b0ccf2eff199ebe70cc381fa73cb34cc5721614fbd"
rpc = "https://api.cartridge.gg/x/starknet/sepolia"`,
},
},
});
console.log('Torii Deployment created:', toriiDeployment.id);
// Update a deployment
const updated = await client.updateDeployment({
project: 'my-project',
tier: DeploymentTier.Pro,
service: {
katana: {
config: `chain_id = "mykatana-updated"`,
}
},
});
console.log('Deployment updated:', updated.version);API
SlotClient
Constructor
new SlotClient(config: SlotClientConfig)config.authToken(required): Authentication token fromslot auth tokenconfig.apiUrl(optional): API endpoint URL (defaults to https://api.cartridge.gg/query)
Methods
createDeployment(input: CreateDeploymentInput): Promise<DeploymentResponse>
Create a new Katana or Torii deployment.
Parameters:
project: Deployment nameservice: Service configuration (katana or torii)tier: Deployment tier (Basic, Pro, Epic, Legendary)wait(optional): Wait for deployment to be readyregions(optional): Deployment regionsteam(optional): Team name
updateDeployment(input: UpdateDeploymentInput): Promise<DeploymentResponse>
Update an existing deployment.
Parameters:
project: Deployment nameservice: Service configuration to updatetier(optional): New deployment tierwait(optional): Wait for update to complete
