@aeolus-fleet/gateway 0.32.2 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (536) hide show
  1. package/README.md +22 -3
  2. package/dist/adapters/crypto/slack-install-seals.d.ts +3 -0
  3. package/dist/adapters/crypto/slack-install-seals.js +15 -0
  4. package/dist/adapters/crypto/slack-install-seals.js.map +1 -0
  5. package/dist/adapters/crypto/slack-link-seals.d.ts +3 -0
  6. package/dist/adapters/crypto/slack-link-seals.js +15 -0
  7. package/dist/adapters/crypto/slack-link-seals.js.map +1 -0
  8. package/dist/adapters/crypto/slack-signatures.d.ts +3 -0
  9. package/dist/adapters/crypto/slack-signatures.js +14 -0
  10. package/dist/adapters/crypto/slack-signatures.js.map +1 -0
  11. package/dist/adapters/fleet/slack-ships.d.ts +15 -0
  12. package/dist/adapters/fleet/slack-ships.js +32 -0
  13. package/dist/adapters/fleet/slack-ships.js.map +1 -0
  14. package/dist/adapters/http/mcp-endpoint.js +1 -1
  15. package/dist/adapters/http/mcp-endpoint.js.map +1 -1
  16. package/dist/adapters/http/oauth-routes.d.ts +4 -1
  17. package/dist/adapters/http/oauth-routes.js +21 -9
  18. package/dist/adapters/http/oauth-routes.js.map +1 -1
  19. package/dist/adapters/http/openai-apps-challenge.d.ts +10 -0
  20. package/dist/adapters/http/openai-apps-challenge.js +9 -0
  21. package/dist/adapters/http/openai-apps-challenge.js.map +1 -0
  22. package/dist/adapters/http/person-tools.d.ts +24 -1
  23. package/dist/adapters/http/person-tools.js +43 -11
  24. package/dist/adapters/http/person-tools.js.map +1 -1
  25. package/dist/adapters/http/slack-routes.d.ts +28 -0
  26. package/dist/adapters/http/slack-routes.js +173 -0
  27. package/dist/adapters/http/slack-routes.js.map +1 -0
  28. package/dist/adapters/prisma/fleet-forgetter.d.ts +1 -1
  29. package/dist/adapters/prisma/fleet-forgetter.js +2 -2
  30. package/dist/adapters/prisma/fleet-forgetter.js.map +1 -1
  31. package/dist/adapters/prisma/generated/browser.d.ts +25 -0
  32. package/dist/adapters/prisma/generated/client.d.ts +25 -0
  33. package/dist/adapters/prisma/generated/internal/class.d.ts +55 -0
  34. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  35. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  36. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +452 -1
  37. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +72 -1
  38. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  39. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +76 -0
  40. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +72 -1
  41. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  42. package/dist/adapters/prisma/generated/models/SlackApp.d.ts +1229 -0
  43. package/dist/adapters/prisma/generated/models/SlackApp.js +2 -0
  44. package/dist/adapters/prisma/generated/models/SlackApp.js.map +1 -0
  45. package/dist/adapters/prisma/generated/models/SlackEvent.d.ts +1229 -0
  46. package/dist/adapters/prisma/generated/models/SlackEvent.js +2 -0
  47. package/dist/adapters/prisma/generated/models/SlackEvent.js.map +1 -0
  48. package/dist/adapters/prisma/generated/models/SlackLink.d.ts +1126 -0
  49. package/dist/adapters/prisma/generated/models/SlackLink.js +2 -0
  50. package/dist/adapters/prisma/generated/models/SlackLink.js.map +1 -0
  51. package/dist/adapters/prisma/generated/models/SlackPost.d.ts +1174 -0
  52. package/dist/adapters/prisma/generated/models/SlackPost.js +2 -0
  53. package/dist/adapters/prisma/generated/models/SlackPost.js.map +1 -0
  54. package/dist/adapters/prisma/generated/models/SlackWorkspace.d.ts +1143 -0
  55. package/dist/adapters/prisma/generated/models/SlackWorkspace.js +2 -0
  56. package/dist/adapters/prisma/generated/models/SlackWorkspace.js.map +1 -0
  57. package/dist/adapters/prisma/generated/models.d.ts +5 -0
  58. package/dist/adapters/prisma/slack-events.d.ts +8 -0
  59. package/dist/adapters/prisma/slack-events.js +55 -0
  60. package/dist/adapters/prisma/slack-events.js.map +1 -0
  61. package/dist/adapters/prisma/slack-links.d.ts +8 -0
  62. package/dist/adapters/prisma/slack-links.js +49 -0
  63. package/dist/adapters/prisma/slack-links.js.map +1 -0
  64. package/dist/adapters/prisma/slack-posts.d.ts +4 -0
  65. package/dist/adapters/prisma/slack-posts.js +42 -0
  66. package/dist/adapters/prisma/slack-posts.js.map +1 -0
  67. package/dist/adapters/prisma/slack-stores.d.ts +6 -0
  68. package/dist/adapters/prisma/slack-stores.js +115 -0
  69. package/dist/adapters/prisma/slack-stores.js.map +1 -0
  70. package/dist/adapters/slack/slack-call.d.ts +15 -0
  71. package/dist/adapters/slack/slack-call.js +41 -0
  72. package/dist/adapters/slack/slack-call.js.map +1 -0
  73. package/dist/adapters/slack/slack-messages.d.ts +4 -0
  74. package/dist/adapters/slack/slack-messages.js +53 -0
  75. package/dist/adapters/slack/slack-messages.js.map +1 -0
  76. package/dist/adapters/slack/slack-sign-in.d.ts +4 -0
  77. package/dist/adapters/slack/slack-sign-in.js +33 -0
  78. package/dist/adapters/slack/slack-sign-in.js.map +1 -0
  79. package/dist/adapters/slack/slack-tooling.d.ts +6 -0
  80. package/dist/adapters/slack/slack-tooling.js +68 -0
  81. package/dist/adapters/slack/slack-tooling.js.map +1 -0
  82. package/dist/adapters/trpc/router.d.ts +149 -1
  83. package/dist/adapters/trpc/router.js +117 -6
  84. package/dist/adapters/trpc/router.js.map +1 -1
  85. package/dist/app.d.ts +4 -0
  86. package/dist/app.js +143 -15
  87. package/dist/app.js.map +1 -1
  88. package/dist/bin/aeolus-gateway.js +2 -0
  89. package/dist/bin/aeolus-gateway.js.map +1 -1
  90. package/dist/config.d.ts +8 -0
  91. package/dist/config.js +4 -0
  92. package/dist/config.js.map +1 -1
  93. package/dist/core/connection/connect.d.ts +12 -0
  94. package/dist/core/connection/connect.js +11 -4
  95. package/dist/core/connection/connect.js.map +1 -1
  96. package/dist/core/connection/declare-gateway-scopes.d.ts +15 -0
  97. package/dist/core/connection/declare-gateway-scopes.js +23 -0
  98. package/dist/core/connection/declare-gateway-scopes.js.map +1 -0
  99. package/dist/core/oauth/exchange-token.d.ts +1 -0
  100. package/dist/core/oauth/exchange-token.js +4 -3
  101. package/dist/core/oauth/exchange-token.js.map +1 -1
  102. package/dist/core/oauth/read-authorization.d.ts +3 -3
  103. package/dist/core/oauth/read-authorization.js +6 -5
  104. package/dist/core/oauth/read-authorization.js.map +1 -1
  105. package/dist/core/people/ports.d.ts +23 -2
  106. package/dist/core/people/wake-person.d.ts +9 -2
  107. package/dist/core/people/wake-person.js +33 -9
  108. package/dist/core/people/wake-person.js.map +1 -1
  109. package/dist/core/shared/errors.d.ts +1 -1
  110. package/dist/core/shared/errors.js.map +1 -1
  111. package/dist/core/sign-in/start-sign-in.d.ts +4 -1
  112. package/dist/core/sign-in/start-sign-in.js +8 -2
  113. package/dist/core/sign-in/start-sign-in.js.map +1 -1
  114. package/dist/core/slack/answer-in-slack.d.ts +36 -0
  115. package/dist/core/slack/answer-in-slack.js +51 -0
  116. package/dist/core/slack/answer-in-slack.js.map +1 -0
  117. package/dist/core/slack/complete-install.d.ts +27 -0
  118. package/dist/core/slack/complete-install.js +36 -0
  119. package/dist/core/slack/complete-install.js.map +1 -0
  120. package/dist/core/slack/complete-link.d.ts +41 -0
  121. package/dist/core/slack/complete-link.js +64 -0
  122. package/dist/core/slack/complete-link.js.map +1 -0
  123. package/dist/core/slack/connect-slack.d.ts +34 -0
  124. package/dist/core/slack/connect-slack.js +54 -0
  125. package/dist/core/slack/connect-slack.js.map +1 -0
  126. package/dist/core/slack/disconnect-slack.d.ts +21 -0
  127. package/dist/core/slack/disconnect-slack.js +31 -0
  128. package/dist/core/slack/disconnect-slack.js.map +1 -0
  129. package/dist/core/slack/expose-ship.d.ts +35 -0
  130. package/dist/core/slack/expose-ship.js +59 -0
  131. package/dist/core/slack/expose-ship.js.map +1 -0
  132. package/dist/core/slack/follow-exposed-ships.d.ts +20 -0
  133. package/dist/core/slack/follow-exposed-ships.js +43 -0
  134. package/dist/core/slack/follow-exposed-ships.js.map +1 -0
  135. package/dist/core/slack/gateway-bot.d.ts +20 -0
  136. package/dist/core/slack/gateway-bot.js +22 -0
  137. package/dist/core/slack/gateway-bot.js.map +1 -0
  138. package/dist/core/slack/kept-slack-event.d.ts +30 -0
  139. package/dist/core/slack/kept-slack-event.js +5 -0
  140. package/dist/core/slack/kept-slack-event.js.map +1 -0
  141. package/dist/core/slack/list-exposable.d.ts +25 -0
  142. package/dist/core/slack/list-exposable.js +32 -0
  143. package/dist/core/slack/list-exposable.js.map +1 -0
  144. package/dist/core/slack/ports.d.ts +288 -0
  145. package/dist/core/slack/ports.js +2 -0
  146. package/dist/core/slack/ports.js.map +1 -0
  147. package/dist/core/slack/read-slack-link.d.ts +23 -0
  148. package/dist/core/slack/read-slack-link.js +20 -0
  149. package/dist/core/slack/read-slack-link.js.map +1 -0
  150. package/dist/core/slack/read-slack.d.ts +42 -0
  151. package/dist/core/slack/read-slack.js +35 -0
  152. package/dist/core/slack/read-slack.js.map +1 -0
  153. package/dist/core/slack/remove-bot.d.ts +24 -0
  154. package/dist/core/slack/remove-bot.js +33 -0
  155. package/dist/core/slack/remove-bot.js.map +1 -0
  156. package/dist/core/slack/rotate-configuration-tokens.d.ts +13 -0
  157. package/dist/core/slack/rotate-configuration-tokens.js +14 -0
  158. package/dist/core/slack/rotate-configuration-tokens.js.map +1 -0
  159. package/dist/core/slack/send-slack-events.d.ts +29 -0
  160. package/dist/core/slack/send-slack-events.js +78 -0
  161. package/dist/core/slack/send-slack-events.js.map +1 -0
  162. package/dist/core/slack/ship-bot.d.ts +23 -0
  163. package/dist/core/slack/ship-bot.js +25 -0
  164. package/dist/core/slack/ship-bot.js.map +1 -0
  165. package/dist/core/slack/show-all-in-slack.d.ts +16 -0
  166. package/dist/core/slack/show-all-in-slack.js +18 -0
  167. package/dist/core/slack/show-all-in-slack.js.map +1 -0
  168. package/dist/core/slack/show-in-slack.d.ts +38 -0
  169. package/dist/core/slack/show-in-slack.js +154 -0
  170. package/dist/core/slack/show-in-slack.js.map +1 -0
  171. package/dist/core/slack/slack-app.d.ts +77 -0
  172. package/dist/core/slack/slack-app.js +53 -0
  173. package/dist/core/slack/slack-app.js.map +1 -0
  174. package/dist/core/slack/slack-event.d.ts +51 -0
  175. package/dist/core/slack/slack-event.js +18 -0
  176. package/dist/core/slack/slack-event.js.map +1 -0
  177. package/dist/core/slack/slack-link.d.ts +20 -0
  178. package/dist/core/slack/slack-link.js +2 -0
  179. package/dist/core/slack/slack-link.js.map +1 -0
  180. package/dist/core/slack/slack-markdown.d.ts +13 -0
  181. package/dist/core/slack/slack-markdown.js +27 -0
  182. package/dist/core/slack/slack-markdown.js.map +1 -0
  183. package/dist/core/slack/slack-post-of.d.ts +27 -0
  184. package/dist/core/slack/slack-post-of.js +71 -0
  185. package/dist/core/slack/slack-post-of.js.map +1 -0
  186. package/dist/core/slack/slack-post.d.ts +31 -0
  187. package/dist/core/slack/slack-post.js +5 -0
  188. package/dist/core/slack/slack-post.js.map +1 -0
  189. package/dist/core/slack/slack-request.d.ts +17 -0
  190. package/dist/core/slack/slack-request.js +10 -0
  191. package/dist/core/slack/slack-request.js.map +1 -0
  192. package/dist/core/slack/slack-workspace.d.ts +36 -0
  193. package/dist/core/slack/slack-workspace.js +7 -0
  194. package/dist/core/slack/slack-workspace.js.map +1 -0
  195. package/dist/core/slack/start-install.d.ts +43 -0
  196. package/dist/core/slack/start-install.js +57 -0
  197. package/dist/core/slack/start-install.js.map +1 -0
  198. package/dist/core/slack/start-link.d.ts +32 -0
  199. package/dist/core/slack/start-link.js +46 -0
  200. package/dist/core/slack/start-link.js.map +1 -0
  201. package/dist/core/slack/stop-slack-link.d.ts +16 -0
  202. package/dist/core/slack/stop-slack-link.js +9 -0
  203. package/dist/core/slack/stop-slack-link.js.map +1 -0
  204. package/dist/core/slack/take-access-token.d.ts +25 -0
  205. package/dist/core/slack/take-access-token.js +45 -0
  206. package/dist/core/slack/take-access-token.js.map +1 -0
  207. package/dist/core/slack/take-slack-event.d.ts +47 -0
  208. package/dist/core/slack/take-slack-event.js +75 -0
  209. package/dist/core/slack/take-slack-event.js.map +1 -0
  210. package/dist/core/slack/unlink-slack.d.ts +9 -0
  211. package/dist/core/slack/unlink-slack.js +9 -0
  212. package/dist/core/slack/unlink-slack.js.map +1 -0
  213. package/dist/slack-event-worker.d.ts +21 -0
  214. package/dist/slack-event-worker.js +38 -0
  215. package/dist/slack-event-worker.js.map +1 -0
  216. package/dist/slack-token-worker.d.ts +19 -0
  217. package/dist/slack-token-worker.js +24 -0
  218. package/dist/slack-token-worker.js.map +1 -0
  219. package/package.json +3 -2
  220. package/src/adapters/prisma/migrations/20261027090000_slack_workspaces/migration.sql +30 -0
  221. package/src/adapters/prisma/migrations/20261027150000_slack_bots/migration.sql +6 -0
  222. package/src/adapters/prisma/migrations/20261027200000_slack_links/migration.sql +15 -0
  223. package/src/adapters/prisma/migrations/20261028090000_slack_events/migration.sql +18 -0
  224. package/src/adapters/prisma/migrations/20261028150000_slack_posts/migration.sql +25 -0
  225. package/src/adapters/prisma/schema.prisma +103 -0
  226. package/web/.next/BUILD_ID +1 -1
  227. package/web/.next/app-path-routes-manifest.json +5 -0
  228. package/web/.next/build-manifest.json +51 -3
  229. package/web/.next/diagnostics/route-bundle-stats.json +143 -70
  230. package/web/.next/fallback-build-manifest.json +3 -3
  231. package/web/.next/prerender-manifest.json +3 -3
  232. package/web/.next/routes-manifest.json +30 -0
  233. package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +1 -1
  234. package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -1
  235. package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +1 -1
  236. package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
  237. package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
  238. package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
  239. package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +11 -11
  240. package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js +2 -2
  241. package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -1
  242. package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
  243. package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +4 -4
  244. package/web/.next/server/app/(console)/outside-parties/[name]/page.js +2 -2
  245. package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -1
  246. package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
  247. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +11 -11
  248. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js +3 -3
  249. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -1
  250. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
  251. package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +6 -6
  252. package/web/.next/server/app/(console)/outside-parties/add/page.js +2 -2
  253. package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -1
  254. package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +1 -1
  255. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +2 -2
  256. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js +1 -1
  257. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
  258. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
  259. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +2 -2
  260. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js +1 -1
  261. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
  262. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
  263. package/web/.next/server/app/(console)/outside-parties/page/server-reference-manifest.json +2 -2
  264. package/web/.next/server/app/(console)/outside-parties/page.js +3 -3
  265. package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -1
  266. package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +1 -1
  267. package/web/.next/server/app/(console)/overview/changes/route.js +2 -2
  268. package/web/.next/server/app/(console)/overview/changes/route.js.nft.json +1 -1
  269. package/web/.next/server/app/(console)/overview/focus/route.js +2 -2
  270. package/web/.next/server/app/(console)/overview/focus/route.js.nft.json +1 -1
  271. package/web/.next/server/app/(console)/overview/page/server-reference-manifest.json +27 -7
  272. package/web/.next/server/app/(console)/overview/page.js +2 -2
  273. package/web/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  274. package/web/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  275. package/web/.next/server/app/(console)/overview/requests/[requestId]/page/server-reference-manifest.json +2 -2
  276. package/web/.next/server/app/(console)/overview/requests/[requestId]/page.js +1 -1
  277. package/web/.next/server/app/(console)/overview/requests/[requestId]/page.js.nft.json +1 -1
  278. package/web/.next/server/app/(console)/overview/requests/[requestId]/page_client-reference-manifest.js +1 -1
  279. package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +8 -8
  280. package/web/.next/server/app/(console)/parties/page.js +3 -3
  281. package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
  282. package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
  283. package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
  284. package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
  285. package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
  286. package/web/.next/server/app/(console)/slack/disconnect/page/app-paths-manifest.json +3 -0
  287. package/web/.next/server/app/(console)/slack/disconnect/page/build-manifest.json +23 -0
  288. package/web/.next/server/app/(console)/slack/disconnect/page/next-font-manifest.json +11 -0
  289. package/web/.next/server/app/(console)/slack/disconnect/page/react-loadable-manifest.json +1 -0
  290. package/web/.next/server/app/(console)/slack/disconnect/page/server-reference-manifest.json +65 -0
  291. package/web/.next/server/app/(console)/slack/disconnect/page.js +22 -0
  292. package/web/.next/server/app/(console)/slack/disconnect/page.js.map +5 -0
  293. package/web/.next/server/app/(console)/slack/disconnect/page.js.nft.json +1 -0
  294. package/web/.next/server/app/(console)/slack/disconnect/page_client-reference-manifest.js +3 -0
  295. package/web/.next/server/app/(console)/slack/expose/page/app-paths-manifest.json +3 -0
  296. package/web/.next/server/app/(console)/slack/expose/page/build-manifest.json +23 -0
  297. package/web/.next/server/app/(console)/slack/expose/page/next-font-manifest.json +11 -0
  298. package/web/.next/server/app/(console)/slack/expose/page/react-loadable-manifest.json +1 -0
  299. package/web/.next/server/app/(console)/slack/expose/page/server-reference-manifest.json +65 -0
  300. package/web/.next/server/app/(console)/slack/expose/page.js +22 -0
  301. package/web/.next/server/app/(console)/slack/expose/page.js.map +5 -0
  302. package/web/.next/server/app/(console)/slack/expose/page.js.nft.json +1 -0
  303. package/web/.next/server/app/(console)/slack/expose/page_client-reference-manifest.js +3 -0
  304. package/web/.next/server/app/(console)/slack/link/route/app-paths-manifest.json +3 -0
  305. package/web/.next/server/app/(console)/slack/link/route/build-manifest.json +12 -0
  306. package/web/.next/server/app/(console)/slack/link/route/server-reference-manifest.json +4 -0
  307. package/web/.next/server/app/(console)/slack/link/route.js +7 -0
  308. package/web/.next/server/app/(console)/slack/link/route.js.map +5 -0
  309. package/web/.next/server/app/(console)/slack/link/route.js.nft.json +1 -0
  310. package/web/.next/server/app/(console)/slack/link/route_client-reference-manifest.js +3 -0
  311. package/web/.next/server/app/(console)/slack/page/app-paths-manifest.json +3 -0
  312. package/web/.next/server/app/(console)/slack/page/build-manifest.json +23 -0
  313. package/web/.next/server/app/(console)/slack/page/next-font-manifest.json +11 -0
  314. package/web/.next/server/app/(console)/slack/page/react-loadable-manifest.json +1 -0
  315. package/web/.next/server/app/(console)/slack/page/server-reference-manifest.json +65 -0
  316. package/web/.next/server/app/(console)/slack/page.js +22 -0
  317. package/web/.next/server/app/(console)/slack/page.js.map +5 -0
  318. package/web/.next/server/app/(console)/slack/page.js.nft.json +1 -0
  319. package/web/.next/server/app/(console)/slack/page_client-reference-manifest.js +3 -0
  320. package/web/.next/server/app/(console)/slack/remove/page/app-paths-manifest.json +3 -0
  321. package/web/.next/server/app/(console)/slack/remove/page/build-manifest.json +23 -0
  322. package/web/.next/server/app/(console)/slack/remove/page/next-font-manifest.json +11 -0
  323. package/web/.next/server/app/(console)/slack/remove/page/react-loadable-manifest.json +1 -0
  324. package/web/.next/server/app/(console)/slack/remove/page/server-reference-manifest.json +65 -0
  325. package/web/.next/server/app/(console)/slack/remove/page.js +22 -0
  326. package/web/.next/server/app/(console)/slack/remove/page.js.map +5 -0
  327. package/web/.next/server/app/(console)/slack/remove/page.js.nft.json +1 -0
  328. package/web/.next/server/app/(console)/slack/remove/page_client-reference-manifest.js +3 -0
  329. package/web/.next/server/app/_global-error/page.js +1 -1
  330. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  331. package/web/.next/server/app/_global-error.html +1 -1
  332. package/web/.next/server/app/_global-error.rsc +1 -1
  333. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  334. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  335. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  336. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  337. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  338. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  339. package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
  340. package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
  341. package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
  342. package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
  343. package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
  344. package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
  345. package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
  346. package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
  347. package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
  348. package/web/.next/server/app-paths-manifest.json +5 -0
  349. package/web/.next/server/chunks/[root-of-the-server]__01ghdzznyfucm._.js +369 -0
  350. package/web/.next/server/chunks/[root-of-the-server]__01ghdzznyfucm._.js.map +1 -0
  351. package/web/.next/server/chunks/[root-of-the-server]__0mbwomk4pjrl7._.js +369 -0
  352. package/web/.next/server/chunks/[root-of-the-server]__0mbwomk4pjrl7._.js.map +1 -0
  353. package/web/.next/server/chunks/[root-of-the-server]__1tfyrijwfgqlk._.js +3 -0
  354. package/web/.next/server/chunks/[root-of-the-server]__1tfyrijwfgqlk._.js.map +1 -0
  355. package/web/.next/server/chunks/_20ne4s-e_jzxp._.js +3 -0
  356. package/web/.next/server/chunks/_20ne4s-e_jzxp._.js.map +1 -0
  357. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +1 -1
  358. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -1
  359. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +1 -1
  360. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -1
  361. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +1 -1
  362. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -1
  363. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +1 -1
  364. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -1
  365. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +1 -1
  366. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -1
  367. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js +1 -1
  368. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js.map +1 -1
  369. package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js +4 -0
  370. package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js.map +1 -0
  371. package/web/.next/server/chunks/ssr/[root-of-the-server]__04e53giy2-2tm._.js +3 -0
  372. package/web/.next/server/chunks/ssr/[root-of-the-server]__04e53giy2-2tm._.js.map +1 -0
  373. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0-og0bl8lr2xq._.js → [root-of-the-server]__0a8db18tyk__5._.js} +2 -2
  374. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0-og0bl8lr2xq._.js.map → [root-of-the-server]__0a8db18tyk__5._.js.map} +1 -1
  375. package/web/.next/server/chunks/ssr/[root-of-the-server]__0e59elwbtqr-6._.js +3 -0
  376. package/web/.next/server/chunks/ssr/{[root-of-the-server]__10y66e1xx8xiq._.js.map → [root-of-the-server]__0e59elwbtqr-6._.js.map} +1 -1
  377. package/web/.next/server/chunks/ssr/[root-of-the-server]__0icm7kndx480o._.js +4 -0
  378. package/web/.next/server/chunks/ssr/[root-of-the-server]__0icm7kndx480o._.js.map +1 -0
  379. package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +1 -1
  380. package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -1
  381. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1-c9wugbbwsp3._.js → [root-of-the-server]__0kb1gl5t8kz4l._.js} +2 -2
  382. package/web/.next/server/chunks/ssr/[root-of-the-server]__0n2us07jk-78w._.js +1 -1
  383. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1gb-3dttuacyz._.js → [root-of-the-server]__0y0jwufd7xjsv._.js} +1 -1
  384. package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js +4 -0
  385. package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js.map +1 -0
  386. package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js +4 -0
  387. package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js.map +1 -0
  388. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
  389. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
  390. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1m9atpy0vkbmj._.js → [root-of-the-server]__19ecatcacd6t9._.js} +1 -1
  391. package/web/.next/server/chunks/ssr/[root-of-the-server]__1hfashtn1ee82._.js +3 -0
  392. package/web/.next/server/chunks/ssr/[root-of-the-server]__1hfashtn1ee82._.js.map +1 -0
  393. package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js +4 -0
  394. package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js.map +1 -0
  395. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
  396. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
  397. package/web/.next/server/chunks/ssr/_0_kakdt7lb6z-._.js +1 -1
  398. package/web/.next/server/chunks/ssr/_0_kakdt7lb6z-._.js.map +1 -1
  399. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +1 -1
  400. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -1
  401. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
  402. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
  403. package/web/.next/server/chunks/ssr/{_0w2ptjht34s6t._.js → _0wukvn3-ht3ps._.js} +1 -1
  404. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
  405. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
  406. package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +1 -1
  407. package/web/.next/server/chunks/ssr/{_0bhvvyz0q_0ja._.js → _1e2o809f0ekry._.js} +2 -2
  408. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
  409. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
  410. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
  411. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
  412. package/web/.next/server/chunks/ssr/_1y1ovmdhl9_ml._.js +1 -1
  413. package/web/.next/server/chunks/ssr/_1y1ovmdhl9_ml._.js.map +1 -1
  414. package/web/.next/server/chunks/ssr/node_modules_0ettht2so2tkh._.js +3 -0
  415. package/web/.next/server/chunks/ssr/node_modules_0ettht2so2tkh._.js.map +1 -0
  416. package/web/.next/server/chunks/ssr/node_modules_0keape0zsobyj._.js +3 -0
  417. package/web/.next/server/chunks/ssr/node_modules_0keape0zsobyj._.js.map +1 -0
  418. package/web/.next/server/chunks/ssr/node_modules_@base-ui_0jlwmxa9rk8p_._.js +3 -0
  419. package/web/.next/server/chunks/ssr/node_modules_@base-ui_0jlwmxa9rk8p_._.js.map +1 -0
  420. package/web/.next/server/chunks/ssr/node_modules_@base-ui_19e_nxxf4a88q._.js +3 -0
  421. package/web/.next/server/chunks/ssr/node_modules_@base-ui_19e_nxxf4a88q._.js.map +1 -0
  422. package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_1lbvjrzg8s2ox._.js +3 -0
  423. package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_1lbvjrzg8s2ox._.js.map +1 -0
  424. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0t6vd5zwkqjs1.js +3 -0
  425. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0t6vd5zwkqjs1.js.map +1 -0
  426. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1cwvrsosahx6q.js +3 -0
  427. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1cwvrsosahx6q.js.map +1 -0
  428. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1jbr52uzx5cc7.js +3 -0
  429. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1jbr52uzx5cc7.js.map +1 -0
  430. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1xhjyaxgorqkx.js +3 -0
  431. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1xhjyaxgorqkx.js.map +1 -0
  432. package/web/.next/server/chunks/ssr/web_00e7-_y92losl._.js +3 -0
  433. package/web/.next/server/chunks/ssr/web_00e7-_y92losl._.js.map +1 -0
  434. package/web/.next/server/chunks/ssr/web_09rcfto3dw4wd._.js +3 -0
  435. package/web/.next/server/chunks/ssr/web_09rcfto3dw4wd._.js.map +1 -0
  436. package/web/.next/server/chunks/ssr/web_0plvx3c_1cozb._.js +3 -0
  437. package/web/.next/server/chunks/ssr/web_0plvx3c_1cozb._.js.map +1 -0
  438. package/web/.next/server/chunks/ssr/web_0qgev3ti257yj._.js +3 -0
  439. package/web/.next/server/chunks/ssr/{web_0_jk9eione6lx._.js.map → web_0qgev3ti257yj._.js.map} +1 -1
  440. package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +1 -1
  441. package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -1
  442. package/web/.next/server/chunks/ssr/web_15vnjj3s0z3fa._.js +3 -0
  443. package/web/.next/server/chunks/ssr/{web_1wcpaty_bz55q._.js.map → web_15vnjj3s0z3fa._.js.map} +1 -1
  444. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js +1 -1
  445. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js.map +1 -1
  446. package/web/.next/server/chunks/ssr/web_app_(console)_slack_page_tsx_0ts7fo7pqicq6._.js +3 -0
  447. package/web/.next/server/chunks/ssr/web_app_(console)_slack_page_tsx_0ts7fo7pqicq6._.js.map +1 -0
  448. package/web/.next/server/chunks/ssr/web_app_(console)_slack_remove_page_tsx_15q4ril_on0ed._.js +3 -0
  449. package/web/.next/server/chunks/ssr/web_app_(console)_slack_remove_page_tsx_15q4ril_on0ed._.js.map +1 -0
  450. package/web/.next/server/chunks/ssr/web_features_0rd6357w-eo50._.js +3 -0
  451. package/web/.next/server/chunks/ssr/{web_features_10xz3ojtvfi7h._.js.map → web_features_0rd6357w-eo50._.js.map} +1 -1
  452. package/web/.next/server/chunks/ssr/web_features_1m5g9a6mwrsd-._.js +3 -0
  453. package/web/.next/server/chunks/ssr/{web_features_085cv0gogrxxf._.js.map → web_features_1m5g9a6mwrsd-._.js.map} +1 -1
  454. package/web/.next/server/chunks/ssr/web_features_1rwkgka1xffb1._.js +3 -0
  455. package/web/.next/server/chunks/ssr/web_features_1rwkgka1xffb1._.js.map +1 -0
  456. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
  457. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
  458. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
  459. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -1
  460. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
  461. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
  462. package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +1 -1
  463. package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -1
  464. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +1 -1
  465. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -1
  466. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
  467. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
  468. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
  469. package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +1 -1
  470. package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js.map +1 -1
  471. package/web/.next/server/chunks/ssr/web_features_overview_state_00l0wkgvv9y6j._.js +3 -0
  472. package/web/.next/server/chunks/ssr/web_features_overview_state_00l0wkgvv9y6j._.js.map +1 -0
  473. package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +1 -1
  474. package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +1 -1
  475. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
  476. package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js +3 -0
  477. package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js.map +1 -0
  478. package/web/.next/server/chunks/web__next-internal_server_app_(console)_slack_link_route_actions_16zgisics858w.js +3 -0
  479. package/web/.next/server/chunks/web__next-internal_server_app_(console)_slack_link_route_actions_16zgisics858w.js.map +1 -0
  480. package/web/.next/server/middleware-build-manifest.js +51 -3
  481. package/web/.next/server/next-font-manifest.js +1 -1
  482. package/web/.next/server/next-font-manifest.json +16 -0
  483. package/web/.next/server/pages/500.html +1 -1
  484. package/web/.next/server/preview-props.json +3 -3
  485. package/web/.next/server/server-reference-manifest.js +1 -1
  486. package/web/.next/server/server-reference-manifest.json +174 -28
  487. package/web/.next/static/chunks/0nhopjmnw_dqt.js +1 -0
  488. package/web/.next/static/chunks/0zbcy0_3jemrv.js +1 -0
  489. package/web/.next/static/chunks/{0ke_2_la1glwa.js → 1-suv9wttlxqo.js} +1 -1
  490. package/web/.next/static/chunks/19kfx4qlur25a.js +1 -0
  491. package/web/.next/static/chunks/1a2-hkn-7471k.js +1 -0
  492. package/web/.next/static/chunks/{1tgs1j0j-1qlh.js → 1msggkwsn7vyq.js} +1 -1
  493. package/web/.next/static/chunks/{2hj3-kl1ggnu_.js → 2-kh9nbonee6w.js} +1 -1
  494. package/web/.next/static/chunks/2l92bozm8dcmo.js +1 -0
  495. package/web/.next/static/chunks/{2d283cu3en9cy.js → 310mio1zd_mw7.js} +1 -1
  496. package/web/.next/static/chunks/{07j7jnfe13wx6.js → 3d_sjtxh_vkr6.js} +1 -1
  497. package/web/.next/static/chunks/{0p_kl57bddsiy.js → 3dhy3jady0w6a.js} +1 -1
  498. package/web/.next/static/chunks/3efghx8whwnok.js +1 -0
  499. package/web/.next/static/chunks/3hvo3apdq-ckk.js +1 -0
  500. package/web/.next/static/chunks/3rbzp0tdc1te-.js +1 -0
  501. package/web/.next/static/chunks/{2n4bf_2r9lysd.js → 455eobei0t6t9.js} +1 -1
  502. package/web/.next/trace +1 -1
  503. package/web/.next/trace-build +1 -1
  504. package/web/.next/types/routes.d.ts +7 -2
  505. package/web/.next/types/validator.ts +78 -0
  506. package/web/.next/server/chunks/[root-of-the-server]__0ykc8bq_c06a1._.js +0 -369
  507. package/web/.next/server/chunks/[root-of-the-server]__0ykc8bq_c06a1._.js.map +0 -1
  508. package/web/.next/server/chunks/ssr/[root-of-the-server]__10y66e1xx8xiq._.js +0 -3
  509. package/web/.next/server/chunks/ssr/[root-of-the-server]__1dtyycvqa6uht._.js +0 -4
  510. package/web/.next/server/chunks/ssr/[root-of-the-server]__1dtyycvqa6uht._.js.map +0 -1
  511. package/web/.next/server/chunks/ssr/node_modules_07sxnbglqc5q9._.js +0 -3
  512. package/web/.next/server/chunks/ssr/node_modules_07sxnbglqc5q9._.js.map +0 -1
  513. package/web/.next/server/chunks/ssr/node_modules_0qlo87g8tugr4._.js +0 -3
  514. package/web/.next/server/chunks/ssr/node_modules_0qlo87g8tugr4._.js.map +0 -1
  515. package/web/.next/server/chunks/ssr/web_0-ufi2al5ubig._.js +0 -3
  516. package/web/.next/server/chunks/ssr/web_0-ufi2al5ubig._.js.map +0 -1
  517. package/web/.next/server/chunks/ssr/web_0_jk9eione6lx._.js +0 -3
  518. package/web/.next/server/chunks/ssr/web_1wcpaty_bz55q._.js +0 -3
  519. package/web/.next/server/chunks/ssr/web_features_085cv0gogrxxf._.js +0 -3
  520. package/web/.next/server/chunks/ssr/web_features_10xz3ojtvfi7h._.js +0 -3
  521. package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js +0 -3
  522. package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js.map +0 -1
  523. package/web/.next/static/chunks/0ul9rtulfiph6.js +0 -1
  524. package/web/.next/static/chunks/19wvmglfgof0u.js +0 -1
  525. package/web/.next/static/chunks/2i3ydqqupow_x.js +0 -1
  526. package/web/.next/static/chunks/2ngyis59r3qta.js +0 -1
  527. package/web/.next/static/chunks/3bl-e3zhidrrz.js +0 -1
  528. package/web/.next/static/chunks/3x_8doukmdfpu.js +0 -1
  529. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__1-c9wugbbwsp3._.js.map → [root-of-the-server]__0kb1gl5t8kz4l._.js.map} +0 -0
  530. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__1gb-3dttuacyz._.js.map → [root-of-the-server]__0y0jwufd7xjsv._.js.map} +0 -0
  531. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__1m9atpy0vkbmj._.js.map → [root-of-the-server]__19ecatcacd6t9._.js.map} +0 -0
  532. /package/web/.next/server/chunks/ssr/{_0w2ptjht34s6t._.js.map → _0wukvn3-ht3ps._.js.map} +0 -0
  533. /package/web/.next/server/chunks/ssr/{_0bhvvyz0q_0ja._.js.map → _1e2o809f0ekry._.js.map} +0 -0
  534. /package/web/.next/static/{tQFXrUWi6vEZq4Cp-U5tk → 87vMFs_KGRcFD40WWRkFR}/_buildManifest.js +0 -0
  535. /package/web/.next/static/{tQFXrUWi6vEZq4Cp-U5tk → 87vMFs_KGRcFD40WWRkFR}/_clientMiddlewareManifest.js +0 -0
  536. /package/web/.next/static/{tQFXrUWi6vEZq4Cp-U5tk → 87vMFs_KGRcFD40WWRkFR}/_ssgManifest.js +0 -0
