agent-media-cli 1.0.0

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.
Files changed (139) hide show
  1. package/LICENSE +199 -0
  2. package/README.md +59 -0
  3. package/dist/commands/alias.d.ts +3 -0
  4. package/dist/commands/alias.d.ts.map +1 -0
  5. package/dist/commands/alias.js +245 -0
  6. package/dist/commands/alias.js.map +1 -0
  7. package/dist/commands/apikey.d.ts +3 -0
  8. package/dist/commands/apikey.d.ts.map +1 -0
  9. package/dist/commands/apikey.js +282 -0
  10. package/dist/commands/apikey.js.map +1 -0
  11. package/dist/commands/cancel.d.ts +9 -0
  12. package/dist/commands/cancel.d.ts.map +1 -0
  13. package/dist/commands/cancel.js +101 -0
  14. package/dist/commands/cancel.js.map +1 -0
  15. package/dist/commands/completions.d.ts +15 -0
  16. package/dist/commands/completions.d.ts.map +1 -0
  17. package/dist/commands/completions.js +293 -0
  18. package/dist/commands/completions.js.map +1 -0
  19. package/dist/commands/config.d.ts +3 -0
  20. package/dist/commands/config.d.ts.map +1 -0
  21. package/dist/commands/config.js +327 -0
  22. package/dist/commands/config.js.map +1 -0
  23. package/dist/commands/credits.d.ts +18 -0
  24. package/dist/commands/credits.d.ts.map +1 -0
  25. package/dist/commands/credits.js +459 -0
  26. package/dist/commands/credits.js.map +1 -0
  27. package/dist/commands/debug.d.ts +20 -0
  28. package/dist/commands/debug.d.ts.map +1 -0
  29. package/dist/commands/debug.js +291 -0
  30. package/dist/commands/debug.js.map +1 -0
  31. package/dist/commands/delete.d.ts +3 -0
  32. package/dist/commands/delete.d.ts.map +1 -0
  33. package/dist/commands/delete.js +273 -0
  34. package/dist/commands/delete.js.map +1 -0
  35. package/dist/commands/doctor.d.ts +14 -0
  36. package/dist/commands/doctor.d.ts.map +1 -0
  37. package/dist/commands/doctor.js +468 -0
  38. package/dist/commands/doctor.js.map +1 -0
  39. package/dist/commands/download.d.ts +3 -0
  40. package/dist/commands/download.d.ts.map +1 -0
  41. package/dist/commands/download.js +165 -0
  42. package/dist/commands/download.js.map +1 -0
  43. package/dist/commands/generate.d.ts +3 -0
  44. package/dist/commands/generate.d.ts.map +1 -0
  45. package/dist/commands/generate.js +358 -0
  46. package/dist/commands/generate.js.map +1 -0
  47. package/dist/commands/inspect.d.ts +10 -0
  48. package/dist/commands/inspect.d.ts.map +1 -0
  49. package/dist/commands/inspect.js +376 -0
  50. package/dist/commands/inspect.js.map +1 -0
  51. package/dist/commands/list.d.ts +13 -0
  52. package/dist/commands/list.d.ts.map +1 -0
  53. package/dist/commands/list.js +198 -0
  54. package/dist/commands/list.js.map +1 -0
  55. package/dist/commands/login.d.ts +15 -0
  56. package/dist/commands/login.d.ts.map +1 -0
  57. package/dist/commands/login.js +123 -0
  58. package/dist/commands/login.js.map +1 -0
  59. package/dist/commands/logout.d.ts +12 -0
  60. package/dist/commands/logout.d.ts.map +1 -0
  61. package/dist/commands/logout.js +85 -0
  62. package/dist/commands/logout.js.map +1 -0
  63. package/dist/commands/models.d.ts +10 -0
  64. package/dist/commands/models.d.ts.map +1 -0
  65. package/dist/commands/models.js +137 -0
  66. package/dist/commands/models.js.map +1 -0
  67. package/dist/commands/plan.d.ts +13 -0
  68. package/dist/commands/plan.d.ts.map +1 -0
  69. package/dist/commands/plan.js +134 -0
  70. package/dist/commands/plan.js.map +1 -0
  71. package/dist/commands/pricing.d.ts +14 -0
  72. package/dist/commands/pricing.d.ts.map +1 -0
  73. package/dist/commands/pricing.js +166 -0
  74. package/dist/commands/pricing.js.map +1 -0
  75. package/dist/commands/profile.d.ts +9 -0
  76. package/dist/commands/profile.d.ts.map +1 -0
  77. package/dist/commands/profile.js +236 -0
  78. package/dist/commands/profile.js.map +1 -0
  79. package/dist/commands/retry.d.ts +3 -0
  80. package/dist/commands/retry.d.ts.map +1 -0
  81. package/dist/commands/retry.js +424 -0
  82. package/dist/commands/retry.js.map +1 -0
  83. package/dist/commands/status.d.ts +9 -0
  84. package/dist/commands/status.d.ts.map +1 -0
  85. package/dist/commands/status.js +182 -0
  86. package/dist/commands/status.js.map +1 -0
  87. package/dist/commands/subscribe.d.ts +3 -0
  88. package/dist/commands/subscribe.d.ts.map +1 -0
  89. package/dist/commands/subscribe.js +263 -0
  90. package/dist/commands/subscribe.js.map +1 -0
  91. package/dist/commands/text.d.ts +3 -0
  92. package/dist/commands/text.d.ts.map +1 -0
  93. package/dist/commands/text.js +263 -0
  94. package/dist/commands/text.js.map +1 -0
  95. package/dist/commands/update.d.ts +13 -0
  96. package/dist/commands/update.d.ts.map +1 -0
  97. package/dist/commands/update.js +211 -0
  98. package/dist/commands/update.js.map +1 -0
  99. package/dist/commands/usage.d.ts +13 -0
  100. package/dist/commands/usage.d.ts.map +1 -0
  101. package/dist/commands/usage.js +344 -0
  102. package/dist/commands/usage.js.map +1 -0
  103. package/dist/commands/version.d.ts +8 -0
  104. package/dist/commands/version.d.ts.map +1 -0
  105. package/dist/commands/version.js +26 -0
  106. package/dist/commands/version.js.map +1 -0
  107. package/dist/commands/whoami.d.ts +9 -0
  108. package/dist/commands/whoami.d.ts.map +1 -0
  109. package/dist/commands/whoami.js +76 -0
  110. package/dist/commands/whoami.js.map +1 -0
  111. package/dist/index.d.ts +3 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +85 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/lib/api.d.ts +518 -0
  116. package/dist/lib/api.d.ts.map +1 -0
  117. package/dist/lib/api.js +582 -0
  118. package/dist/lib/api.js.map +1 -0
  119. package/dist/lib/config.d.ts +33 -0
  120. package/dist/lib/config.d.ts.map +1 -0
  121. package/dist/lib/config.js +91 -0
  122. package/dist/lib/config.js.map +1 -0
  123. package/dist/lib/credentials.d.ts +60 -0
  124. package/dist/lib/credentials.d.ts.map +1 -0
  125. package/dist/lib/credentials.js +152 -0
  126. package/dist/lib/credentials.js.map +1 -0
  127. package/dist/lib/errors.d.ts +20 -0
  128. package/dist/lib/errors.d.ts.map +1 -0
  129. package/dist/lib/errors.js +77 -0
  130. package/dist/lib/errors.js.map +1 -0
  131. package/dist/lib/output.d.ts +33 -0
  132. package/dist/lib/output.d.ts.map +1 -0
  133. package/dist/lib/output.js +77 -0
  134. package/dist/lib/output.js.map +1 -0
  135. package/dist/types.d.ts +12 -0
  136. package/dist/types.d.ts.map +1 -0
  137. package/dist/types.js +3 -0
  138. package/dist/types.js.map +1 -0
  139. package/package.json +48 -0
