@apex-inc/mcp-server 0.40.0 → 0.41.1

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 +1 -1
  2. package/dist/api-client.d.ts +21 -1
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +55 -2
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/auth.js +2 -1
  7. package/dist/auth.js.map +1 -1
  8. package/dist/base-url.d.ts +8 -0
  9. package/dist/base-url.d.ts.map +1 -0
  10. package/dist/base-url.js +10 -0
  11. package/dist/base-url.js.map +1 -0
  12. package/dist/index.js +3 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/prompts.d.ts +14 -0
  15. package/dist/prompts.d.ts.map +1 -1
  16. package/dist/prompts.js +31 -6
  17. package/dist/prompts.js.map +1 -1
  18. package/dist/repo-binding.d.ts +8 -0
  19. package/dist/repo-binding.d.ts.map +1 -0
  20. package/dist/repo-binding.js +13 -0
  21. package/dist/repo-binding.js.map +1 -0
  22. package/dist/resources.d.ts +13 -0
  23. package/dist/resources.d.ts.map +1 -1
  24. package/dist/resources.js +16 -0
  25. package/dist/resources.js.map +1 -1
  26. package/dist/setup-catchup-tools.d.ts +279 -1
  27. package/dist/setup-catchup-tools.d.ts.map +1 -1
  28. package/dist/setup-catchup-tools.js +350 -24
  29. package/dist/setup-catchup-tools.js.map +1 -1
  30. package/dist/setup-checklist.d.ts +68 -0
  31. package/dist/setup-checklist.d.ts.map +1 -0
  32. package/dist/setup-checklist.js +128 -0
  33. package/dist/setup-checklist.js.map +1 -0
  34. package/dist/setup-flow.d.ts +14 -0
  35. package/dist/setup-flow.d.ts.map +1 -0
  36. package/dist/setup-flow.js +52 -0
  37. package/dist/setup-flow.js.map +1 -0
  38. package/dist/tool-groups.d.ts.map +1 -1
  39. package/dist/tool-groups.js +10 -0
  40. package/dist/tool-groups.js.map +1 -1
  41. package/dist/tool-shared.d.ts.map +1 -1
  42. package/dist/tool-shared.js +11 -4
  43. package/dist/tool-shared.js.map +1 -1
  44. package/dist/tools/ad-platforms.d.ts +1 -1
  45. package/dist/tools/ad-platforms.js +23 -23
  46. package/dist/tools/ad-platforms.js.map +1 -1
  47. package/dist/tools/adoption.js +2 -2
  48. package/dist/tools/adoption.js.map +1 -1
  49. package/dist/tools/context.d.ts.map +1 -1
  50. package/dist/tools/context.js +15 -33
  51. package/dist/tools/context.js.map +1 -1
  52. package/dist/tools/experiments.d.ts +2 -2
  53. package/dist/tools/experiments.d.ts.map +1 -1
  54. package/dist/tools/experiments.js +21 -21
  55. package/dist/tools/experiments.js.map +1 -1
  56. package/dist/tools/letters.d.ts +6 -6
  57. package/dist/tools/letters.js +1 -1
  58. package/dist/tools/letters.js.map +1 -1
  59. package/dist/tools/measurement.d.ts +2 -2
  60. package/dist/tools/measurement.d.ts.map +1 -1
  61. package/dist/tools/measurement.js +4 -3
  62. package/dist/tools/measurement.js.map +1 -1
  63. package/dist/tools.d.ts +307 -11
  64. package/dist/tools.d.ts.map +1 -1
  65. package/package.json +3 -2
  66. package/skills/apex-adoption/SKILL.md +1 -1
  67. package/skills/apex-communications/SKILL.md +2 -2
  68. package/skills/apex-experimentation/SKILL.md +6 -6
  69. package/skills/apex-growth-intelligence/SKILL.md +6 -6
  70. package/skills/apex-growth-tracking/SKILL.md +4 -4
  71. package/skills/apex-integration-cookbook/SKILL.md +11 -15
  72. package/skills/apex-journeys/SKILL.md +3 -3
  73. package/skills/apex-partner-network/SKILL.md +1 -1
  74. package/skills/apex-setup/SKILL.md +69 -0
package/dist/tools.d.ts CHANGED
@@ -31,25 +31,29 @@ export declare const toolDefinitions: {
31
31
  vertical: import("zod").ZodOptional<import("zod").ZodEnum<["b2b-saas", "ecommerce", "marketplace", "agency", "other"]>>;
32
32
  conversionModel: import("zod").ZodOptional<import("zod").ZodEnum<["sales-assisted", "self-serve", "transaction", "two-sided", "hybrid"]>>;
33
33
  websiteUrl: import("zod").ZodOptional<import("zod").ZodString>;
34
+ siteInstall: import("zod").ZodOptional<import("zod").ZodEnum<["codebase", "snippet"]>>;
34
35
  appUrl: import("zod").ZodOptional<import("zod").ZodString>;
35
36
  }, "strip", import("zod").ZodTypeAny, {
36
37
  workspaceName?: string | undefined;
37
38
  vertical?: "b2b-saas" | "ecommerce" | "marketplace" | "agency" | "other" | undefined;
38
39
  conversionModel?: "sales-assisted" | "self-serve" | "transaction" | "two-sided" | "hybrid" | undefined;
39
40
  websiteUrl?: string | undefined;
41
+ siteInstall?: "codebase" | "snippet" | undefined;
40
42
  appUrl?: string | undefined;
41
43
  }, {
42
44
  workspaceName?: string | undefined;
43
45
  vertical?: "b2b-saas" | "ecommerce" | "marketplace" | "agency" | "other" | undefined;
44
46
  conversionModel?: "sales-assisted" | "self-serve" | "transaction" | "two-sided" | "hybrid" | undefined;
45
47
  websiteUrl?: string | undefined;
48
+ siteInstall?: "codebase" | "snippet" | undefined;
46
49
  appUrl?: string | undefined;
47
50
  }>;
