@opencx/mcp 1.15.10 → 1.15.11
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/dist/partner-analytics.spec.d.ts +2 -0
- package/dist/partner-analytics.spec.d.ts.map +1 -0
- package/dist/partner-analytics.spec.js +208 -0
- package/dist/partner-analytics.spec.js.map +1 -0
- package/dist/schema.d.ts +213 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/tools/reports.d.ts.map +1 -1
- package/dist/tools/reports.js +176 -0
- package/dist/tools/reports.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/tools/reports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/tools/reports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgDrD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAkO1E"}
|
package/dist/tools/reports.js
CHANGED
|
@@ -24,6 +24,25 @@ const REPORT_VIEWS = [
|
|
|
24
24
|
'report_handoff_reason_categories',
|
|
25
25
|
'report_contact_reasons',
|
|
26
26
|
'report_contact_reason_runs',
|
|
27
|
+
'report_team_member_capacity',
|
|
28
|
+
'report_session_distribution_log',
|
|
29
|
+
].join(', ');
|
|
30
|
+
// The partner-scoped twins (backend migrations 0010 + 0011) — same columns as
|
|
31
|
+
// their org twins plus `org_id`. Only reachable through
|
|
32
|
+
// `run_partner_analytics_query`; keep in sync like REPORT_VIEWS.
|
|
33
|
+
const PARTNER_REPORT_VIEWS = [
|
|
34
|
+
'report_partner_sessions',
|
|
35
|
+
'report_partner_messages',
|
|
36
|
+
'report_partner_session_metrics',
|
|
37
|
+
'report_partner_session_tags',
|
|
38
|
+
'report_partner_csat',
|
|
39
|
+
'report_partner_sla',
|
|
40
|
+
'report_partner_handoff_reasons',
|
|
41
|
+
'report_partner_handoff_reason_categories',
|
|
42
|
+
'report_partner_resource_usage',
|
|
43
|
+
'report_partner_contacts',
|
|
44
|
+
'report_partner_contact_reasons',
|
|
45
|
+
'report_partner_contact_reason_runs',
|
|
27
46
|
].join(', ');
|
|
28
47
|
export function registerReportTools(server, client) {
|
|
29
48
|
server.registerTool('run_analytics_query', {
|
|
@@ -63,5 +82,162 @@ export function registerReportTools(server, client) {
|
|
|
63
82
|
throw e;
|
|
64
83
|
}
|
|
65
84
|
});
|
|
85
|
+
// Partner-wide (cross-org) analytics — PARTNER ADMIN orgs only. A partner
|
|
86
|
+
// admin org administers a partner (white-label reseller) whose connected
|
|
87
|
+
// orgs — its customers — it may report across; every other org gets a 403
|
|
88
|
+
// from these three.
|
|
89
|
+
server.registerTool('list_partner_orgs', {
|
|
90
|
+
description: 'PARTNER ADMIN ORGS ONLY (the system prompt has a "Partner analytics" section when ' +
|
|
91
|
+
'that is the case — otherwise do not call this). The FULL roster of organizations ' +
|
|
92
|
+
'(customers) connected to the partner this org administers, unpaginated: id, name, the ' +
|
|
93
|
+
'partner’s external_id for the org, partner-private tags, created_at. This is the ' +
|
|
94
|
+
'scope of every run_partner_analytics_query AND the org dimension — join its ids to ' +
|
|
95
|
+
'the org_id column of the report_partner_* views to name orgs. To FIND, FILTER, RANK ' +
|
|
96
|
+
'or inspect customers (health status, activity, channels, tags, search by name) use ' +
|
|
97
|
+
'search_partner_orgs instead — it is paginated and carries the health signals. ' +
|
|
98
|
+
'Returns 403 for an org that is not a partner admin org (then partner-wide analytics ' +
|
|
99
|
+
'simply do not apply — use the org-scoped tools).',
|
|
100
|
+
inputSchema: {},
|
|
101
|
+
}, async () => {
|
|
102
|
+
try {
|
|
103
|
+
const { data } = await client.GET('/partner-analytics/orgs');
|
|
104
|
+
return jsonContent(data);
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
if (e instanceof ApiError) {
|
|
108
|
+
return jsonContent({ ok: false, status: e.status, error: e.body });
|
|
109
|
+
}
|
|
110
|
+
throw e;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
server.registerTool('search_partner_orgs', {
|
|
114
|
+
description: 'PARTNER ADMIN ORGS ONLY (the system prompt has a "Partner analytics" section when ' +
|
|
115
|
+
'that is the case — otherwise do not call this). Search, filter, sort and page through ' +
|
|
116
|
+
'the customers (connected orgs) of the partner this org administers, each with the ' +
|
|
117
|
+
'health signals the Partner Admin console shows: health.status (new = connected < 7 ' +
|
|
118
|
+
'days and no sessions yet; setup_incomplete = no knowledge sources and no actions; ' +
|
|
119
|
+
'inactive = no session in the last 30 days; healthy = everything else), members, ' +
|
|
120
|
+
'data_sources, has_ai_training, has_actions, sessions_30d, total_sessions, ' +
|
|
121
|
+
'last_session_at, connected channels (chat/email/whatsapp/voice), partner tags, ' +
|
|
122
|
+
'external_id, created_at. Use it for "which customers are inactive / not set up / new / ' +
|
|
123
|
+
'not using AI yet", "find customer X", "how many customers have WhatsApp", "top ' +
|
|
124
|
+
'customers by sessions this month" (sort_by=sessions_30d), or to look up one customer ' +
|
|
125
|
+
'before a deep dive. total = number of customers matching the filters. For volume, ' +
|
|
126
|
+
'quality and behaviour beyond these signals (handoffs, CSAT, resolution, tags, trends) ' +
|
|
127
|
+
'use run_partner_analytics_query. Returns 403 for a non-partner-admin org.',
|
|
128
|
+
inputSchema: {
|
|
129
|
+
q: z.string().optional().describe('Match on org name or the partner’s external_id.'),
|
|
130
|
+
status: z
|
|
131
|
+
.string()
|
|
132
|
+
.optional()
|
|
133
|
+
.describe('Comma-separated health statuses to include: new, setup_incomplete, inactive, healthy.'),
|
|
134
|
+
has_ai: z
|
|
135
|
+
.enum(['true', 'false'])
|
|
136
|
+
.optional()
|
|
137
|
+
.describe('Only customers with (true) / without (false) AI training.'),
|
|
138
|
+
has_actions: z
|
|
139
|
+
.enum(['true', 'false'])
|
|
140
|
+
.optional()
|
|
141
|
+
.describe('Only customers with (true) / without (false) actions configured.'),
|
|
142
|
+
tags: z
|
|
143
|
+
.string()
|
|
144
|
+
.optional()
|
|
145
|
+
.describe('Comma-separated partner tags; a customer matches when it has ANY of them.'),
|
|
146
|
+
channels: z
|
|
147
|
+
.string()
|
|
148
|
+
.optional()
|
|
149
|
+
.describe('Comma-separated channels (chat, email, whatsapp, voice); a customer matches when ' +
|
|
150
|
+
'it has ALL of them connected.'),
|
|
151
|
+
sort_by: z
|
|
152
|
+
.enum([
|
|
153
|
+
'created_at',
|
|
154
|
+
'name',
|
|
155
|
+
'members',
|
|
156
|
+
'data_sources',
|
|
157
|
+
'sessions_30d',
|
|
158
|
+
'total_sessions',
|
|
159
|
+
'last_session_at',
|
|
160
|
+
])
|
|
161
|
+
.optional()
|
|
162
|
+
.describe('Sort key (default created_at).'),
|
|
163
|
+
sort_dir: z.enum(['asc', 'desc']).optional().describe('Sort direction (default desc).'),
|
|
164
|
+
limit: z.number().int().min(1).max(100).optional().describe('Page size, max 100.'),
|
|
165
|
+
offset: z.number().int().min(0).optional().describe('Page offset.'),
|
|
166
|
+
},
|
|
167
|
+
}, async (params) => {
|
|
168
|
+
try {
|
|
169
|
+
const { data } = await client.GET('/partner-analytics/orgs/search', {
|
|
170
|
+
params: {
|
|
171
|
+
query: {
|
|
172
|
+
q: params.q,
|
|
173
|
+
status: params.status,
|
|
174
|
+
has_ai: params.has_ai,
|
|
175
|
+
has_actions: params.has_actions,
|
|
176
|
+
tags: params.tags,
|
|
177
|
+
channels: params.channels,
|
|
178
|
+
sort_by: params.sort_by,
|
|
179
|
+
sort_dir: params.sort_dir,
|
|
180
|
+
limit: params.limit,
|
|
181
|
+
offset: params.offset,
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
return jsonContent(data);
|
|
186
|
+
}
|
|
187
|
+
catch (e) {
|
|
188
|
+
if (e instanceof ApiError) {
|
|
189
|
+
return jsonContent({ ok: false, status: e.status, error: e.body });
|
|
190
|
+
}
|
|
191
|
+
throw e;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
server.registerTool('run_partner_analytics_query', {
|
|
195
|
+
description: 'PARTNER ADMIN ORGS ONLY (the system prompt has a "Partner analytics" section when ' +
|
|
196
|
+
'that is the case — otherwise do not call this). Run a read-only SQL query ACROSS ' +
|
|
197
|
+
'every organization connected to the partner this org administers — for cross-org / ' +
|
|
198
|
+
'partner-wide questions ' +
|
|
199
|
+
'(automation rate per connected org, volume by org, CSAT across the partner network, ' +
|
|
200
|
+
'top handoff reasons network-wide). Uses the report_partner_* views: the same columns ' +
|
|
201
|
+
'as the org report_* views PLUS an org_id column (group/filter by it; name orgs via ' +
|
|
202
|
+
'list_partner_orgs). This covers ANY analytical question about the customers, not just ' +
|
|
203
|
+
'volume: full message text (report_partner_messages.message — link/URL sharing like ' +
|
|
204
|
+
'"which clients share the most booking links", keyword and template analysis), ' +
|
|
205
|
+
'end-customer contacts (report_partner_contacts — repeat contacts, language mix, ' +
|
|
206
|
+
'channel identities), WHY people reach out (report_partner_contact_reason_runs), ' +
|
|
207
|
+
'sentiment/language/channel/peak-hour splits (report_partner_sessions), CSAT with ' +
|
|
208
|
+
'verbatim comments, SLA attainment, and which knowledge/actions the AI used ' +
|
|
209
|
+
'(report_partner_resource_usage). Scoped server-side to exactly the partner’s connected ' +
|
|
210
|
+
'orgs (never add org filters beyond org_id grouping). Values are RAW like the org ' +
|
|
211
|
+
'views. Available views: ' +
|
|
212
|
+
PARTNER_REPORT_VIEWS +
|
|
213
|
+
'. The org report_* views are NOT reachable here (and report_partner_* are not reachable ' +
|
|
214
|
+
'from run_analytics_query). Returns 403 for a non-partner-admin org. Load the ' +
|
|
215
|
+
'"report-query" skill for columns, exact enum values, dialect, and partner recipes.',
|
|
216
|
+
inputSchema: {
|
|
217
|
+
sql: z
|
|
218
|
+
.string()
|
|
219
|
+
.describe('A single read-only SELECT/WITH query over the report_partner_* views (ClickHouse SQL ' +
|
|
220
|
+
'dialect: countIf, quantile(0.5)(...), toStartOfWeek, now() - INTERVAL 30 DAY). ' +
|
|
221
|
+
'GROUP BY org_id for per-org breakdowns. Do NOT add SETTINGS. On error the ' +
|
|
222
|
+
'message is returned so you can correct the query and retry.'),
|
|
223
|
+
parameters: z
|
|
224
|
+
.array(z.union([z.string(), z.number(), z.boolean(), z.null()]))
|
|
225
|
+
.optional()
|
|
226
|
+
.describe('Optional positional bind values for ? placeholders. Inlining literals is fine too.'),
|
|
227
|
+
},
|
|
228
|
+
}, async (params) => {
|
|
229
|
+
try {
|
|
230
|
+
const { data } = await client.POST('/partner-analytics/query', {
|
|
231
|
+
body: { sql: params.sql, parameters: params.parameters ?? [] },
|
|
232
|
+
});
|
|
233
|
+
return jsonContent(data);
|
|
234
|
+
}
|
|
235
|
+
catch (e) {
|
|
236
|
+
if (e instanceof ApiError) {
|
|
237
|
+
return jsonContent({ ok: false, status: e.status, error: e.body });
|
|
238
|
+
}
|
|
239
|
+
throw e;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
66
242
|
}
|
|
67
243
|
//# sourceMappingURL=reports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/tools/reports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGzD,8DAA8D;AAC9D,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,mDAAmD;AACnD,MAAM,YAAY,GAAG;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,wBAAwB;IACxB,qBAAqB;IACrB,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,4BAA4B;IAC5B,eAAe;IACf,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,kCAAkC;IAClC,wBAAwB;IACxB,4BAA4B;
|
|
1
|
+
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/tools/reports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGzD,8DAA8D;AAC9D,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,mDAAmD;AACnD,MAAM,YAAY,GAAG;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,wBAAwB;IACxB,qBAAqB;IACrB,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,4BAA4B;IAC5B,eAAe;IACf,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,kCAAkC;IAClC,wBAAwB;IACxB,4BAA4B;IAC5B,6BAA6B;IAC7B,iCAAiC;CAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,8EAA8E;AAC9E,wDAAwD;AACxD,iEAAiE;AACjE,MAAM,oBAAoB,GAAG;IAC3B,yBAAyB;IACzB,yBAAyB;IACzB,gCAAgC;IAChC,6BAA6B;IAC7B,qBAAqB;IACrB,oBAAoB;IACpB,gCAAgC;IAChC,0CAA0C;IAC1C,+BAA+B;IAC/B,yBAAyB;IACzB,gCAAgC;IAChC,oCAAoC;CACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAoB;IACzE,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,4FAA4F;YAC5F,iGAAiG;YACjG,6FAA6F;YAC7F,+FAA+F;YAC/F,8FAA8F;YAC9F,iGAAiG;YACjG,YAAY;YACZ,kGAAkG;QACpG,WAAW,EAAE;YACX,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,CACP,wFAAwF;gBACtF,yFAAyF;gBACzF,sFAAsF;gBACtF,6DAA6D,CAChE;YACH,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;iBAC/D,QAAQ,EAAE;iBACV,QAAQ,CACP,oFAAoF,CACrF;SACJ;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBACvD,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE;aAC/D,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,oEAAoE;YACpE,yEAAyE;YACzE,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;gBAC1B,OAAO,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,oBAAoB;IACpB,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,oFAAoF;YACpF,mFAAmF;YACnF,wFAAwF;YACxF,mFAAmF;YACnF,qFAAqF;YACrF,sFAAsF;YACtF,qFAAqF;YACrF,gFAAgF;YAChF,sFAAsF;YACtF,kDAAkD;QACpD,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAC7D,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;gBAC1B,OAAO,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,oFAAoF;YACpF,wFAAwF;YACxF,oFAAoF;YACpF,qFAAqF;YACrF,oFAAoF;YACpF,kFAAkF;YAClF,4EAA4E;YAC5E,iFAAiF;YACjF,yFAAyF;YACzF,iFAAiF;YACjF,uFAAuF;YACvF,oFAAoF;YACpF,wFAAwF;YACxF,2EAA2E;QAC7E,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACpF,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,uFAAuF,CACxF;YACH,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACvB,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;YACxE,WAAW,EAAE,CAAC;iBACX,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACvB,QAAQ,EAAE;iBACV,QAAQ,CAAC,kEAAkE,CAAC;YAC/E,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2EAA2E,CAAC;YACxF,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,mFAAmF;gBACjF,+BAA+B,CAClC;YACH,OAAO,EAAE,CAAC;iBACP,IAAI,CAAC;gBACJ,YAAY;gBACZ,MAAM;gBACN,SAAS;gBACT,cAAc;gBACd,cAAc;gBACd,gBAAgB;gBAChB,iBAAiB;aAClB,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACvF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAClF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;SACpE;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE;gBAClE,MAAM,EAAE;oBACN,KAAK,EAAE;wBACL,CAAC,EAAE,MAAM,CAAC,CAAC;wBACX,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB;iBACF;aACF,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;gBAC1B,OAAO,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,6BAA6B,EAC7B;QACE,WAAW,EACT,oFAAoF;YACpF,mFAAmF;YACnF,qFAAqF;YACrF,yBAAyB;YACzB,sFAAsF;YACtF,uFAAuF;YACvF,qFAAqF;YACrF,wFAAwF;YACxF,qFAAqF;YACrF,gFAAgF;YAChF,kFAAkF;YAClF,kFAAkF;YAClF,mFAAmF;YACnF,6EAA6E;YAC7E,yFAAyF;YACzF,mFAAmF;YACnF,0BAA0B;YAC1B,oBAAoB;YACpB,0FAA0F;YAC1F,+EAA+E;YAC/E,oFAAoF;QACtF,WAAW,EAAE;YACX,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,CACP,uFAAuF;gBACrF,iFAAiF;gBACjF,4EAA4E;gBAC5E,6DAA6D,CAChE;YACH,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;iBAC/D,QAAQ,EAAE;iBACV,QAAQ,CACP,oFAAoF,CACrF;SACJ;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBAC7D,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE;aAC/D,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;gBAC1B,OAAO,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED