couchloop-eq-mcp 2.0.2 → 2.0.4

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 (89) hide show
  1. package/README.md +11 -12
  2. package/dist/clients/shrinkChatClient.d.ts +38 -38
  3. package/dist/db/client.d.ts +11 -19
  4. package/dist/db/client.d.ts.map +1 -1
  5. package/dist/db/client.js +30 -62
  6. package/dist/db/client.js.map +1 -1
  7. package/dist/index.js +8 -5
  8. package/dist/index.js.map +1 -1
  9. package/dist/resources/journey-status.d.ts.map +1 -1
  10. package/dist/resources/journey-status.js +10 -12
  11. package/dist/resources/journey-status.js.map +1 -1
  12. package/dist/resources/session-summary.d.ts.map +1 -1
  13. package/dist/resources/session-summary.js +33 -33
  14. package/dist/resources/session-summary.js.map +1 -1
  15. package/dist/resources/user-context.d.ts.map +1 -1
  16. package/dist/resources/user-context.js +26 -41
  17. package/dist/resources/user-context.js.map +1 -1
  18. package/dist/server/http-mcp.js +2 -2
  19. package/dist/server/index.d.ts.map +1 -1
  20. package/dist/server/index.js +8 -9
  21. package/dist/server/index.js.map +1 -1
  22. package/dist/server/sse.d.ts.map +1 -1
  23. package/dist/server/sse.js +17 -17
  24. package/dist/server/sse.js.map +1 -1
  25. package/dist/tools/check-versions.d.ts +7 -7
  26. package/dist/tools/checkpoint.d.ts +1 -8
  27. package/dist/tools/checkpoint.d.ts.map +1 -1
  28. package/dist/tools/checkpoint.js +47 -49
  29. package/dist/tools/checkpoint.js.map +1 -1
  30. package/dist/tools/couchloop-v2.d.ts.map +1 -1
  31. package/dist/tools/couchloop-v2.js +15 -4
  32. package/dist/tools/couchloop-v2.js.map +1 -1
  33. package/dist/tools/detect-build-context.d.ts +1 -1
  34. package/dist/tools/generate-upgrade-report.d.ts +2 -2
  35. package/dist/tools/guard.d.ts +3 -3
  36. package/dist/tools/index.d.ts +2 -4
  37. package/dist/tools/index.d.ts.map +1 -1
  38. package/dist/tools/index.js +2 -4
  39. package/dist/tools/index.js.map +1 -1
  40. package/dist/tools/insight.d.ts +10 -49
  41. package/dist/tools/insight.d.ts.map +1 -1
  42. package/dist/tools/insight.js +78 -91
  43. package/dist/tools/insight.js.map +1 -1
  44. package/dist/tools/intent-router.d.ts.map +1 -1
  45. package/dist/tools/intent-router.js +12 -7
  46. package/dist/tools/intent-router.js.map +1 -1
  47. package/dist/tools/journey.d.ts +5 -5
  48. package/dist/tools/journey.d.ts.map +1 -1
  49. package/dist/tools/journey.js +47 -39
  50. package/dist/tools/journey.js.map +1 -1
  51. package/dist/tools/pre-review-code.d.ts +2 -2
  52. package/dist/tools/prevent-ai-errors.d.ts +3 -3
  53. package/dist/tools/primary-tools.d.ts +37 -190
  54. package/dist/tools/primary-tools.d.ts.map +1 -1
  55. package/dist/tools/primary-tools.js +204 -302
  56. package/dist/tools/primary-tools.js.map +1 -1
  57. package/dist/tools/protect-files.d.ts +1 -1
  58. package/dist/tools/sendMessage.d.ts.map +1 -1
  59. package/dist/tools/sendMessage.js +52 -38
  60. package/dist/tools/sendMessage.js.map +1 -1
  61. package/dist/tools/session-manager.d.ts.map +1 -1
  62. package/dist/tools/session-manager.js +88 -70
  63. package/dist/tools/session-manager.js.map +1 -1
  64. package/dist/tools/session.d.ts +7 -86
  65. package/dist/tools/session.d.ts.map +1 -1
  66. package/dist/tools/session.js +68 -72
  67. package/dist/tools/session.js.map +1 -1
  68. package/dist/tools/smart-context.d.ts +1 -1
  69. package/dist/tools/status.d.ts +9 -2
  70. package/dist/tools/status.d.ts.map +1 -1
  71. package/dist/tools/status.js +113 -64
  72. package/dist/tools/status.js.map +1 -1
  73. package/dist/tools/verify.d.ts +4 -4
  74. package/dist/tools/verify.js.map +1 -1
  75. package/dist/types/auth.d.ts +2 -2
  76. package/dist/types/checkpoint.d.ts +4 -4
  77. package/dist/types/file-protection.d.ts +2 -2
  78. package/dist/types/insight.d.ts +10 -10
  79. package/dist/types/journey.d.ts +40 -12
  80. package/dist/types/journey.d.ts.map +1 -1
  81. package/dist/types/journey.js +2 -0
  82. package/dist/types/journey.js.map +1 -1
  83. package/dist/types/session.d.ts +10 -10
  84. package/dist/workflows/engine.d.ts +2 -2
  85. package/dist/workflows/engine.d.ts.map +1 -1
  86. package/dist/workflows/engine.js +81 -82
  87. package/dist/workflows/engine.js.map +1 -1
  88. package/dist/workflows/index.d.ts +4 -4
  89. package/package.json +2 -10
