@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syndicate.js","sourceRoot":"","sources":["../../../src/handlers/syndicate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Travel Chaos Organizer — MCP bridge.
3
+ *
4
+ * Exposes the TCO REST API as MCP tools so any Claude instance with cachly-mcp
5
+ * configured can manage travel plans through natural language.
6
+ *
7
+ * Auth: TCO and Cachly share the same Keycloak realm, so the Cachly JWT
8
+ * (CACHLY_JWT env var) is forwarded as-is to the TCO backend — no extra
9
+ * credentials needed.
10
+ *
11
+ * Config:
12
+ * TCO_API_URL — base URL of the TCO FastAPI backend (e.g. http://localhost:8000)
13
+ * If not set, all tools return a configuration error.
14
+ */
15
+ export declare const TCO_TOOL_NAMES: Set<string>;
16
+ export declare function handleTcoTool(name: string, args: Record<string, unknown>, jwt: string): Promise<string | null>;
@@ -0,0 +1,303 @@
1
+ /**
2
+ * Travel Chaos Organizer — MCP bridge.
3
+ *
4
+ * Exposes the TCO REST API as MCP tools so any Claude instance with cachly-mcp
5
+ * configured can manage travel plans through natural language.
6
+ *
7
+ * Auth: TCO and Cachly share the same Keycloak realm, so the Cachly JWT
8
+ * (CACHLY_JWT env var) is forwarded as-is to the TCO backend — no extra
9
+ * credentials needed.
10
+ *
11
+ * Config:
12
+ * TCO_API_URL — base URL of the TCO FastAPI backend (e.g. http://localhost:8000)
13
+ * If not set, all tools return a configuration error.
14
+ */
15
+ const TCO_URL = process.env.TCO_API_URL ?? '';
16
+ export const TCO_TOOL_NAMES = new Set([
17
+ 'tco_list_trips',
18
+ 'tco_create_trip',
19
+ 'tco_get_timeline',
20
+ 'tco_delete_trip',
21
+ 'tco_inbox_list',
22
+ 'tco_inbox_assign',
23
+ 'tco_inbox_reject',
24
+ 'tco_parse_url',
25
+ 'tco_import_email',
26
+ 'tco_parse_text',
27
+ 'tco_cache_stats',
28
+ 'tco_provision_cache',
29
+ 'tco_telegram_status',
30
+ 'tco_telegram_send',
31
+ ]);
32
+ async function tcoFetch(path, jwt, init = {}) {
33
+ if (!TCO_URL) {
34
+ throw new Error('TCO_API_URL is not configured. Add `TCO_API_URL=http://<your-tco-host>:8000` to your environment.');
35
+ }
36
+ const res = await fetch(`${TCO_URL}${path}`, {
37
+ ...init,
38
+ headers: {
39
+ Authorization: `Bearer ${jwt}`,
40
+ 'Content-Type': 'application/json',
41
+ ...(init.headers ?? {}),
42
+ },
43
+ signal: AbortSignal.timeout(20_000),
44
+ });
45
+ if (!res.ok) {
46
+ const text = await res.text().catch(() => '');
47
+ throw new Error(`TCO API ${res.status}: ${text}`);
48
+ }
49
+ const ct = res.headers.get('content-type') ?? '';
50
+ if (res.status === 204 || !ct.includes('application/json'))
51
+ return null;
52
+ return res.json();
53
+ }
54
+ function noConfig() {
55
+ return ('⚙️ **TCO not configured.**\n\n' +
56
+ 'Set `TCO_API_URL=http://<host>:8000` in your environment and restart cachly-mcp.\n' +
57
+ 'See `apps/travel-chaos-organizer/README.md` for setup instructions.');
58
+ }
59
+ function fmt(data) {
60
+ return JSON.stringify(data, null, 2);
61
+ }
62
+ export async function handleTcoTool(name, args, jwt) {
63
+ if (!TCO_TOOL_NAMES.has(name))
64
+ return null;
65
+ if (!TCO_URL)
66
+ return noConfig();
67
+ try {
68
+ switch (name) {
69
+ // ── List all trips ───────────────────────────────────────────────────
70
+ case 'tco_list_trips': {
71
+ const trips = await tcoFetch('/api/v1/trips', jwt);
72
+ const list = trips;
73
+ if (!list.length)
74
+ return '📭 No trips yet. Use `tco_create_trip` to get started.';
75
+ const rows = list.map((t) => {
76
+ const dates = t.start_date
77
+ ? `${t.start_date}${t.end_date ? ` → ${t.end_date}` : ''}`
78
+ : 'no dates';
79
+ return `• **${t.name}** \`${t.id}\` — ${dates}`;
80
+ });
81
+ return `🗺️ **Your trips (${list.length}):**\n\n${rows.join('\n')}`;
82
+ }
83
+ // ── Create a trip ────────────────────────────────────────────────────
84
+ case 'tco_create_trip': {
85
+ const { name: tripName, description = null, start_date = null, end_date = null } = args;
86
+ const trip = await tcoFetch('/api/v1/trips', jwt, {
87
+ method: 'POST',
88
+ body: JSON.stringify({ name: tripName, description, start_date, end_date }),
89
+ });
90
+ const t = trip;
91
+ return `✅ Trip **${t.name}** created (id: \`${t.id}\`)`;
92
+ }
93
+ // ── Get timeline for a trip ──────────────────────────────────────────
94
+ case 'tco_get_timeline': {
95
+ const { trip_id } = args;
96
+ const items = await tcoFetch(`/api/v1/trips/${trip_id}/items`, jwt);
97
+ const list = items;
98
+ if (!list.length)
99
+ return `📂 Trip \`${trip_id}\` has no timeline items yet. Upload a document to get started.`;
100
+ const TYPE_ICONS = {
101
+ flight: '✈️', train: '🚂', bus: '🚌', hotel: '🏨',
102
+ rental_car: '🚗', activity: '🎡', transfer: '🚕', document: '📄', other: '📋',
103
+ };
104
+ const rows = list.map((i) => {
105
+ const icon = TYPE_ICONS[i.type] ?? '📋';
106
+ const time = i.event_at ? ` · ${i.event_at.slice(0, 16).replace('T', ' ')}` : '';
107
+ const ref = i.booking_ref ? ` · #${i.booking_ref}` : '';
108
+ const provider = i.provider ? ` · ${i.provider}` : '';
109
+ return `${icon} **${i.title}**${time}${provider}${ref}`;
110
+ });
111
+ return `📅 **Timeline (${list.length} items):**\n\n${rows.join('\n')}`;
112
+ }
113
+ // ── Delete a trip ────────────────────────────────────────────────────
114
+ case 'tco_delete_trip': {
115
+ const { trip_id } = args;
116
+ await tcoFetch(`/api/v1/trips/${trip_id}`, jwt, { method: 'DELETE' });
117
+ return `🗑️ Trip \`${trip_id}\` deleted.`;
118
+ }
119
+ // ── Inbox: list pending items ────────────────────────────────────────
120
+ case 'tco_inbox_list': {
121
+ const status = args.status ?? 'pending';
122
+ const items = await tcoFetch(`/api/v1/inbox?status_filter=${status}`, jwt);
123
+ const list = items;
124
+ if (!list.length)
125
+ return `🎉 Chaos inbox is empty (status: ${status}).`;
126
+ const rows = list.map((i) => {
127
+ const pd = i.parsed_data;
128
+ const title = pd?.title ?? '(no title)';
129
+ const src = i.source ?? 'unknown source';
130
+ return `• **${title}** \`${i.id}\` — from ${src}`;
131
+ });
132
+ return `📥 **Inbox (${list.length} ${status}):**\n\n${rows.join('\n')}\n\nUse \`tco_inbox_assign\` to move to a trip.`;
133
+ }
134
+ // ── Inbox: assign item to trip ───────────────────────────────────────
135
+ case 'tco_inbox_assign': {
136
+ const { inbox_id, trip_id, type = 'other' } = args;
137
+ const result = await tcoFetch(`/api/v1/inbox/${inbox_id}/assign`, jwt, {
138
+ method: 'POST',
139
+ body: JSON.stringify({ trip_id, type }),
140
+ });
141
+ const r = result;
142
+ return `✅ Inbox item assigned to trip. New timeline item id: \`${r.trip_item_id}\``;
143
+ }
144
+ // ── Inbox: reject / delete item ──────────────────────────────────────
145
+ case 'tco_inbox_reject': {
146
+ const { inbox_id } = args;
147
+ await tcoFetch(`/api/v1/inbox/${inbox_id}`, jwt, { method: 'DELETE' });
148
+ return `🗑️ Inbox item \`${inbox_id}\` rejected and removed.`;
149
+ }
150
+ // ── Parse a public URL into a trip ───────────────────────────────────
151
+ case 'tco_parse_url': {
152
+ const { url, trip_id } = args;
153
+ const body = { url };
154
+ if (trip_id)
155
+ body.trip_id = trip_id;
156
+ const result = await tcoFetch('/api/v1/parse/url', jwt, {
157
+ method: 'POST',
158
+ body: JSON.stringify(body),
159
+ });
160
+ const r = result;
161
+ const confidence = typeof r.confidence === 'number' ? ` (confidence: ${Math.round(r.confidence * 100)}%)` : '';
162
+ const dest = trip_id ? `trip \`${trip_id}\`` : 'chaos inbox';
163
+ return `✅ URL parsed and saved to ${dest}${confidence}.\n\nParsed: ${fmt(r.parsed_data ?? r)}`;
164
+ }
165
+ // ── Import email text into inbox or trip ─────────────────────────────
166
+ case 'tco_import_email': {
167
+ const { raw_email, trip_id } = args;
168
+ const body = { raw_email };
169
+ if (trip_id)
170
+ body.trip_id = trip_id;
171
+ const result = await tcoFetch('/api/v1/mail/import', jwt, {
172
+ method: 'POST',
173
+ body: JSON.stringify(body),
174
+ });
175
+ const r = result;
176
+ const dest = trip_id ? `trip \`${trip_id}\`` : 'chaos inbox';
177
+ return `✅ Email imported to ${dest}. Inbox id: \`${r.inbox_id ?? '?'}\``;
178
+ }
179
+ // ── Parse raw text via Ollama (Cachly-cached) ────────────────────────
180
+ case 'tco_parse_text': {
181
+ const { text, trip_id } = args;
182
+ const params = new URLSearchParams();
183
+ params.set('raw_text', text);
184
+ if (trip_id)
185
+ params.set('trip_id', trip_id);
186
+ const result = await tcoFetch('/api/v1/parse/text', jwt, {
187
+ method: 'POST',
188
+ body: params.toString(),
189
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
190
+ });
191
+ const r = result;
192
+ const parsed = r.parsed;
193
+ const cached = r.cached;
194
+ const dest = trip_id ? `trip \`${trip_id}\`` : 'Chaos Inbox';
195
+ const cacheNote = cached ? ' ⚡ **(Cache Hit — kein AI-Call)**' : '';
196
+ const confidence = typeof parsed?.confidence === 'number'
197
+ ? ` (confidence: ${Math.round(parsed.confidence * 100)}%)`
198
+ : '';
199
+ return `✅ Text geparst und in ${dest} gespeichert${confidence}${cacheNote}.\n\nParsed: ${fmt(parsed ?? r)}`;
200
+ }
201
+ // ── Cachly Redis cache stats ─────────────────────────────────────────
202
+ case 'tco_cache_stats': {
203
+ const stats = await tcoFetch('/api/v1/cache/stats', jwt);
204
+ if (!stats.configured) {
205
+ return ('📭 **Cachly Redis ist nicht verbunden.**\n\n' +
206
+ 'Setze `CACHLY_REDIS_URL=redis://<host>:6379/0` in der TCO `.env` und deploye neu.\n' +
207
+ 'Nutze `tco_provision_cache` um eine kostenlose Cachly-Instanz zu erstellen.');
208
+ }
209
+ const hits = stats.hits;
210
+ const misses = stats.misses;
211
+ const total = hits + misses;
212
+ const hitPct = total > 0 ? Math.round((hits / total) * 100) : 0;
213
+ const saved = hits > 0
214
+ ? `\n\n💡 **~${hits} AI-Calls eingespart** (jeder Cache Hit = kein Ollama-Aufruf).`
215
+ : '';
216
+ return (`✅ **Cachly Redis — aktiv**\n\n` +
217
+ `| Metric | Wert |\n|--------|------|\n` +
218
+ `| Cache Hits | **${hits}** |\n` +
219
+ `| Cache Misses | ${misses} |\n` +
220
+ `| Hit Rate | **${hitPct}%** |\n` +
221
+ `| Gecachte Dokumente | ${stats.key_count} |\n` +
222
+ `| TTL | ${stats.ttl_days} Tage |` +
223
+ saved);
224
+ }
225
+ // ── Provision a Cachly free instance for TCO ─────────────────────────
226
+ case 'tco_provision_cache': {
227
+ const CACHLY_API = process.env.CACHLY_API_URL ?? 'https://api.cachly.dev';
228
+ const res = await fetch(`${CACHLY_API}/api/v1/instances`, {
229
+ method: 'POST',
230
+ headers: {
231
+ Authorization: `Bearer ${jwt}`,
232
+ 'Content-Type': 'application/json',
233
+ },
234
+ body: JSON.stringify({ name: 'tco-cache', tier: 'free' }),
235
+ signal: AbortSignal.timeout(30_000),
236
+ });
237
+ if (!res.ok) {
238
+ const txt = await res.text().catch(() => '');
239
+ // Instance may already exist — try to fetch it
240
+ if (res.status === 409 || txt.includes('already')) {
241
+ const listRes = await fetch(`${CACHLY_API}/api/v1/instances`, {
242
+ headers: { Authorization: `Bearer ${jwt}` },
243
+ });
244
+ if (listRes.ok) {
245
+ const list = await listRes.json();
246
+ const existing = list.find((i) => i.name === 'tco-cache');
247
+ if (existing) {
248
+ return (`ℹ️ **Instanz "tco-cache" existiert bereits.**\n\n` +
249
+ `Redis URL: \`${existing.redis_url ?? existing.connection_string ?? '(siehe Cachly Dashboard)'}\`\n\n` +
250
+ `Setze in der TCO \`.env\`:\n\`\`\`\nCACHLY_REDIS_URL=${existing.redis_url ?? existing.connection_string}\n\`\`\`\n` +
251
+ `Dann: \`bash scripts/deploy.sh\``);
252
+ }
253
+ }
254
+ }
255
+ throw new Error(`Cachly API ${res.status}: ${txt}`);
256
+ }
257
+ const instance = await res.json();
258
+ const redisUrl = instance.redis_url ?? instance.connection_string ?? '';
259
+ return (`🎉 **Cachly Redis Instanz erstellt!**\n\n` +
260
+ `Name: \`tco-cache\` (Free Tier, 25 MB)\n` +
261
+ `Redis URL: \`${redisUrl}\`\n\n` +
262
+ `**Setup (2 Schritte):**\n` +
263
+ `1. Füge zur TCO \`.env\` hinzu:\n\`\`\`\nCACHLY_REDIS_URL=${redisUrl}\n\`\`\`\n` +
264
+ `2. Neu deployen:\n\`\`\`bash\nbash scripts/deploy.sh\n\`\`\`\n\n` +
265
+ `Ab sofort werden alle Ollama Parse-Ergebnisse gecacht — kein zweiter AI-Call für dasselbe Dokument.`);
266
+ }
267
+ // ── Telegram: check linked status ────────────────────────────────────
268
+ case 'tco_telegram_status': {
269
+ const me = await tcoFetch('/api/v1/users/me', jwt);
270
+ const linked = me.telegram_linked === true;
271
+ if (linked) {
272
+ return (`✅ **Telegram ist verknüpft.**\n\n` +
273
+ `Plan: ${me.plan === 'pro' ? '✦ Pro' : 'Free'}\n\n` +
274
+ `Du kannst mit \`tco_telegram_send\` direkt Nachrichten an den User senden.`);
275
+ }
276
+ return (`🔴 **Telegram nicht verknüpft.**\n\n` +
277
+ `Der User muss in der TCO-App unter *Einstellungen → Mit Telegram verknüpfen* einen PIN generieren ` +
278
+ `und diesen an @TCOBot senden (\`/link <PIN>\`).`);
279
+ }
280
+ // ── Telegram: send message to user ───────────────────────────────────
281
+ case 'tco_telegram_send': {
282
+ const { message } = args;
283
+ const me = await tcoFetch('/api/v1/users/me', jwt);
284
+ if (!me.telegram_linked) {
285
+ return (`🔴 **Telegram nicht verknüpft** — Nachricht wurde nicht gesendet.\n\n` +
286
+ `Nutze \`tco_telegram_status\` für Details zur Verknüpfung.`);
287
+ }
288
+ await tcoFetch('/api/v1/users/telegram-notify', jwt, {
289
+ method: 'POST',
290
+ body: JSON.stringify({ message }),
291
+ });
292
+ return `✅ Telegram-Nachricht gesendet:\n\n> ${message.slice(0, 200)}${message.length > 200 ? '…' : ''}`;
293
+ }
294
+ default:
295
+ return null;
296
+ }
297
+ }
298
+ catch (err) {
299
+ const msg = err instanceof Error ? err.message : String(err);
300
+ return `❌ TCO error: ${msg}`;
301
+ }
302
+ }
303
+ //# sourceMappingURL=tco.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tco.js","sourceRoot":"","sources":["../../../src/handlers/tco.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { join } from 'node:path';
3
3
  import { calculateConfidence, CONFIDENCE_STALE_VALUE, CONFIDENCE_WARN_VALUE, CONFIDENCE_WARN_DAYS, CONFIDENCE_STALE_DAYS } from '../confidence.js';
4
4
  import { safeJsonParse } from '../utils.js';
5
5
  export const TEAM_TOOL_NAMES = new Set([
6
- 'sync_file_changes', 'team_learn', 'team_recall', 'team_synthesize', 'memory_crystalize',
6
+ 'sync_file_changes', 'team_learn', 'team_confirm', 'team_recall', 'team_synthesize', 'memory_crystalize',
7
7
  'brain_doctor', 'recall_at', 'trace_dependency', 'global_learn', 'global_recall',
8
8
  'publish_lesson', 'import_public_brain', 'setup_ai_memory',
9
9
  ]);
@@ -83,9 +83,7 @@ export async function handleTeamTool(name, args, getConnection, apiFetch) {
83
83
  file_paths: file_paths ?? [],
84
84
  commands: commands ?? [],
85
85
  tags: [...(tags ?? []), 'team'],
86
- ts: new Date().toISOString(),
87
- verified_at: outcome === 'success' ? new Date().toISOString() : undefined,
88
- confidence: 1.0,
86
+ timestamp: new Date().toISOString(),
89
87
  recall_count: 0,
90
88
  version: 2,
91
89
  };
@@ -97,6 +95,51 @@ export async function handleTeamTool(name, args, getConnection, apiFetch) {
97
95
  }
98
96
  return `✅ Team lesson stored by **${author}**: \`${topic}\` (${outcome})\n💡 ${what_worked.slice(0, 120)}`;
99
97
  }
