@sponson/adapters 0.7.0 → 0.9.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 (84) hide show
  1. package/dist/algolia.js +7 -3
  2. package/dist/algolia.js.map +1 -1
  3. package/dist/clerk.js +13 -3
  4. package/dist/clerk.js.map +1 -1
  5. package/dist/cloud_run.js +2 -0
  6. package/dist/cloud_run.js.map +1 -1
  7. package/dist/cloudflare.js +12 -3
  8. package/dist/cloudflare.js.map +1 -1
  9. package/dist/common.d.ts +7 -1
  10. package/dist/common.js +9 -0
  11. package/dist/common.js.map +1 -1
  12. package/dist/credentials.d.ts +14 -0
  13. package/dist/credentials.js +25 -0
  14. package/dist/credentials.js.map +1 -0
  15. package/dist/digitalocean.js +7 -3
  16. package/dist/digitalocean.js.map +1 -1
  17. package/dist/http-adapter-list.js +2 -1
  18. package/dist/http-adapter-list.js.map +1 -1
  19. package/dist/http-adapter-resource.js +2 -0
  20. package/dist/http-adapter-resource.js.map +1 -1
  21. package/dist/index.d.ts +3 -2
  22. package/dist/index.js +2 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/launchdarkly.js +8 -3
  25. package/dist/launchdarkly.js.map +1 -1
  26. package/dist/neon.js +19 -3
  27. package/dist/neon.js.map +1 -1
  28. package/dist/netlify.js +9 -3
  29. package/dist/netlify.js.map +1 -1
  30. package/dist/planetscale.js +16 -3
  31. package/dist/planetscale.js.map +1 -1
  32. package/dist/providers.d.ts +4 -0
  33. package/dist/providers.js +3 -0
  34. package/dist/providers.js.map +1 -1
  35. package/dist/recipes.d.ts +39 -0
  36. package/dist/recipes.js +26 -0
  37. package/dist/recipes.js.map +1 -1
  38. package/dist/supabase.js +9 -3
  39. package/dist/supabase.js.map +1 -1
  40. package/dist/vercel.js +19 -3
  41. package/dist/vercel.js.map +1 -1
  42. package/dist/xata.js +12 -3
  43. package/dist/xata.js.map +1 -1
  44. package/package.json +3 -3
  45. package/recipes/amplify.yaml +5 -0
  46. package/recipes/auth0.yaml +5 -0
  47. package/recipes/azure_swa.yaml +4 -0
  48. package/recipes/cloudflare.yaml +5 -0
  49. package/recipes/cockroachdb.yaml +5 -0
  50. package/recipes/configcat.yaml +5 -0
  51. package/recipes/datadog.yaml +5 -0
  52. package/recipes/firebase.yaml +4 -0
  53. package/recipes/flagsmith.yaml +5 -0
  54. package/recipes/fly.yaml +4 -0
  55. package/recipes/fly_machines.yaml +4 -0
  56. package/recipes/gcs.yaml +4 -0
  57. package/recipes/github.yaml +5 -0
  58. package/recipes/growthbook.yaml +5 -0
  59. package/recipes/heroku.yaml +4 -0
  60. package/recipes/honeycomb.yaml +5 -0
  61. package/recipes/kinde.yaml +4 -0
  62. package/recipes/mongodb_atlas.yaml +5 -0
  63. package/recipes/okta.yaml +5 -0
  64. package/recipes/posthog.yaml +4 -0
  65. package/recipes/postmark.yaml +5 -0
  66. package/recipes/postmark_server.yaml +5 -0
  67. package/recipes/prisma.yaml +5 -0
  68. package/recipes/qstash.yaml +5 -0
  69. package/recipes/railway.yaml +4 -0
  70. package/recipes/render.yaml +5 -0
  71. package/recipes/resend.yaml +5 -0
  72. package/recipes/s3.yaml +4 -0
  73. package/recipes/sendgrid.yaml +5 -0
  74. package/recipes/sentry.yaml +4 -0
  75. package/recipes/split.yaml +5 -0
  76. package/recipes/statsig.yaml +5 -0
  77. package/recipes/stripe.yaml +10 -0
  78. package/recipes/stytch.yaml +5 -0
  79. package/recipes/svix.yaml +5 -0
  80. package/recipes/turso.yaml +5 -0
  81. package/recipes/unleash.yaml +5 -0
  82. package/recipes/upstash.yaml +5 -0
  83. package/recipes/vercel.yaml +5 -0
  84. package/recipes/workos.yaml +5 -0
@@ -25,6 +25,11 @@ api:
25
25
  base_url: https://api.resend.com
26
26
  base_url_env: RESEND_API_URL
27
27
  auth: { bearer_env: RESEND_API_KEY }
28
+ credential:
29
+ url: "https://resend.com/api-keys"
30
+ scope: "An API key with Full access: Sending access can only send email, not manage webhooks, domains or keys."
31
+ source: "https://resend.com/docs/dashboard/api-keys/introduction"
32
+ verify: "GET /domains"
28
33
  detect:
29
34
  deps: [resend]
30
35
  env: ["RESEND_*"]
package/recipes/s3.yaml CHANGED
@@ -20,6 +20,10 @@ api:
20
20
  encoding: xml
21
21
  auth:
22
22
  aws_sigv4: { region: us-east-1, service: s3, access_key_id_env: AWS_ACCESS_KEY_ID, secret_access_key_env: AWS_SECRET_ACCESS_KEY }
23
+ credential:
24
+ url: "https://console.aws.amazon.com/iam/home#/users"
25
+ scope: "AWS: an access key whose policy allows s3:GetBucketCORS and s3:PutBucketCORS on the bucket. R2: an API token with Admin Read & Write."
26
+ source: "https://developers.cloudflare.com/r2/api/tokens/"
23
27
  detect:
24
28
  deps: ["@aws-sdk/client-s3"]
25
29
  starter:
@@ -27,6 +27,11 @@ api:
27
27
  base_url: https://api.sendgrid.com
28
28
  base_url_env: SENDGRID_API_URL
29
29
  auth: { bearer_env: SENDGRID_API_KEY }
30
+ credential:
31
+ url: "https://app.sendgrid.com/settings/api_keys"
32
+ scope: "A Restricted Access key with Mail Settings > Event Notification set to Full Access."
33
+ source: "https://www.twilio.com/docs/sendgrid/ui/account-and-settings/api-keys"
34
+ verify: "GET /v3/scopes"
30
35
  detect:
31
36
  deps: ["@sendgrid/"]
32
37
  env: ["SENDGRID_*"]
@@ -23,6 +23,10 @@ api:
23
23
  base_url: https://sentry.io/api/0
24
24
  base_url_env: SENTRY_API_URL
25
25
  auth: { bearer_env: SENTRY_AUTH_TOKEN }
26
+ credential:
27
+ url: "https://docs.sentry.io/account/auth-tokens/"
28
+ scope: "An organization auth token (Settings > Auth Tokens), or a personal token with project:releases."
29
+ source: "https://docs.sentry.io/api/permissions/"
26
30
  detect:
27
31
  deps: ["@sentry/"]
28
32
  env: ["SENTRY_*"]
@@ -21,6 +21,11 @@ api:
21
21
  base_url: https://api.split.io/internal/api/v2
22
22
  base_url_env: SPLIT_API_URL
23
23
  auth: { bearer_env: SPLIT_ADMIN_API_KEY }
24
+ credential:
25
+ url: "https://developer.harness.io/docs/feature-management-experimentation/api-keys/"
26
+ scope: "An Admin API key (Admin settings > API keys), restricted to the environments the lines change."
27
+ source: "https://docs.split.io/reference/authentication"
28
+ verify: "GET /workspaces"
24
29
  detect:
25
30
  deps: ["@splitsoftware/"]
26
31
  env: ["SPLIT_*"]
@@ -22,6 +22,11 @@ api:
22
22
  base_url_env: STATSIG_API_URL
23
23
  auth: { header: STATSIG-API-KEY, value_env: STATSIG_CONSOLE_API_KEY }
24
24
  headers: { STATSIG-API-VERSION: "20240601" }
25
+ credential:
26
+ url: "https://console.statsig.com/api_keys"
27
+ scope: "A Console API key (Project Settings > API Keys) that can edit gates."
28
+ source: "https://docs.statsig.com/console-api/gates"
29
+ verify: "GET /gates?limit=1"
25
30
  detect:
26
31
  deps: [statsig-js, statsig-node, statsig-react, "@statsig/"]
27
32
  env: ["STATSIG_*"]
@@ -43,6 +43,11 @@ api:
43
43
  encoding: form
44
44
  # A preview must never create live-mode objects (ST2): live keys are refused unless this variable says otherwise.
45
45
  refuse_credential: { prefixes: [sk_live_, rk_live_], unless_env: SPONSON_STRIPE_ALLOW_LIVE }
46
+ credential:
47
+ url: "https://dashboard.stripe.com/test/apikeys"
48
+ scope: "A test-mode restricted key (Create restricted key) with Webhook Endpoints set to Write and everything else None."
49
+ source: "https://docs.stripe.com/keys/restricted-api-keys"
50
+ verify: "GET /webhook_endpoints?limit=1"
46
51
  detect:
47
52
  deps: [stripe, "@stripe/"]
48
53
  env: ["STRIPE_*"]
@@ -50,6 +55,8 @@ detect:
50
55
  - op: webhook_endpoint
51
56
  preview_url: url
52
57
  values: { name: "preview-${ctx.scope}" }
58
+ check: [path]
59
+ env: { secret: STRIPE_WEBHOOK_SECRET }
53
60
  assumptions:
54
61
  - id: ST1
55
62
  verified: true
@@ -172,6 +179,9 @@ ops:
172
179
  description: { param: description }
173
180
  outputs:
174
181
  secret: { path: /secret, sensitive: true, once: true }
182
+ console_url:
183
+ template: https://dashboard.stripe.com/webhooks
184
+ source: https://docs.stripe.com/webhooks
175
185
  live:
176
186
  params: { url: SPONSON_LIVE_STRIPE_WEBHOOK_URL }
177
187
  product:
@@ -22,6 +22,11 @@ api:
22
22
  base_url: https://management.stytch.com
23
23
  base_url_env: STYTCH_MANAGEMENT_API_URL
24
24
  auth: { basic: { user_env: STYTCH_WORKSPACE_KEY_ID, password_env: STYTCH_WORKSPACE_KEY_SECRET } }
25
+ credential:
26
+ url: "https://stytch.com/dashboard/settings/management-api"
27
+ scope: "A Workspace Management API key (Workspace settings > Management API); its key ID and secret, no finer scopes."
28
+ source: "https://stytch.com/docs/workspace-management/pwa/overview"
29
+ verify: "GET /pwa/v3/projects"
25
30
  detect:
26
31
  deps: [stytch, "@stytch/"]
27
32
  env: ["STYTCH_*"]
package/recipes/svix.yaml CHANGED
@@ -16,6 +16,11 @@ api:
16
16
  base_url: https://api.us.svix.com
17
17
  base_url_env: SVIX_API_URL
18
18
  auth: { bearer_env: SVIX_AUTH_TOKEN }
19
+ credential:
20
+ url: "https://dashboard.svix.com/api-access"
21
+ scope: "The environment's API key (API Access); keys have no finer scopes."
22
+ source: "https://docs.svix.com/api-keys"
23
+ verify: "GET /api/v1/app?limit=1"
19
24
  detect:
20
25
  deps: [svix]
21
26
  env: ["SVIX_*"]
@@ -17,6 +17,11 @@ api:
17
17
  base_url: https://api.turso.tech/v1
18
18
  base_url_env: TURSO_API_URL
19
19
  auth: { bearer_env: TURSO_API_TOKEN }
20
+ credential:
21
+ url: "https://docs.turso.tech/api-reference/authentication"
22
+ scope: "A platform API token for the organization (`turso auth api-tokens mint <name> --org <org>`)."
23
+ source: "https://docs.turso.tech/api-reference/authentication"
24
+ verify: "GET /auth/validate"
20
25
  detect:
21
26
  deps: ["@libsql/client", "@tursodatabase/"]
22
27
  env: ["TURSO_*"]
@@ -23,6 +23,11 @@ base_url_example: https://unleash.example.com
23
23
  api:
24
24
  base_url_env: UNLEASH_API_URL
25
25
  auth: { header: Authorization, value_env: UNLEASH_AUTH_TOKEN }
26
+ credential:
27
+ url: "https://docs.getunleash.io/concepts/api-tokens-and-client-keys"
28
+ scope: "A personal access token (or an Enterprise service account token) whose role edits flags and strategies in the project; not a client or frontend token."
29
+ source: "https://docs.getunleash.io/concepts/api-tokens-and-client-keys"
30
+ verify: "GET /api/admin/projects"
26
31
  detect:
27
32
  deps: [unleash-client, unleash-proxy-client, "@unleash/"]
28
33
  env: ["UNLEASH_*"]
@@ -26,6 +26,11 @@ api:
26
26
  base_url: https://api.upstash.com/v2
27
27
  base_url_env: UPSTASH_API_URL
28
28
  auth: { basic: { user_env: UPSTASH_EMAIL, password_env: UPSTASH_API_KEY } }
29
+ credential:
30
+ url: "https://console.upstash.com/account/api"
31
+ scope: "A Developer API key (Account > Developer API) with Read/Write; the account's email is its user name."
32
+ source: "https://upstash.com/docs/devops/developer-api/authentication"
33
+ verify: "GET /redis/databases"
29
34
  detect:
30
35
  deps: ["@upstash/redis"]
31
36
  env: ["UPSTASH_REDIS_*"]
@@ -24,6 +24,11 @@ api:
24
24
  base_url: https://api.vercel.com
25
25
  base_url_env: VERCEL_API_URL
26
26
  auth: { bearer_env: VERCEL_TOKEN }
27
+ credential:
28
+ url: "https://vercel.com/account/tokens"
29
+ scope: "A token scoped to the team that owns the project, with an expiration."
30
+ source: "https://vercel.com/kb/guide/how-do-i-use-a-vercel-api-access-token"
31
+ verify: "GET /v2/user"
27
32
  assumptions:
28
33
  - id: VD1
29
34
  verified: true
@@ -13,6 +13,11 @@ api:
13
13
  base_url: https://api.workos.com
14
14
  base_url_env: WORKOS_API_URL
15
15
  auth: { bearer_env: WORKOS_API_KEY }
16
+ credential:
17
+ url: "https://dashboard.workos.com/api-keys"
18
+ scope: "The secret API key of the environment (staging for previews); WorkOS keys have no finer permissions."
19
+ source: "https://workos.com/docs/reference/api-keys"
20
+ verify: "GET /organizations?limit=1"
16
21
  detect:
17
22
  deps: ["@workos-inc/"]
18
23
  env: ["WORKOS_*"]