@@ -1,40 +1,11 @@
1
+ import type { Session, Journey, Checkpoint } from '../db/schema.js';
1
2
  export declare function createSession(args: unknown): Promise<{
2
3
  error: string;
3
4
  details?: Record<string, unknown>;
4
5
  } | {
5
6
  session_id: string;
6
- journey: {
7
- id: string;
8
- name: string;
9
- createdAt: Date;
10
- updatedAt: Date;
11
- slug: string;
12
- description: string;
13
- steps: {
14
- id: string;
15
- order: number;
16
- type: "prompt" | "checkpoint" | "summary";
17
- content: {
18
- prompt?: string;
19
- checkpoint_key?: string;
20
- instructions?: string;
21
- };
22
- optional: boolean;
23
- }[];
24
- estimatedMinutes: number;
25
- tags: string[];
26
- } | null;
27
- current_step: {
28
- id: string;
29
- order: number;
30
- type: "prompt" | "checkpoint" | "summary";
31
- content: {
32
- prompt?: string;
33
- checkpoint_key?: string;
34
- instructions?: string;
35
- };
36
- optional: boolean;
37
- } | null | undefined;
7
+ journey: Journey | null;
8
+ current_step: import("../db/schema.js").JourneyStep | null | undefined;
38
9
  message: string;
39
10
  }>;
