monorise 0.1.0 → 1.1.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/base/index.d.ts +90 -5
  2. package/dist/base/index.js.map +1 -1
  3. package/dist/cli/cli.js +6 -0
  4. package/dist/cli/cli.js.map +1 -1
  5. package/dist/core/chunk-QV4Q5377.js +76 -0
  6. package/dist/core/chunk-QV4Q5377.js.map +1 -0
  7. package/dist/core/index.d.ts +187 -19
  8. package/dist/core/index.js +1583 -85
  9. package/dist/core/index.js.map +1 -1
  10. package/dist/core/service.config-ZJEZ6EKA.js +13 -0
  11. package/dist/core/service.config-ZJEZ6EKA.js.map +1 -0
  12. package/dist/proxy/index.d.ts +35 -0
  13. package/dist/proxy/index.js +75 -0
  14. package/dist/proxy/index.js.map +1 -0
  15. package/dist/react/actions/websocket.action.d.ts +71 -0
  16. package/dist/react/actions/websocket.action.d.ts.map +1 -0
  17. package/dist/react/chunk-4D22OCZG.js +65 -0
  18. package/dist/react/chunk-4D22OCZG.js.map +1 -0
  19. package/dist/react/chunk-4N3P4ONH.js +588 -0
  20. package/dist/react/chunk-4N3P4ONH.js.map +1 -0
  21. package/dist/react/chunk-4Y4KWGJD.js +182 -0
  22. package/dist/react/chunk-4Y4KWGJD.js.map +1 -0
  23. package/dist/react/chunk-757E5UYA.js +893 -0
  24. package/dist/react/chunk-757E5UYA.js.map +1 -0
  25. package/dist/react/chunk-A5TI2FW3.js +13 -0
  26. package/dist/react/chunk-A5TI2FW3.js.map +1 -0
  27. package/dist/react/chunk-B3XDGUFO.js +489 -0
  28. package/dist/react/chunk-B3XDGUFO.js.map +1 -0
  29. package/dist/react/chunk-BPBCUO2Z.js +248 -0
  30. package/dist/react/chunk-BPBCUO2Z.js.map +1 -0
  31. package/dist/react/chunk-CQBOIXWK.js +142 -0
  32. package/dist/react/chunk-CQBOIXWK.js.map +1 -0
  33. package/dist/react/chunk-DRH2BB7I.js +383 -0
  34. package/dist/react/chunk-DRH2BB7I.js.map +1 -0
  35. package/dist/react/chunk-EQ3PKQ2S.js +402 -0
  36. package/dist/react/chunk-EQ3PKQ2S.js.map +1 -0
  37. package/dist/react/chunk-H64MMAL7.js +245 -0
  38. package/dist/react/chunk-H64MMAL7.js.map +1 -0
  39. package/dist/react/chunk-KJX5LOMN.js +43 -0
  40. package/dist/react/chunk-KJX5LOMN.js.map +1 -0
  41. package/dist/react/chunk-MO35V2Y7.js +172 -0
  42. package/dist/react/chunk-MO35V2Y7.js.map +1 -0
  43. package/dist/react/chunk-UC3E72G7.js +73 -0
  44. package/dist/react/chunk-UC3E72G7.js.map +1 -0
  45. package/dist/react/chunk-UHMKB3OR.js +5568 -0
  46. package/dist/react/chunk-UHMKB3OR.js.map +1 -0
  47. package/dist/react/chunk-UQPQBWEQ.js +54 -0
  48. package/dist/react/chunk-UQPQBWEQ.js.map +1 -0
  49. package/dist/react/chunk-XCDCVRJR.js +43 -0
  50. package/dist/react/chunk-XCDCVRJR.js.map +1 -0
  51. package/dist/react/chunk-XOYAZDIH.js +47 -0
  52. package/dist/react/chunk-XOYAZDIH.js.map +1 -0
  53. package/dist/react/chunk-YNFQEPO5.js +29 -0
  54. package/dist/react/chunk-YNFQEPO5.js.map +1 -0
  55. package/dist/react/dist-es-35AO47NO.js +90 -0
  56. package/dist/react/dist-es-35AO47NO.js.map +1 -0
  57. package/dist/react/dist-es-5GDBXNKQ.js +333 -0
  58. package/dist/react/dist-es-5GDBXNKQ.js.map +1 -0
  59. package/dist/react/dist-es-B3JDGWY6.js +71 -0
  60. package/dist/react/dist-es-B3JDGWY6.js.map +1 -0
  61. package/dist/react/dist-es-IWIE5JLA.js +169 -0
  62. package/dist/react/dist-es-IWIE5JLA.js.map +1 -0
  63. package/dist/react/dist-es-NRIS3TYJ.js +494 -0
  64. package/dist/react/dist-es-NRIS3TYJ.js.map +1 -0
  65. package/dist/react/dist-es-VCXAEYYN.js +22 -0
  66. package/dist/react/dist-es-VCXAEYYN.js.map +1 -0
  67. package/dist/react/dist-es-VU33JFTZ.js +379 -0
  68. package/dist/react/dist-es-VU33JFTZ.js.map +1 -0
  69. package/dist/react/event-streams-OSOTOTTP.js +277 -0
  70. package/dist/react/event-streams-OSOTOTTP.js.map +1 -0
  71. package/dist/react/index.d.ts +53 -4
  72. package/dist/react/index.d.ts.map +1 -1
  73. package/dist/react/index.js +10948 -190
  74. package/dist/react/index.js.map +1 -1
  75. package/dist/react/loadSso-ME7MKAM3.js +556 -0
  76. package/dist/react/loadSso-ME7MKAM3.js.map +1 -0
  77. package/dist/react/service.config-ZJEZ6EKA-FC2TR3GH.js +14 -0
  78. package/dist/react/service.config-ZJEZ6EKA-FC2TR3GH.js.map +1 -0
  79. package/dist/react/services/core.service.d.ts +11 -1
  80. package/dist/react/services/core.service.d.ts.map +1 -1
  81. package/dist/react/signin-LOXYIE5I.js +653 -0
  82. package/dist/react/signin-LOXYIE5I.js.map +1 -0
  83. package/dist/react/sso-oidc-X63KRRLO.js +786 -0
  84. package/dist/react/sso-oidc-X63KRRLO.js.map +1 -0
  85. package/dist/react/sts-OXBEY7HY.js +3948 -0
  86. package/dist/react/sts-OXBEY7HY.js.map +1 -0
  87. package/dist/react/websocket/WebSocketManager.d.ts +68 -0
  88. package/dist/react/websocket/WebSocketManager.d.ts.map +1 -0
  89. package/dist/react/websocket/index.d.ts +3 -0
  90. package/dist/react/websocket/index.d.ts.map +1 -0
  91. package/dist/react/websocket/optimistic.d.ts +51 -0
  92. package/dist/react/websocket/optimistic.d.ts.map +1 -0
  93. package/dist/react/websocket-QHA7SQXG.js +10 -0
  94. package/dist/react/websocket-QHA7SQXG.js.map +1 -0
  95. package/dist/sst/.sst/platform/src/components/aws/alb.d.ts +280 -0
  96. package/dist/sst/.sst/platform/src/components/aws/alb.d.ts.map +1 -0
  97. package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket-route.d.ts +1 -1
  98. package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket-route.d.ts.map +1 -1
  99. package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket.d.ts +13 -2
  100. package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket.d.ts.map +1 -1
  101. package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-authorizer.d.ts.map +1 -1
  102. package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-lambda-route.d.ts +1 -1
  103. package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-lambda-route.d.ts.map +1 -1
  104. package/dist/sst/.sst/platform/src/components/aws/apigatewayv1.d.ts +93 -83
  105. package/dist/sst/.sst/platform/src/components/aws/apigatewayv1.d.ts.map +1 -1
  106. package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-authorizer.d.ts.map +1 -1
  107. package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-lambda-route.d.ts +1 -1
  108. package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-lambda-route.d.ts.map +1 -1
  109. package/dist/sst/.sst/platform/src/components/aws/apigatewayv2.d.ts +8 -2
  110. package/dist/sst/.sst/platform/src/components/aws/apigatewayv2.d.ts.map +1 -1
  111. package/dist/sst/.sst/platform/src/components/aws/app-sync-data-source.d.ts +1 -1
  112. package/dist/sst/.sst/platform/src/components/aws/app-sync-data-source.d.ts.map +1 -1
  113. package/dist/sst/.sst/platform/src/components/aws/app-sync.d.ts +1 -1
  114. package/dist/sst/.sst/platform/src/components/aws/app-sync.d.ts.map +1 -1
  115. package/dist/sst/.sst/platform/src/components/aws/aurora.d.ts +18 -0
  116. package/dist/sst/.sst/platform/src/components/aws/aurora.d.ts.map +1 -1
  117. package/dist/sst/.sst/platform/src/components/aws/auth-v1.d.ts +1 -1
  118. package/dist/sst/.sst/platform/src/components/aws/auth-v1.d.ts.map +1 -1
  119. package/dist/sst/.sst/platform/src/components/aws/auth.d.ts.map +1 -1
  120. package/dist/sst/.sst/platform/src/components/aws/bucket-lambda-subscriber.d.ts +1 -1
  121. package/dist/sst/.sst/platform/src/components/aws/bucket-lambda-subscriber.d.ts.map +1 -1
  122. package/dist/sst/.sst/platform/src/components/aws/bucket-notification.d.ts.map +1 -1
  123. package/dist/sst/.sst/platform/src/components/aws/bucket.d.ts +13 -8
  124. package/dist/sst/.sst/platform/src/components/aws/bucket.d.ts.map +1 -1
  125. package/dist/sst/.sst/platform/src/components/aws/bus-lambda-subscriber.d.ts +3 -2
  126. package/dist/sst/.sst/platform/src/components/aws/bus-lambda-subscriber.d.ts.map +1 -1
  127. package/dist/sst/.sst/platform/src/components/aws/bus.d.ts +34 -3
  128. package/dist/sst/.sst/platform/src/components/aws/bus.d.ts.map +1 -1
  129. package/dist/sst/.sst/platform/src/components/aws/cdn.d.ts +11 -0
  130. package/dist/sst/.sst/platform/src/components/aws/cdn.d.ts.map +1 -1
  131. package/dist/sst/.sst/platform/src/components/aws/cluster.d.ts +59 -1
  132. package/dist/sst/.sst/platform/src/components/aws/cluster.d.ts.map +1 -1
  133. package/dist/sst/.sst/platform/src/components/aws/cognito-identity-pool.d.ts +5 -0
  134. package/dist/sst/.sst/platform/src/components/aws/cognito-identity-pool.d.ts.map +1 -1
  135. package/dist/sst/.sst/platform/src/components/aws/cognito-user-pool.d.ts +100 -0
  136. package/dist/sst/.sst/platform/src/components/aws/cognito-user-pool.d.ts.map +1 -1
  137. package/dist/sst/.sst/platform/src/components/aws/cron-v2.d.ts +325 -0
  138. package/dist/sst/.sst/platform/src/components/aws/cron-v2.d.ts.map +1 -0
  139. package/dist/sst/.sst/platform/src/components/aws/cron.d.ts +15 -6
  140. package/dist/sst/.sst/platform/src/components/aws/cron.d.ts.map +1 -1
  141. package/dist/sst/.sst/platform/src/components/aws/dsql.d.ts +369 -0
  142. package/dist/sst/.sst/platform/src/components/aws/dsql.d.ts.map +1 -0
  143. package/dist/sst/.sst/platform/src/components/aws/dynamo-lambda-subscriber.d.ts +1 -1
  144. package/dist/sst/.sst/platform/src/components/aws/dynamo-lambda-subscriber.d.ts.map +1 -1
  145. package/dist/sst/.sst/platform/src/components/aws/dynamo.d.ts +63 -3
  146. package/dist/sst/.sst/platform/src/components/aws/dynamo.d.ts.map +1 -1
  147. package/dist/sst/.sst/platform/src/components/aws/email.d.ts +5 -0
  148. package/dist/sst/.sst/platform/src/components/aws/email.d.ts.map +1 -1
  149. package/dist/sst/.sst/platform/src/components/aws/fargate.d.ts +95 -4
  150. package/dist/sst/.sst/platform/src/components/aws/fargate.d.ts.map +1 -1
  151. package/dist/sst/.sst/platform/src/components/aws/function.d.ts +121 -21
  152. package/dist/sst/.sst/platform/src/components/aws/function.d.ts.map +1 -1
  153. package/dist/sst/.sst/platform/src/components/aws/helpers/arn.d.ts +11 -0
  154. package/dist/sst/.sst/platform/src/components/aws/helpers/arn.d.ts.map +1 -1
  155. package/dist/sst/.sst/platform/src/components/aws/helpers/container-builder.d.ts.map +1 -1
  156. package/dist/sst/.sst/platform/src/components/aws/helpers/function-builder.d.ts +7 -3
  157. package/dist/sst/.sst/platform/src/components/aws/helpers/function-builder.d.ts.map +1 -1
  158. package/dist/sst/.sst/platform/src/components/aws/helpers/load-balancer.d.ts +9 -0
  159. package/dist/sst/.sst/platform/src/components/aws/helpers/load-balancer.d.ts.map +1 -0
  160. package/dist/sst/.sst/platform/src/components/aws/helpers/provider.d.ts +2 -2
  161. package/dist/sst/.sst/platform/src/components/aws/helpers/provider.d.ts.map +1 -1
  162. package/dist/sst/.sst/platform/src/components/aws/helpers/site-builder.d.ts +1 -1
  163. package/dist/sst/.sst/platform/src/components/aws/helpers/site-builder.d.ts.map +1 -1
  164. package/dist/sst/.sst/platform/src/components/aws/helpers/subscriber.d.ts +1 -1
  165. package/dist/sst/.sst/platform/src/components/aws/helpers/subscriber.d.ts.map +1 -1
  166. package/dist/sst/.sst/platform/src/components/aws/https-redirect.d.ts.map +1 -1
  167. package/dist/sst/.sst/platform/src/components/aws/index.d.ts +4 -0
  168. package/dist/sst/.sst/platform/src/components/aws/index.d.ts.map +1 -1
  169. package/dist/sst/.sst/platform/src/components/aws/kinesis-stream-lambda-subscriber.d.ts.map +1 -1
  170. package/dist/sst/.sst/platform/src/components/aws/kinesis-stream.d.ts +8 -3
  171. package/dist/sst/.sst/platform/src/components/aws/kinesis-stream.d.ts.map +1 -1
  172. package/dist/sst/.sst/platform/src/components/aws/linkable.d.ts +1 -1
  173. package/dist/sst/.sst/platform/src/components/aws/linkable.d.ts.map +1 -1
  174. package/dist/sst/.sst/platform/src/components/aws/mysql.d.ts +34 -5
  175. package/dist/sst/.sst/platform/src/components/aws/mysql.d.ts.map +1 -1
  176. package/dist/sst/.sst/platform/src/components/aws/nextjs.d.ts +39 -5
  177. package/dist/sst/.sst/platform/src/components/aws/nextjs.d.ts.map +1 -1
  178. package/dist/sst/.sst/platform/src/components/aws/nuxt.d.ts.map +1 -1
  179. package/dist/sst/.sst/platform/src/components/aws/open-search.d.ts +12 -1
  180. package/dist/sst/.sst/platform/src/components/aws/open-search.d.ts.map +1 -1
  181. package/dist/sst/.sst/platform/src/components/aws/opencontrol.d.ts +7 -3
  182. package/dist/sst/.sst/platform/src/components/aws/opencontrol.d.ts.map +1 -1
  183. package/dist/sst/.sst/platform/src/components/aws/permission.d.ts +5 -0
  184. package/dist/sst/.sst/platform/src/components/aws/permission.d.ts.map +1 -1
  185. package/dist/sst/.sst/platform/src/components/aws/postgres-v1.d.ts +13 -2
  186. package/dist/sst/.sst/platform/src/components/aws/postgres-v1.d.ts.map +1 -1
  187. package/dist/sst/.sst/platform/src/components/aws/postgres.d.ts +34 -5
  188. package/dist/sst/.sst/platform/src/components/aws/postgres.d.ts.map +1 -1
  189. package/dist/sst/.sst/platform/src/components/aws/queue-lambda-subscriber.d.ts +6 -1
  190. package/dist/sst/.sst/platform/src/components/aws/queue-lambda-subscriber.d.ts.map +1 -1
  191. package/dist/sst/.sst/platform/src/components/aws/queue.d.ts +10 -1
  192. package/dist/sst/.sst/platform/src/components/aws/queue.d.ts.map +1 -1
  193. package/dist/sst/.sst/platform/src/components/aws/realtime-lambda-subscriber.d.ts +1 -1
  194. package/dist/sst/.sst/platform/src/components/aws/realtime-lambda-subscriber.d.ts.map +1 -1
  195. package/dist/sst/.sst/platform/src/components/aws/realtime.d.ts +6 -1
  196. package/dist/sst/.sst/platform/src/components/aws/realtime.d.ts.map +1 -1
  197. package/dist/sst/.sst/platform/src/components/aws/redis-v1.d.ts +10 -0
  198. package/dist/sst/.sst/platform/src/components/aws/redis-v1.d.ts.map +1 -1
  199. package/dist/sst/.sst/platform/src/components/aws/redis.d.ts +14 -0
  200. package/dist/sst/.sst/platform/src/components/aws/redis.d.ts.map +1 -1
  201. package/dist/sst/.sst/platform/src/components/aws/router.d.ts +482 -2
  202. package/dist/sst/.sst/platform/src/components/aws/router.d.ts.map +1 -1
  203. package/dist/sst/.sst/platform/src/components/aws/service-v1.d.ts.map +1 -1
  204. package/dist/sst/.sst/platform/src/components/aws/service.d.ts +125 -0
  205. package/dist/sst/.sst/platform/src/components/aws/service.d.ts.map +1 -1
  206. package/dist/sst/.sst/platform/src/components/aws/sns-topic-lambda-subscriber.d.ts +1 -1
  207. package/dist/sst/.sst/platform/src/components/aws/sns-topic-lambda-subscriber.d.ts.map +1 -1
  208. package/dist/sst/.sst/platform/src/components/aws/sns-topic.d.ts +6 -1
  209. package/dist/sst/.sst/platform/src/components/aws/sns-topic.d.ts.map +1 -1
  210. package/dist/sst/.sst/platform/src/components/aws/ssr-site.d.ts +7 -7
  211. package/dist/sst/.sst/platform/src/components/aws/ssr-site.d.ts.map +1 -1
  212. package/dist/sst/.sst/platform/src/components/aws/static-site.d.ts.map +1 -1
  213. package/dist/sst/.sst/platform/src/components/aws/step-functions/state.d.ts +1 -1
  214. package/dist/sst/.sst/platform/src/components/aws/step-functions/state.d.ts.map +1 -1
  215. package/dist/sst/.sst/platform/src/components/aws/step-functions/task.d.ts +10 -2
  216. package/dist/sst/.sst/platform/src/components/aws/step-functions/task.d.ts.map +1 -1
  217. package/dist/sst/.sst/platform/src/components/aws/step-functions.d.ts +5 -0
  218. package/dist/sst/.sst/platform/src/components/aws/step-functions.d.ts.map +1 -1
  219. package/dist/sst/.sst/platform/src/components/aws/tan-stack-start.d.ts +20 -6
  220. package/dist/sst/.sst/platform/src/components/aws/tan-stack-start.d.ts.map +1 -1
  221. package/dist/sst/.sst/platform/src/components/aws/task.d.ts +35 -15
  222. package/dist/sst/.sst/platform/src/components/aws/task.d.ts.map +1 -1
  223. package/dist/sst/.sst/platform/src/components/aws/vector.d.ts +5 -0
  224. package/dist/sst/.sst/platform/src/components/aws/vector.d.ts.map +1 -1
  225. package/dist/sst/.sst/platform/src/components/aws/vpc.d.ts +51 -4
  226. package/dist/sst/.sst/platform/src/components/aws/vpc.d.ts.map +1 -1
  227. package/dist/sst/.sst/platform/src/components/aws/workflow.d.ts +331 -0
  228. package/dist/sst/.sst/platform/src/components/aws/workflow.d.ts.map +1 -0
  229. package/dist/sst/.sst/platform/src/components/cloudflare/ai.d.ts +82 -0
  230. package/dist/sst/.sst/platform/src/components/cloudflare/ai.d.ts.map +1 -0
  231. package/dist/sst/.sst/platform/src/components/cloudflare/binding.d.ts +15 -1
  232. package/dist/sst/.sst/platform/src/components/cloudflare/binding.d.ts.map +1 -1
  233. package/dist/sst/.sst/platform/src/components/cloudflare/bucket.d.ts +4 -2
  234. package/dist/sst/.sst/platform/src/components/cloudflare/bucket.d.ts.map +1 -1
  235. package/dist/sst/.sst/platform/src/components/cloudflare/cron.d.ts +29 -5
  236. package/dist/sst/.sst/platform/src/components/cloudflare/cron.d.ts.map +1 -1
  237. package/dist/sst/.sst/platform/src/components/cloudflare/d1.d.ts +37 -2
  238. package/dist/sst/.sst/platform/src/components/cloudflare/d1.d.ts.map +1 -1
  239. package/dist/sst/.sst/platform/src/components/cloudflare/index.d.ts +1 -0
  240. package/dist/sst/.sst/platform/src/components/cloudflare/index.d.ts.map +1 -1
  241. package/dist/sst/.sst/platform/src/components/cloudflare/kv.d.ts +36 -2
  242. package/dist/sst/.sst/platform/src/components/cloudflare/kv.d.ts.map +1 -1
  243. package/dist/sst/.sst/platform/src/components/cloudflare/providers/worker-placement.d.ts +27 -0
  244. package/dist/sst/.sst/platform/src/components/cloudflare/providers/worker-placement.d.ts.map +1 -0
  245. package/dist/sst/.sst/platform/src/components/cloudflare/providers/zone-lookup.d.ts.map +1 -1
  246. package/dist/sst/.sst/platform/src/components/cloudflare/queue-worker-subscriber.d.ts +116 -0
  247. package/dist/sst/.sst/platform/src/components/cloudflare/queue-worker-subscriber.d.ts.map +1 -0
  248. package/dist/sst/.sst/platform/src/components/cloudflare/queue.d.ts +186 -3
  249. package/dist/sst/.sst/platform/src/components/cloudflare/queue.d.ts.map +1 -1
  250. package/dist/sst/.sst/platform/src/components/cloudflare/static-site.d.ts +2 -2
  251. package/dist/sst/.sst/platform/src/components/cloudflare/static-site.d.ts.map +1 -1
  252. package/dist/sst/.sst/platform/src/components/cloudflare/worker.d.ts +39 -5
  253. package/dist/sst/.sst/platform/src/components/cloudflare/worker.d.ts.map +1 -1
  254. package/dist/sst/.sst/platform/src/components/component.d.ts.map +1 -1
  255. package/dist/sst/.sst/platform/src/components/duration.d.ts +2 -0
  256. package/dist/sst/.sst/platform/src/components/duration.d.ts.map +1 -1
  257. package/dist/sst/.sst/platform/src/components/esbuild.d.ts +3 -0
  258. package/dist/sst/.sst/platform/src/components/esbuild.d.ts.map +1 -0
  259. package/dist/sst/.sst/platform/src/components/link.d.ts +2 -2
  260. package/dist/sst/.sst/platform/src/components/link.d.ts.map +1 -1
  261. package/dist/sst/.sst/platform/src/components/linkable.d.ts +32 -2
  262. package/dist/sst/.sst/platform/src/components/linkable.d.ts.map +1 -1
  263. package/dist/sst/.sst/platform/src/components/rpc/rpc.d.ts.map +1 -1
  264. package/dist/sst/.sst/platform/src/components/vercel/dns.d.ts +2 -2
  265. package/dist/sst/.sst/platform/src/util/minify.d.ts +2 -0
  266. package/dist/sst/.sst/platform/src/util/minify.d.ts.map +1 -0
  267. package/dist/sst/components/monorise-core.d.ts +10 -0
  268. package/dist/sst/components/monorise-core.d.ts.map +1 -1
  269. package/dist/sst/components/q-function.d.ts +2 -3
  270. package/dist/sst/components/q-function.d.ts.map +1 -1
  271. package/dist/sst/index.js +75 -12
  272. package/dist/sst/index.js.map +1 -1
  273. package/package.json +10 -2
  274. package/dist/sst/.sst/platform/src/components/aws/helpers/quota.d.ts +0 -7
  275. package/dist/sst/.sst/platform/src/components/aws/helpers/quota.d.ts.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { ComponentResourceOptions } from "@pulumi/pulumi";
