@extenshi/mcp 0.6.0 → 0.8.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 (50) hide show
  1. package/README.md +35 -3
  2. package/dist/bff.d.ts +35 -5
  3. package/dist/bff.d.ts.map +1 -1
  4. package/dist/bff.js +15 -0
  5. package/dist/bff.js.map +1 -1
  6. package/dist/development-guide.d.ts +118 -76
  7. package/dist/development-guide.d.ts.map +1 -1
  8. package/dist/development-guide.js +151 -44
  9. package/dist/development-guide.js.map +1 -1
  10. package/dist/docs.d.ts +45 -4
  11. package/dist/docs.d.ts.map +1 -1
  12. package/dist/docs.js +162 -17
  13. package/dist/docs.js.map +1 -1
  14. package/dist/icon-workflow.d.ts +5 -4
  15. package/dist/icon-workflow.d.ts.map +1 -1
  16. package/dist/icon-workflow.js +33 -32
  17. package/dist/icon-workflow.js.map +1 -1
  18. package/dist/localize-workflow.d.ts +8 -0
  19. package/dist/localize-workflow.d.ts.map +1 -0
  20. package/dist/localize-workflow.js +105 -0
  21. package/dist/localize-workflow.js.map +1 -0
  22. package/dist/pay.d.ts +214 -0
  23. package/dist/pay.d.ts.map +1 -0
  24. package/dist/pay.js +202 -0
  25. package/dist/pay.js.map +1 -0
  26. package/dist/search-filters.js +1 -1
  27. package/dist/search-filters.js.map +1 -1
  28. package/dist/shape.d.ts +34 -0
  29. package/dist/shape.d.ts.map +1 -1
  30. package/dist/shape.js +150 -3
  31. package/dist/shape.js.map +1 -1
  32. package/dist/templates.js +5 -5
  33. package/dist/templates.js.map +1 -1
  34. package/dist/tools.d.ts +2 -1
  35. package/dist/tools.d.ts.map +1 -1
  36. package/dist/tools.js +333 -106
  37. package/dist/tools.js.map +1 -1
  38. package/dist/welcome-agent-brief.d.ts +9 -9
  39. package/dist/welcome-agent-brief.d.ts.map +1 -1
  40. package/dist/welcome-agent-brief.js +32 -32
  41. package/dist/welcome-agent-brief.js.map +1 -1
  42. package/dist/welcome-workflow.d.ts +5 -5
  43. package/dist/welcome-workflow.d.ts.map +1 -1
  44. package/dist/welcome-workflow.js +13 -14
  45. package/dist/welcome-workflow.js.map +1 -1
  46. package/package.json +10 -8
  47. package/dist/project-workspace.d.ts +0 -1976
  48. package/dist/project-workspace.d.ts.map +0 -1
  49. package/dist/project-workspace.js +0 -350
  50. package/dist/project-workspace.js.map +0 -1