98
+ // ── team_confirm — knowledge governance (Phase 3) ─────────────────────────
99
+ // A human reviewer endorses a stored lesson. The endorsement raises the
100
+ // lesson's recall ranking (see src/rerank.ts), so trusted, reviewed knowledge
101
+ // surfaces above unreviewed auto-learned entries.
102
+ case 'team_confirm': {
103
+ const { instance_id, topic, reviewer, level = 'peer', note = '' } = args;
104
+ if (!instance_id)
105
+ return '❌ instance_id required';
106
+ if (!topic || !reviewer)
107
+ return '❌ Required: topic, reviewer';
108
+ const reviewLevel = level === 'senior' ? 'senior' : 'peer';
109
+ const redis = await getConnection(instance_id);
110
+ const key = `cachly:lesson:best:${topic}`;
111
+ const raw = await redis.get(key);
112
+ const lesson = safeJsonParse(raw, null);
113
+ if (!lesson) {
114
+ return `📭 No best-solution lesson found for \`${topic}\`.\n\nA lesson must exist (store one with \`team_learn\` / \`learn_from_attempts\`) before it can be confirmed.`;
115
+ }
116
+ // Track distinct reviewers so endorsements can't be inflated by one person.
117
+ const endorsersKey = `cachly:lesson:endorsers:${topic}`;
118
+ const added = await redis.sadd(endorsersKey, reviewer);
119
+ await redis.expire(endorsersKey, 365 * 86400);
120
+ const endorsements = await redis.scard(endorsersKey);
121
+ // Senior beats peer; never downgrade an existing senior review to peer.
122
+ const prevLevel = lesson.review_level ?? '';
123
+ const effectiveLevel = prevLevel === 'senior' ? 'senior' : reviewLevel;
124
+ const updated = {
125
+ ...lesson,
126
+ reviewed_by: reviewer,
127
+ review_level: effectiveLevel,
128
+ endorsements,
129
+ reviewed_at: new Date().toISOString(),
130
+ };
131
+ await redis.set(key, JSON.stringify(updated));
132
+ // Append an immutable review record for the audit trail.
133
+ const reviewLog = {
134
+ reviewer, level: reviewLevel, note: note.slice(0, 280), ts: new Date().toISOString(),
135
+ };
136
+ const logKey = `cachly:lesson:reviews:${topic}`;
137
+ await redis.rpush(logKey, JSON.stringify(reviewLog));
138
+ await redis.ltrim(logKey, -50, -1);
139
+ await redis.expire(logKey, 365 * 86400);
140
+ const badge = effectiveLevel === 'senior' ? '🛡️ senior-reviewed' : '✔️ peer-reviewed';
141
+ return `${badge} — \`${topic}\` confirmed by **${reviewer}** (${endorsements} distinct endorsement${endorsements === 1 ? '' : 's'}).\n📈 This lesson now ranks higher in \`smart_recall\` / \`team_recall\`.${note ? `\n📝 ${note.slice(0, 200)}` : ''}`;
142
+ }
100
143
  // ── team_recall ───────────────────────────────────────────────────────────