2
2
  import * as cf from "@pulumi/cloudflare";
3
- import type { Loader, BuildOptions } from "esbuild";
3
+ import type { Loader } from "esbuild";
4
+ import type { EsbuildOptions } from "../esbuild.js";
4
5
  import { Component, Transform } from "../component";
5
6
  import { Link } from "../link.js";
6
7
  import type { Input } from "../input.js";
@@ -85,7 +86,7 @@ export interface WorkerArgs {
85
86
  * :::
86
87
  *
87
88
  */
88
- esbuild?: Input<BuildOptions>;
89
+ esbuild?: Input<EsbuildOptions>;
89
90
  /**
90
91
  * Disable if the worker code should be minified when bundled.
91
92
  *
@@ -157,6 +158,36 @@ export interface WorkerArgs {
157
158
  */
158
159
  directory: Input<string>;
159
160
  }>;
161
+ /**
162
+ * Configure [placement](https://developers.cloudflare.com/workers/configuration/placement/)
163
+ * for your Worker.
164
+ *
165
+ * @example
166
+ *
167
+ * #### Smart Placement
168
+ * ```js
169
+ * {
170
+ * placement: {
171
+ * mode: "smart"
172
+ * }
173
+ * }
174
+ * ```
175
+ *
176
+ * #### Explicit region
177
+ * ```js
178
+ * {
179
+ * placement: {
180
+ * region: "aws:us-east-1"
181
+ * }
182
+ * }
183
+ * ```
184
+ */
185
+ placement?: Input<{
186
+ mode?: Input<string>;
187
+ region?: Input<string>;
188
+ host?: Input<string>;
189
+ hostname?: Input<string>;
190
+ }>;
160
191
  /**
161
192
  * [Transform](/docs/components/#transform) how this component creates its underlying
162
193
  * resources.
@@ -236,6 +267,7 @@ export interface WorkerArgs {
236
267
  export declare class Worker extends Component implements Link.Linkable {
237
268
  private script;
238
269
  private workerUrl;
270
+ private workerPlacement?;
239
271
  private workerDomain?;
240
272
  constructor(name: string, args: WorkerArgs, opts?: ComponentResourceOptions);
241
273
  /**
@@ -249,7 +281,7 @@ export declare class Worker extends Component implements Link.Linkable {
249
281
  /**
250
282
  * The Cloudflare Worker script.
251
283
  */