package/dist/pay.d.ts ADDED
@@ -0,0 +1,214 @@
1
+ /** Published packages deliberately carry this small contract locally; BFF validates again. */
2
+ import { z } from 'zod';
3
+ export declare const paySchemas: {
4
+ readonly listPayApps: z.ZodObject<{
5
+ includeArchived: z.ZodOptional<z.ZodBoolean>;
6
+ cursor: z.ZodOptional<z.ZodString>;
7
+ limit: z.ZodOptional<z.ZodNumber>;
8
+ }, "strict", z.ZodTypeAny, {
9
+ includeArchived?: boolean | undefined;
10
+ cursor?: string | undefined;
11
+ limit?: number | undefined;
12
+ }, {
13
+ includeArchived?: boolean | undefined;
14
+ cursor?: string | undefined;
15
+ limit?: number | undefined;
16
+ }>;
17
+ readonly createPayApp: z.ZodObject<{
18
+ name: z.ZodString;
19
+ linkedProjectId: z.ZodOptional<z.ZodString>;
20
+ }, "strict", z.ZodTypeAny, {
21
+ name: string;
22
+ linkedProjectId?: string | undefined;
23
+ }, {
24
+ name: string;
25
+ linkedProjectId?: string | undefined;
26
+ }>;
27
+ readonly getPayApp: z.ZodObject<{
28
+ appId: z.ZodString;
29
+ }, "strict", z.ZodTypeAny, {
30
+ appId: string;
31
+ }, {
32
+ appId: string;
33
+ }>;
34
+ readonly getPayReadiness: z.ZodObject<{
35
+ appId: z.ZodString;
36
+ }, "strict", z.ZodTypeAny, {
37
+ appId: string;
38
+ }, {
39
+ appId: string;
40
+ }>;
41
+ readonly linkPayApp: z.ZodObject<{
42
+ appId: z.ZodString;
43
+ } & {
44
+ projectId: z.ZodString;
45
+ }, "strict", z.ZodTypeAny, {
46
+ appId: string;
47
+ projectId: string;
48
+ }, {
49
+ appId: string;
50
+ projectId: string;
51
+ }>;
52
+ readonly unlinkPayApp: z.ZodObject<{
53
+ appId: z.ZodString;
54
+ }, "strict", z.ZodTypeAny, {
55
+ appId: string;
56
+ }, {
57
+ appId: string;
58
+ }>;
59
+ readonly archivePayApp: z.ZodObject<{
60
+ appId: z.ZodString;
61
+ }, "strict", z.ZodTypeAny, {
62
+ appId: string;
63
+ }, {
64
+ appId: string;
65
+ }>;
66
+ readonly exportPayData: z.ZodObject<{
67
+ appId: z.ZodString;
68
+ } & {
69
+ resource: z.ZodEnum<["offers", "payments", "subscriptions", "entitlements", "customers"]>;
70
+ cursor: z.ZodOptional<z.ZodString>;
71
+ limit: z.ZodOptional<z.ZodNumber>;
72
+ }, "strict", z.ZodTypeAny, {
73
+ appId: string;
74
+ resource: "offers" | "payments" | "subscriptions" | "entitlements" | "customers";
75
+ cursor?: string | undefined;
76
+ limit?: number | undefined;
77
+ }, {
78
+ appId: string;
79
+ resource: "offers" | "payments" | "subscriptions" | "entitlements" | "customers";
80
+ cursor?: string | undefined;
81
+ limit?: number | undefined;
82
+ }>;
83
+ readonly getPaySeller: z.ZodObject<{
84
+ appId: z.ZodString;
85
+ }, "strict", z.ZodTypeAny, {
86
+ appId: string;
87
+ }, {
88
+ appId: string;
89
+ }>;
90
+ readonly connectPaySeller: z.ZodObject<{
91
+ appId: z.ZodString;
92
+ } & {
93
+ provider: z.ZodDefault<z.ZodLiteral<"stripe">>;
94
+ accountKind: z.ZodDefault<z.ZodEnum<["standard", "express"]>>;
95
+ }, "strict", z.ZodTypeAny, {
96
+ appId: string;
97
+ provider: "stripe";
98
+ accountKind: "standard" | "express";
99
+ }, {
100
+ appId: string;
101
+ provider?: "stripe" | undefined;
102
+ accountKind?: "standard" | "express" | undefined;
103
+ }>;
104
+ readonly refreshPaySeller: z.ZodObject<{
105
+ appId: z.ZodString;
106
+ }, "strict", z.ZodTypeAny, {
107
+ appId: string;
108
+ }, {
109
+ appId: string;
110
+ }>;
111
+ readonly setPaySellerProfile: z.ZodObject<{
112
+ appId: z.ZodString;
113
+ } & {
114
+ profile: z.ZodObject<{
115
+ displayName: z.ZodString;
116
+ supportUrl: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodString]>;
117
+ termsUrl: z.ZodNullable<z.ZodEffects<z.ZodString, string, string>>;
118
+ }, "strict", z.ZodTypeAny, {
119
+ displayName: string;
120
+ supportUrl: string;
121
+ termsUrl: string | null;
122
+ }, {
123
+ displayName: string;
124
+ supportUrl: string;
125
+ termsUrl: string | null;
126
+ }>;
127
+ }, "strict", z.ZodTypeAny, {
128
+ appId: string;
129
+ profile: {
130
+ displayName: string;
131
+ supportUrl: string;
132
+ termsUrl: string | null;
133
+ };
134
+ }, {
135
+ appId: string;
136
+ profile: {
137
+ displayName: string;
138
+ supportUrl: string;
139
+ termsUrl: string | null;
140
+ };
141
+ }>;
142
+ readonly upsertPayOffer: z.ZodObject<{
143
+ appId: z.ZodString;
144
+ } & {
145
+ sku: z.ZodString;
146
+ kind: z.ZodEnum<["one_time", "subscription", "lifetime"]>;
147
+ interval: z.ZodDefault<z.ZodNullable<z.ZodEnum<["month", "year"]>>>;
148
+ amountMinor: z.ZodNumber;
149
+ currency: z.ZodEnum<["usd", "eur", "gbp"]>;
150
+ title: z.ZodString;
151
+ description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
152
+ features: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
153
+ sortOrder: z.ZodDefault<z.ZodNumber>;
154
+ }, "strict", z.ZodTypeAny, {
155
+ appId: string;
156
+ sku: string;
157
+ kind: "one_time" | "subscription" | "lifetime";
158
+ interval: "month" | "year" | null;
159
+ amountMinor: number;
160
+ currency: "usd" | "eur" | "gbp";
161
+ title: string;
162
+ description: string | null;
163
+ features: string[];
164
+ sortOrder: number;
165
+ }, {
166
+ appId: string;
167
+ sku: string;
168
+ kind: "one_time" | "subscription" | "lifetime";
169
+ amountMinor: number;
170
+ currency: "usd" | "eur" | "gbp";
171
+ title: string;
172
+ interval?: "month" | "year" | null | undefined;
173
+ description?: string | null | undefined;
174
+ features?: string[] | undefined;
175
+ sortOrder?: number | undefined;
176
+ }>;
177
+ readonly archivePayOffer: z.ZodObject<{
178
+ appId: z.ZodString;
179
+ } & {
180
+ sku: z.ZodString;
181
+ }, "strict", z.ZodTypeAny, {
182
+ appId: string;
183
+ sku: string;
184
+ }, {
185
+ appId: string;
186
+ sku: string;
187
+ }>;
188
+ readonly setPayEnabled: z.ZodObject<{
189
+ appId: z.ZodString;
190
+ } & {
191
+ enabled: z.ZodBoolean;
192
+ }, "strict", z.ZodTypeAny, {
193
+ appId: string;
194
+ enabled: boolean;
195
+ }, {
196
+ appId: string;
197
+ enabled: boolean;
198
+ }>;
199
+ readonly rotatePayKey: z.ZodObject<{
200
+ appId: z.ZodString;
201
+ }, "strict", z.ZodTypeAny, {
202
+ appId: string;
203
+ }, {
204
+ appId: string;
205
+ }>;
206
+ };
207
+ export type PayMethod = keyof typeof paySchemas;
208
+ export type PayBff = {
209
+ [M in PayMethod]: (input: z.infer<(typeof paySchemas)[M]>) => Promise<unknown>;
210
+ };
211
+ export declare const PAY_OPERATIONS: readonly [readonly ["listPayApps", "list_pay_apps", "list", "payApp.list", false, "List your independent Pay applications. No development project required. Paginated: nextCursor is set while more results exist."], readonly ["createPayApp", "create_pay_app", "create", "payApp.create", true, "Create an independent Pay application; linking a development project is optional. Not idempotent: each call creates a new application, including a call repeated after a timeout."], readonly ["getPayApp", "get_pay_app", "get", "payApp.get", false, "Read your Pay application and optional project link."], readonly ["getPayReadiness", "get_pay_readiness", "readiness", "payApp.readiness", false, "Check current checkout and launch prerequisites. A passing checkout check does not prove a live external purchase or SDK publication."], readonly ["linkPayApp", "link_pay_app", "link", "payApp.link", true, "Link your Pay application to your development project. Existing purchases remain attached to the Pay application."], readonly ["unlinkPayApp", "unlink_pay_app", "unlink", "payApp.unlink", true, "Remove the optional development-project link without deleting Pay data."], readonly ["archivePayApp", "archive_pay_app", "archive", "payApp.archive", true, "Archive your application and stop new checkout. Payment records and existing entitlements are preserved."], readonly ["exportPayData", "export_pay_data", "export", "payApp.export", false, "Export one page of one resource (offers, payments, subscriptions, entitlements or customers). nextCursor is null on the last page. The output contains sensitive customer and payment data."], readonly ["getPaySeller", "get_pay_seller", "seller", "paySeller.get", false, "Read seller connection, public profile, offers, the publishable SDK key and the public entitlement verification key. Those two keys are the ones meant to be embedded in extension code; secret keys are not part of the response. Agreement signing and KYC take place in the browser."], readonly ["connectPaySeller", "connect_pay_seller", "connect", "paySeller.connect", true, "Start Stripe Connect onboarding and return a browser action URL. KYC and legal acceptance are completed by the author at that URL; this tool does not perform them."], readonly ["refreshPaySeller", "refresh_pay_seller", "refresh", "paySeller.refreshStatus", true, "Refresh current payment-provider onboarding status. This does not complete KYC or accept agreements."], readonly ["setPaySellerProfile", "set_pay_seller_profile", "profile", "paySeller.setPublicProfile", true, "Save the public seller profile: display name, support URL or email, and terms URL. The values are stored as provided and are publicly visible."], readonly ["upsertPayOffer", "upsert_pay_offer", "offer-upsert", "paySeller.upsertOffer", true, "Create or update an offer keyed by a stable SKU. Price is in minor currency units. Subscriptions keep the given billing interval; one-time and lifetime offers store no interval. Price and features are stored as provided."], readonly ["archivePayOffer", "archive_pay_offer", "offer-archive", "paySeller.archiveOffer", true, "Stop offering a SKU for new checkout; historical purchases are preserved."], readonly ["setPayEnabled", "set_pay_enabled", "enable", "paySeller.setEnabled", true, "Enable or disable new payments for the application; requires a connected payment provider. Enabling re-reads the seller status from the provider (charges and payouts). It does not verify the public profile, agreement or offer sync: buyers can check out only when every readiness check reported by get_pay_readiness passes. Enabling is a live commerce change."], readonly ["rotatePayKey", "rotate_pay_key", "rotate-key", "paySeller.rotatePublishableKey", true, "Generate a new publishable SDK key. Not idempotent: each call issues another key. Prior keys remain accepted for installed extension builds; this does not revoke any secret."]];
212
+ /** The legacy seller API uses projectId as the payment namespace. Never substitute a linked project ID. */
213
+ export declare function payWireInput(method: PayMethod, input: Record<string, unknown>): Record<string, unknown>;
214
+ //# sourceMappingURL=pay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDb,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG;KAAG,CAAC,IAAI,SAAS,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;CAAE,CAAA;AACvG,eAAO,MAAM,cAAc,m1HAiIjB,CAAA;AAEV,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIvG"}
package/dist/pay.js ADDED
@@ -0,0 +1,202 @@
1
+ /** Published packages deliberately carry this small contract locally; BFF validates again. */
2
+ import { z } from 'zod';
3
+ const app = z.object({ appId: z.string().uuid() }).strict();
4
+ const sku = z.string().regex(/^[a-z0-9][a-z0-9_-]{1,39}$/);
5
+ const publicUrl = z
6
+ .string()
7
+ .trim()
8
+ .max(2048)
9
+ .url()
10
+ .refine((value) => {
11
+ const url = new URL(value);
12
+ return url.protocol === 'https:' && !url.username && !url.password;
13
+ }, 'Use an HTTPS URL without credentials');
14
+ export const paySchemas = {
15
+ listPayApps: z
16
+ .object({
17
+ includeArchived: z.boolean().optional(),
18
+ cursor: z.string().uuid().optional(),
19
+ limit: z.number().int().min(1).max(100).optional(),
20
+ })
21
+ .strict(),
22
+ createPayApp: z
23
+ .object({ name: z.string().trim().min(1).max(120), linkedProjectId: z.string().uuid().optional() })
24
+ .strict(),
25
+ getPayApp: app,
26
+ getPayReadiness: app,
27
+ linkPayApp: app.extend({ projectId: z.string().uuid() }),
28
+ unlinkPayApp: app,
29
+ archivePayApp: app,
30
+ exportPayData: app.extend({
31
+ resource: z.enum(['offers', 'payments', 'subscriptions', 'entitlements', 'customers']),
32
+ cursor: z.string().uuid().optional(),
33
+ limit: z.number().int().min(1).max(500).optional(),
34
+ }),
35
+ getPaySeller: app,
36
+ connectPaySeller: app.extend({
37
+ provider: z.literal('stripe').default('stripe'),
38
+ accountKind: z.enum(['standard', 'express']).default('standard'),
39
+ }),
40
+ refreshPaySeller: app,
41
+ setPaySellerProfile: app.extend({
42
+ profile: z
43
+ .object({
44
+ displayName: z.string().trim().min(1).max(160),
45
+ supportUrl: z.union([publicUrl, z.string().trim().email().max(254)]),
46
+ termsUrl: publicUrl.nullable(),
47
+ })
48
+ .strict(),
49
+ }),
50
+ upsertPayOffer: app.extend({
51
+ sku,
52
+ kind: z.enum(['one_time', 'subscription', 'lifetime']),
53
+ interval: z.enum(['month', 'year']).nullable().default(null),
54
+ amountMinor: z.number().int().min(199).max(100_000_00),
55
+ currency: z.enum(['usd', 'eur', 'gbp']),
56
+ title: z.string().trim().min(1).max(80),
57
+ description: z.string().trim().max(500).nullable().default(null),
58
+ features: z.array(z.string().trim().min(1).max(60)).max(20).default([]),
59
+ sortOrder: z.number().int().min(0).max(1000).default(0),
60
+ }),
61
+ archivePayOffer: app.extend({ sku }),
62
+ setPayEnabled: app.extend({ enabled: z.boolean() }),
63
+ rotatePayKey: app,
64
+ };
65
+ export const PAY_OPERATIONS = [
66
+ [
67
+ 'listPayApps',
68
+ 'list_pay_apps',
69
+ 'list',
70
+ 'payApp.list',
71
+ false,
72
+ 'List your independent Pay applications. No development project required. Paginated: nextCursor is set while more results exist.',
73
+ ],
74
+ [
75
+ 'createPayApp',
76
+ 'create_pay_app',
77
+ 'create',
78
+ 'payApp.create',
79
+ true,
80
+ 'Create an independent Pay application; linking a development project is optional. Not idempotent: each call creates a new application, including a call repeated after a timeout.',
81
+ ],
82
+ [
83
+ 'getPayApp',
84
+ 'get_pay_app',
85
+ 'get',
86
+ 'payApp.get',
87
+ false,
88
+ 'Read your Pay application and optional project link.',
89
+ ],
90
+ [
91
+ 'getPayReadiness',
92
+ 'get_pay_readiness',
93
+ 'readiness',
94
+ 'payApp.readiness',
95
+ false,
96
+ 'Check current checkout and launch prerequisites. A passing checkout check does not prove a live external purchase or SDK publication.',
97
+ ],
98
+ [
99
+ 'linkPayApp',
100
+ 'link_pay_app',
101
+ 'link',
102
+ 'payApp.link',
103
+ true,
104
+ 'Link your Pay application to your development project. Existing purchases remain attached to the Pay application.',
105
+ ],
106
+ [
107
+ 'unlinkPayApp',
108
+ 'unlink_pay_app',
109
+ 'unlink',
110
+ 'payApp.unlink',
111
+ true,
112
+ 'Remove the optional development-project link without deleting Pay data.',
113
+ ],
114
+ [
115
+ 'archivePayApp',
116
+ 'archive_pay_app',
117
+ 'archive',
118
+ 'payApp.archive',
119
+ true,
120
+ 'Archive your application and stop new checkout. Payment records and existing entitlements are preserved.',
121
+ ],
122
+ [
123
+ 'exportPayData',
124
+ 'export_pay_data',
125
+ 'export',
126
+ 'payApp.export',
127
+ false,
128
+ 'Export one page of one resource (offers, payments, subscriptions, entitlements or customers). nextCursor is null on the last page. The output contains sensitive customer and payment data.',
129
+ ],
130
+ [
131
+ 'getPaySeller',
132
+ 'get_pay_seller',
133
+ 'seller',
134
+ 'paySeller.get',
135
+ false,
136
+ 'Read seller connection, public profile, offers, the publishable SDK key and the public entitlement verification key. Those two keys are the ones meant to be embedded in extension code; secret keys are not part of the response. Agreement signing and KYC take place in the browser.',
137
+ ],
138
+ [
139
+ 'connectPaySeller',
140
+ 'connect_pay_seller',
141
+ 'connect',
142
+ 'paySeller.connect',
143
+ true,
144
+ 'Start Stripe Connect onboarding and return a browser action URL. KYC and legal acceptance are completed by the author at that URL; this tool does not perform them.',
145
+ ],
146
+ [
147
+ 'refreshPaySeller',
148
+ 'refresh_pay_seller',
149
+ 'refresh',
150
+ 'paySeller.refreshStatus',
151
+ true,
152
+ 'Refresh current payment-provider onboarding status. This does not complete KYC or accept agreements.',
153
+ ],
154
+ [
155
+ 'setPaySellerProfile',
156
+ 'set_pay_seller_profile',
157
+ 'profile',
158
+ 'paySeller.setPublicProfile',
159
+ true,
160
+ 'Save the public seller profile: display name, support URL or email, and terms URL. The values are stored as provided and are publicly visible.',
161
+ ],
162
+ [
163
+ 'upsertPayOffer',
164
+ 'upsert_pay_offer',
165
+ 'offer-upsert',
166
+ 'paySeller.upsertOffer',
167
+ true,
168
+ 'Create or update an offer keyed by a stable SKU. Price is in minor currency units. Subscriptions keep the given billing interval; one-time and lifetime offers store no interval. Price and features are stored as provided.',
169
+ ],
170
+ [
171
+ 'archivePayOffer',
172
+ 'archive_pay_offer',
173
+ 'offer-archive',
174
+ 'paySeller.archiveOffer',
175
+ true,
176
+ 'Stop offering a SKU for new checkout; historical purchases are preserved.',
177
+ ],
178
+ [
179
+ 'setPayEnabled',
180
+ 'set_pay_enabled',
181
+ 'enable',
182
+ 'paySeller.setEnabled',
183
+ true,
184
+ 'Enable or disable new payments for the application; requires a connected payment provider. Enabling re-reads the seller status from the provider (charges and payouts). It does not verify the public profile, agreement or offer sync: buyers can check out only when every readiness check reported by get_pay_readiness passes. Enabling is a live commerce change.',
185
+ ],
186
+ [
187
+ 'rotatePayKey',
188
+ 'rotate_pay_key',
189
+ 'rotate-key',
190
+ 'paySeller.rotatePublishableKey',
191
+ true,
192
+ 'Generate a new publishable SDK key. Not idempotent: each call issues another key. Prior keys remain accepted for installed extension builds; this does not revoke any secret.',
193
+ ],
194
+ ];
195
+ /** The legacy seller API uses projectId as the payment namespace. Never substitute a linked project ID. */
196
+ export function payWireInput(method, input) {
197
+ if (!PAY_OPERATIONS.find(([key]) => key === method)?.[3].startsWith('paySeller.'))
198
+ return input;
199
+ const { appId, ...rest } = input;
200
+ return { ...rest, projectId: appId };
201
+ }
202
+ //# sourceMappingURL=pay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;AAC3D,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAC1D,MAAM,SAAS,GAAG,CAAC;KACjB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,IAAI,CAAC;KACT,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;AACnE,CAAC,EAAE,sCAAsC,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,WAAW,EAAE,CAAC;SACZ,MAAM,CAAC;QACP,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;SACD,MAAM,EAAE;IACV,YAAY,EAAE,CAAC;SACb,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SAClG,MAAM,EAAE;IACV,SAAS,EAAE,GAAG;IACd,eAAe,EAAE,GAAG;IACpB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;QACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;IACF,YAAY,EAAE,GAAG;IACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAChE,CAAC;IACF,gBAAgB,EAAE,GAAG;IACrB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,CAAC;aACR,MAAM,CAAC;YACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAC9C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;SAC9B,CAAC;aACD,MAAM,EAAE;KACV,CAAC;IACF,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC;QAC1B,GAAG;QACH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QACtD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QACtD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACvD,CAAC;IACF,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACpC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;IACnD,YAAY,EAAE,GAAG;CACR,CAAA;AAGV,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B;QACC,aAAa;QACb,eAAe;QACf,MAAM;QACN,aAAa;QACb,KAAK;QACL,iIAAiI;KACjI;IACD;QACC,cAAc;QACd,gBAAgB;QAChB,QAAQ;QACR,eAAe;QACf,IAAI;QACJ,mLAAmL;KACnL;IACD;QACC,WAAW;QACX,aAAa;QACb,KAAK;QACL,YAAY;QACZ,KAAK;QACL,sDAAsD;KACtD;IACD;QACC,iBAAiB;QACjB,mBAAmB;QACnB,WAAW;QACX,kBAAkB;QAClB,KAAK;QACL,uIAAuI;KACvI;IACD;QACC,YAAY;QACZ,cAAc;QACd,MAAM;QACN,aAAa;QACb,IAAI;QACJ,mHAAmH;KACnH;IACD;QACC,cAAc;QACd,gBAAgB;QAChB,QAAQ;QACR,eAAe;QACf,IAAI;QACJ,yEAAyE;KACzE;IACD;QACC,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,gBAAgB;QAChB,IAAI;QACJ,0GAA0G;KAC1G;IACD;QACC,eAAe;QACf,iBAAiB;QACjB,QAAQ;QACR,eAAe;QACf,KAAK;QACL,6LAA6L;KAC7L;IACD;QACC,cAAc;QACd,gBAAgB;QAChB,QAAQ;QACR,eAAe;QACf,KAAK;QACL,yRAAyR;KACzR;IACD;QACC,kBAAkB;QAClB,oBAAoB;QACpB,SAAS;QACT,mBAAmB;QACnB,IAAI;QACJ,qKAAqK;KACrK;IACD;QACC,kBAAkB;QAClB,oBAAoB;QACpB,SAAS;QACT,yBAAyB;QACzB,IAAI;QACJ,sGAAsG;KACtG;IACD;QACC,qBAAqB;QACrB,wBAAwB;QACxB,SAAS;QACT,4BAA4B;QAC5B,IAAI;QACJ,gJAAgJ;KAChJ;IACD;QACC,gBAAgB;QAChB,kBAAkB;QAClB,cAAc;QACd,uBAAuB;QACvB,IAAI;QACJ,8NAA8N;KAC9N;IACD;QACC,iBAAiB;QACjB,mBAAmB;QACnB,eAAe;QACf,wBAAwB;QACxB,IAAI;QACJ,2EAA2E;KAC3E;IACD;QACC,eAAe;QACf,iBAAiB;QACjB,QAAQ;QACR,sBAAsB;QACtB,IAAI;QACJ,wWAAwW;KACxW;IACD;QACC,cAAc;QACd,gBAAgB;QAChB,YAAY;QACZ,gCAAgC;QAChC,IAAI;QACJ,+KAA+K;KAC/K;CACQ,CAAA;AAEV,2GAA2G;AAC3G,MAAM,UAAU,YAAY,CAAC,MAAiB,EAAE,KAA8B;IAC7E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/F,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAChC,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;AACrC,CAAC"}
@@ -35,7 +35,7 @@ export const STORE_SPECIFIC_FILTERS = [
35
35
  * can never drift because both read STORE_SPECIFIC_FILTERS.
36
36
  */
37
37
  export function describeStoreConstraints() {
38
- const lines = STORE_SPECIFIC_FILTERS.map((f) => `\`${f.field}\` only applies to ${f.supportedStores.join('/')} — omit it or include one of those stores in \`stores\``);
38
+ const lines = STORE_SPECIFIC_FILTERS.map((f) => `\`${f.field}\` only applies to ${f.supportedStores.join('/')}; combining it with a \`stores\` filter that excludes those stores is rejected`);
39
39
  return `Store-specific constraints (validated client-side, before any request): ${lines.join('; ')}.`;
40
40
  }
41
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"search-filters.js","sourceRoot":"","sources":["../src/search-filters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAaH,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACrE;QACC,KAAK,EAAE,oBAAoB;QAC3B,eAAe,EAAE,CAAC,SAAS,CAAC;QAC5B,IAAI,EACH,uFAAuF;YACvF,yFAAyF;YACzF,6EAA6E;KAC9E;CACD,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB;IACvC,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CACvC,CAAC,CAAC,EAAE,EAAE,CACL,KAAK,CAAC,CAAC,KAAK,sBAAsB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,yDAAyD,CACvH,CAAA;IACD,OAAO,2EAA2E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AACtG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA6B;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,MAAmB,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/C,KAAK,MAAM,CAAC,IAAI,sBAAsB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,SAAQ;QACnE,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,oBAAoB,CAAC,CAAC,IAAI,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC7E,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"search-filters.js","sourceRoot":"","sources":["../src/search-filters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAaH,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACrE;QACC,KAAK,EAAE,oBAAoB;QAC3B,eAAe,EAAE,CAAC,SAAS,CAAC;QAC5B,IAAI,EACH,uFAAuF;YACvF,yFAAyF;YACzF,6EAA6E;KAC9E;CACD,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB;IACvC,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CACvC,CAAC,CAAC,EAAE,EAAE,CACL,KAAK,CAAC,CAAC,KAAK,sBAAsB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,gFAAgF,CAC9I,CAAA;IACD,OAAO,2EAA2E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AACtG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA6B;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,MAAmB,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/C,KAAK,MAAM,CAAC,IAAI,sBAAsB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,SAAQ;QACnE,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,oBAAoB,CAAC,CAAC,IAAI,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC7E,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC"}
package/dist/shape.d.ts CHANGED
@@ -39,6 +39,14 @@ export declare function shapeReviews(result: unknown, limit: number): Obj;
39
39
  * Reduces each browser's warnings to their human-readable lines for terseness.
40
40
  */
41
41
  export declare function shapeInstallDialog(preview: unknown): Obj | undefined;
42
+ /** Capability phrase for a scanner key; unknown keys get a generic phrase, never the raw name. */
43
+ export declare function scannerPhrase(scanner: unknown): string | undefined;
44
+ /**
45
+ * Some rule ids carry the scanner key as a namespace (`jstap:document-cookie-access`);
46
+ * the same string is often the finding title. Drop a known scanner prefix so the
47
+ * tool name never leaks through the rule or title either.
48
+ */
49
+ export declare function stripScannerPrefix(value: unknown): unknown;
42
50
  /** Curate the security view: risk summary + grouped findings (top N per severity). */
43
51
  export declare function shapeSecurity(security: unknown, riskSummary: unknown, installDialogPreview?: unknown): Obj;
44
52
  /**
@@ -68,5 +76,31 @@ export declare function shapeStoreRiskBatch(rows: unknown, requested: Array<{
68
76
  storeId: string;
69
77
  store: string;
70
78
  }>): Obj;
79
+ /** Facet groups `market_overview` can return, selectable via its `facets` argument. */
80
+ export declare const MARKET_FACETS: readonly ["stats", "stores", "categories", "extended", "questionnaire", "downloads"];
81
+ export type MarketFacet = (typeof MARKET_FACETS)[number];
82
+ /** Default number of entries kept per open-ended facet list (categories, permissions, sites). */
83
+ export declare const DEFAULT_MARKET_TOP_N = 10;
84
+ export declare const MAX_MARKET_TOP_N = 100;
85
+ export interface MarketOverviewInput {
86
+ scope: 'search' | 'catalog-wide';
87
+ stats?: unknown;
88
+ /** Raw facets as the BFF returns them (search facets, or the catalog-wide assembly). */
89
+ facets?: unknown;
90
+ note?: string;
91
+ }
92
+ export interface MarketShapeOpts {
93
+ facets?: readonly string[];
94
+ topN?: number;
95
+ }
96
+ /**
97
+ * Trim a market_overview payload for the model's context: pick the requested
98
+ * facet groups (default: all), cut open-ended lists to the `topN` largest
99
+ * entries, and reduce category nodes to name/slug/count. Counts are passed
100
+ * through unchanged — this shapes the response, it does not recompute data.
101
+ * A `truncated` map says how many entries each trimmed list dropped, so the
102
+ * caller knows when a larger `top_n` would reveal more.
103
+ */
104
+ export declare function shapeMarketOverview(input: MarketOverviewInput, opts?: MarketShapeOpts): Obj;
71
105
  export {};
72
106
  //# sourceMappingURL=shape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../src/shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,UAAU,WAAW;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,WAAgB,EAAE,KAAK,SAAI,GAAG,OAAO,CAqBlF;AAED,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AA6DlC,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAS/D;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAkCvD;AAuDD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAUhE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,GAAG,SAAS,CAqBpE;AAkBD,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,GAAG,GAAG,CAkD1G;AAKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CA+BnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAClD,GAAG,CAiBL"}
1
+ {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../src/shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,UAAU,WAAW;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,WAAgB,EAAE,KAAK,SAAI,GAAG,OAAO,CAqBlF;AAED,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AA6DlC,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAS/D;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAkCvD;AAuDD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAUhE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,GAAG,SAAS,CAqBpE;AAsBD,kGAAkG;AAClG,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK1D;AAkBD,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO,GAAG,GAAG,CAkD1G;AAKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CA+BnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAClD,GAAG,CAiBL;AAID,uFAAuF;AACvF,eAAO,MAAM,aAAa,sFAOhB,CAAA;AACV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,iGAAiG;AACjG,eAAO,MAAM,oBAAoB,KAAK,CAAA;AACtC,eAAO,MAAM,gBAAgB,MAAM,CAAA;AAEnC,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,QAAQ,GAAG,cAAc,CAAA;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AA0CD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,GAAE,eAAoB,GAAG,GAAG,CAmD/F"}