40
11
  export declare function resumeSession(args: unknown): Promise<{
@@ -47,60 +18,10 @@ export declare function resumeSession(args: unknown): Promise<{
47
18
  current_step?: undefined;
48
19
  checkpoints?: undefined;
49
20
  } | {
50
- session: {
51
- id: string;
52
- updatedAt: Date;
53
- userId: string;
54
- journeyId: string | null;
55
- status: "active" | "paused" | "completed" | "abandoned";
56
- currentStep: number;
57
- startedAt: Date;
58
- lastActiveAt: Date;
59
- completedAt: Date | null;
60
- metadata: unknown;
61
- threadId: string | null;
62
- lastSyncedAt: Date | null;
63
- };
64
- journey: {
65
- id: string;
66
- name: string;
67
- createdAt: Date;
68
- updatedAt: Date;
69
- slug: string;
70
- description: string;
71
- steps: {
72
- id: string;
73
- order: number;
74
- type: "prompt" | "checkpoint" | "summary";
75
- content: {
76
- prompt?: string;
77
- checkpoint_key?: string;
78
- instructions?: string;
79
- };
80
- optional: boolean;
81
- }[];
82
- estimatedMinutes: number;
83
- tags: string[];
84
- } | null | undefined;
85
- current_step: {
86
- id: string;
87
- order: number;
88
- type: "prompt" | "checkpoint" | "summary";
89
- content: {
90
- prompt?: string;
91
- checkpoint_key?: string;
92
- instructions?: string;
93
- };
94
- optional: boolean;
95
- } | null | undefined;
96
- checkpoints: {
97
- key: string;
98
- id: string;
99
- createdAt: Date;
100
- sessionId: string;
101
- stepId: string;
102
- value: unknown;
103
- }[];
21
+ session: Session;
22
+ journey: Journey | null;
23
+ current_step: import("../db/schema.js").JourneyStep | null | undefined;
24
+ checkpoints: Checkpoint[];
104
25
  message: string;
105
26
  }>;
106
27
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAQA,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;sBAwB/B,CAAC;8BACE,CAAC;4BACF,CAAC;;;;;;;;;;;;kBAFH,CAAC;0BACE,CAAC;wBACF,CAAC;;;;;GA6CpB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAjD/B,CAAC;8BACE,CAAC;4BACF,CAAC;;;;;;;;;;;;kBAFH,CAAC;0BACE,CAAC;wBACF,CAAC;;;;;;;;;;;;;GA4JpB"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAQ,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM1E,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO;;;;;;;;GA2EhD;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;GAyHhD"}
@@ -1,6 +1,4 @@
1
- import { getDb } from '../db/client.js';
2
- import { sessions, journeys, users, checkpoints } from '../db/schema.js';
3
- import { eq, desc, and } from 'drizzle-orm';
1
+ import { getSupabaseClient, throwOnError } from '../db/supabase-helpers.js';
4
2
  import { CreateSessionSchema, ResumeSessionSchema } from '../types/session.js';
5
3
  import { extractUserFromContext } from '../types/auth.js';
6
4
  import { handleError, NotFoundError } from '../utils/errors.js';
