@vorionsys/sdk 0.1.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.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Vorion SDK Tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=sdk.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/sdk.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Vorion SDK Tests
3
+ */
4
+ import { describe, it, expect, beforeEach } from 'vitest';
5
+ import { Vorion, createVorion, Agent } from '../index.js';
6
+ describe('Vorion SDK', () => {
7
+ let vorion;
8
+ beforeEach(() => {
9
+ vorion = createVorion({ localMode: true });
10
+ });
11
+ describe('Vorion', () => {
12
+ it('should create SDK instance', () => {
13
+ expect(vorion).toBeInstanceOf(Vorion);
14
+ });
15
+ it('should register agents', async () => {
16
+ const agent = await vorion.registerAgent({
17
+ agentId: 'test-agent',
18
+ name: 'Test Agent',
19
+ capabilities: ['read', 'write'],
20
+ });
21
+ expect(agent).toBeInstanceOf(Agent);
22
+ expect(agent.getId()).toBe('test-agent');
23
+ expect(agent.getName()).toBe('Test Agent');
24
+ });
25
+ it('should retrieve registered agents', async () => {
26
+ await vorion.registerAgent({
27
+ agentId: 'agent-1',
28
+ name: 'Agent 1',
29
+ });
30
+ const retrieved = vorion.getAgent('agent-1');
31
+ expect(retrieved).toBeDefined();
32
+ expect(retrieved?.getId()).toBe('agent-1');
33
+ });
34
+ it('should list all agents', async () => {
35
+ await vorion.registerAgent({ agentId: 'agent-1', name: 'Agent 1' });
36
+ await vorion.registerAgent({ agentId: 'agent-2', name: 'Agent 2' });
37
+ const agents = vorion.getAllAgents();
38
+ expect(agents.length).toBe(2);
39
+ });
40
+ it('should return config', () => {
41
+ const config = vorion.getConfig();
42
+ expect(config.localMode).toBe(true);
43
+ expect(config.defaultObservationTier).toBe('GRAY_BOX');
44
+ });
45
+ });
46
+ describe('Agent', () => {
47
+ let agent;
48
+ beforeEach(async () => {
49
+ agent = await vorion.registerAgent({
50
+ agentId: 'test-agent',
51
+ name: 'Test Agent',
52
+ capabilities: ['read', 'write'],
53
+ observationTier: 'GRAY_BOX',
54
+ });
55
+ });
56
+ it('should request actions with capability', async () => {
57
+ const result = await agent.requestAction({
58
+ type: 'read',
59
+ resource: 'documents/test.pdf',
60
+ });
61
+ expect(result.allowed).toBe(true);
62
+ expect(result.tier).toBe('GREEN');
63
+ expect(result.proofId).toBeDefined();
64
+ });
65
+ it('should deny actions without capability', async () => {
66
+ const result = await agent.requestAction({
67
+ type: 'delete', // Not in capabilities
68
+ resource: 'documents/test.pdf',
69
+ });
70
+ expect(result.allowed).toBe(false);
71
+ expect(result.reason).toContain('Missing capability');
72
+ });
73
+ it('should track action history', async () => {
74
+ await agent.requestAction({ type: 'read', resource: 'file1.txt' });
75
+ await agent.requestAction({ type: 'write', resource: 'file2.txt' });
76
+ const history = agent.getActionHistory();
77
+ expect(history.length).toBe(2);
78
+ expect(history[0].action).toBe('read');
79
+ expect(history[1].action).toBe('write');
80
+ });
81
+ it('should provide trust info', async () => {
82
+ const trustInfo = await agent.getTrustInfo();
83
+ expect(trustInfo.score).toBe(500); // Default start
84
+ expect(trustInfo.tierName).toBe('Monitored'); // T3
85
+ expect(trustInfo.tierNumber).toBe(3);
86
+ expect(trustInfo.observationTier).toBe('GRAY_BOX');
87
+ });
88
+ it('should increase trust on success', async () => {
89
+ const initialTrustInfo = await agent.getTrustInfo();
90
+ const initialScore = initialTrustInfo.score;
91
+ await agent.reportSuccess('read');
92
+ const newTrustInfo = await agent.getTrustInfo();
93
+ expect(newTrustInfo.score).toBeGreaterThan(initialScore);
94
+ });
95
+ it('should decrease trust on failure (asymmetric)', async () => {
96
+ const initialTrustInfo = await agent.getTrustInfo();
97
+ const initialScore = initialTrustInfo.score;
98
+ await agent.reportFailure('write', 'Permission denied');
99
+ const newTrustInfo = await agent.getTrustInfo();
100
+ expect(newTrustInfo.score).toBeLessThan(initialScore);
101
+ // Asymmetric: failure should decrease more than success increases
102
+ expect(initialScore - newTrustInfo.score).toBeGreaterThan(10);
103
+ });
104
+ it('should apply constraints based on tier', async () => {
105
+ const result = await agent.requestAction({
106
+ type: 'read',
107
+ resource: 'documents/test.pdf',
108
+ });
109
+ expect(result.constraints).toBeDefined();
110
+ expect(result.constraints?.some((c) => c.includes('rate_limit'))).toBe(true);
111
+ });
112
+ it('should return capabilities', () => {
113
+ const caps = agent.getCapabilities();
114
+ expect(caps).toContain('read');
115
+ expect(caps).toContain('write');
116
+ });
117
+ });
118
+ describe('Trust Tiers', () => {
119
+ it('should correctly identify tier from score', async () => {
120
+ const agent = await vorion.registerAgent({
121
+ agentId: 'tier-test',
122
+ name: 'Tier Test',
123
+ capabilities: ['read'],
124
+ });
125
+ // Default is 500 = T3 Monitored
126
+ const initialTrustInfo = await agent.getTrustInfo();
127
+ expect(initialTrustInfo.tierName).toBe('Monitored');
128
+ // Decrease trust significantly
129
+ for (let i = 0; i < 20; i++) {
130
+ await agent.reportFailure('read');
131
+ }
132
+ // Should be at lower tier now
133
+ const newTrustInfo = await agent.getTrustInfo();
134
+ expect(newTrustInfo.tierNumber).toBeLessThan(3);
135
+ });
136
+ });
137
+ describe('Remote mode configuration', () => {
138
+ it('should require apiKey for remote mode', () => {
139
+ expect(() => {
140
+ new Vorion({
141
+ apiEndpoint: 'http://localhost:3000',
142
+ // No apiKey provided
143
+ });
144
+ }).toThrow('apiKey is required for remote mode');
145
+ });
146
+ it('should default to local mode without apiEndpoint', () => {
147
+ const v = new Vorion({});
148
+ expect(v.isLocalMode()).toBe(true);
149
+ });
150
+ it('should enable remote mode with apiEndpoint and apiKey', () => {
151
+ const v = new Vorion({
152
+ apiEndpoint: 'http://localhost:3000',
153
+ apiKey: 'test-key',
154
+ });
155
+ expect(v.isLocalMode()).toBe(false);
156
+ });
157
+ it('should return local health check in local mode', async () => {
158
+ const health = await vorion.healthCheck();
159
+ expect(health.status).toBe('healthy');
160
+ expect(health.version).toBe('local');
161
+ });
162
+ });
163
+ });
164
+ //# sourceMappingURL=sdk.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../src/__tests__/sdk.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,282 @@
1
+ /**
2
+ * @vorionsys/sdk - Vorion SDK
3
+ *
4
+ * Simple, developer-friendly interface for AI agent governance.
5
+ * Supports both local mode (in-memory) and remote mode (cognigate-api).
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export type { TrustTier, DecisionTier, AgentCredentials, Action, TrustSignal, } from '@vorionsys/runtime';
10
+ /**
11
+ * SDK Configuration
12
+ */
13
+ export interface VorionConfig {
14
+ /** API endpoint for hosted Cognigate */
15
+ apiEndpoint?: string;
16
+ /** API key for authentication */
17
+ apiKey?: string;
18
+ /** Default observation tier for agents */
19
+ defaultObservationTier?: 'BLACK_BOX' | 'GRAY_BOX' | 'WHITE_BOX';
20
+ /** Enable local mode (no API calls). If false and apiEndpoint is provided, uses remote mode. */
21
+ localMode?: boolean;
22
+ /** Request timeout in ms (default: 30000) */
23
+ timeout?: number;
24
+ }
25
+ /**
26
+ * Agent registration options
27
+ */
28
+ export interface AgentOptions {
29
+ /** Unique agent identifier */
30
+ agentId: string;
31
+ /** Human-readable name */
32
+ name: string;
33
+ /** Agent capabilities/permissions */
34
+ capabilities?: string[];
35
+ /** Observation tier */
36
+ observationTier?: 'BLACK_BOX' | 'GRAY_BOX' | 'WHITE_BOX';
37
+ /** Additional metadata */
38
+ metadata?: Record<string, unknown>;
39
+ }
40
+ /**
41
+ * Result of an action request
42
+ */
43
+ export interface ActionResult {
44
+ /** Whether the action was allowed */
45
+ allowed: boolean;
46
+ /** Decision tier (GREEN/YELLOW/RED) */
47
+ tier: 'GREEN' | 'YELLOW' | 'RED';
48
+ /** Human-readable reason */
49
+ reason: string;
50
+ /** Proof commitment ID for audit */
51
+ proofId: string;
52
+ /** Any constraints applied */
53
+ constraints?: string[];
54
+ /** Processing time in ms (remote mode only) */
55
+ processingTimeMs?: number;
56
+ }
57
+ /**
58
+ * Trust score information
59
+ */
60
+ export interface TrustInfo {
61
+ /** Current trust score (0-1000) */
62
+ score: number;
63
+ /** Trust tier name */
64
+ tierName: string;
65
+ /** Trust tier number (0-7) */
66
+ tierNumber: number;
67
+ /** Observation tier */
68
+ observationTier: string;
69
+ }
70
+ /**
71
+ * API Client for cognigate-api
72
+ */
73
+ declare class ApiClient {
74
+ private baseUrl;
75
+ private apiKey;
76
+ private timeout;
77
+ constructor(baseUrl: string, apiKey: string, timeout?: number);
78
+ request<T>(method: string, path: string, body?: unknown): Promise<T>;
79
+ submitIntent(payload: {
80
+ agentId: string;
81
+ agentName?: string;
82
+ capabilities?: string[];
83
+ observationTier?: string;
84
+ action: {
85
+ type: string;
86
+ resource: string;
87
+ parameters?: Record<string, unknown>;
88
+ };
89
+ }): Promise<{
90
+ intentId: string;
91
+ allowed: boolean;
92
+ tier: string;
93
+ reason: string;
94
+ proofId: string;
95
+ constraints?: string[] | undefined;
96
+ processingTimeMs: number;
97
+ }>;
98
+ checkIntent(payload: {
99
+ agentId: string;
100
+ agentName?: string;
101
+ capabilities?: string[];
102
+ observationTier?: string;
103
+ action: {
104
+ type: string;
105
+ resource: string;
106
+ };
107
+ }): Promise<{
108
+ wouldAllow: boolean;
109
+ tier: string;
110
+ reason: string;
111
+ }>;
112
+ admitAgent(payload: {
113
+ agentId: string;
114
+ name: string;
115
+ capabilities: string[];
116
+ observationTier: string;
117
+ }): Promise<{
118
+ admitted: boolean;
119
+ initialTier: number;
120
+ initialScore: number;
121
+ observationCeiling: number;
122
+ capabilities: string[];
123
+ expiresAt: string;
124
+ reason?: string | undefined;
125
+ }>;
126
+ getTrustInfo(agentId: string): Promise<{
127
+ agentId: string;
128
+ score: number | null;
129
+ tier: number | null;
130
+ tierName: string | null;
131
+ observationCeiling?: number | undefined;
132
+ message?: string | undefined;
133
+ }>;
134
+ recordSignal(agentId: string, payload: {
135
+ type: 'success' | 'failure' | 'violation' | 'neutral';
136
+ source: string;
137
+ weight?: number;
138
+ context?: Record<string, unknown>;
139
+ }): Promise<{
140
+ accepted: boolean;
141
+ scoreBefore: number;
142
+ scoreAfter: number;
143
+ change: number;
144
+ newTier: number | null;
145
+ newTierName: string | null;
146
+ }>;
147
+ health(): Promise<{
148
+ status: string;
149
+ version: string;
150
+ }>;
151
+ }
152
+ /**
153
+ * Vorion SDK Client
154
+ *
155
+ * Simple interface for agent governance.
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * // Local mode (in-memory, for testing)
160
+ * const vorion = new Vorion({ localMode: true });
161
+ *
162
+ * // Remote mode (cognigate-api)
163
+ * const vorion = new Vorion({
164
+ * apiEndpoint: 'http://localhost:3000',
165
+ * apiKey: 'vorion-dev-key-12345',
166
+ * });
167
+ *
168
+ * const agent = vorion.registerAgent({
169
+ * agentId: 'my-agent',
170
+ * name: 'My AI Agent',
171
+ * capabilities: ['read:*', 'write:*'],
172
+ * });
173
+ *
174
+ * const result = await agent.requestAction({
175
+ * type: 'read',
176
+ * resource: 'documents/report.pdf',
177
+ * });
178
+ *
179
+ * if (result.allowed) {
180
+ * // Perform the action
181
+ * await agent.reportSuccess('read');
182
+ * } else {
183
+ * console.log('Denied:', result.reason);
184
+ * }
185
+ * ```
186
+ */
187
+ export declare class Vorion {
188
+ private config;
189
+ private agents;
190
+ private apiClient;
191
+ constructor(config?: VorionConfig);
192
+ /**
193
+ * Register an agent with the governance system
194
+ */
195
+ registerAgent(options: AgentOptions): Promise<Agent>;
196
+ /**
197
+ * Get a registered agent by ID
198
+ */
199
+ getAgent(agentId: string): Agent | undefined;
200
+ /**
201
+ * Get all registered agents
202
+ */
203
+ getAllAgents(): Agent[];
204
+ /**
205
+ * Get SDK configuration
206
+ */
207
+ getConfig(): VorionConfig;
208
+ /**
209
+ * Get the API client (for advanced use)
210
+ */
211
+ getApiClient(): ApiClient | null;
212
+ /**
213
+ * Check if running in local mode
214
+ */
215
+ isLocalMode(): boolean;
216
+ /**
217
+ * Health check (remote mode only)
218
+ */
219
+ healthCheck(): Promise<{
220
+ status: string;
221
+ version: string;
222
+ }>;
223
+ }
224
+ /**
225
+ * Agent wrapper for simplified governance interactions
226
+ */
227
+ export declare class Agent {
228
+ private sdk;
229
+ private options;
230
+ private localTrustScore;
231
+ private actionHistory;
232
+ constructor(sdk: Vorion, options: AgentOptions);
233
+ /**
234
+ * Request permission to perform an action
235
+ */
236
+ requestAction(action: {
237
+ type: string;
238
+ resource: string;
239
+ parameters?: Record<string, unknown>;
240
+ }): Promise<ActionResult>;
241
+ /**
242
+ * Report action completion (positive signal)
243
+ */
244
+ reportSuccess(actionType: string): Promise<void>;
245
+ /**
246
+ * Report action failure (negative signal)
247
+ */
248
+ reportFailure(actionType: string, reason?: string): Promise<void>;
249
+ /**
250
+ * Get current trust information
251
+ */
252
+ getTrustInfo(): Promise<TrustInfo>;
253
+ /**
254
+ * Get agent ID
255
+ */
256
+ getId(): string;
257
+ /**
258
+ * Get agent name
259
+ */
260
+ getName(): string;
261
+ /**
262
+ * Get agent capabilities
263
+ */
264
+ getCapabilities(): string[];
265
+ /**
266
+ * Get action history
267
+ */
268
+ getActionHistory(): Array<{
269
+ action: string;
270
+ allowed: boolean;
271
+ timestamp: number;
272
+ }>;
273
+ private getTierNumber;
274
+ private getTierName;
275
+ private getConstraintsForTier;
276
+ }
277
+ /**
278
+ * Create a new Vorion SDK instance
279
+ */
280
+ export declare function createVorion(config?: VorionConfig): Vorion;
281
+ export default Vorion;
282
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,YAAY,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,sBAAsB,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;IAChE,gGAAgG;IAChG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uBAAuB;IACvB,eAAe,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;IACzD,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjC,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,cAAM,SAAS;IACb,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc;IAM9D,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BpE,YAAY,CAAC,OAAO,EAAE;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAClF;kBAEa,MAAM;iBACP,OAAO;cACV,MAAM;gBACJ,MAAM;iBACL,MAAM;;0BAEG,MAAM;;IAItB,WAAW,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5C;oBAEe,OAAO;cACb,MAAM;gBACJ,MAAM;;IAKZ,UAAU,CAAC,OAAO,EAAE;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB;kBAEa,OAAO;qBACJ,MAAM;sBACL,MAAM;4BACA,MAAM;sBACZ,MAAM,EAAE;mBACX,MAAM;;;IAKf,YAAY,CAAC,OAAO,EAAE,MAAM;iBAErB,MAAM;eACR,MAAM,GAAG,IAAI;cACd,MAAM,GAAG,IAAI;kBACT,MAAM,GAAG,IAAI;;;;IAMrB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAC3C,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;QACtD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC;kBAEa,OAAO;qBACJ,MAAM;oBACP,MAAM;gBACV,MAAM;iBACL,MAAM,GAAG,IAAI;qBACT,MAAM,GAAG,IAAI;;IAKxB,MAAM;gBACoB,MAAM;iBAAW,MAAM;;CAExD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,SAAS,CAA0B;gBAE/B,MAAM,GAAE,YAAiB;IAqBrC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;IAiB1D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI5C;;OAEG;IACH,YAAY,IAAI,KAAK,EAAE;IAIvB;;OAEG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAMlE;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,eAAe,CAAO;IAC9B,OAAO,CAAC,aAAa,CAAsE;gBAE/E,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAS9C;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,GAAG,OAAO,CAAC,YAAY,CAAC;IA8DzB;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAetD;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAevE;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAqBxC;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,gBAAgB,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlF,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,qBAAqB;CAa9B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAE1D;AAGD,eAAe,MAAM,CAAC"}