oblien 1.2.7 → 2.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 (171) hide show
  1. package/dist/client.d.ts +31 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +33 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/error.d.ts +29 -0
  6. package/dist/error.d.ts.map +1 -0
  7. package/dist/error.js +52 -0
  8. package/dist/error.js.map +1 -0
  9. package/dist/http.d.ts +20 -0
  10. package/dist/http.d.ts.map +1 -0
  11. package/dist/http.js +108 -0
  12. package/dist/http.js.map +1 -0
  13. package/dist/index.d.ts +8 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +10 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/resources/api-access.d.ts +21 -0
  18. package/dist/resources/api-access.d.ts.map +1 -0
  19. package/dist/resources/api-access.js +32 -0
  20. package/dist/resources/api-access.js.map +1 -0
  21. package/dist/resources/base.d.ts +17 -0
  22. package/dist/resources/base.d.ts.map +1 -0
  23. package/dist/resources/base.js +21 -0
  24. package/dist/resources/base.js.map +1 -0
  25. package/dist/resources/images.d.ts +11 -0
  26. package/dist/resources/images.d.ts.map +1 -0
  27. package/dist/resources/images.js +16 -0
  28. package/dist/resources/images.js.map +1 -0
  29. package/dist/resources/lifecycle.d.ts +23 -0
  30. package/dist/resources/lifecycle.d.ts.map +1 -0
  31. package/dist/resources/lifecycle.js +32 -0
  32. package/dist/resources/lifecycle.js.map +1 -0
  33. package/dist/resources/logs.d.ts +25 -0
  34. package/dist/resources/logs.d.ts.map +1 -0
  35. package/dist/resources/logs.js +51 -0
  36. package/dist/resources/logs.js.map +1 -0
  37. package/dist/resources/metadata.d.ts +15 -0
  38. package/dist/resources/metadata.d.ts.map +1 -0
  39. package/dist/resources/metadata.js +20 -0
  40. package/dist/resources/metadata.js.map +1 -0
  41. package/dist/resources/metrics.d.ts +17 -0
  42. package/dist/resources/metrics.d.ts.map +1 -0
  43. package/dist/resources/metrics.js +27 -0
  44. package/dist/resources/metrics.js.map +1 -0
  45. package/dist/resources/network.d.ts +17 -0
  46. package/dist/resources/network.d.ts.map +1 -0
  47. package/dist/resources/network.js +20 -0
  48. package/dist/resources/network.js.map +1 -0
  49. package/dist/resources/public-access.d.ts +15 -0
  50. package/dist/resources/public-access.d.ts.map +1 -0
  51. package/dist/resources/public-access.js +21 -0
  52. package/dist/resources/public-access.js.map +1 -0
  53. package/dist/resources/resources.d.ts +15 -0
  54. package/dist/resources/resources.d.ts.map +1 -0
  55. package/dist/resources/resources.js +20 -0
  56. package/dist/resources/resources.js.map +1 -0
  57. package/dist/resources/snapshots.d.ts +27 -0
  58. package/dist/resources/snapshots.d.ts.map +1 -0
  59. package/dist/resources/snapshots.js +45 -0
  60. package/dist/resources/snapshots.js.map +1 -0
  61. package/dist/resources/ssh.d.ts +19 -0
  62. package/dist/resources/ssh.d.ts.map +1 -0
  63. package/dist/resources/ssh.js +28 -0
  64. package/dist/resources/ssh.js.map +1 -0
  65. package/dist/resources/usage.d.ts +25 -0
  66. package/dist/resources/usage.d.ts.map +1 -0
  67. package/dist/resources/usage.js +44 -0
  68. package/dist/resources/usage.js.map +1 -0
  69. package/dist/resources/workloads.d.ts +39 -0
  70. package/dist/resources/workloads.d.ts.map +1 -0
  71. package/dist/resources/workloads.js +83 -0
  72. package/dist/resources/workloads.js.map +1 -0
  73. package/dist/runtime/exec.d.ts +71 -0
  74. package/dist/runtime/exec.d.ts.map +1 -0
  75. package/dist/runtime/exec.js +163 -0
  76. package/dist/runtime/exec.js.map +1 -0
  77. package/dist/runtime/files.d.ts +39 -0
  78. package/dist/runtime/files.d.ts.map +1 -0
  79. package/dist/runtime/files.js +143 -0
  80. package/dist/runtime/files.js.map +1 -0
  81. package/dist/runtime/search.d.ts +23 -0
  82. package/dist/runtime/search.d.ts.map +1 -0
  83. package/dist/runtime/search.js +65 -0
  84. package/dist/runtime/search.js.map +1 -0
  85. package/dist/runtime/terminal.d.ts +29 -0
  86. package/dist/runtime/terminal.d.ts.map +1 -0
  87. package/dist/runtime/terminal.js +58 -0
  88. package/dist/runtime/terminal.js.map +1 -0
  89. package/dist/runtime/watcher.d.ts +27 -0
  90. package/dist/runtime/watcher.d.ts.map +1 -0
  91. package/dist/runtime/watcher.js +53 -0
  92. package/dist/runtime/watcher.js.map +1 -0
  93. package/dist/runtime/ws.d.ts +92 -0
  94. package/dist/runtime/ws.d.ts.map +1 -0
  95. package/dist/runtime/ws.js +228 -0
  96. package/dist/runtime/ws.js.map +1 -0
  97. package/dist/runtime-http.d.ts +35 -0
  98. package/dist/runtime-http.d.ts.map +1 -0
  99. package/dist/runtime-http.js +99 -0
  100. package/dist/runtime-http.js.map +1 -0
  101. package/dist/runtime.d.ts +77 -0
  102. package/dist/runtime.d.ts.map +1 -0
  103. package/dist/runtime.js +97 -0
  104. package/dist/runtime.js.map +1 -0
  105. package/dist/types/client.d.ts +7 -0
  106. package/dist/types/client.d.ts.map +1 -0
  107. package/dist/types/client.js +3 -0
  108. package/dist/types/client.js.map +1 -0
  109. package/dist/types/common.d.ts +13 -0
  110. package/dist/types/common.d.ts.map +1 -0
  111. package/dist/types/common.js +3 -0
  112. package/dist/types/common.js.map +1 -0
  113. package/dist/types/index.d.ts +8 -0
  114. package/dist/types/index.d.ts.map +1 -0
  115. package/dist/types/index.js +2 -0
  116. package/dist/types/index.js.map +1 -0
  117. package/dist/types/network.d.ts +15 -0
  118. package/dist/types/network.d.ts.map +1 -0
  119. package/dist/types/network.js +3 -0
  120. package/dist/types/network.js.map +1 -0
  121. package/dist/types/resources.d.ts +10 -0
  122. package/dist/types/resources.d.ts.map +1 -0
  123. package/dist/types/resources.js +3 -0
  124. package/dist/types/resources.js.map +1 -0
  125. package/dist/types/runtime.d.ts +302 -0
  126. package/dist/types/runtime.d.ts.map +1 -0
  127. package/dist/types/runtime.js +3 -0
  128. package/dist/types/runtime.js.map +1 -0
  129. package/dist/types/workspace-resources.d.ts +186 -0
  130. package/dist/types/workspace-resources.d.ts.map +1 -0
  131. package/dist/types/workspace-resources.js +3 -0
  132. package/dist/types/workspace-resources.js.map +1 -0
  133. package/dist/types/workspace.d.ts +41 -0
  134. package/dist/types/workspace.d.ts.map +1 -0
  135. package/dist/types/workspace.js +3 -0
  136. package/dist/types/workspace.js.map +1 -0
  137. package/dist/workspace.d.ts +135 -0
  138. package/dist/workspace.d.ts.map +1 -0
  139. package/dist/workspace.js +194 -0
  140. package/dist/workspace.js.map +1 -0
  141. package/package.json +31 -70
  142. package/LICENSE +0 -21
  143. package/README.md +0 -574
  144. package/agents.js +0 -14
  145. package/browser.js +0 -6
  146. package/cdn.js +0 -6
  147. package/chat.js +0 -21
  148. package/credits.js +0 -11
  149. package/icons.js +0 -11
  150. package/index.d.ts +0 -967
  151. package/index.js +0 -63
  152. package/namespaces.js +0 -12
  153. package/sandbox.js +0 -12
  154. package/search.js +0 -11
  155. package/src/agents/agent.js +0 -229
  156. package/src/agents/index.js +0 -212
  157. package/src/agents/settings.js +0 -100
  158. package/src/agents/tools.js +0 -155
  159. package/src/browser/index.js +0 -449
  160. package/src/cdn/index.js +0 -744
  161. package/src/chat/index.js +0 -704
  162. package/src/chat/session.js +0 -93
  163. package/src/client.js +0 -175
  164. package/src/credits/index.js +0 -480
  165. package/src/icons/index.js +0 -185
  166. package/src/namespaces/index.js +0 -225
  167. package/src/namespaces/namespace.js +0 -274
  168. package/src/sandbox/index.js +0 -185
  169. package/src/sandbox/sandbox.js +0 -124
  170. package/src/search/index.js +0 -191
  171. package/src/utils/guest-manager.js +0 -454
