@mastra/factory 0.0.0-aggregate-trace-20261015182851

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 (926) hide show
  1. package/LICENSE.md +32 -0
  2. package/README.md +671 -0
  3. package/dist/auth.d.ts +201 -0
  4. package/dist/auth.d.ts.map +1 -0
  5. package/dist/auth.js +623 -0
  6. package/dist/auth.js.map +1 -0
  7. package/dist/boards/define-board.d.ts +111 -0
  8. package/dist/boards/define-board.d.ts.map +1 -0
  9. package/dist/boards/define-board.js +156 -0
  10. package/dist/boards/define-board.js.map +1 -0
  11. package/dist/boards/index.d.ts +14 -0
  12. package/dist/boards/index.d.ts.map +1 -0
  13. package/dist/boards/index.js +21 -0
  14. package/dist/boards/index.js.map +1 -0
  15. package/dist/boards/registry.d.ts +16 -0
  16. package/dist/boards/registry.d.ts.map +1 -0
  17. package/dist/boards/registry.js +25 -0
  18. package/dist/boards/registry.js.map +1 -0
  19. package/dist/boards/relocate.d.ts +21 -0
  20. package/dist/boards/relocate.d.ts.map +1 -0
  21. package/dist/boards/relocate.js +58 -0
  22. package/dist/boards/relocate.js.map +1 -0
  23. package/dist/boards/review.d.ts +6 -0
  24. package/dist/boards/review.d.ts.map +1 -0
  25. package/dist/boards/review.js +104 -0
  26. package/dist/boards/review.js.map +1 -0
  27. package/dist/boards/semantics.d.ts +68 -0
  28. package/dist/boards/semantics.d.ts.map +1 -0
  29. package/dist/boards/semantics.js +119 -0
  30. package/dist/boards/semantics.js.map +1 -0
  31. package/dist/boards/transition-policy.d.ts +67 -0
  32. package/dist/boards/transition-policy.d.ts.map +1 -0
  33. package/dist/boards/transition-policy.js +36 -0
  34. package/dist/boards/transition-policy.js.map +1 -0
  35. package/dist/boards/work-tool-rules.d.ts +8 -0
  36. package/dist/boards/work-tool-rules.d.ts.map +1 -0
  37. package/dist/boards/work-tool-rules.js +20 -0
  38. package/dist/boards/work-tool-rules.js.map +1 -0
  39. package/dist/boards/work-transition-policy.d.ts +3 -0
  40. package/dist/boards/work-transition-policy.d.ts.map +1 -0
  41. package/dist/boards/work-transition-policy.js +46 -0
  42. package/dist/boards/work-transition-policy.js.map +1 -0
  43. package/dist/boards/work.d.ts +4 -0
  44. package/dist/boards/work.d.ts.map +1 -0
  45. package/dist/boards/work.js +222 -0
  46. package/dist/boards/work.js.map +1 -0
  47. package/dist/capabilities/connection.d.ts +9 -0
  48. package/dist/capabilities/connection.d.ts.map +1 -0
  49. package/dist/capabilities/connection.js +1 -0
  50. package/dist/capabilities/intake.d.ts +153 -0
  51. package/dist/capabilities/intake.d.ts.map +1 -0
  52. package/dist/capabilities/intake.js +1 -0
  53. package/dist/capabilities/version-control.d.ts +268 -0
  54. package/dist/capabilities/version-control.d.ts.map +1 -0
  55. package/dist/capabilities/version-control.js +1 -0
  56. package/dist/environment/build-runner.d.ts +72 -0
  57. package/dist/environment/build-runner.d.ts.map +1 -0
  58. package/dist/environment/build-runner.js +131 -0
  59. package/dist/environment/build-runner.js.map +1 -0
  60. package/dist/environment/build-schedule.d.ts +40 -0
  61. package/dist/environment/build-schedule.d.ts.map +1 -0
  62. package/dist/environment/build-schedule.js +94 -0
  63. package/dist/environment/build-schedule.js.map +1 -0
  64. package/dist/environment/build-workflow.d.ts +62 -0
  65. package/dist/environment/build-workflow.d.ts.map +1 -0
  66. package/dist/environment/build-workflow.js +149 -0
  67. package/dist/environment/build-workflow.js.map +1 -0
  68. package/dist/environment/build.d.ts +111 -0
  69. package/dist/environment/build.d.ts.map +1 -0
  70. package/dist/environment/build.js +344 -0
  71. package/dist/environment/build.js.map +1 -0
  72. package/dist/environment/heads.d.ts +36 -0
  73. package/dist/environment/heads.d.ts.map +1 -0
  74. package/dist/environment/heads.js +60 -0
  75. package/dist/environment/heads.js.map +1 -0
  76. package/dist/factory.d.ts +225 -0
  77. package/dist/factory.d.ts.map +1 -0
  78. package/dist/factory.js +1006 -0
  79. package/dist/factory.js.map +1 -0
  80. package/dist/feed-events.d.ts +13 -0
  81. package/dist/feed-events.d.ts.map +1 -0
  82. package/dist/feed-events.js +25 -0
  83. package/dist/feed-events.js.map +1 -0
  84. package/dist/index.d.ts +22 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.js +15 -0
  87. package/dist/integrations/base.d.ts +302 -0
  88. package/dist/integrations/base.d.ts.map +1 -0
  89. package/dist/integrations/base.js +1 -0
  90. package/dist/integrations/github/acceptance-labels.d.ts +16 -0
  91. package/dist/integrations/github/acceptance-labels.d.ts.map +1 -0
  92. package/dist/integrations/github/acceptance-labels.js +55 -0
  93. package/dist/integrations/github/acceptance-labels.js.map +1 -0
  94. package/dist/integrations/github/app-identity.d.ts +43 -0
  95. package/dist/integrations/github/app-identity.d.ts.map +1 -0
  96. package/dist/integrations/github/app-identity.js +62 -0
  97. package/dist/integrations/github/app-identity.js.map +1 -0
  98. package/dist/integrations/github/commits.d.ts +40 -0
  99. package/dist/integrations/github/commits.d.ts.map +1 -0
  100. package/dist/integrations/github/commits.js +48 -0
  101. package/dist/integrations/github/commits.js.map +1 -0
  102. package/dist/integrations/github/config.d.ts +60 -0
  103. package/dist/integrations/github/config.d.ts.map +1 -0
  104. package/dist/integrations/github/config.js +42 -0
  105. package/dist/integrations/github/config.js.map +1 -0
  106. package/dist/integrations/github/default-rules.d.ts +218 -0
  107. package/dist/integrations/github/default-rules.d.ts.map +1 -0
  108. package/dist/integrations/github/default-rules.js +296 -0
  109. package/dist/integrations/github/default-rules.js.map +1 -0
  110. package/dist/integrations/github/integration.d.ts +270 -0
  111. package/dist/integrations/github/integration.d.ts.map +1 -0
  112. package/dist/integrations/github/integration.js +1375 -0
  113. package/dist/integrations/github/integration.js.map +1 -0
  114. package/dist/integrations/github/issue-reconciler.d.ts +28 -0
  115. package/dist/integrations/github/issue-reconciler.d.ts.map +1 -0
  116. package/dist/integrations/github/issue-reconciler.js +138 -0
  117. package/dist/integrations/github/issue-reconciler.js.map +1 -0
  118. package/dist/integrations/github/pat.d.ts +38 -0
  119. package/dist/integrations/github/pat.d.ts.map +1 -0
  120. package/dist/integrations/github/pat.js +59 -0
  121. package/dist/integrations/github/pat.js.map +1 -0
  122. package/dist/integrations/github/provenance.d.ts +34 -0
  123. package/dist/integrations/github/provenance.d.ts.map +1 -0
  124. package/dist/integrations/github/provenance.js +91 -0
  125. package/dist/integrations/github/provenance.js.map +1 -0
  126. package/dist/integrations/github/reconcile-worker.d.ts +45 -0
  127. package/dist/integrations/github/reconcile-worker.d.ts.map +1 -0
  128. package/dist/integrations/github/reconcile-worker.js +189 -0
  129. package/dist/integrations/github/reconcile-worker.js.map +1 -0
  130. package/dist/integrations/github/reconciliation-config.d.ts +3 -0
  131. package/dist/integrations/github/reconciliation-config.d.ts.map +1 -0
  132. package/dist/integrations/github/reconciliation-config.js +19 -0
  133. package/dist/integrations/github/reconciliation-config.js.map +1 -0
  134. package/dist/integrations/github/routes.d.ts +90 -0
  135. package/dist/integrations/github/routes.d.ts.map +1 -0
  136. package/dist/integrations/github/routes.js +1362 -0
  137. package/dist/integrations/github/routes.js.map +1 -0
  138. package/dist/integrations/github/rules.d.ts +173 -0
  139. package/dist/integrations/github/rules.d.ts.map +1 -0
  140. package/dist/integrations/github/rules.js +1021 -0
  141. package/dist/integrations/github/rules.js.map +1 -0
  142. package/dist/integrations/github/sandbox-release.d.ts +25 -0
  143. package/dist/integrations/github/sandbox-release.d.ts.map +1 -0
  144. package/dist/integrations/github/sandbox-release.js +38 -0
  145. package/dist/integrations/github/sandbox-release.js.map +1 -0
  146. package/dist/integrations/github/sandbox.d.ts +234 -0
  147. package/dist/integrations/github/sandbox.d.ts.map +1 -0
  148. package/dist/integrations/github/sandbox.js +947 -0
  149. package/dist/integrations/github/sandbox.js.map +1 -0
  150. package/dist/integrations/github/session-subscriptions.d.ts +28 -0
  151. package/dist/integrations/github/session-subscriptions.d.ts.map +1 -0
  152. package/dist/integrations/github/session-subscriptions.js +283 -0
  153. package/dist/integrations/github/session-subscriptions.js.map +1 -0
  154. package/dist/integrations/github/settle-or-abort.d.ts +7 -0
  155. package/dist/integrations/github/settle-or-abort.d.ts.map +1 -0
  156. package/dist/integrations/github/settle-or-abort.js +25 -0
  157. package/dist/integrations/github/settle-or-abort.js.map +1 -0
  158. package/dist/integrations/github/stale-reviews.d.ts +22 -0
  159. package/dist/integrations/github/stale-reviews.d.ts.map +1 -0
  160. package/dist/integrations/github/stale-reviews.js +70 -0
  161. package/dist/integrations/github/stale-reviews.js.map +1 -0
  162. package/dist/integrations/github/subscriptions.d.ts +54 -0
  163. package/dist/integrations/github/subscriptions.d.ts.map +1 -0
  164. package/dist/integrations/github/subscriptions.js +64 -0
  165. package/dist/integrations/github/subscriptions.js.map +1 -0
  166. package/dist/integrations/github/token-refresh.d.ts +31 -0
  167. package/dist/integrations/github/token-refresh.d.ts.map +1 -0
  168. package/dist/integrations/github/token-refresh.js +42 -0
  169. package/dist/integrations/github/token-refresh.js.map +1 -0
  170. package/dist/integrations/github/webhook.d.ts +139 -0
  171. package/dist/integrations/github/webhook.d.ts.map +1 -0
  172. package/dist/integrations/github/webhook.js +432 -0
  173. package/dist/integrations/github/webhook.js.map +1 -0
  174. package/dist/integrations/gitlab/agent-tools.d.ts +14 -0
  175. package/dist/integrations/gitlab/agent-tools.d.ts.map +1 -0
  176. package/dist/integrations/gitlab/agent-tools.js +42 -0
  177. package/dist/integrations/gitlab/agent-tools.js.map +1 -0
  178. package/dist/integrations/gitlab/api.d.ts +222 -0
  179. package/dist/integrations/gitlab/api.d.ts.map +1 -0
  180. package/dist/integrations/gitlab/api.js +274 -0
  181. package/dist/integrations/gitlab/api.js.map +1 -0
  182. package/dist/integrations/gitlab/default-rules.d.ts +125 -0
  183. package/dist/integrations/gitlab/default-rules.d.ts.map +1 -0
  184. package/dist/integrations/gitlab/default-rules.js +180 -0
  185. package/dist/integrations/gitlab/default-rules.js.map +1 -0
  186. package/dist/integrations/gitlab/integration.d.ts +138 -0
  187. package/dist/integrations/gitlab/integration.d.ts.map +1 -0
  188. package/dist/integrations/gitlab/integration.js +705 -0
  189. package/dist/integrations/gitlab/integration.js.map +1 -0
  190. package/dist/integrations/gitlab/issue-reconciler.d.ts +6 -0
  191. package/dist/integrations/gitlab/issue-reconciler.d.ts.map +1 -0
  192. package/dist/integrations/gitlab/issue-reconciler.js +123 -0
  193. package/dist/integrations/gitlab/issue-reconciler.js.map +1 -0
  194. package/dist/integrations/gitlab/merge-request-reconciler.d.ts +6 -0
  195. package/dist/integrations/gitlab/merge-request-reconciler.d.ts.map +1 -0
  196. package/dist/integrations/gitlab/merge-request-reconciler.js +267 -0
  197. package/dist/integrations/gitlab/merge-request-reconciler.js.map +1 -0
  198. package/dist/integrations/gitlab/reconciler.d.ts +5 -0
  199. package/dist/integrations/gitlab/reconciler.d.ts.map +1 -0
  200. package/dist/integrations/gitlab/reconciler.js +31 -0
  201. package/dist/integrations/gitlab/reconciler.js.map +1 -0
  202. package/dist/integrations/gitlab/reconciliation-config.d.ts +3 -0
  203. package/dist/integrations/gitlab/reconciliation-config.d.ts.map +1 -0
  204. package/dist/integrations/gitlab/reconciliation-config.js +17 -0
  205. package/dist/integrations/gitlab/reconciliation-config.js.map +1 -0
  206. package/dist/integrations/gitlab/routes.d.ts +20 -0
  207. package/dist/integrations/gitlab/routes.d.ts.map +1 -0
  208. package/dist/integrations/gitlab/routes.js +474 -0
  209. package/dist/integrations/gitlab/routes.js.map +1 -0
  210. package/dist/integrations/gitlab/rules.d.ts +35 -0
  211. package/dist/integrations/gitlab/rules.d.ts.map +1 -0
  212. package/dist/integrations/gitlab/rules.js +502 -0
  213. package/dist/integrations/gitlab/rules.js.map +1 -0
  214. package/dist/integrations/gitlab/session-subscriptions.d.ts +32 -0
  215. package/dist/integrations/gitlab/session-subscriptions.d.ts.map +1 -0
  216. package/dist/integrations/gitlab/session-subscriptions.js +193 -0
  217. package/dist/integrations/gitlab/session-subscriptions.js.map +1 -0
  218. package/dist/integrations/gitlab/subscriptions.d.ts +70 -0
  219. package/dist/integrations/gitlab/subscriptions.d.ts.map +1 -0
  220. package/dist/integrations/gitlab/subscriptions.js +76 -0
  221. package/dist/integrations/gitlab/subscriptions.js.map +1 -0
  222. package/dist/integrations/gitlab/version-control.d.ts +16 -0
  223. package/dist/integrations/gitlab/version-control.d.ts.map +1 -0
  224. package/dist/integrations/gitlab/version-control.js +621 -0
  225. package/dist/integrations/gitlab/version-control.js.map +1 -0
  226. package/dist/integrations/gitlab/webhook-dispatch.d.ts +75 -0
  227. package/dist/integrations/gitlab/webhook-dispatch.d.ts.map +1 -0
  228. package/dist/integrations/gitlab/webhook-dispatch.js +235 -0
  229. package/dist/integrations/gitlab/webhook-dispatch.js.map +1 -0
  230. package/dist/integrations/gitlab/webhook.d.ts +72 -0
  231. package/dist/integrations/gitlab/webhook.d.ts.map +1 -0
  232. package/dist/integrations/gitlab/webhook.js +201 -0
  233. package/dist/integrations/gitlab/webhook.js.map +1 -0
  234. package/dist/integrations/incidentio/agent-tools.d.ts +49 -0
  235. package/dist/integrations/incidentio/agent-tools.d.ts.map +1 -0
  236. package/dist/integrations/incidentio/agent-tools.js +90 -0
  237. package/dist/integrations/incidentio/agent-tools.js.map +1 -0
  238. package/dist/integrations/incidentio/api.d.ts +400 -0
  239. package/dist/integrations/incidentio/api.d.ts.map +1 -0
  240. package/dist/integrations/incidentio/api.js +192 -0
  241. package/dist/integrations/incidentio/api.js.map +1 -0
  242. package/dist/integrations/incidentio/claim.d.ts +8 -0
  243. package/dist/integrations/incidentio/claim.d.ts.map +1 -0
  244. package/dist/integrations/incidentio/claim.js +14 -0
  245. package/dist/integrations/incidentio/claim.js.map +1 -0
  246. package/dist/integrations/incidentio/default-rules.d.ts +46 -0
  247. package/dist/integrations/incidentio/default-rules.d.ts.map +1 -0
  248. package/dist/integrations/incidentio/default-rules.js +68 -0
  249. package/dist/integrations/incidentio/default-rules.js.map +1 -0
  250. package/dist/integrations/incidentio/intake.d.ts +10 -0
  251. package/dist/integrations/incidentio/intake.d.ts.map +1 -0
  252. package/dist/integrations/incidentio/intake.js +307 -0
  253. package/dist/integrations/incidentio/intake.js.map +1 -0
  254. package/dist/integrations/incidentio/integration.d.ts +63 -0
  255. package/dist/integrations/incidentio/integration.d.ts.map +1 -0
  256. package/dist/integrations/incidentio/integration.js +141 -0
  257. package/dist/integrations/incidentio/integration.js.map +1 -0
  258. package/dist/integrations/incidentio/issue-reconciler.d.ts +10 -0
  259. package/dist/integrations/incidentio/issue-reconciler.d.ts.map +1 -0
  260. package/dist/integrations/incidentio/issue-reconciler.js +75 -0
  261. package/dist/integrations/incidentio/issue-reconciler.js.map +1 -0
  262. package/dist/integrations/incidentio/reconciliation-config.d.ts +3 -0
  263. package/dist/integrations/incidentio/reconciliation-config.d.ts.map +1 -0
  264. package/dist/integrations/incidentio/reconciliation-config.js +17 -0
  265. package/dist/integrations/incidentio/reconciliation-config.js.map +1 -0
  266. package/dist/integrations/incidentio/routes.d.ts +76 -0
  267. package/dist/integrations/incidentio/routes.d.ts.map +1 -0
  268. package/dist/integrations/incidentio/routes.js +249 -0
  269. package/dist/integrations/incidentio/routes.js.map +1 -0
  270. package/dist/integrations/incidentio/rules.d.ts +55 -0
  271. package/dist/integrations/incidentio/rules.d.ts.map +1 -0
  272. package/dist/integrations/incidentio/rules.js +189 -0
  273. package/dist/integrations/incidentio/rules.js.map +1 -0
  274. package/dist/integrations/issue-reconcile-worker.d.ts +19 -0
  275. package/dist/integrations/issue-reconcile-worker.d.ts.map +1 -0
  276. package/dist/integrations/issue-reconcile-worker.js +97 -0
  277. package/dist/integrations/issue-reconcile-worker.js.map +1 -0
  278. package/dist/integrations/issue-reconciler.d.ts +51 -0
  279. package/dist/integrations/issue-reconciler.d.ts.map +1 -0
  280. package/dist/integrations/issue-reconciler.js +158 -0
  281. package/dist/integrations/issue-reconciler.js.map +1 -0
  282. package/dist/integrations/jira/adf.d.ts +26 -0
  283. package/dist/integrations/jira/adf.d.ts.map +1 -0
  284. package/dist/integrations/jira/adf.js +73 -0
  285. package/dist/integrations/jira/adf.js.map +1 -0
  286. package/dist/integrations/jira/agent-tools.d.ts +45 -0
  287. package/dist/integrations/jira/agent-tools.d.ts.map +1 -0
  288. package/dist/integrations/jira/agent-tools.js +87 -0
  289. package/dist/integrations/jira/agent-tools.js.map +1 -0
  290. package/dist/integrations/jira/api.d.ts +157 -0
  291. package/dist/integrations/jira/api.d.ts.map +1 -0
  292. package/dist/integrations/jira/api.js +141 -0
  293. package/dist/integrations/jira/api.js.map +1 -0
  294. package/dist/integrations/jira/claim.d.ts +9 -0
  295. package/dist/integrations/jira/claim.d.ts.map +1 -0
  296. package/dist/integrations/jira/claim.js +15 -0
  297. package/dist/integrations/jira/claim.js.map +1 -0
  298. package/dist/integrations/jira/default-rules.d.ts +47 -0
  299. package/dist/integrations/jira/default-rules.d.ts.map +1 -0
  300. package/dist/integrations/jira/default-rules.js +69 -0
  301. package/dist/integrations/jira/default-rules.js.map +1 -0
  302. package/dist/integrations/jira/integration.d.ts +114 -0
  303. package/dist/integrations/jira/integration.d.ts.map +1 -0
  304. package/dist/integrations/jira/integration.js +407 -0
  305. package/dist/integrations/jira/integration.js.map +1 -0
  306. package/dist/integrations/jira/issue-reconciler.d.ts +10 -0
  307. package/dist/integrations/jira/issue-reconciler.d.ts.map +1 -0
  308. package/dist/integrations/jira/issue-reconciler.js +70 -0
  309. package/dist/integrations/jira/issue-reconciler.js.map +1 -0
  310. package/dist/integrations/jira/reconciliation-config.d.ts +3 -0
  311. package/dist/integrations/jira/reconciliation-config.d.ts.map +1 -0
  312. package/dist/integrations/jira/reconciliation-config.js +17 -0
  313. package/dist/integrations/jira/reconciliation-config.js.map +1 -0
  314. package/dist/integrations/jira/routes.d.ts +54 -0
  315. package/dist/integrations/jira/routes.d.ts.map +1 -0
  316. package/dist/integrations/jira/routes.js +260 -0
  317. package/dist/integrations/jira/routes.js.map +1 -0
  318. package/dist/integrations/jira/rules.d.ts +57 -0
  319. package/dist/integrations/jira/rules.d.ts.map +1 -0
  320. package/dist/integrations/jira/rules.js +189 -0
  321. package/dist/integrations/jira/rules.js.map +1 -0
  322. package/dist/integrations/linear/agent-tools.d.ts +34 -0
  323. package/dist/integrations/linear/agent-tools.d.ts.map +1 -0
  324. package/dist/integrations/linear/agent-tools.js +87 -0
  325. package/dist/integrations/linear/agent-tools.js.map +1 -0
  326. package/dist/integrations/linear/claim.d.ts +8 -0
  327. package/dist/integrations/linear/claim.d.ts.map +1 -0
  328. package/dist/integrations/linear/claim.js +14 -0
  329. package/dist/integrations/linear/claim.js.map +1 -0
  330. package/dist/integrations/linear/default-rules.d.ts +46 -0
  331. package/dist/integrations/linear/default-rules.d.ts.map +1 -0
  332. package/dist/integrations/linear/default-rules.js +70 -0
  333. package/dist/integrations/linear/default-rules.js.map +1 -0
  334. package/dist/integrations/linear/integration.d.ts +260 -0
  335. package/dist/integrations/linear/integration.d.ts.map +1 -0
  336. package/dist/integrations/linear/integration.js +900 -0
  337. package/dist/integrations/linear/integration.js.map +1 -0
  338. package/dist/integrations/linear/issue-reconciler.d.ts +8 -0
  339. package/dist/integrations/linear/issue-reconciler.d.ts.map +1 -0
  340. package/dist/integrations/linear/issue-reconciler.js +73 -0
  341. package/dist/integrations/linear/issue-reconciler.js.map +1 -0
  342. package/dist/integrations/linear/reconciliation-config.d.ts +3 -0
  343. package/dist/integrations/linear/reconciliation-config.d.ts.map +1 -0
  344. package/dist/integrations/linear/reconciliation-config.js +21 -0
  345. package/dist/integrations/linear/reconciliation-config.js.map +1 -0
  346. package/dist/integrations/linear/routes.d.ts +81 -0
  347. package/dist/integrations/linear/routes.d.ts.map +1 -0
  348. package/dist/integrations/linear/routes.js +380 -0
  349. package/dist/integrations/linear/routes.js.map +1 -0
  350. package/dist/integrations/linear/rules.d.ts +54 -0
  351. package/dist/integrations/linear/rules.d.ts.map +1 -0
  352. package/dist/integrations/linear/rules.js +189 -0
  353. package/dist/integrations/linear/rules.js.map +1 -0
  354. package/dist/integrations/linear/storage.d.ts +65 -0
  355. package/dist/integrations/linear/storage.d.ts.map +1 -0
  356. package/dist/integrations/linear/storage.js +1 -0
  357. package/dist/integrations/platform/api-client.d.ts +26 -0
  358. package/dist/integrations/platform/api-client.d.ts.map +1 -0
  359. package/dist/integrations/platform/api-client.js +177 -0
  360. package/dist/integrations/platform/api-client.js.map +1 -0
  361. package/dist/integrations/platform/connect/routes.d.ts +39 -0
  362. package/dist/integrations/platform/connect/routes.d.ts.map +1 -0
  363. package/dist/integrations/platform/connect/routes.js +133 -0
  364. package/dist/integrations/platform/connect/routes.js.map +1 -0
  365. package/dist/integrations/platform/github/event-worker.d.ts +58 -0
  366. package/dist/integrations/platform/github/event-worker.d.ts.map +1 -0
  367. package/dist/integrations/platform/github/event-worker.js +449 -0
  368. package/dist/integrations/platform/github/event-worker.js.map +1 -0
  369. package/dist/integrations/platform/github/integration.d.ts +89 -0
  370. package/dist/integrations/platform/github/integration.d.ts.map +1 -0
  371. package/dist/integrations/platform/github/integration.js +1266 -0
  372. package/dist/integrations/platform/github/integration.js.map +1 -0
  373. package/dist/integrations/platform/gitlab/event-worker.d.ts +64 -0
  374. package/dist/integrations/platform/gitlab/event-worker.d.ts.map +1 -0
  375. package/dist/integrations/platform/gitlab/event-worker.js +305 -0
  376. package/dist/integrations/platform/gitlab/event-worker.js.map +1 -0
  377. package/dist/integrations/platform/gitlab/integration.d.ts +57 -0
  378. package/dist/integrations/platform/gitlab/integration.d.ts.map +1 -0
  379. package/dist/integrations/platform/gitlab/integration.js +113 -0
  380. package/dist/integrations/platform/gitlab/integration.js.map +1 -0
  381. package/dist/integrations/platform/incidentio/integration.d.ts +74 -0
  382. package/dist/integrations/platform/incidentio/integration.d.ts.map +1 -0
  383. package/dist/integrations/platform/incidentio/integration.js +406 -0
  384. package/dist/integrations/platform/incidentio/integration.js.map +1 -0
  385. package/dist/integrations/platform/jira/agent-tools.d.ts +36 -0
  386. package/dist/integrations/platform/jira/agent-tools.d.ts.map +1 -0
  387. package/dist/integrations/platform/jira/agent-tools.js +85 -0
  388. package/dist/integrations/platform/jira/agent-tools.js.map +1 -0
  389. package/dist/integrations/platform/jira/integration.d.ts +65 -0
  390. package/dist/integrations/platform/jira/integration.d.ts.map +1 -0
  391. package/dist/integrations/platform/jira/integration.js +546 -0
  392. package/dist/integrations/platform/jira/integration.js.map +1 -0
  393. package/dist/integrations/platform/jira/routes.d.ts +55 -0
  394. package/dist/integrations/platform/jira/routes.d.ts.map +1 -0
  395. package/dist/integrations/platform/jira/routes.js +274 -0
  396. package/dist/integrations/platform/jira/routes.js.map +1 -0
  397. package/dist/integrations/platform/linear/event-worker.d.ts +105 -0
  398. package/dist/integrations/platform/linear/event-worker.d.ts.map +1 -0
  399. package/dist/integrations/platform/linear/event-worker.js +379 -0
  400. package/dist/integrations/platform/linear/event-worker.js.map +1 -0
  401. package/dist/integrations/platform/linear/integration.d.ts +92 -0
  402. package/dist/integrations/platform/linear/integration.d.ts.map +1 -0
  403. package/dist/integrations/platform/linear/integration.js +754 -0
  404. package/dist/integrations/platform/linear/integration.js.map +1 -0
  405. package/dist/integrations/pull-request-head.d.ts +18 -0
  406. package/dist/integrations/pull-request-head.d.ts.map +1 -0
  407. package/dist/integrations/pull-request-head.js +45 -0
  408. package/dist/integrations/pull-request-head.js.map +1 -0
  409. package/dist/integrations/reconciliation-config.d.ts +3 -0
  410. package/dist/integrations/reconciliation-config.d.ts.map +1 -0
  411. package/dist/integrations/reconciliation-config.js +16 -0
  412. package/dist/integrations/reconciliation-config.js.map +1 -0
  413. package/dist/integrations/slack/connect-route.d.ts +46 -0
  414. package/dist/integrations/slack/connect-route.d.ts.map +1 -0
  415. package/dist/integrations/slack/connect-route.js +186 -0
  416. package/dist/integrations/slack/connect-route.js.map +1 -0
  417. package/dist/integrations/slack/emoji-shortcodes.generated.d.ts +8 -0
  418. package/dist/integrations/slack/emoji-shortcodes.generated.d.ts.map +1 -0
  419. package/dist/integrations/slack/emoji-shortcodes.generated.js +1985 -0
  420. package/dist/integrations/slack/emoji-shortcodes.generated.js.map +1 -0
  421. package/dist/integrations/slack/emoji.d.ts +3 -0
  422. package/dist/integrations/slack/emoji.d.ts.map +1 -0
  423. package/dist/integrations/slack/emoji.js +12 -0
  424. package/dist/integrations/slack/emoji.js.map +1 -0
  425. package/dist/integrations/slack/feed-publisher.d.ts +26 -0
  426. package/dist/integrations/slack/feed-publisher.d.ts.map +1 -0
  427. package/dist/integrations/slack/feed-publisher.js +44 -0
  428. package/dist/integrations/slack/feed-publisher.js.map +1 -0
  429. package/dist/integrations/slack/integration.d.ts +80 -0
  430. package/dist/integrations/slack/integration.d.ts.map +1 -0
  431. package/dist/integrations/slack/integration.js +93 -0
  432. package/dist/integrations/slack/integration.js.map +1 -0
  433. package/dist/integrations/slack/slack.d.ts +205 -0
  434. package/dist/integrations/slack/slack.d.ts.map +1 -0
  435. package/dist/integrations/slack/slack.js +653 -0
  436. package/dist/integrations/slack/slack.js.map +1 -0
  437. package/dist/integrations/subscription-session.d.ts +49 -0
  438. package/dist/integrations/subscription-session.d.ts.map +1 -0
  439. package/dist/integrations/subscription-session.js +103 -0
  440. package/dist/integrations/subscription-session.js.map +1 -0
  441. package/dist/integrations/workos/integration.d.ts +39 -0
  442. package/dist/integrations/workos/integration.d.ts.map +1 -0
  443. package/dist/integrations/workos/integration.js +91 -0
  444. package/dist/integrations/workos/integration.js.map +1 -0
  445. package/dist/packages/_internals/workspace/dist/index.js +48 -0
  446. package/dist/packages/_internals/workspace/dist/index.js.map +1 -0
  447. package/dist/platform-auth-host.d.ts +4 -0
  448. package/dist/platform-auth-host.d.ts.map +1 -0
  449. package/dist/platform-auth-host.js +18 -0
  450. package/dist/platform-auth-host.js.map +1 -0
  451. package/dist/review-verdict.d.ts +6 -0
  452. package/dist/review-verdict.d.ts.map +1 -0
  453. package/dist/review-verdict.js +14 -0
  454. package/dist/review-verdict.js.map +1 -0
  455. package/dist/routes/attention-activity.d.ts +23 -0
  456. package/dist/routes/attention-activity.d.ts.map +1 -0
  457. package/dist/routes/attention-activity.js +152 -0
  458. package/dist/routes/attention-activity.js.map +1 -0
  459. package/dist/routes/attention-parked.d.ts +22 -0
  460. package/dist/routes/attention-parked.d.ts.map +1 -0
  461. package/dist/routes/attention-parked.js +136 -0
  462. package/dist/routes/attention-parked.js.map +1 -0
  463. package/dist/routes/attention-proposed.d.ts +3 -0
  464. package/dist/routes/attention-proposed.d.ts.map +1 -0
  465. package/dist/routes/attention-proposed.js +21 -0
  466. package/dist/routes/attention-proposed.js.map +1 -0
  467. package/dist/routes/attention-providers.d.ts +159 -0
  468. package/dist/routes/attention-providers.d.ts.map +1 -0
  469. package/dist/routes/attention-providers.js +524 -0
  470. package/dist/routes/attention-providers.js.map +1 -0
  471. package/dist/routes/attention.d.ts +23 -0
  472. package/dist/routes/attention.d.ts.map +1 -0
  473. package/dist/routes/attention.js +219 -0
  474. package/dist/routes/attention.js.map +1 -0
  475. package/dist/routes/automation-runs.d.ts +37 -0
  476. package/dist/routes/automation-runs.d.ts.map +1 -0
  477. package/dist/routes/automation-runs.js +196 -0
  478. package/dist/routes/automation-runs.js.map +1 -0
  479. package/dist/routes/config.d.ts +238 -0
  480. package/dist/routes/config.d.ts.map +1 -0
  481. package/dist/routes/config.js +1011 -0
  482. package/dist/routes/config.js.map +1 -0
  483. package/dist/routes/contracts.d.ts +1080 -0
  484. package/dist/routes/contracts.d.ts.map +1 -0
  485. package/dist/routes/contracts.js +673 -0
  486. package/dist/routes/contracts.js.map +1 -0
  487. package/dist/routes/custom-provider-source.d.ts +52 -0
  488. package/dist/routes/custom-provider-source.d.ts.map +1 -0
  489. package/dist/routes/custom-provider-source.js +124 -0
  490. package/dist/routes/custom-provider-source.js.map +1 -0
  491. package/dist/routes/fs.d.ts +189 -0
  492. package/dist/routes/fs.d.ts.map +1 -0
  493. package/dist/routes/fs.js +916 -0
  494. package/dist/routes/fs.js.map +1 -0
  495. package/dist/routes/intake.d.ts +64 -0
  496. package/dist/routes/intake.d.ts.map +1 -0
  497. package/dist/routes/intake.js +627 -0
  498. package/dist/routes/intake.js.map +1 -0
  499. package/dist/routes/knowledge.d.ts +247 -0
  500. package/dist/routes/knowledge.d.ts.map +1 -0
  501. package/dist/routes/knowledge.js +1128 -0
  502. package/dist/routes/knowledge.js.map +1 -0
  503. package/dist/routes/oauth.d.ts +43 -0
  504. package/dist/routes/oauth.d.ts.map +1 -0
  505. package/dist/routes/oauth.js +477 -0
  506. package/dist/routes/oauth.js.map +1 -0
  507. package/dist/routes/projects.d.ts +68 -0
  508. package/dist/routes/projects.d.ts.map +1 -0
  509. package/dist/routes/projects.js +919 -0
  510. package/dist/routes/projects.js.map +1 -0
  511. package/dist/routes/provider-credentials.d.ts +82 -0
  512. package/dist/routes/provider-credentials.d.ts.map +1 -0
  513. package/dist/routes/provider-credentials.js +80 -0
  514. package/dist/routes/provider-credentials.js.map +1 -0
  515. package/dist/routes/route.d.ts +48 -0
  516. package/dist/routes/route.d.ts.map +1 -0
  517. package/dist/routes/route.js +15 -0
  518. package/dist/routes/route.js.map +1 -0
  519. package/dist/routes/skills.d.ts +30 -0
  520. package/dist/routes/skills.d.ts.map +1 -0
  521. package/dist/routes/skills.js +198 -0
  522. package/dist/routes/skills.js.map +1 -0
  523. package/dist/routes/source-control-sessions.d.ts +22 -0
  524. package/dist/routes/source-control-sessions.d.ts.map +1 -0
  525. package/dist/routes/source-control-sessions.js +356 -0
  526. package/dist/routes/source-control-sessions.js.map +1 -0
  527. package/dist/routes/source-control-settings.d.ts +10 -0
  528. package/dist/routes/source-control-settings.d.ts.map +1 -0
  529. package/dist/routes/source-control-settings.js +87 -0
  530. package/dist/routes/source-control-settings.js.map +1 -0
  531. package/dist/routes/supervisor.d.ts +25 -0
  532. package/dist/routes/supervisor.d.ts.map +1 -0
  533. package/dist/routes/supervisor.js +35 -0
  534. package/dist/routes/supervisor.js.map +1 -0
  535. package/dist/routes/surface.d.ts +133 -0
  536. package/dist/routes/surface.d.ts.map +1 -0
  537. package/dist/routes/surface.js +518 -0
  538. package/dist/routes/surface.js.map +1 -0
  539. package/dist/routes/telemetry.d.ts +13 -0
  540. package/dist/routes/telemetry.d.ts.map +1 -0
  541. package/dist/routes/telemetry.js +60 -0
  542. package/dist/routes/telemetry.js.map +1 -0
  543. package/dist/routes/tenant-credentials.d.ts +87 -0
  544. package/dist/routes/tenant-credentials.d.ts.map +1 -0
  545. package/dist/routes/tenant-credentials.js +219 -0
  546. package/dist/routes/tenant-credentials.js.map +1 -0
  547. package/dist/routes/work-items.d.ts +49 -0
  548. package/dist/routes/work-items.d.ts.map +1 -0
  549. package/dist/routes/work-items.js +633 -0
  550. package/dist/routes/work-items.js.map +1 -0
  551. package/dist/rules/binding-context.d.ts +59 -0
  552. package/dist/rules/binding-context.d.ts.map +1 -0
  553. package/dist/rules/binding-context.js +134 -0
  554. package/dist/rules/binding-context.js.map +1 -0
  555. package/dist/rules/decision-applicability.d.ts +32 -0
  556. package/dist/rules/decision-applicability.d.ts.map +1 -0
  557. package/dist/rules/decision-applicability.js +56 -0
  558. package/dist/rules/decision-applicability.js.map +1 -0
  559. package/dist/rules/dispatch-errors.d.ts +13 -0
  560. package/dist/rules/dispatch-errors.d.ts.map +1 -0
  561. package/dist/rules/dispatch-errors.js +105 -0
  562. package/dist/rules/dispatch-errors.js.map +1 -0
  563. package/dist/rules/dispatcher.d.ts +86 -0
  564. package/dist/rules/dispatcher.d.ts.map +1 -0
  565. package/dist/rules/dispatcher.js +1159 -0
  566. package/dist/rules/dispatcher.js.map +1 -0
  567. package/dist/rules/event-rules.d.ts +23 -0
  568. package/dist/rules/event-rules.d.ts.map +1 -0
  569. package/dist/rules/event-rules.js +46 -0
  570. package/dist/rules/event-rules.js.map +1 -0
  571. package/dist/rules/index.d.ts +6 -0
  572. package/dist/rules/index.d.ts.map +1 -0
  573. package/dist/rules/index.js +4 -0
  574. package/dist/rules/processor.d.ts +90 -0
  575. package/dist/rules/processor.d.ts.map +1 -0
  576. package/dist/rules/processor.js +486 -0
  577. package/dist/rules/processor.js.map +1 -0
  578. package/dist/rules/resolve.d.ts +15 -0
  579. package/dist/rules/resolve.d.ts.map +1 -0
  580. package/dist/rules/resolve.js +23 -0
  581. package/dist/rules/resolve.js.map +1 -0
  582. package/dist/rules/review-source-tool.d.ts +105 -0
  583. package/dist/rules/review-source-tool.d.ts.map +1 -0
  584. package/dist/rules/review-source-tool.js +109 -0
  585. package/dist/rules/review-source-tool.js.map +1 -0
  586. package/dist/rules/start-coordinator.d.ts +64 -0
  587. package/dist/rules/start-coordinator.d.ts.map +1 -0
  588. package/dist/rules/start-coordinator.js +246 -0
  589. package/dist/rules/start-coordinator.js.map +1 -0
  590. package/dist/rules/terminal-cleanup.d.ts +38 -0
  591. package/dist/rules/terminal-cleanup.d.ts.map +1 -0
  592. package/dist/rules/terminal-cleanup.js +68 -0
  593. package/dist/rules/terminal-cleanup.js.map +1 -0
  594. package/dist/rules/tools.d.ts +15 -0
  595. package/dist/rules/tools.d.ts.map +1 -0
  596. package/dist/rules/tools.js +185 -0
  597. package/dist/rules/tools.js.map +1 -0
  598. package/dist/rules/transition-service.d.ts +93 -0
  599. package/dist/rules/transition-service.d.ts.map +1 -0
  600. package/dist/rules/transition-service.js +402 -0
  601. package/dist/rules/transition-service.js.map +1 -0
  602. package/dist/rules/types.d.ts +553 -0
  603. package/dist/rules/types.d.ts.map +1 -0
  604. package/dist/rules/types.js +154 -0
  605. package/dist/rules/types.js.map +1 -0
  606. package/dist/rules/validation.d.ts +21 -0
  607. package/dist/rules/validation.d.ts.map +1 -0
  608. package/dist/rules/validation.js +327 -0
  609. package/dist/rules/validation.js.map +1 -0
  610. package/dist/sandbox/callback-factory-sandbox.d.ts +15 -0
  611. package/dist/sandbox/callback-factory-sandbox.d.ts.map +1 -0
  612. package/dist/sandbox/callback-factory-sandbox.js +22 -0
  613. package/dist/sandbox/callback-factory-sandbox.js.map +1 -0
  614. package/dist/sandbox/git-ref.d.ts +7 -0
  615. package/dist/sandbox/git-ref.d.ts.map +1 -0
  616. package/dist/sandbox/git-ref.js +15 -0
  617. package/dist/sandbox/git-ref.js.map +1 -0
  618. package/dist/sandbox/local-factory-sandbox.d.ts +20 -0
  619. package/dist/sandbox/local-factory-sandbox.d.ts.map +1 -0
  620. package/dist/sandbox/local-factory-sandbox.js +27 -0
  621. package/dist/sandbox/local-factory-sandbox.js.map +1 -0
  622. package/dist/sandbox/materialization.d.ts +41 -0
  623. package/dist/sandbox/materialization.d.ts.map +1 -0
  624. package/dist/sandbox/materialization.js +18 -0
  625. package/dist/sandbox/materialization.js.map +1 -0
  626. package/dist/sandbox/session-retirement.d.ts +45 -0
  627. package/dist/sandbox/session-retirement.d.ts.map +1 -0
  628. package/dist/sandbox/session-retirement.js +153 -0
  629. package/dist/sandbox/session-retirement.js.map +1 -0
  630. package/dist/sandbox/session-sandbox.d.ts +185 -0
  631. package/dist/sandbox/session-sandbox.d.ts.map +1 -0
  632. package/dist/sandbox/session-sandbox.js +248 -0
  633. package/dist/sandbox/session-sandbox.js.map +1 -0
  634. package/dist/sandbox/workdir.d.ts +45 -0
  635. package/dist/sandbox/workdir.d.ts.map +1 -0
  636. package/dist/sandbox/workdir.js +64 -0
  637. package/dist/sandbox/workdir.js.map +1 -0
  638. package/dist/secret-encryption.d.ts +25 -0
  639. package/dist/secret-encryption.d.ts.map +1 -0
  640. package/dist/secret-encryption.js +107 -0
  641. package/dist/secret-encryption.js.map +1 -0
  642. package/dist/server-error.d.ts +12 -0
  643. package/dist/server-error.d.ts.map +1 -0
  644. package/dist/server-error.js +16 -0
  645. package/dist/server-error.js.map +1 -0
  646. package/dist/session/credential-policy.d.ts +20 -0
  647. package/dist/session/credential-policy.d.ts.map +1 -0
  648. package/dist/session/credential-policy.js +70 -0
  649. package/dist/session/credential-policy.js.map +1 -0
  650. package/dist/session/default-model-hydration.d.ts +46 -0
  651. package/dist/session/default-model-hydration.d.ts.map +1 -0
  652. package/dist/session/default-model-hydration.js +85 -0
  653. package/dist/session/default-model-hydration.js.map +1 -0
  654. package/dist/session/environment-repositories.d.ts +31 -0
  655. package/dist/session/environment-repositories.d.ts.map +1 -0
  656. package/dist/session/environment-repositories.js +89 -0
  657. package/dist/session/environment-repositories.js.map +1 -0
  658. package/dist/session/environment-state-processor.d.ts +59 -0
  659. package/dist/session/environment-state-processor.d.ts.map +1 -0
  660. package/dist/session/environment-state-processor.js +105 -0
  661. package/dist/session/environment-state-processor.js.map +1 -0
  662. package/dist/session/factory-session.d.ts +159 -0
  663. package/dist/session/factory-session.d.ts.map +1 -0
  664. package/dist/session/factory-session.js +226 -0
  665. package/dist/session/factory-session.js.map +1 -0
  666. package/dist/session/filesystem-capture.d.ts +50 -0
  667. package/dist/session/filesystem-capture.d.ts.map +1 -0
  668. package/dist/session/filesystem-capture.js +231 -0
  669. package/dist/session/filesystem-capture.js.map +1 -0
  670. package/dist/session/first-exec-capture.d.ts +38 -0
  671. package/dist/session/first-exec-capture.d.ts.map +1 -0
  672. package/dist/session/first-exec-capture.js +91 -0
  673. package/dist/session/first-exec-capture.js.map +1 -0
  674. package/dist/session/first-message-capture.d.ts +33 -0
  675. package/dist/session/first-message-capture.d.ts.map +1 -0
  676. package/dist/session/first-message-capture.js +35 -0
  677. package/dist/session/first-message-capture.js.map +1 -0
  678. package/dist/session/live-sessions.d.ts +63 -0
  679. package/dist/session/live-sessions.d.ts.map +1 -0
  680. package/dist/session/live-sessions.js +90 -0
  681. package/dist/session/live-sessions.js.map +1 -0
  682. package/dist/session/memory-settings-hydration.d.ts +36 -0
  683. package/dist/session/memory-settings-hydration.d.ts.map +1 -0
  684. package/dist/session/memory-settings-hydration.js +43 -0
  685. package/dist/session/memory-settings-hydration.js.map +1 -0
  686. package/dist/session/org-seed.d.ts +67 -0
  687. package/dist/session/org-seed.d.ts.map +1 -0
  688. package/dist/session/org-seed.js +53 -0
  689. package/dist/session/org-seed.js.map +1 -0
  690. package/dist/session/run-audit.d.ts +54 -0
  691. package/dist/session/run-audit.d.ts.map +1 -0
  692. package/dist/session/run-audit.js +124 -0
  693. package/dist/session/run-audit.js.map +1 -0
  694. package/dist/session/session-title.d.ts +7 -0
  695. package/dist/session/session-title.d.ts.map +1 -0
  696. package/dist/session/session-title.js +14 -0
  697. package/dist/session/session-title.js.map +1 -0
  698. package/dist/session/shell-commands.d.ts +5 -0
  699. package/dist/session/shell-commands.d.ts.map +1 -0
  700. package/dist/session/shell-commands.js +25 -0
  701. package/dist/session/shell-commands.js.map +1 -0
  702. package/dist/session/source-control-tools.d.ts +25 -0
  703. package/dist/session/source-control-tools.d.ts.map +1 -0
  704. package/dist/session/source-control-tools.js +594 -0
  705. package/dist/session/source-control-tools.js.map +1 -0
  706. package/dist/session/thread-title-mirror.d.ts +35 -0
  707. package/dist/session/thread-title-mirror.d.ts.map +1 -0
  708. package/dist/session/thread-title-mirror.js +51 -0
  709. package/dist/session/thread-title-mirror.js.map +1 -0
  710. package/dist/session/work-item-repository.d.ts +21 -0
  711. package/dist/session/work-item-repository.d.ts.map +1 -0
  712. package/dist/session/work-item-repository.js +113 -0
  713. package/dist/session/work-item-repository.js.map +1 -0
  714. package/dist/skills/catalog.d.ts +14 -0
  715. package/dist/skills/catalog.d.ts.map +1 -0
  716. package/dist/skills/catalog.js +62 -0
  717. package/dist/skills/catalog.js.map +1 -0
  718. package/dist/skills/service.d.ts +70 -0
  719. package/dist/skills/service.d.ts.map +1 -0
  720. package/dist/skills/service.js +88 -0
  721. package/dist/skills/service.js.map +1 -0
  722. package/dist/spa-static.d.ts +33 -0
  723. package/dist/spa-static.d.ts.map +1 -0
  724. package/dist/spa-static.js +104 -0
  725. package/dist/spa-static.js.map +1 -0
  726. package/dist/state-signing.d.ts +59 -0
  727. package/dist/state-signing.d.ts.map +1 -0
  728. package/dist/state-signing.js +83 -0
  729. package/dist/state-signing.js.map +1 -0
  730. package/dist/storage/domains/audit/actions.d.ts +24 -0
  731. package/dist/storage/domains/audit/actions.d.ts.map +1 -0
  732. package/dist/storage/domains/audit/actions.js +69 -0
  733. package/dist/storage/domains/audit/actions.js.map +1 -0
  734. package/dist/storage/domains/audit/actors.d.ts +5 -0
  735. package/dist/storage/domains/audit/actors.d.ts.map +1 -0
  736. package/dist/storage/domains/audit/actors.js +25 -0
  737. package/dist/storage/domains/audit/actors.js.map +1 -0
  738. package/dist/storage/domains/audit/agent-audit.d.ts +30 -0
  739. package/dist/storage/domains/audit/agent-audit.d.ts.map +1 -0
  740. package/dist/storage/domains/audit/agent-audit.js +93 -0
  741. package/dist/storage/domains/audit/agent-audit.js.map +1 -0
  742. package/dist/storage/domains/audit/base.d.ts +133 -0
  743. package/dist/storage/domains/audit/base.d.ts.map +1 -0
  744. package/dist/storage/domains/audit/base.js +206 -0
  745. package/dist/storage/domains/audit/base.js.map +1 -0
  746. package/dist/storage/domains/audit/domain.d.ts +79 -0
  747. package/dist/storage/domains/audit/domain.d.ts.map +1 -0
  748. package/dist/storage/domains/audit/domain.js +248 -0
  749. package/dist/storage/domains/audit/domain.js.map +1 -0
  750. package/dist/storage/domains/audit/wire.d.ts +24 -0
  751. package/dist/storage/domains/audit/wire.d.ts.map +1 -0
  752. package/dist/storage/domains/audit/wire.js +16 -0
  753. package/dist/storage/domains/audit/wire.js.map +1 -0
  754. package/dist/storage/domains/channel-identity/base.d.ts +100 -0
  755. package/dist/storage/domains/channel-identity/base.d.ts.map +1 -0
  756. package/dist/storage/domains/channel-identity/base.js +164 -0
  757. package/dist/storage/domains/channel-identity/base.js.map +1 -0
  758. package/dist/storage/domains/comments/activity.d.ts +40 -0
  759. package/dist/storage/domains/comments/activity.d.ts.map +1 -0
  760. package/dist/storage/domains/comments/activity.js +94 -0
  761. package/dist/storage/domains/comments/activity.js.map +1 -0
  762. package/dist/storage/domains/comments/actor.d.ts +51 -0
  763. package/dist/storage/domains/comments/actor.d.ts.map +1 -0
  764. package/dist/storage/domains/comments/actor.js +38 -0
  765. package/dist/storage/domains/comments/actor.js.map +1 -0
  766. package/dist/storage/domains/comments/base.d.ts +245 -0
  767. package/dist/storage/domains/comments/base.d.ts.map +1 -0
  768. package/dist/storage/domains/comments/base.js +533 -0
  769. package/dist/storage/domains/comments/base.js.map +1 -0
  770. package/dist/storage/domains/comments/domain.d.ts +135 -0
  771. package/dist/storage/domains/comments/domain.d.ts.map +1 -0
  772. package/dist/storage/domains/comments/domain.js +285 -0
  773. package/dist/storage/domains/comments/domain.js.map +1 -0
  774. package/dist/storage/domains/comments/feed-context.d.ts +22 -0
  775. package/dist/storage/domains/comments/feed-context.d.ts.map +1 -0
  776. package/dist/storage/domains/comments/feed-context.js +89 -0
  777. package/dist/storage/domains/comments/feed-context.js.map +1 -0
  778. package/dist/storage/domains/comments/feed-sync.d.ts +21 -0
  779. package/dist/storage/domains/comments/feed-sync.d.ts.map +1 -0
  780. package/dist/storage/domains/comments/feed-sync.js +1 -0
  781. package/dist/storage/domains/comments/parse.d.ts +23 -0
  782. package/dist/storage/domains/comments/parse.d.ts.map +1 -0
  783. package/dist/storage/domains/comments/parse.js +90 -0
  784. package/dist/storage/domains/comments/parse.js.map +1 -0
  785. package/dist/storage/domains/comments/routes.d.ts +24 -0
  786. package/dist/storage/domains/comments/routes.d.ts.map +1 -0
  787. package/dist/storage/domains/comments/routes.js +302 -0
  788. package/dist/storage/domains/comments/routes.js.map +1 -0
  789. package/dist/storage/domains/comments/schema.d.ts +5 -0
  790. package/dist/storage/domains/comments/schema.d.ts.map +1 -0
  791. package/dist/storage/domains/comments/schema.js +179 -0
  792. package/dist/storage/domains/comments/schema.js.map +1 -0
  793. package/dist/storage/domains/comments/wire.d.ts +40 -0
  794. package/dist/storage/domains/comments/wire.d.ts.map +1 -0
  795. package/dist/storage/domains/comments/wire.js +37 -0
  796. package/dist/storage/domains/comments/wire.js.map +1 -0
  797. package/dist/storage/domains/credentials/base.d.ts +136 -0
  798. package/dist/storage/domains/credentials/base.d.ts.map +1 -0
  799. package/dist/storage/domains/credentials/base.js +294 -0
  800. package/dist/storage/domains/credentials/base.js.map +1 -0
  801. package/dist/storage/domains/custom-providers/base.d.ts +59 -0
  802. package/dist/storage/domains/custom-providers/base.d.ts.map +1 -0
  803. package/dist/storage/domains/custom-providers/base.js +176 -0
  804. package/dist/storage/domains/custom-providers/base.js.map +1 -0
  805. package/dist/storage/domains/filesystem/base.d.ts +26 -0
  806. package/dist/storage/domains/filesystem/base.d.ts.map +1 -0
  807. package/dist/storage/domains/filesystem/base.js +74 -0
  808. package/dist/storage/domains/filesystem/base.js.map +1 -0
  809. package/dist/storage/domains/intake/base.d.ts +150 -0
  810. package/dist/storage/domains/intake/base.d.ts.map +1 -0
  811. package/dist/storage/domains/intake/base.js +431 -0
  812. package/dist/storage/domains/intake/base.js.map +1 -0
  813. package/dist/storage/domains/integrations/base.d.ts +128 -0
  814. package/dist/storage/domains/integrations/base.d.ts.map +1 -0
  815. package/dist/storage/domains/integrations/base.js +333 -0
  816. package/dist/storage/domains/integrations/base.js.map +1 -0
  817. package/dist/storage/domains/memory-settings/base.d.ts +58 -0
  818. package/dist/storage/domains/memory-settings/base.d.ts.map +1 -0
  819. package/dist/storage/domains/memory-settings/base.js +129 -0
  820. package/dist/storage/domains/memory-settings/base.js.map +1 -0
  821. package/dist/storage/domains/model-defaults/base.d.ts +29 -0
  822. package/dist/storage/domains/model-defaults/base.d.ts.map +1 -0
  823. package/dist/storage/domains/model-defaults/base.js +79 -0
  824. package/dist/storage/domains/model-defaults/base.js.map +1 -0
  825. package/dist/storage/domains/projects/base.d.ts +191 -0
  826. package/dist/storage/domains/projects/base.d.ts.map +1 -0
  827. package/dist/storage/domains/projects/base.js +352 -0
  828. package/dist/storage/domains/projects/base.js.map +1 -0
  829. package/dist/storage/domains/queue-health/base.d.ts +52 -0
  830. package/dist/storage/domains/queue-health/base.d.ts.map +1 -0
  831. package/dist/storage/domains/queue-health/base.js +122 -0
  832. package/dist/storage/domains/queue-health/base.js.map +1 -0
  833. package/dist/storage/domains/source-control/base.d.ts +422 -0
  834. package/dist/storage/domains/source-control/base.d.ts.map +1 -0
  835. package/dist/storage/domains/source-control/base.js +1114 -0
  836. package/dist/storage/domains/source-control/base.js.map +1 -0
  837. package/dist/storage/domains/source-control/inmemory.d.ts +147 -0
  838. package/dist/storage/domains/source-control/inmemory.d.ts.map +1 -0
  839. package/dist/storage/domains/source-control/inmemory.js +416 -0
  840. package/dist/storage/domains/source-control/inmemory.js.map +1 -0
  841. package/dist/storage/domains/work-items/base.d.ts +794 -0
  842. package/dist/storage/domains/work-items/base.d.ts.map +1 -0
  843. package/dist/storage/domains/work-items/base.js +2747 -0
  844. package/dist/storage/domains/work-items/base.js.map +1 -0
  845. package/dist/storage/domains/work-items/board-version.d.ts +26 -0
  846. package/dist/storage/domains/work-items/board-version.d.ts.map +1 -0
  847. package/dist/storage/domains/work-items/board-version.js +110 -0
  848. package/dist/storage/domains/work-items/board-version.js.map +1 -0
  849. package/dist/storage/domains/work-items/metrics.d.ts +97 -0
  850. package/dist/storage/domains/work-items/metrics.d.ts.map +1 -0
  851. package/dist/storage/domains/work-items/metrics.js +226 -0
  852. package/dist/storage/domains/work-items/metrics.js.map +1 -0
  853. package/dist/supervisor/health-worker.d.ts +19 -0
  854. package/dist/supervisor/health-worker.d.ts.map +1 -0
  855. package/dist/supervisor/health-worker.js +74 -0
  856. package/dist/supervisor/health-worker.js.map +1 -0
  857. package/dist/supervisor/health.d.ts +79 -0
  858. package/dist/supervisor/health.d.ts.map +1 -0
  859. package/dist/supervisor/health.js +228 -0
  860. package/dist/supervisor/health.js.map +1 -0
  861. package/dist/supervisor/instructions.d.ts +6 -0
  862. package/dist/supervisor/instructions.d.ts.map +1 -0
  863. package/dist/supervisor/instructions.js +66 -0
  864. package/dist/supervisor/instructions.js.map +1 -0
  865. package/dist/supervisor/read-tools.d.ts +43 -0
  866. package/dist/supervisor/read-tools.d.ts.map +1 -0
  867. package/dist/supervisor/read-tools.js +343 -0
  868. package/dist/supervisor/read-tools.js.map +1 -0
  869. package/dist/supervisor/session-messaging.d.ts +26 -0
  870. package/dist/supervisor/session-messaging.d.ts.map +1 -0
  871. package/dist/supervisor/session-messaging.js +21 -0
  872. package/dist/supervisor/session-messaging.js.map +1 -0
  873. package/dist/supervisor/session.d.ts +38 -0
  874. package/dist/supervisor/session.d.ts.map +1 -0
  875. package/dist/supervisor/session.js +79 -0
  876. package/dist/supervisor/session.js.map +1 -0
  877. package/dist/supervisor/write-tools.d.ts +30 -0
  878. package/dist/supervisor/write-tools.d.ts.map +1 -0
  879. package/dist/supervisor/write-tools.js +231 -0
  880. package/dist/supervisor/write-tools.js.map +1 -0
  881. package/dist/telemetry-types.d.ts +7 -0
  882. package/dist/telemetry-types.d.ts.map +1 -0
  883. package/dist/telemetry-types.js +24 -0
  884. package/dist/telemetry-types.js.map +1 -0
  885. package/dist/telemetry.d.ts +9 -0
  886. package/dist/telemetry.d.ts.map +1 -0
  887. package/dist/telemetry.js +47 -0
  888. package/dist/telemetry.js.map +1 -0
  889. package/dist/timing.d.ts +15 -0
  890. package/dist/timing.d.ts.map +1 -0
  891. package/dist/timing.js +34 -0
  892. package/dist/timing.js.map +1 -0
  893. package/dist/work-item-branch.d.ts +33 -0
  894. package/dist/work-item-branch.d.ts.map +1 -0
  895. package/dist/work-item-branch.js +70 -0
  896. package/dist/work-item-branch.js.map +1 -0
  897. package/dist/workspace.d.ts +131 -0
  898. package/dist/workspace.d.ts.map +1 -0
  899. package/dist/workspace.js +995 -0
  900. package/dist/workspace.js.map +1 -0
  901. package/factory-skills/configure-factory-rules/SKILL.md +122 -0
  902. package/factory-skills/factory-complete-issue/SKILL.md +24 -0
  903. package/factory-skills/factory-gitlab-rereview/SKILL.md +22 -0
  904. package/factory-skills/factory-gitlab-review/SKILL.md +48 -0
  905. package/factory-skills/factory-plan/SKILL.md +72 -0
  906. package/factory-skills/factory-rereview/SKILL.md +225 -0
  907. package/factory-skills/factory-review/SKILL.md +214 -0
  908. package/factory-skills/factory-review/references/archaeology.md +225 -0
  909. package/factory-skills/factory-review/references/categories/README.md +34 -0
  910. package/factory-skills/factory-review/references/categories/behavior-change.md +36 -0
  911. package/factory-skills/factory-review/references/categories/bug-fix.md +37 -0
  912. package/factory-skills/factory-review/references/categories/docs.md +32 -0
  913. package/factory-skills/factory-review/references/categories/experimental-flagged.md +34 -0
  914. package/factory-skills/factory-review/references/categories/infra-tooling.md +37 -0
  915. package/factory-skills/factory-review/references/categories/internal-capability.md +35 -0
  916. package/factory-skills/factory-review/references/categories/large-cross-cutting.md +35 -0
  917. package/factory-skills/factory-review/references/categories/mechanical.md +36 -0
  918. package/factory-skills/factory-review/references/categories/performance.md +33 -0
  919. package/factory-skills/factory-review/references/categories/public-api.md +38 -0
  920. package/factory-skills/factory-review/references/categories/refactor.md +35 -0
  921. package/factory-skills/factory-review/references/categories/revert.md +31 -0
  922. package/factory-skills/factory-review/references/categories/schema-storage.md +39 -0
  923. package/factory-skills/factory-review/references/categories/security.md +35 -0
  924. package/factory-skills/factory-review/references/categories/tests-only.md +38 -0
  925. package/factory-skills/factory-triage/SKILL.md +197 -0
  926. package/package.json +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-shortcodes.generated.js","names":[],"sources":["../../../src/integrations/slack/emoji-shortcodes.generated.ts"],"sourcesContent":["/**\n * AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY\n *\n * Source: https://raw.githubusercontent.com/iamcal/emoji-data/097705020bcf82331c9ef10df3425aad15f5043c/emoji.json\n * Regenerate: node scripts/generate-slack-emoji.mjs (from mastracode/factory)\n */\n\nexport const emojiByShortcode: Record<string, string> = {\n hash: '#️⃣',\n keycap_star: '*️⃣',\n zero: '0️⃣',\n one: '1️⃣',\n two: '2️⃣',\n three: '3️⃣',\n four: '4️⃣',\n five: '5️⃣',\n six: '6️⃣',\n seven: '7️⃣',\n eight: '8️⃣',\n nine: '9️⃣',\n copyright: '©️',\n registered: '®️',\n mahjong: '🀄',\n black_joker: '🃏',\n a: '🅰️',\n b: '🅱️',\n o2: '🅾️',\n parking: '🅿️',\n ab: '🆎',\n cl: '🆑',\n cool: '🆒',\n free: '🆓',\n id: '🆔',\n new: '🆕',\n ng: '🆖',\n ok: '🆗',\n sos: '🆘',\n up: '🆙',\n vs: '🆚',\n 'flag-ac': '🇦🇨',\n 'flag-ad': '🇦🇩',\n 'flag-ae': '🇦🇪',\n 'flag-af': '🇦🇫',\n 'flag-ag': '🇦🇬',\n 'flag-ai': '🇦🇮',\n 'flag-al': '🇦🇱',\n 'flag-am': '🇦🇲',\n 'flag-ao': '🇦🇴',\n 'flag-aq': '🇦🇶',\n 'flag-ar': '🇦🇷',\n 'flag-as': '🇦🇸',\n 'flag-at': '🇦🇹',\n 'flag-au': '🇦🇺',\n 'flag-aw': '🇦🇼',\n 'flag-ax': '🇦🇽',\n 'flag-az': '🇦🇿',\n 'flag-ba': '🇧🇦',\n 'flag-bb': '🇧🇧',\n 'flag-bd': '🇧🇩',\n 'flag-be': '🇧🇪',\n 'flag-bf': '🇧🇫',\n 'flag-bg': '🇧🇬',\n 'flag-bh': '🇧🇭',\n 'flag-bi': '🇧🇮',\n 'flag-bj': '🇧🇯',\n 'flag-bl': '🇧🇱',\n 'flag-bm': '🇧🇲',\n 'flag-bn': '🇧🇳',\n 'flag-bo': '🇧🇴',\n 'flag-bq': '🇧🇶',\n 'flag-br': '🇧🇷',\n 'flag-bs': '🇧🇸',\n 'flag-bt': '🇧🇹',\n 'flag-bv': '🇧🇻',\n 'flag-bw': '🇧🇼',\n 'flag-by': '🇧🇾',\n 'flag-bz': '🇧🇿',\n 'flag-ca': '🇨🇦',\n 'flag-cc': '🇨🇨',\n 'flag-cd': '🇨🇩',\n 'flag-cf': '🇨🇫',\n 'flag-cg': '🇨🇬',\n 'flag-ch': '🇨🇭',\n 'flag-ci': '🇨🇮',\n 'flag-ck': '🇨🇰',\n 'flag-cl': '🇨🇱',\n 'flag-cm': '🇨🇲',\n cn: '🇨🇳',\n 'flag-cn': '🇨🇳',\n 'flag-co': '🇨🇴',\n 'flag-cp': '🇨🇵',\n 'flag-sark': '🇨🇶',\n 'flag-cr': '🇨🇷',\n 'flag-cu': '🇨🇺',\n 'flag-cv': '🇨🇻',\n 'flag-cw': '🇨🇼',\n 'flag-cx': '🇨🇽',\n 'flag-cy': '🇨🇾',\n 'flag-cz': '🇨🇿',\n de: '🇩🇪',\n 'flag-de': '🇩🇪',\n 'flag-dg': '🇩🇬',\n 'flag-dj': '🇩🇯',\n 'flag-dk': '🇩🇰',\n 'flag-dm': '🇩🇲',\n 'flag-do': '🇩🇴',\n 'flag-dz': '🇩🇿',\n 'flag-ea': '🇪🇦',\n 'flag-ec': '🇪🇨',\n 'flag-ee': '🇪🇪',\n 'flag-eg': '🇪🇬',\n 'flag-eh': '🇪🇭',\n 'flag-er': '🇪🇷',\n es: '🇪🇸',\n 'flag-es': '🇪🇸',\n 'flag-et': '🇪🇹',\n 'flag-eu': '🇪🇺',\n 'flag-fi': '🇫🇮',\n 'flag-fj': '🇫🇯',\n 'flag-fk': '🇫🇰',\n 'flag-fm': '🇫🇲',\n 'flag-fo': '🇫🇴',\n fr: '🇫🇷',\n 'flag-fr': '🇫🇷',\n 'flag-ga': '🇬🇦',\n gb: '🇬🇧',\n uk: '🇬🇧',\n 'flag-gb': '🇬🇧',\n 'flag-gd': '🇬🇩',\n 'flag-ge': '🇬🇪',\n 'flag-gf': '🇬🇫',\n 'flag-gg': '🇬🇬',\n 'flag-gh': '🇬🇭',\n 'flag-gi': '🇬🇮',\n 'flag-gl': '🇬🇱',\n 'flag-gm': '🇬🇲',\n 'flag-gn': '🇬🇳',\n 'flag-gp': '🇬🇵',\n 'flag-gq': '🇬🇶',\n 'flag-gr': '🇬🇷',\n 'flag-gs': '🇬🇸',\n 'flag-gt': '🇬🇹',\n 'flag-gu': '🇬🇺',\n 'flag-gw': '🇬🇼',\n 'flag-gy': '🇬🇾',\n 'flag-hk': '🇭🇰',\n 'flag-hm': '🇭🇲',\n 'flag-hn': '🇭🇳',\n 'flag-hr': '🇭🇷',\n 'flag-ht': '🇭🇹',\n 'flag-hu': '🇭🇺',\n 'flag-ic': '🇮🇨',\n 'flag-id': '🇮🇩',\n 'flag-ie': '🇮🇪',\n 'flag-il': '🇮🇱',\n 'flag-im': '🇮🇲',\n 'flag-in': '🇮🇳',\n 'flag-io': '🇮🇴',\n 'flag-iq': '🇮🇶',\n 'flag-ir': '🇮🇷',\n 'flag-is': '🇮🇸',\n it: '🇮🇹',\n 'flag-it': '🇮🇹',\n 'flag-je': '🇯🇪',\n 'flag-jm': '🇯🇲',\n 'flag-jo': '🇯🇴',\n jp: '🇯🇵',\n 'flag-jp': '🇯🇵',\n 'flag-ke': '🇰🇪',\n 'flag-kg': '🇰🇬',\n 'flag-kh': '🇰🇭',\n 'flag-ki': '🇰🇮',\n 'flag-km': '🇰🇲',\n 'flag-kn': '🇰🇳',\n 'flag-kp': '🇰🇵',\n kr: '🇰🇷',\n 'flag-kr': '🇰🇷',\n 'flag-kw': '🇰🇼',\n 'flag-ky': '🇰🇾',\n 'flag-kz': '🇰🇿',\n 'flag-la': '🇱🇦',\n 'flag-lb': '🇱🇧',\n 'flag-lc': '🇱🇨',\n 'flag-li': '🇱🇮',\n 'flag-lk': '🇱🇰',\n 'flag-lr': '🇱🇷',\n 'flag-ls': '🇱🇸',\n 'flag-lt': '🇱🇹',\n 'flag-lu': '🇱🇺',\n 'flag-lv': '🇱🇻',\n 'flag-ly': '🇱🇾',\n 'flag-ma': '🇲🇦',\n 'flag-mc': '🇲🇨',\n 'flag-md': '🇲🇩',\n 'flag-me': '🇲🇪',\n 'flag-mf': '🇲🇫',\n 'flag-mg': '🇲🇬',\n 'flag-mh': '🇲🇭',\n 'flag-mk': '🇲🇰',\n 'flag-ml': '🇲🇱',\n 'flag-mm': '🇲🇲',\n 'flag-mn': '🇲🇳',\n 'flag-mo': '🇲🇴',\n 'flag-mp': '🇲🇵',\n 'flag-mq': '🇲🇶',\n 'flag-mr': '🇲🇷',\n 'flag-ms': '🇲🇸',\n 'flag-mt': '🇲🇹',\n 'flag-mu': '🇲🇺',\n 'flag-mv': '🇲🇻',\n 'flag-mw': '🇲🇼',\n 'flag-mx': '🇲🇽',\n 'flag-my': '🇲🇾',\n 'flag-mz': '🇲🇿',\n 'flag-na': '🇳🇦',\n 'flag-nc': '🇳🇨',\n 'flag-ne': '🇳🇪',\n 'flag-nf': '🇳🇫',\n 'flag-ng': '🇳🇬',\n 'flag-ni': '🇳🇮',\n 'flag-nl': '🇳🇱',\n 'flag-no': '🇳🇴',\n 'flag-np': '🇳🇵',\n 'flag-nr': '🇳🇷',\n 'flag-nu': '🇳🇺',\n 'flag-nz': '🇳🇿',\n 'flag-om': '🇴🇲',\n 'flag-pa': '🇵🇦',\n 'flag-pe': '🇵🇪',\n 'flag-pf': '🇵🇫',\n 'flag-pg': '🇵🇬',\n 'flag-ph': '🇵🇭',\n 'flag-pk': '🇵🇰',\n 'flag-pl': '🇵🇱',\n 'flag-pm': '🇵🇲',\n 'flag-pn': '🇵🇳',\n 'flag-pr': '🇵🇷',\n 'flag-ps': '🇵🇸',\n 'flag-pt': '🇵🇹',\n 'flag-pw': '🇵🇼',\n 'flag-py': '🇵🇾',\n 'flag-qa': '🇶🇦',\n 'flag-re': '🇷🇪',\n 'flag-ro': '🇷🇴',\n 'flag-rs': '🇷🇸',\n ru: '🇷🇺',\n 'flag-ru': '🇷🇺',\n 'flag-rw': '🇷🇼',\n 'flag-sa': '🇸🇦',\n 'flag-sb': '🇸🇧',\n 'flag-sc': '🇸🇨',\n 'flag-sd': '🇸🇩',\n 'flag-se': '🇸🇪',\n 'flag-sg': '🇸🇬',\n 'flag-sh': '🇸🇭',\n 'flag-si': '🇸🇮',\n 'flag-sj': '🇸🇯',\n 'flag-sk': '🇸🇰',\n 'flag-sl': '🇸🇱',\n 'flag-sm': '🇸🇲',\n 'flag-sn': '🇸🇳',\n 'flag-so': '🇸🇴',\n 'flag-sr': '🇸🇷',\n 'flag-ss': '🇸🇸',\n 'flag-st': '🇸🇹',\n 'flag-sv': '🇸🇻',\n 'flag-sx': '🇸🇽',\n 'flag-sy': '🇸🇾',\n 'flag-sz': '🇸🇿',\n 'flag-ta': '🇹🇦',\n 'flag-tc': '🇹🇨',\n 'flag-td': '🇹🇩',\n 'flag-tf': '🇹🇫',\n 'flag-tg': '🇹🇬',\n 'flag-th': '🇹🇭',\n 'flag-tj': '🇹🇯',\n 'flag-tk': '🇹🇰',\n 'flag-tl': '🇹🇱',\n 'flag-tm': '🇹🇲',\n 'flag-tn': '🇹🇳',\n 'flag-to': '🇹🇴',\n 'flag-tr': '🇹🇷',\n 'flag-tt': '🇹🇹',\n 'flag-tv': '🇹🇻',\n 'flag-tw': '🇹🇼',\n 'flag-tz': '🇹🇿',\n 'flag-ua': '🇺🇦',\n 'flag-ug': '🇺🇬',\n 'flag-um': '🇺🇲',\n 'flag-un': '🇺🇳',\n us: '🇺🇸',\n 'flag-us': '🇺🇸',\n 'flag-uy': '🇺🇾',\n 'flag-uz': '🇺🇿',\n 'flag-va': '🇻🇦',\n 'flag-vc': '🇻🇨',\n 'flag-ve': '🇻🇪',\n 'flag-vg': '🇻🇬',\n 'flag-vi': '🇻🇮',\n 'flag-vn': '🇻🇳',\n 'flag-vu': '🇻🇺',\n 'flag-wf': '🇼🇫',\n 'flag-ws': '🇼🇸',\n 'flag-xk': '🇽🇰',\n 'flag-ye': '🇾🇪',\n 'flag-yt': '🇾🇹',\n 'flag-za': '🇿🇦',\n 'flag-zm': '🇿🇲',\n 'flag-zw': '🇿🇼',\n koko: '🈁',\n sa: '🈂️',\n u7121: '🈚',\n u6307: '🈯',\n u7981: '🈲',\n u7a7a: '🈳',\n u5408: '🈴',\n u6e80: '🈵',\n u6709: '🈶',\n u6708: '🈷️',\n u7533: '🈸',\n u5272: '🈹',\n u55b6: '🈺',\n ideograph_advantage: '🉐',\n accept: '🉑',\n cyclone: '🌀',\n foggy: '🌁',\n closed_umbrella: '🌂',\n night_with_stars: '🌃',\n sunrise_over_mountains: '🌄',\n sunrise: '🌅',\n city_sunset: '🌆',\n city_sunrise: '🌇',\n rainbow: '🌈',\n bridge_at_night: '🌉',\n ocean: '🌊',\n volcano: '🌋',\n milky_way: '🌌',\n earth_africa: '🌍',\n earth_americas: '🌎',\n earth_asia: '🌏',\n globe_with_meridians: '🌐',\n new_moon: '🌑',\n waxing_crescent_moon: '🌒',\n first_quarter_moon: '🌓',\n moon: '🌔',\n waxing_gibbous_moon: '🌔',\n full_moon: '🌕',\n waning_gibbous_moon: '🌖',\n last_quarter_moon: '🌗',\n waning_crescent_moon: '🌘',\n crescent_moon: '🌙',\n new_moon_with_face: '🌚',\n first_quarter_moon_with_face: '🌛',\n last_quarter_moon_with_face: '🌜',\n full_moon_with_face: '🌝',\n sun_with_face: '🌞',\n star2: '🌟',\n stars: '🌠',\n thermometer: '🌡️',\n mostly_sunny: '🌤️',\n sun_small_cloud: '🌤️',\n barely_sunny: '🌥️',\n sun_behind_cloud: '🌥️',\n partly_sunny_rain: '🌦️',\n sun_behind_rain_cloud: '🌦️',\n rain_cloud: '🌧️',\n snow_cloud: '🌨️',\n lightning: '🌩️',\n lightning_cloud: '🌩️',\n tornado: '🌪️',\n tornado_cloud: '🌪️',\n fog: '🌫️',\n wind_blowing_face: '🌬️',\n hotdog: '🌭',\n taco: '🌮',\n burrito: '🌯',\n chestnut: '🌰',\n seedling: '🌱',\n evergreen_tree: '🌲',\n deciduous_tree: '🌳',\n palm_tree: '🌴',\n cactus: '🌵',\n hot_pepper: '🌶️',\n tulip: '🌷',\n cherry_blossom: '🌸',\n rose: '🌹',\n hibiscus: '🌺',\n sunflower: '🌻',\n blossom: '🌼',\n corn: '🌽',\n ear_of_rice: '🌾',\n herb: '🌿',\n four_leaf_clover: '🍀',\n maple_leaf: '🍁',\n fallen_leaf: '🍂',\n leaves: '🍃',\n brown_mushroom: '🍄‍🟫',\n mushroom: '🍄',\n tomato: '🍅',\n eggplant: '🍆',\n grapes: '🍇',\n melon: '🍈',\n watermelon: '🍉',\n tangerine: '🍊',\n lime: '🍋‍🟩',\n lemon: '🍋',\n banana: '🍌',\n pineapple: '🍍',\n apple: '🍎',\n green_apple: '🍏',\n pear: '🍐',\n peach: '🍑',\n cherries: '🍒',\n strawberry: '🍓',\n hamburger: '🍔',\n pizza: '🍕',\n meat_on_bone: '🍖',\n poultry_leg: '🍗',\n rice_cracker: '🍘',\n rice_ball: '🍙',\n rice: '🍚',\n curry: '🍛',\n ramen: '🍜',\n spaghetti: '🍝',\n bread: '🍞',\n fries: '🍟',\n sweet_potato: '🍠',\n dango: '🍡',\n oden: '🍢',\n sushi: '🍣',\n fried_shrimp: '🍤',\n fish_cake: '🍥',\n icecream: '🍦',\n shaved_ice: '🍧',\n ice_cream: '🍨',\n doughnut: '🍩',\n cookie: '🍪',\n chocolate_bar: '🍫',\n candy: '🍬',\n lollipop: '🍭',\n custard: '🍮',\n honey_pot: '🍯',\n cake: '🍰',\n bento: '🍱',\n stew: '🍲',\n fried_egg: '🍳',\n cooking: '🍳',\n fork_and_knife: '🍴',\n tea: '🍵',\n sake: '🍶',\n wine_glass: '🍷',\n cocktail: '🍸',\n tropical_drink: '🍹',\n beer: '🍺',\n beers: '🍻',\n baby_bottle: '🍼',\n knife_fork_plate: '🍽️',\n champagne: '🍾',\n popcorn: '🍿',\n ribbon: '🎀',\n gift: '🎁',\n birthday: '🎂',\n jack_o_lantern: '🎃',\n christmas_tree: '🎄',\n santa: '🎅',\n fireworks: '🎆',\n sparkler: '🎇',\n balloon: '🎈',\n tada: '🎉',\n confetti_ball: '🎊',\n tanabata_tree: '🎋',\n crossed_flags: '🎌',\n bamboo: '🎍',\n dolls: '🎎',\n flags: '🎏',\n wind_chime: '🎐',\n rice_scene: '🎑',\n school_satchel: '🎒',\n mortar_board: '🎓',\n medal: '🎖️',\n reminder_ribbon: '🎗️',\n studio_microphone: '🎙️',\n level_slider: '🎚️',\n control_knobs: '🎛️',\n film_frames: '🎞️',\n admission_tickets: '🎟️',\n carousel_horse: '🎠',\n ferris_wheel: '🎡',\n roller_coaster: '🎢',\n fishing_pole_and_fish: '🎣',\n microphone: '🎤',\n movie_camera: '🎥',\n cinema: '🎦',\n headphones: '🎧',\n art: '🎨',\n tophat: '🎩',\n circus_tent: '🎪',\n ticket: '🎫',\n clapper: '🎬',\n performing_arts: '🎭',\n video_game: '🎮',\n dart: '🎯',\n slot_machine: '🎰',\n '8ball': '🎱',\n game_die: '🎲',\n bowling: '🎳',\n flower_playing_cards: '🎴',\n musical_note: '🎵',\n notes: '🎶',\n saxophone: '🎷',\n guitar: '🎸',\n musical_keyboard: '🎹',\n trumpet: '🎺',\n violin: '🎻',\n musical_score: '🎼',\n running_shirt_with_sash: '🎽',\n tennis: '🎾',\n ski: '🎿',\n basketball: '🏀',\n checkered_flag: '🏁',\n snowboarder: '🏂',\n 'woman-running': '🏃‍♀️',\n woman_running_facing_right: '🏃‍♀️‍➡️',\n 'man-running': '🏃‍♂️',\n man_running_facing_right: '🏃‍♂️‍➡️',\n person_running_facing_right: '🏃‍➡️',\n runner: '🏃',\n running: '🏃',\n 'woman-surfing': '🏄‍♀️',\n 'man-surfing': '🏄‍♂️',\n surfer: '🏄',\n sports_medal: '🏅',\n trophy: '🏆',\n horse_racing: '🏇',\n football: '🏈',\n rugby_football: '🏉',\n 'woman-swimming': '🏊‍♀️',\n 'man-swimming': '🏊‍♂️',\n swimmer: '🏊',\n 'woman-lifting-weights': '🏋️‍♀️',\n 'man-lifting-weights': '🏋️‍♂️',\n weight_lifter: '🏋️',\n 'woman-golfing': '🏌️‍♀️',\n 'man-golfing': '🏌️‍♂️',\n golfer: '🏌️',\n racing_motorcycle: '🏍️',\n racing_car: '🏎️',\n cricket_bat_and_ball: '🏏',\n volleyball: '🏐',\n field_hockey_stick_and_ball: '🏑',\n ice_hockey_stick_and_puck: '🏒',\n table_tennis_paddle_and_ball: '🏓',\n snow_capped_mountain: '🏔️',\n camping: '🏕️',\n beach_with_umbrella: '🏖️',\n building_construction: '🏗️',\n house_buildings: '🏘️',\n cityscape: '🏙️',\n derelict_house_building: '🏚️',\n classical_building: '🏛️',\n desert: '🏜️',\n desert_island: '🏝️',\n national_park: '🏞️',\n stadium: '🏟️',\n house: '🏠',\n house_with_garden: '🏡',\n office: '🏢',\n post_office: '🏣',\n european_post_office: '🏤',\n hospital: '🏥',\n bank: '🏦',\n atm: '🏧',\n hotel: '🏨',\n love_hotel: '🏩',\n convenience_store: '🏪',\n school: '🏫',\n department_store: '🏬',\n factory: '🏭',\n izakaya_lantern: '🏮',\n lantern: '🏮',\n japanese_castle: '🏯',\n european_castle: '🏰',\n 'rainbow-flag': '🏳️‍🌈',\n transgender_flag: '🏳️‍⚧️',\n waving_white_flag: '🏳️',\n pirate_flag: '🏴‍☠️',\n 'flag-england': '🏴󠁧󠁢󠁥󠁮󠁧󠁿',\n 'flag-scotland': '🏴󠁧󠁢󠁳󠁣󠁴󠁿',\n 'flag-wales': '🏴󠁧󠁢󠁷󠁬󠁳󠁿',\n waving_black_flag: '🏴',\n rosette: '🏵️',\n label: '🏷️',\n badminton_racquet_and_shuttlecock: '🏸',\n bow_and_arrow: '🏹',\n amphora: '🏺',\n 'skin-tone-2': '🏻',\n 'skin-tone-3': '🏼',\n 'skin-tone-4': '🏽',\n 'skin-tone-5': '🏾',\n 'skin-tone-6': '🏿',\n rat: '🐀',\n mouse2: '🐁',\n ox: '🐂',\n water_buffalo: '🐃',\n cow2: '🐄',\n tiger2: '🐅',\n leopard: '🐆',\n rabbit2: '🐇',\n black_cat: '🐈‍⬛',\n cat2: '🐈',\n dragon: '🐉',\n crocodile: '🐊',\n whale2: '🐋',\n snail: '🐌',\n snake: '🐍',\n racehorse: '🐎',\n ram: '🐏',\n goat: '🐐',\n sheep: '🐑',\n monkey: '🐒',\n rooster: '🐓',\n chicken: '🐔',\n service_dog: '🐕‍🦺',\n dog2: '🐕',\n pig2: '🐖',\n boar: '🐗',\n elephant: '🐘',\n octopus: '🐙',\n shell: '🐚',\n bug: '🐛',\n ant: '🐜',\n bee: '🐝',\n honeybee: '🐝',\n ladybug: '🐞',\n lady_beetle: '🐞',\n fish: '🐟',\n tropical_fish: '🐠',\n blowfish: '🐡',\n turtle: '🐢',\n hatching_chick: '🐣',\n baby_chick: '🐤',\n hatched_chick: '🐥',\n phoenix: '🐦‍🔥',\n black_bird: '🐦‍⬛',\n bird: '🐦',\n penguin: '🐧',\n koala: '🐨',\n poodle: '🐩',\n dromedary_camel: '🐪',\n camel: '🐫',\n dolphin: '🐬',\n flipper: '🐬',\n mouse: '🐭',\n cow: '🐮',\n tiger: '🐯',\n rabbit: '🐰',\n cat: '🐱',\n dragon_face: '🐲',\n whale: '🐳',\n horse: '🐴',\n monkey_face: '🐵',\n dog: '🐶',\n pig: '🐷',\n frog: '🐸',\n hamster: '🐹',\n wolf: '🐺',\n polar_bear: '🐻‍❄️',\n bear: '🐻',\n panda_face: '🐼',\n pig_nose: '🐽',\n feet: '🐾',\n paw_prints: '🐾',\n chipmunk: '🐿️',\n eyes: '👀',\n 'eye-in-speech-bubble': '👁️‍🗨️',\n eye: '👁️',\n ear: '👂',\n nose: '👃',\n lips: '👄',\n tongue: '👅',\n point_up_2: '👆',\n point_down: '👇',\n point_left: '👈',\n point_right: '👉',\n facepunch: '👊',\n punch: '👊',\n wave: '👋',\n ok_hand: '👌',\n '+1': '👍',\n thumbsup: '👍',\n '-1': '👎',\n thumbsdown: '👎',\n clap: '👏',\n open_hands: '👐',\n crown: '👑',\n womans_hat: '👒',\n eyeglasses: '👓',\n necktie: '👔',\n shirt: '👕',\n tshirt: '👕',\n jeans: '👖',\n dress: '👗',\n kimono: '👘',\n bikini: '👙',\n womans_clothes: '👚',\n purse: '👛',\n handbag: '👜',\n pouch: '👝',\n mans_shoe: '👞',\n shoe: '👞',\n athletic_shoe: '👟',\n high_heel: '👠',\n sandal: '👡',\n boot: '👢',\n footprints: '👣',\n bust_in_silhouette: '👤',\n busts_in_silhouette: '👥',\n boy: '👦',\n girl: '👧',\n 'male-farmer': '👨‍🌾',\n 'male-cook': '👨‍🍳',\n man_feeding_baby: '👨‍🍼',\n 'male-student': '👨‍🎓',\n 'male-singer': '👨‍🎤',\n 'male-artist': '👨‍🎨',\n 'male-teacher': '👨‍🏫',\n 'male-factory-worker': '👨‍🏭',\n 'man-boy-boy': '👨‍👦‍👦',\n 'man-boy': '👨‍👦',\n 'man-girl-boy': '👨‍👧‍👦',\n 'man-girl-girl': '👨‍👧‍👧',\n 'man-girl': '👨‍👧',\n 'man-man-boy': '👨‍👨‍👦',\n 'man-man-boy-boy': '👨‍👨‍👦‍👦',\n 'man-man-girl': '👨‍👨‍👧',\n 'man-man-girl-boy': '👨‍👨‍👧‍👦',\n 'man-man-girl-girl': '👨‍👨‍👧‍👧',\n 'man-woman-boy': '👨‍👩‍👦',\n 'man-woman-boy-boy': '👨‍👩‍👦‍👦',\n 'man-woman-girl': '👨‍👩‍👧',\n 'man-woman-girl-boy': '👨‍👩‍👧‍👦',\n 'man-woman-girl-girl': '👨‍👩‍👧‍👧',\n 'male-technologist': '👨‍💻',\n 'male-office-worker': '👨‍💼',\n 'male-mechanic': '👨‍🔧',\n 'male-scientist': '👨‍🔬',\n 'male-astronaut': '👨‍🚀',\n 'male-firefighter': '👨‍🚒',\n man_with_white_cane_facing_right: '👨‍🦯‍➡️',\n man_with_probing_cane: '👨‍🦯',\n red_haired_man: '👨‍🦰',\n curly_haired_man: '👨‍🦱',\n bald_man: '👨‍🦲',\n white_haired_man: '👨‍🦳',\n man_in_motorized_wheelchair_facing_right: '👨‍🦼‍➡️',\n man_in_motorized_wheelchair: '👨‍🦼',\n man_in_manual_wheelchair_facing_right: '👨‍🦽‍➡️',\n man_in_manual_wheelchair: '👨‍🦽',\n 'male-doctor': '👨‍⚕️',\n 'male-judge': '👨‍⚖️',\n 'male-pilot': '👨‍✈️',\n 'man-heart-man': '👨‍❤️‍👨',\n 'man-kiss-man': '👨‍❤️‍💋‍👨',\n man: '👨',\n 'female-farmer': '👩‍🌾',\n 'female-cook': '👩‍🍳',\n woman_feeding_baby: '👩‍🍼',\n 'female-student': '👩‍🎓',\n 'female-singer': '👩‍🎤',\n 'female-artist': '👩‍🎨',\n 'female-teacher': '👩‍🏫',\n 'female-factory-worker': '👩‍🏭',\n 'woman-boy-boy': '👩‍👦‍👦',\n 'woman-boy': '👩‍👦',\n 'woman-girl-boy': '👩‍👧‍👦',\n 'woman-girl-girl': '👩‍👧‍👧',\n 'woman-girl': '👩‍👧',\n 'woman-woman-boy': '👩‍👩‍👦',\n 'woman-woman-boy-boy': '👩‍👩‍👦‍👦',\n 'woman-woman-girl': '👩‍👩‍👧',\n 'woman-woman-girl-boy': '👩‍👩‍👧‍👦',\n 'woman-woman-girl-girl': '👩‍👩‍👧‍👧',\n 'female-technologist': '👩‍💻',\n 'female-office-worker': '👩‍💼',\n 'female-mechanic': '👩‍🔧',\n 'female-scientist': '👩‍🔬',\n 'female-astronaut': '👩‍🚀',\n 'female-firefighter': '👩‍🚒',\n woman_with_white_cane_facing_right: '👩‍🦯‍➡️',\n woman_with_probing_cane: '👩‍🦯',\n red_haired_woman: '👩‍🦰',\n curly_haired_woman: '👩‍🦱',\n bald_woman: '👩‍🦲',\n white_haired_woman: '👩‍🦳',\n woman_in_motorized_wheelchair_facing_right: '👩‍🦼‍➡️',\n woman_in_motorized_wheelchair: '👩‍🦼',\n woman_in_manual_wheelchair_facing_right: '👩‍🦽‍➡️',\n woman_in_manual_wheelchair: '👩‍🦽',\n 'female-doctor': '👩‍⚕️',\n 'female-judge': '👩‍⚖️',\n 'female-pilot': '👩‍✈️',\n 'woman-heart-man': '👩‍❤️‍👨',\n 'woman-heart-woman': '👩‍❤️‍👩',\n 'woman-kiss-man': '👩‍❤️‍💋‍👨',\n 'woman-kiss-woman': '👩‍❤️‍💋‍👩',\n woman: '👩',\n family: '👪',\n man_and_woman_holding_hands: '👫',\n woman_and_man_holding_hands: '👫',\n couple: '👫',\n two_men_holding_hands: '👬',\n men_holding_hands: '👬',\n two_women_holding_hands: '👭',\n women_holding_hands: '👭',\n 'female-police-officer': '👮‍♀️',\n 'male-police-officer': '👮‍♂️',\n cop: '👮',\n 'women-with-bunny-ears-partying': '👯‍♀️',\n 'woman-with-bunny-ears-partying': '👯‍♀️',\n 'men-with-bunny-ears-partying': '👯‍♂️',\n 'man-with-bunny-ears-partying': '👯‍♂️',\n dancers: '👯',\n woman_with_veil: '👰‍♀️',\n man_with_veil: '👰‍♂️',\n bride_with_veil: '👰',\n 'blond-haired-woman': '👱‍♀️',\n 'blond-haired-man': '👱‍♂️',\n person_with_blond_hair: '👱',\n man_with_gua_pi_mao: '👲',\n 'woman-wearing-turban': '👳‍♀️',\n 'man-wearing-turban': '👳‍♂️',\n man_with_turban: '👳',\n older_man: '👴',\n older_woman: '👵',\n baby: '👶',\n 'female-construction-worker': '👷‍♀️',\n 'male-construction-worker': '👷‍♂️',\n construction_worker: '👷',\n princess: '👸',\n japanese_ogre: '👹',\n japanese_goblin: '👺',\n ghost: '👻',\n angel: '👼',\n alien: '👽',\n space_invader: '👾',\n imp: '👿',\n skull: '💀',\n 'woman-tipping-hand': '💁‍♀️',\n 'man-tipping-hand': '💁‍♂️',\n information_desk_person: '💁',\n 'female-guard': '💂‍♀️',\n 'male-guard': '💂‍♂️',\n guardsman: '💂',\n dancer: '💃',\n lipstick: '💄',\n nail_care: '💅',\n 'woman-getting-massage': '💆‍♀️',\n 'man-getting-massage': '💆‍♂️',\n massage: '💆',\n 'woman-getting-haircut': '💇‍♀️',\n 'man-getting-haircut': '💇‍♂️',\n haircut: '💇',\n barber: '💈',\n syringe: '💉',\n pill: '💊',\n kiss: '💋',\n love_letter: '💌',\n ring: '💍',\n gem: '💎',\n couplekiss: '💏',\n bouquet: '💐',\n couple_with_heart: '💑',\n wedding: '💒',\n heartbeat: '💓',\n broken_heart: '💔',\n two_hearts: '💕',\n sparkling_heart: '💖',\n heartpulse: '💗',\n cupid: '💘',\n blue_heart: '💙',\n green_heart: '💚',\n yellow_heart: '💛',\n purple_heart: '💜',\n gift_heart: '💝',\n revolving_hearts: '💞',\n heart_decoration: '💟',\n diamond_shape_with_a_dot_inside: '💠',\n bulb: '💡',\n anger: '💢',\n bomb: '💣',\n zzz: '💤',\n boom: '💥',\n collision: '💥',\n sweat_drops: '💦',\n droplet: '💧',\n dash: '💨',\n hankey: '💩',\n poop: '💩',\n shit: '💩',\n muscle: '💪',\n dizzy: '💫',\n speech_balloon: '💬',\n thought_balloon: '💭',\n white_flower: '💮',\n '100': '💯',\n moneybag: '💰',\n currency_exchange: '💱',\n heavy_dollar_sign: '💲',\n credit_card: '💳',\n yen: '💴',\n dollar: '💵',\n euro: '💶',\n pound: '💷',\n money_with_wings: '💸',\n chart: '💹',\n seat: '💺',\n computer: '💻',\n briefcase: '💼',\n minidisc: '💽',\n floppy_disk: '💾',\n cd: '💿',\n dvd: '📀',\n file_folder: '📁',\n open_file_folder: '📂',\n page_with_curl: '📃',\n page_facing_up: '📄',\n date: '📅',\n calendar: '📆',\n card_index: '📇',\n chart_with_upwards_trend: '📈',\n chart_with_downwards_trend: '📉',\n bar_chart: '📊',\n clipboard: '📋',\n pushpin: '📌',\n round_pushpin: '📍',\n paperclip: '📎',\n straight_ruler: '📏',\n triangular_ruler: '📐',\n bookmark_tabs: '📑',\n ledger: '📒',\n notebook: '📓',\n notebook_with_decorative_cover: '📔',\n closed_book: '📕',\n book: '📖',\n open_book: '📖',\n green_book: '📗',\n blue_book: '📘',\n orange_book: '📙',\n books: '📚',\n name_badge: '📛',\n scroll: '📜',\n memo: '📝',\n pencil: '📝',\n telephone_receiver: '📞',\n pager: '📟',\n fax: '📠',\n satellite_antenna: '📡',\n loudspeaker: '📢',\n mega: '📣',\n outbox_tray: '📤',\n inbox_tray: '📥',\n package: '📦',\n 'e-mail': '📧',\n incoming_envelope: '📨',\n envelope_with_arrow: '📩',\n mailbox_closed: '📪',\n mailbox: '📫',\n mailbox_with_mail: '📬',\n mailbox_with_no_mail: '📭',\n postbox: '📮',\n postal_horn: '📯',\n newspaper: '📰',\n iphone: '📱',\n calling: '📲',\n vibration_mode: '📳',\n mobile_phone_off: '📴',\n no_mobile_phones: '📵',\n signal_strength: '📶',\n camera: '📷',\n camera_with_flash: '📸',\n video_camera: '📹',\n tv: '📺',\n radio: '📻',\n vhs: '📼',\n film_projector: '📽️',\n prayer_beads: '📿',\n twisted_rightwards_arrows: '🔀',\n repeat: '🔁',\n repeat_one: '🔂',\n arrows_clockwise: '🔃',\n arrows_counterclockwise: '🔄',\n low_brightness: '🔅',\n high_brightness: '🔆',\n mute: '🔇',\n speaker: '🔈',\n sound: '🔉',\n loud_sound: '🔊',\n battery: '🔋',\n electric_plug: '🔌',\n mag: '🔍',\n mag_right: '🔎',\n lock_with_ink_pen: '🔏',\n closed_lock_with_key: '🔐',\n key: '🔑',\n lock: '🔒',\n unlock: '🔓',\n bell: '🔔',\n no_bell: '🔕',\n bookmark: '🔖',\n link: '🔗',\n radio_button: '🔘',\n back: '🔙',\n end: '🔚',\n on: '🔛',\n soon: '🔜',\n top: '🔝',\n underage: '🔞',\n keycap_ten: '🔟',\n capital_abcd: '🔠',\n abcd: '🔡',\n '1234': '🔢',\n symbols: '🔣',\n abc: '🔤',\n fire: '🔥',\n flashlight: '🔦',\n wrench: '🔧',\n hammer: '🔨',\n nut_and_bolt: '🔩',\n hocho: '🔪',\n knife: '🔪',\n gun: '🔫',\n microscope: '🔬',\n telescope: '🔭',\n crystal_ball: '🔮',\n six_pointed_star: '🔯',\n beginner: '🔰',\n trident: '🔱',\n black_square_button: '🔲',\n white_square_button: '🔳',\n red_circle: '🔴',\n large_blue_circle: '🔵',\n large_orange_diamond: '🔶',\n large_blue_diamond: '🔷',\n small_orange_diamond: '🔸',\n small_blue_diamond: '🔹',\n small_red_triangle: '🔺',\n small_red_triangle_down: '🔻',\n arrow_up_small: '🔼',\n arrow_down_small: '🔽',\n om_symbol: '🕉️',\n dove_of_peace: '🕊️',\n kaaba: '🕋',\n mosque: '🕌',\n synagogue: '🕍',\n menorah_with_nine_branches: '🕎',\n clock1: '🕐',\n clock2: '🕑',\n clock3: '🕒',\n clock4: '🕓',\n clock5: '🕔',\n clock6: '🕕',\n clock7: '🕖',\n clock8: '🕗',\n clock9: '🕘',\n clock10: '🕙',\n clock11: '🕚',\n clock12: '🕛',\n clock130: '🕜',\n clock230: '🕝',\n clock330: '🕞',\n clock430: '🕟',\n clock530: '🕠',\n clock630: '🕡',\n clock730: '🕢',\n clock830: '🕣',\n clock930: '🕤',\n clock1030: '🕥',\n clock1130: '🕦',\n clock1230: '🕧',\n candle: '🕯️',\n mantelpiece_clock: '🕰️',\n hole: '🕳️',\n man_in_business_suit_levitating: '🕴️',\n 'female-detective': '🕵️‍♀️',\n 'male-detective': '🕵️‍♂️',\n sleuth_or_spy: '🕵️',\n dark_sunglasses: '🕶️',\n spider: '🕷️',\n spider_web: '🕸️',\n joystick: '🕹️',\n man_dancing: '🕺',\n linked_paperclips: '🖇️',\n lower_left_ballpoint_pen: '🖊️',\n lower_left_fountain_pen: '🖋️',\n lower_left_paintbrush: '🖌️',\n lower_left_crayon: '🖍️',\n raised_hand_with_fingers_splayed: '🖐️',\n middle_finger: '🖕',\n reversed_hand_with_middle_finger_extended: '🖕',\n 'spock-hand': '🖖',\n black_heart: '🖤',\n desktop_computer: '🖥️',\n printer: '🖨️',\n three_button_mouse: '🖱️',\n trackball: '🖲️',\n frame_with_picture: '🖼️',\n card_index_dividers: '🗂️',\n card_file_box: '🗃️',\n file_cabinet: '🗄️',\n wastebasket: '🗑️',\n spiral_note_pad: '🗒️',\n spiral_calendar_pad: '🗓️',\n compression: '🗜️',\n old_key: '🗝️',\n rolled_up_newspaper: '🗞️',\n dagger_knife: '🗡️',\n speaking_head_in_silhouette: '🗣️',\n left_speech_bubble: '🗨️',\n right_anger_bubble: '🗯️',\n ballot_box_with_ballot: '🗳️',\n world_map: '🗺️',\n mount_fuji: '🗻',\n tokyo_tower: '🗼',\n statue_of_liberty: '🗽',\n japan: '🗾',\n moyai: '🗿',\n grinning: '😀',\n grin: '😁',\n joy: '😂',\n smiley: '😃',\n smile: '😄',\n sweat_smile: '😅',\n laughing: '😆',\n satisfied: '😆',\n innocent: '😇',\n smiling_imp: '😈',\n wink: '😉',\n blush: '😊',\n yum: '😋',\n relieved: '😌',\n heart_eyes: '😍',\n sunglasses: '😎',\n smirk: '😏',\n neutral_face: '😐',\n expressionless: '😑',\n unamused: '😒',\n sweat: '😓',\n pensive: '😔',\n confused: '😕',\n confounded: '😖',\n kissing: '😗',\n kissing_heart: '😘',\n kissing_smiling_eyes: '😙',\n kissing_closed_eyes: '😚',\n stuck_out_tongue: '😛',\n stuck_out_tongue_winking_eye: '😜',\n stuck_out_tongue_closed_eyes: '😝',\n disappointed: '😞',\n worried: '😟',\n angry: '😠',\n rage: '😡',\n cry: '😢',\n persevere: '😣',\n triumph: '😤',\n disappointed_relieved: '😥',\n frowning: '😦',\n anguished: '😧',\n fearful: '😨',\n weary: '😩',\n sleepy: '😪',\n tired_face: '😫',\n grimacing: '😬',\n sob: '😭',\n face_exhaling: '😮‍💨',\n open_mouth: '😮',\n hushed: '😯',\n cold_sweat: '😰',\n scream: '😱',\n astonished: '😲',\n flushed: '😳',\n sleeping: '😴',\n face_with_spiral_eyes: '😵‍💫',\n dizzy_face: '😵',\n face_in_clouds: '😶‍🌫️',\n no_mouth: '😶',\n mask: '😷',\n smile_cat: '😸',\n joy_cat: '😹',\n smiley_cat: '😺',\n heart_eyes_cat: '😻',\n smirk_cat: '😼',\n kissing_cat: '😽',\n pouting_cat: '😾',\n crying_cat_face: '😿',\n scream_cat: '🙀',\n slightly_frowning_face: '🙁',\n head_shaking_horizontally: '🙂‍↔️',\n head_shaking_vertically: '🙂‍↕️',\n slightly_smiling_face: '🙂',\n upside_down_face: '🙃',\n face_with_rolling_eyes: '🙄',\n 'woman-gesturing-no': '🙅‍♀️',\n 'man-gesturing-no': '🙅‍♂️',\n no_good: '🙅',\n 'woman-gesturing-ok': '🙆‍♀️',\n 'man-gesturing-ok': '🙆‍♂️',\n ok_woman: '🙆',\n 'woman-bowing': '🙇‍♀️',\n 'man-bowing': '🙇‍♂️',\n bow: '🙇',\n see_no_evil: '🙈',\n hear_no_evil: '🙉',\n speak_no_evil: '🙊',\n 'woman-raising-hand': '🙋‍♀️',\n 'man-raising-hand': '🙋‍♂️',\n raising_hand: '🙋',\n raised_hands: '🙌',\n 'woman-frowning': '🙍‍♀️',\n 'man-frowning': '🙍‍♂️',\n person_frowning: '🙍',\n 'woman-pouting': '🙎‍♀️',\n 'man-pouting': '🙎‍♂️',\n person_with_pouting_face: '🙎',\n pray: '🙏',\n rocket: '🚀',\n helicopter: '🚁',\n steam_locomotive: '🚂',\n railway_car: '🚃',\n bullettrain_side: '🚄',\n bullettrain_front: '🚅',\n train2: '🚆',\n metro: '🚇',\n light_rail: '🚈',\n station: '🚉',\n tram: '🚊',\n train: '🚋',\n bus: '🚌',\n oncoming_bus: '🚍',\n trolleybus: '🚎',\n busstop: '🚏',\n minibus: '🚐',\n ambulance: '🚑',\n fire_engine: '🚒',\n police_car: '🚓',\n oncoming_police_car: '🚔',\n taxi: '🚕',\n oncoming_taxi: '🚖',\n car: '🚗',\n red_car: '🚗',\n oncoming_automobile: '🚘',\n blue_car: '🚙',\n truck: '🚚',\n articulated_lorry: '🚛',\n tractor: '🚜',\n monorail: '🚝',\n mountain_railway: '🚞',\n suspension_railway: '🚟',\n mountain_cableway: '🚠',\n aerial_tramway: '🚡',\n ship: '🚢',\n 'woman-rowing-boat': '🚣‍♀️',\n 'man-rowing-boat': '🚣‍♂️',\n rowboat: '🚣',\n speedboat: '🚤',\n traffic_light: '🚥',\n vertical_traffic_light: '🚦',\n construction: '🚧',\n rotating_light: '🚨',\n triangular_flag_on_post: '🚩',\n door: '🚪',\n no_entry_sign: '🚫',\n smoking: '🚬',\n no_smoking: '🚭',\n put_litter_in_its_place: '🚮',\n do_not_litter: '🚯',\n potable_water: '🚰',\n 'non-potable_water': '🚱',\n bike: '🚲',\n no_bicycles: '🚳',\n 'woman-biking': '🚴‍♀️',\n 'man-biking': '🚴‍♂️',\n bicyclist: '🚴',\n 'woman-mountain-biking': '🚵‍♀️',\n 'man-mountain-biking': '🚵‍♂️',\n mountain_bicyclist: '🚵',\n 'woman-walking': '🚶‍♀️',\n woman_walking_facing_right: '🚶‍♀️‍➡️',\n 'man-walking': '🚶‍♂️',\n man_walking_facing_right: '🚶‍♂️‍➡️',\n person_walking_facing_right: '🚶‍➡️',\n walking: '🚶',\n no_pedestrians: '🚷',\n children_crossing: '🚸',\n mens: '🚹',\n womens: '🚺',\n restroom: '🚻',\n baby_symbol: '🚼',\n toilet: '🚽',\n wc: '🚾',\n shower: '🚿',\n bath: '🛀',\n bathtub: '🛁',\n passport_control: '🛂',\n customs: '🛃',\n baggage_claim: '🛄',\n left_luggage: '🛅',\n couch_and_lamp: '🛋️',\n sleeping_accommodation: '🛌',\n shopping_bags: '🛍️',\n bellhop_bell: '🛎️',\n bed: '🛏️',\n place_of_worship: '🛐',\n octagonal_sign: '🛑',\n shopping_trolley: '🛒',\n hindu_temple: '🛕',\n hut: '🛖',\n elevator: '🛗',\n wireless: '🛜',\n playground_slide: '🛝',\n wheel: '🛞',\n ring_buoy: '🛟',\n hammer_and_wrench: '🛠️',\n shield: '🛡️',\n oil_drum: '🛢️',\n motorway: '🛣️',\n railway_track: '🛤️',\n motor_boat: '🛥️',\n small_airplane: '🛩️',\n airplane_departure: '🛫',\n airplane_arriving: '🛬',\n satellite: '🛰️',\n passenger_ship: '🛳️',\n scooter: '🛴',\n motor_scooter: '🛵',\n canoe: '🛶',\n sled: '🛷',\n flying_saucer: '🛸',\n skateboard: '🛹',\n auto_rickshaw: '🛺',\n pickup_truck: '🛻',\n roller_skate: '🛼',\n large_orange_circle: '🟠',\n large_yellow_circle: '🟡',\n large_green_circle: '🟢',\n large_purple_circle: '🟣',\n large_brown_circle: '🟤',\n large_red_square: '🟥',\n large_blue_square: '🟦',\n large_orange_square: '🟧',\n large_yellow_square: '🟨',\n large_green_square: '🟩',\n large_purple_square: '🟪',\n large_brown_square: '🟫',\n heavy_equals_sign: '🟰',\n pinched_fingers: '🤌',\n white_heart: '🤍',\n brown_heart: '🤎',\n pinching_hand: '🤏',\n zipper_mouth_face: '🤐',\n money_mouth_face: '🤑',\n face_with_thermometer: '🤒',\n nerd_face: '🤓',\n thinking_face: '🤔',\n face_with_head_bandage: '🤕',\n robot_face: '🤖',\n hugging_face: '🤗',\n the_horns: '🤘',\n sign_of_the_horns: '🤘',\n call_me_hand: '🤙',\n raised_back_of_hand: '🤚',\n 'left-facing_fist': '🤛',\n 'right-facing_fist': '🤜',\n handshake: '🤝',\n crossed_fingers: '🤞',\n hand_with_index_and_middle_fingers_crossed: '🤞',\n i_love_you_hand_sign: '🤟',\n face_with_cowboy_hat: '🤠',\n clown_face: '🤡',\n nauseated_face: '🤢',\n rolling_on_the_floor_laughing: '🤣',\n drooling_face: '🤤',\n lying_face: '🤥',\n 'woman-facepalming': '🤦‍♀️',\n 'man-facepalming': '🤦‍♂️',\n face_palm: '🤦',\n sneezing_face: '🤧',\n face_with_raised_eyebrow: '🤨',\n face_with_one_eyebrow_raised: '🤨',\n 'star-struck': '🤩',\n grinning_face_with_star_eyes: '🤩',\n zany_face: '🤪',\n grinning_face_with_one_large_and_one_small_eye: '🤪',\n shushing_face: '🤫',\n face_with_finger_covering_closed_lips: '🤫',\n face_with_symbols_on_mouth: '🤬',\n serious_face_with_symbols_covering_mouth: '🤬',\n face_with_hand_over_mouth: '🤭',\n smiling_face_with_smiling_eyes_and_hand_covering_mouth: '🤭',\n face_vomiting: '🤮',\n face_with_open_mouth_vomiting: '🤮',\n exploding_head: '🤯',\n shocked_face_with_exploding_head: '🤯',\n pregnant_woman: '🤰',\n 'breast-feeding': '🤱',\n palms_up_together: '🤲',\n selfie: '🤳',\n prince: '🤴',\n woman_in_tuxedo: '🤵‍♀️',\n man_in_tuxedo: '🤵‍♂️',\n person_in_tuxedo: '🤵',\n mrs_claus: '🤶',\n mother_christmas: '🤶',\n 'woman-shrugging': '🤷‍♀️',\n 'man-shrugging': '🤷‍♂️',\n shrug: '🤷',\n 'woman-cartwheeling': '🤸‍♀️',\n 'man-cartwheeling': '🤸‍♂️',\n person_doing_cartwheel: '🤸',\n 'woman-juggling': '🤹‍♀️',\n 'man-juggling': '🤹‍♂️',\n juggling: '🤹',\n fencer: '🤺',\n 'woman-wrestling': '🤼‍♀️',\n 'man-wrestling': '🤼‍♂️',\n wrestlers: '🤼',\n 'woman-playing-water-polo': '🤽‍♀️',\n 'man-playing-water-polo': '🤽‍♂️',\n water_polo: '🤽',\n 'woman-playing-handball': '🤾‍♀️',\n 'man-playing-handball': '🤾‍♂️',\n handball: '🤾',\n diving_mask: '🤿',\n wilted_flower: '🥀',\n drum_with_drumsticks: '🥁',\n clinking_glasses: '🥂',\n tumbler_glass: '🥃',\n spoon: '🥄',\n goal_net: '🥅',\n first_place_medal: '🥇',\n second_place_medal: '🥈',\n third_place_medal: '🥉',\n boxing_glove: '🥊',\n martial_arts_uniform: '🥋',\n curling_stone: '🥌',\n lacrosse: '🥍',\n softball: '🥎',\n flying_disc: '🥏',\n croissant: '🥐',\n avocado: '🥑',\n cucumber: '🥒',\n bacon: '🥓',\n potato: '🥔',\n carrot: '🥕',\n baguette_bread: '🥖',\n green_salad: '🥗',\n shallow_pan_of_food: '🥘',\n stuffed_flatbread: '🥙',\n egg: '🥚',\n glass_of_milk: '🥛',\n peanuts: '🥜',\n kiwifruit: '🥝',\n pancakes: '🥞',\n dumpling: '🥟',\n fortune_cookie: '🥠',\n takeout_box: '🥡',\n chopsticks: '🥢',\n bowl_with_spoon: '🥣',\n cup_with_straw: '🥤',\n coconut: '🥥',\n broccoli: '🥦',\n pie: '🥧',\n pretzel: '🥨',\n cut_of_meat: '🥩',\n sandwich: '🥪',\n canned_food: '🥫',\n leafy_green: '🥬',\n mango: '🥭',\n moon_cake: '🥮',\n bagel: '🥯',\n smiling_face_with_3_hearts: '🥰',\n yawning_face: '🥱',\n smiling_face_with_tear: '🥲',\n partying_face: '🥳',\n woozy_face: '🥴',\n hot_face: '🥵',\n cold_face: '🥶',\n ninja: '🥷',\n disguised_face: '🥸',\n face_holding_back_tears: '🥹',\n pleading_face: '🥺',\n sari: '🥻',\n lab_coat: '🥼',\n goggles: '🥽',\n hiking_boot: '🥾',\n womans_flat_shoe: '🥿',\n crab: '🦀',\n lion_face: '🦁',\n scorpion: '🦂',\n turkey: '🦃',\n unicorn_face: '🦄',\n eagle: '🦅',\n duck: '🦆',\n bat: '🦇',\n shark: '🦈',\n owl: '🦉',\n fox_face: '🦊',\n butterfly: '🦋',\n deer: '🦌',\n gorilla: '🦍',\n lizard: '🦎',\n rhinoceros: '🦏',\n shrimp: '🦐',\n squid: '🦑',\n giraffe_face: '🦒',\n zebra_face: '🦓',\n hedgehog: '🦔',\n sauropod: '🦕',\n 't-rex': '🦖',\n cricket: '🦗',\n kangaroo: '🦘',\n llama: '🦙',\n peacock: '🦚',\n hippopotamus: '🦛',\n parrot: '🦜',\n raccoon: '🦝',\n lobster: '🦞',\n mosquito: '🦟',\n microbe: '🦠',\n badger: '🦡',\n swan: '🦢',\n mammoth: '🦣',\n dodo: '🦤',\n sloth: '🦥',\n otter: '🦦',\n orangutan: '🦧',\n skunk: '🦨',\n flamingo: '🦩',\n oyster: '🦪',\n beaver: '🦫',\n bison: '🦬',\n seal: '🦭',\n guide_dog: '🦮',\n probing_cane: '🦯',\n bone: '🦴',\n leg: '🦵',\n foot: '🦶',\n tooth: '🦷',\n female_superhero: '🦸‍♀️',\n male_superhero: '🦸‍♂️',\n superhero: '🦸',\n female_supervillain: '🦹‍♀️',\n male_supervillain: '🦹‍♂️',\n supervillain: '🦹',\n safety_vest: '🦺',\n ear_with_hearing_aid: '🦻',\n motorized_wheelchair: '🦼',\n manual_wheelchair: '🦽',\n mechanical_arm: '🦾',\n mechanical_leg: '🦿',\n cheese_wedge: '🧀',\n cupcake: '🧁',\n salt: '🧂',\n beverage_box: '🧃',\n garlic: '🧄',\n onion: '🧅',\n falafel: '🧆',\n waffle: '🧇',\n butter: '🧈',\n mate_drink: '🧉',\n ice_cube: '🧊',\n bubble_tea: '🧋',\n troll: '🧌',\n woman_standing: '🧍‍♀️',\n man_standing: '🧍‍♂️',\n standing_person: '🧍',\n woman_kneeling: '🧎‍♀️',\n woman_kneeling_facing_right: '🧎‍♀️‍➡️',\n man_kneeling: '🧎‍♂️',\n man_kneeling_facing_right: '🧎‍♂️‍➡️',\n person_kneeling_facing_right: '🧎‍➡️',\n kneeling_person: '🧎',\n deaf_woman: '🧏‍♀️',\n deaf_man: '🧏‍♂️',\n deaf_person: '🧏',\n face_with_monocle: '🧐',\n farmer: '🧑‍🌾',\n cook: '🧑‍🍳',\n person_feeding_baby: '🧑‍🍼',\n mx_claus: '🧑‍🎄',\n student: '🧑‍🎓',\n singer: '🧑‍🎤',\n artist: '🧑‍🎨',\n teacher: '🧑‍🏫',\n factory_worker: '🧑‍🏭',\n technologist: '🧑‍💻',\n office_worker: '🧑‍💼',\n mechanic: '🧑‍🔧',\n scientist: '🧑‍🔬',\n astronaut: '🧑‍🚀',\n firefighter: '🧑‍🚒',\n people_holding_hands: '🧑‍🤝‍🧑',\n person_with_white_cane_facing_right: '🧑‍🦯‍➡️',\n person_with_probing_cane: '🧑‍🦯',\n red_haired_person: '🧑‍🦰',\n curly_haired_person: '🧑‍🦱',\n bald_person: '🧑‍🦲',\n white_haired_person: '🧑‍🦳',\n person_in_motorized_wheelchair_facing_right: '🧑‍🦼‍➡️',\n person_in_motorized_wheelchair: '🧑‍🦼',\n person_in_manual_wheelchair_facing_right: '🧑‍🦽‍➡️',\n person_in_manual_wheelchair: '🧑‍🦽',\n family_adult_adult_child: '🧑‍🧑‍🧒',\n family_adult_adult_child_child: '🧑‍🧑‍🧒‍🧒',\n family_adult_child_child: '🧑‍🧒‍🧒',\n family_adult_child: '🧑‍🧒',\n health_worker: '🧑‍⚕️',\n judge: '🧑‍⚖️',\n pilot: '🧑‍✈️',\n adult: '🧑',\n child: '🧒',\n older_adult: '🧓',\n woman_with_beard: '🧔‍♀️',\n man_with_beard: '🧔‍♂️',\n bearded_person: '🧔',\n person_with_headscarf: '🧕',\n woman_in_steamy_room: '🧖‍♀️',\n man_in_steamy_room: '🧖‍♂️',\n person_in_steamy_room: '🧖',\n woman_climbing: '🧗‍♀️',\n man_climbing: '🧗‍♂️',\n person_climbing: '🧗',\n woman_in_lotus_position: '🧘‍♀️',\n man_in_lotus_position: '🧘‍♂️',\n person_in_lotus_position: '🧘',\n female_mage: '🧙‍♀️',\n male_mage: '🧙‍♂️',\n mage: '🧙',\n female_fairy: '🧚‍♀️',\n male_fairy: '🧚‍♂️',\n fairy: '🧚',\n female_vampire: '🧛‍♀️',\n male_vampire: '🧛‍♂️',\n vampire: '🧛',\n mermaid: '🧜‍♀️',\n merman: '🧜‍♂️',\n merperson: '🧜',\n female_elf: '🧝‍♀️',\n male_elf: '🧝‍♂️',\n elf: '🧝',\n female_genie: '🧞‍♀️',\n male_genie: '🧞‍♂️',\n genie: '🧞',\n female_zombie: '🧟‍♀️',\n male_zombie: '🧟‍♂️',\n zombie: '🧟',\n brain: '🧠',\n orange_heart: '🧡',\n billed_cap: '🧢',\n scarf: '🧣',\n gloves: '🧤',\n coat: '🧥',\n socks: '🧦',\n red_envelope: '🧧',\n firecracker: '🧨',\n jigsaw: '🧩',\n test_tube: '🧪',\n petri_dish: '🧫',\n dna: '🧬',\n compass: '🧭',\n abacus: '🧮',\n fire_extinguisher: '🧯',\n toolbox: '🧰',\n bricks: '🧱',\n magnet: '🧲',\n luggage: '🧳',\n lotion_bottle: '🧴',\n thread: '🧵',\n yarn: '🧶',\n safety_pin: '🧷',\n teddy_bear: '🧸',\n broom: '🧹',\n basket: '🧺',\n roll_of_paper: '🧻',\n soap: '🧼',\n sponge: '🧽',\n receipt: '🧾',\n nazar_amulet: '🧿',\n ballet_shoes: '🩰',\n 'one-piece_swimsuit': '🩱',\n briefs: '🩲',\n shorts: '🩳',\n thong_sandal: '🩴',\n light_blue_heart: '🩵',\n grey_heart: '🩶',\n pink_heart: '🩷',\n drop_of_blood: '🩸',\n adhesive_bandage: '🩹',\n stethoscope: '🩺',\n 'x-ray': '🩻',\n crutch: '🩼',\n 'yo-yo': '🪀',\n kite: '🪁',\n parachute: '🪂',\n boomerang: '🪃',\n magic_wand: '🪄',\n pinata: '🪅',\n nesting_dolls: '🪆',\n maracas: '🪇',\n flute: '🪈',\n harp: '🪉',\n shovel: '🪏',\n ringed_planet: '🪐',\n chair: '🪑',\n razor: '🪒',\n axe: '🪓',\n diya_lamp: '🪔',\n banjo: '🪕',\n military_helmet: '🪖',\n accordion: '🪗',\n long_drum: '🪘',\n coin: '🪙',\n carpentry_saw: '🪚',\n screwdriver: '🪛',\n ladder: '🪜',\n hook: '🪝',\n mirror: '🪞',\n window: '🪟',\n plunger: '🪠',\n sewing_needle: '🪡',\n knot: '🪢',\n bucket: '🪣',\n mouse_trap: '🪤',\n toothbrush: '🪥',\n headstone: '🪦',\n placard: '🪧',\n rock: '🪨',\n mirror_ball: '🪩',\n identification_card: '🪪',\n low_battery: '🪫',\n hamsa: '🪬',\n folding_hand_fan: '🪭',\n hair_pick: '🪮',\n khanda: '🪯',\n fly: '🪰',\n worm: '🪱',\n beetle: '🪲',\n cockroach: '🪳',\n potted_plant: '🪴',\n wood: '🪵',\n feather: '🪶',\n lotus: '🪷',\n coral: '🪸',\n empty_nest: '🪹',\n nest_with_eggs: '🪺',\n hyacinth: '🪻',\n jellyfish: '🪼',\n wing: '🪽',\n leafless_tree: '🪾',\n goose: '🪿',\n anatomical_heart: '🫀',\n lungs: '🫁',\n people_hugging: '🫂',\n pregnant_man: '🫃',\n pregnant_person: '🫄',\n person_with_crown: '🫅',\n fingerprint: '🫆',\n moose: '🫎',\n donkey: '🫏',\n blueberries: '🫐',\n bell_pepper: '🫑',\n olive: '🫒',\n flatbread: '🫓',\n tamale: '🫔',\n fondue: '🫕',\n teapot: '🫖',\n pouring_liquid: '🫗',\n beans: '🫘',\n jar: '🫙',\n ginger_root: '🫚',\n pea_pod: '🫛',\n root_vegetable: '🫜',\n splatter: '🫟',\n melting_face: '🫠',\n saluting_face: '🫡',\n face_with_open_eyes_and_hand_over_mouth: '🫢',\n face_with_peeking_eye: '🫣',\n face_with_diagonal_mouth: '🫤',\n dotted_line_face: '🫥',\n biting_lip: '🫦',\n bubbles: '🫧',\n shaking_face: '🫨',\n face_with_bags_under_eyes: '🫩',\n hand_with_index_finger_and_thumb_crossed: '🫰',\n rightwards_hand: '🫱',\n leftwards_hand: '🫲',\n palm_down_hand: '🫳',\n palm_up_hand: '🫴',\n index_pointing_at_the_viewer: '🫵',\n heart_hands: '🫶',\n leftwards_pushing_hand: '🫷',\n rightwards_pushing_hand: '🫸',\n bangbang: '‼️',\n interrobang: '⁉️',\n tm: '™️',\n information_source: 'ℹ️',\n left_right_arrow: '↔️',\n arrow_up_down: '↕️',\n arrow_upper_left: '↖️',\n arrow_upper_right: '↗️',\n arrow_lower_right: '↘️',\n arrow_lower_left: '↙️',\n leftwards_arrow_with_hook: '↩️',\n arrow_right_hook: '↪️',\n watch: '⌚',\n hourglass: '⌛',\n keyboard: '⌨️',\n eject: '⏏️',\n fast_forward: '⏩',\n rewind: '⏪',\n arrow_double_up: '⏫',\n arrow_double_down: '⏬',\n black_right_pointing_double_triangle_with_vertical_bar: '⏭️',\n black_left_pointing_double_triangle_with_vertical_bar: '⏮️',\n black_right_pointing_triangle_with_double_vertical_bar: '⏯️',\n alarm_clock: '⏰',\n stopwatch: '⏱️',\n timer_clock: '⏲️',\n hourglass_flowing_sand: '⏳',\n double_vertical_bar: '⏸️',\n black_square_for_stop: '⏹️',\n black_circle_for_record: '⏺️',\n m: 'Ⓜ️',\n black_small_square: '▪️',\n white_small_square: '▫️',\n arrow_forward: '▶️',\n arrow_backward: '◀️',\n white_medium_square: '◻️',\n black_medium_square: '◼️',\n white_medium_small_square: '◽',\n black_medium_small_square: '◾',\n sunny: '☀️',\n cloud: '☁️',\n umbrella: '☂️',\n snowman: '☃️',\n comet: '☄️',\n phone: '☎️',\n telephone: '☎️',\n ballot_box_with_check: '☑️',\n umbrella_with_rain_drops: '☔',\n coffee: '☕',\n shamrock: '☘️',\n point_up: '☝️',\n skull_and_crossbones: '☠️',\n radioactive_sign: '☢️',\n biohazard_sign: '☣️',\n orthodox_cross: '☦️',\n star_and_crescent: '☪️',\n peace_symbol: '☮️',\n yin_yang: '☯️',\n wheel_of_dharma: '☸️',\n white_frowning_face: '☹️',\n relaxed: '☺️',\n female_sign: '♀️',\n male_sign: '♂️',\n aries: '♈',\n taurus: '♉',\n gemini: '♊',\n cancer: '♋',\n leo: '♌',\n virgo: '♍',\n libra: '♎',\n scorpius: '♏',\n sagittarius: '♐',\n capricorn: '♑',\n aquarius: '♒',\n pisces: '♓',\n chess_pawn: '♟️',\n spades: '♠️',\n clubs: '♣️',\n hearts: '♥️',\n diamonds: '♦️',\n hotsprings: '♨️',\n recycle: '♻️',\n infinity: '♾️',\n wheelchair: '♿',\n hammer_and_pick: '⚒️',\n anchor: '⚓',\n crossed_swords: '⚔️',\n medical_symbol: '⚕️',\n staff_of_aesculapius: '⚕️',\n scales: '⚖️',\n alembic: '⚗️',\n gear: '⚙️',\n atom_symbol: '⚛️',\n fleur_de_lis: '⚜️',\n warning: '⚠️',\n zap: '⚡',\n transgender_symbol: '⚧️',\n white_circle: '⚪',\n black_circle: '⚫',\n coffin: '⚰️',\n funeral_urn: '⚱️',\n soccer: '⚽',\n baseball: '⚾',\n snowman_without_snow: '⛄',\n partly_sunny: '⛅',\n thunder_cloud_and_rain: '⛈️',\n ophiuchus: '⛎',\n pick: '⛏️',\n helmet_with_white_cross: '⛑️',\n broken_chain: '⛓️‍💥',\n chains: '⛓️',\n no_entry: '⛔',\n shinto_shrine: '⛩️',\n church: '⛪',\n mountain: '⛰️',\n umbrella_on_ground: '⛱️',\n fountain: '⛲',\n golf: '⛳',\n ferry: '⛴️',\n boat: '⛵',\n sailboat: '⛵',\n skier: '⛷️',\n ice_skate: '⛸️',\n 'woman-bouncing-ball': '⛹️‍♀️',\n 'man-bouncing-ball': '⛹️‍♂️',\n person_with_ball: '⛹️',\n tent: '⛺',\n fuelpump: '⛽',\n scissors: '✂️',\n white_check_mark: '✅',\n airplane: '✈️',\n email: '✉️',\n envelope: '✉️',\n fist: '✊',\n hand: '✋',\n raised_hand: '✋',\n v: '✌️',\n writing_hand: '✍️',\n pencil2: '✏️',\n black_nib: '✒️',\n heavy_check_mark: '✔️',\n heavy_multiplication_x: '✖️',\n latin_cross: '✝️',\n star_of_david: '✡️',\n sparkles: '✨',\n eight_spoked_asterisk: '✳️',\n eight_pointed_black_star: '✴️',\n snowflake: '❄️',\n sparkle: '❇️',\n x: '❌',\n negative_squared_cross_mark: '❎',\n question: '❓',\n grey_question: '❔',\n grey_exclamation: '❕',\n exclamation: '❗',\n heavy_exclamation_mark: '❗',\n heavy_heart_exclamation_mark_ornament: '❣️',\n heart_on_fire: '❤️‍🔥',\n mending_heart: '❤️‍🩹',\n heart: '❤️',\n heavy_plus_sign: '➕',\n heavy_minus_sign: '➖',\n heavy_division_sign: '➗',\n arrow_right: '➡️',\n curly_loop: '➰',\n loop: '➿',\n arrow_heading_up: '⤴️',\n arrow_heading_down: '⤵️',\n arrow_left: '⬅️',\n arrow_up: '⬆️',\n arrow_down: '⬇️',\n black_large_square: '⬛',\n white_large_square: '⬜',\n star: '⭐',\n o: '⭕',\n wavy_dash: '〰️',\n part_alternation_mark: '〽️',\n congratulations: '㊗️',\n secret: '㊙️',\n};\n"],"mappings":";;;;;;;AAOA,MAAa,mBAA2C;CACtD,MAAM;CACN,aAAa;CACb,MAAM;CACN,KAAK;CACL,KAAK;CACL,OAAO;CACP,MAAM;CACN,MAAM;CACN,KAAK;CACL,OAAO;CACP,OAAO;CACP,MAAM;CACN,WAAW;CACX,YAAY;CACZ,SAAS;CACT,aAAa;CACb,GAAG;CACH,GAAG;CACH,IAAI;CACJ,SAAS;CACT,IAAI;CACJ,IAAI;CACJ,MAAM;CACN,MAAM;CACN,IAAI;CACJ,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,IAAI;CACJ,WAAW;CACX,WAAW;CACX,WAAW;CACX,aAAa;CACb,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,IAAI;CACJ,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,IAAI;CACJ,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,IAAI;CACJ,WAAW;CACX,WAAW;CACX,IAAI;CACJ,IAAI;CACJ,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,IAAI;CACJ,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,IAAI;CACJ,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,IAAI;CACJ,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,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"}
