@vtriv/sdk 0.1.0 → 0.1.2
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/README.md +415 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -0
- package/dist/services/auth.d.ts +13 -1
- package/dist/services/auth.d.ts.map +1 -1
- package/dist/types.d.ts +10 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -2
package/README.md
ADDED
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
# vtriv TypeScript SDK
|
|
2
|
+
|
|
3
|
+
Official TypeScript SDK for vtriv backend services. Provides a unified client for auth, database, blob storage, search, AI, and cron services.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @vtriv/sdk
|
|
9
|
+
# or
|
|
10
|
+
npm install @vtriv/sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { VtrivClient } from "@vtriv/sdk";
|
|
17
|
+
|
|
18
|
+
// Backend mode (server-side with API key)
|
|
19
|
+
const vtriv = new VtrivClient({
|
|
20
|
+
baseUrl: "https://api.vtriv.com",
|
|
21
|
+
project: "my-app",
|
|
22
|
+
apiKey: "vtriv_sk_...",
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Create a document
|
|
26
|
+
const doc = await vtriv.db.create("posts", {
|
|
27
|
+
title: "Hello World",
|
|
28
|
+
status: "draft",
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
// Upload a file
|
|
32
|
+
await vtriv.blob.upload("images/photo.jpg", file);
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Client Modes
|
|
36
|
+
|
|
37
|
+
The SDK supports three authentication modes:
|
|
38
|
+
|
|
39
|
+
### Admin Mode
|
|
40
|
+
|
|
41
|
+
For platform operators with root or account keys. Used for managing projects, accounts, and API keys.
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
const admin = new VtrivClient({
|
|
45
|
+
baseUrl: "https://api.vtriv.com",
|
|
46
|
+
adminKey: "vtriv_rk_...", // or vtriv_ak_...
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Create a project
|
|
50
|
+
await admin.auth.createProject("new-app");
|
|
51
|
+
|
|
52
|
+
// Create an API key
|
|
53
|
+
const { api_key } = await admin.auth.createApiKey("new-app", "Backend Key");
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Backend Mode
|
|
57
|
+
|
|
58
|
+
For server-side applications with API keys. The SDK uses the API key directly for service calls.
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
const backend = new VtrivClient({
|
|
62
|
+
baseUrl: "https://api.vtriv.com",
|
|
63
|
+
project: "my-app",
|
|
64
|
+
apiKey: "vtriv_sk_...",
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// Mint tokens for users
|
|
68
|
+
const { token } = await backend.auth.mintToken({ sub: "user-123" });
|
|
69
|
+
|
|
70
|
+
// Use services directly
|
|
71
|
+
const posts = await backend.db.list("posts");
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Frontend Mode
|
|
75
|
+
|
|
76
|
+
For client-side applications with JWT tokens. Includes automatic token refresh.
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
const frontend = new VtrivClient({
|
|
80
|
+
baseUrl: "https://api.vtriv.com",
|
|
81
|
+
project: "my-app",
|
|
82
|
+
accessToken: "eyJ...",
|
|
83
|
+
refreshToken: "eyJ...",
|
|
84
|
+
onTokenRefresh: (tokens) => {
|
|
85
|
+
// Persist new tokens (e.g., localStorage)
|
|
86
|
+
localStorage.setItem("tokens", JSON.stringify(tokens));
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// Login
|
|
91
|
+
const tokens = await frontend.auth.login({
|
|
92
|
+
email: "user@example.com",
|
|
93
|
+
password: "secret",
|
|
94
|
+
});
|
|
95
|
+
frontend.setTokens(tokens);
|
|
96
|
+
|
|
97
|
+
// Use services with automatic token refresh
|
|
98
|
+
const posts = await frontend.db.list("posts");
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Services
|
|
102
|
+
|
|
103
|
+
### Auth Service
|
|
104
|
+
|
|
105
|
+
User authentication and management.
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
// User authentication (frontend)
|
|
109
|
+
await vtriv.auth.register({ email, password });
|
|
110
|
+
await vtriv.auth.login({ email, password });
|
|
111
|
+
await vtriv.auth.logout();
|
|
112
|
+
await vtriv.auth.refresh(refreshToken);
|
|
113
|
+
|
|
114
|
+
// Magic links
|
|
115
|
+
await vtriv.auth.sendMagicLink(email);
|
|
116
|
+
await vtriv.auth.verifyMagicLink(token);
|
|
117
|
+
|
|
118
|
+
// User management (admin/backend)
|
|
119
|
+
await vtriv.auth.createUser({ email, password, role: "admin" });
|
|
120
|
+
await vtriv.auth.listUsers();
|
|
121
|
+
await vtriv.auth.getUser(userId);
|
|
122
|
+
await vtriv.auth.updateUser(userId, { role: "editor" });
|
|
123
|
+
await vtriv.auth.deleteUser(userId);
|
|
124
|
+
|
|
125
|
+
// Token minting (backend)
|
|
126
|
+
await vtriv.auth.mintToken({ sub: "user-123", expires_in: 3600 });
|
|
127
|
+
await vtriv.auth.mintToken({ template: "ai-enabled" });
|
|
128
|
+
|
|
129
|
+
// Template management
|
|
130
|
+
await vtriv.auth.templates();
|
|
131
|
+
await vtriv.auth.getTemplate("default");
|
|
132
|
+
await vtriv.auth.setTemplate("ai-enabled", { claims: { "x-ai": true } });
|
|
133
|
+
await vtriv.auth.deleteTemplate("ai-enabled");
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Database Service
|
|
137
|
+
|
|
138
|
+
Document storage with automatic timestamps.
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
// CRUD operations
|
|
142
|
+
const doc = await vtriv.db.create("posts", { title: "Hello" });
|
|
143
|
+
const post = await vtriv.db.get("posts", doc.id);
|
|
144
|
+
const updated = await vtriv.db.update("posts", doc.id, { status: "published" });
|
|
145
|
+
await vtriv.db.delete("posts", doc.id);
|
|
146
|
+
|
|
147
|
+
// List with filters
|
|
148
|
+
const { data, cursor } = await vtriv.db.list("posts", {
|
|
149
|
+
filter: { status: "published" },
|
|
150
|
+
limit: 20,
|
|
151
|
+
sort: "-_created_at",
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// Pagination
|
|
155
|
+
const page2 = await vtriv.db.list("posts", { cursor });
|
|
156
|
+
|
|
157
|
+
// Schema management
|
|
158
|
+
await vtriv.db.setSchema("posts", {
|
|
159
|
+
indexes: ["status", "author_id"],
|
|
160
|
+
unique: ["slug"],
|
|
161
|
+
});
|
|
162
|
+
const schema = await vtriv.db.getSchema("posts");
|
|
163
|
+
|
|
164
|
+
// Batch operations
|
|
165
|
+
const results = await vtriv.db.batch([
|
|
166
|
+
{ method: "POST", collection: "posts", body: { title: "Post 1" } },
|
|
167
|
+
{ method: "POST", collection: "posts", body: { title: "Post 2" } },
|
|
168
|
+
{ method: "DELETE", collection: "posts", id: "old-post-id" },
|
|
169
|
+
]);
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Blob Service
|
|
173
|
+
|
|
174
|
+
File storage with presigned URLs.
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
// Upload
|
|
178
|
+
await vtriv.blob.upload("images/photo.jpg", file);
|
|
179
|
+
await vtriv.blob.upload("docs/report.pdf", buffer, {
|
|
180
|
+
contentType: "application/pdf",
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
// Download
|
|
184
|
+
const blob = await vtriv.blob.download("images/photo.jpg");
|
|
185
|
+
const url = await vtriv.blob.getUrl("images/photo.jpg"); // Presigned URL
|
|
186
|
+
|
|
187
|
+
// Delete
|
|
188
|
+
await vtriv.blob.delete("images/photo.jpg");
|
|
189
|
+
|
|
190
|
+
// Presigned upload URL (for direct client uploads)
|
|
191
|
+
const { url, fields } = await vtriv.blob.getUploadUrl("uploads/file.pdf");
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Search Service
|
|
195
|
+
|
|
196
|
+
Hybrid semantic + keyword search.
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
// Configure index
|
|
200
|
+
await vtriv.search.setConfig("posts", {
|
|
201
|
+
model: "openai/text-embedding-3-small",
|
|
202
|
+
dimensions: 1536,
|
|
203
|
+
input_fields: ["title", "body"],
|
|
204
|
+
store_fields: ["id", "title", "slug", "author_id"],
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
// Index documents
|
|
208
|
+
await vtriv.search.index("posts", {
|
|
209
|
+
id: "post-123",
|
|
210
|
+
title: "Introduction to AI",
|
|
211
|
+
body: "Artificial intelligence is...",
|
|
212
|
+
slug: "intro-ai",
|
|
213
|
+
author_id: "user-456",
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
// Search
|
|
217
|
+
const results = await vtriv.search.query("posts", "machine learning", {
|
|
218
|
+
limit: 10,
|
|
219
|
+
});
|
|
220
|
+
// Results: [{ id, data, distance }]
|
|
221
|
+
|
|
222
|
+
// Delete document
|
|
223
|
+
await vtriv.search.delete("posts", "post-123");
|
|
224
|
+
|
|
225
|
+
// Delete index
|
|
226
|
+
await vtriv.search.deleteIndex("posts");
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### AI Service
|
|
230
|
+
|
|
231
|
+
OpenRouter-backed completions and embeddings.
|
|
232
|
+
|
|
233
|
+
```typescript
|
|
234
|
+
// Chat completion
|
|
235
|
+
const response = await vtriv.ai.chat({
|
|
236
|
+
messages: [{ role: "user", content: "Hello!" }],
|
|
237
|
+
model: "openai/gpt-4o-mini",
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
// Streaming
|
|
241
|
+
const stream = await vtriv.ai.chatStream({
|
|
242
|
+
messages: [{ role: "user", content: "Tell me a story" }],
|
|
243
|
+
});
|
|
244
|
+
for await (const chunk of stream) {
|
|
245
|
+
process.stdout.write(chunk.choices[0]?.delta?.content || "");
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Embeddings
|
|
249
|
+
const embeddings = await vtriv.ai.embed({
|
|
250
|
+
input: ["Hello world", "Goodbye world"],
|
|
251
|
+
model: "openai/text-embedding-3-small",
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
// Config
|
|
255
|
+
await vtriv.ai.setConfig({
|
|
256
|
+
default_model: "openai/gpt-4o",
|
|
257
|
+
rate_limit_usd: 10.0,
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
// Usage stats
|
|
261
|
+
const stats = await vtriv.ai.getUsage({ period: "30d" });
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Cron Service
|
|
265
|
+
|
|
266
|
+
Scheduled job management.
|
|
267
|
+
|
|
268
|
+
```typescript
|
|
269
|
+
// List jobs
|
|
270
|
+
const jobs = await vtriv.cron.listJobs();
|
|
271
|
+
|
|
272
|
+
// Get job
|
|
273
|
+
const job = await vtriv.cron.getJob("daily-backup");
|
|
274
|
+
|
|
275
|
+
// Upload script
|
|
276
|
+
await vtriv.cron.uploadScript("backup.ts", scriptContent);
|
|
277
|
+
|
|
278
|
+
// Create/update jobs
|
|
279
|
+
await vtriv.cron.setJobs([
|
|
280
|
+
{
|
|
281
|
+
id: "daily-backup",
|
|
282
|
+
name: "Daily Backup",
|
|
283
|
+
schedule: "0 2 * * *",
|
|
284
|
+
script: "backup.ts",
|
|
285
|
+
api_key: "vtriv_sk_...",
|
|
286
|
+
},
|
|
287
|
+
]);
|
|
288
|
+
|
|
289
|
+
// Trigger manually
|
|
290
|
+
await vtriv.cron.trigger("daily-backup");
|
|
291
|
+
|
|
292
|
+
// View run history
|
|
293
|
+
const runs = await vtriv.cron.getRuns({ limit: 50 });
|
|
294
|
+
const jobRuns = await vtriv.cron.getRuns({ job_id: "daily-backup" });
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## Service URL Configuration
|
|
298
|
+
|
|
299
|
+
The SDK expects each service to be at its own base URL. There are two common deployment patterns:
|
|
300
|
+
|
|
301
|
+
### Path-Based Routing (Recommended)
|
|
302
|
+
|
|
303
|
+
When using a single domain with path-based routing (e.g., Traefik, nginx):
|
|
304
|
+
|
|
305
|
+
```typescript
|
|
306
|
+
const vtriv = new VtrivClient(
|
|
307
|
+
{
|
|
308
|
+
baseUrl: "https://api.vtriv.com",
|
|
309
|
+
project: "my-app",
|
|
310
|
+
apiKey: "vtriv_sk_...",
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
auth: "https://api.vtriv.com/auth",
|
|
314
|
+
db: "https://api.vtriv.com/db",
|
|
315
|
+
blob: "https://api.vtriv.com/blob",
|
|
316
|
+
search: "https://api.vtriv.com/search",
|
|
317
|
+
ai: "https://api.vtriv.com/ai",
|
|
318
|
+
cron: "https://api.vtriv.com/cron",
|
|
319
|
+
}
|
|
320
|
+
);
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### Separate Domains
|
|
324
|
+
|
|
325
|
+
When each service has its own domain:
|
|
326
|
+
|
|
327
|
+
```typescript
|
|
328
|
+
const vtriv = new VtrivClient(
|
|
329
|
+
{
|
|
330
|
+
baseUrl: "https://api.vtriv.com",
|
|
331
|
+
project: "my-app",
|
|
332
|
+
apiKey: "vtriv_sk_...",
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
auth: "https://auth.vtriv.com",
|
|
336
|
+
db: "https://db.vtriv.com",
|
|
337
|
+
blob: "https://blob.vtriv.com",
|
|
338
|
+
search: "https://search.vtriv.com",
|
|
339
|
+
ai: "https://ai.vtriv.com",
|
|
340
|
+
cron: "https://cron.vtriv.com",
|
|
341
|
+
}
|
|
342
|
+
);
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
**Note:** If `serviceUrls` is not provided, the SDK uses `baseUrl` for all services. This only works if each service is at the root of its own domain (e.g., `baseUrl: "https://db.vtriv.com"` for db-only access).
|
|
346
|
+
|
|
347
|
+
## Error Handling
|
|
348
|
+
|
|
349
|
+
```typescript
|
|
350
|
+
import { VtrivError, NotFoundError, UnauthorizedError } from "@vtriv/sdk";
|
|
351
|
+
|
|
352
|
+
try {
|
|
353
|
+
await vtriv.db.get("posts", "nonexistent");
|
|
354
|
+
} catch (error) {
|
|
355
|
+
if (error instanceof NotFoundError) {
|
|
356
|
+
console.log("Document not found");
|
|
357
|
+
} else if (error instanceof UnauthorizedError) {
|
|
358
|
+
console.log("Invalid or expired token");
|
|
359
|
+
} else if (error instanceof VtrivError) {
|
|
360
|
+
console.log(`API error: ${error.message}`);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
## Types
|
|
366
|
+
|
|
367
|
+
All types are exported for TypeScript users:
|
|
368
|
+
|
|
369
|
+
```typescript
|
|
370
|
+
import type {
|
|
371
|
+
// Client config
|
|
372
|
+
VtrivConfig,
|
|
373
|
+
VtrivAdminConfig,
|
|
374
|
+
VtrivBackendConfig,
|
|
375
|
+
VtrivClientConfig,
|
|
376
|
+
|
|
377
|
+
// Auth
|
|
378
|
+
TokenPair,
|
|
379
|
+
User,
|
|
380
|
+
ApiKey,
|
|
381
|
+
TokenTemplate,
|
|
382
|
+
MintTokenRequest,
|
|
383
|
+
|
|
384
|
+
// DB
|
|
385
|
+
Document,
|
|
386
|
+
CollectionSchema,
|
|
387
|
+
ListOptions,
|
|
388
|
+
ListResponse,
|
|
389
|
+
BatchOperation,
|
|
390
|
+
|
|
391
|
+
// Blob
|
|
392
|
+
UploadResponse,
|
|
393
|
+
PresignedUrlResponse,
|
|
394
|
+
|
|
395
|
+
// Search
|
|
396
|
+
IndexConfig,
|
|
397
|
+
SearchDocument,
|
|
398
|
+
SearchResult,
|
|
399
|
+
|
|
400
|
+
// AI
|
|
401
|
+
ChatMessage,
|
|
402
|
+
ChatCompletionRequest,
|
|
403
|
+
ChatCompletionResponse,
|
|
404
|
+
EmbeddingRequest,
|
|
405
|
+
UsageStats,
|
|
406
|
+
|
|
407
|
+
// Cron
|
|
408
|
+
CronJob,
|
|
409
|
+
JobRun,
|
|
410
|
+
} from "@vtriv/sdk";
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## License
|
|
414
|
+
|
|
415
|
+
Private - Part of vtriv meta-project
|
package/dist/index.d.ts
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
export { type ServiceUrls, VtrivClient } from "./client.js";
|
|
7
7
|
export { AuthenticationError, AuthorizationError, NetworkError, NotFoundError, RateLimitError, TokenExpiredError, ValidationError, VtrivError, } from "./errors.js";
|
|
8
8
|
export { AiService } from "./services/ai.js";
|
|
9
|
-
export { AuthService } from "./services/auth.js";
|
|
9
|
+
export { AuthService, type TemplatesApi } from "./services/auth.js";
|
|
10
10
|
export { BlobService } from "./services/blob.js";
|
|
11
11
|
export { CronService } from "./services/cron.js";
|
|
12
12
|
export { type CollectionApi, DbService } from "./services/db.js";
|
|
13
13
|
export { type IndexApi, SearchService } from "./services/search.js";
|
|
14
|
-
export type { Account, AccountCreateResponse, AccountWithProjects, AiConfig, ApiKey, ApiKeyCreateResponse, BatchOperation, BatchResult, ChatCompletionChunk, ChatCompletionRequest, ChatCompletionResponse, ChatMessage, CollectionSchema, CreateUserData, CronJob, CronJobWithKey, Document, EmbeddingRequest, EmbeddingResponse, ErrorResponse, IndexConfig, JobRun, ListOptions, ListResponse, LoginCredentials, MintTokenRequest, OkResponse, PresignedUrlResponse, ProjectConfig, RegisterData, SearchDocument, SearchOptions, SearchResult, TokenPair, UpdateUserData, UploadResponse, UsageStats, User, VtrivAdminConfig, VtrivBackendConfig, VtrivClientConfig, VtrivConfig, } from "./types.js";
|
|
14
|
+
export type { Account, AccountCreateResponse, AccountWithProjects, AiConfig, ApiKey, ApiKeyCreateResponse, BatchOperation, BatchResult, ChatCompletionChunk, ChatCompletionRequest, ChatCompletionResponse, ChatMessage, CollectionSchema, CreateUserData, CronJob, CronJobWithKey, Document, EmbeddingRequest, EmbeddingResponse, ErrorResponse, IndexConfig, JobRun, ListOptions, ListResponse, LoginCredentials, MintTokenRequest, OkResponse, PresignedUrlResponse, ProjectConfig, RegisterData, SearchDocument, SearchOptions, SearchResult, TokenPair, TokenTemplate, UpdateUserData, UploadResponse, UsageStats, User, VtrivAdminConfig, VtrivBackendConfig, VtrivClientConfig, VtrivConfig, } from "./types.js";
|
|
15
15
|
export { decodeJwt, getTokenExpiresIn, isTokenExpired, TokenManager, } from "./utils/token.js";
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,KAAK,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEpE,YAAY,EACX,OAAO,EACP,qBAAqB,EACrB,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EAEtB,WAAW,EACX,gBAAgB,EAChB,cAAc,EAEd,OAAO,EACP,cAAc,EAEd,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EAEb,WAAW,EACX,MAAM,EACN,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEhB,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EAEZ,SAAS,EACT,aAAa,EACb,cAAc,EAEd,cAAc,EACd,UAAU,EACV,IAAI,EAEJ,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EACN,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,YAAY,GACZ,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -435,6 +435,32 @@ class AuthService {
|
|
|
435
435
|
}
|
|
436
436
|
};
|
|
437
437
|
}
|
|
438
|
+
templates(projectName) {
|
|
439
|
+
const project = projectName || this.project;
|
|
440
|
+
if (!project) {
|
|
441
|
+
throw new Error("Project name required for template management");
|
|
442
|
+
}
|
|
443
|
+
return {
|
|
444
|
+
list: async () => {
|
|
445
|
+
const res = await request(this.authCtx, `/${project}/templates`);
|
|
446
|
+
return res.templates;
|
|
447
|
+
},
|
|
448
|
+
get: async (name) => {
|
|
449
|
+
return request(this.authCtx, `/${project}/templates/${name}`);
|
|
450
|
+
},
|
|
451
|
+
set: async (name, template) => {
|
|
452
|
+
return request(this.authCtx, `/${project}/templates/${name}`, {
|
|
453
|
+
method: "PUT",
|
|
454
|
+
body: template
|
|
455
|
+
});
|
|
456
|
+
},
|
|
457
|
+
delete: async (name) => {
|
|
458
|
+
return request(this.authCtx, `/${project}/templates/${name}`, {
|
|
459
|
+
method: "DELETE"
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
};
|
|
463
|
+
}
|
|
438
464
|
async mintToken(req = {}) {
|
|
439
465
|
if (!this.project) {
|
|
440
466
|
throw new Error("Project name required for minting tokens");
|
package/dist/services/auth.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles authentication, user management, and token minting
|
|
5
5
|
*/
|
|
6
|
-
import type { Account, AccountCreateResponse, AccountWithProjects, ApiKey, ApiKeyCreateResponse, CreateUserData, LoginCredentials, MintTokenRequest, OkResponse, ProjectConfig, RegisterData, TokenPair, UpdateUserData, User } from "../types.js";
|
|
6
|
+
import type { Account, AccountCreateResponse, AccountWithProjects, ApiKey, ApiKeyCreateResponse, CreateUserData, LoginCredentials, MintTokenRequest, OkResponse, ProjectConfig, RegisterData, TokenPair, TokenTemplate, UpdateUserData, User } from "../types.js";
|
|
7
7
|
import type { FetchContext } from "../utils/fetch.js";
|
|
8
8
|
import type { TokenManager } from "../utils/token.js";
|
|
9
9
|
export interface AccountsApi {
|
|
@@ -48,6 +48,16 @@ export interface ApiKeysApi {
|
|
|
48
48
|
/** Delete an API key */
|
|
49
49
|
delete(id: string): Promise<OkResponse>;
|
|
50
50
|
}
|
|
51
|
+
export interface TemplatesApi {
|
|
52
|
+
/** List all templates */
|
|
53
|
+
list(): Promise<Record<string, TokenTemplate>>;
|
|
54
|
+
/** Get a specific template */
|
|
55
|
+
get(name: string): Promise<TokenTemplate>;
|
|
56
|
+
/** Create or update a template */
|
|
57
|
+
set(name: string, template: TokenTemplate): Promise<OkResponse>;
|
|
58
|
+
/** Delete a template */
|
|
59
|
+
delete(name: string): Promise<OkResponse>;
|
|
60
|
+
}
|
|
51
61
|
export interface MeApi {
|
|
52
62
|
/** Get current user */
|
|
53
63
|
get(): Promise<User>;
|
|
@@ -75,6 +85,8 @@ export declare class AuthService {
|
|
|
75
85
|
users(projectName?: string): UsersAdminApi;
|
|
76
86
|
/** API key management - requires project context */
|
|
77
87
|
apiKeys(projectName?: string): ApiKeysApi;
|
|
88
|
+
/** Token template management - requires project context */
|
|
89
|
+
templates(projectName?: string): TemplatesApi;
|
|
78
90
|
/**
|
|
79
91
|
* Mint an arbitrary token (backend mode with API key)
|
|
80
92
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -56,6 +56,10 @@ export interface AccountCreateResponse {
|
|
|
56
56
|
account_key: string;
|
|
57
57
|
warning: string;
|
|
58
58
|
}
|
|
59
|
+
/** Token template definition */
|
|
60
|
+
export interface TokenTemplate {
|
|
61
|
+
claims: Record<string, unknown>;
|
|
62
|
+
}
|
|
59
63
|
/** Project configuration */
|
|
60
64
|
export interface ProjectConfig {
|
|
61
65
|
name: string;
|
|
@@ -79,6 +83,8 @@ export interface ProjectConfig {
|
|
|
79
83
|
access_expires_in: number;
|
|
80
84
|
refresh_expires_in: number;
|
|
81
85
|
};
|
|
86
|
+
/** Named token templates for minting arbitrary tokens */
|
|
87
|
+
token_templates: Record<string, TokenTemplate>;
|
|
82
88
|
}
|
|
83
89
|
/** User */
|
|
84
90
|
export interface User {
|
|
@@ -134,9 +140,12 @@ export interface UpdateUserData {
|
|
|
134
140
|
}
|
|
135
141
|
/** Token mint request */
|
|
136
142
|
export interface MintTokenRequest {
|
|
143
|
+
/** Subject claim (user ID) */
|
|
137
144
|
sub?: string;
|
|
145
|
+
/** Token TTL in seconds (default: 3600) */
|
|
138
146
|
expires_in?: number;
|
|
139
|
-
|
|
147
|
+
/** Named template to use (defaults to "default") */
|
|
148
|
+
template?: string;
|
|
140
149
|
}
|
|
141
150
|
/** Base document with system fields */
|
|
142
151
|
export interface Document {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC/B,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACxD,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;CACf;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACzD,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAMpF,sDAAsD;AACtD,MAAM,WAAW,SAAS;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,oCAAoC;AACpC,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,kCAAkC;AAClC,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IACnD,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,oDAAoD;AACpD,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,YAAY,EAAE;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACN,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kBAAkB,EAAE,MAAM,CAAC;KAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vtriv/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "TypeScript SDK for vtriv services",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,8 +19,10 @@
|
|
|
19
19
|
"build": "bun build ./src/index.ts --outdir ./dist --target browser && bun run build:types",
|
|
20
20
|
"build:types": "tsc --emitDeclarationOnly --declaration --outDir dist",
|
|
21
21
|
"test": "bun test",
|
|
22
|
+
"test:docker": "docker build -f Dockerfile.test -t vtriv-sdk-test . && docker run --rm vtriv-sdk-test",
|
|
22
23
|
"lint": "bunx @biomejs/biome check src",
|
|
23
|
-
"format": "bunx @biomejs/biome format --write src"
|
|
24
|
+
"format": "bunx @biomejs/biome format --write src",
|
|
25
|
+
"prepublishOnly": "bun run test:docker && bun run build"
|
|
24
26
|
},
|
|
25
27
|
"devDependencies": {
|
|
26
28
|
"@biomejs/biome": "latest",
|