@cachly-dev/mcp-server 0.10.56 → 0.10.57

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 (329) hide show
  1. package/.github/workflows/eas-build-android.yml +58 -0
  2. package/.github/workflows/eas-update.yml +55 -0
  3. package/.github/workflows/publish.yml +2 -2
  4. package/BENCH.md +91 -0
  5. package/CHANGELOG.md +44 -0
  6. package/README.md +6 -34
  7. package/STRATEGY.md +228 -0
  8. package/apps/travel-chaos-organizer/.env.example +49 -0
  9. package/apps/travel-chaos-organizer/DEPLOY.md +328 -0
  10. package/apps/travel-chaos-organizer/Makefile +57 -0
  11. package/apps/travel-chaos-organizer/README.md +159 -0
  12. package/apps/travel-chaos-organizer/backend/.env.example +10 -0
  13. package/apps/travel-chaos-organizer/backend/Dockerfile +25 -0
  14. package/apps/travel-chaos-organizer/backend/alembic/env.py +56 -0
  15. package/apps/travel-chaos-organizer/backend/alembic/script.py.mako +24 -0
  16. package/apps/travel-chaos-organizer/backend/alembic/versions/.gitkeep +0 -0
  17. package/apps/travel-chaos-organizer/backend/alembic/versions/0001_stripe_customer_id.py +24 -0
  18. package/apps/travel-chaos-organizer/backend/alembic/versions/0002_telegram_chat_id.py +24 -0
  19. package/apps/travel-chaos-organizer/backend/alembic.ini +39 -0
  20. package/apps/travel-chaos-organizer/backend/app/__init__.py +0 -0
  21. package/apps/travel-chaos-organizer/backend/app/auth/__init__.py +0 -0
  22. package/apps/travel-chaos-organizer/backend/app/auth/keycloak.py +81 -0
  23. package/apps/travel-chaos-organizer/backend/app/config.py +66 -0
  24. package/apps/travel-chaos-organizer/backend/app/db/__init__.py +0 -0
  25. package/apps/travel-chaos-organizer/backend/app/db/database.py +20 -0
  26. package/apps/travel-chaos-organizer/backend/app/db/migrations/001_init.sql +71 -0
  27. package/apps/travel-chaos-organizer/backend/app/db/migrations/002_telemetry_freemium.sql +31 -0
  28. package/apps/travel-chaos-organizer/backend/app/db/migrations/003_telegram_chat_id.sql +4 -0
  29. package/apps/travel-chaos-organizer/backend/app/db/migrations/004_stripe_and_email.sql +5 -0
  30. package/apps/travel-chaos-organizer/backend/app/limiter.py +4 -0
  31. package/apps/travel-chaos-organizer/backend/app/logging_config.py +25 -0
  32. package/apps/travel-chaos-organizer/backend/app/main.py +77 -0
  33. package/apps/travel-chaos-organizer/backend/app/models/__init__.py +0 -0
  34. package/apps/travel-chaos-organizer/backend/app/models/schemas.py +142 -0
  35. package/apps/travel-chaos-organizer/backend/app/routers/__init__.py +0 -0
  36. package/apps/travel-chaos-organizer/backend/app/routers/admin.py +237 -0
  37. package/apps/travel-chaos-organizer/backend/app/routers/cache.py +13 -0
  38. package/apps/travel-chaos-organizer/backend/app/routers/events.py +29 -0
  39. package/apps/travel-chaos-organizer/backend/app/routers/export.py +122 -0
  40. package/apps/travel-chaos-organizer/backend/app/routers/inbox.py +122 -0
  41. package/apps/travel-chaos-organizer/backend/app/routers/items.py +130 -0
  42. package/apps/travel-chaos-organizer/backend/app/routers/mail.py +108 -0
  43. package/apps/travel-chaos-organizer/backend/app/routers/parse.py +303 -0
  44. package/apps/travel-chaos-organizer/backend/app/routers/payments.py +179 -0
  45. package/apps/travel-chaos-organizer/backend/app/routers/trips.py +134 -0
  46. package/apps/travel-chaos-organizer/backend/app/routers/users.py +169 -0
  47. package/apps/travel-chaos-organizer/backend/app/routers/waitlist.py +37 -0
  48. package/apps/travel-chaos-organizer/backend/app/services/__init__.py +0 -0
  49. package/apps/travel-chaos-organizer/backend/app/services/cache.py +131 -0
  50. package/apps/travel-chaos-organizer/backend/app/services/drip.py +128 -0
  51. package/apps/travel-chaos-organizer/backend/app/services/email.py +61 -0
  52. package/apps/travel-chaos-organizer/backend/app/services/errors.py +44 -0
  53. package/apps/travel-chaos-organizer/backend/app/services/notifier.py +10 -0
  54. package/apps/travel-chaos-organizer/backend/app/services/ollama.py +101 -0
  55. package/apps/travel-chaos-organizer/backend/app/services/parser.py +22 -0
  56. package/apps/travel-chaos-organizer/backend/app/services/quota.py +85 -0
  57. package/apps/travel-chaos-organizer/backend/app/services/sentry.py +11 -0
  58. package/apps/travel-chaos-organizer/backend/app/services/telemetry.py +35 -0
  59. package/apps/travel-chaos-organizer/backend/pytest.ini +4 -0
  60. package/apps/travel-chaos-organizer/backend/requirements-dev.txt +6 -0
  61. package/apps/travel-chaos-organizer/backend/requirements.txt +25 -0
  62. package/apps/travel-chaos-organizer/backend/tests/__init__.py +0 -0
  63. package/apps/travel-chaos-organizer/backend/tests/conftest.py +223 -0
  64. package/apps/travel-chaos-organizer/backend/tests/test_admin.py +99 -0
  65. package/apps/travel-chaos-organizer/backend/tests/test_cache.py +142 -0
  66. package/apps/travel-chaos-organizer/backend/tests/test_drip.py +32 -0
  67. package/apps/travel-chaos-organizer/backend/tests/test_e2e_chain.py +121 -0
  68. package/apps/travel-chaos-organizer/backend/tests/test_export.py +48 -0
  69. package/apps/travel-chaos-organizer/backend/tests/test_inbox.py +107 -0
  70. package/apps/travel-chaos-organizer/backend/tests/test_items.py +138 -0
  71. package/apps/travel-chaos-organizer/backend/tests/test_mail.py +113 -0
  72. package/apps/travel-chaos-organizer/backend/tests/test_ollama.py +145 -0
  73. package/apps/travel-chaos-organizer/backend/tests/test_parse_url.py +98 -0
  74. package/apps/travel-chaos-organizer/backend/tests/test_parser.py +72 -0
  75. package/apps/travel-chaos-organizer/backend/tests/test_payments.py +163 -0
  76. package/apps/travel-chaos-organizer/backend/tests/test_quota.py +46 -0
  77. package/apps/travel-chaos-organizer/backend/tests/test_search.py +67 -0
  78. package/apps/travel-chaos-organizer/backend/tests/test_trips.py +123 -0
  79. package/apps/travel-chaos-organizer/backend/tests/test_users.py +52 -0
  80. package/apps/travel-chaos-organizer/backups/.gitkeep +0 -0
  81. package/apps/travel-chaos-organizer/caddy/Caddyfile +27 -0
  82. package/apps/travel-chaos-organizer/docker-compose.node1.yml +31 -0
  83. package/apps/travel-chaos-organizer/docker-compose.override.yml +14 -0
  84. package/apps/travel-chaos-organizer/docker-compose.yml +128 -0
  85. package/apps/travel-chaos-organizer/frontend/.env.example +13 -0
  86. package/apps/travel-chaos-organizer/frontend/app/(app)/_layout.tsx +80 -0
  87. package/apps/travel-chaos-organizer/frontend/app/(app)/inbox.tsx +166 -0
  88. package/apps/travel-chaos-organizer/frontend/app/(app)/search.tsx +130 -0
  89. package/apps/travel-chaos-organizer/frontend/app/(app)/settings.tsx +381 -0
  90. package/apps/travel-chaos-organizer/frontend/app/(app)/trips/[id].tsx +346 -0
  91. package/apps/travel-chaos-organizer/frontend/app/(app)/trips.tsx +363 -0
  92. package/apps/travel-chaos-organizer/frontend/app/(app)/upgrade/cancel.tsx +34 -0
  93. package/apps/travel-chaos-organizer/frontend/app/(app)/upgrade/success.tsx +35 -0
  94. package/apps/travel-chaos-organizer/frontend/app/(auth)/login.tsx +91 -0
  95. package/apps/travel-chaos-organizer/frontend/app/_layout.tsx +71 -0
  96. package/apps/travel-chaos-organizer/frontend/app/auth.tsx +29 -0
  97. package/apps/travel-chaos-organizer/frontend/app/index.tsx +16 -0
  98. package/apps/travel-chaos-organizer/frontend/app/onboarding.tsx +119 -0
  99. package/apps/travel-chaos-organizer/frontend/app.config.ts +54 -0
  100. package/apps/travel-chaos-organizer/frontend/assets/adaptive-icon.svg +66 -0
  101. package/apps/travel-chaos-organizer/frontend/assets/icon.svg +79 -0
  102. package/apps/travel-chaos-organizer/frontend/assets/splash.svg +15 -0
  103. package/apps/travel-chaos-organizer/frontend/components/BottomSheet.tsx +102 -0
  104. package/apps/travel-chaos-organizer/frontend/components/ConfettiCannon.tsx +107 -0
  105. package/apps/travel-chaos-organizer/frontend/components/ConfirmDialog.tsx +109 -0
  106. package/apps/travel-chaos-organizer/frontend/components/ErrorBoundary.tsx +45 -0
  107. package/apps/travel-chaos-organizer/frontend/components/FileUploadButton.tsx +19 -0
  108. package/apps/travel-chaos-organizer/frontend/components/ImportSheet.tsx +155 -0
  109. package/apps/travel-chaos-organizer/frontend/components/OfflineBadge.tsx +55 -0
  110. package/apps/travel-chaos-organizer/frontend/components/QRCodeViewer.tsx +80 -0
  111. package/apps/travel-chaos-organizer/frontend/components/ScoreRing.tsx +39 -0
  112. package/apps/travel-chaos-organizer/frontend/components/Screen.tsx +39 -0
  113. package/apps/travel-chaos-organizer/frontend/components/Skeleton.tsx +70 -0
  114. package/apps/travel-chaos-organizer/frontend/components/SwipeableInboxItem.tsx +121 -0
  115. package/apps/travel-chaos-organizer/frontend/components/SwipeableTimelineItem.tsx +70 -0
  116. package/apps/travel-chaos-organizer/frontend/components/TimelineItem.tsx +73 -0
  117. package/apps/travel-chaos-organizer/frontend/components/TimelineItemDetail.tsx +130 -0
  118. package/apps/travel-chaos-organizer/frontend/components/Toast.tsx +60 -0
  119. package/apps/travel-chaos-organizer/frontend/components/ToastContext.tsx +42 -0
  120. package/apps/travel-chaos-organizer/frontend/components/TripCard.tsx +146 -0
  121. package/apps/travel-chaos-organizer/frontend/components/TripQRModal.tsx +70 -0
  122. package/apps/travel-chaos-organizer/frontend/components/UpgradeBanner.tsx +44 -0
  123. package/apps/travel-chaos-organizer/frontend/eas.json +22 -0
  124. package/apps/travel-chaos-organizer/frontend/hooks/useInbox.ts +24 -0
  125. package/apps/travel-chaos-organizer/frontend/hooks/useNetworkSync.ts +60 -0
  126. package/apps/travel-chaos-organizer/frontend/hooks/useTrips.ts +112 -0
  127. package/apps/travel-chaos-organizer/frontend/lib/api.ts +223 -0
  128. package/apps/travel-chaos-organizer/frontend/lib/auth.ts +93 -0
  129. package/apps/travel-chaos-organizer/frontend/lib/db.ts +86 -0
  130. package/apps/travel-chaos-organizer/frontend/lib/fileCache.ts +54 -0
  131. package/apps/travel-chaos-organizer/frontend/lib/haptics.ts +13 -0
  132. package/apps/travel-chaos-organizer/frontend/lib/notifications.ts +112 -0
  133. package/apps/travel-chaos-organizer/frontend/lib/offlineQueue.ts +145 -0
  134. package/apps/travel-chaos-organizer/frontend/lib/quota.tsx +43 -0
  135. package/apps/travel-chaos-organizer/frontend/lib/sentry.ts +28 -0
  136. package/apps/travel-chaos-organizer/frontend/lib/shareIntent.ts +44 -0
  137. package/apps/travel-chaos-organizer/frontend/package-lock.json +13221 -0
  138. package/apps/travel-chaos-organizer/frontend/package.json +44 -0
  139. package/apps/travel-chaos-organizer/frontend/tsconfig.json +23 -0
  140. package/apps/travel-chaos-organizer/keycloak/realm-export.json +59 -0
  141. package/apps/travel-chaos-organizer/landing/index.html +773 -0
  142. package/apps/travel-chaos-organizer/scripts/backup.sh +14 -0
  143. package/apps/travel-chaos-organizer/scripts/configure-env.sh +82 -0
  144. package/apps/travel-chaos-organizer/scripts/deploy.sh +54 -0
  145. package/apps/travel-chaos-organizer/scripts/health-check.sh +36 -0
  146. package/apps/travel-chaos-organizer/scripts/migrate.sh +7 -0
  147. package/apps/travel-chaos-organizer/scripts/server-setup.sh +85 -0
  148. package/apps/travel-chaos-organizer/scripts/smoke-test.sh +29 -0
  149. package/apps/travel-chaos-organizer/scripts/verify-tracking.sh +71 -0
  150. package/apps/travel-chaos-organizer/telegram-bot/.env.example +3 -0
  151. package/apps/travel-chaos-organizer/telegram-bot/Dockerfile +6 -0
  152. package/apps/travel-chaos-organizer/telegram-bot/bot.py +504 -0
  153. package/apps/travel-chaos-organizer/telegram-bot/requirements.txt +3 -0
  154. package/dist/packages/telegram-notify/client.d.ts +19 -0
  155. package/dist/packages/telegram-notify/client.js +75 -0
  156. package/dist/packages/telegram-notify/client.js.map +1 -0
  157. package/dist/src/__tests__/auth.test.js.map +1 -0
  158. package/dist/{__tests__ → src/__tests__}/brain-flow.test.js +141 -0
  159. package/dist/src/__tests__/brain-flow.test.js.map +1 -0
  160. package/dist/src/__tests__/confidence.test.js.map +1 -0
  161. package/dist/src/__tests__/e2e/api-auth.test.js.map +1 -0
  162. package/dist/src/__tests__/e2e/api-health.test.js.map +1 -0
  163. package/dist/src/__tests__/e2e/cli.test.js.map +1 -0
  164. package/dist/src/__tests__/e2e/config.js.map +1 -0
  165. package/dist/src/__tests__/e2e/funnel.test.js.map +1 -0
  166. package/dist/src/__tests__/e2e/mcp-tools.test.js.map +1 -0
  167. package/dist/src/__tests__/e2e/provisioning.test.js.map +1 -0
  168. package/dist/{__tests__ → src/__tests__}/handlers-unit.test.js +0 -2
  169. package/dist/src/__tests__/handlers-unit.test.js.map +1 -0
  170. package/dist/src/__tests__/namespace.test.js.map +1 -0
  171. package/dist/src/__tests__/rerank.test.js +115 -0
  172. package/dist/src/__tests__/rerank.test.js.map +1 -0
  173. package/dist/src/auth.js.map +1 -0
  174. package/dist/src/bench/cachly-bench.d.ts +35 -0
  175. package/dist/src/bench/cachly-bench.js +182 -0
  176. package/dist/src/bench/cachly-bench.js.map +1 -0
  177. package/dist/src/bench/fixtures.d.ts +37 -0
  178. package/dist/src/bench/fixtures.js +225 -0
  179. package/dist/src/bench/fixtures.js.map +1 -0
  180. package/dist/src/ckg.js.map +1 -0
  181. package/dist/src/confidence.js.map +1 -0
  182. package/dist/src/embeddings.js.map +1 -0
  183. package/dist/src/handlers/advanced.js.map +1 -0
  184. package/dist/{handlers → src/handlers}/brain.js +335 -193
  185. package/dist/src/handlers/brain.js.map +1 -0
  186. package/dist/src/handlers/cache.js.map +1 -0
  187. package/dist/{handlers → src/handlers}/context.js +9 -4
  188. package/dist/src/handlers/context.js.map +1 -0
  189. package/dist/{handlers → src/handlers}/fedbrain.d.ts +6 -0
  190. package/dist/{handlers → src/handlers}/fedbrain.js +19 -7
  191. package/dist/src/handlers/fedbrain.js.map +1 -0
  192. package/dist/src/handlers/instances.js.map +1 -0
  193. package/dist/{handlers → src/handlers}/roadmap.js +7 -3
  194. package/dist/src/handlers/roadmap.js.map +1 -0
  195. package/dist/src/handlers/syndicate.js.map +1 -0
  196. package/dist/src/handlers/tco.d.ts +16 -0
  197. package/dist/src/handlers/tco.js +303 -0
  198. package/dist/src/handlers/tco.js.map +1 -0
  199. package/dist/{handlers → src/handlers}/team.js +57 -7
  200. package/dist/src/handlers/team.js.map +1 -0
  201. package/dist/{index.js → src/index.js} +209 -431
  202. package/dist/src/index.js.map +1 -0
  203. package/dist/src/namespace.js.map +1 -0
  204. package/dist/src/notifier.d.ts +5 -0
  205. package/dist/src/notifier.js +6 -0
  206. package/dist/src/notifier.js.map +1 -0
  207. package/dist/src/rerank.d.ts +55 -0
  208. package/dist/src/rerank.js +111 -0
  209. package/dist/src/rerank.js.map +1 -0
  210. package/dist/src/search.js.map +1 -0
  211. package/dist/src/search.test.d.ts +1 -0
  212. package/dist/src/search.test.js.map +1 -0
  213. package/dist/{tools.d.ts → src/tools.d.ts} +226 -0
  214. package/dist/{tools.js → src/tools.js} +196 -0
  215. package/dist/src/tools.js.map +1 -0
  216. package/dist/src/utils.js.map +1 -0
  217. package/package.json +8 -7
  218. package/packages/telegram-notify/SPLIT_PLAN.md +106 -0
  219. package/packages/telegram-notify/client.ts +88 -0
  220. package/packages/telegram-notify/emojis.json +22 -0
  221. package/packages/telegram-notify/pyproject.toml +17 -0
  222. package/packages/telegram-notify/telegram_notify/__init__.py +3 -0
  223. package/packages/telegram-notify/telegram_notify/client.py +87 -0
  224. package/packages/telegram-notify/telegram_notify/emojis.json +22 -0
  225. package/scripts/generate-icons.js +28 -0
  226. package/server.json +3 -3
  227. package/smithery.yaml +27 -16
  228. package/src/__tests__/brain-flow.test.ts +174 -0
  229. package/src/__tests__/handlers-unit.test.ts +1 -2
  230. package/src/__tests__/rerank.test.ts +130 -0
  231. package/src/bench/cachly-bench.ts +217 -0
  232. package/src/bench/fixtures.ts +256 -0
  233. package/src/handlers/brain.ts +345 -197
  234. package/src/handlers/context.ts +9 -4
  235. package/src/handlers/fedbrain.ts +21 -7
  236. package/src/handlers/roadmap.ts +7 -3
  237. package/src/handlers/tco.ts +347 -0
  238. package/src/handlers/team.ts +67 -7
  239. package/src/index.ts +224 -418
  240. package/src/notifier.ts +5 -0
  241. package/src/rerank.ts +148 -0
  242. package/src/tools.ts +210 -0
  243. package/tsconfig.json +2 -3
  244. package/dist/__tests__/auth.test.js.map +0 -1
  245. package/dist/__tests__/brain-flow.test.js.map +0 -1
  246. package/dist/__tests__/brain-predict-failures.test.d.ts +0 -17
  247. package/dist/__tests__/brain-predict-failures.test.js +0 -339
  248. package/dist/__tests__/brain-predict-failures.test.js.map +0 -1
  249. package/dist/__tests__/confidence.test.js.map +0 -1
  250. package/dist/__tests__/e2e/api-auth.test.js.map +0 -1
  251. package/dist/__tests__/e2e/api-health.test.js.map +0 -1
  252. package/dist/__tests__/e2e/cli.test.js.map +0 -1
  253. package/dist/__tests__/e2e/config.js.map +0 -1
  254. package/dist/__tests__/e2e/funnel.test.js.map +0 -1
  255. package/dist/__tests__/e2e/mcp-tools.test.js.map +0 -1
  256. package/dist/__tests__/e2e/provisioning.test.js.map +0 -1
  257. package/dist/__tests__/handlers-unit.test.js.map +0 -1
  258. package/dist/__tests__/namespace.test.js.map +0 -1
  259. package/dist/auth.js.map +0 -1
  260. package/dist/ckg.js.map +0 -1
  261. package/dist/confidence.js.map +0 -1
  262. package/dist/embeddings.js.map +0 -1
  263. package/dist/handlers/advanced.js.map +0 -1
  264. package/dist/handlers/brain.js.map +0 -1
  265. package/dist/handlers/cache.js.map +0 -1
  266. package/dist/handlers/context.js.map +0 -1
  267. package/dist/handlers/fedbrain.js.map +0 -1
  268. package/dist/handlers/instances.js.map +0 -1
  269. package/dist/handlers/roadmap.js.map +0 -1
  270. package/dist/handlers/syndicate.js.map +0 -1
  271. package/dist/handlers/team.js.map +0 -1
  272. package/dist/index.js.map +0 -1
  273. package/dist/namespace.js.map +0 -1
  274. package/dist/search.js.map +0 -1
  275. package/dist/search.test.js.map +0 -1
  276. package/dist/tools.js.map +0 -1
  277. package/dist/utils.js.map +0 -1
  278. package/src/__tests__/brain-predict-failures.test.ts +0 -430
  279. /package/dist/{__tests__ → src/__tests__}/auth.test.d.ts +0 -0
  280. /package/dist/{__tests__ → src/__tests__}/auth.test.js +0 -0
  281. /package/dist/{__tests__ → src/__tests__}/brain-flow.test.d.ts +0 -0
  282. /package/dist/{__tests__ → src/__tests__}/confidence.test.d.ts +0 -0
  283. /package/dist/{__tests__ → src/__tests__}/confidence.test.js +0 -0
  284. /package/dist/{__tests__ → src/__tests__}/e2e/api-auth.test.d.ts +0 -0
  285. /package/dist/{__tests__ → src/__tests__}/e2e/api-auth.test.js +0 -0
  286. /package/dist/{__tests__ → src/__tests__}/e2e/api-health.test.d.ts +0 -0
  287. /package/dist/{__tests__ → src/__tests__}/e2e/api-health.test.js +0 -0
  288. /package/dist/{__tests__ → src/__tests__}/e2e/cli.test.d.ts +0 -0
  289. /package/dist/{__tests__ → src/__tests__}/e2e/cli.test.js +0 -0
  290. /package/dist/{__tests__ → src/__tests__}/e2e/config.d.ts +0 -0
  291. /package/dist/{__tests__ → src/__tests__}/e2e/config.js +0 -0
  292. /package/dist/{__tests__ → src/__tests__}/e2e/funnel.test.d.ts +0 -0
  293. /package/dist/{__tests__ → src/__tests__}/e2e/funnel.test.js +0 -0
  294. /package/dist/{__tests__ → src/__tests__}/e2e/mcp-tools.test.d.ts +0 -0
  295. /package/dist/{__tests__ → src/__tests__}/e2e/mcp-tools.test.js +0 -0
  296. /package/dist/{__tests__ → src/__tests__}/e2e/provisioning.test.d.ts +0 -0
  297. /package/dist/{__tests__ → src/__tests__}/e2e/provisioning.test.js +0 -0
  298. /package/dist/{__tests__ → src/__tests__}/handlers-unit.test.d.ts +0 -0
  299. /package/dist/{__tests__ → src/__tests__}/namespace.test.d.ts +0 -0
  300. /package/dist/{__tests__ → src/__tests__}/namespace.test.js +0 -0
  301. /package/dist/{search.test.d.ts → src/__tests__/rerank.test.d.ts} +0 -0
  302. /package/dist/{auth.d.ts → src/auth.d.ts} +0 -0
  303. /package/dist/{auth.js → src/auth.js} +0 -0
  304. /package/dist/{ckg.d.ts → src/ckg.d.ts} +0 -0
  305. /package/dist/{ckg.js → src/ckg.js} +0 -0
  306. /package/dist/{confidence.d.ts → src/confidence.d.ts} +0 -0
  307. /package/dist/{confidence.js → src/confidence.js} +0 -0
  308. /package/dist/{embeddings.d.ts → src/embeddings.d.ts} +0 -0
  309. /package/dist/{embeddings.js → src/embeddings.js} +0 -0
  310. /package/dist/{handlers → src/handlers}/advanced.d.ts +0 -0
  311. /package/dist/{handlers → src/handlers}/advanced.js +0 -0
  312. /package/dist/{handlers → src/handlers}/brain.d.ts +0 -0
  313. /package/dist/{handlers → src/handlers}/cache.d.ts +0 -0
  314. /package/dist/{handlers → src/handlers}/cache.js +0 -0
  315. /package/dist/{handlers → src/handlers}/context.d.ts +0 -0
  316. /package/dist/{handlers → src/handlers}/instances.d.ts +0 -0
  317. /package/dist/{handlers → src/handlers}/instances.js +0 -0
  318. /package/dist/{handlers → src/handlers}/roadmap.d.ts +0 -0
  319. /package/dist/{handlers → src/handlers}/syndicate.d.ts +0 -0
  320. /package/dist/{handlers → src/handlers}/syndicate.js +0 -0
  321. /package/dist/{handlers → src/handlers}/team.d.ts +0 -0
  322. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  323. /package/dist/{namespace.d.ts → src/namespace.d.ts} +0 -0
  324. /package/dist/{namespace.js → src/namespace.js} +0 -0
  325. /package/dist/{search.d.ts → src/search.d.ts} +0 -0
  326. /package/dist/{search.js → src/search.js} +0 -0
  327. /package/dist/{search.test.js → src/search.test.js} +0 -0
  328. /package/dist/{utils.d.ts → src/utils.d.ts} +0 -0
  329. /package/dist/{utils.js → src/utils.js} +0 -0
@@ -799,6 +799,24 @@ const TOOLS = [
799
799
  required: ['instance_id', 'author', 'topic', 'outcome', 'what_worked'],
800
800
  },
801
801
  },
802
+ {
803
+ name: 'team_confirm',
804
+ description: 'Endorse (review-confirm) a team lesson so trusted, human-reviewed knowledge ranks above unreviewed auto-learned entries. ' +
805
+ 'A senior review weighs more than a peer review; distinct endorsements add a small boost. ' +
806
+ 'Confirmed lessons surface higher in smart_recall and team_recall and carry a 🛡️/✔️ badge. ' +
807
+ 'Use this in code review or knowledge reviews to bless the canonical solution for a topic.',
808
+ inputSchema: {
809
+ type: 'object',
810
+ properties: {
811
+ instance_id: { type: 'string', description: 'UUID of the shared team brain instance' },
812
+ topic: { type: 'string', description: 'Topic slug of the lesson to confirm (e.g. "deploy:api")' },
813
+ reviewer: { type: 'string', description: 'Your name or handle (the reviewer endorsing this lesson)' },
814
+ level: { type: 'string', enum: ['senior', 'peer'], description: 'Review weight — "senior" ranks higher than "peer" (default: peer)' },
815
+ note: { type: 'string', description: 'Optional review note (kept in the lesson audit trail)' },
816
+ },
817
+ required: ['instance_id', 'topic', 'reviewer'],
818
+ },
819
+ },
802
820
  {
803
821
  name: 'team_recall',
804
822
  description: 'Recall lessons from a shared team brain, showing who learned what. ' +
@@ -1639,6 +1657,184 @@ const TOOLS = [
1639
1657
  required: ['instance_id', 'context'],
1640
1658
  },
1641
1659
  },
1660
+ // ── Travel Chaos Organizer (TCO) ─────────────────────────────────────────
1661
+ // Requires TCO_API_URL env var pointing to the TCO FastAPI backend.
1662
+ // Auth is shared with Cachly via the same Keycloak realm (CACHLY_JWT forwarded).
1663
+ {
1664
+ name: 'tco_list_trips',
1665
+ description: 'List all travel trips in Travel Chaos Organizer. ' +
1666
+ 'Returns trip name, id, and date range. Use tco_get_timeline to see items for a specific trip. ' +
1667
+ 'Requires TCO_API_URL to be configured.',
1668
+ inputSchema: { type: 'object', properties: {}, required: [] },
1669
+ },
1670
+ {
1671
+ name: 'tco_create_trip',
1672
+ description: 'Create a new trip in Travel Chaos Organizer. ' +
1673
+ 'Dates are optional ISO strings (YYYY-MM-DD). ' +
1674
+ 'Returns the new trip id.',
1675
+ inputSchema: {
1676
+ type: 'object',
1677
+ properties: {
1678
+ name: { type: 'string', description: 'Trip name, e.g. "Barcelona Sommer 2025"' },
1679
+ description: { type: 'string', description: 'Optional trip description' },
1680
+ start_date: { type: 'string', description: 'Start date (YYYY-MM-DD), optional' },
1681
+ end_date: { type: 'string', description: 'End date (YYYY-MM-DD), optional' },
1682
+ },
1683
+ required: ['name'],
1684
+ },
1685
+ },
1686
+ {
1687
+ name: 'tco_get_timeline',
1688
+ description: 'Get the full timeline (flights, hotels, trains, activities …) for a trip. ' +
1689
+ 'Use tco_list_trips first to get the trip_id. ' +
1690
+ 'Returns items sorted by event_at with type icon, time, provider, and booking reference.',
1691
+ inputSchema: {
1692
+ type: 'object',
1693
+ properties: {
1694
+ trip_id: { type: 'string', description: 'UUID of the trip (from tco_list_trips)' },
1695
+ },
1696
+ required: ['trip_id'],
1697
+ },
1698
+ },
1699
+ {
1700
+ name: 'tco_delete_trip',
1701
+ description: 'Permanently delete a trip and all its timeline items. This is irreversible.',
1702
+ inputSchema: {
1703
+ type: 'object',
1704
+ properties: {
1705
+ trip_id: { type: 'string', description: 'UUID of the trip to delete' },
1706
+ },
1707
+ required: ['trip_id'],
1708
+ },
1709
+ },
1710
+ {
1711
+ name: 'tco_inbox_list',
1712
+ description: 'List items in the Travel Chaos Organizer Chaos Inbox — unassigned documents, ' +
1713
+ 'emails, and PDFs that Ollama has parsed but not yet assigned to a trip. ' +
1714
+ 'Use tco_inbox_assign to move them to a trip or tco_inbox_reject to discard.',
1715
+ inputSchema: {
1716
+ type: 'object',
1717
+ properties: {
1718
+ status: {
1719
+ type: 'string',
1720
+ enum: ['pending', 'assigned', 'rejected'],
1721
+ description: 'Filter by status (default: pending)',
1722
+ },
1723
+ },
1724
+ required: [],
1725
+ },
1726
+ },
1727
+ {
1728
+ name: 'tco_inbox_assign',
1729
+ description: 'Assign a Chaos Inbox item to an existing trip, creating a timeline entry. ' +
1730
+ 'Use tco_inbox_list to discover inbox_id values and tco_list_trips for trip_ids.',
1731
+ inputSchema: {
1732
+ type: 'object',
1733
+ properties: {
1734
+ inbox_id: { type: 'string', description: 'UUID of the inbox item' },
1735
+ trip_id: { type: 'string', description: 'UUID of the target trip' },
1736
+ type: {
1737
+ type: 'string',
1738
+ enum: ['flight', 'train', 'bus', 'hotel', 'rental_car', 'activity', 'transfer', 'document', 'other'],
1739
+ description: 'Item type (default: other)',
1740
+ },
1741
+ },
1742
+ required: ['inbox_id', 'trip_id'],
1743
+ },
1744
+ },
1745
+ {
1746
+ name: 'tco_inbox_reject',
1747
+ description: 'Remove an item from the Chaos Inbox without assigning it to any trip.',
1748
+ inputSchema: {
1749
+ type: 'object',
1750
+ properties: {
1751
+ inbox_id: { type: 'string', description: 'UUID of the inbox item to reject' },
1752
+ },
1753
+ required: ['inbox_id'],
1754
+ },
1755
+ },
1756
+ {
1757
+ name: 'tco_parse_url',
1758
+ description: 'Fetch a public URL (booking confirmation page, airline URL) and parse it with Ollama AI, ' +
1759
+ 'saving the result directly to a trip timeline or the Chaos Inbox. ' +
1760
+ 'Useful for quickly importing online booking confirmations without uploading a file.',
1761
+ inputSchema: {
1762
+ type: 'object',
1763
+ properties: {
1764
+ url: { type: 'string', description: 'Public URL to fetch and parse' },
1765
+ trip_id: { type: 'string', description: 'Trip UUID to assign to directly (omit to send to Chaos Inbox)' },
1766
+ },
1767
+ required: ['url'],
1768
+ },
1769
+ },
1770
+ {
1771
+ name: 'tco_import_email',
1772
+ description: 'Import a raw email (paste the full email text including headers) into Travel Chaos Organizer. ' +
1773
+ 'Ollama strips headers, parses travel data (flights, hotels, bookings), and saves to inbox or trip. ' +
1774
+ 'Ideal for forwarding booking confirmation emails directly through Claude.',
1775
+ inputSchema: {
1776
+ type: 'object',
1777
+ properties: {
1778
+ raw_email: { type: 'string', description: 'Full email text including headers' },
1779
+ trip_id: { type: 'string', description: 'Trip UUID to assign directly (omit to send to Chaos Inbox)' },
1780
+ },
1781
+ required: ['raw_email'],
1782
+ },
1783
+ },
1784
+ {
1785
+ name: 'tco_parse_text',
1786
+ description: 'Parse raw text (booking confirmation, itinerary, travel note) with Ollama AI in Travel Chaos Organizer. ' +
1787
+ 'Extracts flight, hotel, train, activity and other travel data. ' +
1788
+ 'Results are cached in Cachly Redis — identical text returns instantly without a second AI call. ' +
1789
+ 'Saves to a specific trip timeline or to the Chaos Inbox if no trip_id is given.',
1790
+ inputSchema: {
1791
+ type: 'object',
1792
+ properties: {
1793
+ text: { type: 'string', description: 'Raw text to parse (booking confirmation, itinerary, etc.)' },
1794
+ trip_id: { type: 'string', description: 'Trip UUID to assign directly (omit to send to Chaos Inbox)' },
1795
+ },
1796
+ required: ['text'],
1797
+ },
1798
+ },
1799
+ {
1800
+ name: 'tco_cache_stats',
1801
+ description: 'Get Cachly Redis cache statistics for the TCO backend. ' +
1802
+ 'Shows how many AI parse results are cached, the cache hit rate, and whether Cachly is connected. ' +
1803
+ 'Use this to verify the TCO ↔ Cachly integration is working or to report savings to the user.',
1804
+ inputSchema: { type: 'object', properties: {}, required: [] },
1805
+ },
1806
+ {
1807
+ name: 'tco_provision_cache',
1808
+ description: 'Provision a free Cachly Redis instance for Travel Chaos Organizer and return the connection string. ' +
1809
+ 'Creates a "tco-cache" instance on cachly.dev (free tier, 25 MB — enough for thousands of parse results). ' +
1810
+ 'After provisioning, instruct the user to set CACHLY_REDIS_URL=<returned URL> in their TCO .env and redeploy. ' +
1811
+ 'This wires TCO to Cachly so every Ollama parse result is deduplicated automatically.',
1812
+ inputSchema: { type: 'object', properties: {}, required: [] },
1813
+ },
1814
+ {
1815
+ name: 'tco_telegram_status',
1816
+ description: 'Check if the current user has linked their Telegram account in Travel Chaos Organizer. ' +
1817
+ 'Returns linked status, plan, and guidance to link if not yet connected. ' +
1818
+ 'Use before tco_telegram_send to confirm the user will actually receive the message.',
1819
+ inputSchema: { type: 'object', properties: {}, required: [] },
1820
+ },
1821
+ {
1822
+ name: 'tco_telegram_send',
1823
+ description: 'Send a Telegram message directly to the current TCO user\'s linked Telegram chat. ' +
1824
+ 'Supports Markdown formatting. Use for: summaries, reminders, trip updates, parse results. ' +
1825
+ 'Requires the user to have linked Telegram (check with tco_telegram_status first). ' +
1826
+ 'Ideal for pushing trip information to the user outside the app.',
1827
+ inputSchema: {
1828
+ type: 'object',
1829
+ properties: {
1830
+ message: {
1831
+ type: 'string',
1832
+ description: 'Message text to send. Markdown supported (bold **text**, code `value`).',
1833
+ },
1834
+ },
1835
+ required: ['message'],
1836
+ },
1837
+ },
1642
1838
  ];
1643
1839
  export { TOOLS };
1644
1840
  //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,iFAAiF;AAEjF,MAAM,KAAK,GAAG;IACZ,4EAA4E;IAC5E;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,iFAAiF;YACjF,mGAAmG;YACnG,gFAAgF;YAChF,sFAAsF;YACtF,4FAA4F;YAC5F,8FAA8F;QAChG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,kEAAkE;YAClE,gFAAgF;YAChF,6EAA6E;YAC7E,8EAA8E;QAChF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;gBACnF,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;oBACjD,WAAW,EAAE,8CAA8C;iBAC5D;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SAC3B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,yGAAyG;YACzG,iFAAiF;YACjF,kFAAkF;YAClF,qDAAqD;YACrD,0FAA0F;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;aAC3F;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,gFAAgF;YAChF,sEAAsE;QACxE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;aACrE;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,kGAAkG;YAClG,8BAA8B;QAChC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;aAC9E;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;KACF;IAED,4EAA4E;IAC5E;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,oDAAoD;YACpD,kHAAkH;YAClH,+BAA+B;YAC/B,gEAAgE;YAChE,oEAAoE;YACpE,6EAA6E;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBACpE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAC9D;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;SACjC;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,oDAAoD;YACpD,0EAA0E;YAC1E,qGAAqG;YACrG,2GAA2G;YAC3G,oFAAoF;YACpF,qFAAqF;QACvF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAChG,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE;gBACjD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;gBACzE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wDAAwD,EAAE;aAC/F;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC;SAC1C;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,sFAAsF;YACtF,qFAAqF;YACrF,6EAA6E;YAC7E,6EAA6E;YAC7E,yGAAyG;YACzG,8FAA8F;QAChG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0EAA0E,EAAE;gBACxH,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,8GAA8G;iBAC5H;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;SAClC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wFAAwF;YACxF,gGAAgG;YAChG,6FAA6F;YAC7F,kFAAkF;YAClF,gHAAgH;YAChH,0FAA0F;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+DAA+D,EAAE;gBAC7G,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,0EAA0E,EAAE;aAC5I;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;SAClC;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,4DAA4D;YAC5D,gFAAgF;YAChF,+BAA+B;YAC/B,iEAAiE;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAChG,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;aAC7D;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;SACjC;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,gGAAgG;YAChG,uEAAuE;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBACrE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;aACrF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,uFAAuF;YACvF,6EAA6E;YAC7E,+EAA+E;YAC/E,gFAAgF;YAChF,0DAA0D;YAC1D,uEAAuE;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;aACjG;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,iFAAiF;YACjF,+BAA+B;YAC/B,6FAA6F;YAC7F,sEAAsE;YACtE,uGAAuG;YACvG,qFAAqF;YACrF,oGAAoG;YACpG,yEAAyE;QAC3E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAChG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBAC/F,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yEAAyE;iBACvF;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,+CAA+C;wBAC/C,uGAAuG;wBACvG,iBAAiB;iBACpB;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,sEAAsE;wBACtE,8CAA8C;wBAC9C,uFAAuF;iBAC1F;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,6EAA6E;YAC7E,4CAA4C;YAC5C,2EAA2E;YAC3E,+EAA+E;YAC/E,qCAAqC;QACvC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;aACjG;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,iEAAiE;YACjE,kFAAkF;YAClF,0EAA0E;YAC1E,kFAAkF;YAClF,8DAA8D;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,uDAAuD;oBACpE,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;4BACzE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;4BACzF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;yBACpF;wBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;qBAC9B;iBACF;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yDAAyD;iBACvE;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iEAAiE;iBAC/E;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,8DAA8D;wBAC9D,2DAA2D;iBAC9D;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,mFAAmF;YACnF,8FAA8F;YAC9F,uFAAuF;YACvF,2FAA2F;YAC3F,kFAAkF;YAClF,mFAAmF;QACrF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;gBAC3E,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yEAAyE;iBACvF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,2FAA2F;iBACzG;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iDAAiD;iBAC/D;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;iBAC1E;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8DAA8D;iBAC5E;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;SACjC;KACF;IACD,4EAA4E;IAC5E;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,gEAAgE;YAChE,6CAA6C;YAC7C,yDAAyD;YACzD,wDAAwD;YACxD,0HAA0H;YAC1H,gDAAgD;YAChD,oFAAoF;QACtF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,wBAAwB;oBACrC,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,GAAG,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,WAAW,EAAE;4BACpD,KAAK,EAAE,EAAmB,WAAW,EAAE,kCAAkC,EAAE;4BAC3E,GAAG,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,mCAAmC,EAAE;yBAC7E;wBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;qBAC3B;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,oEAAoE;YACpE,4EAA4E;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,4BAA4B,EAAE;gBAC3E,IAAI,EAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAChG;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;SAClC;KACF;IACD,6EAA6E;IAC7E;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,mEAAmE;YACnE,+FAA+F;YAC/F,gDAAgD;QAClD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC7E,GAAG,EAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBAC3E,MAAM,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACzF,OAAO,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBACpF,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;aAC9F;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC;SAC3C;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,kDAAkD;YAClD,2FAA2F;QAC7F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,GAAG,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;gBACxG,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;aAC7F;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC;SAC1C;KACF;IACD,6EAA6E;IAC7E;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,4FAA4F;YAC5F,kEAAkE;YAClE,oFAAoF;YACpF,uFAAuF;YACvF,oFAAoF;QACtF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD,6EAA6E;IAC7E;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,yFAAyF;YACzF,8EAA8E;YAC9E,4EAA4E;YAC5E,oFAAoF;YACpF,2DAA2D;YAC3D,gEAAgE;YAChE,iFAAiF;YACjF,kDAAkD;YAClD,6EAA6E;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mFAAmF,EAAE;gBACzH,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACpF,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC;oBACtF,WAAW,EAAE,6CAA6C;iBAC3D;gBACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qEAAqE,EAAE;aAC5G;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC;SAC5C;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,oDAAoD;YACpD,kDAAkD;YAClD,0FAA0F;YAC1F,6DAA6D;YAC7D,yGAAyG;QAC3G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;aACjG;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;SACjC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,oDAAoD;YACpD,8EAA8E;YAC9E,oDAAoD;YACpD,qEAAqE;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC;oBAC7F,WAAW,EAAE,mCAAmC;iBACjD;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAC9E;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,6CAA6C;YAC7C,mEAAmE;YACnE,8DAA8D;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE;aAClG;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;SAClC;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,8DAA8D;YAC9D,+FAA+F;YAC/F,yFAAyF;YACzF,+EAA+E;YAC/E,0FAA0F;YAC1F,0GAA0G;YAC1G,iGAAiG;YACjG,wFAAwF;YACxF,0FAA0F;YAC1F,mPAAmP;QACrP,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yEAAyE,EAAE;gBACxH,OAAO,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE;gBACtG,WAAW,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oDAAoD,EAAE;gBACnG,WAAW,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBAC1F,OAAO,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2DAA2D,EAAE;gBAC1G,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;oBACpC,WAAW,EAAE,qHAAqH;iBACnI;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,kEAAkE;iBAChF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,kFAAkF;iBAChG;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,2DAA2D;iBACzE;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,6KAA6K;iBAC3L;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yJAAyJ;iBACvK;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;SAC7D;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,gEAAgE;YAChE,yEAAyE;YACzE,sFAAsF;YACtF,wFAAwF;YACxF,sFAAsF;YACtF,yFAAyF;QAC3F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mEAAmE,EAAE;aACnH;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,6DAA6D;YAC7D,2DAA2D;YAC3D,oGAAoG;YACpG,oEAAoE;QACtE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wDAAwD,EAAE;gBAChG,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;aACvF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,8IAA8I;YAC9I,yGAAyG;YACzG,4HAA4H;YAC5H,sIAAsI;YACtI,wEAAwE;QAC1E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qHAAqH;iBACnI;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qHAAqH;iBACnI;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qKAAqK;iBACnL;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yJAAyJ;iBACvK;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,kDAAkD;YAClD,kEAAkE;YAClE,mEAAmE;YACnE,kFAAkF;YAClF,kHAAkH;QACpH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qEAAqE;iBACnF;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,2CAA2C;iBACzD;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sDAAsD;iBACpE;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qKAAqK;iBACnL;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;KACF;IACD,6EAA6E;IAC7E;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,8DAA8D;YAC9D,2FAA2F;YAC3F,gEAAgE;YAChE,6HAA6H;YAC7H,4EAA4E;YAC5E,0GAA0G;QAC5G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,eAAe,EAAE;oBACf,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,8EAA8E;iBAC5F;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,yDAAyD;iBACvE;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;4BAC3E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE;4BACtG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;yBAC3F;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;qBAC7B;oBACD,WAAW,EAAE,sGAAsG;iBACpH;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yGAAyG;iBACvH;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8FAA8F;iBAC5G;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sHAAsH;iBACpI;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;SAChE;KACF;IACD,4EAA4E;IAC5E;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,sGAAsG;YACtG,8GAA8G;YAC9G,wFAAwF;YACxF,0GAA0G;YAC1G,yDAAyD;QAC3D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6FAA6F;iBAC3G;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,oCAAoC;iBAClD;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sFAAsF;iBACpG;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2EAA2E;iBACzF;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;SAClC;KACF;IACD,4EAA4E;IAC5E;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,6FAA6F;YAC7F,6HAA6H;YAC7H,oGAAoG;YACpG,4CAA4C;QAC9C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,wCAAwC;oBACrD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,MAAM,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;4BAC5F,OAAO,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE;4BAC5F,OAAO,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;4BAClF,KAAK,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;4BAC3F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE;yBAC7G;wBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;qBAChC;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;SAC1C;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,sDAAsD;YACtD,8DAA8D;YAC9D,4FAA4F;YAC5F,mEAAmE;QACrE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC5E,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACtG,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACxF,UAAU,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aAC5E;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC;SAC3C;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,qEAAqE;YACrE,yEAAyE;YACzE,8EAA8E;QAChF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACvF,MAAM,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;gBACpG,KAAK,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sDAAsD,EAAE;gBACrG,OAAO,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE;gBACvG,WAAW,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC3E,WAAW,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAC/E,QAAQ,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE;gBACnG,UAAU,EAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC9F,QAAQ,EAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAC/F,IAAI,EAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE;aACnG;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;SACvE;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2HAA2H;YAC3H,2FAA2F;YAC3F,6FAA6F;YAC7F,2FAA2F;QAC7F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACtF,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;gBACvG,QAAQ,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;gBACxG,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,mEAAmE,EAAE;gBAC3I,IAAI,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;aACtG;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC;SAC/C;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,qEAAqE;YACrE,8EAA8E;YAC9E,uDAAuD;YACvD,uEAAuE;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACtF,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;gBAC7F,MAAM,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAChF,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aACpF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,6GAA6G;YAC7G,qHAAqH;YACrH,+GAA+G;YAC/G,4EAA4E;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACtF,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;aAC7F;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,yFAAyF;YACzF,4HAA4H;YAC5H,sGAAsG;YACtG,iFAAiF;YACjF,4CAA4C;QAC9C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qGAAqG;iBACnH;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD,2EAA2E;IAC3E;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,wEAAwE;YACxE,gFAAgF;YAChF,0DAA0D;YAC1D,wFAAwF;QAC1F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;gBACtF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;gBACnG,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;oBAC3C,WAAW,EAAE,kCAAkC;iBAChD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,0DAA0D;iBACxE;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;aACxF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,6DAA6D;YAC7D,gGAAgG;YAChG,0DAA0D;QAC5D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;gBACtF,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;oBAChE,WAAW,EAAE,yBAAyB;iBACvC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;oBAC3C,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oEAAoE,EAAE;gBAC5G,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;aAC/E;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC;SAChC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,sFAAsF;YACtF,uDAAuD;YACvD,0DAA0D;QAC5D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;oBACxE,WAAW,EAAE,mFAAmF;iBACjG;gBACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBAChE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAC5E,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;oBAC3C,WAAW,EAAE,uCAAuC;iBACrD;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,8DAA8D;YAC9D,+FAA+F;YAC/F,iEAAiE;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;aACjE;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wEAAwE;YACxE,2HAA2H;YAC3H,6DAA6D;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qGAAqG;iBACnH;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,kFAAkF;YAClF,kHAAkH;YAClH,qEAAqE;YACrE,oHAAoH;YACpH,wFAAwF;YACxF,wGAAwG;YACxG,+GAA+G;QACjH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAChG,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACtF,MAAM,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAClE,QAAQ,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAC/G,IAAI,EAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE;aACxF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC;SAC7C;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,yFAAyF;YACzF,sGAAsG;YACtG,kEAAkE;YAClE,kGAAkG;YAClG,mHAAmH;YACnH,wGAAwG;QAC1G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAChG,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;aACnF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,qFAAqF;YACrF,iFAAiF;YACjF,2EAA2E;YAC3E,gFAAgF;YAChF,sGAAsG;YACtG,+DAA+D;YAC/D,wEAAwE;QAC1E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;gBACnF,MAAM,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACxF,SAAS,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;gBAC1G,QAAQ,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE;aAC/F;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC;SAC7C;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,yEAAyE;YACzE,iFAAiF;YACjF,+DAA+D;YAC/D,0HAA0H;YAC1H,4GAA4G;YAC5G,yEAAyE;YACzE,qEAAqE;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBACzF,SAAS,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACxF,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aACpF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;SACvC;KACF;IACD,2EAA2E;IAC3E;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,iFAAiF;YACjF,qDAAqD;YACrD,4EAA4E;YAC5E,6DAA6D;YAC7D,6DAA6D;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACxF,IAAI,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAE;aAC9H;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC;SAC3C;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,uEAAuE;YACvE,uDAAuD;YACvD,mHAAmH;YACnH,6EAA6E;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,UAAU,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8EAA8E,EAAE;gBAC5H,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uEAAuE,EAAE;aACvH;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;SACxC;KACF;IACD,4EAA4E;IAC5E;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,mDAAmD;YACnD,2DAA2D;YAC3D,gGAAgG;QAClG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,2DAA2D;YAC3D,sGAAsG;YACtG,wFAAwF;QAC1F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;gBAC5F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uEAAuE,EAAE;aAC/G;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,6EAA6E;YAC7E,0DAA0D;YAC1D,mEAAmE;YACnE,oGAAoG;YACpG,4EAA4E;QAC9E,4FAA4F;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBACnE,KAAK,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;gBAClE,IAAI,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE;aACpH;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC9B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,8EAA8E;YAC9E,8DAA8D;YAC9D,+DAA+D;QACjE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD,6EAA6E;IAC7E;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,0EAA0E;YAC1E,gFAAgF;YAChF,+FAA+F;YAC/F,8FAA8F;YAC9F,qFAAqF;YACrF,qEAAqE;YACrE,sFAAsF;YACtF,8EAA8E;QAChF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oDAAoD;iBAClE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iFAAiF;wBACjF,uDAAuD;iBAC1D;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACzD,WAAW,EACT,gEAAgE;wBAChE,yDAAyD;iBAC5D;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uEAAuE;iBACrF;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,yEAAyE;YACzE,6EAA6E;YAC7E,+BAA+B;QACjC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,4BAA4B,EAAE;gBAC3E,GAAG,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,WAAW,EAAE;gBAC1D,MAAM,EAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBACvG,GAAG,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,+CAA+C,EAAE;aAC/F;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC;SAC3C;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,2EAA2E;YAC3E,yDAAyD;YACzD,mCAAmC;QACrC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,GAAG,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE;aAC1D;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;SACjC;KACF;IAED,6EAA6E;IAC7E;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,mFAAmF;YACnF,oFAAoF;YACpF,oFAAoF;YACpF,6EAA6E;YAC7E,+CAA+C;YAC/C,wDAAwD;YACxD,4BAA4B;QAC9B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC5E,OAAO,EAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oEAAoE,EAAE;gBACrH,UAAU,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAG,WAAW,EAAE,wEAAwE,EAAE;aAC1H;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,8EAA8E;YAC9E,wFAAwF;YACxF,oEAAoE;YACpE,gEAAgE;YAChE,qFAAqF;QACvF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kEAAkE,EAAE;gBAChH,MAAM,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE;aAChH;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2FAA2F;YAC3F,0FAA0F;YAC1F,kFAAkF;YAClF,qGAAqG;YACrG,0FAA0F;YAC1F,oEAAoE;YACpE,+DAA+D;YAC/D,mGAAmG;YACnG,6FAA6F;YAC7F,8EAA8E;QAChF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC1E,OAAO,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wDAAwD,EAAE;gBACtG,SAAS,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;gBAC5F,IAAI,EAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE;aAChH;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,kFAAkF;YAClF,0FAA0F;YAC1F,2FAA2F;YAC3F,qEAAqE;YACrE,yFAAyF;QAC3F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC3E,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2DAA2D,EAAE;gBAC1G,QAAQ,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8EAA8E,EAAE;aAC9H;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,0FAA0F;YAC1F,4FAA4F;YAC5F,+CAA+C;YAC/C,6FAA6F;YAC7F,0FAA0F;YAC1F,wCAAwC;YACxC,oFAAoF;YACpF,qGAAqG;YACrG,oCAAoC;YACpC,sGAAsG;QACxG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBAC3E,MAAM,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE;gBAChK,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oDAAoD,EAAE;gBACnG,KAAK,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,6EAA6E,EAAE;aACxJ;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD,6EAA6E;IAC7E;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,wEAAwE;YACxE,2FAA2F;YAC3F,0FAA0F;YAC1F,+EAA+E;YAC/E,oEAAoE;YACpE,8EAA8E;YAC9E,iEAAiE;YACjE,sGAAsG;YACtG,sEAAsE;YACtE,mEAAmE;YACnE,+EAA+E;QACjF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4FAA4F,EAAE;gBAC1I,OAAO,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACjI,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qFAAqF,EAAE;gBACnI,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;gBAC5G,QAAQ,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBAC/H,IAAI,EAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE;gBACtH,KAAK,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,mFAAmF,EAAE;aAC3J;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,gGAAgG;YAChG,sEAAsE;YACtE,sGAAsG;YACtG,2EAA2E;YAC3E,sFAAsF;QACxF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,CAAC,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;gBACzG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4EAA4E,EAAE;gBACvH,KAAK,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,gFAAgF,EAAE;gBACpJ,KAAK,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;aAC1F;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,kFAAkF;YAClF,4GAA4G;YAC5G,gEAAgE;QAClE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,2GAA2G;YAC3G,oDAAoD;YACpD,wGAAwG;YACxG,8DAA8D;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;aAC7E;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD,8EAA8E;IAC9E;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,mHAAmH;YACnH,4FAA4F;YAC5F,wGAAwG;QAC1G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,qHAAqH;YACrH,iHAAiH;YACjH,sEAAsE;QACxE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;gBACtG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;aAC1E;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,qEAAqE;YACrE,sGAAsG;YACtG,sEAAsE;YACtE,iFAAiF;YACjF,mEAAmE;YACnE,6EAA6E;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kEAAkE,EAAE;gBAC5G,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;aACjF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;KACF;IACD,4EAA4E;IAC5E;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,iGAAiG;YACjG,iIAAiI;YACjI,wFAAwF;YACxF,oEAAoE;YACpE,iHAAiH;QACnH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;gBACvF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;aAClF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD,4EAA4E;IAC5E;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,0GAA0G;YAC1G,yGAAyG;YACzG,+DAA+D;YAC/D,iGAAiG;QACnG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC;oBACpD,WAAW,EAAE,mBAAmB;iBACjC;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0DAA0D;wBAC1D,oDAAoD;wBACpD,qCAAqC;iBACxC;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;SAC/C;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,+FAA+F;YAC/F,+FAA+F;YAC/F,iDAAiD;YACjD,qGAAqG;YACrG,4DAA4D;YAC5D,oFAAoF;QACtF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACtF,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;oBAC9C,WAAW,EAAE,gDAAgD;iBAC9D;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD,4EAA4E;IAC5E;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,+FAA+F;YAC/F,mGAAmG;YACnG,qFAAqF;YACrF,yFAAyF;QAC3F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;gBAClG,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;oBAC/B,WAAW,EAAE,8BAA8B;iBAC5C;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;SACxC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,2GAA2G;YAC3G,kGAAkG;YAClG,wEAAwE;QAC1E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC5D,aAAa,EAAE;oBACb,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,wDAAwD;iBACtE;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,2EAA2E;YAC3E,wFAAwF;YACxF,0FAA0F;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBACxE,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,cAAc,CAAC;oBACpD,WAAW,EAAE,8BAA8B;iBAC5C;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC;SAC9C;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,qGAAqG;YACrG,wGAAwG;QAC1G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,kGAAkG;YAClG,4EAA4E;YAC5E,4GAA4G;YAC5G,yGAAyG;YACzG,mGAAmG;YACnG,uFAAuF;QACzF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBACpF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBACpF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yFAAyF,EAAE;gBAClI,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oDAAoD,EAAE;gBACrG,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oEAAoE,EAAE;aAChH;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC9C;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,+FAA+F;YAC/F,0FAA0F;YAC1F,gGAAgG;QAClG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gDAAgD,EAAE;aAC7F;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,uGAAuG;YACvG,kGAAkG;YAClG,2EAA2E;QAC7E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;aACnG;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mGAAmG;YACnG,sGAAsG;YACtG,wGAAwG;YACxG,2FAA2F;QAC7F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;gBACjG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;gBACzF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sDAAsD,EAAE;gBAC/F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;gBACpG,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kFAAkF,EAAE;aAClI;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,2FAA2F;YAC3F,mGAAmG;YACnG,wFAAwF;YACxF,0EAA0E;QAC5E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACjE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;gBACxG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sDAAsD,EAAE;gBAC9F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE;aAC1G;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC;KACF;IAED,4EAA4E;IAC5E,oEAAoE;IACpE,iFAAiF;IACjF;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mDAAmD;YACnD,gGAAgG;YAChG,wCAAwC;QAC1C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,+CAA+C;YAC/C,+CAA+C;YAC/C,0BAA0B;QAC5B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBAChF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBACzE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAChF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;aAC7E;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,4EAA4E;YAC5E,+CAA+C;YAC/C,yFAAyF;QAC3F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;aACnF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;aACvE;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,+EAA+E;YAC/E,0EAA0E;YAC1E,6EAA6E;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;oBACzC,WAAW,EAAE,qCAAqC;iBACnD;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,4EAA4E;YAC5E,iFAAiF;QACnF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBACnE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;gBACnE,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;oBACpG,WAAW,EAAE,4BAA4B;iBAC1C;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;SAClC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;aAC9E;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2FAA2F;YAC3F,oEAAoE;YACpE,qFAAqF;QACvF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBACrE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+DAA+D,EAAE;aAC1G;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,gGAAgG;YAChG,qGAAqG;YACrG,2EAA2E;QAC7E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAC/E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;aACvG;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,0GAA0G;YAC1G,iEAAiE;YACjE,kGAAkG;YAClG,iFAAiF;QACnF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2DAA2D,EAAE;gBAClG,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;aACvG;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yDAAyD;YACzD,mGAAmG;YACnG,8FAA8F;QAChG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,sGAAsG;YACtG,2GAA2G;YAC3G,+GAA+G;YAC/G,sFAAsF;QACxF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,yFAAyF;YACzF,0EAA0E;YAC1E,qFAAqF;QACvF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,oFAAoF;YACpF,4FAA4F;YAC5F,oFAAoF;YACpF,iEAAiE;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yEAAyE;iBACvF;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;CACO,CAAC;AAGX,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAI,GAA8B,EAAE,QAAW;IAC1E,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,21 +1,22 @@