48
- handler: ({ workspaceName, vertical, conversionModel, websiteUrl, appUrl, }: {
51
+ handler: ({ workspaceName, vertical, conversionModel, websiteUrl, siteInstall, appUrl, }: {
49
52
  workspaceName?: string;
50
53
  vertical?: "b2b-saas" | "ecommerce" | "marketplace" | "agency" | "other";
51
54
  conversionModel?: "sales-assisted" | "self-serve" | "transaction" | "two-sided" | "hybrid";
52
55
  websiteUrl?: string;
56
+ siteInstall?: "codebase" | "snippet";
53
57
  appUrl?: string;
54
58
  }) => Promise<{
55
59
  content: {
@@ -60,6 +64,138 @@ export declare const toolDefinitions: {
60
64
  } & {
61
65
  group: ToolGroup;
62
66
  };
67
+ create_workspace: {
68
+ description: string;
69
+ schema: import("zod").ZodObject<{
70
+ orgId: import("zod").ZodOptional<import("zod").ZodString>;
71
+ name: import("zod").ZodString;
72
+ websiteUrl: import("zod").ZodOptional<import("zod").ZodString>;
73
+ vertical: import("zod").ZodOptional<import("zod").ZodEnum<["b2b-saas", "ecommerce", "marketplace", "agency", "other"]>>;
74
+ conversionModel: import("zod").ZodOptional<import("zod").ZodEnum<["sales-assisted", "self-serve", "transaction", "two-sided", "hybrid"]>>;
75
+ }, "strip", import("zod").ZodTypeAny, {
76
+ name: string;
77
+ orgId?: string | undefined;
78
+ vertical?: "b2b-saas" | "ecommerce" | "marketplace" | "agency" | "other" | undefined;
79
+ conversionModel?: "sales-assisted" | "self-serve" | "transaction" | "two-sided" | "hybrid" | undefined;
80
+ websiteUrl?: string | undefined;
81
+ }, {
82
+ name: string;
83
+ orgId?: string | undefined;
84
+ vertical?: "b2b-saas" | "ecommerce" | "marketplace" | "agency" | "other" | undefined;
85
+ conversionModel?: "sales-assisted" | "self-serve" | "transaction" | "two-sided" | "hybrid" | undefined;
86
+ websiteUrl?: string | undefined;
87
+ }>;
88
+ handler: ({ orgId, name, websiteUrl, vertical, conversionModel, }: {
89
+ orgId?: string;
90
+ name: string;
91
+ websiteUrl?: string;
92
+ vertical?: "b2b-saas" | "ecommerce" | "marketplace" | "agency" | "other";
93
+ conversionModel?: "sales-assisted" | "self-serve" | "transaction" | "two-sided" | "hybrid";
94
+ }) => Promise<{
95
+ content: {
96
+ type: "text";
97
+ text: string;
98
+ }[];
99
+ }>;
100
+ } & {
101
+ group: ToolGroup;
102
+ };
103
+ create_organization: {
104
+ description: string;
105
+ schema: import("zod").ZodObject<{
106
+ name: import("zod").ZodString;
107
+ workspaceName: import("zod").ZodOptional<import("zod").ZodString>;
108
+ }, "strip", import("zod").ZodTypeAny, {
109
+ name: string;
110
+ workspaceName?: string | undefined;
111
+ }, {
112
+ name: string;
113
+ workspaceName?: string | undefined;
114
+ }>;
115
+ handler: ({ name, workspaceName }: {
116
+ name: string;
117
+ workspaceName?: string;
118
+ }) => Promise<{
119
+ content: {
120
+ type: "text";
121
+ text: string;
122
+ }[];
123
+ }>;
124
+ } & {
125
+ group: ToolGroup;
126
+ };
127
+ skip_setup_step: {
128
+ description: string;
129
+ schema: import("zod").ZodObject<{
130
+ stepId: import("zod").ZodString;
131
+ reason: import("zod").ZodString;
132
+ snooze: import("zod").ZodOptional<import("zod").ZodBoolean>;
133
+ }, "strip", import("zod").ZodTypeAny, {
134
+ stepId: string;
135
+ reason: string;
136
+ snooze?: boolean | undefined;
137
+ }, {
138
+ stepId: string;
139
+ reason: string;
140
+ snooze?: boolean | undefined;
141
+ }>;
142
+ handler: ({ stepId, reason, snooze, }: {
143
+ stepId: string;
144
+ reason: string;
145
+ snooze?: boolean;
146
+ }) => Promise<{
147
+ content: {
148
+ type: "text";
149
+ text: string;
150
+ }[];
151
+ }>;
152
+ } & {
153
+ group: ToolGroup;
154
+ };
155
+ decline_setup_area: {
156
+ description: string;
157
+ schema: import("zod").ZodObject<{
158
+ area: import("zod").ZodEnum<["mobile-measurement", "server-events", "communications", "attribution", "partner-network"]>;
159
+ reason: import("zod").ZodString;
160
+ }, "strip", import("zod").ZodTypeAny, {
161
+ reason: string;
162
+ area: "mobile-measurement" | "server-events" | "communications" | "attribution" | "partner-network";
163
+ }, {
164
+ reason: string;
165
+ area: "mobile-measurement" | "server-events" | "communications" | "attribution" | "partner-network";
166
+ }>;
167
+ handler: ({ area, reason, }: {
168
+ area: typeof import("./setup-catchup-tools.js").DECLINABLE_AREAS[number];
169
+ reason: string;
170
+ }) => Promise<{
171
+ content: {
172
+ type: "text";
173
+ text: string;
174
+ }[];
175
+ }>;
176
+ } & {
177
+ group: ToolGroup;
178
+ };
179
+ undo_setup_answer: {
180
+ description: string;
181
+ schema: import("zod").ZodObject<{
182
+ stepId: import("zod").ZodString;
183
+ }, "strip", import("zod").ZodTypeAny, {
184
+ stepId: string;
185
+ }, {
186
+ stepId: string;
187
+ }>;
188
+ handler: ({ stepId }: {
189
+ stepId: string;
190
+ }) => Promise<{
191
+ content: {
192
+ type: "text";
193
+ text: string;
194
+ }[];
195
+ }>;
196
+ } & {
197
+ group: ToolGroup;
198
+ };
63
199
  claim_links_subdomain: {
64
200
  description: string;
65
201
  schema: import("zod").ZodObject<{
@@ -642,6 +778,166 @@ export declare const toolDefinitions: {
642
778
  } & {
643
779
  group: ToolGroup;
644
780
  };
781
+ set_app_links: {
782
+ description: string;
783
+ schema: import("zod").ZodObject<{
784
+ ios: import("zod").ZodOptional<import("zod").ZodObject<{
785
+ bundle_id: import("zod").ZodString;
786
+ team_id: import("zod").ZodString;
787
+ }, "strip", import("zod").ZodTypeAny, {
788
+ bundle_id: string;
789
+ team_id: string;
790
+ }, {
791
+ bundle_id: string;
792
+ team_id: string;
793
+ }>>;
794
+ android: import("zod").ZodOptional<import("zod").ZodObject<{
795
+ package_name: import("zod").ZodString;
796
+ sha256_cert_fingerprint: import("zod").ZodString;
797
+ }, "strip", import("zod").ZodTypeAny, {
798
+ package_name: string;
799
+ sha256_cert_fingerprint: string;
800
+ }, {
801
+ package_name: string;
802
+ sha256_cert_fingerprint: string;
803
+ }>>;
804
+ }, "strip", import("zod").ZodTypeAny, {
805
+ ios?: {
806
+ bundle_id: string;
807
+ team_id: string;
808
+ } | undefined;
809
+ android?: {
810
+ package_name: string;
811
+ sha256_cert_fingerprint: string;
812
+ } | undefined;
813
+ }, {
814
+ ios?: {
815
+ bundle_id: string;
816
+ team_id: string;
817
+ } | undefined;
818
+ android?: {
819
+ package_name: string;
820
+ sha256_cert_fingerprint: string;
821
+ } | undefined;
822
+ }>;
823
+ handler: (args: {
824
+ ios?: {
825
+ bundle_id: string;
826
+ team_id: string;
827
+ };
828
+ android?: {
829
+ package_name: string;
830
+ sha256_cert_fingerprint: string;
831
+ };
832
+ }) => Promise<{
833
+ content: {
834
+ type: "text";
835
+ text: string;
836
+ }[];
837
+ }>;
838
+ } & {
839
+ group: ToolGroup;
840
+ };
841
+ set_smart_banner: {
842
+ description: string;
843
+ schema: import("zod").ZodObject<{
844
+ enabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
845
+ title: import("zod").ZodOptional<import("zod").ZodString>;
846
+ subtitle: import("zod").ZodOptional<import("zod").ZodString>;
847
+ ctaLabel: import("zod").ZodOptional<import("zod").ZodString>;
848
+ ctaColor: import("zod").ZodOptional<import("zod").ZodString>;
849
+ destinationSlug: import("zod").ZodOptional<import("zod").ZodString>;
850
+ dismissDays: import("zod").ZodOptional<import("zod").ZodNumber>;
851
+ position: import("zod").ZodOptional<import("zod").ZodEnum<["top", "bottom"]>>;
852
+ }, "strip", import("zod").ZodTypeAny, {
853
+ enabled?: boolean | undefined;
854
+ title?: string | undefined;
855
+ subtitle?: string | undefined;
856
+ ctaLabel?: string | undefined;
857
+ ctaColor?: string | undefined;
858
+ destinationSlug?: string | undefined;
859
+ dismissDays?: number | undefined;
860
+ position?: "top" | "bottom" | undefined;
861
+ }, {
862
+ enabled?: boolean | undefined;
863
+ title?: string | undefined;
864
+ subtitle?: string | undefined;
865
+ ctaLabel?: string | undefined;
866
+ ctaColor?: string | undefined;
867
+ destinationSlug?: string | undefined;
868
+ dismissDays?: number | undefined;
869
+ position?: "top" | "bottom" | undefined;
870
+ }>;
871
+ handler: (args: {
872
+ enabled?: boolean;
873
+ title?: string;
874
+ subtitle?: string;
875
+ ctaLabel?: string;
876
+ ctaColor?: string;
877
+ destinationSlug?: string;
878
+ dismissDays?: number;
879
+ position?: "top" | "bottom";
880
+ }) => Promise<{
881
+ content: {
882
+ type: "text";
883
+ text: string;
884
+ }[];
885
+ }>;
886
+ } & {
887
+ group: ToolGroup;
888
+ };
889
+ list_transactional_api_keys: {
890
+ description: string;
891
+ schema: import("zod").ZodObject<{}, "strip", import("zod").ZodTypeAny, {}, {}>;
892
+ handler: () => Promise<{
893
+ content: {
894
+ type: "text";
895
+ text: string;
896
+ }[];
897
+ }>;
898
+ } & {
899
+ group: ToolGroup;
900
+ };
901
+ create_transactional_api_key: {
902
+ description: string;
903
+ schema: import("zod").ZodObject<{
904
+ name: import("zod").ZodOptional<import("zod").ZodString>;
905
+ }, "strip", import("zod").ZodTypeAny, {
906
+ name?: string | undefined;
907
+ }, {
908
+ name?: string | undefined;
909
+ }>;
910
+ handler: ({ name }: {
911
+ name?: string;
912
+ }) => Promise<{
913
+ content: {
914
+ type: "text";
915
+ text: string;
916
+ }[];
917
+ }>;
918
+ } & {
919
+ group: ToolGroup;
920
+ };
921
+ connect_microsoft_clarity: {
922
+ description: string;
923
+ schema: import("zod").ZodObject<{
924
+ apiToken: import("zod").ZodString;
925
+ }, "strip", import("zod").ZodTypeAny, {
926
+ apiToken: string;
927
+ }, {
928
+ apiToken: string;
929
+ }>;
930
+ handler: ({ apiToken }: {
931
+ apiToken: string;
932
+ }) => Promise<{
933
+ content: {
934
+ type: "text";
935
+ text: string;
936
+ }[];
937
+ }>;
938
+ } & {
939
+ group: ToolGroup;
940
+ };
645
941
  set_protect_auto_pause: {
646
942
  description: string;
647
943
  schema: import("zod").ZodObject<{
@@ -2026,14 +2322,14 @@ export declare const toolDefinitions: {
2026
2322
  name: string;
2027
2323
  description: string;
2028
2324
  fields: Record<string, string>;
2029
- scope?: "org" | "workspace" | undefined;
2325
+ scope?: "workspace" | "org" | undefined;
2030
2326
  primary_metric?: boolean | undefined;
2031
2327
  recommended_transport?: "client" | "server" | "either" | undefined;
2032
2328
  }, {
2033
2329
  name: string;
2034
2330
  description: string;
2035
2331
  fields: Record<string, string>;
2036
- scope?: "org" | "workspace" | undefined;
2332
+ scope?: "workspace" | "org" | undefined;
2037
2333
  primary_metric?: boolean | undefined;
2038
2334
  recommended_transport?: "client" | "server" | "either" | undefined;
2039
2335
  }>;
@@ -4592,9 +4888,9 @@ export declare const toolDefinitions: {
4592
4888
  schema: import("zod").ZodObject<{
4593
4889
  scope: import("zod").ZodOptional<import("zod").ZodEnum<["workspace", "org"]>>;
4594
4890
  }, "strip", import("zod").ZodTypeAny, {
4595
- scope?: "org" | "workspace" | undefined;
4891
+ scope?: "workspace" | "org" | undefined;
4596
4892
  }, {
4597
- scope?: "org" | "workspace" | undefined;
4893
+ scope?: "workspace" | "org" | undefined;
4598
4894
  }>;
4599
4895
  handler: (args: {
4600
4896
  scope?: "workspace" | "org";
@@ -4614,10 +4910,10 @@ export declare const toolDefinitions: {
4614
4910
  scope: import("zod").ZodOptional<import("zod").ZodEnum<["workspace", "org"]>>;
4615
4911
  }, "strip", import("zod").ZodTypeAny, {
4616
4912
  segment_id: string;
4617
- scope?: "org" | "workspace" | undefined;
4913
+ scope?: "workspace" | "org" | undefined;
4618
4914
  }, {
4619
4915
  segment_id: string;
4620
- scope?: "org" | "workspace" | undefined;
4916
+ scope?: "workspace" | "org" | undefined;
4621
4917
  }>;
4622
4918
  handler: (args: {
4623
4919
  segment_id: string;
@@ -4715,7 +5011,7 @@ export declare const toolDefinitions: {
4715
5011
  }, "strip", import("zod").ZodTypeAny, {
4716
5012
  name: string;
4717
5013
  description?: string | undefined;
4718
- scope?: "org" | "workspace" | undefined;
5014
+ scope?: "workspace" | "org" | undefined;
4719
5015
  conditions?: {
4720
5016
  match: "all" | "any";
4721
5017
  groups: {
@@ -4734,7 +5030,7 @@ export declare const toolDefinitions: {
4734
5030
  }, {
4735
5031
  name: string;
4736
5032
  description?: string | undefined;
4737
- scope?: "org" | "workspace" | undefined;
5033
+ scope?: "workspace" | "org" | undefined;
4738
5034
  conditions?: {
4739
5035
  match: "all" | "any";
4740
5036
  groups: {
@@ -4932,7 +5228,7 @@ export declare const toolDefinitions: {
4932
5228
  guardrailThreshold?: number | undefined;
4933
5229
  predictionMagnitude?: string | undefined;
4934
5230
  dataSourceId?: string | undefined;
4935
- randomizationUnit?: "account" | "device" | "visitor" | "person" | "org" | undefined;
5231
+ randomizationUnit?: "account" | "org" | "device" | "visitor" | "person" | undefined;
4936
5232
  minSamplePerArm?: number | undefined;
4937
5233
  runtimeDays?: number | undefined;
4938
5234
  preview?: boolean | undefined;
@@ -4968,7 +5264,7 @@ export declare const toolDefinitions: {
4968
5264
  guardrailThreshold?: number | undefined;
4969
5265
  predictionMagnitude?: string | undefined;
4970
5266
  dataSourceId?: string | undefined;
4971
- randomizationUnit?: "account" | "device" | "visitor" | "person" | "org" | undefined;
5267
+ randomizationUnit?: "account" | "org" | "device" | "visitor" | "person" | undefined;
4972
5268
  minSamplePerArm?: number | undefined;
4973
5269
  runtimeDays?: number | undefined;
4974
5270
  preview?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA2B7D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;iBAW0gB,CAAC;;;;;;;;;eAdnf,SAAS;;;;;;;;;;;;;;;;;;;;;;;;yBAckrE,CAAC;oBAAwB,CAAC;2BAAmD,CAAC;sBAAsD,CAAC;kBAAsB,CAAC;;;;;;;;eAdv1E,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;kBAc8zJ,CAAC;;;;;;;;eAdx0J,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAcoyO,CAAC;iCAAqC,CAAC;0BAA8B,CAAC;4BAAuC,CAAC;qBAA0B,CAAC;;;;;;;;;;;;;;;;;;;eAdt7O,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAc82U,CAAC;;;;;;;;eAdx3U,SAAS;;;;;;;;;;;;;;;;;;;gBAcqyX,CAAC;iBAA2C,CAAC;;;;;;;;eAd31X,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAcwta,CAAC;4BAAmG,CAAC;4BAAkC,CAAC;2BAAiC,CAAC;6BAAiC,CAAC;;;;;;;;;;;;;;eAd76a,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAcw2e,CAAC;8BAA8D,CAAC;6BAAyB,CAAC;4BAA8B,CAAC;6BAA+B,CAAC;4BAA8B,CAAC;;;;;;;;;eAdzif,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;iBAc00jB,CAAC;;;;;;;;eAdp1jB,SAAS;;;;;;;;;;;;;;;kBAcm0lB,CAAC;iBAAe,CAAC;;;;;;;;eAd71lB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAcskpB,CAAC;iBAAqB,CAAC;oBAAwB,CAAC;uBAA2B,CAAC;0BAAgD,CAAC;uBAA2B,CAAC;;;;;;;;eAdxupB,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAci+uB,CAAC;gBAAoB,CAAC;wBAA4B,CAAC;mBAAuB,CAAC;;;;;;;;eAdrjvB,SAAS;;;;;;;;;;;;uBAckqyB,CAAC;;;;;;;;eAd5qyB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAcs52B,CAAC;;;;;;;+BAAwN,CAAC;;;;;;;;;;eAdzn3B,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;eAAT,SAAS;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;sBAc6qM,CAAC;;;;;;;;eAdvrM,SAAS;;;;;;;;;;;;gBAcypO,CAAC;;;;;;;;eAdnqO,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;iBAc0ya,CAAC;;;;;;;;eAdpza,SAAS;;;;;;;;;;;;gBAc8je,CAAC;;;;;;;;eAdxke,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;gBAXxC,CAAA;kBAAgB,CAAC;;;;;;;;eAWc,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;gBAc8tG,CAAC;;;;;;;;eAdxuG,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;qBAc+sH,CAAC;2BAAiC,CAAC;0BAAuC,CAAC;;;;;;;;eAdnyH,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;uBAc8tR,CAAC;;;;;;;;eAdxuR,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;qBAcugZ,CAAC;gBAAsB,CAAC;oBAAwB,CAAC;;;;;;;;;eAdjkZ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;sBAc0tjB,CAAC;gBAAqB,CAAC;;;;;;;;;eAd1vjB,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;iBAGxD,CAAC;;;;;;;;eAH8C,SAAS;;;;;;;;;;;;;;;0BAc01E,CAAC;gBAAe,CAAC;;;;;;;;eAdp3E,SAAS;;;;;;;;;;;;gBAc81I,CAAC;;;;;;;;eAdx2I,SAAS;;;;;;;;;;;;gBAcsxO,CAAC;;;;;;;;eAdhyO,SAAS;;;;;;;;;;;;;;;;;;kBAcmlZ,CAAC;iBAAe,CAAC;eAAa,CAAC;;;;;;;;eAd3nZ,SAAS;;;;;;;;;;;;;;;;;;kBAcwlf,CAAC;iBAAe,CAAC;eAAa,CAAC;;;;;;;;eAdhof,SAAS;;;;;;;;;;;;;;;;;;gBAc4hkB,CAAC;iBAAe,CAAC;eAAa,CAAC;;;;;;;;eAdpkkB,SAAS;;;;;;;;;;;;;;;wBAc8tpB,CAAC;iBAAsB,CAAC;;;;;;;;eAd/vpB,SAAS;;;;;;;;;;;;;;;;;;;;;;;0BAcm4zB,CAAC;gBAAoB,CAAC;;;;;;;;eAdl6zB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAcm86B,CAAC;wBAA0B,CAAC;yBAA2B,CAAC;8BAAgC,CAAC;;;;;;;;;eAdri7B,SAAS;;;;;;;;;;;;;;;;;;gBAcm7/B,CAAC;iBAAe,CAAC;eAAa,CAAC;;;;;;;;eAd39/B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAc+xlC,CAAC;iBAAqB,CAAC;eAAmB,CAAC;oBAAwB,CAAC;eAAmB,CAAC;qBAAyB,CAAC;;;;;;;;eAd15lC,SAAS;;;;;;;;;;;;;;;;sBAcy7yC,CAAC;;;;;;;;eAdn8yC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAc8k5C,CAAC;iBAAqB,CAAC;gBAAoB,CAAC;uBAA4C,CAAC;2BAA+D,CAAC;0BAA8B,CAAC;;;;;;;;eAd/w5C,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;gBAc03+C,CAAC;mBAAiB,CAAC;qBAAmB,CAAC;oBAAkB,CAAC;;;;;;;;eAd77+C,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;yBAc49kD,CAAC;;;;;;;;eAdt+kD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcgppD,CAAC;yBAA0C,CAAC;gCAAqC,CAAC;;;;;;;;eAd3upD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAcsttD,CAAC;wBAA4B,CAAC;oBAAwB,CAAC;;;;;;;;eAdtxtD,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;2BAcm01D,CAAC;;;;;;;;eAd701D,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;gBAcw97D,CAAC;;;;;;;;eAdl+7D,SAAS;;;;;;;;;;;;iBAck2+D,CAAC;;;;;;;;eAd52+D,SAAS;;;;;;;;;;;;iBAc+8gE,CAAC;;;;;;;;eAdz9gE,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAc8/tE,CAAC;qBAAe,CAAC;;mBAA2B,CAAC;;;;;;;;eAdpjuE,SAAS;;;;;;;;;;;;;;;;;;;sBAcs0xE,CAAC;qBAAoC,CAAC;;;;;;;;eAdr3xE,SAAS;;;;;;;;;;;;;;;gBAcuw0E,CAAC;wBAAsB,CAAC;;;;;;;;eAdxy0E,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAc0ugF,CAAC;oBAAwB,CAAC;qBAAyB,CAAC;qBAAyB,CAAC;;;;;;;;eAdj0gF,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;8BAcyslF,CAAC;;;;;;;;eAdntlF,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAck5K,CAAC;;;;;;;;eAd55K,SAAS;;;;;;;;;;;;;;;;kBAcmkM,CAAC;;;;;;;;eAd7kM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;kBAc0xT,CAAC;;;;;;;;eAdpyT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;kBAc8hY,CAAC;qBAAmB,CAAC;;;;;;;;eAd5jY,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAcymN,CAAC;uBAA8B,CAAC;qBAAe,CAAC;oBAAc,CAAC;;;;;;;;;eAdjrN,SAAS;;;;;;;;;;;;;;;;gCAc6kS,CAAC;;;;;;;;eAdvlS,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAcy/Y,CAAC;uBAA8D,CAAC;uBAA2B,CAAC;qBAAe,CAAC;oBAAc,CAAC;;;;;;;;;eAd7nZ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAcmjhB,CAAC;eAAmB,CAAC;oBAAwB,CAAC;kBAA+C,CAAC;iBAA6B,CAAC;;;;;;;;;;;;;;;eAdxrhB,SAAS;;;;;;;;;;;;;;;;;;;qBAci6kB,CAAC;mBAAuB,CAAC;;;;;;;;;;;;;;;eAdn8kB,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;eAcy7xB,CAAC;sBAAoB,CAAC;;;;;;;;eAdx9xB,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;oBAckpF,CAAC;mBAA8C,CAAC;kBAA8D,CAAC;2BAA+B,CAAC;;;;;;;;eAd1yF,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;yBAcwjO,CAAC;iBAAqB,CAAC;iBAAsC,CAAC;;;;;;;;eAd/nO,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;gBAc4kQ,CAAC;iBAAqB,CAAC;iBAAsC,CAAC;uBAA4C,CAAC;;;;;;;;eAdhsQ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;oBAc49T,CAAC;iBAAuB,CAAC;6BAA2C,CAAC;mCAAyC,CAAC;;;;;;;;eAdplU,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAc2jb,CAAC;iBAAe,CAAC;kBAAgC,CAAC;oBAA8B,CAAC;kBAAkB,CAAC;2BAAyB,CAAC;kBAAuC,CAAC;iCAA8C,CAAC;;;;;;;;;;;;;;;eAdzxb,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAci8mB,CAAC;iCAAoD,CAAC;yBAA8B,CAAC;4BAAgC,CAAC;sBAA4B,CAAC;oBAAwB,CAAC;sBAA0B,CAAC;wBAA4B,CAAC;;;;;;;;;;;;;;;eAd9qnB,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;iBAcqy3B,CAAC;;;;;;;;eAd/y3B,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;qBAc4r6B,CAAC;;;;;;;;eAdts6B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;qBAc45gC,CAAC;yBAAmE,CAAC;;;;;;;;eAd1+gC,SAAS;;;;;;;;;;;;;;;;;;;qBAckmsC,CAAC;yBAAmE,CAAC;;;;;;;;eAdhrsC,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;gBAci7+C,CAAC;2BAAyB,CAAC;;;;;;;;;;;;;;eAdr9+C,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;qBAc2kmD,CAAC;6BAAiC,CAAC;;;;;;;;;;;;;;eAdvnmD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAcqruD,CAAC;uBAA+C,CAAC;6BAAiC,CAAC;uBAA2B,CAAC;kBAAsB,CAAC;uBAA2B,CAAC;oBAAwB,CAAC;eAAqB,CAAC;;;;;;;;;;;;;;eAd/4uD,SAAS;;;;;;;;;;;;;;;;;;;;;;;kBAc+4yD,CAAC;uBAA2B,CAAC;;;;;;;;;;;;;;eAdr7yD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAcwr6D,CAAC;wBAA0B,CAAC;qBAAuB,CAAC;0BAAkF,CAAC;2BAA6B,CAAC;;;2BAAsE,CAAC;oBAAwB,CAAC;;;;;;;;;;;;;;eAdt86D,SAAS;;;;;;;;;;;;;;;;;;;uBAcyikE,CAAC;kCAAuC,CAAC;;;;;;;;;;;;;;eAd3lkE,SAAS;;;;;;;;;;;;;;;;;;;uBAcslrE,CAAC;8BAAmC,CAAC;;;;;;;;;;;;;;eAdporE,SAAS;;;;;;;;;;;;;;;;;;;8BAc46wE,CAAC;iCAAsC,CAAC;;;;;;;;;;;;;;eAd79wE,SAAS;;;;;;;;;;;;;;;;;;iBAc4s1E,CAAC;oBAAkB,CAAC;2BAA2B,CAAC;;;;;;;;;;;;;;eAdrw1E,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;iBAcuj+E,CAAC;mBAAuB,CAAC;;;;;;;;eAdzl+E,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;iBAcuroF,CAAC;;;;;;;;eAdjsoF,SAAS;;;;;;;;;;;;;;;;iBAc0tpF,CAAC;;;;;;;;eAdpupF,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAcsktF,CAAC;iBAAqB,CAAC;sBAAuC,CAAC;qBAA0B,CAAC;;;;;;;;eAdzqtF,SAAS;;;;;;;;;;;;;;;;qBAc2+R,CAAC;;;;;;;;eAdr/R,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;0BAcuuc,CAAC;;;;;;;;eAdjvc,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAcuysB,CAAC;0BAA8B,CAAC;0BAA8B,CAAC;2BAA+B,CAAC;wBAA4B,CAAC;wBAA4B,CAAC;oBAAwB,CAAC;wBAA4B,CAAC;wBAA4B,CAAC;2BAA+B,CAAC;4BAAgC,CAAC;+BAAmC,CAAC;8BAAkC,CAAC;6BAAiC,CAAC;sCAA6E,CAAC;0BAA8B,CAAC;yBAA6B,CAAC;8BAA2D,CAAC;+BAAmC,CAAC;mBAAuB,CAAC;wBAAuD,CAAC;wBAAmC,CAAC;6BAAiC,CAAC;2BAA4E,CAAC;uBAA2B,CAAC;mBAAuB,CAAC;;;;;;;;eAdxsuB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAcgjkD,CAAC;eAAmB,CAAC;oBAAwB,CAAC;kBAA+C,CAAC;iBAA6B,CAAC;qBAAyB,CAAC;;;;;;;;;;;;;;;eAd/skD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;iBAc8qzD,CAAC;;;;;;;;eAdxrzD,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;kBAcw8mE,CAAC;;;;;;;;eAdl9mE,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;kBAc2uwE,CAAC;;;;;;;;eAdrvwE,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;iBAc607E,CAAC;;;;;;;;eAdv17E,SAAS;;;;;;;;;;;;;;;wBAc+kgF,CAAC;eAAa,CAAC;;;;;;;;;;;;;;eAdvmgF,SAAS;;;;;;;;;;;;;;;;qBAc+roF,CAAC;;;;;;;;;;;;;;eAdzsoF,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;mBAcmz1F,CAAC;uBAAsB,CAAC;;;;;;;;;;;;;;eAdp11F,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAcysrG,CAAC;mBAAuB,CAAC;sBAAqD,CAAC;qBAAyB,CAAC;wBAA4B,CAAC;8BAAkC,CAAC;6BAAiC,CAAC;0BAAiE,CAAC;2BAA+B,CAAC;uBAA2B,CAAC;;;;;;;;;;;;;;;eAd3hsG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAcyl5G,CAAC;mBAAuB,CAAC;2BAA+B,CAAC;qBAAyB,CAAC;wBAA4B,CAAC;wBAA4B,CAAC;8BAAkC,CAAC;;;;;;;;;;;;;;;eAdlx5G,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAcw59G,CAAC;yBAA+B,CAAC;;;;gBAAsD,CAAC;6BAAmC,CAAC;uBAA6B,CAAC;yBAA+B,CAAC;;;;;;;;;;;;;;;eAd3l+G,SAAS;;;;;;;;;;;;;;;;;;;;gBAc64jH,CAAC;;;;;;;;;;;;;;;eAdv5jH,SAAS;;;;;;;;;;;;mBAcg4lH,CAAC;;;;;;;;eAd14lH,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;iBAcu/1H,CAAC;sBAA2B,CAAC;;;;;;;;eAd7h2H,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAc2h+H,CAAC;;;;;;;;eAdri+H,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;wBAcsklI,CAAC;;;;;;;;eAdhllI,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAc0wwI,CAAC;;eAA6C,CAAC;;;;;;;;eAdl0wI,SAAS;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAc251I,CAAC;;;;;;;;;;;;eAdr61I,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;;;;;;;;;;;;;;;;;;;eAAT,SAAS;;CAa3D,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apex-inc/mcp-server",
3
- "version": "0.40.0",
3
+ "version": "0.41.1",
4
4
  "description": "MCP server for Apex. Your coding agent talks to the same Apex the dashboard uses.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,7 +15,8 @@
15
15
  "test": "vitest run",
16
16
  "smoke": "npx tsx scripts/smoke-tools.ts",
17
17
  "prepublishOnly": "node scripts/assert-product-update.mjs && npm run build",
18
- "postpublish": "node scripts/notify-product-update.mjs"
18
+ "postpublish": "node scripts/notify-product-update.mjs",
19
+ "notify-product-update": "node scripts/notify-product-update.mjs --send"
19
20
  },
20
21
  "keywords": [
21
22
  "mcp",
@@ -95,7 +95,7 @@ Do not `add_journey_step` send on a compose-built path. Point the existing Send
95
95
 
96
96
  ## Stills
97
97
 
98
- Two pictures: **Not yet** (empty screen) and **Done** (finished). Shop or agent attaches. No Apex default stills. Apex cannot sign into their product.
98
+ Two pictures: **Not yet** (empty screen) and **Done** (finished). The owner or agent attaches. No Apex default stills. Apex cannot sign into their product.
99
99
 
100
100
  **Public page** (anyone can open it):
101
101
 
@@ -207,7 +207,7 @@ When you draft or edit a letter:
207
207
  - `list_communication_themes` before restyling a series.
208
208
  - `create_communication_theme` / `update_communication_theme` to save a look. Style saves do not rewrite other emails.
209
209
  - `apply_communication_theme` stamps a look onto chosen emails. Default is draft (merchant still publishes). Pass `apply=live` for the next send: it publishes a version with only the look, and other unpublished edits stay drafts. Add `publish_edits_ids` only when the merchant asked to publish those edits too. Emails in a running test are skipped. Emails Apex couldn't check for a running test come back as `unchecked` with nothing changed: retry them, and pass `confirm_not_in_test_ids` only when the merchant says they aren't in a test. `publish_communication` refuses the same way (`test_check_unavailable`).
210
- - Never group communications by `experiment-*` catalog id. A shop's "Order updates" series is the same object as Apex's own status emails.
210
+ - Never group communications by `experiment-*` catalog id. Another organization's "Order updates" series is the same object as Apex's own status emails.
211
211
 
212
212
  ## Exit Rules: The Quiet Half of Lifecycle Messaging
213
213
 
@@ -225,7 +225,7 @@ When generating communications for a journey, **mention exit rules in the same b
225
225
 
226
226
  ## Sender domain is a hop
227
227
 
228
- `start_sender_domain` issues DNS records. That is not green. The shop pastes them at the registrar; you cannot click the registrar for them. Poll `get_sender_domain` until status is verified.
228
+ `start_sender_domain` issues DNS records. That is not green. The owner pastes them at the registrar; you cannot click the registrar for them. Poll `get_sender_domain` until status is verified.
229
229
 
230
230
  ## Proactive nudge: missing exit rules
231
231
 
@@ -183,17 +183,17 @@ When a user asks "did Apex actually work?" or "is this growth real?", reach for
183
183
  | | Global holdout | Ad holdout (`surface: "paid_channel"`) | Buyer-list holdout |
184
184
  |---|---|---|---|
185
185
  | **Question** | Did Apex as a whole move this goal? | Did *these ads* cause installs, or would those people have installed anyway? | Did *this audience sync* (a hashed list sent to an ad platform) add anything? |
186
- | **Who is held back** | A persistent slice of everyone, from every journey and experiment | A share of the shop's *known* people (email or phone Apex can hash), on one network's ad sets | A share of the list being uploaded |
186
+ | **Who is held back** | A persistent slice of everyone, from every journey and experiment | A share of the workspace's *known* people (email or phone Apex can hash), on one network's ad sets | A share of the list being uploaded |
187
187
  | **What Apex does** | Suppresses journeys, forces control | Draws the list, puts a **do-not-show** Custom Audience on the ad sets (Meta; manual attach elsewhere), checks daily that it is on | Withholds part of the list from the sync |
188
188
  | **What is counted** | Every goal, forward-only | App installs in both lanes, after a washout, from the moment the exclusion is confirmed | The synced goal in both halves |
189
189
  | **Read it with** | `get_growth_reality` | `get_results` on the holdout; `verify_ad_exclusion` for "are the ads really off?"; `attach_ad_exclusion` to have Apex put the list on (Meta) | The audience's activation page |
190
190
 
191
191
  Ad holdout, the short version:
192
192
 
193
- 1. **Prerequisites are setup steps, not tool calls.** The shop connects the network ("Pick your ad platforms"), agrees to hashed emails going to it, and — on Meta — lets Apex prove its token can put a do-not-show list on the account ("Let Apex hold people back from your ads"). `create_experiment` reads those and names what is missing; it does not work around them.
193
+ 1. **Prerequisites are setup steps, not tool calls.** The owner connects the network ("Pick your ad platforms"), agrees to hashed emails going to it, and — on Meta — lets Apex prove its token can put a do-not-show list on the account ("Let Apex hold people back from your ads"). `create_experiment` reads those and names what is missing; it does not work around them.
194
194
  2. **Create with the block.** `create_experiment({ name, surface: "paid_channel", paid_channel: { network: "meta", ad_set_ids: [...], holdout_percent: 0.2 } })`. No `target_url`, no control/variant copy, no `primary_metric_event` — installs are the metric. Preview first, as always.
195
- 3. **Start, then confirm.** `activate_experiment` draws the list and sends it to the network. On Meta, Apex puts it on the ad sets itself once the shop has allowed that (see the next step); elsewhere the shop adds it in the network's tools. `verify_ad_exclusion({ experiment_id })` reads whether it is on every ad set. **Nothing counts until that says `attached`.** Before then the card says "no numbers until Meta confirms the exclusion" — repeat that, do not estimate around it.
196
- 4. **Apex edits the shop's ad sets only after the shop has seen the change.** `attach_ad_exclusion({ experiment_id })` (preview, the default) returns each ad set's excluded audiences before and after: exactly one id added, everything else (locations, age, placements) unchanged, and which ad sets Apex will not touch (another account, unreadable, already on). Show that table. On the shop's word call again with `preview: false`; the first time in a workspace add `acknowledge: true` and say what it means — a standing allowance for Apex to add the held-back list to holdout ad sets and remove it when a holdout ends, nothing else. Never pass `acknowledge` without the shop having seen the preview. Ending, pausing or archiving a holdout takes the list off on its own; `detach_ad_exclusion` only undoes an attach early, and only one Apex made.
195
+ 3. **Start, then confirm.** `activate_experiment` draws the list and sends it to the network. On Meta, Apex puts it on the ad sets itself once the owner has allowed that (see the next step); elsewhere the workspace adds it in the network's tools. `verify_ad_exclusion({ experiment_id })` reads whether it is on every ad set. **Nothing counts until that says `attached`.** Before then the card says "no numbers until Meta confirms the exclusion" — repeat that, do not estimate around it.
196
+ 4. **Apex edits the workspace's ad sets only after the owner has seen the change.** `attach_ad_exclusion({ experiment_id })` (preview, the default) returns each ad set's excluded audiences before and after: exactly one id added, everything else (locations, age, placements) unchanged, and which ad sets Apex will not touch (another account, unreadable, already on). Show that table. On the owner's word call again with `preview: false`; the first time in a workspace add `acknowledge: true` and say what it means — a standing allowance for Apex to add the held-back list to holdout ad sets and remove it when a holdout ends, nothing else. Never pass `acknowledge` without the owner having seen the preview. Ending, pausing or archiving a holdout takes the list off on its own; `detach_ad_exclusion` only undoes an attach early, and only one Apex made.
197
197
  5. **Report the two lanes, not a lift.** "People who saw the ads installed at 1.2%; people held back at 0.7%" is the honest sentence. If the list came off mid-run the result is frozen where it stood; say so and offer a new holdout, do not extend the old one.
198
198
  6. **Do not conflate.** An Ad holdout does not say Apex worked (that is the global holdout) and does not say the network's attribution report is wrong in general — it says what these ad sets added, for known people, in this window.
199
199
 
@@ -203,13 +203,13 @@ A website test can optimize an app outcome: `create_experiment({ ..., primary_me
203
203
 
204
204
  What changes when the goal lives in the app:
205
205
 
206
- - **Apex counts people, not browsers.** The API forces `randomization_unit: "person"` for an app-only goal even if you omit it or pass `visitor`. Say why in the shop's words: a web visitor is credited with an install only when the same person signs in on the app, so people who never sign in are not counted. Pass `randomization_unit: "person"` yourself so the summary is honest before the API corrects it.
206
+ - **Apex counts people, not browsers.** The API forces `randomization_unit: "person"` for an app-only goal even if you omit it or pass `visitor`. Say why in the owner's words: a web visitor is credited with an install only when the same person signs in on the app, so people who never sign in are not counted. Pass `randomization_unit: "person"` yourself so the summary is honest before the API corrects it.
207
207
  - **The window is the install window.** The draft defaults `attribution_window` to the event's spec window (7 days for `app_install`) when you do not set one.
208
208
  - **Read the bridge, not just the lift.** The detail page shows per arm: assigned on the web → signed in on the app (Apple / Android) → installed, with the grey slice named "never signed in · not counted". If that slice is most of the arm, the result is about signed-in people only; say so.
209
209
 
210
210
  ## After the verdict — write it down or say why not
211
211
 
212
- When `get_results` says an experiment is decisive, call `list_belief_suggestions({ experiment_id })`. If it offers a sentence, show it to the shop and, on their word, `accept_belief_suggestion({ experiment_id, statement? })` — one belief, evidence state **one study**. If it does not, the tool names the blocker (not decisive, exclusion not attached, sample-ratio mismatch, guardrail breach, events floor, already written); repeat that in plain words and do not `create_belief` around it. See `apex-growth-intelligence` for how one study becomes validated.
212
+ When `get_results` says an experiment is decisive, call `list_belief_suggestions({ experiment_id })`. If it offers a sentence, show it to the owner and, on their word, `accept_belief_suggestion({ experiment_id, statement? })` — one belief, evidence state **one study**. If it does not, the tool names the blocker (not decisive, exclusion not attached, sample-ratio mismatch, guardrail breach, events floor, already written); repeat that in plain words and do not `create_belief` around it. See `apex-growth-intelligence` for how one study becomes validated.
213
213
 
214
214
  ## Editing an experiment (fix a draft; fork after data)
215
215
 
@@ -32,8 +32,8 @@ Belief → Hypothesis → Prediction → Experiment → Outcome → Updated Beli
32
32
  | `evaluate_feature` | Pre-build decision: should we invest in this? Uses beliefs + experiment history |
33
33
  | `get_channel_economics` | "Where should my next dollar go?" — GM-adjusted LTV:CAC, payback, and CAC per acquisition channel, split acquisition vs leverage |
34
34
  | `get_growth_reality` | "Is our growth real?" — per-goal lift vs the do-nothing global holdout, with 95% CIs |
35
- | `create_experiment` (`surface: "paid_channel"`) + `attach_ad_exclusion` + `verify_ad_exclusion` | "Do these ads cause installs?" — an Ad holdout on one network's ad sets; the causal read for a paid channel. Apex puts the list on the Meta ad sets itself, after the shop has seen the before/after |
36
- | `list_belief_suggestions` + `accept_belief_suggestion` | "What did that test teach us?" — a settled experiment worth writing down as one belief. Statistical gate only; the shop edits the sentence, Apex keeps the numbers |
35
+ | `create_experiment` (`surface: "paid_channel"`) + `attach_ad_exclusion` + `verify_ad_exclusion` | "Do these ads cause installs?" — an Ad holdout on one network's ad sets; the causal read for a paid channel. Apex puts the list on the Meta ad sets itself, after the owner has seen the before/after |
36
+ | `list_belief_suggestions` + `accept_belief_suggestion` | "What did that test teach us?" — a settled experiment worth writing down as one belief. Statistical gate only; the owner edits the sentence, Apex keeps the numbers |
37
37
 
38
38
  ## MCP resources
39
39
 
@@ -48,8 +48,8 @@ Belief → Hypothesis → Prediction → Experiment → Outcome → Updated Beli
48
48
 
49
49
  A settled experiment is evidence, not yet a belief. Apex offers to write it down only when the result is clean: decisive; for an Ad holdout, the do-not-show list attached the whole window; no sample-ratio mismatch; no guardrail breached; both arms over the events floor. No model in the path — the sentence is a template filled from the numbers (audience, ad sets or page, metric, lift with its interval, window, people).
50
50
 
51
- - `list_belief_suggestions()` is the rail: every settled experiment not yet written down. `list_belief_suggestions({ experiment_id })` for one; when nothing is offered, `blocker` says why in one word and the tool says it in the shop's words. Repeat that reason; do not argue around it.
52
- - Show the shop the sentence. They may edit it. Then `accept_belief_suggestion({ experiment_id, statement? })` writes one Belief with the experiment as its evidence and `generatedFromExperimentId` set. Its evidence state is **one study** — one experiment, nothing against it, below the validated bar. A second test that agrees moves it to **validated**; one that disagrees makes it **contested**.
51
+ - `list_belief_suggestions()` is the rail: every settled experiment not yet written down. `list_belief_suggestions({ experiment_id })` for one; when nothing is offered, `blocker` says why in one word and the tool says it in the owner's words. Repeat that reason; do not argue around it.
52
+ - Show the owner the sentence. They may edit it. Then `accept_belief_suggestion({ experiment_id, statement? })` writes one Belief with the experiment as its evidence and `generatedFromExperimentId` set. Its evidence state is **one study** — one experiment, nothing against it, below the validated bar. A second test that agrees moves it to **validated**; one that disagrees makes it **contested**.
53
53
  - Writing it twice returns the existing belief. Do not `create_belief` the same verdict by hand — that loses the evidence link and the self-confirmation guard (a belief written from an experiment does not count that experiment again as fresh support).
54
54
  - Never phrase "one study" as settled truth. "One test says…" is the honest sentence until the second test lands.
55
55
 
@@ -136,7 +136,7 @@ How to reason with it:
136
136
  - **Action boundary:** owned channels get an in-Apex action; paid channels get
137
137
  advice the merchant applies in their ad platform. Apex does not change bids,
138
138
  budgets, or creative on Meta/Google. The one thing it writes to an ad platform
139
- is a **do-not-show list** for an Ad holdout — and only after the shop agreed
139
+ is a **do-not-show list** for an Ad holdout — and only after the owner agreed
140
140
  to hashed emails going there and (Meta) Apex proved its token can do it.
141
141
 
142
142
  For the causal ground truth behind a channel's number, pair it with
@@ -145,7 +145,7 @@ incrementality is causal.
145
145
 
146
146
  For a *paid* channel specifically, the causal answer is an **Ad holdout**
147
147
  (`create_experiment` with `surface: "paid_channel"`, see apex-experimentation
148
- → "Three holdouts, three questions"): Apex holds a share of the shop's known
148
+ → "Three holdouts, three questions"): Apex holds a share of the workspace's known
149
149
  people back from the ad sets and counts installs in both lanes. Quote the two
150
150
  lane rates, not the network's claimed conversions; nothing counts until
151
151
  `verify_ad_exclusion` says the list is on every ad set.
@@ -149,12 +149,12 @@ Server events may send `environment` / `release_channel`. Missing stays Unclassi
149
149
 
150
150
  ## SKAN conversion values (iOS)
151
151
 
152
- Apple's SKAdNetwork postbacks carry a fine value 0–63 and a coarse value low / medium / high. Apex holds the shop's meaning for those numbers on the iOS app as a **SKAN schema**, and the Capacitor plugin reads it on the device (`/api/mobile/skan/schema/resolve`, cached a day) and sets the conversion value for you as events fire. The shop never types a 0–63 value in the normal path.
152
+ Apple's SKAdNetwork postbacks carry a fine value 0–63 and a coarse value low / medium / high. Apex holds the workspace's meaning for those numbers on the iOS app as a **SKAN schema**, and the Capacitor plugin reads it on the device (`/api/mobile/skan/schema/resolve`, cached a day) and sets the conversion value for you as events fire. The workspace never types a 0–63 value in the normal path.
153
153
 
154
- - **Read** it with `get_skan_schema`. `schema: null` means the shop has not named its values; send them to Set up Apex → Mobile → "Say what Apple's numbers mean" (one question: which event means an install was worth it).
155
- - **Write** it with `set_skan_schema` only when the shop asked for specific values. Nested keys are snake_case: `windows[].values[].{event_name, fine_value, coarse_value, lock_window}`. Fine 0 is install and 1 is `app_open` — reserved. One value per event per window; Apex returns `problems` with a path per fault on a bad schema.
154
+ - **Read** it with `get_skan_schema`. `schema: null` means the workspace has not named its values; send them to Set up Apex → Mobile → "Say what Apple's numbers mean" (one question: which event means an install was worth it).
155
+ - **Write** it with `set_skan_schema` only when the owner asked for specific values. Nested keys are snake_case: `windows[].values[].{event_name, fine_value, coarse_value, lock_window}`. Fine 0 is install and 1 is `app_open` — reserved. One value per event per window; Apex returns `problems` with a path per fault on a bad schema.
156
156
  - The setup step turns green when the schema maps the worth-it event. Do not mark it complete yourself.
157
- - The SKAN page headline (`/dashboard/mobile/skan`) reads the schema back in shop words: "<n> iPhone installs Apple told us about · <n> were worth it". Postbacks on values you have not named show as one amber sentence, not a to-do list.
157
+ - The SKAN page headline (`/dashboard/mobile/skan`) reads the schema back in the owner's words: "<n> iPhone installs Apple told us about · <n> were worth it". Postbacks on values you have not named show as one amber sentence, not a to-do list.
158
158
 
159
159
  ## Data Sources & unified analytics
160
160