package/index.d.ts DELETED
@@ -1,967 +0,0 @@
1
- /**
2
- * TypeScript definitions for oblien
3
- */
4
-
5
- // ============ Client Types ============
6
-
7
- export interface OblienConfig {
8
- clientId: string;
9
- clientSecret: string;
10
- baseURL?: string;
11
- }
12
-
13
- export class OblienClient {
14
- constructor(config: OblienConfig);
15
-
16
- authenticate(): Promise<string>;
17
- getAuthHeaders(): Promise<Record<string, string>>;
18
- get(path: string, params?: Record<string, any>): Promise<any>;
19
- post(path: string, body?: Record<string, any>): Promise<any>;
20
- put(path: string, body?: Record<string, any>): Promise<any>;
21
- patch(path: string, body?: Record<string, any>): Promise<any>;
22
- delete(path: string): Promise<any>;
23
- }
24
-
25
- // ============ Storage Adapters ============
26
-
27
- export interface StorageAdapter {
28
- get(key: string): Promise<any>;
29
- set(key: string, value: any, ttl?: number): Promise<boolean>;
30
- delete(key: string): Promise<boolean>;
31
- getAll(pattern: string): Promise<any[]>;
32
- }
33
-
34
- export class NodeCacheStorage implements StorageAdapter {
35
- constructor(ttl?: number);
36
-
37
- get(key: string): Promise<any>;
38
- set(key: string, value: any, ttl?: number): Promise<boolean>;
39
- delete(key: string): Promise<boolean>;
40
- getAll(pattern: string): Promise<any[]>;
41
- getStats(): any;
42
- clear(): void;
43
- }
44
-
45
- export class InMemoryStorage implements StorageAdapter {
46
- get(key: string): Promise<any>;
47
- set(key: string, value: any, ttl?: number): Promise<boolean>;
48
- delete(key: string): Promise<boolean>;
49
- getAll(pattern: string): Promise<any[]>;
50
- }
51
-
52
- export class RedisStorage implements StorageAdapter {
53
- constructor(redisClient: any);
54
-
55
- get(key: string): Promise<any>;
56
- set(key: string, value: any, ttl?: number): Promise<boolean>;
57
- delete(key: string): Promise<boolean>;
58
- getAll(pattern: string): Promise<any[]>;
59
- }
60
-
61
- // ============ Guest Manager ============
62
-
63
- export interface GuestOptions {
64
- ip?: string;
65
- fingerprint?: string;
66
- namespace?: string;
67
- agentId?: string;
68
- sessionId?: string;
69
- }
70
-
71
- export interface GuestManagerOptions {
72
- storage?: StorageAdapter;
73
- ttl?: number;
74
- onGuestCreated?: (guest: Guest) => void;
75
- }
76
-
77
- export interface GuestSession {
78
- id: string;
79
- agentId: string;
80
- title: string;
81
- createdAt: string;
82
- updatedAt: string;
83
- lastMessageAt?: string;
84
- userAgent?: string;
85
- country?: string;
86
- }
87
-
88
- export interface Guest {
89
- id?: string;
90
- namespace: string;
91
- ip: string;
92
- fingerprint?: string;
93
- isGuest: boolean;
94
- createdAt: string;
95
- lastSeen?: string;
96
- sessionCount: number;
97
- metadata?: Record<string, any>;
98
- sessions: GuestSession[];
99
- }
100
-
101
- export class GuestManager {
102
- constructor(options?: GuestManagerOptions);
103
-
104
- generateGuestId(ip: string): string;
105
- getOrCreateGuest(ip: string, metadata?: Record<string, any>): Promise<Guest>;
106
- getGuest(guestId: string | GuestOptions): Promise<Guest | null>;
107
- updateGuest(guestId: string, updates: Partial<Guest>): Promise<Guest>;
108
- addSession(guestId: string, sessionId: string): Promise<Guest>;
109
- deleteGuest(guestId: string): Promise<boolean>;
110
- getAllGuests(): Promise<Guest[]>;
111
- cleanup(): Promise<number>;
112
- }
113
-
114
- // ============ Chat Session ============
115
-
116
- export interface SessionOptions {
117
- client: OblienClient;
118
- sessionId?: string;
119
- agentId?: string;
120
- workflowId?: string;
121
- isGuest?: boolean;
122
- namespace?: string;
123
- guestNamespace?: string; // Guest's auto-generated namespace
124
- workspace?: Record<string, any>;
125
- ipAddress?: string;
126
- userAgent?: string;
127
- fingerprint?: string;
128
- endUserId?: string;
129
- }
130
-
131
- export interface SessionData {
132
- sessionId: string;
133
- token?: string; // Legacy field
134
- accessToken?: string; // New field
135
- refreshToken?: string; // New field
136
- expiresIn?: number; // Token expiration in seconds
137
- agentId?: string;
138
- workflowId?: string;
139
- namespace?: string;
140
- }
141
-
142
- export class ChatSession {
143
- constructor(options: SessionOptions);
144
-
145
- sessionId: string | null;
146
- token: string | null;
147
-
148
- create(): Promise<SessionData>;
149
- get(sessionId?: string): Promise<any>;
150
- delete(sessionId?: string): Promise<any>;
151
- list(options?: ListSessionsOptions): Promise<any[]>;
152
- }
153
-
154
- // ============ Chat Manager ============
155
-
156
- export interface ChatOptions {
157
- guestManager?: GuestManager;
158
- guestStorage?: StorageAdapter;
159
- guestTTL?: number;
160
- }
161
-
162
- export interface CreateSessionOptions {
163
- agentId: string;
164
- workflowId?: string;
165
- namespace?: string; // For authenticated users, typically user_id
166
- workspace?: Record<string, any>;
167
- endUserId?: string;
168
- isGuest?: boolean;
169
- ipAddress?: string;
170
- userAgent?: string;
171
- fingerprint?: string;
172
- }
173
-
174
- export interface CreateGuestSessionOptions {
175
- ip: string;
176
- fingerprint?: string;
177
- agentId: string;
178
- workflowId?: string;
179
- namespace?: string;
180
- endUserId?: string;
181
- metadata?: Record<string, any>;
182
- workspace?: Record<string, any>;
183
- }
184
-
185
- export interface GuestSessionData extends SessionData {
186
- guest: {
187
- id: string;
188
- namespace: string;
189
- createdAt: string;
190
- };
191
- }
192
-
193
- export interface SendMessageOptions {
194
- token?: string;
195
- message: string;
196
- uploadId?: string;
197
- files?: any[];
198
- stream?: boolean;
199
- onChunk?: (data: any) => void;
200
- onError?: (error: Error) => void;
201
- onComplete?: () => void;
202
- metadata?: Record<string, any>;
203
- }
204
-
205
- export interface UploadOptions {
206
- token?: string;
207
- files: any[] | any;
208
- metadata?: Record<string, any>;
209
- }
210
-
211
- export interface GuestUsageInfo {
212
- success: boolean;
213
- usage: {
214
- total_tokens_today: number;
215
- input_tokens_today: number;
216
- output_tokens_today: number;
217
- messages_today: number;
218
- messages_last_hour: number;
219
- };
220
- limits: {
221
- maxTotalTokensPerDay: number;
222
- maxInputTokensPerDay: number;
223
- maxOutputTokensPerDay: number;
224
- maxMessagesPerDay: number;
225
- maxMessagesPerHour: number;
226
- maxRequestsPerMinute: number;
227
- };
228
- remaining: {
229
- total_tokens: number;
230
- input_tokens: number;
231
- output_tokens: number;
232
- messages_hour: number;
233
- messages_day: number;
234
- };
235
- percentage_used: {
236
- total_tokens: number;
237
- messages_day: number;
238
- };
239
- }
240
-
241
- export interface CacheStatistics {
242
- success: boolean;
243
- cache: {
244
- keys: number;
245
- hits: number;
246
- misses: number;
247
- hitRate: number;
248
- keysSize: number;
249
- valuesSize: number;
250
- };
251
- }
252
-
253
- export interface SessionTokenData {
254
- accessToken: string;
255
- refreshToken: string;
256
- expiresIn: number;
257
- }
258
-
259
- export interface SessionHistoryOptions {
260
- limit?: number; // Max 100
261
- offset?: number;
262
- }
263
-
264
- export interface BanUserOptions {
265
- reason?: string;
266
- }
267
-
268
- export interface LockSessionOptions {
269
- locked?: boolean; // true to lock, false to unlock
270
- }
271
-
272
- export interface RefreshTokenOptions {
273
- refreshToken: string;
274
- }
275
-
276
- export interface PrepareSessionOptions {
277
- token: string;
278
- }
279
-
280
- export interface GetHistoryOptions {
281
- token: string;
282
- namespace?: string;
283
- limit?: number; // Max 50
284
- offset?: number;
285
- }
286
-
287
- export interface ListSessionsOptions {
288
- namespace?: string;
289
- agentId?: string;
290
- endUserId?: string;
291
- limit?: number; // Max 100
292
- offset?: number;
293
- search?: string;
294
- sortBy?: 'time' | 'tokens';
295
- sortOrder?: 'asc' | 'desc';
296
- includeStats?: boolean;
297
- }
298
-
299
- export interface GetGuestOptions {
300
- ip?: string;
301
- fingerprint?: string;
302
- namespace?: string;
303
- }
304
-
305
- export class OblienChat {
306
- constructor(client: OblienClient, options?: ChatOptions);
307
-
308
- // Session Creation
309
- createSession(options: CreateSessionOptions): Promise<SessionData>;
310
- createGuestSession(options: CreateGuestSessionOptions): Promise<GuestSessionData>;
311
- getGuest(options: GetGuestOptions | string, getSessions?: boolean): Promise<Guest | null>; // From Oblien API (string = namespace)
312
- getGuestFromCache(ip: string, fingerprint?: string): Promise<Guest | null>; // From local cache
313
-
314
- // Session Token Management (Server-side)
315
- createSessionToken(sessionId: string): Promise<SessionTokenData>;
316
- revokeSessionToken(sessionId: string): Promise<any>;
317
-
318
- // Session Token Management (Client-side)
319
- refreshToken(options: RefreshTokenOptions): Promise<SessionTokenData>;
320
- prepareSession(options: PrepareSessionOptions): Promise<any>;
321
-
322
- // Session Management (Server-side)
323
- getSession(sessionId: string): Promise<any>;
324
- getSessionHistory(sessionId: string, options?: SessionHistoryOptions): Promise<any>;
325
- listSessions(options?: ListSessionsOptions): Promise<any[]>;
326
- deleteSession(sessionId: string): Promise<any>;
327
-
328
- // Security & Moderation (Server-side)
329
- banUser(sessionId: string, options?: BanUserOptions): Promise<any>;
330
- unbanUser(sessionId: string): Promise<any>;
331
- lockSession(sessionId: string, options?: LockSessionOptions): Promise<any>;
332
-
333
- // Chat Operations
334
- send(options: SendMessageOptions): Promise<any>;
335
- upload(options: UploadOptions): Promise<any>;
336
-
337
- // History (Client-side)
338
- getHistory(options: GetHistoryOptions): Promise<any>;
339
-
340
- // Guest Management
341
- getAllGuests(): Promise<Guest[]>;
342
- cleanupGuests(): Promise<number>;
343
- getGuestUsage(namespace: string, agentId?: string): Promise<GuestUsageInfo>;
344
- getCacheStatistics(): Promise<CacheStatistics>;
345
- }
346
-
347
- // ============ Namespaces ============
348
-
349
- export interface NamespaceData {
350
- id: string;
351
- client_id: string;
352
- name: string;
353
- slug: string;
354
- description?: string;
355
- end_user_id?: string;
356
- fingerprint?: string;
357
- ip_address?: string;
358
- user_agent?: string;
359
- country?: string;
360
- status: 'active' | 'inactive' | 'suspended' | 'archived';
361
- type: string;
362
- is_default: boolean;
363
- metadata?: Record<string, any>;
364
- tags?: string[];
365
- created_at: string;
366
- updated_at: string;
367
- last_active_at?: string;
368
- archived_at?: string;
369
- }
370
-
371
- export interface CreateNamespaceOptions {
372
- name: string;
373
- slug?: string;
374
- description?: string;
375
- type?: 'default' | 'production' | 'testing' | 'development';
376
- isDefault?: boolean;
377
- metadata?: Record<string, any>;
378
- tags?: string[];
379
- endUserId?: string;
380
- }
381
-
382
- export interface UpdateNamespaceOptions {
383
- name?: string;
384
- description?: string;
385
- status?: 'active' | 'inactive' | 'suspended' | 'archived';
386
- type?: string;
387
- metadata?: Record<string, any>;
388
- tags?: string[];
389
- }
390
-
391
- export interface ListNamespacesOptions {
392
- limit?: number;
393
- offset?: number;
394
- status?: 'active' | 'inactive' | 'suspended' | 'archived';
395
- type?: string;
396
- search?: string;
397
- sortBy?: 'name' | 'created_at' | 'updated_at' | 'last_active_at';
398
- sortOrder?: 'ASC' | 'DESC';
399
- }
400
-
401
- export interface ServiceConfig {
402
- id: number;
403
- namespace_id: string;
404
- service: string;
405
- enabled: boolean;
406
- config?: Record<string, any>;
407
- rate_limit_requests?: number;
408
- rate_limit_period?: string;
409
- features?: string[];
410
- created_at: string;
411
- updated_at: string;
412
- }
413
-
414
- export interface ConfigureServiceOptions {
415
- service: string;
416
- enabled?: boolean;
417
- config?: Record<string, any>;
418
- rateLimitRequests?: number;
419
- rateLimitPeriod?: 'minute' | 'hour' | 'day';
420
- features?: string[];
421
- }
422
-
423
- export interface NamespaceUsage {
424
- usage: Array<{
425
- service: string;
426
- date: string;
427
- requests: number;
428
- credits: number;
429
- deductions: number;
430
- }>;
431
- summary: Array<{
432
- service: string;
433
- total_requests: number;
434
- total_credits: number;
435
- first_used: string;
436
- last_used: string;
437
- }>;
438
- quotas: Array<any>;
439
- active_sessions: number;
440
- }
441
-
442
- export class Namespace {
443
- constructor(options: { client: OblienClient; namespaceId?: string; data?: NamespaceData });
444
-
445
- namespaceId: string | null;
446
- data: NamespaceData | null;
447
-
448
- create(options: CreateNamespaceOptions): Promise<NamespaceData>;
449
- get(identifier?: string): Promise<NamespaceData>;
450
- update(updates: UpdateNamespaceOptions, namespaceId?: string): Promise<NamespaceData>;
451
- delete(namespaceId?: string): Promise<any>;
452
- getActivity(options?: { limit?: number; offset?: number }, namespaceId?: string): Promise<any[]>;
453
- getUsage(options?: { service?: string; days?: number }, namespaceId?: string): Promise<NamespaceUsage>;
454
- configureService(options: ConfigureServiceOptions, namespaceId?: string): Promise<ServiceConfig>;
455
- listServices(namespaceId?: string): Promise<ServiceConfig[]>;
456
- getServiceConfig(service: string, namespaceId?: string): Promise<ServiceConfig>;
457
- toggleService(service: string, enabled: boolean, namespaceId?: string): Promise<ServiceConfig>;
458
- deleteService(service: string, namespaceId?: string): Promise<any>;
459
- bulkConfigureServices(services: ConfigureServiceOptions[], namespaceId?: string): Promise<ServiceConfig[]>;
460
- }
461
-
462
- export class OblienNamespaces {
463
- constructor(client: OblienClient);
464
-
465
- create(options: CreateNamespaceOptions): Promise<NamespaceData>;
466
- get(identifier: string): Promise<NamespaceData>;
467
- list(options?: ListNamespacesOptions): Promise<{ success: boolean; data: NamespaceData[]; pagination: any }>;
468
- update(namespaceId: string, updates: UpdateNamespaceOptions): Promise<NamespaceData>;
469
- delete(namespaceId: string): Promise<any>;
470
- getActivity(namespaceId: string, options?: { limit?: number; offset?: number }): Promise<any[]>;
471
- getUsage(namespaceId: string, options?: { service?: string; days?: number }): Promise<NamespaceUsage>;
472
- getAvailableServices(): Promise<any[]>;
473
- configureService(namespaceId: string, options: ConfigureServiceOptions): Promise<ServiceConfig>;
474
- listServices(namespaceId: string): Promise<ServiceConfig[]>;
475
- getServiceConfig(namespaceId: string, service: string): Promise<ServiceConfig>;
476
- toggleService(namespaceId: string, service: string, enabled: boolean): Promise<ServiceConfig>;
477
- enableService(namespaceId: string, service: string): Promise<ServiceConfig>;
478
- disableService(namespaceId: string, service: string): Promise<ServiceConfig>;
479
- deleteService(namespaceId: string, service: string): Promise<any>;
480
- bulkConfigureServices(namespaceId: string, services: ConfigureServiceOptions[]): Promise<ServiceConfig[]>;
481
- namespace(namespaceId?: string): Namespace;
482
- }
483
-
484
- // ============ Credits ============
485
-
486
- export interface QuotaData {
487
- id: number;
488
- client_id: string;
489
- namespace: string;
490
- service: string;
491
- quota_limit: number | null;
492
- quota_used: number;
493
- period: string;
494
- period_start?: string;
495
- period_end?: string;
496
- enabled: boolean;
497
- created_at: string;
498
- updated_at: string;
499
- }
500
-
501
- export interface CreditTransaction {
502
- id: number;
503
- client_id: string;
504
- namespace: string;
505
- end_user_id?: string;
506
- amount: number;
507
- client_balance_after: number;
508
- namespace_quota_used?: number;
509
- type: 'deduction' | 'addition' | 'refund' | 'adjustment';
510
- service?: string;
511
- description?: string;
512
- metadata?: Record<string, any>;
513
- created_at: string;
514
- }
515
-
516
- export interface SetQuotaOptions {
517
- namespace: string;
518
- service: string;
519
- quotaLimit: number;
520
- period?: 'daily' | 'monthly' | 'unlimited';
521
- }
522
-
523
- export interface SetEndUserQuotaOptions {
524
- namespace: string;
525
- endUserId: string;
526
- service: string;
527
- quotaLimit: number;
528
- period?: 'daily' | 'monthly' | 'unlimited';
529
- }
530
-
531
- export interface EndUserQuota {
532
- limit: number;
533
- used: number;
534
- remaining: number;
535
- period: string;
536
- enabled: boolean;
537
- }
538
-
539
- export interface SetDefaultQuotaOptions {
540
- level: 'namespace' | 'end_user';
541
- service: string;
542
- quotaLimit: number | null;
543
- period?: 'daily' | 'monthly' | 'unlimited';
544
- autoApply?: boolean;
545
- }
546
-
547
- export interface DefaultQuotaConfig {
548
- id: number;
549
- level: 'namespace' | 'end_user';
550
- service: string;
551
- quotaLimit: number | null;
552
- period: string;
553
- autoApply: boolean;
554
- enabled: boolean;
555
- createdAt: string;
556
- updatedAt: string;
557
- }
558
-
559
- export interface HistoryOptions {
560
- namespace?: string;
561
- endUserId?: string;
562
- service?: string;
563
- type?: 'deduction' | 'addition' | 'refund' | 'adjustment';
564
- startDate?: string;
565
- endDate?: string;
566
- limit?: number;
567
- offset?: number;
568
- after?: string;
569
- afterId?: number;
570
- }
571
-
572
- export interface SummaryOptions {
573
- namespace?: string;
574
- days?: number;
575
- limit?: number;
576
- offset?: number;
577
- after?: number;
578
- }
579
-
580
- export interface CreditPackage {
581
- id: string;
582
- name: string;
583
- credits: number;
584
- price: number;
585
- currency: string;
586
- active: boolean;
587
- }
588
-
589
- export interface CalculateCostOptions {
590
- packageId?: string;
591
- amount?: number;
592
- credits?: number;
593
- }
594
-
595
- export interface PurchaseOptions {
596
- packageId?: string;
597
- amount?: number;
598
- metadata?: Record<string, any>;
599
- }
600
-
601
- export interface PurchaseHistoryOptions {
602
- limit?: number;
603
- offset?: number;
604
- light?: boolean;
605
- }
606
-
607
- export class OblienCredits {
608
- constructor(client: OblienClient);
609
-
610
- // Balance Management
611
- getBalance(): Promise<number>;
612
- addCredits(amount: number, reason?: string, metadata?: Record<string, any>): Promise<any>;
613
-
614
- // Quota Management
615
- getNamespaceQuotas(options?: { limit?: number; offset?: number; after?: string; search?: string; status?: string }): Promise<any>;
616
- getNamespaceDetails(namespace: string, options?: { days?: number }): Promise<any>;
617
- setQuota(options: SetQuotaOptions): Promise<QuotaData>;
618
- resetQuota(namespace: string, service: string): Promise<any>;
619
-
620
- // End User Quota Management (Optional Third Level)
621
- setEndUserQuota(options: SetEndUserQuotaOptions): Promise<any>;
622
- getEndUserQuota(namespace: string, endUserId: string, service: string): Promise<{ success: boolean; quota: EndUserQuota | null }>;
623
- resetEndUserQuota(namespace: string, endUserId: string, service: string): Promise<any>;
624
-
625
- // Default Quota Configuration (Dynamic, per client)
626
- setDefaultQuota(options: SetDefaultQuotaOptions): Promise<any>;
627
- getDefaultQuota(level: 'namespace' | 'end_user', service: string): Promise<{ success: boolean; config: DefaultQuotaConfig | null }>;
628
- getAllDefaultQuotas(level?: 'namespace' | 'end_user'): Promise<{ success: boolean; configs: DefaultQuotaConfig[] }>;
629
- deleteDefaultQuota(level: 'namespace' | 'end_user', service: string): Promise<any>;
630
- toggleDefaultQuotaAutoApply(level: 'namespace' | 'end_user', service: string, autoApply: boolean): Promise<any>;
631
-
632
- // Usage History & Transactions
633
- getHistory(options?: HistoryOptions): Promise<{ success: boolean; data: CreditTransaction[]; pagination: any }>;
634
- getHistoryFilters(): Promise<{ namespaces: string[]; services: string[] }>;
635
- getSummary(options?: SummaryOptions): Promise<any>;
636
- getUsageStats(options?: { days?: number }): Promise<any>;
637
-
638
- // Pricing & Packages
639
- getPackages(): Promise<CreditPackage[]>;
640
- getPricingInfo(): Promise<any>;
641
- calculateCost(options: CalculateCostOptions): Promise<any>;
642
- calculateCredits(amount: number): Promise<any>;
643
-
644
- // Purchase Management
645
- createCheckout(options: PurchaseOptions): Promise<any>;
646
- getPurchaseHistory(options?: PurchaseHistoryOptions): Promise<any>;
647
- getPurchaseDetails(purchaseId: string): Promise<any>;
648
- getPurchaseSession(purchaseId: string): Promise<any>;
649
- cancelPurchase(purchaseId: string): Promise<any>;
650
- }
651
-
652
- // ============ CDN Types ============
653
-
654
- export interface CDNConfig {
655
- cdnURL?: string;
656
- }
657
-
658
- // ============ Browser Types ============
659
-
660
- export interface BrowserConfig {
661
- browserURL?: string;
662
- }
663
-
664
- export interface BrowserTokenResponse {
665
- success: boolean;
666
- token: string;
667
- expiresIn: string;
668
- message: string;
669
- }
670
-
671
- export interface PageContentOptions {
672
- url: string;
673
- token?: string;
674
- waitFor?: number;
675
- selector?: string;
676
- extract?: 'html' | 'text' | 'both';
677
- waitForFullLoad?: boolean;
678
- useProxy?: boolean;
679
- }
680
-
681
- export interface PageContentResult {
682
- success: boolean;
683
- url: string;
684
- html?: string;
685
- text?: string;
686
- title?: string;
687
- }
688
-
689
- export interface ScreenshotOptions {
690
- url: string;
691
- token?: string;
692
- fullPage?: boolean;
693
- format?: 'png' | 'jpeg';
694
- quality?: number;
695
- viewport?: { width: number; height: number };
696
- device?: string;
697
- useProxy?: boolean;
698
- }
699
-
700
- export interface ScreenshotResult {
701
- success: boolean;
702
- screenshot: string;
703
- format: string;
704
- width: number;
705
- height: number;
706
- }
707
-
708
- export interface PdfOptions {
709
- url: string;
710
- token?: string;
711
- format?: string;
712
- landscape?: boolean;
713
- printBackground?: boolean;
714
- margin?: { top?: string; right?: string; bottom?: string; left?: string };
715
- useProxy?: boolean;
716
- }
717
-
718
- export interface PdfResult {
719
- success: boolean;
720
- pdf: string;
721
- format: string;
722
- pages: number;
723
- }
724
-
725
- export interface MonitorRequestsOptions {
726
- url: string;
727
- token?: string;
728
- duration?: number;
729
- filterTypes?: string[];
730
- useProxy?: boolean;
731
- }
732
-
733
- export interface MonitorRequestsResult {
734
- success: boolean;
735
- requests: Array<{
736
- url: string;
737
- method: string;
738
- type: string;
739
- status?: number;
740
- }>;
741
- count: number;
742
- }
743
-
744
- export interface ConsoleLogsOptions {
745
- url: string;
746
- token?: string;
747
- duration?: number;
748
- useProxy?: boolean;
749
- }
750
-
751
- export interface ConsoleLogsResult {
752
- success: boolean;
753
- logs: Array<{
754
- type: string;
755
- text: string;
756
- timestamp: string;
757
- }>;
758
- }
759
-
760
- export class OblienBrowser {
761
- constructor(client: OblienClient, config?: BrowserConfig);
762
-
763
- // Token Management
764
- generateToken(): Promise<BrowserTokenResponse>;
765
- clearTokenCache(): void;
766
-
767
- // Browser Operations
768
- getPageContent(options: PageContentOptions): Promise<PageContentResult>;
769
- screenshot(options: ScreenshotOptions): Promise<ScreenshotResult>;
770
- pdf(options: PdfOptions): Promise<PdfResult>;
771
- monitorRequests(options: MonitorRequestsOptions): Promise<MonitorRequestsResult>;
772
- getConsoleLogs(options: ConsoleLogsOptions): Promise<ConsoleLogsResult>;
773
- getDevicePresets(options?: { token?: string }): Promise<any>;
774
- getStatus(options?: { token?: string }): Promise<any>;
775
- }
776
-
777
- export interface TokenResponse {
778
- success: boolean;
779
- token: string;
780
- scope: 'user' | 'admin';
781
- permissions: string[];
782
- expiresIn: string;
783
- message: string;
784
- }
785
-
786
- export interface MulterFile {
787
- buffer: Buffer;
788
- originalname: string;
789
- mimetype: string;
790
- size: number;
791
- }
792
-
793
- export interface UploadOptions {
794
- token?: string;
795
- filename?: string;
796
- mimetype?: string;
797
- scope?: 'user' | 'admin';
798
- }
799
-
800
- export interface MultiUploadOptions {
801
- token?: string;
802
- filenames?: string[];
803
- scope?: 'user' | 'admin';
804
- }
805
-
806
- export interface UploadFromUrlsOptions {
807
- token?: string;
808
- scope?: 'user' | 'admin';
809
- }
810
-
811
- export interface FileInfoOptions {
812
- token?: string;
813
- }
814
-
815
- export interface UploadResult {
816
- success: boolean;
817
- file: {
818
- url: string;
819
- filename: string;
820
- size: number;
821
- mimetype: string;
822
- variants?: Record<string, string>;
823
- };
824
- }
825
-
826
- export interface MultiUploadResult {
827
- success: boolean;
828
- files: Array<{
829
- url: string;
830
- filename: string;
831
- size: number;
832
- mimetype: string;
833
- variants?: Record<string, string>;
834
- }>;
835
- }
836
-
837
- export interface FileInfo {
838
- success: boolean;
839
- file: {
840
- path: string;
841
- size: number;
842
- mimetype: string;
843
- created: string;
844
- variants?: Record<string, string>;
845
- };
846
- }
847
-
848
- export interface ListFilesOptions {
849
- page?: number;
850
- limit?: number;
851
- includeDeleted?: boolean;
852
- uploadType?: 'upload' | 'url';
853
- sortBy?: 'created_at' | 'size' | 'filename';
854
- sortOrder?: 'ASC' | 'DESC';
855
- }
856
-
857
- export interface CDNFile {
858
- id: number;
859
- user_id: string;
860
- filename: string;
861
- original_filename: string | null;
862
- original_url: string | null;
863
- file_path: string;
864
- cdn_url: string;
865
- size: number;
866
- mime_type: string;
867
- variants: Array<{
868
- variant: string;
869
- url: string;
870
- }>;
871
- metadata: Record<string, any>;
872
- upload_type: 'upload' | 'url';
873
- is_deleted: boolean;
874
- deleted_at: string | null;
875
- created_at: string;
876
- updated_at: string;
877
- }
878
-
879
- export interface ListFilesResult {
880
- success: boolean;
881
- data: {
882
- files: CDNFile[];
883
- pagination: {
884
- page: number;
885
- limit: number;
886
- total: number;
887
- totalPages: number;
888
- hasMore: boolean;
889
- };
890
- };
891
- }
892
-
893
- export interface StorageStats {
894
- success: boolean;
895
- data: {
896
- totalFiles: number;
897
- totalSize: number;
898
- activeFiles: number;
899
- activeSize: number;
900
- uploadedFiles: number;
901
- urlFiles: number;
902
- };
903
- }
904
-
905
- export interface GetFileResult {
906
- success: boolean;
907
- data: CDNFile;
908
- }
909
-
910
- export interface DeleteFileResult {
911
- success: boolean;
912
- message: string;
913
- }
914
-
915
- export interface RestoreFileResult {
916
- success: boolean;
917
- message: string;
918
- }
919
-
920
- export class OblienCDN {
921
- constructor(client: OblienClient, config?: CDNConfig);
922
-
923
- // Token Management
924
- generateUserToken(): Promise<TokenResponse>;
925
- generateAdminToken(): Promise<TokenResponse>;
926
- clearTokenCache(scope?: 'user' | 'admin' | 'all'): void;
927
-
928
- // File Upload
929
- upload(file: Buffer | string | MulterFile, options?: UploadOptions): Promise<UploadResult>;
930
- uploadMultiple(files: Array<Buffer | string | MulterFile>, options?: MultiUploadOptions): Promise<MultiUploadResult>;
931
-
932
- // URL Upload
933
- uploadFromUrls(urls: string[], options?: UploadFromUrlsOptions): Promise<MultiUploadResult>;
934
-
935
- // File Info (Admin Only)
936
- getFileInfo(filePath: string, options?: FileInfoOptions): Promise<FileInfo>;
937
-
938
- // Metadata
939
- getVariants(options?: { token?: string }): Promise<any>;
940
- getLimits(options?: { token?: string }): Promise<any>;
941
-
942
- // File Management (Session-based)
943
- listFiles(options?: ListFilesOptions): Promise<ListFilesResult>;
944
- getStats(): Promise<StorageStats>;
945
- getFile(fileId: number | string): Promise<GetFileResult>;
946
- deleteFile(fileId: number | string): Promise<DeleteFileResult>;
947
- restoreFile(fileId: number | string): Promise<RestoreFileResult>;
948
- }
949
-
950
- // ============ Exports ============
951
-
952
- declare const _default: {
953
- OblienClient: typeof OblienClient;
954
- OblienChat: typeof OblienChat;
955
- ChatSession: typeof ChatSession;
956
- OblienNamespaces: typeof OblienNamespaces;
957
- Namespace: typeof Namespace;
958
- OblienCredits: typeof OblienCredits;
959
- OblienCDN: typeof OblienCDN;
960
- OblienBrowser: typeof OblienBrowser;
961
- GuestManager: typeof GuestManager;
962
- NodeCacheStorage: typeof NodeCacheStorage;
963
- InMemoryStorage: typeof InMemoryStorage;
964
- RedisStorage: typeof RedisStorage;
965
- };
966
-
967
- export default _default;