@@ -4,12 +4,21 @@
4
4
  * the chat holds no crew token: its inbox, and starting a message where the
5
5
  * fleet lets it (aeolus-fleet #1046); taking part in a meeting: reading it,
6
6
  * contributing and their own mic calls (decision 0061, M19); and asking for
7
- * an outside MCP server as their account (decision 0056).
7
+ * an outside MCP server as their account (decision 0056). Each tool states
8
+ * what its call does in its three hints and that it needs the person's
9
+ * sign-in, as ChatGPT's plugin directory reads them (chatgpt-plugin design,
10
+ * 7.4).
8
11
  */
9
12
  import { idSchema } from '@aeolus-fleet/common';
10
13
  import { McpServer } from '@modelcontextprotocol/server';
11
14
  import { z } from 'zod';
12
15
  import { runningVersion } from './version.js';
16
+ /** What a call does, each hint stated: no tool deletes or overwrites, so none is destructive. */
17
+ const READS = { readOnlyHint: true, destructiveHint: false, openWorldHint: false };
18
+ /** Changes only the person's own inbox or place in a meeting's line. */
19
+ const CHANGES_OWN = { readOnlyHint: false, destructiveHint: false, openWorldHint: false };
20
+ /** Reaches another party: a message to a ship, or a request to an approver. */
21
+ const REACHES_OTHERS = { readOnlyHint: false, destructiveHint: false, openWorldHint: true };
13
22
  const INBOX_TOOL = {
14
23
  name: 'aeolus_inbox',
15
24
  title: 'Read your inbox',
@@ -18,12 +27,14 @@ const INBOX_TOOL = {
18
27
  'deliveries, what waits for you, at most 10, with how many wait in all; and opened, what you opened from any client and have not answered or done yet.',
19
28
  ].join(' '),
20
29
  inputSchema: { type: 'object', properties: {} },
30
+ annotations: READS,
21
31
  };
