@ultracart/bq-skill 0.1.2

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 (303) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +952 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +42 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/alarm.d.ts +3 -0
  8. package/dist/commands/alarm.d.ts.map +1 -0
  9. package/dist/commands/alarm.js +146 -0
  10. package/dist/commands/alarm.js.map +1 -0
  11. package/dist/commands/config.d.ts +3 -0
  12. package/dist/commands/config.d.ts.map +1 -0
  13. package/dist/commands/config.js +749 -0
  14. package/dist/commands/config.js.map +1 -0
  15. package/dist/commands/deck.d.ts +3 -0
  16. package/dist/commands/deck.d.ts.map +1 -0
  17. package/dist/commands/deck.js +567 -0
  18. package/dist/commands/deck.js.map +1 -0
  19. package/dist/commands/dry-run.d.ts +3 -0
  20. package/dist/commands/dry-run.d.ts.map +1 -0
  21. package/dist/commands/dry-run.js +105 -0
  22. package/dist/commands/dry-run.js.map +1 -0
  23. package/dist/commands/history.d.ts +3 -0
  24. package/dist/commands/history.d.ts.map +1 -0
  25. package/dist/commands/history.js +127 -0
  26. package/dist/commands/history.js.map +1 -0
  27. package/dist/commands/init.d.ts +3 -0
  28. package/dist/commands/init.d.ts.map +1 -0
  29. package/dist/commands/init.js +302 -0
  30. package/dist/commands/init.js.map +1 -0
  31. package/dist/commands/install-skill.d.ts +3 -0
  32. package/dist/commands/install-skill.d.ts.map +1 -0
  33. package/dist/commands/install-skill.js +132 -0
  34. package/dist/commands/install-skill.js.map +1 -0
  35. package/dist/commands/list.d.ts +3 -0
  36. package/dist/commands/list.d.ts.map +1 -0
  37. package/dist/commands/list.js +89 -0
  38. package/dist/commands/list.js.map +1 -0
  39. package/dist/commands/query.d.ts +3 -0
  40. package/dist/commands/query.d.ts.map +1 -0
  41. package/dist/commands/query.js +152 -0
  42. package/dist/commands/query.js.map +1 -0
  43. package/dist/commands/render.d.ts +3 -0
  44. package/dist/commands/render.d.ts.map +1 -0
  45. package/dist/commands/render.js +107 -0
  46. package/dist/commands/render.js.map +1 -0
  47. package/dist/commands/run-all.d.ts +3 -0
  48. package/dist/commands/run-all.d.ts.map +1 -0
  49. package/dist/commands/run-all.js +285 -0
  50. package/dist/commands/run-all.js.map +1 -0
  51. package/dist/commands/run.d.ts +3 -0
  52. package/dist/commands/run.d.ts.map +1 -0
  53. package/dist/commands/run.js +321 -0
  54. package/dist/commands/run.js.map +1 -0
  55. package/dist/commands/schema.d.ts +3 -0
  56. package/dist/commands/schema.d.ts.map +1 -0
  57. package/dist/commands/schema.js +271 -0
  58. package/dist/commands/schema.js.map +1 -0
  59. package/dist/commands/validate.d.ts +3 -0
  60. package/dist/commands/validate.d.ts.map +1 -0
  61. package/dist/commands/validate.js +109 -0
  62. package/dist/commands/validate.js.map +1 -0
  63. package/dist/lib/alarm-notify.d.ts +16 -0
  64. package/dist/lib/alarm-notify.d.ts.map +1 -0
  65. package/dist/lib/alarm-notify.js +312 -0
  66. package/dist/lib/alarm-notify.js.map +1 -0
  67. package/dist/lib/alarm-state.d.ts +26 -0
  68. package/dist/lib/alarm-state.d.ts.map +1 -0
  69. package/dist/lib/alarm-state.js +118 -0
  70. package/dist/lib/alarm-state.js.map +1 -0
  71. package/dist/lib/alarm.d.ts +28 -0
  72. package/dist/lib/alarm.d.ts.map +1 -0
  73. package/dist/lib/alarm.js +215 -0
  74. package/dist/lib/alarm.js.map +1 -0
  75. package/dist/lib/analysis.d.ts +16 -0
  76. package/dist/lib/analysis.d.ts.map +1 -0
  77. package/dist/lib/analysis.js +134 -0
  78. package/dist/lib/analysis.js.map +1 -0
  79. package/dist/lib/bigquery.d.ts +55 -0
  80. package/dist/lib/bigquery.d.ts.map +1 -0
  81. package/dist/lib/bigquery.js +321 -0
  82. package/dist/lib/bigquery.js.map +1 -0
  83. package/dist/lib/config-writer.d.ts +3 -0
  84. package/dist/lib/config-writer.d.ts.map +1 -0
  85. package/dist/lib/config-writer.js +60 -0
  86. package/dist/lib/config-writer.js.map +1 -0
  87. package/dist/lib/config.d.ts +63 -0
  88. package/dist/lib/config.d.ts.map +1 -0
  89. package/dist/lib/config.js +151 -0
  90. package/dist/lib/config.js.map +1 -0
  91. package/dist/lib/dashboard.d.ts +3 -0
  92. package/dist/lib/dashboard.d.ts.map +1 -0
  93. package/dist/lib/dashboard.js +468 -0
  94. package/dist/lib/dashboard.js.map +1 -0
  95. package/dist/lib/deck.d.ts +58 -0
  96. package/dist/lib/deck.d.ts.map +1 -0
  97. package/dist/lib/deck.js +232 -0
  98. package/dist/lib/deck.js.map +1 -0
  99. package/dist/lib/deliver-email.d.ts +14 -0
  100. package/dist/lib/deliver-email.d.ts.map +1 -0
  101. package/dist/lib/deliver-email.js +360 -0
  102. package/dist/lib/deliver-email.js.map +1 -0
  103. package/dist/lib/deliver-slack.d.ts +6 -0
  104. package/dist/lib/deliver-slack.d.ts.map +1 -0
  105. package/dist/lib/deliver-slack.js +73 -0
  106. package/dist/lib/deliver-slack.js.map +1 -0
  107. package/dist/lib/deliver.d.ts +10 -0
  108. package/dist/lib/deliver.d.ts.map +1 -0
  109. package/dist/lib/deliver.js +95 -0
  110. package/dist/lib/deliver.js.map +1 -0
  111. package/dist/lib/llm/anthropic.d.ts +7 -0
  112. package/dist/lib/llm/anthropic.d.ts.map +1 -0
  113. package/dist/lib/llm/anthropic.js +69 -0
  114. package/dist/lib/llm/anthropic.js.map +1 -0
  115. package/dist/lib/llm/bedrock.d.ts +7 -0
  116. package/dist/lib/llm/bedrock.d.ts.map +1 -0
  117. package/dist/lib/llm/bedrock.js +67 -0
  118. package/dist/lib/llm/bedrock.js.map +1 -0
  119. package/dist/lib/llm/gemini.d.ts +7 -0
  120. package/dist/lib/llm/gemini.d.ts.map +1 -0
  121. package/dist/lib/llm/gemini.js +67 -0
  122. package/dist/lib/llm/gemini.js.map +1 -0
  123. package/dist/lib/llm/index.d.ts +5 -0
  124. package/dist/lib/llm/index.d.ts.map +1 -0
  125. package/dist/lib/llm/index.js +61 -0
  126. package/dist/lib/llm/index.js.map +1 -0
  127. package/dist/lib/llm/models.d.ts +5 -0
  128. package/dist/lib/llm/models.d.ts.map +1 -0
  129. package/dist/lib/llm/models.js +33 -0
  130. package/dist/lib/llm/models.js.map +1 -0
  131. package/dist/lib/llm/openai.d.ts +8 -0
  132. package/dist/lib/llm/openai.d.ts.map +1 -0
  133. package/dist/lib/llm/openai.js +48 -0
  134. package/dist/lib/llm/openai.js.map +1 -0
  135. package/dist/lib/llm/provider.d.ts +28 -0
  136. package/dist/lib/llm/provider.d.ts.map +1 -0
  137. package/dist/lib/llm/provider.js +3 -0
  138. package/dist/lib/llm/provider.js.map +1 -0
  139. package/dist/lib/manifest.d.ts +95 -0
  140. package/dist/lib/manifest.d.ts.map +1 -0
  141. package/dist/lib/manifest.js +105 -0
  142. package/dist/lib/manifest.js.map +1 -0
  143. package/dist/lib/params.d.ts +27 -0
  144. package/dist/lib/params.d.ts.map +1 -0
  145. package/dist/lib/params.js +192 -0
  146. package/dist/lib/params.js.map +1 -0
  147. package/dist/lib/pdf.d.ts +8 -0
  148. package/dist/lib/pdf.d.ts.map +1 -0
  149. package/dist/lib/pdf.js +86 -0
  150. package/dist/lib/pdf.js.map +1 -0
  151. package/dist/lib/renderer.d.ts +17 -0
  152. package/dist/lib/renderer.d.ts.map +1 -0
  153. package/dist/lib/renderer.js +166 -0
  154. package/dist/lib/renderer.js.map +1 -0
  155. package/dist/lib/schema-filter.d.ts +3 -0
  156. package/dist/lib/schema-filter.d.ts.map +1 -0
  157. package/dist/lib/schema-filter.js +49 -0
  158. package/dist/lib/schema-filter.js.map +1 -0
  159. package/dist/lib/template.d.ts +4 -0
  160. package/dist/lib/template.d.ts.map +1 -0
  161. package/dist/lib/template.js +37 -0
  162. package/dist/lib/template.js.map +1 -0
  163. package/dist/lib/validator.d.ts +8 -0
  164. package/dist/lib/validator.d.ts.map +1 -0
  165. package/dist/lib/validator.js +88 -0
  166. package/dist/lib/validator.js.map +1 -0
  167. package/package.json +59 -0
  168. package/schemas/deck.schema.json +122 -0
  169. package/schemas/report-manifest.schema.json +309 -0
  170. package/schemas/tables/README.md +45 -0
  171. package/schemas/tables/ultracart_dw/uc_affiliate_clicks.json +186 -0
  172. package/schemas/tables/ultracart_dw/uc_affiliate_commission_groups.json +317 -0
  173. package/schemas/tables/ultracart_dw/uc_affiliate_ledgers.json +404 -0
  174. package/schemas/tables/ultracart_dw/uc_affiliate_network_pixel_postback_logs.json +166 -0
  175. package/schemas/tables/ultracart_dw/uc_affiliate_network_pixels.json +106 -0
  176. package/schemas/tables/ultracart_dw/uc_affiliate_payments.json +204 -0
  177. package/schemas/tables/ultracart_dw/uc_affiliate_postback_logs.json +90 -0
  178. package/schemas/tables/ultracart_dw/uc_affiliates.json +425 -0
  179. package/schemas/tables/ultracart_dw/uc_auto_orders.json +13848 -0
  180. package/schemas/tables/ultracart_dw/uc_cart_abandons.json +3971 -0
  181. package/schemas/tables/ultracart_dw/uc_conversation_pbx_calls.json +374 -0
  182. package/schemas/tables/ultracart_dw/uc_conversations.json +374 -0
  183. package/schemas/tables/ultracart_dw/uc_coupons.json +1893 -0
  184. package/schemas/tables/ultracart_dw/uc_customers.json +11886 -0
  185. package/schemas/tables/ultracart_dw/uc_fraud_rules.json +239 -0
  186. package/schemas/tables/ultracart_dw/uc_gift_certificates.json +135 -0
  187. package/schemas/tables/ultracart_dw/uc_item_inventory_history.json +79 -0
  188. package/schemas/tables/ultracart_dw/uc_items.json +4437 -0
  189. package/schemas/tables/ultracart_dw/uc_orders.json +6629 -0
  190. package/schemas/tables/ultracart_dw/uc_rotating_transaction_gateway_history.json +271 -0
  191. package/schemas/tables/ultracart_dw/uc_rotating_transaction_gateways.json +416 -0
  192. package/schemas/tables/ultracart_dw/uc_shipping_methods.json +1372 -0
  193. package/schemas/tables/ultracart_dw/uc_storefront_customers.json +261 -0
  194. package/schemas/tables/ultracart_dw/uc_storefront_experiments.json +386 -0
  195. package/schemas/tables/ultracart_dw/uc_storefront_pages.json +513 -0
  196. package/schemas/tables/ultracart_dw/uc_storefront_upsell_offer_events.json +338 -0
  197. package/schemas/tables/ultracart_dw/uc_storefront_upsell_offers.json +431 -0
  198. package/schemas/tables/ultracart_dw/uc_storefront_upsell_paths.json +163 -0
  199. package/schemas/tables/ultracart_dw/uc_storefronts.json +62 -0
  200. package/schemas/tables/ultracart_dw/uc_surveys.json +238 -0
  201. package/schemas/tables/ultracart_dw/uc_workflow_tasks.json +377 -0
  202. package/schemas/tables/ultracart_dw/uc_zoho_desk_tickets.json +1184 -0
  203. package/schemas/tables/ultracart_dw_high/uc_affiliate_clicks.json +186 -0
  204. package/schemas/tables/ultracart_dw_high/uc_affiliate_commission_groups.json +317 -0
  205. package/schemas/tables/ultracart_dw_high/uc_affiliate_ledgers.json +404 -0
  206. package/schemas/tables/ultracart_dw_high/uc_affiliate_network_pixel_postback_logs.json +166 -0
  207. package/schemas/tables/ultracart_dw_high/uc_affiliate_network_pixels.json +106 -0
  208. package/schemas/tables/ultracart_dw_high/uc_affiliate_payments.json +204 -0
  209. package/schemas/tables/ultracart_dw_high/uc_affiliate_postback_logs.json +90 -0
  210. package/schemas/tables/ultracart_dw_high/uc_affiliates.json +425 -0
  211. package/schemas/tables/ultracart_dw_high/uc_auto_orders.json +14332 -0
  212. package/schemas/tables/ultracart_dw_high/uc_cart_abandons.json +4245 -0
  213. package/schemas/tables/ultracart_dw_high/uc_conversation_pbx_calls.json +415 -0
  214. package/schemas/tables/ultracart_dw_high/uc_conversations.json +415 -0
  215. package/schemas/tables/ultracart_dw_high/uc_coupons.json +1893 -0
  216. package/schemas/tables/ultracart_dw_high/uc_customers.json +12250 -0
  217. package/schemas/tables/ultracart_dw_high/uc_fraud_rules.json +239 -0
  218. package/schemas/tables/ultracart_dw_high/uc_gift_certificates.json +135 -0
  219. package/schemas/tables/ultracart_dw_high/uc_item_inventory_history.json +79 -0
  220. package/schemas/tables/ultracart_dw_high/uc_items.json +4437 -0
  221. package/schemas/tables/ultracart_dw_high/uc_orders.json +6871 -0
  222. package/schemas/tables/ultracart_dw_high/uc_rotating_transaction_gateway_history.json +271 -0
  223. package/schemas/tables/ultracart_dw_high/uc_rotating_transaction_gateways.json +416 -0
  224. package/schemas/tables/ultracart_dw_high/uc_shipping_methods.json +1372 -0
  225. package/schemas/tables/ultracart_dw_high/uc_storefront_customers.json +261 -0
  226. package/schemas/tables/ultracart_dw_high/uc_storefront_experiments.json +386 -0
  227. package/schemas/tables/ultracart_dw_high/uc_storefront_pages.json +513 -0
  228. package/schemas/tables/ultracart_dw_high/uc_storefront_upsell_offer_events.json +338 -0
  229. package/schemas/tables/ultracart_dw_high/uc_storefront_upsell_offers.json +431 -0
  230. package/schemas/tables/ultracart_dw_high/uc_storefront_upsell_paths.json +163 -0
  231. package/schemas/tables/ultracart_dw_high/uc_storefronts.json +62 -0
  232. package/schemas/tables/ultracart_dw_high/uc_surveys.json +269 -0
  233. package/schemas/tables/ultracart_dw_high/uc_workflow_tasks.json +377 -0
  234. package/schemas/tables/ultracart_dw_high/uc_zoho_desk_tickets.json +1330 -0
  235. package/schemas/tables/ultracart_dw_low/uc_affiliate_clicks.json +186 -0
  236. package/schemas/tables/ultracart_dw_low/uc_affiliate_commission_groups.json +317 -0
  237. package/schemas/tables/ultracart_dw_low/uc_affiliate_ledgers.json +404 -0
  238. package/schemas/tables/ultracart_dw_low/uc_affiliate_network_pixel_postback_logs.json +166 -0
  239. package/schemas/tables/ultracart_dw_low/uc_affiliate_network_pixels.json +106 -0
  240. package/schemas/tables/ultracart_dw_low/uc_affiliate_payments.json +204 -0
  241. package/schemas/tables/ultracart_dw_low/uc_affiliate_postback_logs.json +90 -0
  242. package/schemas/tables/ultracart_dw_low/uc_affiliates.json +425 -0
  243. package/schemas/tables/ultracart_dw_low/uc_auto_orders.json +13868 -0
  244. package/schemas/tables/ultracart_dw_low/uc_cart_abandons.json +3971 -0
  245. package/schemas/tables/ultracart_dw_low/uc_conversation_pbx_calls.json +374 -0
  246. package/schemas/tables/ultracart_dw_low/uc_conversations.json +374 -0
  247. package/schemas/tables/ultracart_dw_low/uc_coupons.json +1893 -0
  248. package/schemas/tables/ultracart_dw_low/uc_customers.json +11900 -0
  249. package/schemas/tables/ultracart_dw_low/uc_fraud_rules.json +239 -0
  250. package/schemas/tables/ultracart_dw_low/uc_gift_certificates.json +135 -0
  251. package/schemas/tables/ultracart_dw_low/uc_item_inventory_history.json +79 -0
  252. package/schemas/tables/ultracart_dw_low/uc_items.json +4437 -0
  253. package/schemas/tables/ultracart_dw_low/uc_orders.json +6639 -0
  254. package/schemas/tables/ultracart_dw_low/uc_rotating_transaction_gateway_history.json +271 -0
  255. package/schemas/tables/ultracart_dw_low/uc_rotating_transaction_gateways.json +416 -0
  256. package/schemas/tables/ultracart_dw_low/uc_shipping_methods.json +1372 -0
  257. package/schemas/tables/ultracart_dw_low/uc_storefront_customers.json +261 -0
  258. package/schemas/tables/ultracart_dw_low/uc_storefront_experiments.json +386 -0
  259. package/schemas/tables/ultracart_dw_low/uc_storefront_pages.json +513 -0
  260. package/schemas/tables/ultracart_dw_low/uc_storefront_upsell_offer_events.json +338 -0
  261. package/schemas/tables/ultracart_dw_low/uc_storefront_upsell_offers.json +431 -0
  262. package/schemas/tables/ultracart_dw_low/uc_storefront_upsell_paths.json +163 -0
  263. package/schemas/tables/ultracart_dw_low/uc_storefronts.json +62 -0
  264. package/schemas/tables/ultracart_dw_low/uc_surveys.json +238 -0
  265. package/schemas/tables/ultracart_dw_low/uc_workflow_tasks.json +377 -0
  266. package/schemas/tables/ultracart_dw_low/uc_zoho_desk_tickets.json +1184 -0
  267. package/schemas/tables/ultracart_dw_medium/uc_affiliate_clicks.json +186 -0
  268. package/schemas/tables/ultracart_dw_medium/uc_affiliate_commission_groups.json +317 -0
  269. package/schemas/tables/ultracart_dw_medium/uc_affiliate_ledgers.json +404 -0
  270. package/schemas/tables/ultracart_dw_medium/uc_affiliate_network_pixel_postback_logs.json +166 -0
  271. package/schemas/tables/ultracart_dw_medium/uc_affiliate_network_pixels.json +106 -0
  272. package/schemas/tables/ultracart_dw_medium/uc_affiliate_payments.json +204 -0
  273. package/schemas/tables/ultracart_dw_medium/uc_affiliate_postback_logs.json +90 -0
  274. package/schemas/tables/ultracart_dw_medium/uc_affiliates.json +425 -0
  275. package/schemas/tables/ultracart_dw_medium/uc_auto_orders.json +14320 -0
  276. package/schemas/tables/ultracart_dw_medium/uc_cart_abandons.json +4245 -0
  277. package/schemas/tables/ultracart_dw_medium/uc_conversation_pbx_calls.json +415 -0
  278. package/schemas/tables/ultracart_dw_medium/uc_conversations.json +415 -0
  279. package/schemas/tables/ultracart_dw_medium/uc_coupons.json +1893 -0
  280. package/schemas/tables/ultracart_dw_medium/uc_customers.json +12250 -0
  281. package/schemas/tables/ultracart_dw_medium/uc_fraud_rules.json +239 -0
  282. package/schemas/tables/ultracart_dw_medium/uc_gift_certificates.json +135 -0
  283. package/schemas/tables/ultracart_dw_medium/uc_item_inventory_history.json +79 -0
  284. package/schemas/tables/ultracart_dw_medium/uc_items.json +4437 -0
  285. package/schemas/tables/ultracart_dw_medium/uc_orders.json +6865 -0
  286. package/schemas/tables/ultracart_dw_medium/uc_rotating_transaction_gateway_history.json +271 -0
  287. package/schemas/tables/ultracart_dw_medium/uc_rotating_transaction_gateways.json +416 -0
  288. package/schemas/tables/ultracart_dw_medium/uc_shipping_methods.json +1372 -0
  289. package/schemas/tables/ultracart_dw_medium/uc_storefront_customers.json +261 -0
  290. package/schemas/tables/ultracart_dw_medium/uc_storefront_experiments.json +386 -0
  291. package/schemas/tables/ultracart_dw_medium/uc_storefront_pages.json +513 -0
  292. package/schemas/tables/ultracart_dw_medium/uc_storefront_upsell_offer_events.json +338 -0
  293. package/schemas/tables/ultracart_dw_medium/uc_storefront_upsell_offers.json +431 -0
  294. package/schemas/tables/ultracart_dw_medium/uc_storefront_upsell_paths.json +163 -0
  295. package/schemas/tables/ultracart_dw_medium/uc_storefronts.json +62 -0
  296. package/schemas/tables/ultracart_dw_medium/uc_surveys.json +269 -0
  297. package/schemas/tables/ultracart_dw_medium/uc_workflow_tasks.json +377 -0
  298. package/schemas/tables/ultracart_dw_medium/uc_zoho_desk_tickets.json +1330 -0
  299. package/schemas/tables/ultracart_dw_streaming/uc_analytics_session_streaming.json +2444 -0
  300. package/schemas/tables/ultracart_dw_streaming/uc_screen_recording_streaming.json +509 -0
  301. package/schemas/ultracart-bq-config.schema.json +140 -0
  302. package/skill/skill.md +1228 -0
  303. package/templates/render.html +73 -0