252
- worker: import("@pulumi/cloudflare/workersScript").WorkersScript;
284
+ worker: import("@pulumi/cloudflare/workersScript.js").WorkersScript;
253
285
  };
254
286
  /**
255
287
  * When you link a worker, say WorkerA, to another worker, WorkerB; it automatically creates
@@ -273,8 +305,8 @@ export declare class Worker extends Component implements Link.Linkable {
273
305
  };
274
306
  include: {
275
307
  type: "cloudflare.binding";
276
- binding: "kvNamespaceBindings" | "secretTextBindings" | "serviceBindings" | "plainTextBindings" | "queueBindings" | "r2BucketBindings" | "d1DatabaseBindings";
277
- properties: {
308
+ binding: "aiBindings" | "kvNamespaceBindings" | "secretTextBindings" | "serviceBindings" | "plainTextBindings" | "queueBindings" | "r2BucketBindings" | "d1DatabaseBindings" | "hyperdriveBindings" | "versionMetadataBindings";
309
+ properties: Record<string, never> | {
278
310
  namespaceId: Input<string>;
279
311
  } | {
280
312
  text: Input<string>;
@@ -288,6 +320,8 @@ export declare class Worker extends Component implements Link.Linkable {
288
320
  bucketName: Input<string>;
289
321
  } | {
290
322
  id: Input<string>;
323
+ } | {
324
+ id: Input<string>;
291
325
  };
292
326
  }[];
293
327
  };
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../../../../.sst/platform/src/components/cloudflare/worker.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,wBAAwB,EAKzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAczC,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ;;;;;;;;;;;;;;WAcG;QACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACvC;;;;;;;;;;;WAWG;QACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB;;;;;;;;WAQG;QACH,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9B;;;;;;;;;;;;;WAaG;QACH,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KACzB,CAAC,CAAC;IACH;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACpB;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;QACb;;WAEG;QACH,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC,CAAC;IACH;;;OAGG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;KAC1C,CAAC;IACF;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,qBAAa,MAAO,SAAQ,SAAU,YAAW,IAAI,CAAC,QAAQ;IAC5D,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAkB;gBAE3B,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,wBAAwB;IAoS3E;;OAEG;IACH,IAAW,GAAG,qCAIb;IAED;;OAEG;IACH,IAAW,KAAK;QAEZ;;WAEG;;MAGN;IAED;;;;;;;;;;;;;;;OAeG;IACH,UAAU;;;;;;;;;;;;;;;;;;;;;;;;CAeX"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../../../../.sst/platform/src/components/cloudflare/worker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,MAAM,EAGN,KAAK,IAAI,WAAW,EACpB,KAAK,EAEL,MAAM,EACP,MAAM,gBAAgB,CAAC;AASxB,eAAO,MAAM,QAAQ,iWAC2U,CAAC;AAEjW;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,SAAS,CAAC,CAAC,IACnB,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;AAE9E,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,KAAK,CAAC,qBAAqB,qDAWlC;AAED,qBAAa,SAAU,SAAQ,iBAAiB;IAC9C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;gBAG5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,wBAAwB;IA2UjC,gBAAgB;IAChB,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;KAC7B;CAmCF;AAGD,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EACzC,QAAQ,EAAE;IAAE,KAAK,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA;CAAE,EAC/D,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,QAqBtD;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,mDAYvC;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,2BAInC;AAED,wBAAgB,MAAM,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,8BAE1C;AAED,qBAAa,OAAQ,SAAQ,iBAAiB;gBAChC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB;CAI5E;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAGvE"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,MAAM,EAGN,KAAK,IAAI,WAAW,EACpB,KAAK,EAEL,MAAM,EACP,MAAM,gBAAgB,CAAC;AASxB,eAAO,MAAM,QAAQ,iWAC2U,CAAC;AAEjW;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,SAAS,CAAC,CAAC,IACnB,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;AAE9E,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,KAAK,CAAC,qBAAqB,qDAWlC;AAED,qBAAa,SAAU,SAAQ,iBAAiB;IAC9C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;gBAG5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,wBAAwB;IA8VjC,gBAAgB;IAChB,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;KAC7B;CAmCF;AAGD,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EACzC,QAAQ,EAAE;IAAE,KAAK,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA;CAAE,EAC/D,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,QAqBtD;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,mDAYvC;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,2BAInC;AAED,wBAAgB,MAAM,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,8BAE1C;AAED,qBAAa,OAAQ,SAAQ,iBAAiB;gBAChC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB;CAI5E;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAGvE"}
@@ -4,4 +4,6 @@ export type DurationMinutes = `${number} ${"second" | "seconds" | "minute" | "mi
4
4
  export type DurationHours = `${number} ${"second" | "seconds" | "minute" | "minutes" | "hour" | "hours"}`;
5
5
  export type DurationDays = `${number} ${"day" | "days"}`;
6
6
  export declare function toSeconds(duration: Duration | DurationMinutes | DurationSeconds | DurationDays): number;
7
+ export declare function toMilliseconds(duration: Duration | DurationMinutes | DurationSeconds | DurationDays): number;
8
+ export declare function toDays(duration: Duration): number;
7
9
  //# sourceMappingURL=duration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/duration.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,GAAG,MAAM,IAC5B,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,GACP,KAAK,GACL,MAAM,EAAE,CAAC;AAEb,MAAM,MAAM,eAAe,GAAG,GAAG,MAAM,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,GAAG,MAAM,IACnC,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,EAAE,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,IACjC,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,EAAE,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,GAAG,MAAM,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;AAEzD,wBAAgB,SAAS,CACvB,QAAQ,EAAE,QAAQ,GAAG,eAAe,GAAG,eAAe,GAAG,YAAY,UAgBtE"}
1
+ {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/duration.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,GAAG,MAAM,IAC5B,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,GACP,KAAK,GACL,MAAM,EAAE,CAAC;AAEb,MAAM,MAAM,eAAe,GAAG,GAAG,MAAM,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,GAAG,MAAM,IACnC,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,EAAE,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,IACjC,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,EAAE,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,GAAG,MAAM,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;AAEzD,wBAAgB,SAAS,CACvB,QAAQ,EAAE,QAAQ,GAAG,eAAe,GAAG,eAAe,GAAG,YAAY,UAgBtE;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,QAAQ,GAAG,eAAe,GAAG,eAAe,GAAG,YAAY,UAGtE;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,UAaxC"}
@@ -0,0 +1,3 @@
1
+ import type { BuildOptions } from "esbuild";
2
+ export type EsbuildOptions = Pick<BuildOptions, "target" | "sourcemap" | "keepNames" | "define" | "banner" | "external" | "inject" | "nodePaths" | "mainFields" | "conditions">;
3
+ //# sourceMappingURL=esbuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/esbuild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACV,QAAQ,GACR,WAAW,GACX,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,YAAY,CACf,CAAC"}
@@ -19,12 +19,12 @@ export declare namespace Link {
19
19
  function build(links: any[]): Output<{
20
20
  name: string;
21
21
  properties: {
22
- type: string | undefined;
22
+ type: string;
23
23
  };
24
24
  }>[];
25
25
  function getProperties(links?: Input<any[]>): Output<{
26
26
  [k: string]: {
27
- type: string | undefined;
27
+ type: string;
28
28
  };
29
29
  }>;
30
30
  function propertiesToEnv(properties: ReturnType<typeof getProperties>): Output<{
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/link.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EAIN,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAIxB,yBAAc,IAAI,CAAC;IACjB,UAAiB,UAAU,CACzB,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QAE5D,UAAU,EAAE,UAAU,CAAC;QACvB,OAAO,CAAC,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,EAAE,CAAC;KACL;IAED,MAAa,GAAI,SAAQ,iBAAiB;oBAC5B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;KAmBzE;IAED,SAAgB,KAAK,SA8CpB;IAED,UAAiB,QAAQ;QACvB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,UAAU,IAAI,UAAU,CAAC;KAC1B;IAED,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,QAAQ,CAEpD;IAED,SAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;;;;;SAoBjC;IAED,SAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;;;;OA6BjD;IAED,SAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC;;OAc7C;IAED,SAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GACnB,MAAM,CAAC,CAAC,EAAE,CAAC,CAQb;IAED;;OAEG;IACH,SAAgB,QAAQ,CAAC,CAAC,EACxB,GAAG,EAAE;QAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;KAAE,EAChC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,UAAU,QAMhC;CACF"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/link.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EAIN,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAIxB,yBAAiB,IAAI,CAAC;IAKpB,UAAiB,UAAU,CACzB,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QAE5D,UAAU,EAAE,UAAU,CAAC;QACvB,OAAO,CAAC,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,EAAE,CAAC;KACL;IAED,MAAa,GAAI,SAAQ,iBAAiB;oBAC5B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG;KAmBzE;IAED,SAAgB,KAAK,SA8CpB;IAED,UAAiB,QAAQ;QACvB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,UAAU,IAAI,UAAU,CAAC;KAC1B;IAED,SAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,QAAQ,CAEpD;IAED,SAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;;;;;SAoBjC;IAED,SAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;;;;OA6BjD;IAED,SAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC;;OAc7C;IAED,SAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GACnB,MAAM,CAAC,CAAC,EAAE,CAAC,CAQb;IAED;;OAEG;IACH,SAAgB,QAAQ,CAAC,CAAC,EACxB,GAAG,EAAE;QAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;KAAE,EAChC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,UAAU,QAMhC;CACF"}
@@ -1,3 +1,4 @@
1
+ import { Output } from "@pulumi/pulumi";
1
2
  import { Link } from "./link";
2
3
  import { Component } from "./component";
3
4
  import { Input } from "./input";
@@ -166,13 +167,20 @@ export interface Definition<Properties extends Record<string, any> = Record<stri
166
167
  * ```
167
168
  *
168
169
  * This overrides the built-in link and lets you create your own.
170
+ *
171
+ * #### Exposing links as env vars
172
+ *
173
+ * If you want to pass link env vars to compute not managed by SST, like an ECS task
174
+ * definition or a Kubernetes pod, use `Linkable.env()`. It returns an `Output` of
175
+ * `SST_RESOURCE_*` env vars that you can pass to any provider.
176
+ * [Check out an example](/docs/examples/#aws-linkable-env).
169
177
  */