22
32
  const OPEN_TOOL = {
23
33
  name: 'aeolus_open',
24
34
  title: 'Open a delivery',
25
35
  description: 'Opens one delivery your inbox lists, by its deliveryId: who sent it, when, its title, content type and content. Opening it confirms you got it, so it waits no more. One you opened opens again, from any of your clients, until you answer it or are done with it.',
26
36
  inputSchema: { type: 'object', properties: { deliveryId: { type: 'string' } }, required: ['deliveryId'] },
37
+ annotations: CHANGES_OWN,
27
38
  };
28
39
  const ANSWER_TOOL = {
29
40
  name: 'aeolus_answer',
@@ -38,18 +49,21 @@ const ANSWER_TOOL = {
38
49
  properties: { deliveryId: { type: 'string' }, contentType: { type: 'string' }, payload: { type: 'string' } },
39
50
  required: ['deliveryId', 'contentType', 'payload'],
40
51
  },
52
+ annotations: REACHES_OTHERS,
41
53
  };
42
54
  const DONE_TOOL = {
43
55
  name: 'aeolus_done',
44
56
  title: 'Be done with a delivery',
45
57
  description: 'Says you dealt with a delivery you opened, by its deliveryId, with no answer.',
46
58
  inputSchema: { type: 'object', properties: { deliveryId: { type: 'string' } }, required: ['deliveryId'] },
59
+ annotations: CHANGES_OWN,
47
60
  };
