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.
- package/dist/base/index.d.ts +90 -5
- package/dist/base/index.js.map +1 -1
- package/dist/cli/cli.js +6 -0
- package/dist/cli/cli.js.map +1 -1
- package/dist/core/chunk-QV4Q5377.js +76 -0
- package/dist/core/chunk-QV4Q5377.js.map +1 -0
- package/dist/core/index.d.ts +187 -19
- package/dist/core/index.js +1583 -85
- package/dist/core/index.js.map +1 -1
- package/dist/core/service.config-ZJEZ6EKA.js +13 -0
- package/dist/core/service.config-ZJEZ6EKA.js.map +1 -0
- package/dist/proxy/index.d.ts +35 -0
- package/dist/proxy/index.js +75 -0
- package/dist/proxy/index.js.map +1 -0
- package/dist/react/actions/websocket.action.d.ts +71 -0
- package/dist/react/actions/websocket.action.d.ts.map +1 -0
- package/dist/react/chunk-4D22OCZG.js +65 -0
- package/dist/react/chunk-4D22OCZG.js.map +1 -0
- package/dist/react/chunk-4N3P4ONH.js +588 -0
- package/dist/react/chunk-4N3P4ONH.js.map +1 -0
- package/dist/react/chunk-4Y4KWGJD.js +182 -0
- package/dist/react/chunk-4Y4KWGJD.js.map +1 -0
- package/dist/react/chunk-757E5UYA.js +893 -0
- package/dist/react/chunk-757E5UYA.js.map +1 -0
- package/dist/react/chunk-A5TI2FW3.js +13 -0
- package/dist/react/chunk-A5TI2FW3.js.map +1 -0
- package/dist/react/chunk-B3XDGUFO.js +489 -0
- package/dist/react/chunk-B3XDGUFO.js.map +1 -0
- package/dist/react/chunk-BPBCUO2Z.js +248 -0
- package/dist/react/chunk-BPBCUO2Z.js.map +1 -0
- package/dist/react/chunk-CQBOIXWK.js +142 -0
- package/dist/react/chunk-CQBOIXWK.js.map +1 -0
- package/dist/react/chunk-DRH2BB7I.js +383 -0
- package/dist/react/chunk-DRH2BB7I.js.map +1 -0
- package/dist/react/chunk-EQ3PKQ2S.js +402 -0
- package/dist/react/chunk-EQ3PKQ2S.js.map +1 -0
- package/dist/react/chunk-H64MMAL7.js +245 -0
- package/dist/react/chunk-H64MMAL7.js.map +1 -0
- package/dist/react/chunk-KJX5LOMN.js +43 -0
- package/dist/react/chunk-KJX5LOMN.js.map +1 -0
- package/dist/react/chunk-MO35V2Y7.js +172 -0
- package/dist/react/chunk-MO35V2Y7.js.map +1 -0
- package/dist/react/chunk-UC3E72G7.js +73 -0
- package/dist/react/chunk-UC3E72G7.js.map +1 -0
- package/dist/react/chunk-UHMKB3OR.js +5568 -0
- package/dist/react/chunk-UHMKB3OR.js.map +1 -0
- package/dist/react/chunk-UQPQBWEQ.js +54 -0
- package/dist/react/chunk-UQPQBWEQ.js.map +1 -0
- package/dist/react/chunk-XCDCVRJR.js +43 -0
- package/dist/react/chunk-XCDCVRJR.js.map +1 -0
- package/dist/react/chunk-XOYAZDIH.js +47 -0
- package/dist/react/chunk-XOYAZDIH.js.map +1 -0
- package/dist/react/chunk-YNFQEPO5.js +29 -0
- package/dist/react/chunk-YNFQEPO5.js.map +1 -0
- package/dist/react/dist-es-35AO47NO.js +90 -0
- package/dist/react/dist-es-35AO47NO.js.map +1 -0
- package/dist/react/dist-es-5GDBXNKQ.js +333 -0
- package/dist/react/dist-es-5GDBXNKQ.js.map +1 -0
- package/dist/react/dist-es-B3JDGWY6.js +71 -0
- package/dist/react/dist-es-B3JDGWY6.js.map +1 -0
- package/dist/react/dist-es-IWIE5JLA.js +169 -0
- package/dist/react/dist-es-IWIE5JLA.js.map +1 -0
- package/dist/react/dist-es-NRIS3TYJ.js +494 -0
- package/dist/react/dist-es-NRIS3TYJ.js.map +1 -0
- package/dist/react/dist-es-VCXAEYYN.js +22 -0
- package/dist/react/dist-es-VCXAEYYN.js.map +1 -0
- package/dist/react/dist-es-VU33JFTZ.js +379 -0
- package/dist/react/dist-es-VU33JFTZ.js.map +1 -0
- package/dist/react/event-streams-OSOTOTTP.js +277 -0
- package/dist/react/event-streams-OSOTOTTP.js.map +1 -0
- package/dist/react/index.d.ts +53 -4
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +10948 -190
- package/dist/react/index.js.map +1 -1
- package/dist/react/loadSso-ME7MKAM3.js +556 -0
- package/dist/react/loadSso-ME7MKAM3.js.map +1 -0
- package/dist/react/service.config-ZJEZ6EKA-FC2TR3GH.js +14 -0
- package/dist/react/service.config-ZJEZ6EKA-FC2TR3GH.js.map +1 -0
- package/dist/react/services/core.service.d.ts +11 -1
- package/dist/react/services/core.service.d.ts.map +1 -1
- package/dist/react/signin-LOXYIE5I.js +653 -0
- package/dist/react/signin-LOXYIE5I.js.map +1 -0
- package/dist/react/sso-oidc-X63KRRLO.js +786 -0
- package/dist/react/sso-oidc-X63KRRLO.js.map +1 -0
- package/dist/react/sts-OXBEY7HY.js +3948 -0
- package/dist/react/sts-OXBEY7HY.js.map +1 -0
- package/dist/react/websocket/WebSocketManager.d.ts +68 -0
- package/dist/react/websocket/WebSocketManager.d.ts.map +1 -0
- package/dist/react/websocket/index.d.ts +3 -0
- package/dist/react/websocket/index.d.ts.map +1 -0
- package/dist/react/websocket/optimistic.d.ts +51 -0
- package/dist/react/websocket/optimistic.d.ts.map +1 -0
- package/dist/react/websocket-QHA7SQXG.js +10 -0
- package/dist/react/websocket-QHA7SQXG.js.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/alb.d.ts +280 -0
- package/dist/sst/.sst/platform/src/components/aws/alb.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket-route.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket-route.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket.d.ts +13 -2
- package/dist/sst/.sst/platform/src/components/aws/apigateway-websocket.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-authorizer.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-lambda-route.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1-lambda-route.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1.d.ts +93 -83
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv1.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-authorizer.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-lambda-route.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2-lambda-route.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2.d.ts +8 -2
- package/dist/sst/.sst/platform/src/components/aws/apigatewayv2.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/app-sync-data-source.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/app-sync-data-source.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/app-sync.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/app-sync.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/aurora.d.ts +18 -0
- package/dist/sst/.sst/platform/src/components/aws/aurora.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/auth-v1.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/auth-v1.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/auth.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/bucket-lambda-subscriber.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/bucket-lambda-subscriber.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/bucket-notification.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/bucket.d.ts +13 -8
- package/dist/sst/.sst/platform/src/components/aws/bucket.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/bus-lambda-subscriber.d.ts +3 -2
- package/dist/sst/.sst/platform/src/components/aws/bus-lambda-subscriber.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/bus.d.ts +34 -3
- package/dist/sst/.sst/platform/src/components/aws/bus.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/cdn.d.ts +11 -0
- package/dist/sst/.sst/platform/src/components/aws/cdn.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/cluster.d.ts +59 -1
- package/dist/sst/.sst/platform/src/components/aws/cluster.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/cognito-identity-pool.d.ts +5 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-identity-pool.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/cognito-user-pool.d.ts +100 -0
- package/dist/sst/.sst/platform/src/components/aws/cognito-user-pool.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/cron-v2.d.ts +325 -0
- package/dist/sst/.sst/platform/src/components/aws/cron-v2.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/cron.d.ts +15 -6
- package/dist/sst/.sst/platform/src/components/aws/cron.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/dsql.d.ts +369 -0
- package/dist/sst/.sst/platform/src/components/aws/dsql.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/dynamo-lambda-subscriber.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/dynamo-lambda-subscriber.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/dynamo.d.ts +63 -3
- package/dist/sst/.sst/platform/src/components/aws/dynamo.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/email.d.ts +5 -0
- package/dist/sst/.sst/platform/src/components/aws/email.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/fargate.d.ts +95 -4
- package/dist/sst/.sst/platform/src/components/aws/fargate.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/function.d.ts +121 -21
- package/dist/sst/.sst/platform/src/components/aws/function.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/helpers/arn.d.ts +11 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/arn.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/helpers/container-builder.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/helpers/function-builder.d.ts +7 -3
- package/dist/sst/.sst/platform/src/components/aws/helpers/function-builder.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/helpers/load-balancer.d.ts +9 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/load-balancer.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/aws/helpers/provider.d.ts +2 -2
- package/dist/sst/.sst/platform/src/components/aws/helpers/provider.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/helpers/site-builder.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/helpers/site-builder.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/helpers/subscriber.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/helpers/subscriber.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/https-redirect.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/index.d.ts +4 -0
- package/dist/sst/.sst/platform/src/components/aws/index.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/kinesis-stream-lambda-subscriber.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/kinesis-stream.d.ts +8 -3
- package/dist/sst/.sst/platform/src/components/aws/kinesis-stream.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/linkable.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/linkable.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/mysql.d.ts +34 -5
- package/dist/sst/.sst/platform/src/components/aws/mysql.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/nextjs.d.ts +39 -5
- package/dist/sst/.sst/platform/src/components/aws/nextjs.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/nuxt.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/open-search.d.ts +12 -1
- package/dist/sst/.sst/platform/src/components/aws/open-search.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/opencontrol.d.ts +7 -3
- package/dist/sst/.sst/platform/src/components/aws/opencontrol.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/permission.d.ts +5 -0
- package/dist/sst/.sst/platform/src/components/aws/permission.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/postgres-v1.d.ts +13 -2
- package/dist/sst/.sst/platform/src/components/aws/postgres-v1.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/postgres.d.ts +34 -5
- package/dist/sst/.sst/platform/src/components/aws/postgres.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/queue-lambda-subscriber.d.ts +6 -1
- package/dist/sst/.sst/platform/src/components/aws/queue-lambda-subscriber.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/queue.d.ts +10 -1
- package/dist/sst/.sst/platform/src/components/aws/queue.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/realtime-lambda-subscriber.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/realtime-lambda-subscriber.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/realtime.d.ts +6 -1
- package/dist/sst/.sst/platform/src/components/aws/realtime.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/redis-v1.d.ts +10 -0
- package/dist/sst/.sst/platform/src/components/aws/redis-v1.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/redis.d.ts +14 -0
- package/dist/sst/.sst/platform/src/components/aws/redis.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/router.d.ts +482 -2
- package/dist/sst/.sst/platform/src/components/aws/router.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/service-v1.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/service.d.ts +125 -0
- package/dist/sst/.sst/platform/src/components/aws/service.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/sns-topic-lambda-subscriber.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/sns-topic-lambda-subscriber.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/sns-topic.d.ts +6 -1
- package/dist/sst/.sst/platform/src/components/aws/sns-topic.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/ssr-site.d.ts +7 -7
- package/dist/sst/.sst/platform/src/components/aws/ssr-site.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/static-site.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/step-functions/state.d.ts +1 -1
- package/dist/sst/.sst/platform/src/components/aws/step-functions/state.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/step-functions/task.d.ts +10 -2
- package/dist/sst/.sst/platform/src/components/aws/step-functions/task.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/step-functions.d.ts +5 -0
- package/dist/sst/.sst/platform/src/components/aws/step-functions.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/tan-stack-start.d.ts +20 -6
- package/dist/sst/.sst/platform/src/components/aws/tan-stack-start.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/task.d.ts +35 -15
- package/dist/sst/.sst/platform/src/components/aws/task.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/vector.d.ts +5 -0
- package/dist/sst/.sst/platform/src/components/aws/vector.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/vpc.d.ts +51 -4
- package/dist/sst/.sst/platform/src/components/aws/vpc.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/aws/workflow.d.ts +331 -0
- package/dist/sst/.sst/platform/src/components/aws/workflow.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/ai.d.ts +82 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/ai.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/binding.d.ts +15 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/binding.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/bucket.d.ts +4 -2
- package/dist/sst/.sst/platform/src/components/cloudflare/bucket.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/cron.d.ts +29 -5
- package/dist/sst/.sst/platform/src/components/cloudflare/cron.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/d1.d.ts +37 -2
- package/dist/sst/.sst/platform/src/components/cloudflare/d1.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/index.d.ts +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/index.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/kv.d.ts +36 -2
- package/dist/sst/.sst/platform/src/components/cloudflare/kv.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/worker-placement.d.ts +27 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/worker-placement.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/providers/zone-lookup.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/queue-worker-subscriber.d.ts +116 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/queue-worker-subscriber.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/cloudflare/queue.d.ts +186 -3
- package/dist/sst/.sst/platform/src/components/cloudflare/queue.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/static-site.d.ts +2 -2
- package/dist/sst/.sst/platform/src/components/cloudflare/static-site.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/cloudflare/worker.d.ts +39 -5
- package/dist/sst/.sst/platform/src/components/cloudflare/worker.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/component.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/duration.d.ts +2 -0
- package/dist/sst/.sst/platform/src/components/duration.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/esbuild.d.ts +3 -0
- package/dist/sst/.sst/platform/src/components/esbuild.d.ts.map +1 -0
- package/dist/sst/.sst/platform/src/components/link.d.ts +2 -2
- package/dist/sst/.sst/platform/src/components/link.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/linkable.d.ts +32 -2
- package/dist/sst/.sst/platform/src/components/linkable.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/rpc/rpc.d.ts.map +1 -1
- package/dist/sst/.sst/platform/src/components/vercel/dns.d.ts +2 -2
- package/dist/sst/.sst/platform/src/util/minify.d.ts +2 -0
- package/dist/sst/.sst/platform/src/util/minify.d.ts.map +1 -0
- package/dist/sst/components/monorise-core.d.ts +10 -0
- package/dist/sst/components/monorise-core.d.ts.map +1 -1
- package/dist/sst/components/q-function.d.ts +2 -3
- package/dist/sst/components/q-function.d.ts.map +1 -1
- package/dist/sst/index.js +75 -12
- package/dist/sst/index.js.map +1 -1
- package/package.json +10 -2
- package/dist/sst/.sst/platform/src/components/aws/helpers/quota.d.ts +0 -7
- 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
|
|
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<
|
|
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,
|
|
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;
|
|
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 @@
|
|
|
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
|
|
22
|
+
type: string;
|
|
23
23
|
};
|
|
24
24
|
}>[];
|
|
25
25
|
function getProperties(links?: Input<any[]>): Output<{
|
|
26
26
|
[k: string]: {
|
|
27
|
-
type: string
|
|
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,
|
|
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():
|
|
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():
|
|
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":"
|
|
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,
|
|
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
|
|
24
|
+
* 1. To use this component, add the `vercel` provider to your app.
|
|
25
25
|
*
|
|
26
26
|
* ```bash
|
|
27
|
-
* sst add
|
|
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 @@
|
|
|
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;
|
|
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
|
-
|
|
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?:
|
|
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,
|
|
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
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
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([
|
package/dist/sst/index.js.map
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,WAAU;;;ACEjB,IAAM,SAAS;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AACX;AAOA,IAAM,QAAQ;AAAA,EACZ,MAAM;AAAA,IACJ,uBAAuB;AAAA,MACrB,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA;AAAA;AAAA;AAAA,IAKA,gBAAgB;AAAA,MACd,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,IACA,iBAAiB;AAAA,MACf,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,IACA,gBAAgB;AAAA,MACd,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,IACA,gBAAgB;AAAA,MACd,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,IACA,yBAAyB;AAAA,MACvB,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,IACA,yBAAyB;AAAA,MACvB,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,IACA,yBAAyB;AAAA,MACvB,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,IAEA,eAAe;AAAA,MACb,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA;AAAA;AAAA;AAAA,IAKA,gBAAgB,CAAC,cAA0B,gBAA4B;AAAA,MACrE,QAAQ,OAAO;AAAA,MACf,YAAY,kBAAkB,YAAY,IAAI,UAAU;AAAA,IAC1D;AAAA,IACA,gBAAgB,CAAC,cAA0B,gBAA4B;AAAA,MACrE,QAAQ,OAAO;AAAA,MACf,YAAY,kBAAkB,YAAY,IAAI,UAAU;AAAA,IAC1D;AAAA,IACA,gBAAgB,CAAC,cAA0B,gBAA4B;AAAA,MACrE,QAAQ,OAAO;AAAA,MACf,YAAY,kBAAkB,YAAY,IAAI,UAAU;AAAA,IAC1D;AAAA,IACA,2BAA2B;AAAA,MACzB,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EAEA,SAAS;AAAA,IACP,gBAAgB;AAAA,MACd,QAAQ,OAAO;AAAA,MACf,YAAY;AAAA,IACd;AAAA,EACF;AACF;;;ACnFO,SAAS,sBACd,OACA,cACA,GACA,QACA,SACA;AACA,QAAM,SAAS,CAAC,CAAC;AACjB,QAAM,IAAI,SAAS,IAAI;AACvB,QAAM,UAAoB,CAAC;AAC3B,MAAI,IAAI;AAGR,UAAQ,KAAK;AAAA,IACX,MAAM;AAAA,IACN,GAAG;AAAA,IACH;AAAA,IACA,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,UAAU,MAAM,KAAK;AAAA,IACvB;AAAA,EACF,CAAC;AAED,QAAM,UAAU,IAAI;AAEpB,UAAQ,KAAK;AAAA,IACX,MAAM;AAAA,IACN;AAAA,IACA,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,SAAS;AAAA,QACP,CAAC,cAAc,eAAe,gBAAgB,YAAY;AAAA,MAC5D;AAAA,MACA,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF,CAAC;AACD,OAAK;AAEL,UAAQ,KAAK;AAAA,IACX,MAAM;AAAA,IACN;AAAA,IACA,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,SAAS;AAAA,QACP;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,EAAE,OAAO,MAAM;AAAA,QACjB;AAAA,QACA,CAAC,OAAO,EAAE,MAAM,OAAO,OAAO,MAAM,CAAC;AAAA,MACvC;AAAA,MACA,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF,CAAC;AACD,OAAK;AAEL,UAAQ,KAAK;AAAA,IACX,MAAM;AAAA,IACN;AAAA,IACA,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,SAAS;AAAA,QACP,CAAC,cAAc,UAAU,gBAAgB,YAAY;AAAA,MACvD;AAAA,MACA,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF,CAAC;AACD,OAAK;AAEL,UAAQ,KAAK;AAAA,IACX,MAAM;AAAA,IACN;AAAA,IACA,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,SAAS;AAAA,QACP;AAAA,UACE;AAAA,YACE,YAAY;AAAA,YACZ,OAAO;AAAA,YACP,IAAI;AAAA,UACN;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,EAAE,IAAI,eAAe,SAAS,MAAM;AAAA,QACtC;AAAA,QACA;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,EAAE,IAAI,UAAU,SAAS,MAAM;AAAA,QACjC;AAAA,MACF;AAAA,MACA,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR;AAAA,MACA,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,IAAI,EAAE;AAAA,IACtC;AAAA,EACF,CAAC;AACD,OAAK;AAEL,QAAM,cAAc,SAAS,IAAI,KAAK;AACtC,UAAQ,KAAK;AAAA,IACX,MAAM;AAAA,IACN;AAAA,IACA,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,SAAS;AAAA,QACP;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACA,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,EACF,CAAC;AACD,OAAK;AAEL,MAAI,SAAS;AACX,YAAQ,KAAK;AAAA,MACX,MAAM;AAAA,MACN;AAAA,MACA,GAAG;AAAA,MACH,OAAO,KAAK;AAAA,MACZ,QAAQ;AAAA,MACR,YAAY;AAAA,QACV,SAAS;AAAA,UACP;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACA,OAAO;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,QACR;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;;;ACrKO,IAAM,YAAN,MAAgB;AAAA,EAMrB,YAAY,IAAY,MAAqB;AAC3C,SAAK,KAAK;AAEV,UAOI,WANF;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAxBN,IA0BQ,IADC,yBACD,IADC;AAAA,MALH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAIF,SAAK,MAAM,IAAI,IAAI,IAAI,MAAM,GAAG,EAAE,YAAY;AAE9C,SAAK,QAAQ,IAAI,IAAI,IAAI,MAAM,GAAG,EAAE,UAAU;AAAA,MAC5C;AAAA,MACA,KAAK,KAAK,IAAI;AAAA,IAChB,CAAC;AAED,SAAK,WAAW,IAAI,IAAI,IAAI,SAAS,GAAG,EAAE,cAAc,iCACnD,eADmD;AAAA,MAEtD,OAAO,6BAAgB,UACnB,CAAC,KAAK,OAAO,GAAI,IAAc,IAC/B,CAAC,KAAK,KAAK;AAAA,IACjB,EAAC;AAED,SAAK,MAAM,UAAU,KAAK,SAAS,KAAK;AAAA,MACtC,OAAO;AAAA,QACL,kBAAkB;AAAA,QAClB,QAAQ;AAAA,QACR,MAAM;AAAA,MACR;AAAA,IACF,CAAC;AAED,QAAI,YAAY;AACd,YAAM,kBAAkB,IAAI,IAAI,WAAW;AAAA,QACzC,GAAG,EAAE;AAAA,QACL;AAAA,UACE,MAAM,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AAAA,UACtC,oBAAoB;AAAA,UACpB,mBAAmB;AAAA,UACnB,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,WAAW;AAAA,UACX,YAAY;AAAA,YACV,WAAW,KAAK,IAAI,MAAM,MAAM;AAAA,UAClC;AAAA,UACA,kBACE;AAAA;AAAA,UAEF,cAAc,CAAC,WAAW,GAAG;AAAA;AAAA;AAAA,QAG/B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC3EA,OAAO,UAAU;;;ACAV,IAAM,2BAA2B;AACjC,IAAM,2BAA2B;;;ADWjC,IAAM,cAAN,MAAkB;AAAA,EAMvB,YAAY,IAAY,MAAwB;AAlBlD;AAmBI,SAAK,KAAK;AACV,SAAK,yBAAyB,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AAC9D,SAAK,MAAM,IAAI,IAAI,IAAI,MAAM,GAAG,EAAE,sBAAsB;AACxD,SAAK,QAAQ,IAAI,IAAI,IAAI,OAAO,GAAG,EAAE,eAAe;AAAA,MAClD,QAAQ;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,cAAc,EAAE,SAAS,MAAM,UAAU,KAAK;AAAA,MAC9C,eAAe;AAAA,QACb,CAAC,wBAAwB,GAAG;AAAA,UAC1B,SAAS;AAAA,UACT,UAAU;AAAA,UACV,YAAY;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACA,CAAC,wBAAwB,GAAG;AAAA,UAC1B,SAAS;AAAA,UACT,UAAU;AAAA,UACV,YAAY;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,QAAQ;AAAA,MACR,KAAK,6BAAM;AAAA,IACb,CAAC;AAED,UAAM,cAAc;AAAA,MAClB,YAAY,KAAK,MAAM;AAAA,IACzB;AAEA,SAAK,MAAM;AAAA,MACT,GAAG,EAAE;AAAA,MACL;AAAA,QACE,MAAM,KAAK;AAAA,QACX,SAAS,KAAK;AAAA,WACZ,kCAAM,eAAN,YAAoB;AAAA,UACpB;AAAA,QACF;AAAA,QACA,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS,6BAAM;AAAA,QACf;AAAA,QACA,MAAM,CAAC,KAAK,OAAO,KAAK,GAAG;AAAA,MAC7B;AAAA,MACA;AAAA,QACE,WAAW;AAAA,UACT,oBAAoB;AAAA,YAClB,kBAAkB;AAAA,YAClB,4BAA4B;AAAA,YAC5B,sBAAsB;AAAA,YACtB,mBAAmB;AAAA,cACjB,WAAW;AAAA,gBACT,gBAAgB,KAAK,IAAI;AAAA,cAC3B;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AJlFO,IAAM,eAAN,MAAmB;AAAA,EAOxB,YAAY,IAAY,MAAyB;AArBnD;AAsBI,UAAM,UAA2C;AACjD,UAAM,qBAAoB,6BAAM,cAC5B,iBAAiB,KAAK,UAAU,KAChC;AACJ,UAAM,kBAAkBC,MAAK,MAAK,kCAAM,eAAN,YAAoB,IAAI,WAAW;AAErE,QAAI,IAAI,EAAE,WAAW,YAAY;AAAA,MAC/B,KAAK;AAAA,QACH,WAAW;AAAA,QACX,SAAS,oBAAoB,iBAAiB;AAAA,MAChD;AAAA,IACF,CAAC;AAED,SAAK,KAAK;AAEV,SAAK,MAAM,IAAI,IAAI,IAAI,aAAa,GAAG,EAAE,iBAAiB;AAAA,MACxD,MAAM;AAAA,QACJ,cAAc,CAAC,GAAG;AAAA,QAClB,kBAAkB;AAAA,QAClB,cAAc;AAAA,UACZ,IAAI,6BAAM,gBAAe,KAAK,eAAe,CAAC;AAAA,UAC9C;AAAA,UACA;AAAA,QACF;AAAA,QACA,cAAc,6BAAM;AAAA,MACtB;AAAA,IACF,CAAC;AAED,SAAK,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,eAAe;AAC/C,SAAK,QAAQ,IAAI,YAAY,IAAI;AAAA,MAC/B,KAAK,6BAAM;AAAA,MACX;AAAA,MACA,YAAY,6BAAM;AAAA,IACpB,CAAC;AAED,UAAM,gBAAgB,IAAI,IAAI,OAAO,YAAY,wBAAwB;AAEzE,UAAM,iBAAiB,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AACvD,SAAK,IAAI,MAAM,sBAAsB;AAAA,MACnC,MAAM;AAAA,MACN,SAAS,GAAG,eAAe;AAAA,MAC3B,MAAM,CAAC,KAAK,MAAM,OAAO,KAAK,KAAK,aAAa;AAAA,MAChD,aAAa;AAAA,QACX,UAAU,cAAc;AAAA,QACxB,YAAY,KAAK,MAAM,MAAM;AAAA,QAC7B,gBAAgB,KAAK,IAAI;AAAA,MAC3B;AAAA,IACF,CAAC;AAED,SAAK,aAAa,IAAI,IAAI,IAAI,SAAS,GAAG,EAAE,2BAA2B;AAEvE,UAAM,cAAc;AAAA,MAClB,YAAY,KAAK,MAAM,MAAM;AAAA,MAC7B,gBAAgB,KAAK,IAAI;AAAA,IAC3B;AAKA,UAAM,sBAAsB,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AAC5D,UAAM,mBAAmB,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AACzD,UAAM,oBAAoB,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AAE1D,UAAM,kBAAkB,IAAI,UAAU,UAAU;AAAA,MAC9C,MAAM;AAAA,MACN,SAAS,GAAG,eAAe;AAAA,MAC3B,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,mBAAmB;AAAA,MACnB,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,MACA,MAAM,CAAC,KAAK,MAAM,OAAO,KAAK,GAAG;AAAA,IACnC,CAAC;AAED,UAAM,eAAe,IAAI,UAAU,OAAO;AAAA,MACxC,MAAM;AAAA,MACN,SAAS,GAAG,eAAe;AAAA,MAC3B,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,mBAAmB;AAAA,MACnB,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,MACA,MAAM,CAAC,KAAK,MAAM,KAAK;AAAA,IACzB,CAAC;AAED,UAAM,gBAAgB,IAAI,UAAU,QAAQ;AAAA,MAC1C,MAAM;AAAA,MACN,SAAS,GAAG,eAAe;AAAA,MAC3B,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,mBAAmB;AAAA,MACnB,YAAY,KAAK;AAAA,MACjB;AAAA,MACA;AAAA,MACA,MAAM,CAAC,KAAK,MAAM,KAAK;AAAA,IACzB,CAAC;AAED,SAAK,IAAI,eAAe,GAAG,EAAE,sBAAsB,gBAAgB,OAAO;AAAA,MACxE,SAAS;AAAA,QACP,QAAQ,CAAC,OAAO,IAAI;AAAA,QACpB,YAAY;AAAA,UACV,MAAM,KAAK,wBAAwB;AAAA,UACnC,MAAM,KAAK,wBAAwB;AAAA,QACrC;AAAA,MACF;AAAA,IACF,CAAC;AAED,SAAK,IAAI,eAAe,GAAG,EAAE,mBAAmB,aAAa,OAAO;AAAA,MAClE,SAAS;AAAA,QACP,QAAQ,CAAC,OAAO,IAAI;AAAA,QACpB,YAAY;AAAA,UACV,MAAM,KAAK,eAAe;AAAA,UAC1B,MAAM,KAAK,eAAe;AAAA,QAC5B;AAAA,MACF;AAAA,IACF,CAAC;AAED,SAAK,IAAI,eAAe,GAAG,EAAE,oBAAoB,cAAc,OAAO;AAAA,MACpE,SAAS;AAAA,QACP,QAAQ,CAAC,OAAO,IAAI;AAAA,QACpB,YAAY;AAAA,UACV,MAAM,KAAK,wBAAwB;AAAA,UACnC,MAAM,KAAK,0BAA0B;AAAA,QACvC;AAAA,MACF;AAAA,IACF,CAAC;AAKD,QAAI,IAAI,WAAW,UAAU,GAAG,EAAE,uBAAuB;AAAA,MACvD,eAAe,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AAAA,MAC/C,eAAe,SAAS;AAAA,QACtB,IAAI,gBAAgB,EAAE;AAAA,QACtB,KAAK,MAAM,MAAM;AAAA,QACjB,gBAAgB,IAAI,MAAM,MAAM;AAAA,QAChC,aAAa,IAAI,MAAM,MAAM;AAAA,QAC7B,cAAc,IAAI,MAAM,MAAM;AAAA,QAC9B,KAAK,MAAM,IAAI,MAAM,MAAM;AAAA,MAC7B,CAAC,EAAE;AAAA,QACD,CAAC,CAAC,QAAQ,WAAW,WAAW,QAAQ,SAAS,aAAa,MAAM;AAClE,gBAAM,cAAc,WAAW,MAAM,kDAAkD,MAAM,eAAe,SAAS;AAErH,iBAAO,KAAK,UAAU;AAAA,YACpB,SAAS;AAAA,cACP;AAAA,gBACE,MAAM;AAAA,gBACN,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,YAAY;AAAA,kBACV,UAAU;AAAA,gCAAwD,WAAW;AAAA,gBAC/E;AAAA,cACF;AAAA,cACA,GAAG;AAAA,gBACD;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,GAAG;AAAA,gBACD;AAAA,gBACA,KAAK,MAAM;AAAA,gBACX;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,GAAG;AAAA,gBACD;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,GAAG;AAAA,gBACD;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cACA,GAAG;AAAA,gBACD;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AMxNO,IAAM,WAAW;AAAA,EACtB,QAAQ;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,OAAO;AAAA,IACL;AAAA,EACF;AACF;","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": "
|
|
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": "
|
|
102
|
+
"sst": "4.7.3"
|
|
95
103
|
},
|
|
96
104
|
"devDependencies": {
|
|
97
105
|
"@types/aws-lambda": "^8.10.147",
|