@@ -0,0 +1,518 @@
1
+ /** Response shape for the device-token initiation endpoint (snake_case from server). */
2
+ export interface DeviceAuthResponse {
3
+ device_code: string;
4
+ user_code: string;
5
+ confirmation_code: string;
6
+ verification_url: string;
7
+ expires_in: number;
8
+ interval: number;
9
+ }
10
+ /** Response shape when polling the device-token endpoint (snake_case from server). */
11
+ export interface DevicePollResponse {
12
+ status: 'pending' | 'approved' | 'expired' | 'denied';
13
+ api_key?: string;
14
+ key_prefix?: string;
15
+ user_id?: string;
16
+ }
17
+ /** Response shape for the whoami / credits-check endpoint. */
18
+ export interface WhoAmIResponse {
19
+ user_id: string;
20
+ plan: {
21
+ tier: string;
22
+ name: string;
23
+ status: string;
24
+ trial_active: boolean;
25
+ trial_ends_at: string | null;
26
+ current_period_end: string | null;
27
+ };
28
+ credits: {
29
+ monthly_remaining: number;
30
+ purchased: number;
31
+ total: number;
32
+ };
33
+ limits: {
34
+ max_concurrent_jobs: number;
35
+ max_video_duration: number;
36
+ models_available: string[];
37
+ };
38
+ }
39
+ /** Response shape for the checkout endpoint (snake_case from server). */
40
+ export interface CheckoutResponse {
41
+ checkout_url: string;
42
+ session_id: string;
43
+ }
44
+ /** Response shape for the Stripe portal endpoint. */
45
+ export interface PortalResponse {
46
+ portal_url: string;
47
+ }
48
+ /** Parameters for submitting a generation job. */
49
+ export interface SubmitGenerationParams {
50
+ modelSlug: string;
51
+ prompt: string;
52
+ duration?: number;
53
+ resolution?: string;
54
+ aspectRatio?: string;
55
+ seed?: number;
56
+ inputMediaUrl?: string;
57
+ idempotencyKey?: string;
58
+ dryRun?: boolean;
59
+ }
60
+ /** Response shape for the generate endpoint. */
61
+ export interface GenerateResponse {
62
+ job_id: string;
63
+ status: string;
64
+ credits_deducted: number;
65
+ estimated_duration: number | null;
66
+ }
67
+ /** Response shape for a dry-run cost estimate. */
68
+ export interface CostEstimateResponse {
69
+ credits: number;
70
+ costUsd: number;
71
+ availableCredits: number;
72
+ canAfford: boolean;
73
+ modelDisplayName: string;
74
+ breakdown: {
75
+ planCredits: number;
76
+ purchasedCredits: number;
77
+ };
78
+ }
79
+ /** Response shape for the upload-url endpoint. */
80
+ export interface UploadUrlResponse {
81
+ uploadUrl: string;
82
+ storagePath: string;
83
+ expiresIn: number;
84
+ }
85
+ /** Response shape for the presigned-url endpoint. */
86
+ export interface PresignedUrlResponse {
87
+ url: string;
88
+ expiresAt: string;
89
+ type: 'media' | 'thumbnail';
90
+ external?: boolean;
91
+ }
92
+ /** A model row from the models table. */
93
+ export interface ModelInfo {
94
+ slug: string;
95
+ display_name: string;
96
+ description: string;
97
+ media_type: 'video' | 'image';
98
+ supports_text_to_video: boolean;
99
+ supports_image_to_video: boolean;
100
+ supports_text_to_image: boolean;
101
+ max_duration_seconds: number | null;
102
+ max_resolution: string | null;
103
+ is_active: boolean;
104
+ }
105
+ /** A single pricing entry for a model. */
106
+ export interface PricingEntry {
107
+ modelSlug: string;
108
+ operation: string;
109
+ durationSeconds: number | null;
110
+ resolution: string | null;
111
+ creditCost: number;
112
+ providerCostUsd: number;
113
+ }
114
+ /** Response shape for the pricing endpoint. */
115
+ export interface PricingResponse {
116
+ pricing: PricingEntry[];
117
+ }
118
+ /** Options for listing generation jobs. */
119
+ export interface ListJobsOptions {
120
+ status?: string;
121
+ model?: string;
122
+ limit?: number;
123
+ offset?: number;
124
+ sort?: 'newest' | 'oldest';
125
+ }
126
+ /** Response shape for listing generation jobs with total count. */
127
+ export interface ListJobsResponse {
128
+ jobs: GenerationJob[];
129
+ total: number;
130
+ }
131
+ /** Shape of a generation_jobs row from Supabase REST API. */
132
+ export interface GenerationJob {
133
+ id: string;
134
+ user_id: string;
135
+ model_slug: string;
136
+ model_display_name: string | null;
137
+ operation: string;
138
+ status: 'pending' | 'submitted' | 'processing' | 'completed' | 'failed' | 'canceled';
139
+ prompt: string;
140
+ negative_prompt: string | null;
141
+ input_media_url: string | null;
142
+ duration_seconds: number | null;
143
+ resolution: string | null;
144
+ aspect_ratio: string | null;
145
+ seed: number | null;
146
+ credit_cost: number;
147
+ credits_charged: number | null;
148
+ credits_refunded: boolean;
149
+ provider_cost_usd: number | null;
150
+ provider_job_id: string | null;
151
+ provider_slug: string | null;
152
+ webhook_checkpoint: string;
153
+ output_media_url: string | null;
154
+ output_thumbnail_url: string | null;
155
+ error_message: string | null;
156
+ error_code: string | null;
157
+ started_at: string | null;
158
+ created_at: string;
159
+ updated_at: string;
160
+ completed_at: string | null;
161
+ }
162
+ /** Response shape for deleting a job. */
163
+ export interface DeleteJobResponse {
164
+ success: boolean;
165
+ jobId: string;
166
+ deletedAt: string;
167
+ }
168
+ /** Response shape for restoring a soft-deleted job. */
169
+ export interface RestoreJobResponse {
170
+ success: boolean;
171
+ jobId: string;
172
+ restored: boolean;
173
+ }
174
+ /** A single credit transaction row from the credit_transactions table. */
175
+ export interface CreditTransaction {
176
+ id: string;
177
+ type: 'debit' | 'credit' | 'refund' | 'reset';
178
+ amount: number;
179
+ plan_credits_after: number;
180
+ purchased_credits_after: number;
181
+ description: string;
182
+ created_at: string;
183
+ }
184
+ /** Options for fetching credit transaction history. */
185
+ export interface CreditHistoryOptions {
186
+ limit?: number;
187
+ type?: string;
188
+ }
189
+ /** Response shape for auto-top-up configuration. */
190
+ export interface AutoTopUpConfigResponse {
191
+ enabled: boolean;
192
+ threshold_credits: number;
193
+ pack_slug: string;
194
+ max_monthly_topups: number;
195
+ updated_at: string | null;
196
+ }
197
+ /** Parameters for updating auto-top-up configuration. */
198
+ export interface UpdateAutoTopUpConfigParams {
199
+ enabled?: boolean;
200
+ threshold_credits?: number;
201
+ pack_slug?: string;
202
+ max_monthly_topups?: number;
203
+ }
204
+ /** A record from the api_keys table (list response shape). */
205
+ export interface ApiKeyRecord {
206
+ id: string;
207
+ key_prefix: string;
208
+ name: string;
209
+ created_at: string;
210
+ last_used_at: string | null;
211
+ }
212
+ /** Response shape for creating a new API key. */
213
+ export interface CreateApiKeyResponse {
214
+ key: string;
215
+ id: string;
216
+ key_prefix: string;
217
+ name: string;
218
+ created_at: string;
219
+ }
220
+ /** Response shape for revoking a managed API key. */
221
+ export interface RevokeApiKeyResponse {
222
+ revoked: boolean;
223
+ id: string;
224
+ }
225
+ /** Summary section of the usage-stats response. */
226
+ export interface UsageStatsSummary {
227
+ total_jobs: number;
228
+ completed_jobs: number;
229
+ failed_jobs: number;
230
+ credits_used: number;
231
+ }
232
+ /** Per-model breakdown row from usage-stats. */
233
+ export interface UsageModelBreakdown {
234
+ model_slug: string;
235
+ job_count: number;
236
+ credits_used: number;
237
+ avg_duration_seconds: number | null;
238
+ }
239
+ /** Daily usage row from usage-stats. */
240
+ export interface UsageDailyEntry {
241
+ date: string;
242
+ job_count: number;
243
+ credits_used: number;
244
+ }
245
+ /** Per-operation breakdown row from usage-stats. */
246
+ export interface UsageOperationBreakdown {
247
+ operation: string;
248
+ job_count: number;
249
+ }
250
+ /** Full response shape from the usage-stats edge function. */
251
+ export interface UsageStats {
252
+ period: string;
253
+ period_start: string;
254
+ period_end: string;
255
+ summary: UsageStatsSummary;
256
+ by_model: UsageModelBreakdown[];
257
+ daily: UsageDailyEntry[];
258
+ by_operation: UsageOperationBreakdown[];
259
+ }
260
+ /** Response shape for job debug info from the health-status edge function. */
261
+ export interface JobDebugInfo {
262
+ job: GenerationJob;
263
+ transactions: CreditTransaction[];
264
+ webhookHistory: Array<{
265
+ id: string;
266
+ event: string;
267
+ status: string;
268
+ payload: Record<string, unknown>;
269
+ created_at: string;
270
+ }>;
271
+ deadLetterEntries: Array<{
272
+ id: string;
273
+ error: string;
274
+ attempts: number;
275
+ created_at: string;
276
+ last_attempt_at: string;
277
+ }>;
278
+ }
279
+ /** Response shape for credit debug info from the health-status edge function. */
280
+ export interface CreditDebugInfo {
281
+ balance: {
282
+ plan_credits: number;
283
+ purchased_credits: number;
284
+ total: number;
285
+ };
286
+ transactions: CreditTransaction[];
287
+ reconciliation: {
288
+ expectedBalance: number;
289
+ actualBalance: number;
290
+ isBalanced: boolean;
291
+ discrepancy: number;
292
+ lastCheckedAt: string | null;
293
+ };
294
+ }
295
+ export declare class AgentMediaAPI {
296
+ private readonly baseUrl;
297
+ private readonly apiKey;
298
+ private readonly anonKey;
299
+ constructor(apiKey: string);
300
+ /**
301
+ * Initiate the device-code OAuth flow.
302
+ * No auth required -- the device is not yet authenticated.
303
+ */
304
+ static initiateDeviceFlow(baseUrl?: string): Promise<DeviceAuthResponse>;
305
+ /**
306
+ * Poll the device-token endpoint during the login flow.
307
+ * No auth required. Returns status-based responses without throwing on
308
+ * expected non-200 codes (428 pending, 410 expired, 403 denied).
309
+ */
310
+ static pollDeviceToken(deviceCode: string, baseUrl?: string): Promise<DevicePollResponse>;
311
+ /**
312
+ * Get the authenticated user's profile, subscription, and credit info.
313
+ */
314
+ whoami(): Promise<WhoAmIResponse>;
315
+ /**
316
+ * Get the authenticated user's credit balance and subscription info.
317
+ *
318
+ * Identical endpoint to whoami but semantically focused on credits.
319
+ * Returns the same shape, allowing credits/plan commands to share the call.
320
+ */
321
+ getCredits(): Promise<WhoAmIResponse>;
322
+ /**
323
+ * Create a Stripe Checkout session for a subscription plan.
324
+ *
325
+ * Returns a checkout URL that can be opened in the user's browser.
326
+ */
327
+ createPlanCheckout(planTier: string): Promise<CheckoutResponse>;
328
+ /**
329
+ * Create a Stripe Checkout session for a PAYG credit pack.
330
+ *
331
+ * Returns a checkout URL that can be opened in the user's browser.
332
+ */
333
+ createPaygCheckout(packId: string): Promise<CheckoutResponse>;
334
+ /**
335
+ * Create a Stripe Customer Portal session for managing subscription.
336
+ *
337
+ * Returns a portal URL that can be opened in the user's browser.
338
+ */
339
+ createPortalSession(returnUrl?: string): Promise<PortalResponse>;
340
+ /**
341
+ * Revoke the current API key on the server side.
342
+ */
343
+ revokeApiKey(): Promise<void>;
344
+ /**
345
+ * Submit a generation job or perform a dry-run cost estimate.
346
+ *
347
+ * When `params.dryRun` is true the server returns a cost estimate
348
+ * without creating a job or deducting credits.
349
+ */
350
+ submitGeneration(params: SubmitGenerationParams): Promise<GenerateResponse | CostEstimateResponse>;
351
+ /**
352
+ * Get a presigned upload URL for an input media file.
353
+ *
354
+ * The returned `uploadUrl` can be used with {@link uploadFile} to
355
+ * upload the file directly to storage.
356
+ */
357
+ getUploadUrl(filename: string, contentType: string): Promise<UploadUrlResponse>;
358
+ /**
359
+ * Upload a file to a presigned storage URL.
360
+ *
361
+ * This sends a PUT request directly to the storage endpoint
362
+ * (not through the API base URL).
363
+ */
364
+ uploadFile(uploadUrl: string, fileBuffer: ArrayBuffer, contentType: string): Promise<void>;
365
+ /**
366
+ * Fetch the list of active models from the models table via PostgREST.
367
+ *
368
+ * Uses the anon key for auth since models are public data accessible
369
+ * to all roles (anon RLS policy: is_active = true).
370
+ */
371
+ getModels(): Promise<ModelInfo[]>;
372
+ /**
373
+ * Fetch pricing information for all models or a specific model.
374
+ *
375
+ * When `modelSlug` is provided, only pricing rows for that model are
376
+ * returned. Otherwise the full pricing table is returned.
377
+ */
378
+ getPricing(modelSlug?: string): Promise<PricingResponse>;
379
+ /**
380
+ * Fetch a single generation job by ID via the job-status edge function.
381
+ *
382
+ * Uses edge function auth (supports API keys) instead of PostgREST.
383
+ */
384
+ getJob(jobId: string): Promise<GenerationJob>;
385
+ /**
386
+ * Poll the provider for a job's real status (triggers server-side provider check).
387
+ * Returns the provider-checked status including output_media_url if completed.
388
+ */
389
+ pollProvider(jobId: string): Promise<{
390
+ status: string;
391
+ output_media_url?: string;
392
+ progress?: number;
393
+ }>;
394
+ /**
395
+ * Cancel an active job and refund credits.
396
+ */
397
+ cancelJob(jobId: string): Promise<{
398
+ canceled: boolean;
399
+ credits_refunded: number;
400
+ }>;
401
+ /**
402
+ * List generation jobs via the job-status edge function.
403
+ *
404
+ * Uses edge function auth (supports API keys) instead of PostgREST.
405
+ */
406
+ listJobs(options?: ListJobsOptions): Promise<ListJobsResponse>;
407
+ /**
408
+ * Download media from a URL and write it to a local file path.
409
+ *
410
+ * Streams the response body to disk and reports progress via an
411
+ * optional callback. Returns the total number of bytes written.
412
+ */
413
+ downloadMedia(url: string, outputPath: string, onProgress?: (receivedBytes: number, totalBytes: number | null) => void): Promise<number>;
414
+ /**
415
+ * Retry a failed or canceled generation job.
416
+ *
417
+ * Fetches the original job, verifies it is in a retryable state,
418
+ * then re-submits a new generation with the same parameters.
419
+ * Optional overrides allow changing the prompt or seed.
420
+ * A new idempotency key is generated to ensure a fresh submission.
421
+ */
422
+ retryJob(jobId: string, overrides?: {
423
+ prompt?: string;
424
+ seed?: number;
425
+ }): Promise<GenerateResponse>;
426
+ /**
427
+ * Soft-delete a generation job.
428
+ *
429
+ * Calls the gallery-delete edge function. The job is marked as
430
+ * soft-deleted and can be restored within the retention window.
431
+ */
432
+ deleteJob(jobId: string): Promise<DeleteJobResponse>;
433
+ /**
434
+ * Restore a soft-deleted generation job.
435
+ *
436
+ * Calls the gallery-delete edge function with the restore flag.
437
+ * Returns whether the job was successfully restored.
438
+ */
439
+ restoreJob(jobId: string): Promise<RestoreJobResponse>;
440
+ /**
441
+ * Get a presigned download URL for a job's output media or thumbnail.
442
+ *
443
+ * For Supabase Storage files, returns a freshly signed URL with a 1-hour TTL.
444
+ * For external provider-hosted files, returns the URL directly.
445
+ */
446
+ getPresignedUrl(jobId: string, type: 'media' | 'thumbnail'): Promise<PresignedUrlResponse>;
447
+ /**
448
+ * Fetch the authenticated user's credit transaction history.
449
+ *
450
+ * Uses the PostgREST query syntax on the credit_transactions table.
451
+ * Supports filtering by transaction type and limiting the number of rows.
452
+ * Results are ordered by created_at descending (newest first).
453
+ */
454
+ getCreditHistory(options?: CreditHistoryOptions): Promise<CreditTransaction[]>;
455
+ /**
456
+ * List all active API keys for the authenticated user.
457
+ *
458
+ * Calls the apikey-manage edge function with action "list".
459
+ * Returns key metadata only -- raw key values are never returned after creation.
460
+ */
461
+ listApiKeys(): Promise<ApiKeyRecord[]>;
462
+ /**
463
+ * Create a new API key with the given display name.
464
+ *
465
+ * Calls the apikey-manage edge function with action "create".
466
+ * The raw key is returned exactly once -- it cannot be retrieved later.
467
+ */
468
+ createApiKey(name: string): Promise<CreateApiKeyResponse>;
469
+ /**
470
+ * Revoke a managed API key by its ID.
471
+ *
472
+ * Calls the apikey-manage edge function with action "revoke".
473
+ * The key is soft-deleted and can no longer be used for authentication.
474
+ */
475
+ revokeManagedApiKey(keyId: string): Promise<RevokeApiKeyResponse>;
476
+ /**
477
+ * Get the authenticated user's auto-top-up configuration.
478
+ *
479
+ * Returns the current settings or server-side defaults if none exist.
480
+ */
481
+ getAutoTopUpConfig(): Promise<AutoTopUpConfigResponse>;
482
+ /**
483
+ * Update the authenticated user's auto-top-up configuration.
484
+ *
485
+ * Accepts partial updates -- only provided fields are changed.
486
+ * Returns the full updated configuration.
487
+ */
488
+ updateAutoTopUpConfig(config: UpdateAutoTopUpConfigParams): Promise<AutoTopUpConfigResponse>;
489
+ /**
490
+ * Fetch usage statistics for the authenticated user.
491
+ *
492
+ * Calls the usage-stats edge function with an optional period parameter.
493
+ * Returns aggregated summaries, per-model breakdowns, daily trends,
494
+ * and per-operation distributions.
495
+ */
496
+ getUsageStats(period?: '7d' | '30d' | '90d'): Promise<UsageStats>;
497
+ /**
498
+ * Fetch debug information for a specific generation job.
499
+ *
500
+ * Returns the job record, associated credit transactions,
501
+ * webhook delivery history, and any dead-letter entries for
502
+ * troubleshooting failed or stuck jobs.
503
+ */
504
+ getJobDebugInfo(jobId: string): Promise<JobDebugInfo>;
505
+ /**
506
+ * Fetch credit debug information for the authenticated user.
507
+ *
508
+ * Returns the current balance, full transaction history, and
509
+ * reconciliation status comparing the expected balance (computed
510
+ * from transaction log) against the actual stored balance.
511
+ */
512
+ getCreditDebugInfo(): Promise<CreditDebugInfo>;
513
+ /**
514
+ * Send an authenticated request to the API.
515
+ */
516
+ private request;
517
+ }
518
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}