48
61
  const SHIPS_TOOL = {
49
62
  name: 'aeolus_ships',
50
63
  title: 'Read who you may send to',
51
64
  description: 'The ships and types your person ship may send to now, as your rights and the fleet\'s network rules allow: each ship by its name, with its type, kind and what it offers (its statement), and each type with how many of its ships you reach.',
52
65
  inputSchema: { type: 'object', properties: {} },
66
+ annotations: READS,
53
67
  };
54
68
  const SEND_TOOL = {
55
69
  name: 'aeolus_send',
@@ -66,6 +80,7 @@ const SEND_TOOL = {
66
80
  properties: { ship: { type: 'string' }, type: { type: 'string' }, meeting: { type: 'string' }, contentType: { type: 'string' }, payload: { type: 'string' }, idempotencyKey: { type: 'string' } },
67
81
  required: ['contentType', 'payload'],
68
82
  },
83
+ annotations: REACHES_OTHERS,
69
84
  };
70
85
  const meetingInput = { type: 'object', properties: { meetingId: { type: 'string' } }, required: ['meetingId'] };
71
86
  const MEETING_TOOL = {
@@ -78,6 +93,7 @@ const MEETING_TOOL = {
78
93
  'Give the nextCursor it answered as cursor for older ones. Reading confirms no delivery: contributions still wait in your inbox.',
79
94
  ].join(' '),
80
95
  inputSchema: { type: 'object', properties: { meetingId: { type: 'string' }, cursor: { type: 'string' } }, required: ['meetingId'] },
96
+ annotations: READS,
81
97
  };
