import { createApiKeySdk } from "keystash-sdk";
const sdk = createApiKeySdk({
baseUrl: "https://api.keystash.dev"
});
await sdk.account.connect(process.env.KEYSTASH_APP_KEY!);
const session = await sdk.runtime.sessions.create({
spaceId: "acme-prod",
endUserId: "user_123",
operationIds: ["summarize_ticket"]
});
const result = await sdk.runtime.invoke({
operationId: "summarize_ticket",
input: {
ticket: "Customer asks for refund after duplicate charge."
}
}, session.token);
{
"operationId": "op_01",
"operationSlug": "summarize_ticket",
"model": "openai/gpt-5.4-mini",
"outputText": "Duplicate charge. Refund likely. Escalate billing.",
"usage": {
"inputTokens": 212,
"outputTokens": 36,
"totalTokens": 248
}
}
const feature = await sdk.spaces.operations.create("acme-prod", {
title: "Summarize ticket",
slug: "summarize_ticket",
model: "openai/gpt-5.4-mini",
systemPrompt: "You summarize support tickets for internal agents.",
userTemplate: "Ticket:\n{{ticket}}\n\nReturn a concise summary.",
monthlyInvocationLimit: 10000,
allowedOrigins: ["https://app.acme.com"]
});