1
1
  {
2
2
  "name": "@cachly-dev/mcp-server",
3
- "version": "0.10.56",
3
+ "version": "0.10.57",
4
4
  "mcpName": "io.github.cachly-dev/cachly-mcp",
5
- "description": "Your AI forgets everything between sessions. cachly fixes that permanently. Persistent memory + causal root-cause analysis for Claude Code, Cursor, Copilot & Windsurf. Learns from every bug fix, git commit, and CI run automatically. Arrives pre-briefed. Predicts failures before they happen. 80 MCP tools · Free tier forever · GDPR · EU servers.",
5
+ "description": "Your AI forgets everything between sessions. cachly fixes that permanently. Persistent memory + causal root-cause analysis for Claude Code, Cursor, Copilot & Windsurf. Learns from every bug fix, git commit, and CI run automatically. Arrives pre-briefed. Predicts failures before they happen. 95 MCP tools · Free tier forever · GDPR · EU servers.",
6
6
  "type": "module",
7
7
  "bin": {
8
- "cachly-mcp": "dist/index.js"
8
+ "cachly-mcp": "dist/src/index.js"
9
9
  },
10
- "main": "./dist/index.js",
10
+ "main": "./dist/src/index.js",
11
11
  "scripts": {
12
12
  "count-tools": "grep -c \"name: '\" src/tools.ts",
13
13
  "build": "tsc",
14
14
  "postinstall": "node scripts/postinstall.js",
15
15
  "dev": "tsx src/index.ts",
16
- "start": "node dist/index.js",
16
+ "start": "node dist/src/index.js",
17
17
  "test": "vitest run",
18
18
  "test:watch": "vitest",
19
+ "bench": "tsx src/bench/cachly-bench.ts",
19
20
  "test:e2e": "bash scripts/e2e-run.sh",
20
21
  "test:e2e:api": "bash scripts/e2e-run.sh api",
21
22
  "test:e2e:cli": "bash scripts/e2e-run.sh cli",
@@ -30,12 +31,12 @@
30
31
  "ioredis": "^5.10.1"
31
32
  },
32
33
  "devDependencies": {
33
- "@eslint/js": "^9",
34
+ "@eslint/js": "^9.39.4",
34
35
  "@types/node": "^22",
35
36
  "eslint": "^9",
36
- "typescript-eslint": "^8",
37
37
  "tsx": "^4",
38
38
  "typescript": "^5",
39
+ "typescript-eslint": "^8",
39
40
  "vitest": "^3.2.4"
40
41
  },
41
42
  "engines": {
@@ -0,0 +1,106 @@
1
+ # telegram-notify: Monorepo → Post-Split Strategy (Option B)
2
+
3
+ ## Situation
4
+
5
+ `telegram-notify` is a shared package living at `packages/telegram-notify/` in the
6
+ `cachly-dev/cachly-mcp` monorepo. It is consumed by:
7
+
8
+ - **cachly-mcp** (TypeScript) — imports `packages/telegram-notify/client.ts` directly
9
+ - **travel-chaos-organizer** (Python) — installs via `pip install /packages/telegram-notify`
10
+ inside the Docker build
11
+
12
+ When TCO moves to its own repository, the shared path no longer exists. This document
13
+ describes **Option B**: keep the package in the cachly-mcp repo and reference it via git.
14
+
15
+ ---
16
+
17
+ ## Option B: Git Subdirectory Dependency
18
+
19
+ The package stays at `cachly-dev/cachly-mcp/packages/telegram-notify/`. Both consumers
20
+ point to it by git URL with a `subdirectory=` specifier. No separate PyPI publish needed.
21
+
22
+ ### Python (TCO requirements.txt)
23
+
24
+ ```
25
+ # During monorepo phase (current)
26
+ telegram-notify @ file:///packages/telegram-notify
27
+
28
+ # After TCO moves to its own repo — replace the line above with:
29
+ telegram-notify @ git+https://github.com/cachly-dev/cachly-mcp.git@main#subdirectory=packages/telegram-notify
30
+ ```
31
+
32
+ Pin a specific commit or tag for stability:
33
+
34
+ ```
35
+ telegram-notify @ git+https://github.com/cachly-dev/cachly-mcp.git@v0.1.0#subdirectory=packages/telegram-notify
36
+ ```
37
+
38
+ ### TypeScript (cachly-mcp)
39
+
40
+ No change needed — `client.ts` is already a local file inside the same repo.
41
+
42
+ If cachly-mcp ever needs to reference it externally (e.g. a second TS consumer in a
43
+ separate repo), add it to `package.json`:
44
+
45
+ ```json
46
+ "telegram-notify": "github:cachly-dev/cachly-mcp#path:packages/telegram-notify"
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Versioning
52
+
53
+ | Trigger | Action |
54
+ |---------|--------|
55
+ | Breaking API change | Bump `version` in `pyproject.toml`, push a git tag (`v0.2.0`) |
56
+ | Emoji / copy change | No version bump needed |
57
+ | New event key | Minor bump (`v0.1.1`) |
58
+
59
+ TCO pins to a tag in `requirements.txt`. Update the pin whenever you want to pull in
60
+ new functionality.
61
+
62
+ ```bash
63
+ # In the TCO repo, after a new tag is pushed to cachly-mcp:
64
+ pip install "telegram-notify @ git+https://github.com/cachly-dev/cachly-mcp.git@v0.2.0#subdirectory=packages/telegram-notify"
65
+ # Then update requirements.txt accordingly
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Environment Variables
71
+
72
+ Both apps use the same bot token but separate chat IDs:
73
+
74
+ | Variable | Required by | Purpose |
75
+ |----------|-------------|---------|
76
+ | `TELEGRAM_BOT_TOKEN` | cachly-mcp, TCO backend | Shared bot token from @BotFather |
77
+ | `CACHLY_TELEGRAM_CHAT_ID` | cachly-mcp | Admin channel for Cachly MCP events |
78
+ | `TCO_TELEGRAM_CHAT_ID` | TCO backend | Admin channel for TCO backend events |
79
+ | `TELEGRAM_CHAT_ID` | both (fallback) | Optional catch-all if app-specific var not set |
80
+
81
+ The `notify(app, event, payload)` function derives the chat ID from
82
+ `{APP_UPPER}_TELEGRAM_CHAT_ID` automatically — no code change needed when apps diverge.
83
+
84
+ ---
85
+
86
+ ## Migration Checklist (when TCO splits)
87
+
88
+ - [ ] Create a new TCO repo
89
+ - [ ] In TCO `requirements.txt`: replace `file:///packages/telegram-notify` with the
90
+ `git+https://…` URL pinned to the latest tag
91
+ - [ ] In TCO `.env.example`: document `TELEGRAM_BOT_TOKEN` and `TCO_TELEGRAM_CHAT_ID`
92
+ - [ ] Add `TELEGRAM_BOT_TOKEN` and `TCO_TELEGRAM_CHAT_ID` as secrets in the TCO repo's
93
+ CI/CD (GitHub Actions, Fly.io, etc.)
94
+ - [ ] Update TCO Dockerfile: remove the `COPY packages/telegram-notify` block and the
95
+ separate `pip install` step — the `git+https://` URL in `requirements.txt` handles it
96
+ - [ ] Verify `telegram_notify` import works in a clean Docker build in the new repo
97
+ - [ ] Tag the cachly-mcp commit that TCO depends on (e.g. `git tag v0.1.0`)
98
+
99
+ ---
100
+
101
+ ## Why Not Option A (publish to PyPI / npm)?
102
+
103
+ Publishing requires a release pipeline, package namespacing, and credentials. For an
104
+ internal package shared between two controlled repos, a git URL with subdirectory is
105
+ simpler, keeps the source co-located with the cachly-mcp codebase, and requires no
106
+ external registry accounts. Revisit PyPI if a third consumer appears.
@@ -0,0 +1,88 @@
1
+ /**
2
+ * telegram-notify — shared Telegram notification client.
3
+ *
4
+ * Used by cachly-mcp (TypeScript) and TCO backend (Python via client.py).
5
+ * Single source of truth for: emoji map, message format, env var convention.
6
+ *
7
+ * Interface: notify(app, event, payload)
8
+ *
9
+ * Env vars:
10
+ * TELEGRAM_BOT_TOKEN — bot token from @BotFather
11
+ * {APP_UPPER}_TELEGRAM_CHAT_ID — app-specific channel (e.g. CACHLY_TELEGRAM_CHAT_ID)
12
+ * TELEGRAM_CHAT_ID — fallback for all apps
13
+ *
14
+ * No-op when unconfigured. Never throws.
15
+ *
16
+ * Note: emoji map is kept in sync with emojis.json (Python reads the JSON file at runtime).
17
+ */
18
+
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
+ declare const process: { env: Record<string, string | undefined> };
21
+
22
+ const EMOJI: Record<string, string> = {
23
+ tool_call: '🔧',
24
+ tool_error: '🔴',
25
+ cache_hit: '⚡',
26
+ cache_miss: '💭',
27
+ auth_ok: '🔑',
28
+ auth_fail: '🚫',
29
+ startup: '🚀',
30
+ waitlist_signup: '📬',
31
+ parse_file: '📄',
32
+ parse_text: '📝',
33
+ parse_url: '🔗',
34
+ trip_created: '🗺️',
35
+ trip_deleted: '🗑️',
36
+ error: '🔴',
37
+ stripe_payment: '💳',
38
+ stripe_checkout: '🛒',
39
+ new_user: '🆕',
40
+ pdf_export: '📑',
41
+ trip_search: '🔍',
42
+ default: '🔔',
43
+ };
44
+
45
+ function getToken(): string {
46
+ return process.env.TELEGRAM_BOT_TOKEN ?? '';
47
+ }
48
+
49
+ function getChatId(app: string): string {
50
+ const key = `${app.toUpperCase()}_TELEGRAM_CHAT_ID`;
51
+ return process.env[key] ?? process.env.TELEGRAM_CHAT_ID ?? '';
52
+ }
53
+
54
+ export function formatMessage(
55
+ app: string,
56
+ event: string,
57
+ payload: Record<string, unknown>,
58
+ ): string {
59
+ const icon = EMOJI[event] ?? EMOJI['default'];
60
+ const lines = [`${icon} *${app.toUpperCase()}* · \`${event}\``];
61
+ for (const [k, v] of Object.entries(payload)) {
62
+ if (v !== null && v !== undefined && v !== '') {
63
+ lines.push(` ${k}: \`${String(v)}\``);
64
+ }
65
+ }
66
+ return lines.join('\n');
67
+ }
68
+
69
+ export async function notify(
70
+ app: string,
71
+ event: string,
72
+ payload: Record<string, unknown> = {},
73
+ ): Promise<void> {
74
+ const token = getToken();
75
+ const chatId = getChatId(app);
76
+ if (!token || !chatId) return;
77
+ try {
78
+ const text = formatMessage(app, event, payload);
79
+ await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {
80
+ method: 'POST',
81
+ headers: { 'Content-Type': 'application/json' },
82
+ body: JSON.stringify({ chat_id: chatId, text, parse_mode: 'Markdown' }),
83
+ signal: AbortSignal.timeout(5000),
84
+ });
85
+ } catch {
86
+ // never throws
87
+ }
88
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "tool_call": "🔧",
3
+ "tool_error": "🔴",
4
+ "cache_hit": "⚡",
5
+ "cache_miss": "💭",
6
+ "auth_ok": "🔑",
7
+ "auth_fail": "🚫",
8
+ "startup": "🚀",
9
+ "waitlist_signup": "📬",
10
+ "parse_file": "📄",
11
+ "parse_text": "📝",
12
+ "parse_url": "🔗",
13
+ "trip_created": "🗺️",
14
+ "trip_deleted": "🗑️",
15
+ "error": "🔴",
16
+ "stripe_payment": "💳",
17
+ "stripe_checkout": "🛒",
18
+ "new_user": "🆕",
19
+ "pdf_export": "📑",
20
+ "trip_search": "🔍",
21
+ "default": "🔔"
22
+ }
@@ -0,0 +1,17 @@
1
+ [build-system]
2
+ requires = ["setuptools>=42", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "telegram-notify"
7
+ version = "0.1.0"
8
+ description = "Shared Telegram notification client for cachly-mcp monorepo"
9
+ requires-python = ">=3.11"
10
+ dependencies = ["httpx>=0.27"]
11
+
12
+ [tool.setuptools.packages.find]
13
+ where = ["."]
14
+ include = ["telegram_notify*"]
15
+
16
+ [tool.setuptools.package-data]
17
+ telegram_notify = ["emojis.json"]
@@ -0,0 +1,3 @@
1
+ from .client import notify, notify_user, format_message
2
+
3
+ __all__ = ["notify", "notify_user", "format_message"]