@switchboard-mcp/core 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.
Files changed (74) hide show
  1. package/README.md +9 -0
  2. package/dist/approvals/approval-requests.d.ts +151 -0
  3. package/dist/approvals/approval-requests.d.ts.map +1 -0
  4. package/dist/approvals/approval-requests.js +393 -0
  5. package/dist/approvals/approval-requests.js.map +1 -0
  6. package/dist/audit/audit-log.d.ts +45 -0
  7. package/dist/audit/audit-log.d.ts.map +1 -0
  8. package/dist/audit/audit-log.js +88 -0
  9. package/dist/audit/audit-log.js.map +1 -0
  10. package/dist/config/gitignore.d.ts +9 -0
  11. package/dist/config/gitignore.d.ts.map +1 -0
  12. package/dist/config/gitignore.js +90 -0
  13. package/dist/config/gitignore.js.map +1 -0
  14. package/dist/config/load-config.d.ts +28 -0
  15. package/dist/config/load-config.d.ts.map +1 -0
  16. package/dist/config/load-config.js +138 -0
  17. package/dist/config/load-config.js.map +1 -0
  18. package/dist/config/paths.d.ts +13 -0
  19. package/dist/config/paths.d.ts.map +1 -0
  20. package/dist/config/paths.js +38 -0
  21. package/dist/config/paths.js.map +1 -0
  22. package/dist/daemon/daemon-state.d.ts +44 -0
  23. package/dist/daemon/daemon-state.d.ts.map +1 -0
  24. package/dist/daemon/daemon-state.js +110 -0
  25. package/dist/daemon/daemon-state.js.map +1 -0
  26. package/dist/import/import-plan.d.ts +92 -0
  27. package/dist/import/import-plan.d.ts.map +1 -0
  28. package/dist/import/import-plan.js +677 -0
  29. package/dist/import/import-plan.js.map +1 -0
  30. package/dist/index.d.ts +18 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +18 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/install/client-config.d.ts +73 -0
  35. package/dist/install/client-config.d.ts.map +1 -0
  36. package/dist/install/client-config.js +514 -0
  37. package/dist/install/client-config.js.map +1 -0
  38. package/dist/mandates/mandates.d.ts +244 -0
  39. package/dist/mandates/mandates.d.ts.map +1 -0
  40. package/dist/mandates/mandates.js +690 -0
  41. package/dist/mandates/mandates.js.map +1 -0
  42. package/dist/namespaces/namespaces.d.ts +16 -0
  43. package/dist/namespaces/namespaces.d.ts.map +1 -0
  44. package/dist/namespaces/namespaces.js +49 -0
  45. package/dist/namespaces/namespaces.js.map +1 -0
  46. package/dist/onboarding/init-config.d.ts +19 -0
  47. package/dist/onboarding/init-config.d.ts.map +1 -0
  48. package/dist/onboarding/init-config.js +85 -0
  49. package/dist/onboarding/init-config.js.map +1 -0
  50. package/dist/providers/provider-add.d.ts +25 -0
  51. package/dist/providers/provider-add.d.ts.map +1 -0
  52. package/dist/providers/provider-add.js +179 -0
  53. package/dist/providers/provider-add.js.map +1 -0
  54. package/dist/providers/provider-templates.d.ts +96 -0
  55. package/dist/providers/provider-templates.d.ts.map +1 -0
  56. package/dist/providers/provider-templates.js +556 -0
  57. package/dist/providers/provider-templates.js.map +1 -0
  58. package/dist/scan/scan.d.ts +67 -0
  59. package/dist/scan/scan.d.ts.map +1 -0
  60. package/dist/scan/scan.js +389 -0
  61. package/dist/scan/scan.js.map +1 -0
  62. package/dist/schemas/config.d.ts +197 -0
  63. package/dist/schemas/config.d.ts.map +1 -0
  64. package/dist/schemas/config.js +133 -0
  65. package/dist/schemas/config.js.map +1 -0
  66. package/dist/secrets/secret-refs.d.ts +10 -0
  67. package/dist/secrets/secret-refs.d.ts.map +1 -0
  68. package/dist/secrets/secret-refs.js +32 -0
  69. package/dist/secrets/secret-refs.js.map +1 -0
  70. package/dist/secrets/secrets.d.ts +63 -0
  71. package/dist/secrets/secrets.d.ts.map +1 -0
  72. package/dist/secrets/secrets.js +301 -0
  73. package/dist/secrets/secrets.js.map +1 -0
  74. package/package.json +42 -0