@@ -0,0 +1,3 @@
1
+ /** Custom workspace emoji are images with no unicode char, so an unknown name keeps its colons. */
2
+ export declare function resolveEmojiShortcodes(text: string): string;
3
+ //# sourceMappingURL=emoji.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../../src/integrations/slack/emoji.ts"],"names":[],"mappings":"AAQA,mGAAmG;AACnG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D"}
@@ -0,0 +1,12 @@
1
+ import { emojiByShortcode } from "./emoji-shortcodes.generated.js";
2
+ //#region src/integrations/slack/emoji.ts
3
+ const EMOJI_SHORTCODE = /:([a-z0-9_+-]+):/g;
4
+ const emojiTable = new Map(Object.entries(emojiByShortcode));
5
+ /** Custom workspace emoji are images with no unicode char, so an unknown name keeps its colons. */
6
+ function resolveEmojiShortcodes(text) {
7
+ return text.replace(EMOJI_SHORTCODE, (shortcode, name) => emojiTable.get(name) ?? shortcode);
8
+ }
9
+ //#endregion
10
+ export { resolveEmojiShortcodes };
11
+
12
+ //# sourceMappingURL=emoji.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji.js","names":[],"sources":["../../../src/integrations/slack/emoji.ts"],"sourcesContent":["import { emojiByShortcode } from './emoji-shortcodes.generated.js';\n\nconst EMOJI_SHORTCODE = /:([a-z0-9_+-]+):/g;\n\n// A Map, not the object: `:constructor:` matches the pattern, and an object\n// lookup would answer with `Object` and coerce it into the message.\nconst emojiTable = new Map(Object.entries(emojiByShortcode));\n\n/** Custom workspace emoji are images with no unicode char, so an unknown name keeps its colons. */\nexport function resolveEmojiShortcodes(text: string): string {\n return text.replace(EMOJI_SHORTCODE, (shortcode, name: string) => emojiTable.get(name) ?? shortcode);\n}\n"],"mappings":";;AAEA,MAAM,kBAAkB;AAIxB,MAAM,aAAa,IAAI,IAAI,OAAO,QAAQ,gBAAgB,CAAC;;AAG3D,SAAgB,uBAAuB,MAAsB;CAC3D,OAAO,KAAK,QAAQ,kBAAkB,WAAW,SAAiB,WAAW,IAAI,IAAI,KAAK,SAAS;AACrG"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Mirrors work-item feed comments into the Slack thread the card was born from.
3
+ * The bot cannot post as the commenter, so attribution is textual: `**Name**: body`.
4
+ */
5
+ import type { MountedMastraCode } from '@mastra/code-sdk';
6
+ import type { WorkItemCommentRow } from '../../storage/domains/comments/base.js';
7
+ import type { WorkItemFeedPublisher } from '../../storage/domains/comments/feed-sync.js';
8
+ import type { ExternalWorkItemSource, WorkItemRow } from '../../storage/domains/work-items/base.js';
9
+ export declare class SlackFeedPublisher implements WorkItemFeedPublisher {
10
+ #private;
11
+ readonly id = "slack";
12
+ constructor({ controller }: {
13
+ controller?: MountedMastraCode['controller'];
14
+ });
15
+ publish(comment: WorkItemCommentRow, workItem: WorkItemRow): Promise<{
16
+ source: ExternalWorkItemSource;
17
+ } | null>;
18
+ }
19
+ /**
20
+ * The one key both sync directions stamp on a mirrored message, so an ingested
21
+ * aside and a mirrored comment cannot diverge. Workspace-scoped like the card's
22
+ * own key: a channel id and a `ts` only identify a message inside the team that
23
+ * issued them, and one project can hold two Slack workspaces.
24
+ */
25
+ export declare function slackCommentSource(threadId: string, messageTs: string, teamId?: string): ExternalWorkItemSource;
26
+ //# sourceMappingURL=feed-publisher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-publisher.d.ts","sourceRoot":"","sources":["../../../src/integrations/slack/feed-publisher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAKpG,qBAAa,kBAAmB,YAAW,qBAAqB;;IAC9D,QAAQ,CAAC,EAAE,WAAW;gBAIV,EAAE,UAAU,EAAE,EAAE;QAAE,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAA;KAAE;IAItE,OAAO,CACX,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,sBAAsB,CAAA;KAAE,GAAG,IAAI,CAAC;CAiBtD;AAQD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAO/G"}
@@ -0,0 +1,44 @@
1
+ //#region src/integrations/slack/feed-publisher.ts
2
+ /** Slack rejects a `markdown_text` block over this; comments allow 16k. */
3
+ const MAX_SLACK_MARKDOWN_CHARS = 12e3;
4
+ var SlackFeedPublisher = class {
5
+ id = "slack";
6
+ #controller;
7
+ constructor({ controller }) {
8
+ this.#controller = controller;
9
+ }
10
+ async publish(comment, workItem) {
11
+ const source = workItem.externalSource;
12
+ if (source?.integrationId !== this.id || source.type !== "slack-thread") return null;
13
+ const sdk = this.#controller?.getChannels()?.sdk;
14
+ if (!sdk) {
15
+ console.warn("[slack] feed mirror skipped, channels not initialized yet", { commentId: comment.id });
16
+ return null;
17
+ }
18
+ const author = comment.author.displayName ?? comment.author.id;
19
+ const sent = await sdk.thread(source.externalId).post({ markdown: fitSlackMarkdown(`**${author}**: ${comment.body}`) });
20
+ return { source: slackCommentSource(source.externalId, sent.id, source.workspaceId) };
21
+ }
22
+ };
23
+ function fitSlackMarkdown(markdown) {
24
+ if (markdown.length <= MAX_SLACK_MARKDOWN_CHARS) return markdown;
25
+ return `${markdown.slice(0, MAX_SLACK_MARKDOWN_CHARS - 1).replace(/[\uD800-\uDBFF]$/, "")}…`;
26
+ }
27
+ /**
28
+ * The one key both sync directions stamp on a mirrored message, so an ingested
29
+ * aside and a mirrored comment cannot diverge. Workspace-scoped like the card's
30
+ * own key: a channel id and a `ts` only identify a message inside the team that
31
+ * issued them, and one project can hold two Slack workspaces.
32
+ */
33
+ function slackCommentSource(threadId, messageTs, teamId) {
34
+ return {
35
+ integrationId: "slack",
36
+ type: "message",
37
+ ...teamId ? { workspaceId: teamId } : {},
38
+ externalId: `${threadId.split(":")[1] ?? ""}:${messageTs}`
39
+ };
40
+ }
41
+ //#endregion
42
+ export { SlackFeedPublisher, slackCommentSource };
43
+
44
+ //# sourceMappingURL=feed-publisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-publisher.js","names":["#controller"],"sources":["../../../src/integrations/slack/feed-publisher.ts"],"sourcesContent":["/**\n * Mirrors work-item feed comments into the Slack thread the card was born from.\n * The bot cannot post as the commenter, so attribution is textual: `**Name**: body`.\n */\n\nimport type { MountedMastraCode } from '@mastra/code-sdk';\n\nimport type { WorkItemCommentRow } from '../../storage/domains/comments/base.js';\nimport type { WorkItemFeedPublisher } from '../../storage/domains/comments/feed-sync.js';\nimport type { ExternalWorkItemSource, WorkItemRow } from '../../storage/domains/work-items/base.js';\n\n/** Slack rejects a `markdown_text` block over this; comments allow 16k. */\nconst MAX_SLACK_MARKDOWN_CHARS = 12_000;\n\nexport class SlackFeedPublisher implements WorkItemFeedPublisher {\n readonly id = 'slack';\n\n readonly #controller: MountedMastraCode['controller'] | undefined;\n\n constructor({ controller }: { controller?: MountedMastraCode['controller'] }) {\n this.#controller = controller;\n }\n\n async publish(\n comment: WorkItemCommentRow,\n workItem: WorkItemRow,\n ): Promise<{ source: ExternalWorkItemSource } | null> {\n const source = workItem.externalSource;\n if (source?.integrationId !== this.id || source.type !== 'slack-thread') return null;\n\n // Null until the channels' lazy `initialize()` resolves; no outbox retries.\n const sdk = this.#controller?.getChannels()?.sdk;\n if (!sdk) {\n console.warn('[slack] feed mirror skipped, channels not initialized yet', { commentId: comment.id });\n return null;\n }\n\n const author = comment.author.displayName ?? comment.author.id;\n const sent = await sdk.thread(source.externalId).post({\n markdown: fitSlackMarkdown(`**${author}**: ${comment.body}`),\n });\n return { source: slackCommentSource(source.externalId, sent.id, source.workspaceId) };\n }\n}\n\nfunction fitSlackMarkdown(markdown: string): string {\n if (markdown.length <= MAX_SLACK_MARKDOWN_CHARS) return markdown;\n // `slice` counts UTF-16 units, so a cut inside an emoji leaves half a pair.\n return `${markdown.slice(0, MAX_SLACK_MARKDOWN_CHARS - 1).replace(/[\\uD800-\\uDBFF]$/, '')}…`;\n}\n\n/**\n * The one key both sync directions stamp on a mirrored message, so an ingested\n * aside and a mirrored comment cannot diverge. Workspace-scoped like the card's\n * own key: a channel id and a `ts` only identify a message inside the team that\n * issued them, and one project can hold two Slack workspaces.\n */\nexport function slackCommentSource(threadId: string, messageTs: string, teamId?: string): ExternalWorkItemSource {\n return {\n integrationId: 'slack',\n type: 'message',\n ...(teamId ? { workspaceId: teamId } : {}),\n externalId: `${threadId.split(':')[1] ?? ''}:${messageTs}`,\n };\n}\n"],"mappings":";;AAYA,MAAM,2BAA2B;AAEjC,IAAa,qBAAb,MAAiE;CAC/D,KAAc;CAEd;CAEA,YAAY,EAAE,cAAgE;EAC5E,KAAKA,cAAc;CACrB;CAEA,MAAM,QACJ,SACA,UACoD;EACpD,MAAM,SAAS,SAAS;EACxB,IAAI,QAAQ,kBAAkB,KAAK,MAAM,OAAO,SAAS,gBAAgB,OAAO;EAGhF,MAAM,MAAM,KAAKA,aAAa,YAAY,CAAC,EAAE;EAC7C,IAAI,CAAC,KAAK;GACR,QAAQ,KAAK,6DAA6D,EAAE,WAAW,QAAQ,GAAG,CAAC;GACnG,OAAO;EACT;EAEA,MAAM,SAAS,QAAQ,OAAO,eAAe,QAAQ,OAAO;EAC5D,MAAM,OAAO,MAAM,IAAI,OAAO,OAAO,UAAU,CAAC,CAAC,KAAK,EACpD,UAAU,iBAAiB,KAAK,OAAO,MAAM,QAAQ,MAAM,EAC7D,CAAC;EACD,OAAO,EAAE,QAAQ,mBAAmB,OAAO,YAAY,KAAK,IAAI,OAAO,WAAW,EAAE;CACtF;AACF;AAEA,SAAS,iBAAiB,UAA0B;CAClD,IAAI,SAAS,UAAU,0BAA0B,OAAO;CAExD,OAAO,GAAG,SAAS,MAAM,GAAG,2BAA2B,CAAC,CAAC,CAAC,QAAQ,oBAAoB,EAAE,EAAE;AAC5F;;;;;;;AAQA,SAAgB,mBAAmB,UAAkB,WAAmB,QAAyC;CAC/G,OAAO;EACL,eAAe;EACf,MAAM;EACN,GAAI,SAAS,EAAE,aAAa,OAAO,IAAI,CAAC;EACxC,YAAY,GAAG,SAAS,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG;CACjD;AACF"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * `SlackIntegration` — Slack as a `FactoryIntegration`.
3
+ *
4
+ * Slack contributes two things to a factory: the chat channels that carry
5
+ * inbound messages into agent runs (`channels()`), and the browser-facing
6
+ * account-link routes that bind a Slack sender to a Mastra tenant (`routes()`).
7
+ * Both used to be assembled by hand in the deploy entry, which had to reach
8
+ * into the prepared agent controller by string key, resolve storage domains
9
+ * itself, mint its own state signer, and splice routes onto the factory's
10
+ * assembled server config. Implementing the integration interface instead means
11
+ * the factory does all of that the same way it already does for GitHub and
12
+ * Linear, and the entry's job shrinks to reading Slack's env vars once.
13
+ *
14
+ * Slack ships as a factory built-in alongside GitHub and Linear (it originally
15
+ * lived in `mastracode/web` to keep `@mastra/slack`/`chat` out of this package;
16
+ * the team reversed that so `create-factory` consumers get Slack channels out
17
+ * of the box). The integration interface remains open — third parties still add
18
+ * capabilities by implementing `FactoryIntegration` from outside the package.
19
+ */
20
+ import type { ApiRoute } from '@mastra/core/server';
21
+ import type { SlackAdapterChannelConfig } from '@mastra/slack';
22
+ import type { WorkItemFeedPublisher } from '../../storage/domains/comments/feed-sync.js';
23
+ import type { FactoryChannelsConfig, FactoryIntegration, IntegrationContext } from '../base.js';
24
+ /**
25
+ * Slack app credentials, read from env ONCE by the deploy entry. `signingSecret`
26
+ * is required because the Slack adapter validates it at construction — an
27
+ * integration constructed without it would throw during `prepare()` rather than
28
+ * reporting itself unconfigured.
29
+ */
30
+ export interface SlackIntegrationConfig {
31
+ /** Verifies inbound Slack request signatures. Required. */
32
+ signingSecret: string;
33
+ /** Bot token used to post replies and ephemeral cards. */
34
+ botToken?: string;
35
+ /**
36
+ * OAuth client credentials. Required for account linking: "Sign in with
37
+ * Slack" (OIDC) is the only flow that writes a link, so without these the
38
+ * settings surface reports `canConnect: false` and no sender can link.
39
+ */
40
+ clientId?: string;
41
+ clientSecret?: string;
42
+ /**
43
+ * HTTPS origin Slack redirects back to. Slack requires HTTPS, so locally this
44
+ * is the tunnel origin rather than the app's own public URL.
45
+ */
46
+ oidcRedirectBaseUrl?: string;
47
+ /** SPA origin the post-connect redirect returns to. */
48
+ uiOrigin?: string;
49
+ /**
50
+ * Overrides for the Slack channel adapter entry.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * new SlackIntegration({
55
+ * signingSecret,
56
+ * adapterOptions: {
57
+ * streaming: true,
58
+ * toolDisplay: 'grouped',
59
+ * },
60
+ * });
61
+ * ```
62
+ */
63
+ adapterOptions?: SlackAdapterChannelConfig;
64
+ }
65
+ export declare class SlackIntegration implements FactoryIntegration {
66
+ #private;
67
+ readonly id = "slack";
68
+ /**
69
+ * The OIDC connect flow round-trips a signed `state` through Slack, so the
70
+ * replica handling the callback must be able to verify a state a different
71
+ * replica signed.
72
+ */
73
+ readonly requiresStableStateSigner = true;
74
+ constructor(config: SlackIntegrationConfig);
75
+ channels(ctx: IntegrationContext): FactoryChannelsConfig;
76
+ feedPublisher(ctx: IntegrationContext): WorkItemFeedPublisher;
77
+ routes(ctx: IntegrationContext): ApiRoute[];
78
+ diagnostics(): Record<string, unknown>;
79
+ }
80
+ //# sourceMappingURL=integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/integrations/slack/integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMhG;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,yBAAyB,CAAC;CAC5C;AAyBD,qBAAa,gBAAiB,YAAW,kBAAkB;;IACzD,QAAQ,CAAC,EAAE,WAAW;IACtB;;;;OAIG;IACH,QAAQ,CAAC,yBAAyB,QAAQ;gBAU9B,MAAM,EAAE,sBAAsB;IAS1C,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,qBAAqB;IA2BxD,aAAa,CAAC,GAAG,EAAE,kBAAkB,GAAG,qBAAqB;IAI7D,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,EAAE;IAc3C,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CASvC"}
@@ -0,0 +1,93 @@
1
+ import { createSlackConnectRoutes } from "./connect-route.js";
2
+ import { SlackFeedPublisher } from "./feed-publisher.js";
3
+ import { createSlackChannelsConfig } from "./slack.js";
4
+ //#region src/integrations/slack/integration.ts
5
+ const factoryTypingStatus = (chunk) => {
6
+ switch (chunk.type) {
7
+ case "reasoning-delta": return "is thinking...";
8
+ case "text-delta": return "is typing...";
9
+ case "tool-call": return "is working...";
10
+ default: return;
11
+ }
12
+ };
13
+ /**
14
+ * Drops keys the caller set to `undefined` so spreading the overrides cannot
15
+ * erase the Factory defaults they sit on top of.
16
+ */
17
+ function adapterOverrides(options) {
18
+ return Object.fromEntries(Object.entries(options ?? {}).filter(([, value]) => value !== void 0));
19
+ }
20
+ var SlackIntegration = class {
21
+ id = "slack";
22
+ /**
23
+ * The OIDC connect flow round-trips a signed `state` through Slack, so the
24
+ * replica handling the callback must be able to verify a state a different
25
+ * replica signed.
26
+ */
27
+ requiresStableStateSigner = true;
28
+ #config;
29
+ /**
30
+ * Whether `channels()` found a source-control owner on the context and wired
31
+ * repo-backed sessions. Set at the channels() attach path, which runs once at
32
+ * boot before diagnostics are served.
33
+ */
34
+ #repoBackedSessions = false;
35
+ constructor(config) {
36
+ if (!config.signingSecret) throw new Error("SlackIntegration: 'signingSecret' is required — Slack cannot verify inbound requests without it.");
37
+ this.#config = config;
38
+ }
39
+ channels(ctx) {
40
+ const sourceControls = ctx.storage.sourceControls ?? (ctx.storage.sourceControlOwner ? [ctx.storage.sourceControlOwner] : []);
41
+ this.#repoBackedSessions = sourceControls.length > 0;
42
+ return createSlackChannelsConfig({
43
+ slack: {
44
+ clientId: this.#config.clientId,
45
+ clientSecret: this.#config.clientSecret,
46
+ signingSecret: this.#config.signingSecret,
47
+ botToken: this.#config.botToken
48
+ },
49
+ accountLinks: ctx.storage.channelIdentity,
50
+ projects: ctx.storage.projects,
51
+ sourceControls,
52
+ modelDefaults: ctx.storage.modelDefaults,
53
+ workItems: ctx.runtime?.workItems,
54
+ feed: ctx.feed,
55
+ adapterOptions: {
56
+ toolDisplay: "hidden",
57
+ typingStatus: factoryTypingStatus,
58
+ ...adapterOverrides(this.#config.adapterOptions)
59
+ }
60
+ });
61
+ }
62
+ feedPublisher(ctx) {
63
+ return new SlackFeedPublisher({ controller: ctx.controller });
64
+ }
65
+ routes(ctx) {
66
+ const { clientId, clientSecret, oidcRedirectBaseUrl, uiOrigin } = this.#config;
67
+ return createSlackConnectRoutes({
68
+ auth: ctx.auth,
69
+ accountLinks: ctx.storage.channelIdentity,
70
+ tenantStateSigner: ctx.stateSigner,
71
+ oidc: clientId && clientSecret && oidcRedirectBaseUrl ? {
72
+ clientId,
73
+ clientSecret,
74
+ redirectBaseUrl: oidcRedirectBaseUrl,
75
+ uiOrigin
76
+ } : void 0,
77
+ projects: ctx.storage.projects
78
+ });
79
+ }
80
+ diagnostics() {
81
+ const { clientId, clientSecret, botToken, oidcRedirectBaseUrl } = this.#config;
82
+ return {
83
+ configured: true,
84
+ botTokenConfigured: Boolean(botToken),
85
+ oidcConfigured: Boolean(clientId && clientSecret && oidcRedirectBaseUrl),
86
+ repoBackedSessions: this.#repoBackedSessions
87
+ };
88
+ }
89
+ };
90
+ //#endregion
91
+ export { SlackIntegration };
92
+
93
+ //# sourceMappingURL=integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.js","names":["#config","#repoBackedSessions"],"sources":["../../../src/integrations/slack/integration.ts"],"sourcesContent":["/**\n * `SlackIntegration` — Slack as a `FactoryIntegration`.\n *\n * Slack contributes two things to a factory: the chat channels that carry\n * inbound messages into agent runs (`channels()`), and the browser-facing\n * account-link routes that bind a Slack sender to a Mastra tenant (`routes()`).\n * Both used to be assembled by hand in the deploy entry, which had to reach\n * into the prepared agent controller by string key, resolve storage domains\n * itself, mint its own state signer, and splice routes onto the factory's\n * assembled server config. Implementing the integration interface instead means\n * the factory does all of that the same way it already does for GitHub and\n * Linear, and the entry's job shrinks to reading Slack's env vars once.\n *\n * Slack ships as a factory built-in alongside GitHub and Linear (it originally\n * lived in `mastracode/web` to keep `@mastra/slack`/`chat` out of this package;\n * the team reversed that so `create-factory` consumers get Slack channels out\n * of the box). The integration interface remains open — third parties still add\n * capabilities by implementing `FactoryIntegration` from outside the package.\n */\n\nimport type { TypingStatusFn } from '@mastra/core/channels';\nimport type { ApiRoute } from '@mastra/core/server';\nimport type { SlackAdapterChannelConfig } from '@mastra/slack';\n\nimport type { WorkItemFeedPublisher } from '../../storage/domains/comments/feed-sync.js';\nimport type { FactoryChannelsConfig, FactoryIntegration, IntegrationContext } from '../base.js';\n\nimport { createSlackConnectRoutes } from './connect-route.js';\nimport { SlackFeedPublisher } from './feed-publisher.js';\nimport { createSlackChannelsConfig } from './slack.js';\n\n/**\n * Slack app credentials, read from env ONCE by the deploy entry. `signingSecret`\n * is required because the Slack adapter validates it at construction — an\n * integration constructed without it would throw during `prepare()` rather than\n * reporting itself unconfigured.\n */\nexport interface SlackIntegrationConfig {\n /** Verifies inbound Slack request signatures. Required. */\n signingSecret: string;\n /** Bot token used to post replies and ephemeral cards. */\n botToken?: string;\n /**\n * OAuth client credentials. Required for account linking: \"Sign in with\n * Slack\" (OIDC) is the only flow that writes a link, so without these the\n * settings surface reports `canConnect: false` and no sender can link.\n */\n clientId?: string;\n clientSecret?: string;\n /**\n * HTTPS origin Slack redirects back to. Slack requires HTTPS, so locally this\n * is the tunnel origin rather than the app's own public URL.\n */\n oidcRedirectBaseUrl?: string;\n /** SPA origin the post-connect redirect returns to. */\n uiOrigin?: string;\n /**\n * Overrides for the Slack channel adapter entry.\n *\n * @example\n * ```ts\n * new SlackIntegration({\n * signingSecret,\n * adapterOptions: {\n * streaming: true,\n * toolDisplay: 'grouped',\n * },\n * });\n * ```\n */\n adapterOptions?: SlackAdapterChannelConfig;\n}\n\nconst factoryTypingStatus: TypingStatusFn = chunk => {\n switch (chunk.type) {\n case 'reasoning-delta':\n return 'is thinking...';\n case 'text-delta':\n return 'is typing...';\n case 'tool-call':\n return 'is working...';\n default:\n return undefined;\n }\n};\n\n/**\n * Drops keys the caller set to `undefined` so spreading the overrides cannot\n * erase the Factory defaults they sit on top of.\n */\nfunction adapterOverrides(options: SlackAdapterChannelConfig | undefined): SlackAdapterChannelConfig {\n return Object.fromEntries(\n Object.entries(options ?? {}).filter(([, value]) => value !== undefined),\n ) as SlackAdapterChannelConfig;\n}\n\nexport class SlackIntegration implements FactoryIntegration {\n readonly id = 'slack';\n /**\n * The OIDC connect flow round-trips a signed `state` through Slack, so the\n * replica handling the callback must be able to verify a state a different\n * replica signed.\n */\n readonly requiresStableStateSigner = true;\n\n readonly #config: SlackIntegrationConfig;\n /**\n * Whether `channels()` found a source-control owner on the context and wired\n * repo-backed sessions. Set at the channels() attach path, which runs once at\n * boot before diagnostics are served.\n */\n #repoBackedSessions = false;\n\n constructor(config: SlackIntegrationConfig) {\n if (!config.signingSecret) {\n throw new Error(\n \"SlackIntegration: 'signingSecret' is required — Slack cannot verify inbound requests without it.\",\n );\n }\n this.#config = config;\n }\n\n channels(ctx: IntegrationContext): FactoryChannelsConfig {\n // Repo-backed sessions select the source-control provider from the linked\n // repository on each Factory project.\n const sourceControls =\n ctx.storage.sourceControls ?? (ctx.storage.sourceControlOwner ? [ctx.storage.sourceControlOwner] : []);\n this.#repoBackedSessions = sourceControls.length > 0;\n return createSlackChannelsConfig({\n slack: {\n clientId: this.#config.clientId,\n clientSecret: this.#config.clientSecret,\n signingSecret: this.#config.signingSecret,\n botToken: this.#config.botToken,\n },\n accountLinks: ctx.storage.channelIdentity,\n projects: ctx.storage.projects,\n sourceControls,\n modelDefaults: ctx.storage.modelDefaults,\n workItems: ctx.runtime?.workItems,\n feed: ctx.feed,\n adapterOptions: {\n toolDisplay: 'hidden',\n typingStatus: factoryTypingStatus,\n ...adapterOverrides(this.#config.adapterOptions),\n },\n });\n }\n\n feedPublisher(ctx: IntegrationContext): WorkItemFeedPublisher {\n return new SlackFeedPublisher({ controller: ctx.controller });\n }\n\n routes(ctx: IntegrationContext): ApiRoute[] {\n const { clientId, clientSecret, oidcRedirectBaseUrl, uiOrigin } = this.#config;\n return createSlackConnectRoutes({\n auth: ctx.auth,\n accountLinks: ctx.storage.channelIdentity,\n tenantStateSigner: ctx.stateSigner,\n oidc:\n clientId && clientSecret && oidcRedirectBaseUrl\n ? { clientId, clientSecret, redirectBaseUrl: oidcRedirectBaseUrl, uiOrigin }\n : undefined,\n projects: ctx.storage.projects,\n });\n }\n\n diagnostics(): Record<string, unknown> {\n const { clientId, clientSecret, botToken, oidcRedirectBaseUrl } = this.#config;\n return {\n configured: true,\n botTokenConfigured: Boolean(botToken),\n oidcConfigured: Boolean(clientId && clientSecret && oidcRedirectBaseUrl),\n repoBackedSessions: this.#repoBackedSessions,\n };\n }\n}\n"],"mappings":";;;;AAyEA,MAAM,uBAAsC,UAAS;CACnD,QAAQ,MAAM,MAAd;EACE,KAAK,mBACH,OAAO;EACT,KAAK,cACH,OAAO;EACT,KAAK,aACH,OAAO;EACT,SACE;CACJ;AACF;;;;;AAMA,SAAS,iBAAiB,SAA2E;CACnG,OAAO,OAAO,YACZ,OAAO,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,UAAU,KAAA,CAAS,CACzE;AACF;AAEA,IAAa,mBAAb,MAA4D;CAC1D,KAAc;;;;;;CAMd,4BAAqC;CAErC;;;;;;CAMA,sBAAsB;CAEtB,YAAY,QAAgC;EAC1C,IAAI,CAAC,OAAO,eACV,MAAM,IAAI,MACR,kGACF;EAEF,KAAKA,UAAU;CACjB;CAEA,SAAS,KAAgD;EAGvD,MAAM,iBACJ,IAAI,QAAQ,mBAAmB,IAAI,QAAQ,qBAAqB,CAAC,IAAI,QAAQ,kBAAkB,IAAI,CAAC;EACtG,KAAKC,sBAAsB,eAAe,SAAS;EACnD,OAAO,0BAA0B;GAC/B,OAAO;IACL,UAAU,KAAKD,QAAQ;IACvB,cAAc,KAAKA,QAAQ;IAC3B,eAAe,KAAKA,QAAQ;IAC5B,UAAU,KAAKA,QAAQ;GACzB;GACA,cAAc,IAAI,QAAQ;GAC1B,UAAU,IAAI,QAAQ;GACtB;GACA,eAAe,IAAI,QAAQ;GAC3B,WAAW,IAAI,SAAS;GACxB,MAAM,IAAI;GACV,gBAAgB;IACd,aAAa;IACb,cAAc;IACd,GAAG,iBAAiB,KAAKA,QAAQ,cAAc;GACjD;EACF,CAAC;CACH;CAEA,cAAc,KAAgD;EAC5D,OAAO,IAAI,mBAAmB,EAAE,YAAY,IAAI,WAAW,CAAC;CAC9D;CAEA,OAAO,KAAqC;EAC1C,MAAM,EAAE,UAAU,cAAc,qBAAqB,aAAa,KAAKA;EACvE,OAAO,yBAAyB;GAC9B,MAAM,IAAI;GACV,cAAc,IAAI,QAAQ;GAC1B,mBAAmB,IAAI;GACvB,MACE,YAAY,gBAAgB,sBACxB;IAAE;IAAU;IAAc,iBAAiB;IAAqB;GAAS,IACzE,KAAA;GACN,UAAU,IAAI,QAAQ;EACxB,CAAC;CACH;CAEA,cAAuC;EACrC,MAAM,EAAE,UAAU,cAAc,UAAU,wBAAwB,KAAKA;EACvE,OAAO;GACL,YAAY;GACZ,oBAAoB,QAAQ,QAAQ;GACpC,gBAAgB,QAAQ,YAAY,gBAAgB,mBAAmB;GACvE,oBAAoB,KAAKC;EAC3B;CACF;AACF"}