170
178
  export declare class Linkable<T extends Record<string, any>> extends Component implements Link.Linkable {
171
179
  private _name;
172
180
  private _definition;
173
181
  static wrappedResources: Set<string>;
174
182
  constructor(name: string, definition: Definition<T>);
175
- get name(): $util.Output<string>;
183
+ get name(): Output<string>;
176
184
  get properties(): T;
177
185
  /** @internal */
178
186
  getSSTLink(): Definition<T>;
@@ -248,6 +256,28 @@ export declare class Linkable<T extends Record<string, any>> extends Component i
248
256
  static wrap<Resource>(cls: {
249
257
  new (...args: any[]): Resource;
250
258
  }, cb: (resource: Resource) => Definition): void;
259
+ /**
260
+ * Convert an array of resources into `SST_RESOURCE_*` environment variables so
261
+ * that `Resource.MyResource` works at runtime inside containers or functions
262
+ * deployed through an external provider.
263
+ *
264
+ * @param links Array of linkable resources.
265
+ *
266
+ * @example
267
+ *
268
+ * If the provider accepts a flat `Record<string, string>`, you can pass the
269
+ * output directly.
270
+ *
271
+ * ```ts title="sst.config.ts"
272
+ * const bucket = new sst.aws.Bucket("MyBucket");
273
+ *
274
+ * new vercel.Project("BadDecision", {
275
+ * name: "bad-decision",
276
+ * environment: sst.Linkable.env([bucket]),
277
+ * });
278
+ * ```
279
+ */
280
+ static env(links: Input<any[]>): Output<Record<string, string>>;
251
281
  }
252
282
  /**
253
283
  * @deprecated
@@ -257,7 +287,7 @@ export declare class Resource extends Component implements Link.Linkable {
257
287
  private _properties;
258
288
  private _name;
259
289
  constructor(name: string, properties: any);
260
- get name(): $util.Output<string>;
290
+ get name(): Output<string>;
261
291
  get properties(): any;
262
292
  /** @internal */