@@ -0,0 +1,244 @@
1
+ import * as z from "zod";
2
+ import type { PathResolutionOptions } from "../config/paths.js";
3
+ export type MandateRuntimeStatus = "active" | "expired";
4
+ export type MandateHandoffState = "open" | "completed" | "blocked" | "cancelled";
5
+ export type MandateApprovalRisk = "low" | "medium" | "high" | "critical";
6
+ export interface MandateApprovalGate {
7
+ id: string;
8
+ toolPattern: string;
9
+ reason?: string | undefined;
10
+ risk?: MandateApprovalRisk | undefined;
11
+ labels?: string[] | undefined;
12
+ }
13
+ export interface CreateMandateApprovalGate {
14
+ id?: string | undefined;
15
+ toolPattern: string;
16
+ reason?: string | undefined;
17
+ risk?: string | undefined;
18
+ labels?: string[] | undefined;
19
+ }
20
+ export type MandateToolPolicyDecision = {
21
+ allowed: true;
22
+ approvalRequestId?: string | undefined;
23
+ } | {
24
+ allowed: false;
25
+ reason: string;
26
+ } | {
27
+ allowed: false;
28
+ reason: string;
29
+ approvalRequired: true;
30
+ approvalGate: MandateApprovalGate;
31
+ };
32
+ export declare const mandateApprovalGateSchema: z.ZodObject<{
33
+ id: z.ZodString;
34
+ toolPattern: z.ZodString;
35
+ reason: z.ZodOptional<z.ZodString>;
36
+ risk: z.ZodOptional<z.ZodEnum<{
37
+ medium: "medium";
38
+ low: "low";
39
+ high: "high";
40
+ critical: "critical";
41
+ }>>;
42
+ labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
+ }, z.core.$strip>;
44
+ export declare const mandateHandoffStateSchema: z.ZodEnum<{
45
+ open: "open";
46
+ completed: "completed";
47
+ blocked: "blocked";
48
+ cancelled: "cancelled";
49
+ }>;
50
+ export declare const mandateSchema: z.ZodObject<{
51
+ version: z.ZodLiteral<1>;
52
+ id: z.ZodString;
53
+ mandateUid: z.ZodOptional<z.ZodString>;
54
+ task: z.ZodString;
55
+ parentMandateId: z.ZodOptional<z.ZodString>;
56
+ parentMandateUid: z.ZodOptional<z.ZodString>;
57
+ delegatedBy: z.ZodOptional<z.ZodString>;
58
+ delegationPath: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
+ delegationUids: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
+ maxLeaseExpiresAt: z.ZodOptional<z.ZodString>;
61
+ repoPath: z.ZodString;
62
+ worktreePath: z.ZodString;
63
+ branch: z.ZodString;
64
+ agentRole: z.ZodString;
65
+ profiles: z.ZodArray<z.ZodString>;
66
+ lease: z.ZodString;
67
+ createdAt: z.ZodString;
68
+ expiresAt: z.ZodString;
69
+ allowedTools: z.ZodArray<z.ZodString>;
70
+ deniedTools: z.ZodArray<z.ZodString>;
71
+ approvalGates: z.ZodPipe<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
72
+ id: z.ZodString;
73
+ toolPattern: z.ZodString;
74
+ reason: z.ZodOptional<z.ZodString>;
75
+ risk: z.ZodOptional<z.ZodEnum<{
76
+ medium: "medium";
77
+ low: "low";
78
+ high: "high";
79
+ critical: "critical";
80
+ }>>;
81
+ labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
82
+ }, z.core.$strip>, z.ZodString]>>, z.ZodTransform<MandateApprovalGate[], (string | {
83
+ id: string;
84
+ toolPattern: string;
85
+ reason?: string | undefined;
86
+ risk?: "medium" | "low" | "high" | "critical" | undefined;
87
+ labels?: string[] | undefined;
88
+ })[]>>;
89
+ handoffState: z.ZodEnum<{
90
+ open: "open";
91
+ completed: "completed";
92
+ blocked: "blocked";
93
+ cancelled: "cancelled";
94
+ }>;
95
+ handoffSummary: z.ZodOptional<z.ZodString>;
96
+ handoffNextSteps: z.ZodOptional<z.ZodArray<z.ZodString>>;
97
+ handoffArtifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
98
+ handoffBy: z.ZodOptional<z.ZodString>;
99
+ handoffAt: z.ZodOptional<z.ZodString>;
100
+ }, z.core.$strip>;
101
+ export declare const mandateStoreSchema: z.ZodObject<{
102
+ version: z.ZodLiteral<1>;
103
+ mandates: z.ZodArray<z.ZodObject<{
104
+ version: z.ZodLiteral<1>;
105
+ id: z.ZodString;
106
+ mandateUid: z.ZodOptional<z.ZodString>;
107
+ task: z.ZodString;
108
+ parentMandateId: z.ZodOptional<z.ZodString>;
109
+ parentMandateUid: z.ZodOptional<z.ZodString>;
110
+ delegatedBy: z.ZodOptional<z.ZodString>;
111
+ delegationPath: z.ZodOptional<z.ZodArray<z.ZodString>>;
112
+ delegationUids: z.ZodOptional<z.ZodArray<z.ZodString>>;
113
+ maxLeaseExpiresAt: z.ZodOptional<z.ZodString>;
114
+ repoPath: z.ZodString;
115
+ worktreePath: z.ZodString;
116
+ branch: z.ZodString;
117
+ agentRole: z.ZodString;
118
+ profiles: z.ZodArray<z.ZodString>;
119
+ lease: z.ZodString;
120
+ createdAt: z.ZodString;
121
+ expiresAt: z.ZodString;
122
+ allowedTools: z.ZodArray<z.ZodString>;
123
+ deniedTools: z.ZodArray<z.ZodString>;
124
+ approvalGates: z.ZodPipe<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
125
+ id: z.ZodString;
126
+ toolPattern: z.ZodString;
127
+ reason: z.ZodOptional<z.ZodString>;
128
+ risk: z.ZodOptional<z.ZodEnum<{
129
+ medium: "medium";
130
+ low: "low";
131
+ high: "high";
132
+ critical: "critical";
133
+ }>>;
134
+ labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
135
+ }, z.core.$strip>, z.ZodString]>>, z.ZodTransform<MandateApprovalGate[], (string | {
136
+ id: string;
137
+ toolPattern: string;
138
+ reason?: string | undefined;
139
+ risk?: "medium" | "low" | "high" | "critical" | undefined;
140
+ labels?: string[] | undefined;
141
+ })[]>>;
142
+ handoffState: z.ZodEnum<{
143
+ open: "open";
144
+ completed: "completed";
145
+ blocked: "blocked";
146
+ cancelled: "cancelled";
147
+ }>;
148
+ handoffSummary: z.ZodOptional<z.ZodString>;
149
+ handoffNextSteps: z.ZodOptional<z.ZodArray<z.ZodString>>;
150
+ handoffArtifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
151
+ handoffBy: z.ZodOptional<z.ZodString>;
152
+ handoffAt: z.ZodOptional<z.ZodString>;
153
+ }, z.core.$strip>>;
154
+ }, z.core.$strip>;
155
+ export type Mandate = z.infer<typeof mandateSchema>;
156
+ export type MandateStore = z.infer<typeof mandateStoreSchema>;
157
+ export type MandateWithStatus = Mandate & {
158
+ runtimeStatus: MandateRuntimeStatus | "closed";
159
+ };
160
+ export interface CreateMandateOptions {
161
+ task: string;
162
+ repoPath: string;
163
+ worktreePath: string;
164
+ branch: string;
165
+ agentRole: string;
166
+ profiles: string[];
167
+ lease: string;
168
+ allowedTools?: string[];
169
+ deniedTools?: string[];
170
+ approvalRequiredTools?: Array<string | CreateMandateApprovalGate>;
171
+ path?: string;
172
+ now?: () => Date;
173
+ }
174
+ export interface RenewMandateOptions {
175
+ id: string;
176
+ repoPath: string;
177
+ lease: string;
178
+ path?: string;
179
+ now?: () => Date;
180
+ }
181
+ export interface CreateChildMandateOptions {
182
+ parentId: string;
183
+ task: string;
184
+ repoPath: string;
185
+ worktreePath: string;
186
+ branch: string;
187
+ agentRole: string;
188
+ profiles: string[];
189
+ lease: string;
190
+ delegatedBy?: string | undefined;
191
+ allowedTools?: string[];
192
+ deniedTools?: string[];
193
+ approvalRequiredTools?: Array<string | CreateMandateApprovalGate>;
194
+ path?: string;
195
+ now?: () => Date;
196
+ }
197
+ export interface UpdateMandateHandoffOptions {
198
+ id: string;
199
+ repoPath: string;
200
+ state: Exclude<MandateHandoffState, "open">;
201
+ summary?: string | undefined;
202
+ nextSteps?: string[];
203
+ artifacts?: string[];
204
+ handoffBy?: string | undefined;
205
+ path?: string;
206
+ now?: () => Date;
207
+ }
208
+ export interface MandateToolPolicy {
209
+ allowedTools?: string[];
210
+ deniedTools?: string[];
211
+ approvalGates?: MandateApprovalGate[];
212
+ approvedApprovalRequests?: Array<{
213
+ id?: string | undefined;
214
+ approvalGateId: string;
215
+ toolName: string;
216
+ }>;
217
+ }
218
+ export interface ListMandatesOptions {
219
+ path?: string;
220
+ repoPath?: string;
221
+ id?: string;
222
+ now?: () => Date;
223
+ }
224
+ export interface ResolveActiveMandateOptions {
225
+ id: string;
226
+ repoPath: string;
227
+ path?: string;
228
+ now?: () => Date;
229
+ }
230
+ export declare function resolveMandateStorePath(options?: PathResolutionOptions): string;
231
+ export declare function normalizeMandateId(value: string): string;
232
+ export declare function parseMandateLease(value: string): number;
233
+ export declare function mandateRuntimeStatus(mandate: Pick<Mandate, "expiresAt"> & Partial<Pick<Mandate, "handoffState">>, now?: Date): MandateWithStatus["runtimeStatus"];
234
+ export declare function evaluateMandateToolPolicy(toolName: string, policy: MandateToolPolicy): MandateToolPolicyDecision;
235
+ export declare function createMandate(options: CreateMandateOptions): Promise<MandateWithStatus>;
236
+ export declare function createChildMandate(options: CreateChildMandateOptions): Promise<MandateWithStatus>;
237
+ export declare function updateMandateHandoff(options: UpdateMandateHandoffOptions): Promise<MandateWithStatus>;
238
+ export declare function renewMandate(options: RenewMandateOptions): Promise<MandateWithStatus>;
239
+ export declare function listMandates(options?: ListMandatesOptions): Promise<MandateWithStatus[]>;
240
+ export declare function resolveActiveMandate(options: ResolveActiveMandateOptions): Promise<MandateWithStatus>;
241
+ export declare function readMandateStore(options?: {
242
+ path?: string;
243
+ }): Promise<MandateStore>;
244
+ //# sourceMappingURL=mandates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mandates.d.ts","sourceRoot":"","sources":["../../src/mandates/mandates.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AACjF,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AACzE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/B;AACD,MAAM,WAAW,yBAAyB;IACxC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACzD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IACE,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,IAAI,CAAC;IACvB,YAAY,EAAE,mBAAmB,CAAC;CACnC,CAAC;AA0BN,eAAO,MAAM,yBAAyB;;;;;;;;;;;iBAMpC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BxB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG7B,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG;IACxC,aAAa,EAAE,oBAAoB,GAAG,QAAQ,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qBAAqB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qBAAqB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,wBAAwB,CAAC,EAAE,KAAK,CAAC;QAC/B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAQR;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAC5E,GAAG,GAAE,IAAiB,GACrB,iBAAiB,CAAC,eAAe,CAAC,CAQpC;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,GACxB,yBAAyB,CA8C3B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAgB5B;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAiF5B;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,iBAAiB,CAAC,CA+D5B;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CA8C5B;AAED,wBAAsB,YAAY,CAChC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAU9B;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,iBAAiB,CAAC,CA2B5B;AAED,wBAAsB,gBAAgB,CAAC,OAAO,GAAE;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACV,GAAG,OAAO,CAAC,YAAY,CAAC,CA4B7B"}