@@ -8,30 +6,27 @@ import { logger } from '../utils/logger.js';
8
6
  export async function createSession(args) {
9
7
  try {
10
8
  const input = CreateSessionSchema.parse(args);
11
- const db = getDb();
9
+ const supabase = getSupabaseClient();
12
10
  // Extract user ID from auth context or generate anonymous user
13
11
  const externalUserId = await extractUserFromContext(input.auth);
14
- const userResult = await db
15
- .insert(users)
16
- .values({
17
- externalId: externalUserId,
12
+ const user = throwOnError(await supabase
13
+ .from('users')
14
+ .upsert({
15
+ external_id: externalUserId,
18
16
  preferences: {},
19
- })
20
- .onConflictDoUpdate({
21
- target: users.externalId,
22
- set: { updatedAt: new Date() },
23
- })
24
- .returning();
25
- const user = userResult[0];
17
+ updated_at: new Date().toISOString(),
18
+ }, { onConflict: 'external_id' })
19
+ .select()
20
+ .single());
26
21
  // Look up journey if specified
27
22
  let journey = null;
28
23
  let currentStep = null;
29
24
  if (input.journey_slug) {
30
- const [foundJourney] = await db
31
- .select()
32
- .from(journeys)
33
- .where(eq(journeys.slug, input.journey_slug))
34
- .limit(1);
25
+ const foundJourney = throwOnError(await supabase
26
+ .from('journeys')
27
+ .select('*')
28
+ .eq('slug', input.journey_slug)
29
+ .maybeSingle());
35
30
  if (!foundJourney) {
36
31
  throw new NotFoundError('Journey with slug', input.journey_slug);
37
32
  }
@@ -42,17 +37,17 @@ export async function createSession(args) {
42
37
  }
43
38
  }
44
39
  // Create new session
45
- const sessionResult = await db
46
- .insert(sessions)
47
- .values({
48
- userId: user.id,
49
- journeyId: journey?.id || null,
40
+ const session = throwOnError(await supabase
41
+ .from('sessions')
42
+ .insert({
43
+ user_id: user.id,
44
+ journey_id: journey?.id || null,
50
45
  status: 'active',
51
- currentStep: 0,
46
+ current_step: 0,
52
47
  metadata: { context: input.context },
53
48
  })
54
- .returning();
55
- const session = sessionResult[0];
49
+ .select()
50
+ .single());
56
51
  logger.info(`Created new session: ${session.id}`);
57
52
  return {
58
53
  session_id: session.id,
@@ -71,17 +66,17 @@ export async function createSession(args) {
71
66
  export async function resumeSession(args) {
72
67
  try {
73
68
  const input = ResumeSessionSchema.parse(args);
74
- const db = getDb();
69
+ const supabase = getSupabaseClient();
75
70
  // Find session to resume
76
- let session;
71
+ let session = null;
77
72
  if (input.session_id) {
78
73
  // Direct session lookup - skip user validation
79
74
  // This allows resuming sessions when MCP clients don't maintain consistent user context
80
- [session] = await db
81
- .select()
82
- .from(sessions)
83
- .where(eq(sessions.id, input.session_id))
84
- .limit(1);
75
+ session = throwOnError(await supabase
76
+ .from('sessions')
77
+ .select('*')
78
+ .eq('id', input.session_id)
79
+ .maybeSingle());
85
80
  if (!session) {
86
81
  throw new NotFoundError('Session with ID', input.session_id);
87
82
  }
@@ -90,35 +85,35 @@ export async function resumeSession(args) {
90
85
  // Resume most recent session - requires user context
91
86
  // Extract user ID from auth context or generate anonymous user
92
87
  const externalUserId = await extractUserFromContext(input.auth);
93
- const [user] = await db
94
- .select()
95
- .from(users)
96
- .where(eq(users.externalId, externalUserId))
97
- .limit(1);
88
+ const user = throwOnError(await supabase
89
+ .from('users')
90
+ .select('*')
91
+ .eq('external_id', externalUserId)
92
+ .maybeSingle());
98
93
  if (!user) {
99
94
  // Create user if doesn't exist
100
- const [newUser] = await db
101
- .insert(users)
102
- .values({
103
- externalId: externalUserId,
95
+ throwOnError(await supabase
96
+ .from('users')
97
+ .insert({
98
+ external_id: externalUserId,
104
99
  preferences: {},
105
100
  })
106
- .returning();
107
- if (!newUser) {
108
- throw new NotFoundError('User');
109
- }
101
+ .select()
102
+ .single());
110
103
  return {
111
104
  message: 'No previous sessions found for this user. Please create a new session.',
112
105
  session: null,
113
106
  };
114
107
  }
115
108
  // Get most recent pausable session for this user
116
- [session] = await db
117
- .select()
118
- .from(sessions)
119
- .where(and(eq(sessions.userId, user.id), eq(sessions.status, 'paused')))
120
- .orderBy(desc(sessions.lastActiveAt))
121
- .limit(1);
109
+ session = throwOnError(await supabase
110
+ .from('sessions')
111
+ .select('*')
112
+ .eq('user_id', user.id)
113
+ .eq('status', 'paused')
114
+ .order('last_active_at', { ascending: false })
115
+ .limit(1)
116
+ .maybeSingle());
122
117
  if (!session) {
123
118
  throw new NotFoundError('Session to resume for user');
124
119
  }
@@ -126,30 +121,31 @@ export async function resumeSession(args) {
126
121
  // Get journey if linked
127
122
  let journey = null;
128
123
  let currentStep = null;
129
- if (session.journeyId) {
130
- [journey] = await db
131
- .select()
132
- .from(journeys)
133
- .where(eq(journeys.id, session.journeyId))
134
- .limit(1);
135
- if (journey && journey.steps && journey.steps[session.currentStep]) {
136
- currentStep = journey.steps[session.currentStep];
124
+ if (session.journey_id) {
125
+ journey = throwOnError(await supabase
126
+ .from('journeys')
127
+ .select('*')
128
+ .eq('id', session.journey_id)
129
+ .maybeSingle());
130
+ if (journey && journey.steps && journey.steps[session.current_step]) {
131
+ currentStep = journey.steps[session.current_step];
137
132
  }
138
133
  }
139
134
  // Get existing checkpoints
140
- const existingCheckpoints = await db
141
- .select()
142
- .from(checkpoints)
143
- .where(eq(checkpoints.sessionId, session.id))
144
- .orderBy(checkpoints.createdAt);
135
+ const existingCheckpoints = throwOnError(await supabase
136
+ .from('checkpoints')
137
+ .select('*')
138
+ .eq('session_id', session.id)
139
+ .order('created_at', { ascending: true }));
145
140
  // Update session status to active
146
- await db
147
- .update(sessions)
148
- .set({
141
+ throwOnError(await supabase
142
+ .from('sessions')
143
+ .update({
149
144
  status: 'active',
150
- lastActiveAt: new Date(),
145
+ last_active_at: new Date().toISOString(),
151
146
  })
152
- .where(eq(sessions.id, session.id));
147
+ .eq('id', session.id)
148
+ .select());
153
149
  logger.info(`Resumed session: ${session.id}`);
154
150
  return {
155
151
  session: session,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ export declare const smartContextTool: {
54
54
  };
55
55
  export declare function handleSmartContext(args: unknown): Promise<{
56
56
  success: boolean;
57
- type: "checkpoint" | "insight" | "conversation" | "pattern" | "decision" | "requirement" | "constraint";
57
+ type: "conversation" | "pattern" | "checkpoint" | "insight" | "decision" | "requirement" | "constraint";
58
58
  message: string;
59
59
  error?: undefined;
60
60
  } | {
@@ -3,17 +3,24 @@
3
3
  *
4
4
  * Dashboard and quick status checks for session, history, context, protection, and preferences.
5
5
  * Provides personalized status with actionable next steps.
6
+ *
7
+ * SECURITY: All database queries (sessions, checkpoints, insights) are scoped
8
+ * to the authenticated user. Context and protection checks use machine-local
9
+ * storage and are not user-scoped.
6
10
  */
7
11
  import { z } from 'zod';
8
12
  declare const StatusInputSchema: z.ZodObject<{
9
13
  check: z.ZodEnum<["session", "history", "context", "protection", "preferences", "all"]>;
10
14
  session_id: z.ZodOptional<z.ZodString>;
15
+ auth: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
16
  }, "strip", z.ZodTypeAny, {
12
- check: "preferences" | "context" | "history" | "protection" | "all" | "session";
17
+ check: "session" | "protection" | "all" | "history" | "context" | "preferences";
13
18
  session_id?: string | undefined;
19
+ auth?: Record<string, unknown> | undefined;
14
20
  }, {
15
- check: "preferences" | "context" | "history" | "protection" | "all" | "session";
21
+ check: "session" | "protection" | "all" | "history" | "context" | "preferences";
16
22
  session_id?: string | undefined;
23
+ auth?: Record<string, unknown> | undefined;
17
24
  }>;
18
25
  export type StatusInput = z.infer<typeof StatusInputSchema>;
19
26
  export declare const statusTool: {
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,QAAA,MAAM,iBAAiB;;;;;;;;;EAGrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BtB,CAAC;AAEF,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO;WAgcvC,MAAM;eACF,MAAM;cACP,aAAa;cACb,aAAa;cACb,aAAa;iBACV,gBAAgB;kBACf,iBAAiB;cACrB,MAAM;iBACH,MAAM,EAAE;;;;;;GAzZtB;AAMD,UAAU,aAAa;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyED,UAAU,aAAa;IACrB,eAAe,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AA8ED,UAAU,aAAa;IACrB,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0DD,UAAU,gBAAgB;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAmCD,UAAU,iBAAiB;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,QAAA,MAAM,iBAAiB;;;;;;;;;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BtB,CAAC;AA2BF,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO;WAwevC,MAAM;eACF,MAAM;cACP,aAAa;cACb,aAAa;cACb,aAAa;iBACV,gBAAgB;kBACf,iBAAiB;cACrB,MAAM;iBACH,MAAM,EAAE;;;;;;GApbtB;AAMD,UAAU,aAAa;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAoFD,UAAU,aAAa;IACrB,eAAe,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AA6FD,UAAU,aAAa;IACrB,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0DD,UAAU,gBAAgB;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAmCD,UAAU,iBAAiB;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}