82
98
  const REQUEST_MIC_TOOL = {
83
99
  name: 'aeolus_request_mic',
@@ -88,18 +104,21 @@ const REQUEST_MIC_TOOL = {
88
104
  'When you act for the person, you may request it again after each of their contributions. A message of application/vnd.aeolus.meeting.mic+json tells you when you hold it.',
89
105
  ].join(' '),
90
106
  inputSchema: meetingInput,
107
+ annotations: CHANGES_OWN,
91
108
  };
92
109
  const WITHDRAW_MIC_REQUEST_TOOL = {
93
110
  name: 'aeolus_withdraw_mic_request',
94
111
  title: 'Withdraw your mic request',
95
112
  description: 'Withdraws your request for the mic of a meeting, by its meetingId: you leave the line.',
96
113
  inputSchema: meetingInput,
114
+ annotations: CHANGES_OWN,
97
115
  };
98
116
  const RELEASE_MIC_TOOL = {
99
117
  name: 'aeolus_release_mic',
100
118
  title: 'Release the mic',
101
119
  description: 'Releases the mic you hold in a meeting, by its meetingId, once you are done: it never frees by itself, and the next in line may then get it.',
102
120
  inputSchema: meetingInput,
121
+ annotations: CHANGES_OWN,
103
122
  };
104
123
  /** The mic call each mic tool makes. */
