dominus-sdk-nodejs 1.13.0 → 1.13.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 +42 -566
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +14 -1
- package/dist/lib/client.js.map +1 -1
- package/docs/architecture.md +34 -0
- package/docs/development.md +30 -0
- package/docs/namespaces.md +35 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,585 +1,61 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Dominus SDK for Node.js
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
TypeScript SDK for CareBridge Dominus services. Provides a single, async-first client that routes through the Dominus Gateway, handles JWT minting/caching, and exposes service namespaces for secrets, data, files, auth, AI workflows, and more.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- **Namespace-based API** - Intuitive access via `dominus.db`, `dominus.redis`, `dominus.files`, etc.
|
|
10
|
-
- **Async/Await** - Built for modern async TypeScript/JavaScript applications
|
|
11
|
-
- **Automatic JWT Management** - Token minting, caching, and refresh handled transparently
|
|
12
|
-
- **Resilience Built-in** - Circuit breaker, exponential backoff with jitter, retry logic
|
|
13
|
-
- **Cold Start Handling** - Special retry logic for orchestrator cold starts
|
|
14
|
-
- **Typed Errors** - 9 specific error classes for different failure modes
|
|
15
|
-
- **Secure by Default** - Client-side password hashing, audit trail support
|
|
16
|
-
- **Server-Side Only** - Designed for Next.js API routes, Express, and Node.js backends
|
|
5
|
+
## What This Is
|
|
6
|
+
- Server-side SDK for Node.js 18+ (ESM)
|
|
7
|
+
- Default routing through the Dominus Gateway with base64-encoded JSON bodies
|
|
8
|
+
- Namespace API plus root-level shortcuts for common operations
|
|
17
9
|
|
|
18
10
|
## Quick Start
|
|
19
11
|
|
|
20
|
-
```
|
|
12
|
+
```ts
|
|
21
13
|
import { dominus } from 'dominus-sdk-nodejs';
|
|
22
14
|
|
|
23
|
-
|
|
24
|
-
process.env.DOMINUS_TOKEN = "your-psk-token";
|
|
25
|
-
|
|
26
|
-
// Secrets
|
|
27
|
-
const dbUrl = await dominus.secrets.get("DATABASE_URL");
|
|
28
|
-
|
|
29
|
-
// Database queries
|
|
30
|
-
const users = await dominus.db.query("users", { filters: { status: "active" } });
|
|
31
|
-
|
|
32
|
-
// Redis caching
|
|
33
|
-
await dominus.redis.set("session:123", { user: "john" }, { ttl: 3600 });
|
|
34
|
-
|
|
35
|
-
// File storage
|
|
36
|
-
const result = await dominus.files.upload(buffer, "report.pdf", { category: "reports" });
|
|
37
|
-
|
|
38
|
-
// Structured logging
|
|
39
|
-
await dominus.logs.info("User logged in", { user_id: "123" });
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Installation
|
|
15
|
+
process.env.DOMINUS_TOKEN = 'your-psk-token';
|
|
43
16
|
|
|
44
|
-
|
|
45
|
-
|
|
17
|
+
const users = await dominus.db.query('users', { filters: { status: 'active' } });
|
|
18
|
+
await dominus.redis.set('session:123', { user: 'john' }, { ttl: 3600 });
|
|
19
|
+
const file = await dominus.files.upload(buffer, 'report.pdf', { category: 'reports' });
|
|
46
20
|
```
|
|
47
21
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
## Requirements
|
|
55
|
-
|
|
56
|
-
- Node.js 18+ (uses native fetch)
|
|
57
|
-
- TypeScript 5.0+ (optional, but recommended)
|
|
22
|
+
## Architecture (SDK View)
|
|
23
|
+
- DOMINUS_TOKEN (PSK) -> Gateway `/jwt/mint` -> JWT cached in `dominusCache`
|
|
24
|
+
- All JSON requests/responses are base64-encoded
|
|
25
|
+
- GET requests send no body; all parameters must be in path or POST body
|
|
26
|
+
- SDK defaults to gateway routing (`/api/*` -> `/svc/*`)
|
|
58
27
|
|
|
59
28
|
## Namespaces
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
## Usage Examples
|
|
77
|
-
|
|
78
|
-
### Secrets Management
|
|
79
|
-
|
|
80
|
-
```typescript
|
|
81
|
-
// Get a secret
|
|
82
|
-
const value = await dominus.secrets.get("API_KEY");
|
|
83
|
-
|
|
84
|
-
// Create or update
|
|
85
|
-
await dominus.secrets.upsert("API_KEY", "new-value", "Updated API key");
|
|
86
|
-
|
|
87
|
-
// List secrets with prefix
|
|
88
|
-
const secrets = await dominus.secrets.list("DB_");
|
|
89
|
-
|
|
90
|
-
// Delete
|
|
91
|
-
await dominus.secrets.delete("OLD_KEY");
|
|
92
|
-
|
|
93
|
-
// Root-level shortcuts
|
|
94
|
-
const dbUrl = await dominus.get("DATABASE_URL");
|
|
95
|
-
await dominus.upsert("KEY", "value");
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### Database Operations
|
|
99
|
-
|
|
100
|
-
```typescript
|
|
101
|
-
// List tables
|
|
102
|
-
const tables = await dominus.db.tables();
|
|
103
|
-
const tenantTables = await dominus.db.tables("tenant_acme");
|
|
104
|
-
|
|
105
|
-
// Query with filters and pagination
|
|
106
|
-
const users = await dominus.db.query("users", {
|
|
107
|
-
filters: { status: "active", role: ["admin", "manager"] },
|
|
108
|
-
sortBy: "created_at",
|
|
109
|
-
sortOrder: "DESC",
|
|
110
|
-
limit: 50,
|
|
111
|
-
offset: 0
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
// Insert
|
|
115
|
-
const user = await dominus.db.insert("users", {
|
|
116
|
-
email: "john@example.com",
|
|
117
|
-
name: "John Doe"
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
// Update
|
|
121
|
-
await dominus.db.update("users", { status: "inactive" }, { id: userId });
|
|
122
|
-
|
|
123
|
-
// Delete
|
|
124
|
-
await dominus.db.delete("users", { id: userId });
|
|
125
|
-
|
|
126
|
-
// Bulk insert
|
|
127
|
-
await dominus.db.bulkInsert("events", [
|
|
128
|
-
{ type: "login", user_id: "123" },
|
|
129
|
-
{ type: "login", user_id: "456" }
|
|
130
|
-
]);
|
|
131
|
-
|
|
132
|
-
// Secure table access (requires audit reason)
|
|
133
|
-
const patients = await dominus.db.query("patients", {
|
|
134
|
-
schema: "tenant_acme",
|
|
135
|
-
reason: "Reviewing records for appointment #123",
|
|
136
|
-
actor: "dr.smith"
|
|
137
|
-
});
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Redis Caching
|
|
141
|
-
|
|
142
|
-
```typescript
|
|
143
|
-
// Key-value operations
|
|
144
|
-
await dominus.redis.set("user:123", { name: "John" }, { ttl: 3600 });
|
|
145
|
-
const value = await dominus.redis.get("user:123");
|
|
146
|
-
|
|
147
|
-
// Distributed locks
|
|
148
|
-
const acquired = await dominus.redis.setnx("lock:job", "worker-1", { ttl: 60 });
|
|
149
|
-
if (acquired) {
|
|
150
|
-
try {
|
|
151
|
-
// Do exclusive work
|
|
152
|
-
} finally {
|
|
153
|
-
await dominus.redis.delete("lock:job");
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Counters
|
|
158
|
-
await dominus.redis.incr("page:views", 1);
|
|
159
|
-
|
|
160
|
-
// Hash operations
|
|
161
|
-
await dominus.redis.hset("user:123", "email", "john@example.com", { ttl: 3600 });
|
|
162
|
-
const email = await dominus.redis.hget("user:123", "email");
|
|
163
|
-
const allFields = await dominus.redis.hgetall("user:123");
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### File Storage
|
|
167
|
-
|
|
168
|
-
```typescript
|
|
169
|
-
import { readFileSync } from 'fs';
|
|
170
|
-
|
|
171
|
-
// Upload file
|
|
172
|
-
const data = readFileSync("report.pdf");
|
|
173
|
-
const result = await dominus.files.upload(data, "report.pdf", {
|
|
174
|
-
category: "reports",
|
|
175
|
-
contentType: "application/pdf"
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
// Get download URL
|
|
179
|
-
const download = await dominus.files.download({ id: result.id });
|
|
180
|
-
console.log(download.download_url);
|
|
181
|
-
|
|
182
|
-
// Fetch file from URL and store
|
|
183
|
-
const fetched = await dominus.files.fetch("https://example.com/doc.pdf", {
|
|
184
|
-
filename: "external-doc.pdf",
|
|
185
|
-
category: "imports"
|
|
186
|
-
});
|
|
187
|
-
|
|
188
|
-
// List files
|
|
189
|
-
const files = await dominus.files.list({ category: "reports", prefix: "2025/" });
|
|
190
|
-
|
|
191
|
-
// Delete file
|
|
192
|
-
await dominus.files.delete({ id: result.id });
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### Structured Logging
|
|
196
|
-
|
|
197
|
-
```typescript
|
|
198
|
-
// Simple logging (auto-captures file and function)
|
|
199
|
-
await dominus.logs.info("User logged in", { user_id: "123" });
|
|
200
|
-
await dominus.logs.error("Payment failed", { order_id: "456" });
|
|
201
|
-
|
|
202
|
-
// All log levels
|
|
203
|
-
await dominus.logs.debug("Debug message", { data: "..." });
|
|
204
|
-
await dominus.logs.notice("Important notice", {});
|
|
205
|
-
await dominus.logs.warn("Warning message", {});
|
|
206
|
-
await dominus.logs.critical("Critical error", {});
|
|
207
|
-
|
|
208
|
-
// With category
|
|
209
|
-
await dominus.logs.info("Cache hit", { key: "user:123" }, "cache");
|
|
210
|
-
|
|
211
|
-
// With exception
|
|
212
|
-
try {
|
|
213
|
-
riskyOperation();
|
|
214
|
-
} catch (error) {
|
|
215
|
-
await dominus.logs.error("Operation failed", {}, { exception: error as Error });
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
// Batch logging
|
|
219
|
-
await dominus.logs.batch([
|
|
220
|
-
{ level: "info", message: "Step 1 complete", data: {} },
|
|
221
|
-
{ level: "info", message: "Step 2 complete", data: {} }
|
|
222
|
-
]);
|
|
223
|
-
|
|
224
|
-
// Query logs
|
|
225
|
-
const errors = await dominus.logs.query({ level: "error", limit: 100 });
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
### Authentication & Authorization (Guardian)
|
|
229
|
-
|
|
230
|
-
```typescript
|
|
231
|
-
// User management
|
|
232
|
-
const users = await dominus.auth.listUsers();
|
|
233
|
-
const user = await dominus.auth.getUser("user-uuid");
|
|
234
|
-
|
|
235
|
-
const newUser = await dominus.auth.addUser({
|
|
236
|
-
username: "john",
|
|
237
|
-
password: "secure-password",
|
|
238
|
-
email: "john@example.com"
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
await dominus.auth.updateUser("user-uuid", { status: "active" });
|
|
242
|
-
await dominus.auth.deleteUser("user-uuid");
|
|
243
|
-
|
|
244
|
-
// Role management
|
|
245
|
-
const roles = await dominus.auth.listRoles();
|
|
246
|
-
const role = await dominus.auth.addRole({
|
|
247
|
-
name: "Editor",
|
|
248
|
-
scopeSlugs: ["read", "write", "publish"]
|
|
249
|
-
});
|
|
250
|
-
|
|
251
|
-
// Scope management
|
|
252
|
-
const scopes = await dominus.auth.listScopes();
|
|
253
|
-
await dominus.auth.addScope({ name: "publish", slug: "publish" });
|
|
254
|
-
|
|
255
|
-
// Tenant management
|
|
256
|
-
const tenants = await dominus.auth.listTenants();
|
|
257
|
-
const categories = await dominus.auth.listTenantCategories();
|
|
258
|
-
|
|
259
|
-
// Page and navigation
|
|
260
|
-
const pages = await dominus.auth.listPages();
|
|
261
|
-
const navItems = await dominus.auth.listNavigation();
|
|
262
|
-
|
|
263
|
-
// Secure tables registry
|
|
264
|
-
const secureTables = await dominus.auth.listSecureTables();
|
|
265
|
-
await dominus.auth.addSecureTable("patients", "tenant_acme");
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### Schema Management (DDL)
|
|
269
|
-
|
|
270
|
-
```typescript
|
|
271
|
-
// Create table
|
|
272
|
-
await dominus.ddl.createTable("orders", [
|
|
273
|
-
{ name: "id", type: "UUID", constraints: ["PRIMARY KEY"] },
|
|
274
|
-
{ name: "user_id", type: "UUID", constraints: ["NOT NULL"] },
|
|
275
|
-
{ name: "total", type: "DECIMAL(10,2)" },
|
|
276
|
-
{ name: "created_at", type: "TIMESTAMPTZ", default: "NOW()" }
|
|
277
|
-
]);
|
|
278
|
-
|
|
279
|
-
// Add column
|
|
280
|
-
await dominus.ddl.addColumn("orders", {
|
|
281
|
-
name: "status",
|
|
282
|
-
type: "VARCHAR(50)",
|
|
283
|
-
default: "'pending'"
|
|
284
|
-
});
|
|
285
|
-
|
|
286
|
-
// Alter column
|
|
287
|
-
await dominus.ddl.alterColumn("orders", "status", { type: "VARCHAR(100)" });
|
|
288
|
-
|
|
289
|
-
// Create index
|
|
290
|
-
await dominus.ddl.createIndex("orders", "idx_orders_user", ["user_id"]);
|
|
291
|
-
|
|
292
|
-
// Migrations
|
|
293
|
-
const migrations = await dominus.ddl.listMigrations();
|
|
294
|
-
await dominus.ddl.applyMigration("20250101_add_orders");
|
|
295
|
-
|
|
296
|
-
// Provision tenant schema from category template
|
|
297
|
-
await dominus.ddl.provisionTenantFromCategory("customer_acme", "healthcare");
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
### User Authentication (Portal)
|
|
301
|
-
|
|
302
|
-
```typescript
|
|
303
|
-
// User login (tenant_id is optional)
|
|
304
|
-
const session = await dominus.portal.login(
|
|
305
|
-
"john@example.com",
|
|
306
|
-
"secret123",
|
|
307
|
-
"tenant-uuid" // optional
|
|
308
|
-
);
|
|
309
|
-
|
|
310
|
-
// Client login with PSK (for service-to-service)
|
|
311
|
-
const clientSession = await dominus.portal.loginClient("psk-token");
|
|
312
|
-
|
|
313
|
-
// Get current user
|
|
314
|
-
const me = await dominus.portal.me();
|
|
315
|
-
|
|
316
|
-
// Get navigation (access-filtered for current user)
|
|
317
|
-
const nav = await dominus.portal.getNavigation();
|
|
318
|
-
|
|
319
|
-
// Check page access
|
|
320
|
-
const hasAccess = await dominus.portal.checkPageAccess("/dashboard/admin/users");
|
|
321
|
-
|
|
322
|
-
// Switch tenant
|
|
323
|
-
await dominus.portal.switchTenant("other-tenant-uuid");
|
|
324
|
-
|
|
325
|
-
// Profile & preferences
|
|
326
|
-
const profile = await dominus.portal.getProfile();
|
|
327
|
-
await dominus.portal.updateProfile({ displayName: "John Doe" });
|
|
328
|
-
|
|
329
|
-
const prefs = await dominus.portal.getPreferences();
|
|
330
|
-
await dominus.portal.updatePreferences({
|
|
331
|
-
theme: "dark",
|
|
332
|
-
timezone: "America/New_York"
|
|
333
|
-
});
|
|
334
|
-
|
|
335
|
-
// Password management
|
|
336
|
-
await dominus.portal.changePassword("old-password", "new-password");
|
|
337
|
-
await dominus.portal.requestPasswordReset("john@example.com");
|
|
338
|
-
await dominus.portal.confirmPasswordReset("reset-token", "new-password");
|
|
339
|
-
|
|
340
|
-
// Session management
|
|
341
|
-
const sessions = await dominus.portal.listSessions();
|
|
342
|
-
await dominus.portal.revokeSession("session-id");
|
|
343
|
-
await dominus.portal.revokeAllSessions();
|
|
344
|
-
|
|
345
|
-
// Registration & email verification
|
|
346
|
-
await dominus.portal.register("newuser", "new@example.com", "password", "tenant-id");
|
|
347
|
-
await dominus.portal.verifyEmail("verification-token");
|
|
348
|
-
await dominus.portal.resendVerification("new@example.com");
|
|
349
|
-
|
|
350
|
-
// Logout
|
|
351
|
-
await dominus.portal.logout();
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
### Email Delivery (Courier)
|
|
355
|
-
|
|
356
|
-
```typescript
|
|
357
|
-
// Send email via Postmark template
|
|
358
|
-
const result = await dominus.courier.send(
|
|
359
|
-
"welcome",
|
|
360
|
-
"user@example.com",
|
|
361
|
-
"noreply@myapp.com",
|
|
362
|
-
{ name: "John", product_name: "My App" }
|
|
363
|
-
);
|
|
364
|
-
|
|
365
|
-
// Convenience methods
|
|
366
|
-
await dominus.courier.sendWelcome(
|
|
367
|
-
"user@example.com",
|
|
368
|
-
"noreply@myapp.com",
|
|
369
|
-
{ name: "John", actionUrl: "https://myapp.com/start", productName: "My App" }
|
|
370
|
-
);
|
|
371
|
-
|
|
372
|
-
await dominus.courier.sendPasswordReset(
|
|
373
|
-
"user@example.com",
|
|
374
|
-
"noreply@myapp.com",
|
|
375
|
-
{ name: "John", resetUrl: "https://myapp.com/reset?token=abc", productName: "My App" }
|
|
376
|
-
);
|
|
377
|
-
|
|
378
|
-
await dominus.courier.sendEmailVerification(
|
|
379
|
-
"user@example.com",
|
|
380
|
-
"noreply@myapp.com",
|
|
381
|
-
{ name: "John", verifyUrl: "https://myapp.com/verify?token=xyz", productName: "My App" }
|
|
382
|
-
);
|
|
383
|
-
|
|
384
|
-
await dominus.courier.sendInvitation(
|
|
385
|
-
"invited@example.com",
|
|
386
|
-
"noreply@myapp.com",
|
|
387
|
-
{
|
|
388
|
-
name: "Invited User",
|
|
389
|
-
inviteUrl: "https://myapp.com/invite?token=abc",
|
|
390
|
-
inviterName: "John",
|
|
391
|
-
productName: "My App"
|
|
392
|
-
}
|
|
393
|
-
);
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
### Health Checks
|
|
397
|
-
|
|
398
|
-
```typescript
|
|
399
|
-
// Basic health check
|
|
400
|
-
const status = await dominus.health.check();
|
|
401
|
-
|
|
402
|
-
// Ping (lightweight)
|
|
403
|
-
await dominus.health.ping();
|
|
404
|
-
|
|
405
|
-
// Warmup (for cold start tolerance)
|
|
406
|
-
await dominus.health.warmup();
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
## Error Handling
|
|
410
|
-
|
|
411
|
-
```typescript
|
|
412
|
-
import {
|
|
413
|
-
dominus,
|
|
414
|
-
DominusError,
|
|
415
|
-
AuthenticationError,
|
|
416
|
-
AuthorizationError,
|
|
417
|
-
NotFoundError,
|
|
418
|
-
ValidationError,
|
|
419
|
-
ConflictError,
|
|
420
|
-
ServiceError,
|
|
421
|
-
SecureTableError,
|
|
422
|
-
ConnectionError,
|
|
423
|
-
TimeoutError,
|
|
424
|
-
} from 'dominus-sdk-nodejs';
|
|
425
|
-
|
|
426
|
-
try {
|
|
427
|
-
const user = await dominus.auth.getUser("invalid-id");
|
|
428
|
-
} catch (error) {
|
|
429
|
-
if (error instanceof NotFoundError) {
|
|
430
|
-
console.log(`User not found: ${error.message}`);
|
|
431
|
-
} else if (error instanceof SecureTableError) {
|
|
432
|
-
console.log("Secure table requires 'reason' and 'actor' parameters");
|
|
433
|
-
} else if (error instanceof AuthenticationError) {
|
|
434
|
-
console.log("Invalid or expired token");
|
|
435
|
-
} else if (error instanceof AuthorizationError) {
|
|
436
|
-
console.log("Insufficient permissions");
|
|
437
|
-
} else if (error instanceof ValidationError) {
|
|
438
|
-
console.log(`Invalid request: ${error.message}`);
|
|
439
|
-
} else if (error instanceof TimeoutError) {
|
|
440
|
-
console.log("Request timed out");
|
|
441
|
-
} else if (error instanceof DominusError) {
|
|
442
|
-
console.log(`Error ${error.statusCode}: ${error.message}`);
|
|
443
|
-
if (error.details) {
|
|
444
|
-
console.log(`Details: ${JSON.stringify(error.details)}`);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
### Error Types
|
|
451
|
-
|
|
452
|
-
| Error | Status | Description |
|
|
453
|
-
|-------|--------|-------------|
|
|
454
|
-
| `AuthenticationError` | 401 | Invalid or missing token |
|
|
455
|
-
| `AuthorizationError` | 403 | Insufficient permissions |
|
|
456
|
-
| `NotFoundError` | 404 | Resource not found |
|
|
457
|
-
| `ValidationError` | 400 | Invalid request data |
|
|
458
|
-
| `ConflictError` | 409 | Duplicate or version conflict |
|
|
459
|
-
| `ServiceError` | 5xx | Backend service error |
|
|
460
|
-
| `SecureTableError` | 403 | Missing reason for secure table |
|
|
461
|
-
| `ConnectionError` | - | Network connection failed |
|
|
462
|
-
| `TimeoutError` | 504 | Request timed out |
|
|
29
|
+
- `dominus.secrets` (Warden) secrets CRUD
|
|
30
|
+
- `dominus.db` / `dominus.secure` (Scribe) database CRUD + audit-logged tables
|
|
31
|
+
- `dominus.redis` (Whisperer) cache, locks, counters
|
|
32
|
+
- `dominus.files` (Archivist) object storage
|
|
33
|
+
- `dominus.auth` (Guardian) users/roles/scopes/tenants/pages
|
|
34
|
+
- `dominus.ddl` (Smith) schema DDL and migrations
|
|
35
|
+
- `dominus.logs` (Herald) structured logs
|
|
36
|
+
- `dominus.portal` (Portal) user sessions/profile
|
|
37
|
+
- `dominus.courier` (Courier) email
|
|
38
|
+
- `dominus.open` (Scribe Open) direct DB access
|
|
39
|
+
- `dominus.health` health checks
|
|
40
|
+
- `dominus.stt` (Oracle) streaming speech-to-text (WebSocket + VAD)
|
|
41
|
+
- `dominus.admin` admin reseed/reset operations
|
|
42
|
+
- `dominus.ai` agent-runtime: LLM, RAG, artifacts, results, orchestration
|
|
43
|
+
- `dominus.workflow` workflow-manager CRUD and execution
|
|
463
44
|
|
|
464
45
|
## Configuration
|
|
46
|
+
Required:
|
|
47
|
+
- `DOMINUS_TOKEN` (PSK)
|
|
465
48
|
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
### Resilience Configuration
|
|
474
|
-
|
|
475
|
-
The SDK includes built-in resilience features:
|
|
476
|
-
|
|
477
|
-
| Feature | Configuration |
|
|
478
|
-
|---------|---------------|
|
|
479
|
-
| Request Timeout | 30 seconds |
|
|
480
|
-
| Max Retries | 3 with exponential backoff |
|
|
481
|
-
| Circuit Breaker | Opens after 5 failures, resets after 30s |
|
|
482
|
-
| JWT Cache TTL | Refreshes when <60 seconds remain |
|
|
483
|
-
| JWT Mint Retries | 3 with backoff (handles cold starts) |
|
|
484
|
-
| Backoff Delays | Base 1s, max 15s with jitter |
|
|
485
|
-
|
|
486
|
-
## Architecture
|
|
487
|
-
|
|
488
|
-
```
|
|
489
|
-
┌─────────────────┐
|
|
490
|
-
│ Your App │
|
|
491
|
-
│ (Next.js API) │
|
|
492
|
-
└────────┬────────┘
|
|
493
|
-
│ await dominus.db.query(...)
|
|
494
|
-
▼
|
|
495
|
-
┌─────────────────┐
|
|
496
|
-
│ Dominus SDK │ ← JWT caching, circuit breaker, retries
|
|
497
|
-
│ (this package) │
|
|
498
|
-
└────────┬────────┘
|
|
499
|
-
│ HTTPS (base64-encoded JSON)
|
|
500
|
-
▼
|
|
501
|
-
┌─────────────────────────────────┐
|
|
502
|
-
│ Dominus Orchestrator │
|
|
503
|
-
│ (Cloud Run FastAPI backend) │
|
|
504
|
-
│ │
|
|
505
|
-
│ ┌─────────┬─────────┬────────┐ │
|
|
506
|
-
│ │ Warden │Guardian │Archivist│ │
|
|
507
|
-
│ │ Scribe │ Smith │Whisperer│ │
|
|
508
|
-
│ │ Herald │ Portal │ Courier │ │
|
|
509
|
-
│ └─────────┴─────────┴────────┘ │
|
|
510
|
-
└─────────────────────────────────┘
|
|
511
|
-
```
|
|
512
|
-
|
|
513
|
-
## Next.js Integration
|
|
49
|
+
Optional:
|
|
50
|
+
- `DOMINUS_GATEWAY_URL` (defaults to production gateway)
|
|
51
|
+
- `DOMINUS_BASE_URL` (override base URL; defaults to gateway)
|
|
52
|
+
- `DOMINUS_DEBUG=true` (extra logs)
|
|
53
|
+
- `DOMINUS_HTTP_PROXY` / `DOMINUS_HTTPS_PROXY` (proxy hints only)
|
|
514
54
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
export async function GET(request: NextRequest) {
|
|
521
|
-
try {
|
|
522
|
-
const users = await dominus.db.query("users", {
|
|
523
|
-
filters: { status: "active" },
|
|
524
|
-
limit: 50
|
|
525
|
-
});
|
|
526
|
-
return NextResponse.json(users);
|
|
527
|
-
} catch (error) {
|
|
528
|
-
if (error instanceof NotFoundError) {
|
|
529
|
-
return NextResponse.json({ error: "Not found" }, { status: 404 });
|
|
530
|
-
}
|
|
531
|
-
return NextResponse.json({ error: "Failed to fetch users" }, { status: 500 });
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
## Crypto Helpers
|
|
537
|
-
|
|
538
|
-
The SDK exports utility functions for password and token handling:
|
|
539
|
-
|
|
540
|
-
```typescript
|
|
541
|
-
import {
|
|
542
|
-
hashPassword,
|
|
543
|
-
verifyPasswordLocal,
|
|
544
|
-
hashPsk,
|
|
545
|
-
verifyPskLocal,
|
|
546
|
-
generatePskLocal,
|
|
547
|
-
hashToken,
|
|
548
|
-
generateToken
|
|
549
|
-
} from 'dominus-sdk-nodejs';
|
|
550
|
-
|
|
551
|
-
// Password hashing (bcrypt)
|
|
552
|
-
const hash = await hashPassword("user-password");
|
|
553
|
-
const isValid = await verifyPasswordLocal("user-password", hash);
|
|
554
|
-
|
|
555
|
-
// PSK generation and verification
|
|
556
|
-
const psk = generatePskLocal();
|
|
557
|
-
const pskHash = await hashPsk(psk);
|
|
558
|
-
const pskValid = await verifyPskLocal(psk, pskHash);
|
|
559
|
-
|
|
560
|
-
// Token generation
|
|
561
|
-
const token = generateToken(32); // 32-byte random token
|
|
562
|
-
const tokenHash = hashToken(token); // SHA-256 hash
|
|
563
|
-
```
|
|
564
|
-
|
|
565
|
-
## Dependencies
|
|
566
|
-
|
|
567
|
-
- `bcryptjs` - Password hashing
|
|
568
|
-
|
|
569
|
-
## Version
|
|
570
|
-
|
|
571
|
-
**v1.2.2** - Latest release with navigation routes fix and page scope methods
|
|
572
|
-
|
|
573
|
-
### Changelog
|
|
574
|
-
|
|
575
|
-
- **v1.2.2** - Fix `checkPageAccess` to send correct parameter
|
|
576
|
-
- **v1.2.0** - Add navigation routes and page scope methods
|
|
577
|
-
- **v1.1.6** - Add user token support for user-authenticated requests
|
|
578
|
-
- **v1.1.5** - Make `tenant_id` optional in login methods
|
|
579
|
-
- **v1.1.3** - Add retry with backoff for JWT mint (cold start handling)
|
|
580
|
-
- **v1.1.0** - Fix SDK routes and improve error messaging
|
|
581
|
-
- **v1.0.0** - Initial release with full namespace API
|
|
55
|
+
## Documentation
|
|
56
|
+
- `docs/architecture.md`
|
|
57
|
+
- `docs/namespaces.md`
|
|
58
|
+
- `docs/development.md`
|
|
582
59
|
|
|
583
60
|
## License
|
|
584
|
-
|
|
585
61
|
Proprietary - CareBridge Systems
|
package/dist/lib/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACnD,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA0SD;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAsBvE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAc/C;AAyLD;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EACzB,SAAS,UAAQ,GAChB,OAAO,CAAC,MAAM,CAAC,CAoEjB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/client.js
CHANGED
|
@@ -551,7 +551,20 @@ async function healthCheck() {
|
|
|
551
551
|
latency_ms: latency,
|
|
552
552
|
};
|
|
553
553
|
}
|
|
554
|
-
|
|
554
|
+
// Gateway returns base64-encoded responses
|
|
555
|
+
const text = await response.text();
|
|
556
|
+
let data;
|
|
557
|
+
try {
|
|
558
|
+
data = b64Decode(text);
|
|
559
|
+
// Unwrap gateway envelope: { success: true, data: { ... } }
|
|
560
|
+
if (data.success && data.data && typeof data.data === 'object') {
|
|
561
|
+
data = data.data;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
catch {
|
|
565
|
+
// Fallback: try raw JSON (in case gateway ever returns plain JSON)
|
|
566
|
+
data = JSON.parse(text);
|
|
567
|
+
}
|
|
555
568
|
return {
|
|
556
569
|
status: data.status || 'healthy',
|
|
557
570
|
latency_ms: latency,
|
package/dist/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkD1C,YAAY;AACZ,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa;AAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;AAEnD,8DAA8D;AAC9D,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,uEAAuE;AAErG,QAAQ;AACR,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,mDAAmD;AACnD,uEAAuE;AACvE,IAAI,iBAAiB,GAA2B,IAAI,CAAC;AAErD,wBAAwB;AACxB,IAAI,YAAY,GAAoC,QAAQ,CAAC;AAC7D,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa;AAE5C;;GAEG;AACH,SAAS,SAAS,CAAC,IAA6B;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,OAAe,EACf,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,KAAK;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3C,OAAO,KAAK,GAAG,MAAM,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,IAAI,YAAY,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;YACnD,YAAY,GAAG,WAAW,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,YAAY,GAAG,CAAC,CAAC;IACjB,YAAY,GAAG,QAAQ,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,YAAY,EAAE,CAAC;IACf,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAAC;QACtC,YAAY,GAAG,MAAM,CAAC;IACxB,CAAC;AACH,CAAC;AAmBD,aAAa;AACb,IAAI,UAAU,GAAgB,IAAI,CAAC;AACnC,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,eAAe;AAE/C;;GAEG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,8CAA8C;IAC9C,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS;IACtB,oBAAoB;IACpB,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,cAAc,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,WAAW,EAAE;YACtD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,6BAA6B;QAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAqD,CAAC;QAEnF,yCAAyC;QACzC,IAAI,IAAU,CAAC;QACf,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACtB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,MAAyB,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,UAAU,GAAG,IAAI,CAAC;QAClB,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gFAAgF;QAChF,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YACzE,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,GAAQ;IACxC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO,SAAS,CAAC,MAAM,CAAC,SAAS,CAC/B,KAAK,EACL;QACE,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,OAAO;QACvB,GAAG,EAAE,KAAK;KACX,EACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,SAAS;KAChB,EACD,KAAK,EACL,CAAC,QAAQ,CAAC,CACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;IAEpD,2BAA2B;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAInE,CAAC;IAEF,mBAAmB;IACnB,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,8BAA8B;IAC9B,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;QACpB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAE5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,6CAA6C;QAC7C,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,aAAa,GAAG,MAAM,SAAS,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG;YAC7B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC;YACpD,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG;QAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC;QACvG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;IAC7D,CAAC;IAED,wBAAwB;IACxB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEvD,mBAAmB;IACnB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC,YAAa,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAC3C,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAC5B,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAe,CAAC;IACtF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1C,eAAe;IACf,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAED,gEAAgE;IAChE,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE1C,2CAA2C;QAC3C,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,2BAA2B,CAAC,QAAgB,EAAE,WAAoB;IACzE,wDAAwD;IACxD,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,QAAgB;IAC3C,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,mBAAmB,CAC3B,qFAAqF,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,QAAQ,EAAE;QACnC,cAAc,EAAE,YAAY;KAC7B,CAAC;IAEF,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAE5D,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,CAAC,CAAC;IAC3B,IAAI,SAAS,GAAiB,IAAI,CAAC;IAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,gBAAgB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;YAExE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,WAAW,EAAE;gBACtD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI;gBACJ,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,uEAAuE;gBACvE,IACE,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC;oBACnD,OAAO,GAAG,gBAAgB,GAAG,CAAC,EAC9B,CAAC;oBACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBACtD,IAAI,KAAK;wBAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,CAAC,MAAM,WAAW,OAAO,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;oBAClH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBACD,aAAa,EAAE,CAAC;gBAChB,MAAM,IAAI,mBAAmB,CAC3B,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAC7C,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAI5B,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,aAAa,EAAE,CAAC;gBAChB,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,YAAY,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,aAAa,EAAE,CAAC;gBAChB,MAAM,IAAI,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;YACjE,CAAC;YAED,aAAa,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,SAAS,GAAG,KAAK,CAAC;gBAClB,kDAAkD;gBAClD,IAAI,CAAC,CAAC,KAAK,YAAY,mBAAmB,CAAC,EAAE,CAAC;oBAC5C,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,+DAA+D;gBAC/D,MAAM,KAAK,CAAC;YACd,CAAC;YAED,SAAS;gBACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAE5D,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1D,qCAAqC;gBACrC,IAAI,OAAO,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBACtD,IAAI,KAAK;wBAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;oBAC/F,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBACD,aAAa,EAAE,CAAC;gBAChB,MAAM,IAAI,YAAY,CAAC,uBAAuB,CAAC,CAAC;YAClD,CAAC;YAED,2CAA2C;YAC3C,IAAI,OAAO,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtD,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C,OAAO,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;gBACrG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3D,SAAS;YACX,CAAC;YAED,aAAa,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,aAAa,EAAE,CAAC;IAChB,MAAM,SAAS,IAAI,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC5C,mCAAmC;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAElD,gCAAgC;YAChC,IAAI,GAAG,GAAG,WAAW,GAAG,EAAE,EAAE,CAAC;gBAC3B,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,kEAAkE;IAClE,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACxE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,sCAAsC;IACtC,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;QAC9B,IAAI,CAAC;YACH,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC1C,2BAA2B;YAC3B,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,gBAAgB;YAChB,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,eAAuB,EACvB,iBAAyB,EACzB,SAAS,GAAG,KAAK;IAEjB,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,QAAQ,EAAE;QACnC,cAAc,EAAE,YAAY;KAC7B,CAAC;IAEF,yCAAyC;IACzC,MAAM,OAAO,GAA4B;QACvC,iBAAiB,EAAE,eAAe;QAClC,kBAAkB,EAAE,iBAAiB;KACtC,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,eAAe,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI;YACJ,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,YAAY,GAAG,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAA4B,CAAC;gBAC3D,YAAY,GAAI,OAAO,CAAC,KAAgB,IAAI,YAAY,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;YACD,MAAM,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAI5B,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC;QAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY;YAAE,MAAM,KAAK,CAAC;QAE/C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1D,MAAM,IAAI,YAAY,CAAC,8BAA8B,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,eAAe,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,0CAA0C;IAC1C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,WAAW;IACxB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,sCAAsC;IACpE,MAAM,cAAc,GAAG,CAAC,CAAC;IAEzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,yDAAyD;YACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,SAAS,EAAE;gBACpD,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,yBAAyB;gBACzB,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;oBAC3D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC1D,SAAS;gBACX,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE;oBAChC,UAAU,EAAE,OAAO;iBACpB,CAAC;YACJ,CAAC;YAED,2CAA2C;YAC3C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAA6B,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,GAAG,SAAS,CAAC,IAAI,CAA4B,CAAC;gBAClD,4DAA4D;gBAC5D,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC/D,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;gBAC9C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;gBACnE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YACrD,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;gBAChC,UAAU,EAAE,OAAO;gBACnB,GAAG,IAAI;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,kCAAkC;YAClC,IAAI,OAAO,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;gBACxF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,KAAK,CAAgB;IACrB,OAAO,CAAS;IAExB,YAAY,cAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ;QACpB,IAAI,SAAS;YAAE,OAAO;QAEtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B;gBAC5B,sEAAsE;gBACtE,wDAAwD,CAC3D,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM,IAAI,YAAY,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAc,OAAuB;QAChD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAE9G,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACxD,sDAAsD;QACtD,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QAE7E,IAAI,GAAW,CAAC;QAEhB,IAAI,SAAS,EAAE,CAAC;YACd,wFAAwF;YACxF,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QAC1C,CAAC;QAED,kBAAkB;QAClB,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,GAAG,EAAE;YAC9B,cAAc,EAAE,YAAY;SAC7B,CAAC;QAEF,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEpC,aAAa;QACb,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;gBAEvE,IAAI,QAAkB,CAAC;gBAEvB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,uCAAuC;oBACvC,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE,EAAE;wBAC9C,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE;4BACP,aAAa,EAAE,UAAU,GAAG,EAAE;yBAC/B;wBACD,MAAM,EAAE,UAAU,CAAC,MAAM;qBAC1B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE,EAAE;wBAC9C,MAAM;wBACN,OAAO;wBACP,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,UAAU,CAAC,MAAM;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAED,YAAY,CAAC,SAAS,CAAC,CAAC;gBAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,+BAA+B;oBAC/B,IAAI,YAAY,GAAG,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC7C,IAAI,YAAY,GAA4B,EAAE,CAAC;oBAE/C,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACxC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAA4B,CAAC;wBAChE,YAAY;4BACT,OAAO,CAAC,KAAgB;gCACxB,OAAO,CAAC,MAAiB;gCAC1B,YAAY,CAAC;wBACf,YAAY,GAAG,OAAO,CAAC;oBACzB,CAAC;oBAAC,MAAM,CAAC;wBACP,4BAA4B;oBAC9B,CAAC;oBAED,yBAAyB;oBACzB,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBACpD,cAAc,CACZ,QAAQ,CAAC,MAAM,EACf,YAAY,EACZ,YAAY,EACZ,QAAQ,CACT,CAAC;oBACJ,CAAC;oBAED,mBAAmB;oBACnB,IAAI,OAAO,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;wBAChC,cAAc,CACZ,QAAQ,CAAC,MAAM,EACf,YAAY,EACZ,YAAY,EACZ,QAAQ,CACT,CAAC;oBACJ,CAAC;oBAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBAED,6BAA6B;gBAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAIxB,CAAC;gBAEN,iCAAiC;gBACjC,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBACpD,MAAM,IAAI,YAAY,CACpB,MAAM,CAAC,KAAK,IAAI,eAAe,EAC/B,SAAS,EACT,SAAS,EACT,QAAQ,CACT,CAAC;gBACJ,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAClD,OAAO,MAAM,CAAC,IAAI,CAAC;gBACrB,CAAC;gBAED,OAAO,MAAW,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,YAAY;oBAAE,MAAM,KAAK,CAAC;gBAE/C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC1D,IAAI,OAAO,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;wBAChC,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,QAAQ,CACT,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,eAAe,CACvB,wBAAwB,WAAW,aAAa,KAAK,EAAE,EACvD,SAAS,EACT,SAAS,EACT,QAAQ,CACT,CAAC;gBACJ,CAAC;gBAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,MAAM,IAAI,eAAe,CACvB,wBAAwB,WAAW,UAAU,EAC7C,SAAS,EACT,SAAS,EACT,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,CAAC,aAAa,CAAC,OAA6B;QAChD,MAAM,EACJ,QAAQ,EAAE,WAAW,EACrB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,OAAO,GAAG,MAAM,EAAE,gCAAgC;QAClD,UAAU,GAAG,KAAK,GACnB,GAAG,OAAO,CAAC;QAEZ,iCAAiC;QACjC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAExD,UAAU;QACV,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QAE9C,0BAA0B;QAC1B,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,GAAG,EAAE;YAC9B,cAAc,EAAE,YAAY;YAC5B,MAAM,EAAE,mBAAmB;SAC5B,CAAC;QAEF,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE,EAAE;gBACpD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,YAAY,GAAG,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC/D,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAA4B,CAAC;oBAChE,YAAY,GAAI,OAAO,CAAC,KAAgB,IAAK,OAAO,CAAC,MAAiB,IAAI,YAAY,CAAC;gBACzF,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,YAAY,CAAC,gCAAgC,CAAC,CAAC;YAC3D,CAAC;YAED,mBAAmB;YACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,SAAS,GAAkB,IAAI,CAAC;YAEpC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,uBAAuB;gBAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAE5B,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,4BAA4B;wBAC5B,SAAS;oBACX,CAAC;oBAED,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtC,CAAC;yBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAExC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;4BACzB,OAAO;wBACT,CAAC;wBAED,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;4BAC5D,IAAI,SAAS,EAAE,CAAC;gCACd,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gCACxB,SAAS,GAAG,IAAI,CAAC;4BACnB,CAAC;4BACD,IAAI,OAAO;gCAAE,OAAO,CAAC,IAAI,CAAC,CAAC;4BAC3B,MAAM,IAAI,CAAC;wBACb,CAAC;wBAAC,MAAM,CAAC;4BACP,gBAAgB;4BAChB,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;4BACjC,IAAI,OAAO;gCAAE,OAAO,CAAC,OAAO,CAAC,CAAC;4BAC9B,MAAM,OAAO,CAAC;wBAChB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,EACJ,QAAQ,EAAE,WAAW,EACrB,SAAS,EACT,QAAQ,EACR,WAAW,GAAG,0BAA0B,EACxC,gBAAgB,GAAG,EAAE,EACrB,OAAO,GAAG,KAAK,EACf,UAAU,GAAG,KAAK,GACnB,GAAG,OAAO,CAAC;QAEZ,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAExD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QAE9C,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,4DAA4D;QAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CACxC,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAC7B,CAAC;QACjB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAElF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE,EAAE;gBACpD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,GAAG,EAAE;iBAC/B;gBACD,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,YAAY,GAAG,kBAAkB,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAA4B,CAAC;oBAC3D,YAAY,GAAI,OAAO,CAAC,KAAgB,IAAK,OAAO,CAAC,MAAiB,IAAI,YAAY,CAAC;gBACzF,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,yCAAyC;YACzC,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,IAAI,CAA4B,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YACrD,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,MAAM,EACJ,QAAQ,EAAE,WAAW,EACrB,IAAI,GAAG,EAAE,EACT,OAAO,GAAG,KAAK,EACf,UAAU,GAAG,KAAK,GACnB,GAAG,OAAO,CAAC;QAEZ,MAAM,QAAQ,GAAG,2BAA2B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAExD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QAE9C,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,GAAG,EAAE;YAC9B,cAAc,EAAE,YAAY;YAC5B,MAAM,EAAE,SAAS;SAClB,CAAC;QAEF,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE,EAAE;gBACpD,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,YAAY,GAAG,oBAAoB,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACzD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAA4B,CAAC;oBAC3D,YAAY,GAAI,OAAO,CAAC,KAAgB,IAAK,OAAO,CAAC,MAAiB,IAAI,YAAY,CAAC;gBACzF,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjD,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AAED,2BAA2B;AAC3B,IAAI,cAAc,GAAyB,IAAI,CAAC;AAEhD,MAAM,UAAU,SAAS,CAAC,cAAuB;IAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## Request Flow
|
|
4
|
+
1. SDK reads `DOMINUS_TOKEN` (PSK) from env or constructor.
|
|
5
|
+
2. Gateway JWT minted via `POST /jwt/mint` (base64 body).
|
|
6
|
+
3. JWT is cached in `dominusCache` (encrypted with PSK) and refreshed before expiry.
|
|
7
|
+
4. All JSON requests are base64-encoded; responses are decoded.
|
|
8
|
+
5. SDK routes `/api/*` to `/svc/*` when using the gateway.
|
|
9
|
+
|
|
10
|
+
## Gateway Routing
|
|
11
|
+
- Default base URL is the gateway (`DOMINUS_GATEWAY_URL`).
|
|
12
|
+
- `DOMINUS_BASE_URL` can override the base (defaults to gateway).
|
|
13
|
+
- `useGateway: true` forces gateway base URL for a request.
|
|
14
|
+
|
|
15
|
+
## Resilience
|
|
16
|
+
- Retries: 3 attempts with exponential backoff + jitter.
|
|
17
|
+
- Circuit breaker: opens after 5 failures, 30s recovery.
|
|
18
|
+
- JWT mint retries on gateway cold starts (401/5xx).
|
|
19
|
+
- Default request timeout: 30s (max 5 min when overridden).
|
|
20
|
+
|
|
21
|
+
## Local JWT Verification
|
|
22
|
+
- `verifyJwtLocally()` fetches JWKS from gateway `/jwt/jwks` and verifies signatures.
|
|
23
|
+
- JWKS cached for 1 hour; stale cache used if refresh fails.
|
|
24
|
+
|
|
25
|
+
## Streaming and Binary
|
|
26
|
+
- SSE streaming via `streamRequest()` (Agent/LLM workflows).
|
|
27
|
+
- Binary uploads/downloads via `binaryUpload()` / `binaryDownload()` for STT/TTS and RAG ingest.
|
|
28
|
+
|
|
29
|
+
## Environment Variables
|
|
30
|
+
- `DOMINUS_TOKEN` (required)
|
|
31
|
+
- `DOMINUS_GATEWAY_URL` (optional)
|
|
32
|
+
- `DOMINUS_BASE_URL` (optional)
|
|
33
|
+
- `DOMINUS_DEBUG=true` (optional)
|
|
34
|
+
- `DOMINUS_HTTP_PROXY` / `DOMINUS_HTTPS_PROXY` (optional, informational)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Development
|
|
2
|
+
|
|
3
|
+
## Requirements
|
|
4
|
+
- Node.js 18+ (native fetch)
|
|
5
|
+
- TypeScript 5.6+
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
```bash
|
|
9
|
+
npm install
|
|
10
|
+
npm run lint # type-check
|
|
11
|
+
npm run test # node --test
|
|
12
|
+
npm run build # tsc
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Publishing
|
|
16
|
+
Publishing is handled by GitHub Actions on branch push:
|
|
17
|
+
- `development` -> publishes as `dominus-sdk-nodejs-dev`
|
|
18
|
+
- `staging` -> publishes as `dominus-sdk-nodejs-staging`
|
|
19
|
+
- `production` -> publishes as `dominus-sdk-nodejs`
|
|
20
|
+
|
|
21
|
+
Before publishing:
|
|
22
|
+
1. Bump `package.json` version
|
|
23
|
+
2. Ensure `dist/` builds cleanly
|
|
24
|
+
3. Update docs under `docs/`
|
|
25
|
+
|
|
26
|
+
## Adding APIs
|
|
27
|
+
- Add methods in the relevant `src/namespaces/*.ts` file
|
|
28
|
+
- Export types and helpers from `src/index.ts`
|
|
29
|
+
- Use `client.request()` for JSON, `streamRequest()` for SSE, `binaryUpload/Download()` for bytes
|
|
30
|
+
- Always set `method: 'GET'` for GET endpoints
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Namespaces
|
|
2
|
+
|
|
3
|
+
## Core Services
|
|
4
|
+
- `secrets` (Warden): secrets CRUD
|
|
5
|
+
- `db` (Scribe): database CRUD, filters, pagination
|
|
6
|
+
- `secure` (Scribe): secure-table access with audit `reason` + `actor`
|
|
7
|
+
- `redis` (Whisperer): cache, locks, counters, hashes (TTL required)
|
|
8
|
+
- `files` (Archivist): upload/download/list/move/update metadata
|
|
9
|
+
- `auth` (Guardian): users, roles, scopes, tenants, pages/navigation
|
|
10
|
+
- `ddl` (Smith): schema DDL, migrations, provisioning
|
|
11
|
+
- `logs` (Herald): structured logs + queries
|
|
12
|
+
- `portal` (Portal): user login, sessions, profile, navigation
|
|
13
|
+
- `courier` (Courier): email delivery
|
|
14
|
+
- `open` (Scribe Open): direct SQL execution / DSN
|
|
15
|
+
- `health`: service health/ping/warmup
|
|
16
|
+
|
|
17
|
+
## AI + Orchestration
|
|
18
|
+
- `ai.runAgent`, `ai.streamAgent`, `ai.runAgentAsync`
|
|
19
|
+
- `ai.complete`, `ai.completeStream` (multi-provider LLM completions)
|
|
20
|
+
- `ai.rag` (list/ensure/stats/upsert/search/ingest)
|
|
21
|
+
- `ai.artifacts` (create/fetch/list/delete)
|
|
22
|
+
- `ai.results` (async result polling)
|
|
23
|
+
- `ai.workflow` (workflow orchestration in agent-runtime)
|
|
24
|
+
- `ai.tools` (tool registry, default-deny)
|
|
25
|
+
- `ai.stt` / `ai.tts` (speech services)
|
|
26
|
+
- `ai.setup` (pre-flight session setup)
|
|
27
|
+
|
|
28
|
+
## Workflow Manager
|
|
29
|
+
- `workflow` namespace manages workflow CRUD, categories, templates, and execution
|
|
30
|
+
|
|
31
|
+
## Streaming STT
|
|
32
|
+
- `stt` (Oracle) creates streaming transcription sessions with VAD
|
|
33
|
+
|
|
34
|
+
## Admin
|
|
35
|
+
- `admin.reseedAdminCategory()` and `admin.resetAdminCategory()` (destructive)
|