101
144
  case 'team_recall': {
102
145
  const { instance_id, topic, author, limit = 10 } = args;
@@ -127,8 +170,9 @@ export async function handleTeamTool(name, args, getConnection, apiFetch) {
127
170
  const a = author.toLowerCase();
128
171
  lessons = lessons.filter(l => l.author?.toLowerCase().includes(a));
129
172
  }
130
- // Sort by recall_count desc
131
- lessons.sort((a, b) => (b.recall_count ?? 0) - (a.recall_count ?? 0));
173
+ // Sort: reviewed lessons first (senior > peer), then by recall_count desc.
174
+ const reviewRank = (l) => l.reviewed_by ? (l.review_level === 'senior' ? 2 : 1) : 0;
175
+ lessons.sort((a, b) => (reviewRank(b) - reviewRank(a)) || ((b.recall_count ?? 0) - (a.recall_count ?? 0)));
132
176
  lessons = lessons.slice(0, limit);
133
177
  if (lessons.length === 0) {
134
178
  return topic
@@ -139,11 +183,17 @@ export async function handleTeamTool(name, args, getConnection, apiFetch) {
139
183
  for (const l of lessons) {
140
184
  const emoji = l.outcome === 'success' ? '✅' : l.outcome === 'partial' ? '⚠️' : '❌';
141
185
  const sev = l.severity === 'critical' ? '🔴 ' : l.severity === 'major' ? '🟡 ' : '';
186
+ const reviewBadge = l.reviewed_by
187
+ ? (l.review_level === 'senior' ? ' 🛡️' : ' ✔️')
188
+ : '';
142
189
  const authorStr = l.author ? ` · _by ${l.author}_` : '';
190
+ const reviewStr = l.reviewed_by
191
+ ? ` · reviewed by ${l.reviewed_by}${(l.endorsements ?? 0) > 1 ? ` +${(l.endorsements ?? 0) - 1}` : ''}`
192
+ : '';
143
193
  const recallStr = (l.recall_count ?? 0) > 0 ? ` · recalled ${l.recall_count}×` : '';
144
194
  const ago = Math.round((Date.now() - new Date(l.ts).getTime()) / 86400000);
145
195
  const agoStr = ago === 0 ? 'today' : ago === 1 ? 'yesterday' : `${ago}d ago`;
146
- lines.push(`${emoji} ${sev}**\`${l.topic}\`**${authorStr}${recallStr} · ${agoStr}`);
196
+ lines.push(`${emoji} ${sev}**\`${l.topic}\`**${reviewBadge}${authorStr}${reviewStr}${recallStr} · ${agoStr}`);
147
197
  lines.push(` ${l.what_worked.slice(0, 120)}`);
148
198
  lines.push('');
149
199
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.js","sourceRoot":"","sources":["../../../src/handlers/team.ts"],"names":[],"mappings":"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"}