263
293
  getSSTLink(): {
@@ -1 +1 @@
1
- {"version":3,"file":"linkable.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/linkable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,UAAU,CACzB,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE5D;;;;;;;;;;OAUG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,EAAE,CAAC;CACL;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHG;AACH,qBAAa,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACjD,SAAQ,SACR,YAAW,IAAI,CAAC,QAAQ;IAExB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAc,gBAAgB,cAAqB;gBAEvC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAMnD,IAAW,IAAI,yBAEd;IAED,IAAW,UAAU,MAEpB;IAED,gBAAgB;IACT,UAAU;IAIjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;WACW,IAAI,CAAC,QAAQ,EACzB,GAAG,EAAE;QAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;KAAE,EACvC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,UAAU;CASzC;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAU,YAAW,IAAI,CAAC,QAAQ;IAC9D,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG;IAczC,IAAW,IAAI,yBAEd;IAED,IAAW,UAAU,QAEpB;IAED,gBAAgB;IACT,UAAU;;;CAKlB;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;;;EAKrD"}
1
+ {"version":3,"file":"linkable.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/components/linkable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,UAAU,CACzB,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE5D;;;;;;;;;;OAUG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,EAAE,CAAC;CACL;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyHG;AACH,qBAAa,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACjD,SAAQ,SACR,YAAW,IAAI,CAAC,QAAQ;IAExB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAc,gBAAgB,cAAqB;gBAEvC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAMnD,IAAW,IAAI,mBAEd;IAED,IAAW,UAAU,MAEpB;IAED,gBAAgB;IACT,UAAU;IAIjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;WACW,IAAI,CAAC,QAAQ,EACzB,GAAG,EAAE;QAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;KAAE,EACvC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,UAAU;IAUxC;;;;;;;;;;;;;;;;;;;;OAoBG;WACW,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAGvE;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,SAAU,YAAW,IAAI,CAAC,QAAQ;IAC9D,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,KAAK,CAAS;gBAEV,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG;IAczC,IAAW,IAAI,mBAEd;IAED,IAAW,UAAU,QAEpB;IAED,gBAAgB;IACT,UAAU;;;CAKlB;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;;;EAKrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../../../../.sst/platform/src/components/rpc/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGzC,yBAAc,GAAG,CAAC;IAChB,MAAa,mBAAoB,SAAQ,KAAK;QACzB,MAAM,EAAE,MAAM;oBAAd,MAAM,EAAE,MAAM;KAGlC;IACD,SAAsB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cA0D5D;IAED,MAAa,QAAS,YAAW,OAAO,CAAC,gBAAgB;QAC3C,OAAO,CAAC,IAAI;oBAAJ,IAAI,EAAE,MAAM;QAChC,OAAO,CAAC,IAAI;QAGN,MAAM,CAAC,MAAM,EAAE,GAAG;QAIlB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;QAO5C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;QAUvC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAOzD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;KAM1E;CACF"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../../../../.sst/platform/src/components/rpc/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGzC,yBAAiB,GAAG,CAAC;IACnB,MAAa,mBAAoB,SAAQ,KAAK;QACzB,MAAM,EAAE,MAAM;oBAAd,MAAM,EAAE,MAAM;KAGlC;IACD,SAAsB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cA0D5D;IAED,MAAa,QAAS,YAAW,OAAO,CAAC,gBAAgB;QAC3C,OAAO,CAAC,IAAI;oBAAJ,IAAI,EAAE,MAAM;QAChC,OAAO,CAAC,IAAI;QAGN,MAAM,CAAC,MAAM,EAAE,GAAG;QAIlB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;QAO5C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;QAUvC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAOzD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;KAM1E;CACF"}
@@ -21,10 +21,10 @@
21
21
  *
22
22
  * #### Configure provider
23
23
  *
24
- * 1. To use this component, add the `@pulumiverse/vercel` provider to your app.
24
+ * 1. To use this component, add the `vercel` provider to your app.
25
25
  *
26
26
  * ```bash
27
- * sst add @pulumiverse/vercel
27
+ * sst add vercel
28
28
  * ```
29
29
  *
30
30
  * 2. If you don't already have a Vercel Access Token, [follow this guide](https://vercel.com/guides/how-do-i-use-a-vercel-api-access-token#creating-an-access-token) to create one.
@@ -0,0 +1,2 @@
1
+ export declare function minify(strings: TemplateStringsArray, ...values: unknown[]): string;
2
+ //# sourceMappingURL=minify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minify.d.ts","sourceRoot":"","sources":["../../../../../.sst/platform/src/util/minify.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,UAOzE"}
@@ -1,10 +1,19 @@
1
1
  import { SingleTable } from './single-table';
2
+ type WebSocketHandlerArgs = {
3
+ memory?: sst.aws.FunctionArgs['memory'];
4
+ timeout?: sst.aws.FunctionArgs['timeout'];
5
+ };
6
+ type WebSocketConfig = {
7
+ enabled: true;
8
+ handler?: WebSocketHandlerArgs;
9
+ };
2
10
  type MonoriseCoreArgs = {
3
11
  tableTtl?: string;
4
12
  slackWebhook?: string;
5
13
  allowHeaders?: string[];
6
14
  allowOrigins?: string[];
7
15
  configRoot?: string;
16
+ webSocket?: WebSocketConfig;
8
17
  };
9
18
  export declare class MonoriseCore {
10
19
  readonly id: string;
@@ -12,6 +21,7 @@ export declare class MonoriseCore {
12
21
  readonly bus: sst.aws.Bus;
13
22
  readonly table: SingleTable;
14
23
  readonly alarmTopic: sst.aws.SnsTopic;
24
+ readonly websocket?: sst.aws.ApiGatewayWebSocket;
15
25
  constructor(id: string, args?: MonoriseCoreArgs);
16
26
  }
17
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"monorise-core.d.ts","sourceRoot":"","sources":["../../components/monorise-core.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,YAAY;IACvB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC;IAC1C,SAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,SAAgB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAEjC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;CAsMhD"}
1
+ {"version":3,"file":"monorise-core.d.ts","sourceRoot":"","sources":["../../components/monorise-core.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,qBAAa,YAAY;IACvB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC;IAC1C,SAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,SAAgB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7C,SAAgB,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC;gBAE5C,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;CAyRhD"}
@@ -1,8 +1,7 @@
1
- import type { DurationMinutes } from '../.sst/platform/src/components/duration';
2
- import type { Input } from '../.sst/platform/src/components/input';
1
+ type DurationMinutes = `${number} second` | `${number} seconds` | `${number} minute` | `${number} minutes`;
3
2
  interface QFunctionArgs extends sst.aws.FunctionArgs {
4
3
  visibilityTimeout?: sst.aws.QueueArgs['visibilityTimeout'];
5
- maxBatchingWindow?: Input<DurationMinutes>;
4
+ maxBatchingWindow?: DurationMinutes;
6
5
  batchSize?: number;
7
6
  alarmTopic?: sst.aws.SnsTopic;
8
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"q-function.d.ts","sourceRoot":"","sources":["../../components/q-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAEnE,UAAU,aAAc,SAAQ,GAAG,CAAC,GAAG,CAAC,YAAY;IAClD,iBAAiB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;CAC/B;AAED,qBAAa,SAAS;IACpB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;IACrC,SAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAmB;gBAEvB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;CA2D5C"}
1
+ {"version":3,"file":"q-function.d.ts","sourceRoot":"","sources":["../../components/q-function.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAChB,GAAG,MAAM,SAAS,GAClB,GAAG,MAAM,UAAU,GACnB,GAAG,MAAM,SAAS,GAClB,GAAG,MAAM,UAAU,CAAC;AAExB,UAAU,aAAc,SAAQ,GAAG,CAAC,GAAG,CAAC,YAAY;IAClD,iBAAiB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;CAC/B;AAED,qBAAa,SAAS;IACpB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;IACrC,SAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAmB;gBAEvB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;CA2D5C"}
package/dist/sst/index.js CHANGED
@@ -418,9 +418,9 @@ var SingleTable = class {
418
418
  // components/monorise-core.ts
419
419
  var MonoriseCore = class {
420
420
  constructor(id, args) {
421
- var _a;
421
+ var _a, _b, _c, _d, _e, _f;
422
422
  const runtime = "nodejs22.x";
423
- const configRootCommand = (args == null ? void 0 : args.configRoot) ? `--config-root ${args.configRoot}` : "";
423
+ const configRootCommand = (args == null ? void 0 : args.configRoot) ? `--config-root ${args == null ? void 0 : args.configRoot}` : "";
424
424
  const dotMonorisePath = path2.join((_a = args == null ? void 0 : args.configRoot) != null ? _a : "", ".monorise");
425
425
  new sst.x.DevCommand("Monorise", {
426
426
  dev: {
@@ -449,16 +449,12 @@ var MonoriseCore = class {
449
449
  });
450
450
  const secretApiKeys = new sst.Secret("API_KEYS", '["secret1", "secret2"]');
451
451
  const appHandlerName = `${$app.stage}-${$app.name}-${id}-app-handler`;
452
- this.api.route("ANY /core/{proxy+}", {
453
- name: appHandlerName,
454
- handler: `${dotMonorisePath}/handle.appHandler`,
455
- link: [this.table.table, this.bus, secretApiKeys],
456
- environment: {
457
- API_KEYS: secretApiKeys.value,
458
- CORE_TABLE: this.table.table.name,
459
- CORE_EVENT_BUS: this.bus.name
460
- }
461
- });
452
+ const appHandlerEnvironment = {
453
+ API_KEYS: secretApiKeys.value,
454
+ CORE_TABLE: this.table.table.name,
455
+ CORE_EVENT_BUS: this.bus.name
456
+ };
457
+ const appHandlerLinks = [this.table.table, this.bus, secretApiKeys];
462
458
  this.alarmTopic = new sst.aws.SnsTopic(`${id}-monorise-dlq-alarm-topic`);
463
459
  const environment = {
464
460
  CORE_TABLE: this.table.table.name,
@@ -527,6 +523,73 @@ var MonoriseCore = class {
527
523
  ]
528
524
  }
529
525
  });
526
+ if ((_b = args == null ? void 0 : args.webSocket) == null ? void 0 : _b.enabled) {
527
+ const memory = (_d = (_c = args.webSocket.handler) == null ? void 0 : _c.memory) != null ? _d : "512 MB";
528
+ const timeout = (_f = (_e = args.webSocket.handler) == null ? void 0 : _e.timeout) != null ? _f : "30 seconds";
529
+ this.websocket = new sst.aws.ApiGatewayWebSocket(`${id}-websocket`, {});
530
+ const wsEnvironment = {
531
+ CORE_TABLE: this.table.table.name,
532
+ WEBSOCKET_MANAGEMENT_ENDPOINT: this.websocket.managementEndpoint
533
+ };
534
+ const connectHandler = new sst.aws.Function(`${id}-ws-connect`, {
535
+ handler: `${dotMonorisePath}/handle.wsConnect`,
536
+ runtime,
537
+ memory,
538
+ timeout,
539
+ environment: wsEnvironment,
540
+ link: [this.table.table, this.websocket]
541
+ });
542
+ const disconnectHandler = new sst.aws.Function(`${id}-ws-disconnect`, {
543
+ handler: `${dotMonorisePath}/handle.wsDisconnect`,
544
+ runtime,
545
+ memory,
546
+ timeout,
547
+ environment: wsEnvironment,
548
+ link: [this.table.table]
549
+ });
550
+ const defaultHandler = new sst.aws.Function(`${id}-ws-default`, {
551
+ handler: `${dotMonorisePath}/handle.wsDefault`,
552
+ runtime,
553
+ memory,
554
+ timeout,
555
+ environment: wsEnvironment,
556
+ link: [this.table.table, this.websocket]
557
+ });
558
+ this.websocket.route("$connect", connectHandler.arn);
559
+ this.websocket.route("$disconnect", disconnectHandler.arn);
560
+ this.websocket.route("$default", defaultHandler.arn);
561
+ this.table.table.subscribe(
562
+ `${id}-ws-broadcast`,
563
+ {
564
+ name: `${$app.stage}-${$app.name}-${id}-ws-broadcast`,
565
+ handler: `${dotMonorisePath}/handle.wsBroadcast`,
566
+ runtime,
567
+ memory: "1024 MB",
568
+ timeout: "60 seconds",
569
+ environment: wsEnvironment,
570
+ link: [this.table.table, this.websocket]
571
+ },
572
+ {
573
+ transform: {
574
+ eventSourceMapping: {
575
+ startingPosition: "LATEST",
576
+ bisectBatchOnFunctionError: true,
577
+ maximumRetryAttempts: 1
578
+ }
579
+ }
580
+ }
581
+ );
582
+ }
583
+ if (this.websocket) {
584
+ appHandlerEnvironment.WEBSOCKET_URL = this.websocket.url;
585
+ appHandlerLinks.push(this.websocket);
586
+ }
587
+ this.api.route("ANY /core/{proxy+}", {
588
+ name: appHandlerName,
589
+ handler: `${dotMonorisePath}/handle.appHandler`,
590
+ link: appHandlerLinks,
591
+ environment: appHandlerEnvironment
592
+ });
530
593
  new aws.cloudwatch.Dashboard(`${id}-monorise-dashboard`, {
531
594
  dashboardName: `${$app.stage}-${$app.name}-${id}-monorise`,
532
595
  dashboardBody: $resolve([
@@ -1 +1 @@
1
- {"version":3,"sources":["../components/monorise-core.ts","../constants/event.ts","../components/dashboard.ts","../components/q-function.ts","../components/single-table.ts","../constants/table.ts","../index.ts"],"sourcesContent":["import path from 'node:path';\nimport { EVENT, SOURCE } from '../constants/event';\nimport { createFunctionWidgets } from './dashboard';\nimport { QFunction } from './q-function';\nimport { SingleTable } from './single-table';\n\ntype MonoriseCoreArgs = {\n tableTtl?: string;\n slackWebhook?: string;\n allowHeaders?: string[];\n allowOrigins?: string[];\n configRoot?: string;\n};\n\nexport class MonoriseCore {\n public readonly id: string;\n public readonly api: sst.aws.ApiGatewayV2;\n public readonly bus: sst.aws.Bus;\n public readonly table: SingleTable;\n public readonly alarmTopic: sst.aws.SnsTopic;\n\n constructor(id: string, args?: MonoriseCoreArgs) {\n const runtime: sst.aws.FunctionArgs['runtime'] = 'nodejs22.x';\n const configRootCommand = args?.configRoot\n ? `--config-root ${args.configRoot}`\n : '';\n const dotMonorisePath = path.join(args?.configRoot ?? '', '.monorise');\n\n new sst.x.DevCommand('Monorise', {\n dev: {\n autostart: true,\n command: `npx monorise dev ${configRootCommand}`,\n },\n });\n\n this.id = id;\n\n this.api = new sst.aws.ApiGatewayV2(`${id}-monorise-api`, {\n cors: {\n allowMethods: ['*'],\n allowCredentials: true,\n allowHeaders: [\n ...(args?.allowHeaders ? args.allowHeaders : []),\n 'Content-Type',\n 'Authorization',\n ],\n allowOrigins: args?.allowOrigins,\n },\n });\n\n this.bus = new sst.aws.Bus(`${id}-monorise-bus`);\n this.table = new SingleTable(id, {\n ttl: args?.tableTtl,\n runtime,\n configRoot: args?.configRoot,\n });\n\n const secretApiKeys = new sst.Secret('API_KEYS', '[\"secret1\", \"secret2\"]');\n\n const appHandlerName = `${$app.stage}-${$app.name}-${id}-app-handler`;\n this.api.route('ANY /core/{proxy+}', {\n name: appHandlerName,\n handler: `${dotMonorisePath}/handle.appHandler`,\n link: [this.table.table, this.bus, secretApiKeys],\n environment: {\n API_KEYS: secretApiKeys.value,\n CORE_TABLE: this.table.table.name,\n CORE_EVENT_BUS: this.bus.name,\n },\n });\n\n this.alarmTopic = new sst.aws.SnsTopic(`${id}-monorise-dlq-alarm-topic`);\n\n const environment = {\n CORE_TABLE: this.table.table.name,\n CORE_EVENT_BUS: this.bus.name,\n };\n\n /**\n * Event Processors\n */\n const mutualProcessorName = `${$app.stage}-${$app.name}-${id}-mutual-processor`;\n const tagProcessorName = `${$app.stage}-${$app.name}-${id}-tag-processor`;\n const treeProcessorName = `${$app.stage}-${$app.name}-${id}-tree-processor`;\n\n const mutualProcessor = new QFunction('mutual', {\n name: mutualProcessorName,\n handler: `${dotMonorisePath}/handle.mutualHandler`,\n memory: '512 MB',\n timeout: '30 seconds',\n visibilityTimeout: '30 seconds',\n alarmTopic: this.alarmTopic,\n runtime,\n environment,\n link: [this.table.table, this.bus],\n });\n\n const tagProcessor = new QFunction('tag', {\n name: tagProcessorName,\n handler: `${dotMonorisePath}/handle.tagHandler`,\n memory: '512 MB',\n timeout: '30 seconds',\n visibilityTimeout: '30 seconds',\n alarmTopic: this.alarmTopic,\n runtime,\n environment,\n link: [this.table.table],\n });\n\n const treeProcessor = new QFunction('tree', {\n name: treeProcessorName,\n handler: `${dotMonorisePath}/handle.treeHandler`,\n memory: '512 MB',\n timeout: '30 seconds',\n visibilityTimeout: '30 seconds',\n alarmTopic: this.alarmTopic,\n runtime,\n environment,\n link: [this.table.table],\n });\n\n this.bus.subscribeQueue(`${id}-mutual-queue-rule`, mutualProcessor.queue, {\n pattern: {\n source: [SOURCE.CORE],\n detailType: [\n EVENT.CORE.ENTITY_MUTUAL_TO_CREATE.DetailType,\n EVENT.CORE.ENTITY_MUTUAL_TO_UPDATE.DetailType,\n ],\n },\n });\n\n this.bus.subscribeQueue(`${id}-tag-queue-rule`, tagProcessor.queue, {\n pattern: {\n source: [SOURCE.CORE],\n detailType: [\n EVENT.CORE.ENTITY_CREATED.DetailType,\n EVENT.CORE.ENTITY_UPDATED.DetailType,\n ],\n },\n });\n\n this.bus.subscribeQueue(`${id}-tree-queue-rule`, treeProcessor.queue, {\n pattern: {\n source: [SOURCE.CORE],\n detailType: [\n EVENT.CORE.ENTITY_MUTUAL_PROCESSED.DetailType,\n EVENT.CORE.PREJOIN_RELATIONSHIP_SYNC.DetailType,\n ],\n },\n });\n\n /**\n * CloudWatch Dashboard\n */\n new aws.cloudwatch.Dashboard(`${id}-monorise-dashboard`, {\n dashboardName: `${$app.stage}-${$app.name}-${id}-monorise`,\n dashboardBody: $resolve([\n aws.getRegionOutput().name,\n this.table.table.name,\n mutualProcessor.dlq.nodes.queue.name,\n tagProcessor.dlq.nodes.queue.name,\n treeProcessor.dlq.nodes.queue.name,\n this.table.dlq.nodes.queue.name,\n ]).apply(\n ([region, tableName, mutualDlq, tagDlq, treeDlq, replicatorDlq]) => {\n const dynamoDbUrl = `https://${region}.console.aws.amazon.com/dynamodbv2/home?region=${region}#table?name=${tableName}&tab=monitoring`;\n\n return JSON.stringify({\n widgets: [\n {\n type: 'text',\n x: 0,\n y: 0,\n width: 24,\n height: 2,\n properties: {\n markdown: `### Related Resources\\n[View DynamoDB Table Metrics](${dynamoDbUrl})`,\n },\n },\n ...createFunctionWidgets(\n 'API Handler',\n appHandlerName,\n 2,\n region,\n ),\n ...createFunctionWidgets(\n 'Replicator',\n this.table.replicatorFunctionName,\n 9,\n region,\n replicatorDlq,\n ),\n ...createFunctionWidgets(\n 'Mutual Processor',\n mutualProcessorName,\n 16,\n region,\n mutualDlq,\n ),\n ...createFunctionWidgets(\n 'Tag Processor',\n tagProcessorName,\n 23,\n region,\n tagDlq,\n ),\n ...createFunctionWidgets(\n 'Tree Processor',\n treeProcessorName,\n 30,\n region,\n treeDlq,\n ),\n ],\n });\n },\n ),\n });\n }\n}\n","import type { Entity as EntityType } from '@monorise/base';\n\nconst SOURCE = {\n CORE: 'core-service',\n GENERAL: 'general',\n};\n\nexport type EventDetail = {\n Source: string;\n DetailType: string;\n};\n\nconst EVENT = {\n CORE: {\n LOGIN_EMAIL_REQUESTED: {\n Source: SOURCE.CORE,\n DetailType: 'login-email-requested',\n },\n\n /*\n * Entity\n */\n ENTITY_CREATED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-created',\n },\n ENTITY_UPSERTED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-upserted',\n },\n ENTITY_UPDATED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-updated',\n },\n ENTITY_DELETED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-deleted',\n },\n ENTITY_MUTUAL_TO_CREATE: {\n Source: SOURCE.CORE,\n DetailType: 'entity-mutual-to-create',\n },\n ENTITY_MUTUAL_TO_UPDATE: {\n Source: SOURCE.CORE,\n DetailType: 'entity-mutual-to-update',\n },\n ENTITY_MUTUAL_PROCESSED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-mutual-processed',\n },\n\n CREATE_ENTITY: {\n Source: SOURCE.CORE,\n DetailType: 'create-entity',\n },\n\n /*\n * Mutual\n */\n MUTUAL_CREATED: (byEntityType: EntityType, entityType: EntityType) => ({\n Source: SOURCE.CORE,\n DetailType: `mutual-created:${byEntityType}:${entityType}`,\n }),\n MUTUAL_UPDATED: (byEntityType: EntityType, entityType: EntityType) => ({\n Source: SOURCE.CORE,\n DetailType: `mutual-updated:${byEntityType}:${entityType}`,\n }),\n MUTUAL_DELETED: (byEntityType: EntityType, entityType: EntityType) => ({\n Source: SOURCE.CORE,\n DetailType: `mutual-deleted:${byEntityType}:${entityType}`,\n }),\n PREJOIN_RELATIONSHIP_SYNC: {\n Source: SOURCE.CORE,\n DetailType: 'prejoin-relationship-sync',\n },\n },\n\n GENERAL: {\n ENDPOINT_ERROR: {\n Source: SOURCE.GENERAL,\n DetailType: 'endpoint-error',\n },\n },\n};\n\nexport { SOURCE, EVENT };\n","export function createFunctionWidgets(\n title: string,\n functionName: string,\n y: number,\n region: string,\n dlqName?: string,\n) {\n const hasDlq = !!dlqName;\n const w = hasDlq ? 4 : 5;\n const widgets: object[] = [];\n let x = 0;\n\n // Section header\n widgets.push({\n type: 'text',\n x: 0,\n y,\n width: 24,\n height: 1,\n properties: {\n markdown: `## ${title}`,\n },\n });\n\n const metricY = y + 1;\n\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: w,\n height: 6,\n properties: {\n metrics: [\n ['AWS/Lambda', 'Invocations', 'FunctionName', functionName],\n ],\n title: 'Invocations',\n stat: 'Sum',\n period: 300,\n region,\n },\n });\n x += w;\n\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: w,\n height: 6,\n properties: {\n metrics: [\n [\n 'AWS/Lambda',\n 'Duration',\n 'FunctionName',\n functionName,\n { label: 'Avg' },\n ],\n ['...', { stat: 'p99', label: 'p99' }],\n ],\n title: 'Duration (ms)',\n stat: 'Average',\n period: 300,\n region,\n },\n });\n x += w;\n\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: w,\n height: 6,\n properties: {\n metrics: [\n ['AWS/Lambda', 'Errors', 'FunctionName', functionName],\n ],\n title: 'Errors',\n stat: 'Sum',\n period: 300,\n region,\n },\n });\n x += w;\n\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: w,\n height: 6,\n properties: {\n metrics: [\n [\n {\n expression: '100 - 100 * errors / invocations',\n label: 'Success Rate (%)',\n id: 'successRate',\n },\n ],\n [\n 'AWS/Lambda',\n 'Invocations',\n 'FunctionName',\n functionName,\n { id: 'invocations', visible: false },\n ],\n [\n 'AWS/Lambda',\n 'Errors',\n 'FunctionName',\n functionName,\n { id: 'errors', visible: false },\n ],\n ],\n title: 'Success Rate (%)',\n stat: 'Sum',\n period: 300,\n region,\n yAxis: { left: { min: 0, max: 100 } },\n },\n });\n x += w;\n\n const concurrentW = hasDlq ? w : 24 - x;\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: concurrentW,\n height: 6,\n properties: {\n metrics: [\n [\n 'AWS/Lambda',\n 'ConcurrentExecutions',\n 'FunctionName',\n functionName,\n ],\n ],\n title: 'Concurrent Executions',\n stat: 'Maximum',\n period: 300,\n region,\n },\n });\n x += concurrentW;\n\n if (dlqName) {\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: 24 - x,\n height: 6,\n properties: {\n metrics: [\n [\n 'AWS/SQS',\n 'ApproximateNumberOfMessagesVisible',\n 'QueueName',\n dlqName,\n ],\n ],\n title: 'DLQ Messages',\n stat: 'Maximum',\n period: 300,\n region,\n },\n });\n }\n\n return widgets;\n}\n","import type { DurationMinutes } from '../.sst/platform/src/components/duration';\nimport type { Input } from '../.sst/platform/src/components/input';\n\ninterface QFunctionArgs extends sst.aws.FunctionArgs {\n visibilityTimeout?: sst.aws.QueueArgs['visibilityTimeout'];\n maxBatchingWindow?: Input<DurationMinutes>;\n batchSize?: number;\n alarmTopic?: sst.aws.SnsTopic;\n}\n\nexport class QFunction {\n public readonly id: string;\n public readonly queue: sst.aws.Queue;\n public readonly dlq: sst.aws.Queue;\n private function: sst.aws.Function;\n\n constructor(id: string, args: QFunctionArgs) {\n this.id = id;\n\n const {\n visibilityTimeout,\n maxBatchingWindow,\n batchSize,\n alarmTopic,\n link,\n ...functionArgs\n } = args;\n\n this.dlq = new sst.aws.Queue(`${id}-queue-dlq`);\n\n this.queue = new sst.aws.Queue(`${id}-queue`, {\n visibilityTimeout,\n dlq: this.dlq.arn,\n });\n\n this.function = new sst.aws.Function(`${id}-processor`, {\n ...functionArgs,\n link: (link as any[])?.length\n ? [this.queue, ...(link as any[])]\n : [this.queue],\n });\n\n this.queue.subscribe(this.function.arn, {\n batch: {\n partialResponses: true,\n window: maxBatchingWindow,\n size: batchSize,\n },\n });\n\n if (alarmTopic) {\n const dlqMessageAlarm = new aws.cloudwatch.MetricAlarm(\n `${id}-dlq-message-alarm`,\n {\n name: `${$app.stage}-${$app.name}-${id}-dlq-alarm`,\n comparisonOperator: 'GreaterThanOrEqualToThreshold',\n evaluationPeriods: 1,\n metricName: 'ApproximateNumberOfMessagesVisible',\n namespace: 'AWS/SQS',\n period: 60,\n statistic: 'Sum',\n threshold: 1,\n dimensions: {\n QueueName: this.dlq.nodes.queue.name,\n },\n alarmDescription:\n 'Alarm when there is at least one message in the DLQ.',\n // Actions to take when the alarm changes to ALARM state.\n alarmActions: [alarmTopic.arn],\n // Actions to take when the alarm changes to OK state.\n // okActions: [alarmSnsTopic.arn],\n },\n );\n }\n }\n}\n","import path from 'node:path';\nimport {\n ENTITY_REPLICATION_INDEX,\n MUTUAL_REPLICATION_INDEX,\n} from '../constants/table';\n\ntype SingleTableArgs = {\n ttl?: string;\n runtime?: sst.aws.FunctionArgs['runtime'];\n configRoot?: string;\n};\n\nexport class SingleTable {\n public readonly id: string;\n public readonly table: sst.aws.Dynamo;\n public readonly dlq: sst.aws.Queue;\n public readonly replicatorFunctionName: string;\n\n constructor(id: string, args?: SingleTableArgs) {\n this.id = id;\n this.replicatorFunctionName = `${$app.stage}-${$app.name}-${id}-core-replicator`;\n this.dlq = new sst.aws.Queue(`${id}-core-replicator-dlq`);\n this.table = new sst.aws.Dynamo(`${id}-core-table`, {\n fields: {\n PK: 'string',\n SK: 'string',\n R1PK: 'string',\n R1SK: 'string',\n R2PK: 'string',\n R2SK: 'string',\n },\n primaryIndex: { hashKey: 'PK', rangeKey: 'SK' },\n globalIndexes: {\n [ENTITY_REPLICATION_INDEX]: {\n hashKey: 'R1PK',\n rangeKey: 'R1SK',\n projection: [\n 'PK',\n 'SK',\n 'R2PK',\n 'R2SK',\n 'updatedAt',\n 'mutualUpdatedAt',\n ],\n },\n [MUTUAL_REPLICATION_INDEX]: {\n hashKey: 'R2PK',\n rangeKey: 'R2SK',\n projection: [\n 'PK',\n 'SK',\n 'R2PK',\n 'R2SK',\n 'updatedAt',\n 'mutualUpdatedAt',\n ],\n },\n },\n stream: 'new-and-old-images',\n ttl: args?.ttl,\n });\n\n const environment = {\n CORE_TABLE: this.table.name,\n };\n\n this.table.subscribe(\n `${id}-core-replicator`,\n {\n name: this.replicatorFunctionName,\n handler: path.join(\n args?.configRoot ?? '',\n '.monorise/handle.replicationHandler',\n ),\n timeout: '60 seconds',\n memory: '512 MB',\n runtime: args?.runtime,\n environment,\n link: [this.table, this.dlq],\n },\n {\n transform: {\n eventSourceMapping: {\n startingPosition: 'LATEST',\n bisectBatchOnFunctionError: true,\n maximumRetryAttempts: 1,\n destinationConfig: {\n onFailure: {\n destinationArn: this.dlq.arn,\n },\n },\n },\n },\n },\n );\n }\n}\n","export const ENTITY_REPLICATION_INDEX = 'ENTITY_REPLICATION_INDEX';\nexport const MUTUAL_REPLICATION_INDEX = 'MUTUAL_REPLICATION_INDEX';\n","import { MonoriseCore } from './components/monorise-core';\nimport { QFunction } from './components/q-function';\n\nexport const monorise = {\n module: {\n Core: MonoriseCore,\n },\n block: {\n QFunction,\n },\n};\n"],"mappings":"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","names":["path","path"]}
1
+ {"version":3,"sources":["../components/monorise-core.ts","../constants/event.ts","../components/dashboard.ts","../components/q-function.ts","../components/single-table.ts","../constants/table.ts","../index.ts"],"sourcesContent":["import path from 'node:path';\nimport { EVENT, SOURCE } from '../constants/event';\nimport { createFunctionWidgets } from './dashboard';\nimport { QFunction } from './q-function';\nimport { SingleTable } from './single-table';\n\ntype WebSocketHandlerArgs = {\n memory?: sst.aws.FunctionArgs['memory'];\n timeout?: sst.aws.FunctionArgs['timeout'];\n};\n\ntype WebSocketConfig = {\n enabled: true;\n handler?: WebSocketHandlerArgs;\n};\n\ntype MonoriseCoreArgs = {\n tableTtl?: string;\n slackWebhook?: string;\n allowHeaders?: string[];\n allowOrigins?: string[];\n configRoot?: string;\n webSocket?: WebSocketConfig;\n};\n\nexport class MonoriseCore {\n public readonly id: string;\n public readonly api: sst.aws.ApiGatewayV2;\n public readonly bus: sst.aws.Bus;\n public readonly table: SingleTable;\n public readonly alarmTopic: sst.aws.SnsTopic;\n public readonly websocket?: sst.aws.ApiGatewayWebSocket;\n\n constructor(id: string, args?: MonoriseCoreArgs) {\n const runtime: sst.aws.FunctionArgs['runtime'] = 'nodejs22.x';\n const configRootCommand = args?.configRoot\n ? `--config-root ${args?.configRoot}`\n : '';\n const dotMonorisePath = path.join(args?.configRoot ?? '', '.monorise');\n\n new sst.x.DevCommand('Monorise', {\n dev: {\n autostart: true,\n command: `npx monorise dev ${configRootCommand}`,\n },\n });\n\n this.id = id;\n\n this.api = new sst.aws.ApiGatewayV2(`${id}-monorise-api`, {\n cors: {\n allowMethods: ['*'],\n allowCredentials: true,\n allowHeaders: [\n ...(args?.allowHeaders ? args.allowHeaders : []),\n 'Content-Type',\n 'Authorization',\n ],\n allowOrigins: args?.allowOrigins,\n },\n });\n\n this.bus = new sst.aws.Bus(`${id}-monorise-bus`);\n this.table = new SingleTable(id, {\n ttl: args?.tableTtl,\n runtime,\n configRoot: args?.configRoot,\n });\n\n const secretApiKeys = new sst.Secret('API_KEYS', '[\"secret1\", \"secret2\"]');\n\n const appHandlerName = `${$app.stage}-${$app.name}-${id}-app-handler`;\n const appHandlerEnvironment: Record<string, any> = {\n API_KEYS: secretApiKeys.value,\n CORE_TABLE: this.table.table.name,\n CORE_EVENT_BUS: this.bus.name,\n };\n const appHandlerLinks: any[] = [this.table.table, this.bus, secretApiKeys];\n\n this.alarmTopic = new sst.aws.SnsTopic(`${id}-monorise-dlq-alarm-topic`);\n\n const environment = {\n CORE_TABLE: this.table.table.name,\n CORE_EVENT_BUS: this.bus.name,\n };\n\n /**\n * Event Processors\n */\n const mutualProcessorName = `${$app.stage}-${$app.name}-${id}-mutual-processor`;\n const tagProcessorName = `${$app.stage}-${$app.name}-${id}-tag-processor`;\n const treeProcessorName = `${$app.stage}-${$app.name}-${id}-tree-processor`;\n\n const mutualProcessor = new QFunction('mutual', {\n name: mutualProcessorName,\n handler: `${dotMonorisePath}/handle.mutualHandler`,\n memory: '512 MB',\n timeout: '30 seconds',\n visibilityTimeout: '30 seconds',\n alarmTopic: this.alarmTopic,\n runtime,\n environment,\n link: [this.table.table, this.bus],\n });\n\n const tagProcessor = new QFunction('tag', {\n name: tagProcessorName,\n handler: `${dotMonorisePath}/handle.tagHandler`,\n memory: '512 MB',\n timeout: '30 seconds',\n visibilityTimeout: '30 seconds',\n alarmTopic: this.alarmTopic,\n runtime,\n environment,\n link: [this.table.table],\n });\n\n const treeProcessor = new QFunction('tree', {\n name: treeProcessorName,\n handler: `${dotMonorisePath}/handle.treeHandler`,\n memory: '512 MB',\n timeout: '30 seconds',\n visibilityTimeout: '30 seconds',\n alarmTopic: this.alarmTopic,\n runtime,\n environment,\n link: [this.table.table],\n });\n\n this.bus.subscribeQueue(`${id}-mutual-queue-rule`, mutualProcessor.queue, {\n pattern: {\n source: [SOURCE.CORE],\n detailType: [\n EVENT.CORE.ENTITY_MUTUAL_TO_CREATE.DetailType,\n EVENT.CORE.ENTITY_MUTUAL_TO_UPDATE.DetailType,\n ],\n },\n });\n\n this.bus.subscribeQueue(`${id}-tag-queue-rule`, tagProcessor.queue, {\n pattern: {\n source: [SOURCE.CORE],\n detailType: [\n EVENT.CORE.ENTITY_CREATED.DetailType,\n EVENT.CORE.ENTITY_UPDATED.DetailType,\n ],\n },\n });\n\n this.bus.subscribeQueue(`${id}-tree-queue-rule`, treeProcessor.queue, {\n pattern: {\n source: [SOURCE.CORE],\n detailType: [\n EVENT.CORE.ENTITY_MUTUAL_PROCESSED.DetailType,\n EVENT.CORE.PREJOIN_RELATIONSHIP_SYNC.DetailType,\n ],\n },\n });\n\n /**\n * Optional WebSocket Setup\n */\n if (args?.webSocket?.enabled) {\n const memory = args.webSocket.handler?.memory ?? '512 MB';\n const timeout = args.webSocket.handler?.timeout ?? '30 seconds';\n\n // WebSocket API Gateway\n this.websocket = new sst.aws.ApiGatewayWebSocket(`${id}-websocket`, {});\n\n const wsEnvironment = {\n CORE_TABLE: this.table.table.name,\n WEBSOCKET_MANAGEMENT_ENDPOINT: this.websocket.managementEndpoint,\n };\n\n // $connect handler\n const connectHandler = new sst.aws.Function(`${id}-ws-connect`, {\n handler: `${dotMonorisePath}/handle.wsConnect`,\n runtime,\n memory,\n timeout,\n environment: wsEnvironment,\n link: [this.table.table, this.websocket],\n });\n\n // $disconnect handler\n const disconnectHandler = new sst.aws.Function(`${id}-ws-disconnect`, {\n handler: `${dotMonorisePath}/handle.wsDisconnect`,\n runtime,\n memory,\n timeout,\n environment: wsEnvironment,\n link: [this.table.table],\n });\n\n // $default handler\n const defaultHandler = new sst.aws.Function(`${id}-ws-default`, {\n handler: `${dotMonorisePath}/handle.wsDefault`,\n runtime,\n memory,\n timeout,\n environment: wsEnvironment,\n link: [this.table.table, this.websocket],\n });\n\n // Set WebSocket routes\n this.websocket.route('$connect', connectHandler.arn);\n this.websocket.route('$disconnect', disconnectHandler.arn);\n this.websocket.route('$default', defaultHandler.arn);\n\n // Subscribe broadcast handler to DynamoDB Stream\n this.table.table.subscribe(\n `${id}-ws-broadcast`,\n {\n name: `${$app.stage}-${$app.name}-${id}-ws-broadcast`,\n handler: `${dotMonorisePath}/handle.wsBroadcast`,\n runtime,\n memory: '1024 MB',\n timeout: '60 seconds',\n environment: wsEnvironment,\n link: [this.table.table, this.websocket],\n },\n {\n transform: {\n eventSourceMapping: {\n startingPosition: 'LATEST',\n bisectBatchOnFunctionError: true,\n maximumRetryAttempts: 1,\n },\n },\n },\n );\n }\n\n // Add WebSocket URL to app handler if WebSocket is enabled\n if (this.websocket) {\n appHandlerEnvironment.WEBSOCKET_URL = this.websocket.url;\n appHandlerLinks.push(this.websocket);\n }\n\n this.api.route('ANY /core/{proxy+}', {\n name: appHandlerName,\n handler: `${dotMonorisePath}/handle.appHandler`,\n link: appHandlerLinks,\n environment: appHandlerEnvironment,\n });\n\n /**\n * CloudWatch Dashboard\n */\n new aws.cloudwatch.Dashboard(`${id}-monorise-dashboard`, {\n dashboardName: `${$app.stage}-${$app.name}-${id}-monorise`,\n dashboardBody: $resolve([\n aws.getRegionOutput().name,\n this.table.table.name,\n mutualProcessor.dlq.nodes.queue.name,\n tagProcessor.dlq.nodes.queue.name,\n treeProcessor.dlq.nodes.queue.name,\n this.table.dlq.nodes.queue.name,\n ]).apply(\n ([region, tableName, mutualDlq, tagDlq, treeDlq, replicatorDlq]) => {\n const dynamoDbUrl = `https://${region}.console.aws.amazon.com/dynamodbv2/home?region=${region}#table?name=${tableName}&tab=monitoring`;\n\n return JSON.stringify({\n widgets: [\n {\n type: 'text',\n x: 0,\n y: 0,\n width: 24,\n height: 2,\n properties: {\n markdown: `### Related Resources\\n[View DynamoDB Table Metrics](${dynamoDbUrl})`,\n },\n },\n ...createFunctionWidgets(\n 'API Handler',\n appHandlerName,\n 2,\n region,\n ),\n ...createFunctionWidgets(\n 'Replicator',\n this.table.replicatorFunctionName,\n 9,\n region,\n replicatorDlq,\n ),\n ...createFunctionWidgets(\n 'Mutual Processor',\n mutualProcessorName,\n 16,\n region,\n mutualDlq,\n ),\n ...createFunctionWidgets(\n 'Tag Processor',\n tagProcessorName,\n 23,\n region,\n tagDlq,\n ),\n ...createFunctionWidgets(\n 'Tree Processor',\n treeProcessorName,\n 30,\n region,\n treeDlq,\n ),\n ],\n });\n },\n ),\n });\n }\n}\n","import type { Entity as EntityType } from '@monorise/base';\n\nconst SOURCE = {\n CORE: 'core-service',\n GENERAL: 'general',\n};\n\nexport type EventDetail = {\n Source: string;\n DetailType: string;\n};\n\nconst EVENT = {\n CORE: {\n LOGIN_EMAIL_REQUESTED: {\n Source: SOURCE.CORE,\n DetailType: 'login-email-requested',\n },\n\n /*\n * Entity\n */\n ENTITY_CREATED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-created',\n },\n ENTITY_UPSERTED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-upserted',\n },\n ENTITY_UPDATED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-updated',\n },\n ENTITY_DELETED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-deleted',\n },\n ENTITY_MUTUAL_TO_CREATE: {\n Source: SOURCE.CORE,\n DetailType: 'entity-mutual-to-create',\n },\n ENTITY_MUTUAL_TO_UPDATE: {\n Source: SOURCE.CORE,\n DetailType: 'entity-mutual-to-update',\n },\n ENTITY_MUTUAL_PROCESSED: {\n Source: SOURCE.CORE,\n DetailType: 'entity-mutual-processed',\n },\n\n CREATE_ENTITY: {\n Source: SOURCE.CORE,\n DetailType: 'create-entity',\n },\n\n /*\n * Mutual\n */\n MUTUAL_CREATED: (byEntityType: EntityType, entityType: EntityType) => ({\n Source: SOURCE.CORE,\n DetailType: `mutual-created:${byEntityType}:${entityType}`,\n }),\n MUTUAL_UPDATED: (byEntityType: EntityType, entityType: EntityType) => ({\n Source: SOURCE.CORE,\n DetailType: `mutual-updated:${byEntityType}:${entityType}`,\n }),\n MUTUAL_DELETED: (byEntityType: EntityType, entityType: EntityType) => ({\n Source: SOURCE.CORE,\n DetailType: `mutual-deleted:${byEntityType}:${entityType}`,\n }),\n PREJOIN_RELATIONSHIP_SYNC: {\n Source: SOURCE.CORE,\n DetailType: 'prejoin-relationship-sync',\n },\n },\n\n GENERAL: {\n ENDPOINT_ERROR: {\n Source: SOURCE.GENERAL,\n DetailType: 'endpoint-error',\n },\n },\n};\n\nexport { SOURCE, EVENT };\n","export function createFunctionWidgets(\n title: string,\n functionName: string,\n y: number,\n region: string,\n dlqName?: string,\n) {\n const hasDlq = !!dlqName;\n const w = hasDlq ? 4 : 5;\n const widgets: object[] = [];\n let x = 0;\n\n // Section header\n widgets.push({\n type: 'text',\n x: 0,\n y,\n width: 24,\n height: 1,\n properties: {\n markdown: `## ${title}`,\n },\n });\n\n const metricY = y + 1;\n\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: w,\n height: 6,\n properties: {\n metrics: [\n ['AWS/Lambda', 'Invocations', 'FunctionName', functionName],\n ],\n title: 'Invocations',\n stat: 'Sum',\n period: 300,\n region,\n },\n });\n x += w;\n\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: w,\n height: 6,\n properties: {\n metrics: [\n [\n 'AWS/Lambda',\n 'Duration',\n 'FunctionName',\n functionName,\n { label: 'Avg' },\n ],\n ['...', { stat: 'p99', label: 'p99' }],\n ],\n title: 'Duration (ms)',\n stat: 'Average',\n period: 300,\n region,\n },\n });\n x += w;\n\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: w,\n height: 6,\n properties: {\n metrics: [\n ['AWS/Lambda', 'Errors', 'FunctionName', functionName],\n ],\n title: 'Errors',\n stat: 'Sum',\n period: 300,\n region,\n },\n });\n x += w;\n\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: w,\n height: 6,\n properties: {\n metrics: [\n [\n {\n expression: '100 - 100 * errors / invocations',\n label: 'Success Rate (%)',\n id: 'successRate',\n },\n ],\n [\n 'AWS/Lambda',\n 'Invocations',\n 'FunctionName',\n functionName,\n { id: 'invocations', visible: false },\n ],\n [\n 'AWS/Lambda',\n 'Errors',\n 'FunctionName',\n functionName,\n { id: 'errors', visible: false },\n ],\n ],\n title: 'Success Rate (%)',\n stat: 'Sum',\n period: 300,\n region,\n yAxis: { left: { min: 0, max: 100 } },\n },\n });\n x += w;\n\n const concurrentW = hasDlq ? w : 24 - x;\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: concurrentW,\n height: 6,\n properties: {\n metrics: [\n [\n 'AWS/Lambda',\n 'ConcurrentExecutions',\n 'FunctionName',\n functionName,\n ],\n ],\n title: 'Concurrent Executions',\n stat: 'Maximum',\n period: 300,\n region,\n },\n });\n x += concurrentW;\n\n if (dlqName) {\n widgets.push({\n type: 'metric',\n x,\n y: metricY,\n width: 24 - x,\n height: 6,\n properties: {\n metrics: [\n [\n 'AWS/SQS',\n 'ApproximateNumberOfMessagesVisible',\n 'QueueName',\n dlqName,\n ],\n ],\n title: 'DLQ Messages',\n stat: 'Maximum',\n period: 300,\n region,\n },\n });\n }\n\n return widgets;\n}\n","type DurationMinutes =\n | `${number} second`\n | `${number} seconds`\n | `${number} minute`\n | `${number} minutes`;\n\ninterface QFunctionArgs extends sst.aws.FunctionArgs {\n visibilityTimeout?: sst.aws.QueueArgs['visibilityTimeout'];\n maxBatchingWindow?: DurationMinutes;\n batchSize?: number;\n alarmTopic?: sst.aws.SnsTopic;\n}\n\nexport class QFunction {\n public readonly id: string;\n public readonly queue: sst.aws.Queue;\n public readonly dlq: sst.aws.Queue;\n private function: sst.aws.Function;\n\n constructor(id: string, args: QFunctionArgs) {\n this.id = id;\n\n const {\n visibilityTimeout,\n maxBatchingWindow,\n batchSize,\n alarmTopic,\n link,\n ...functionArgs\n } = args;\n\n this.dlq = new sst.aws.Queue(`${id}-queue-dlq`);\n\n this.queue = new sst.aws.Queue(`${id}-queue`, {\n visibilityTimeout,\n dlq: this.dlq.arn,\n });\n\n this.function = new sst.aws.Function(`${id}-processor`, {\n ...functionArgs,\n link: (link as any[])?.length\n ? [this.queue, ...(link as any[])]\n : [this.queue],\n });\n\n this.queue.subscribe(this.function.arn, {\n batch: {\n partialResponses: true,\n window: maxBatchingWindow,\n size: batchSize,\n },\n });\n\n if (alarmTopic) {\n const dlqMessageAlarm = new aws.cloudwatch.MetricAlarm(\n `${id}-dlq-message-alarm`,\n {\n name: `${$app.stage}-${$app.name}-${id}-dlq-alarm`,\n comparisonOperator: 'GreaterThanOrEqualToThreshold',\n evaluationPeriods: 1,\n metricName: 'ApproximateNumberOfMessagesVisible',\n namespace: 'AWS/SQS',\n period: 60,\n statistic: 'Sum',\n threshold: 1,\n dimensions: {\n QueueName: this.dlq.nodes.queue.name,\n },\n alarmDescription:\n 'Alarm when there is at least one message in the DLQ.',\n // Actions to take when the alarm changes to ALARM state.\n alarmActions: [alarmTopic.arn],\n // Actions to take when the alarm changes to OK state.\n // okActions: [alarmSnsTopic.arn],\n },\n );\n }\n }\n}\n","import path from 'node:path';\nimport {\n ENTITY_REPLICATION_INDEX,\n MUTUAL_REPLICATION_INDEX,\n} from '../constants/table';\n\ntype SingleTableArgs = {\n ttl?: string;\n runtime?: sst.aws.FunctionArgs['runtime'];\n configRoot?: string;\n};\n\nexport class SingleTable {\n public readonly id: string;\n public readonly table: sst.aws.Dynamo;\n public readonly dlq: sst.aws.Queue;\n public readonly replicatorFunctionName: string;\n\n constructor(id: string, args?: SingleTableArgs) {\n this.id = id;\n this.replicatorFunctionName = `${$app.stage}-${$app.name}-${id}-core-replicator`;\n this.dlq = new sst.aws.Queue(`${id}-core-replicator-dlq`);\n this.table = new sst.aws.Dynamo(`${id}-core-table`, {\n fields: {\n PK: 'string',\n SK: 'string',\n R1PK: 'string',\n R1SK: 'string',\n R2PK: 'string',\n R2SK: 'string',\n },\n primaryIndex: { hashKey: 'PK', rangeKey: 'SK' },\n globalIndexes: {\n [ENTITY_REPLICATION_INDEX]: {\n hashKey: 'R1PK',\n rangeKey: 'R1SK',\n projection: [\n 'PK',\n 'SK',\n 'R2PK',\n 'R2SK',\n 'updatedAt',\n 'mutualUpdatedAt',\n ],\n },\n [MUTUAL_REPLICATION_INDEX]: {\n hashKey: 'R2PK',\n rangeKey: 'R2SK',\n projection: [\n 'PK',\n 'SK',\n 'R2PK',\n 'R2SK',\n 'updatedAt',\n 'mutualUpdatedAt',\n ],\n },\n },\n stream: 'new-and-old-images',\n ttl: args?.ttl,\n });\n\n const environment = {\n CORE_TABLE: this.table.name,\n };\n\n this.table.subscribe(\n `${id}-core-replicator`,\n {\n name: this.replicatorFunctionName,\n handler: path.join(\n args?.configRoot ?? '',\n '.monorise/handle.replicationHandler',\n ),\n timeout: '60 seconds',\n memory: '512 MB',\n runtime: args?.runtime,\n environment,\n link: [this.table, this.dlq],\n },\n {\n transform: {\n eventSourceMapping: {\n startingPosition: 'LATEST',\n bisectBatchOnFunctionError: true,\n maximumRetryAttempts: 1,\n destinationConfig: {\n onFailure: {\n destinationArn: this.dlq.arn,\n },\n },\n },\n },\n },\n );\n }\n}\n","export const ENTITY_REPLICATION_INDEX = 'ENTITY_REPLICATION_INDEX';\nexport const MUTUAL_REPLICATION_INDEX = 'MUTUAL_REPLICATION_INDEX';\n","import { MonoriseCore } from './components/monorise-core';\nimport { QFunction } from './components/q-function';\n\nexport const monorise = {\n module: {\n Core: MonoriseCore,\n },\n block: {\n QFunction,\n },\n};\n\n\n\n"],"mappings":"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","names":["path","path"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monorise",
3
- "version": "0.1.0",
3
+ "version": "1.1.0-dev.0",
4
4
  "description": "Monorise - A unified package for all Monorise functionality",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -36,6 +36,11 @@
36
36
  "./cli": {
37
37
  "import": "./dist/cli/cli.js",
38
38
  "types": "./dist/cli/cli.d.ts"
39
+ },
40
+ "./proxy": {
41
+ "import": "./dist/proxy/index.js",
42
+ "types": "./dist/proxy/index.d.ts",
43
+ "require": "./dist/proxy/index.js"
39
44
  }
40
45
  },
41
46
  "typesVersions": {
@@ -54,6 +59,9 @@
54
59
  ],
55
60
  "cli": [
56
61
  "./dist/cli/cli.d.ts"
62
+ ],
63
+ "proxy": [
64
+ "./dist/proxy/index.d.ts"
57
65
  ]
58
66
  }
59
67
  },
@@ -91,7 +99,7 @@
91
99
  "hono": "^4.7.10",
92
100
  "react": "^19",
93
101
  "react-dom": "^19",
94
- "sst": "^3.16.3"
102
+ "sst": "4.7.3"
95
103
  },
96
104
  "devDependencies": {
97
105
  "@types/aws-lambda": "^8.10.147",