105
124
  const MIC_TOOLS = new Map([
@@ -112,8 +131,12 @@ const ASK_FOR_SERVER_TOOL = {
112
131
  title: 'Ask for an outside MCP server',
113
132
  description: 'Asks an approver of your fleet to add an outside MCP server, by its https address, so its tools reach the fleet. The approver gives its credential. A request waits 7 days for a decision; another person asking for the same server joins it.',
114
133
  inputSchema: { type: 'object', properties: { url: { type: 'string' } }, required: ['url'] },
134
+ annotations: REACHES_OTHERS,
115
135
  };
116
- const PERSON_TOOLS = [INBOX_TOOL, OPEN_TOOL, ANSWER_TOOL, DONE_TOOL, SHIPS_TOOL, SEND_TOOL, MEETING_TOOL, REQUEST_MIC_TOOL, WITHDRAW_MIC_REQUEST_TOOL, RELEASE_MIC_TOOL, ASK_FOR_SERVER_TOOL];
136
+ /** Every tool needs the person's sign-in (OpenAI's Apps SDK auth). */
137
+ const SIGN_IN = [{ type: 'oauth2' }];
138
+ /** The tools a signed-in person is served, in the order tools/list answers them; the plugin package names them in its review cases. */
139
+ export const PERSON_TOOLS = [INBOX_TOOL, OPEN_TOOL, ANSWER_TOOL, DONE_TOOL, SHIPS_TOOL, SEND_TOOL, MEETING_TOOL, REQUEST_MIC_TOOL, WITHDRAW_MIC_REQUEST_TOOL, RELEASE_MIC_TOOL, ASK_FOR_SERVER_TOOL].map((tool) => ({ ...tool, securitySchemes: SIGN_IN }));
117
140
  const deliveryArgumentsSchema = z.object({ deliveryId: z.string() });
118
141
  const askForServerArgumentsSchema = z.object({ url: z.string() });
119
142
  const answerArgumentsSchema = z.object({ deliveryId: z.string(), contentType: z.string(), payload: z.string() });
@@ -126,12 +149,21 @@ const sendArgumentsSchema = z.union([
126
149
  ]);
127
150
  const meetingArgumentsSchema = z.object({ meetingId: idSchema('meeting'), cursor: idSchema('message').optional() });
128
151
  const meetingIdRefusal = (name) => toolError(`${name} takes the meetingId of a meeting you take part in, as its notices name it`);
152
+ /** The refusal of a person whose sign-in ended. */
153
+ const SIGNED_OUT = 'SIGNED_OUT';
154
+ /** Where a tool result carries the challenge that makes ChatGPT ask the person to sign in again. */
155
+ const WWW_AUTHENTICATE_META = 'mcp/www_authenticate';
129
156
  /** A tool's answer as one text block of JSON. */
130
157
  const answered = (value) => ({ content: [{ type: 'text', text: JSON.stringify(value) }] });
131
158
  /** A tool error the person's model reads. */
132
159
  const toolError = (message) => ({ content: [{ type: 'text', text: message }], isError: true });
133
160
  /** The MCP server one request of a person's client is served by. */
134
- export function personServerFor(caller, deps) {
161
+ export function personServerFor(served, deps) {
162
+ const { caller } = served;
163
+ /** A refusal the person's model reads; one whose sign-in ended also tells the client to sign in again (OpenAI's Apps SDK auth). */
164
+ const refused = (error) => error.kind === SIGNED_OUT
165
+ ? { ...toolError(error.message), _meta: { [WWW_AUTHENTICATE_META]: [`Bearer resource_metadata="${served.resourceMetadata}", error="invalid_token", error_description="${error.message}"`] } }
166
+ : toolError(error.message);
135
167
  const mcp = new McpServer({ name: 'Aeolus', version: runningVersion() }, { capabilities: { tools: {} } });
136
168
  mcp.server.setRequestHandler('tools/list', () => ({ tools: PERSON_TOOLS }));
137
169
  const changeOwnMic = async (call) => {
@@ -140,13 +172,13 @@ export function personServerFor(caller, deps) {
140
172
  return meetingIdRefusal(call.name);
141
173
  }
142
174
  const changed = await deps.changeOwnMic({ caller, meetingId: sent.data.meetingId, change: call.change });
143
- return changed.isOk ? answered({}) : toolError(changed.error.message);
175
+ return changed.isOk ? answered({}) : refused(changed.error);
144
176
  };
145
177
  mcp.server.setRequestHandler('tools/call', async ({ params }) => {
146
178
  switch (params.name) {
147
179
  case INBOX_TOOL.name: {
148
180
  const read = await deps.readInbox(caller);
149
- return read.isOk ? answered(read.value) : toolError(read.error.message);
181
+ return read.isOk ? answered(read.value) : refused(read.error);
150
182
  }
151
183
  case OPEN_TOOL.name:
152
184
  case DONE_TOOL.name: {
@@ -156,7 +188,7 @@ export function personServerFor(caller, deps) {
156
188
  }
157
189
  const asked = { caller, deliveryId: sent.data.deliveryId };
158
190
  const dealt = params.name === OPEN_TOOL.name ? await deps.openDelivery(asked) : await deps.doneDelivery(asked);
159
- return dealt.isOk ? answered(dealt.value) : toolError(dealt.error.message);
191
+ return dealt.isOk ? answered(dealt.value) : refused(dealt.error);
160
192
  }
161
193
  case ANSWER_TOOL.name: {
162
194
  const sent = answerArgumentsSchema.safeParse(params.arguments);
@@ -164,11 +196,11 @@ export function personServerFor(caller, deps) {
164
196
  return toolError(`${ANSWER_TOOL.name} takes the deliveryId, a contentType and a payload`);
165
197
  }
166
198
  const dealt = await deps.answerDelivery({ caller, ...sent.data });
167
- return dealt.isOk ? answered(dealt.value) : toolError(dealt.error.message);
199
+ return dealt.isOk ? answered(dealt.value) : refused(dealt.error);
168
200
  }
169
201
  case SHIPS_TOOL.name: {
170
202
  const listed = await deps.listShips(caller);
171
- return listed.isOk ? answered(listed.value) : toolError(listed.error.message);
203
+ return listed.isOk ? answered(listed.value) : refused(listed.error);
172
204
  }
173
205
  case SEND_TOOL.name: {
174
206
  const sent = sendArgumentsSchema.safeParse(params.arguments);
@@ -177,7 +209,7 @@ export function personServerFor(caller, deps) {
177
209
  }
178
210
  const { idempotencyKey, ...rest } = sent.data;
179
211
  const taken = await deps.sendMessage({ caller, ...rest, ...(idempotencyKey === undefined ? {} : { idempotencyKey }) });
180
- return taken.isOk ? answered(taken.value) : toolError(taken.error.message);
212
+ return taken.isOk ? answered(taken.value) : refused(taken.error);
181
213
  }
182
214
  case MEETING_TOOL.name: {
183
215
  const sent = meetingArgumentsSchema.safeParse(params.arguments);
@@ -186,7 +218,7 @@ export function personServerFor(caller, deps) {
186
218
  }
187
219
  const { cursor, meetingId } = sent.data;
188
220
  const read = await deps.readMeeting({ caller, meetingId, ...(cursor === undefined ? {} : { cursor }) });
189
- return read.isOk ? answered({ ...read.value.meeting, yourMic: read.value.mic }) : toolError(read.error.message);
221
+ return read.isOk ? answered({ ...read.value.meeting, yourMic: read.value.mic }) : refused(read.error);
190
222
  }
191
223
  case ASK_FOR_SERVER_TOOL.name: {
192
224
  const sent = askForServerArgumentsSchema.safeParse(params.arguments);
@@ -194,7 +226,7 @@ export function personServerFor(caller, deps) {
194
226
  return toolError(`${ASK_FOR_SERVER_TOOL.name} takes the server's url`);
195
227
  }
196
228
  const asked = await deps.askForServer({ caller, url: sent.data.url });
197
- return asked.isOk ? answered({ ...asked.value, expiresAt: asked.value.expiresAt.toISOString() }) : toolError(asked.error.message);
229
+ return asked.isOk ? answered({ ...asked.value, expiresAt: asked.value.expiresAt.toISOString() }) : refused(asked.error);
198
230
  }
199
231
  default: {
200
232
  const change = MIC_TOOLS.get(params.name);
@@ -1 +1 @@
1
- {"version":3,"file":"person-tools.js","sourceRoot":"","sources":["../../../src/adapters/http/person-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"person-tools.js","sourceRoot":"","sources":["../../../src/adapters/http/person-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,iGAAiG;AACjG,MAAM,KAAK,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACnF,wEAAwE;AACxE,MAAM,WAAW,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAC1F,+EAA+E;AAC/E,MAAM,cAAc,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAE5F,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE;QACX,gHAAgH;QAChH,uJAAuJ;KACxJ,CAAC,IAAI,CAAC,GAAG,CAAC;IACX,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;IACxD,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,qQAAqQ;IAClR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;IAClH,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE;QACX,mIAAmI;QACnI,+HAA+H;QAC/H,6IAA6I;KAC9I,CAAC,IAAI,CAAC,GAAG,CAAC;IACX,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC5G,QAAQ,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC;KACnD;IACD,WAAW,EAAE,cAAc;CAC5B,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,+EAA+E;IAC5F,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;IAClH,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EACT,+OAA+O;IACjP,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;IACxD,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE;QACX,oHAAoH;QACpH,iKAAiK;QACjK,8LAA8L;QAC9L,wHAAwH;QACxH,0IAA0I;KAC3I,CAAC,IAAI,CAAC,GAAG,CAAC;IACX,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACjM,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;KACrC;IACD,WAAW,EAAE,cAAc;CAC5B,CAAC;AAEF,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;AAEzH,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE;QACX,+IAA+I;QAC/I,gJAAgJ;QAChJ,uHAAuH;QACvH,iIAAiI;KAClI,CAAC,IAAI,CAAC,GAAG,CAAC;IACX,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;IAC5I,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE;QACX,4HAA4H;QAC5H,6IAA6I;QAC7I,2KAA2K;KAC5K,CAAC,IAAI,CAAC,GAAG,CAAC;IACX,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAChC,IAAI,EAAE,6BAA6B;IACnC,KAAK,EAAE,2BAA2B;IAClC,WAAW,EAAE,wFAAwF;IACrG,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,8IAA8I;IAC3J,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,wCAAwC;AACxC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAuB;IAC9C,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;IAClC,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC;IAC5C,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,+BAA+B;IACtC,WAAW,EACT,gPAAgP;IAClP,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IACpG,WAAW,EAAE,cAAc;CAC5B,CAAC;AAEF,sEAAsE;AACtE,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAC;AAE9C,uIAAuI;AACvI,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAE5P,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACrE,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAClE,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjH,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;AACxG,uFAAuF;AACvF,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAC3I,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACrI,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;CACtK,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAEpH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,4EAA4E,CAAC,CAAC;AAE1I,mDAAmD;AACnD,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,oGAAoG;AACpG,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAErD,iDAAiD;AACjD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE7G,6CAA6C;AAC7C,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAQhH,oEAAoE;AACpE,MAAM,UAAU,eAAe,CAAC,MAAoB,EAAE,IAAqB;IACzE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,mIAAmI;IACnI,MAAM,OAAO,GAAG,CAAC,KAAwC,EAAE,EAAE,CAC3D,KAAK,CAAC,IAAI,KAAK,UAAU;QACvB,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,6BAA6B,MAAM,CAAC,gBAAgB,gDAAgD,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE;QAC7L,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1G,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,KAAK,EAAE,IAA2D,EAAE,EAAE;QACzF,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAC9D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,SAAS,CAAC,IAAI,CAAC;YACpB,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC,GAAG,MAAM,CAAC,IAAI,wCAAwC,CAAC,CAAC;gBAC3E,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/G,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnE,CAAC;YACD,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC,GAAG,WAAW,CAAC,IAAI,oDAAoD,CAAC,CAAC;gBAC5F,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnE,CAAC;YACD,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,uFAAuF,CAAC,CAAC;gBAC7H,CAAC;gBACD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnE,CAAC;YACD,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxG,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxG,CAAC;YACD,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC,GAAG,mBAAmB,CAAC,IAAI,yBAAyB,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1H,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,MAAM,CAAC,IAAI,0BAA0B,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACnN,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Slack's doors at the gateway (gateway scopes, part B): `/gw/slack/install`
3
+ * is where Slack's install screen sends the person back with a code and the
4
+ * state the gateway sealed. The person goes on to the Slack page, which says
5
+ * how the install went by its outcome in the address, never by a text the
6
+ * address carries. `/gw/slack/link` is where Sign in with Slack sends them
7
+ * back to link, with the browser's shared sign-in so the link binds to the
8
+ * account that started it, going on to the Overview the same way; a link refused for
9
+ * one kept already carries the first link's name. `/gw/slack/events` takes
10
+ * the events of the apps the gateway made, and `/gw/slack/actions` a press
11
+ * of a button under a question it posted, each read as its raw body so its
12
+ * signature can be checked.
13
+ */
14
+ import type { FastifyInstance } from 'fastify';
15
+ import type { CompleteInstall } from '../../core/slack/complete-install.js';
16
+ import type { AnswerInSlack } from '../../core/slack/answer-in-slack.js';
17
+ import type { CompleteLink } from '../../core/slack/complete-link.js';
18
+ import type { TakeSlackEvent } from '../../core/slack/take-slack-event.js';
19
+ export declare const SLACK_INSTALL_PATH = "/gw/slack/install";
20
+ export declare const SLACK_EVENTS_PATH = "/gw/slack/events";
21
+ export declare const SLACK_LINK_PATH = "/gw/slack/link";
22
+ export declare const SLACK_ACTIONS_PATH = "/gw/slack/actions";
23
+ export declare function registerSlackRoutes(server: FastifyInstance, deps: {
24
+ completeInstall: CompleteInstall;
25
+ completeLink: CompleteLink;
26
+ takeSlackEvent: TakeSlackEvent;
27
+ answerInSlack: AnswerInSlack;
28
+ }): void;
@@ -0,0 +1,173 @@
1
+ import { z } from 'zod';
2
+ import { SHARED_SIGN_IN_COOKIE } from '../../core/account-sign-in/ports.js';
3
+ import { cookieValueOf } from './account-sign-in-routes.js';
4
+ export const SLACK_INSTALL_PATH = '/gw/slack/install';
5
+ export const SLACK_EVENTS_PATH = '/gw/slack/events';
6
+ export const SLACK_LINK_PATH = '/gw/slack/link';
7
+ export const SLACK_ACTIONS_PATH = '/gw/slack/actions';
8
+ /** Form posts, as Slack sends a press of a button. */
9
+ const FORM_TYPE = 'application/x-www-form-urlencoded';
10
+ /** A press of a button under a question the gateway posted: the app, who pressed it, the Slack message it is under, and the option. */
11
+ const blockActionsSchema = z.object({
12
+ type: z.literal('block_actions'),
13
+ api_app_id: z.string(),
14
+ team: z.object({ id: z.string() }),
15
+ user: z.object({ id: z.string() }),
16
+ container: z.object({ channel_id: z.string(), message_ts: z.string() }),
17
+ actions: z.array(z.object({ value: z.string().regex(/^\d+$/) })).min(1),
18
+ });
19
+ /** The Slack page of the web app (web/features/slack/paths.ts names the same). */
20
+ const SLACK_PAGE_PATH = '/slack';
21
+ /** The Overview of the web app, where a person's Slack link shows. */
22
+ const OVERVIEW_PATH = '/overview';
23
+ const HTTP_FOUND = 302;
24
+ const HTTP_UNAUTHORIZED = 401;
25
+ const HTTP_BAD_REQUEST = 400;
26
+ /** Slack's address check as it makes an app, before the gateway knows the app's signing secret: it carries nothing to act on. */
27
+ const urlVerificationSchema = z.object({ type: z.literal('url_verification'), challenge: z.string() });
28
+ const eventCallbackSchema = z.object({
29
+ type: z.literal('event_callback'),
30
+ api_app_id: z.string(),
31
+ team_id: z.string(),
32
+ event_id: z.string(),
33
+ event: z.object({
34
+ type: z.string(),
35
+ user: z.string().optional(),
36
+ channel: z.string().optional(),
37
+ channel_type: z.string().optional(),
38
+ subtype: z.string().optional(),
39
+ bot_id: z.string().optional(),
40
+ text: z.string().optional(),
41
+ ts: z.string().optional(),
42
+ thread_ts: z.string().optional(),
43
+ files: z.array(z.object({ name: z.string(), permalink: z.string() })).optional(),
44
+ }),
45
+ });
46
+ function headerOf(value) {
47
+ return typeof value === 'string' ? value : '';
48
+ }
49
+ const installQuerySchema = z.object({ code: z.string().optional(), state: z.string().optional(), error: z.string().optional() });
50
+ /** What the Overview says of a link, by its outcome (web/features/overview/services/slack-link-outcomes.ts). */
51
+ const LINK_OUTCOMES = {
52
+ LINK_REFUSED: 'refused',
53
+ SLACK_NOT_CONNECTED: 'not-connected',
54
+ NO_SUCH_BOT: 'not-connected',
55
+ OTHER_WORKSPACE: 'other-workspace',
56
+ SLACK_UNAVAILABLE: 'unavailable',
57
+ SLACK_USER_LINKED: 'slack-user-linked',
58
+ ACCOUNT_LINKED: 'account-linked',
59
+ };
60
+ /** What the Slack page says of an install, by its outcome (web/features/slack/install-outcomes.ts). */
61
+ const OUTCOMES = {
62
+ INSTALL_REFUSED: 'refused',
63
+ SLACK_NOT_CONNECTED: 'not-connected',
64
+ OTHER_WORKSPACE: 'other-workspace',
65
+ SLACK_UNAVAILABLE: 'unavailable',
66
+ };
67
+ export function registerSlackRoutes(server, deps) {
68
+ server.get(SLACK_INSTALL_PATH, async (request, reply) => {
69
+ const query = installQuerySchema.safeParse(request.query);
70
+ const { code, state, error } = query.success ? query.data : {};
71
+ const goTo = (outcome, fleetId) => reply.code(HTTP_FOUND).header('location', `${SLACK_PAGE_PATH}?${new URLSearchParams({ ...(fleetId === undefined ? {} : { fleet: fleetId }), install: outcome }).toString()}`).send();
72
+ if (error !== undefined || code === undefined || state === undefined) {
73
+ // The person cancelled on Slack's screen, or Slack sent nothing to take.
74
+ return goTo('cancelled');
75
+ }
76
+ const completed = await deps.completeInstall({ code, state });
77
+ return completed.isOk ? goTo('installed', completed.value.fleetId) : goTo(OUTCOMES[completed.error.kind]);
78
+ });
79
+ server.get(SLACK_LINK_PATH, async (request, reply) => {
80
+ const query = installQuerySchema.safeParse(request.query);
81
+ const { code, state, error } = query.success ? query.data : {};
82
+ const goTo = (said) => reply.code(HTTP_FOUND).header('location', `${OVERVIEW_PATH}?${new URLSearchParams(said).toString()}`).send();
83
+ if (error !== undefined || code === undefined || state === undefined) {
84
+ // The person cancelled on Slack's screen, or Slack sent nothing to take.
85
+ return goTo({ slack: 'cancelled' });
86
+ }
87
+ const completed = await deps.completeLink({ code, state, signIn: cookieValueOf(SHARED_SIGN_IN_COOKIE, request.headers.cookie) });
88
+ if (completed.isOk) {
89
+ return goTo({ fleet: completed.value.fleetId, slack: 'linked' });
90
+ }
91
+ const refusal = completed.error;
92
+ return 'name' in refusal ? goTo({ fleet: refusal.fleetId, slack: LINK_OUTCOMES[refusal.kind], name: refusal.name }) : goTo({ slack: LINK_OUTCOMES[refusal.kind] });
93
+ });
94
+ void server.register(async (scope) => {
95
+ // The raw body, as Slack signed it.
96
+ scope.addContentTypeParser('application/json', { parseAs: 'string' }, async (_request, body) => Promise.resolve(body.toString()));
97
+ if (scope.hasContentTypeParser(FORM_TYPE)) {
98
+ scope.removeContentTypeParser(FORM_TYPE);
99
+ }
100
+ scope.addContentTypeParser(FORM_TYPE, { parseAs: 'string' }, async (_request, body) => Promise.resolve(body.toString()));
101
+ scope.post(SLACK_ACTIONS_PATH, async (request, reply) => {
102
+ const body = typeof request.body === 'string' ? request.body : '';
103
+ let sent;
104
+ try {
105
+ sent = JSON.parse(new URLSearchParams(body).get('payload') ?? '');
106
+ }
107
+ catch {
108
+ return reply.code(HTTP_BAD_REQUEST).send();
109
+ }
110
+ const press = blockActionsSchema.safeParse(sent);
111
+ if (!press.success) {
112
+ // Another interaction the gateway does not take: answered, so Slack shows no error.
113
+ return reply.send();
114
+ }
115
+ const { api_app_id: appId, team, user, container, actions } = press.data;
116
+ const answered = await deps.answerInSlack({
117
+ appId,
118
+ teamId: team.id,
119
+ userId: user.id,
120
+ channel: container.channel_id,
121
+ messageTs: container.message_ts,
122
+ option: Number(actions[0]?.value),
123
+ body,
124
+ timestamp: headerOf(request.headers['x-slack-request-timestamp']),
125
+ signature: headerOf(request.headers['x-slack-signature']),
126
+ });
127
+ return answered.isOk ? reply.send() : reply.code(HTTP_UNAUTHORIZED).send();
128
+ });
129
+ scope.post(SLACK_EVENTS_PATH, async (request, reply) => {
130
+ const body = typeof request.body === 'string' ? request.body : '';
131
+ let sent;
132
+ try {
133
+ sent = JSON.parse(body);
134
+ }
135
+ catch {
136
+ return reply.code(HTTP_BAD_REQUEST).send();
137
+ }
138
+ const check = urlVerificationSchema.safeParse(sent);
139
+ if (check.success) {
140
+ return reply.send({ challenge: check.data.challenge });
141
+ }
142
+ const event = eventCallbackSchema.safeParse(sent);
143
+ if (!event.success) {
144
+ return reply.code(HTTP_BAD_REQUEST).send();
145
+ }
146
+ const { api_app_id: appId, team_id: teamId, event_id: eventId, event: fields } = event.data;
147
+ const taken = await deps.takeSlackEvent({
148
+ appId,
149
+ event: {
150
+ eventId,
151
+ type: fields.type,
152
+ teamId,
153
+ userId: fields.user ?? null,
154
+ channel: fields.channel ?? null,
155
+ channelType: fields.channel_type ?? null,
156
+ subtype: fields.subtype ?? null,
157
+ botId: fields.bot_id ?? null,
158
+ text: fields.text ?? '',
159
+ ts: fields.ts ?? null,
160
+ threadTs: fields.thread_ts ?? null,
161
+ files: fields.files ?? [],
162
+ },
163
+ isRetry: request.headers['x-slack-retry-num'] !== undefined,
164
+ body,
165
+ timestamp: headerOf(request.headers['x-slack-request-timestamp']),
166
+ signature: headerOf(request.headers['x-slack-signature']),
167
+ });
168
+ return taken.isOk ? reply.send() : reply.code(HTTP_UNAUTHORIZED).send();
169
+ });
170
+ return Promise.resolve();
171
+ });
172
+ }
173
+ //# sourceMappingURL=slack-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-routes.js","sourceRoot":"","sources":["../../../src/adapters/http/slack-routes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { FleetForgetter } from '../../core/installation/ports.js';
2
2
  import type { PrismaClient } from './client.js';
3
- /** Forgets every record the gateway holds of a fleet, in one transaction: its connection, its switch, its outside parties switch, its parties with their vault, argo's marks, its calls, its outside clients' calls with their replies and A2A tasks with their push configs and pushes, its messages to outside A2A agents with their replies, its OAuth clients, codes and tokens, its signed-in accounts' grants and their person ships' crews, the email channels they turned on, the wakes sent, their pages in focus and the browsers they turned web push on in, and the requests that name it with their outcomes still to tell and the questions to the gateway's owner about them. */
3
+ /** Forgets every record the gateway holds of a fleet, in one transaction: its connection, its switch, its outside parties switch, its parties with their vault, argo's marks, its calls, its outside clients' calls with their replies and A2A tasks with their push configs and pushes, its messages to outside A2A agents with their replies, its OAuth clients, codes and tokens, its signed-in accounts' grants and their person ships' crews, the email channels they turned on, the wakes sent, their pages in focus and the browsers they turned web push on in, and the requests that name it with their outcomes still to tell and the questions to the gateway's owner about them, and its Slack workspace with the apps made in it. */
4
4
  export declare function createPrismaFleetForgetter(db: PrismaClient): FleetForgetter;
@@ -1,9 +1,9 @@
1
- /** Forgets every record the gateway holds of a fleet, in one transaction: its connection, its switch, its outside parties switch, its parties with their vault, argo's marks, its calls, its outside clients' calls with their replies and A2A tasks with their push configs and pushes, its messages to outside A2A agents with their replies, its OAuth clients, codes and tokens, its signed-in accounts' grants and their person ships' crews, the email channels they turned on, the wakes sent, their pages in focus and the browsers they turned web push on in, and the requests that name it with their outcomes still to tell and the questions to the gateway's owner about them. */
1
+ /** Forgets every record the gateway holds of a fleet, in one transaction: its connection, its switch, its outside parties switch, its parties with their vault, argo's marks, its calls, its outside clients' calls with their replies and A2A tasks with their push configs and pushes, its messages to outside A2A agents with their replies, its OAuth clients, codes and tokens, its signed-in accounts' grants and their person ships' crews, the email channels they turned on, the wakes sent, their pages in focus and the browsers they turned web push on in, and the requests that name it with their outcomes still to tell and the questions to the gateway's owner about them, and its Slack workspace with the apps made in it. */
2
2
  export function createPrismaFleetForgetter(db) {
3
3
  return {
4
4
  forget: async (fleetId) => {
5
5
  const where = { where: { fleetId } };
6
- await db.$transaction([db.connection.deleteMany(where), db.fleetSwitch.deleteMany(where), db.outsidePartySwitch.deleteMany(where), db.party.deleteMany(where), db.toolMark.deleteMany(where), db.call.deleteMany(where), db.clientCall.deleteMany(where), db.clientCallReply.deleteMany(where), db.a2aPush.deleteMany(where), db.a2aPushConfig.deleteMany(where), db.a2aTask.deleteMany(where), db.a2aAgentCall.deleteMany(where), db.a2aAgentReply.deleteMany(where), db.oAuthClient.deleteMany(where), db.authorizationCode.deleteMany(where), db.issuedToken.deleteMany(where), db.accountGrant.deleteMany(where), db.personCrew.deleteMany(where), db.emailChannel.deleteMany(where), db.wakeSent.deleteMany(where), db.focusedPage.deleteMany(where), db.webPushSubscription.deleteMany(where), db.openedDelivery.deleteMany(where), db.pendingRequest.deleteMany(where), db.requestOutcomeNotice.deleteMany(where), db.ownerQuestion.deleteMany(where), db.installationRequest.deleteMany(where)]);
6
+ await db.$transaction([db.connection.deleteMany(where), db.fleetSwitch.deleteMany(where), db.outsidePartySwitch.deleteMany(where), db.party.deleteMany(where), db.toolMark.deleteMany(where), db.call.deleteMany(where), db.clientCall.deleteMany(where), db.clientCallReply.deleteMany(where), db.a2aPush.deleteMany(where), db.a2aPushConfig.deleteMany(where), db.a2aTask.deleteMany(where), db.a2aAgentCall.deleteMany(where), db.a2aAgentReply.deleteMany(where), db.oAuthClient.deleteMany(where), db.authorizationCode.deleteMany(where), db.issuedToken.deleteMany(where), db.accountGrant.deleteMany(where), db.personCrew.deleteMany(where), db.emailChannel.deleteMany(where), db.wakeSent.deleteMany(where), db.focusedPage.deleteMany(where), db.webPushSubscription.deleteMany(where), db.openedDelivery.deleteMany(where), db.pendingRequest.deleteMany(where), db.requestOutcomeNotice.deleteMany(where), db.ownerQuestion.deleteMany(where), db.installationRequest.deleteMany(where), db.slackApp.deleteMany(where), db.slackLink.deleteMany(where), db.slackEvent.deleteMany(where), db.slackPost.deleteMany(where), db.slackWorkspace.deleteMany(where)]);
7
7
  },
8
8
  };
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-forgetter.js","sourceRoot":"","sources":["../../../src/adapters/prisma/fleet-forgetter.ts"],"names":[],"mappings":"AAGA,gqBAAgqB;AAChqB,MAAM,UAAU,0BAA0B,CAAC,EAAgB;IACzD,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;YACrC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC38B,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"fleet-forgetter.js","sourceRoot":"","sources":["../../../src/adapters/prisma/fleet-forgetter.ts"],"names":[],"mappings":"AAGA,ktBAAktB;AACltB,MAAM,UAAU,0BAA0B,CAAC,EAAgB;IACzD,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;YACrC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChnC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -151,3 +151,28 @@ export type FocusedPage = Prisma.FocusedPageModel;
151
151
  * A browser a person turned web push on in (wake a person, W8): its push service's endpoint and keys, and the fleet's name its wakes say. Gone once its push service answered 404 or 410.
152
152
  */
153
153
  export type WebPushSubscription = Prisma.WebPushSubscriptionModel;
154
+ /**
155
+ * Model SlackWorkspace
156
+ * A fleet's Slack workspace (gateway scopes 9.1): one per fleet, with Slack's app configuration token, which the gateway rotates before its 12 hours end.
157
+ */
158
+ export type SlackWorkspace = Prisma.SlackWorkspaceModel;
159
+ /**
160
+ * Model SlackApp
161
+ * A Slack app the gateway made in a fleet's workspace, with its secrets, and its bot token once installed; no ship for the gateway's own bot.
162
+ */
163
+ export type SlackApp = Prisma.SlackAppModel;
164
+ /**
165
+ * Model SlackLink
166
+ * A person's Slack account linked to their account in a fleet (gateway scopes 9.3): one Slack user to one account, one Slack user per account.
167
+ */
168
+ export type SlackLink = Prisma.SlackLinkModel;
169
+ /**
170
+ * Model SlackEvent
171
+ * A linked person's Slack message, kept by Slack's event id until core takes it (gateway scopes 9.4 step 3); then only its id, for an hour.
172
+ */
173
+ export type SlackEvent = Prisma.SlackEventModel;
174
+ /**
175
+ * Model SlackPost
176
+ * A fleet message as it is in Slack, for a person ship (gateway scopes 9.5): a delivery posted there, or the person's own message sent from there.
177
+ */
178
+ export type SlackPost = Prisma.SlackPostModel;
@@ -170,3 +170,28 @@ export type FocusedPage = Prisma.FocusedPageModel;
170
170
  * A browser a person turned web push on in (wake a person, W8): its push service's endpoint and keys, and the fleet's name its wakes say. Gone once its push service answered 404 or 410.
171
171
  */
172
172
  export type WebPushSubscription = Prisma.WebPushSubscriptionModel;
173
+ /**
174
+ * Model SlackWorkspace
175
+ * A fleet's Slack workspace (gateway scopes 9.1): one per fleet, with Slack's app configuration token, which the gateway rotates before its 12 hours end.
176
+ */
177
+ export type SlackWorkspace = Prisma.SlackWorkspaceModel;
178
+ /**
179
+ * Model SlackApp
180
+ * A Slack app the gateway made in a fleet's workspace, with its secrets, and its bot token once installed; no ship for the gateway's own bot.
181
+ */
182
+ export type SlackApp = Prisma.SlackAppModel;
183
+ /**
184
+ * Model SlackLink
185
+ * A person's Slack account linked to their account in a fleet (gateway scopes 9.3): one Slack user to one account, one Slack user per account.
186
+ */
187
+ export type SlackLink = Prisma.SlackLinkModel;
188
+ /**
189
+ * Model SlackEvent
190
+ * A linked person's Slack message, kept by Slack's event id until core takes it (gateway scopes 9.4 step 3); then only its id, for an hour.
191
+ */
192
+ export type SlackEvent = Prisma.SlackEventModel;
193
+ /**
194
+ * Model SlackPost
195
+ * A fleet message as it is in Slack, for a person ship (gateway scopes 9.5): a delivery posted there, or the person's own message sent from there.
196
+ */
197
+ export type SlackPost = Prisma.SlackPostModel;
@@ -414,5 +414,60 @@ export interface PrismaClient<in LogOpts extends Prisma.LogLevel = never, in out
414
414
  get webPushSubscription(): Prisma.WebPushSubscriptionDelegate<ExtArgs, {
415
415
  omit: OmitOpts;
416
416
  }>;
417
+ /**
418
+ * `prisma.slackWorkspace`: Exposes CRUD operations for the **SlackWorkspace** model.
419
+ * Example usage:
420
+ * ```ts
421
+ * // Fetch zero or more SlackWorkspaces
422
+ * const slackWorkspaces = await prisma.slackWorkspace.findMany()
423
+ * ```
424
+ */
425
+ get slackWorkspace(): Prisma.SlackWorkspaceDelegate<ExtArgs, {
426
+ omit: OmitOpts;
427
+ }>;
428
+ /**
429
+ * `prisma.slackApp`: Exposes CRUD operations for the **SlackApp** model.
430
+ * Example usage:
431
+ * ```ts
432
+ * // Fetch zero or more SlackApps
433
+ * const slackApps = await prisma.slackApp.findMany()
434
+ * ```
435
+ */
436
+ get slackApp(): Prisma.SlackAppDelegate<ExtArgs, {
437
+ omit: OmitOpts;
438
+ }>;
439
+ /**
440
+ * `prisma.slackLink`: Exposes CRUD operations for the **SlackLink** model.
441
+ * Example usage:
442
+ * ```ts
443
+ * // Fetch zero or more SlackLinks
444
+ * const slackLinks = await prisma.slackLink.findMany()
445
+ * ```
446
+ */
447
+ get slackLink(): Prisma.SlackLinkDelegate<ExtArgs, {
448
+ omit: OmitOpts;
449
+ }>;
450
+ /**
451
+ * `prisma.slackEvent`: Exposes CRUD operations for the **SlackEvent** model.
452
+ * Example usage:
453
+ * ```ts
454
+ * // Fetch zero or more SlackEvents
455
+ * const slackEvents = await prisma.slackEvent.findMany()
456
+ * ```
457
+ */
458
+ get slackEvent(): Prisma.SlackEventDelegate<ExtArgs, {
459
+ omit: OmitOpts;
460
+ }>;
461
+ /**
462
+ * `prisma.slackPost`: Exposes CRUD operations for the **SlackPost** model.
463
+ * Example usage:
464
+ * ```ts
465
+ * // Fetch zero or more SlackPosts
466
+ * const slackPosts = await prisma.slackPost.findMany()
467
+ * ```
468
+ */
469
+ get slackPost(): Prisma.SlackPostDelegate<ExtArgs, {
470
+ omit: OmitOpts;
471
+ }>;
417
472
  }
418
473
  export declare function getPrismaClientClass(): PrismaClientConstructor;