@@ -0,0 +1,509 @@
1
+ [
2
+ {
3
+ "mode": "NULLABLE",
4
+ "name": "partition_date",
5
+ "type": "DATE"
6
+ },
7
+ {
8
+ "mode": "REPEATED",
9
+ "name": "page_views",
10
+ "type": "RECORD",
11
+ "fields": [
12
+ {
13
+ "mode": "NULLABLE",
14
+ "name": "url",
15
+ "type": "STRING"
16
+ },
17
+ {
18
+ "mode": "NULLABLE",
19
+ "name": "domain",
20
+ "type": "STRING"
21
+ },
22
+ {
23
+ "mode": "NULLABLE",
24
+ "name": "first_event_timestamp",
25
+ "description": "First event timestamp",
26
+ "type": "DATETIME"
27
+ },
28
+ {
29
+ "mode": "NULLABLE",
30
+ "name": "last_event_timestamp",
31
+ "description": "Last event timestamp",
32
+ "type": "DATETIME"
33
+ },
34
+ {
35
+ "mode": "NULLABLE",
36
+ "name": "screen_recording_page_view_uuid",
37
+ "type": "STRING"
38
+ },
39
+ {
40
+ "mode": "NULLABLE",
41
+ "name": "time_on_page",
42
+ "type": "INTEGER"
43
+ },
44
+ {
45
+ "mode": "REPEATED",
46
+ "name": "events",
47
+ "type": "RECORD",
48
+ "fields": [
49
+ {
50
+ "mode": "NULLABLE",
51
+ "name": "name",
52
+ "type": "STRING"
53
+ },
54
+ {
55
+ "mode": "NULLABLE",
56
+ "name": "ts",
57
+ "type": "INTEGER"
58
+ },
59
+ {
60
+ "mode": "NULLABLE",
61
+ "name": "timestamp",
62
+ "description": "Timestamp of the event",
63
+ "type": "DATETIME"
64
+ },
65
+ {
66
+ "mode": "REPEATED",
67
+ "name": "params",
68
+ "type": "RECORD",
69
+ "fields": [
70
+ {
71
+ "mode": "NULLABLE",
72
+ "name": "name",
73
+ "type": "STRING"
74
+ },
75
+ {
76
+ "name": "value",
77
+ "type": "RECORD",
78
+ "fields": []
79
+ },
80
+ {
81
+ "mode": "NULLABLE",
82
+ "name": "value_hash",
83
+ "description": "Value Hash SHA-256 Base64",
84
+ "type": "STRING"
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ "mode": "NULLABLE",
90
+ "name": "prior_page_view",
91
+ "type": "BOOLEAN"
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "mode": "REPEATED",
97
+ "name": "params",
98
+ "type": "RECORD",
99
+ "fields": [
100
+ {
101
+ "mode": "NULLABLE",
102
+ "name": "name",
103
+ "type": "STRING"
104
+ },
105
+ {
106
+ "mode": "NULLABLE",
107
+ "name": "value",
108
+ "type": "STRING"
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "mode": "NULLABLE",
114
+ "name": "referrer",
115
+ "type": "STRING"
116
+ },
117
+ {
118
+ "mode": "NULLABLE",
119
+ "name": "referrer_raw",
120
+ "type": "STRING"
121
+ },
122
+ {
123
+ "mode": "REPEATED",
124
+ "name": "referrer_params",
125
+ "type": "RECORD",
126
+ "fields": [
127
+ {
128
+ "mode": "NULLABLE",
129
+ "name": "name",
130
+ "type": "STRING"
131
+ },
132
+ {
133
+ "mode": "NULLABLE",
134
+ "name": "value",
135
+ "type": "STRING"
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "mode": "NULLABLE",
141
+ "name": "http_post",
142
+ "type": "BOOLEAN"
143
+ },
144
+ {
145
+ "mode": "NULLABLE",
146
+ "name": "timing_dom_content_loaded",
147
+ "description": "Amount of time for DOMContentLoaded event to fire (milliseconds)",
148
+ "type": "INTEGER"
149
+ },
150
+ {
151
+ "mode": "NULLABLE",
152
+ "name": "timing_loaded",
153
+ "description": "Amount of time for loaded event to fire (milliseconds)",
154
+ "type": "INTEGER"
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "mode": "NULLABLE",
160
+ "name": "page_view_count",
161
+ "type": "INTEGER"
162
+ },
163
+ {
164
+ "mode": "NULLABLE",
165
+ "name": "merchant_id",
166
+ "type": "STRING"
167
+ },
168
+ {
169
+ "mode": "REPEATED",
170
+ "name": "storefronts",
171
+ "type": "RECORD",
172
+ "fields": [
173
+ {
174
+ "mode": "NULLABLE",
175
+ "name": "storefront_oid",
176
+ "type": "INTEGER"
177
+ },
178
+ {
179
+ "mode": "NULLABLE",
180
+ "name": "storefront_host_name",
181
+ "type": "STRING"
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "mode": "NULLABLE",
187
+ "name": "ucacid",
188
+ "type": "STRING"
189
+ },
190
+ {
191
+ "mode": "NULLABLE",
192
+ "name": "screen_recording_uuid",
193
+ "type": "STRING"
194
+ },
195
+ {
196
+ "mode": "NULLABLE",
197
+ "name": "start_timestamp",
198
+ "description": "Starting timestamp",
199
+ "type": "DATETIME"
200
+ },
201
+ {
202
+ "mode": "NULLABLE",
203
+ "name": "end_timestamp",
204
+ "description": "Ending timestamp",
205
+ "type": "DATETIME"
206
+ },
207
+ {
208
+ "name": "user_agent",
209
+ "type": "RECORD",
210
+ "fields": [
211
+ {
212
+ "mode": "NULLABLE",
213
+ "name": "original",
214
+ "type": "STRING"
215
+ },
216
+ {
217
+ "name": "os",
218
+ "type": "RECORD",
219
+ "fields": [
220
+ {
221
+ "mode": "NULLABLE",
222
+ "name": "name",
223
+ "type": "STRING"
224
+ },
225
+ {
226
+ "mode": "NULLABLE",
227
+ "name": "version",
228
+ "type": "STRING"
229
+ },
230
+ {
231
+ "mode": "NULLABLE",
232
+ "name": "full",
233
+ "type": "STRING"
234
+ }
235
+ ]
236
+ },
237
+ {
238
+ "mode": "NULLABLE",
239
+ "name": "name",
240
+ "type": "STRING"
241
+ },
242
+ {
243
+ "name": "device",
244
+ "type": "RECORD",
245
+ "fields": [{
246
+ "mode": "NULLABLE",
247
+ "name": "name",
248
+ "type": "STRING"
249
+ }]
250
+ },
251
+ {
252
+ "mode": "NULLABLE",
253
+ "name": "version",
254
+ "type": "STRING"
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ "mode": "NULLABLE",
260
+ "name": "user_agent_raw",
261
+ "type": "STRING"
262
+ },
263
+ {
264
+ "mode": "NULLABLE",
265
+ "name": "user_ip",
266
+ "type": "STRING"
267
+ },
268
+ {
269
+ "mode": "NULLABLE",
270
+ "name": "window_width",
271
+ "type": "INTEGER"
272
+ },
273
+ {
274
+ "mode": "NULLABLE",
275
+ "name": "window_height",
276
+ "type": "INTEGER"
277
+ },
278
+ {
279
+ "mode": "NULLABLE",
280
+ "name": "geolocation_country",
281
+ "type": "STRING"
282
+ },
283
+ {
284
+ "mode": "NULLABLE",
285
+ "name": "geolocation_state",
286
+ "type": "STRING"
287
+ },
288
+ {
289
+ "name": "geolocation",
290
+ "type": "RECORD",
291
+ "fields": [
292
+ {
293
+ "mode": "NULLABLE",
294
+ "name": "lat",
295
+ "type": "NUMERIC"
296
+ },
297
+ {
298
+ "mode": "NULLABLE",
299
+ "name": "lon",
300
+ "type": "NUMERIC"
301
+ }
302
+ ]
303
+ },
304
+ {
305
+ "mode": "NULLABLE",
306
+ "name": "order_id",
307
+ "type": "STRING"
308
+ },
309
+ {
310
+ "mode": "NULLABLE",
311
+ "name": "email",
312
+ "type": "STRING"
313
+ },
314
+ {
315
+ "mode": "NULLABLE",
316
+ "name": "email_domain",
317
+ "type": "STRING"
318
+ },
319
+ {
320
+ "mode": "NULLABLE",
321
+ "name": "referrer_domain",
322
+ "type": "STRING"
323
+ },
324
+ {
325
+ "mode": "NULLABLE",
326
+ "name": "time_on_site",
327
+ "type": "INTEGER"
328
+ },
329
+ {
330
+ "mode": "REPEATED",
331
+ "name": "user_properties",
332
+ "type": "RECORD",
333
+ "fields": [
334
+ {
335
+ "mode": "NULLABLE",
336
+ "name": "name",
337
+ "type": "STRING"
338
+ },
339
+ {
340
+ "name": "value",
341
+ "type": "RECORD",
342
+ "fields": [
343
+ {
344
+ "mode": "NULLABLE",
345
+ "name": "text",
346
+ "type": "STRING"
347
+ },
348
+ {
349
+ "mode": "NULLABLE",
350
+ "name": "bd",
351
+ "type": "NUMERIC"
352
+ },
353
+ {
354
+ "mode": "NULLABLE",
355
+ "name": "num",
356
+ "type": "INTEGER"
357
+ },
358
+ {
359
+ "mode": "NULLABLE",
360
+ "name": "bool",
361
+ "type": "BOOLEAN"
362
+ },
363
+ {
364
+ "mode": "NULLABLE",
365
+ "name": "json",
366
+ "type": "STRING"
367
+ }
368
+ ]
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "mode": "NULLABLE",
374
+ "name": "merchant_notes",
375
+ "type": "STRING"
376
+ },
377
+ {
378
+ "mode": "NULLABLE",
379
+ "name": "visitor_number",
380
+ "type": "INTEGER"
381
+ },
382
+ {
383
+ "mode": "NULLABLE",
384
+ "name": "visitor_first_seen",
385
+ "description": "Timestamp this visitor was first seen",
386
+ "type": "DATETIME"
387
+ },
388
+ {
389
+ "mode": "NULLABLE",
390
+ "name": "communications_email_subject",
391
+ "description": "Email subject",
392
+ "type": "STRING"
393
+ },
394
+ {
395
+ "mode": "NULLABLE",
396
+ "name": "communications_email_uuid",
397
+ "description": "Email UUID",
398
+ "type": "STRING"
399
+ },
400
+ {
401
+ "mode": "NULLABLE",
402
+ "name": "communications_flow_uuid",
403
+ "description": "Flow UUID",
404
+ "type": "STRING"
405
+ },
406
+ {
407
+ "mode": "NULLABLE",
408
+ "name": "communications_flow_name",
409
+ "description": "Flow Name",
410
+ "type": "STRING"
411
+ },
412
+ {
413
+ "mode": "NULLABLE",
414
+ "name": "communications_campaign_uuid",
415
+ "description": "Campaign UUID",
416
+ "type": "STRING"
417
+ },
418
+ {
419
+ "mode": "NULLABLE",
420
+ "name": "communications_campaign_name",
421
+ "description": "Campaign Name",
422
+ "type": "STRING"
423
+ },
424
+ {
425
+ "mode": "NULLABLE",
426
+ "name": "utm_source",
427
+ "description": "UTM Source",
428
+ "type": "STRING"
429
+ },
430
+ {
431
+ "mode": "NULLABLE",
432
+ "name": "utm_campaign",
433
+ "description": "UTM Campaign",
434
+ "type": "STRING"
435
+ },
436
+ {
437
+ "mode": "NULLABLE",
438
+ "name": "language_iso_code",
439
+ "description": "Language ISO code",
440
+ "type": "STRING"
441
+ },
442
+ {
443
+ "name": "ad_platform",
444
+ "description": "Ad Platform Identifiers",
445
+ "type": "RECORD",
446
+ "fields": [
447
+ {
448
+ "mode": "NULLABLE",
449
+ "name": "gacid",
450
+ "description": "Google Analytics CID (Cookie)",
451
+ "type": "STRING"
452
+ },
453
+ {
454
+ "mode": "NULLABLE",
455
+ "name": "glcid",
456
+ "description": "Google Adwords Click Id (Parameter)",
457
+ "type": "STRING"
458
+ },
459
+ {
460
+ "mode": "NULLABLE",
461
+ "name": "msclkid",
462
+ "description": "Bing Click Id (Parameter",
463
+ "type": "STRING"
464
+ },
465
+ {
466
+ "mode": "NULLABLE",
467
+ "name": "fbclid",
468
+ "description": "Facebook Click Id Parameter (Parameter)",
469
+ "type": "STRING"
470
+ },
471
+ {
472
+ "mode": "NULLABLE",
473
+ "name": "fbc",
474
+ "description": "Facebook Click Id (Cookie)",
475
+ "type": "STRING"
476
+ },
477
+ {
478
+ "mode": "NULLABLE",
479
+ "name": "fbp",
480
+ "description": "Facebook Browser Id (Cookie)",
481
+ "type": "STRING"
482
+ },
483
+ {
484
+ "mode": "NULLABLE",
485
+ "name": "ttclid",
486
+ "description": "TikTok Click Id (Parameter",
487
+ "type": "STRING"
488
+ }
489
+ ]
490
+ },
491
+ {
492
+ "mode": "NULLABLE",
493
+ "name": "preferred_language",
494
+ "description": "ISO 3 Letter language code that the customer would prefer",
495
+ "type": "STRING"
496
+ },
497
+ {
498
+ "mode": "NULLABLE",
499
+ "name": "missing_external_tracking",
500
+ "description": "True if external page view was not tracked",
501
+ "type": "BOOLEAN"
502
+ },
503
+ {
504
+ "mode": "NULLABLE",
505
+ "name": "email_hash",
506
+ "description": "Email Hash SHA-256 Base64",
507
+ "type": "STRING"
508
+ }
509
+ ]
@@ -0,0 +1,140 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ultracart.com/schemas/ultracart-bq-config.schema.json",
4
+ "title": "UltraCart BigQuery Skill Configuration",
5
+ "description": "Configuration for the UltraCart BigQuery Claude Code skill. Located at .ultracart-bq.json in the project root or home directory.",
6
+ "type": "object",
7
+ "required": ["default_merchant", "merchants"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": {
11
+ "type": "string",
12
+ "description": "Reference to this schema for editor validation"
13
+ },
14
+ "default_merchant": {
15
+ "type": "string",
16
+ "description": "The merchant ID to use when no --merchant flag is provided",
17
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_-]*$"
18
+ },
19
+ "merchants": {
20
+ "type": "object",
21
+ "description": "Per-merchant configuration. Keys are merchant IDs.",
22
+ "additionalProperties": {
23
+ "$ref": "#/$defs/merchant_config"
24
+ }
25
+ },
26
+ "default_output_dir": {
27
+ "type": "string",
28
+ "description": "Directory where report output folders are created",
29
+ "default": "./reports"
30
+ },
31
+ "output_format": {
32
+ "type": "string",
33
+ "enum": ["png", "pdf", "both"],
34
+ "description": "Default output format for chart rendering",
35
+ "default": "png"
36
+ },
37
+ "chart_theme": {
38
+ "type": "string",
39
+ "description": "ECharts theme name to apply to all visualizations",
40
+ "default": "default"
41
+ },
42
+ "chart_defaults": {
43
+ "type": "object",
44
+ "description": "Default chart dimensions and rendering settings",
45
+ "properties": {
46
+ "width": {
47
+ "type": "integer",
48
+ "minimum": 400,
49
+ "maximum": 3840,
50
+ "default": 1200
51
+ },
52
+ "height": {
53
+ "type": "integer",
54
+ "minimum": 300,
55
+ "maximum": 2160,
56
+ "default": 600
57
+ }
58
+ },
59
+ "additionalProperties": false
60
+ },
61
+ "llm": {
62
+ "type": "object",
63
+ "description": "LLM provider configuration for analysis and schema filtering",
64
+ "additionalProperties": false,
65
+ "properties": {
66
+ "provider": {
67
+ "type": "string",
68
+ "enum": ["anthropic", "openai", "grok", "bedrock", "gemini"],
69
+ "description": "LLM provider to use for analysis and schema filtering"
70
+ },
71
+ "api_key_env": {
72
+ "type": "string",
73
+ "description": "Environment variable name containing the API key"
74
+ },
75
+ "analysis_model": {
76
+ "type": "string",
77
+ "description": "Model to use for report analysis generation"
78
+ },
79
+ "schema_filter_model": {
80
+ "type": "string",
81
+ "description": "Model to use for LLM-powered schema filtering"
82
+ },
83
+ "region": {
84
+ "type": "string",
85
+ "description": "AWS region for Bedrock provider"
86
+ }
87
+ }
88
+ }
89
+ },
90
+ "$defs": {
91
+ "merchant_config": {
92
+ "type": "object",
93
+ "required": ["taxonomy_level", "dataset"],
94
+ "additionalProperties": false,
95
+ "properties": {
96
+ "taxonomy_level": {
97
+ "type": "string",
98
+ "enum": ["standard", "low", "medium", "high"],
99
+ "description": "The data access taxonomy level assigned to this user by the UltraCart administrator. Determines which views are available for querying."
100
+ },
101
+ "dataset": {
102
+ "type": "string",
103
+ "description": "The BigQuery dataset name containing the streaming tables and views",
104
+ "default": "ultracart_dw"
105
+ },
106
+ "external_projects": {
107
+ "type": "object",
108
+ "description": "External GCP projects the merchant has access to",
109
+ "additionalProperties": {
110
+ "$ref": "#/$defs/external_project"
111
+ }
112
+ }
113
+ }
114
+ },
115
+ "external_project": {
116
+ "type": "object",
117
+ "required": ["project_id", "datasets"],
118
+ "properties": {
119
+ "project_id": {
120
+ "type": "string",
121
+ "description": "The actual GCP project ID"
122
+ },
123
+ "description": {
124
+ "type": "string",
125
+ "description": "What this project contains"
126
+ },
127
+ "datasets": {
128
+ "type": "object",
129
+ "description": "Map of dataset name to array of table names available to the skill",
130
+ "additionalProperties": {
131
+ "type": "array",
132
+ "items": {
133
+ "type": "string"
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }