@friehub/blueprint 0.1.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 (138) hide show
  1. package/.github/workflows/ci.yml +122 -0
  2. package/.github/workflows/publish.yml +24 -0
  3. package/README.md +266 -0
  4. package/adapters/analytics/amplitude.yaml +44 -0
  5. package/adapters/analytics/mixpanel.yaml +47 -0
  6. package/adapters/analytics/segment.yaml +40 -0
  7. package/adapters/auth/auth0.yaml +56 -0
  8. package/adapters/auth/clerk.yaml +53 -0
  9. package/adapters/auth/supertokens.yaml +55 -0
  10. package/adapters/billing/paddle.yaml +57 -0
  11. package/adapters/billing/stripe.yaml +49 -0
  12. package/adapters/caching/memcached.yaml +28 -0
  13. package/adapters/caching/redis.yaml +37 -0
  14. package/adapters/chargebacks/chargebacks911.yaml +45 -0
  15. package/adapters/chargebacks/stripe.yaml +45 -0
  16. package/adapters/crm_leads/hubspot.yaml +43 -0
  17. package/adapters/crm_leads/salesforce.yaml +60 -0
  18. package/adapters/customer_support/intercom.yaml +44 -0
  19. package/adapters/customer_support/zendesk.yaml +51 -0
  20. package/adapters/donations/paypal.yaml +47 -0
  21. package/adapters/donations/stripe.yaml +47 -0
  22. package/adapters/emails/mailgun.yaml +47 -0
  23. package/adapters/emails/resend.yaml +43 -0
  24. package/adapters/emails/sendgrid.yaml +43 -0
  25. package/adapters/error_tracking/bugsnag.yaml +52 -0
  26. package/adapters/error_tracking/sentry.yaml +58 -0
  27. package/adapters/feature_flags/flagsmith.yaml +41 -0
  28. package/adapters/feature_flags/launchdarkly.yaml +41 -0
  29. package/adapters/feature_flags/unleash.yaml +41 -0
  30. package/adapters/fraud_detection/riskified.yaml +41 -0
  31. package/adapters/fraud_detection/sift.yaml +40 -0
  32. package/adapters/fulfillment/easyship.yaml +51 -0
  33. package/adapters/fulfillment/shipengine.yaml +51 -0
  34. package/adapters/incident_management/opsgenie.yaml +49 -0
  35. package/adapters/incident_management/pagerduty.yaml +48 -0
  36. package/adapters/invoicing/freshbooks.yaml +54 -0
  37. package/adapters/invoicing/stripe.yaml +47 -0
  38. package/adapters/ip_intelligence/ipinfo.yaml +37 -0
  39. package/adapters/ip_intelligence/maxmind.yaml +39 -0
  40. package/adapters/jobs/bullmq.yaml +54 -0
  41. package/adapters/jobs/temporal.yaml +53 -0
  42. package/adapters/kyc/jumio.yaml +54 -0
  43. package/adapters/kyc/onfido.yaml +53 -0
  44. package/adapters/media/cloudinary.yaml +48 -0
  45. package/adapters/media/imgix.yaml +47 -0
  46. package/adapters/notifications/firebase.yaml +45 -0
  47. package/adapters/notifications/novu.yaml +46 -0
  48. package/adapters/notifications/onesignal.yaml +45 -0
  49. package/adapters/payments/adyen.yaml +46 -0
  50. package/adapters/payments/paystack.yaml +45 -0
  51. package/adapters/payments/stripe.yaml +49 -0
  52. package/adapters/payouts/paypal.yaml +49 -0
  53. package/adapters/payouts/stripe.yaml +49 -0
  54. package/adapters/projects/asana.yaml +49 -0
  55. package/adapters/projects/jira.yaml +58 -0
  56. package/adapters/projects/linear.yaml +49 -0
  57. package/adapters/queues/bullmq.yaml +47 -0
  58. package/adapters/queues/rabbitmq.yaml +51 -0
  59. package/adapters/queues/sqs.yaml +45 -0
  60. package/adapters/rate_limiting/cloudflare.yaml +37 -0
  61. package/adapters/rate_limiting/upstash.yaml +35 -0
  62. package/adapters/search/algolia.yaml +39 -0
  63. package/adapters/search/meilisearch.yaml +39 -0
  64. package/adapters/search/typesense.yaml +42 -0
  65. package/adapters/shipping/easyship.yaml +45 -0
  66. package/adapters/shipping/shipengine.yaml +45 -0
  67. package/adapters/sms/twilio.yaml +41 -0
  68. package/adapters/sms/vonage.yaml +41 -0
  69. package/adapters/storage/azure-blob.yaml +42 -0
  70. package/adapters/storage/gcs.yaml +41 -0
  71. package/adapters/storage/s3.yaml +49 -0
  72. package/adapters/subscriptions/chargebee.yaml +32 -0
  73. package/adapters/subscriptions/stripe.yaml +37 -0
  74. package/adapters/tasks/asana.yaml +50 -0
  75. package/adapters/tasks/jira.yaml +59 -0
  76. package/adapters/tasks/linear.yaml +50 -0
  77. package/adapters/taxation/avalara.yaml +52 -0
  78. package/adapters/taxation/taxjar.yaml +48 -0
  79. package/adapters/trace_query/datadog.yaml +49 -0
  80. package/adapters/trace_query/honeycomb.yaml +42 -0
  81. package/adapters/trace_query/jaeger.yaml +42 -0
  82. package/adapters/web_analytics/google-analytics.yaml +42 -0
  83. package/adapters/web_analytics/plausible.yaml +34 -0
  84. package/adapters/web_analytics/posthog.yaml +34 -0
  85. package/adapters/webhooks/relay.yaml +35 -0
  86. package/adapters/webhooks/svix.yaml +41 -0
  87. package/blueprint.json +5 -0
  88. package/blueprinter_system_design.svg +139 -0
  89. package/catalog.json +37943 -0
  90. package/dist/cli/commands.js +362 -0
  91. package/dist/cli/help.js +211 -0
  92. package/dist/cli/render.js +109 -0
  93. package/dist/cli.js +69 -0
  94. package/dist/core/adapters/adapter-audit.test.js +85 -0
  95. package/dist/core/adapters/adapter.test.js +66 -0
  96. package/dist/core/adapters/index.js +4 -0
  97. package/dist/core/adapters/load.js +131 -0
  98. package/dist/core/adapters/resolve.js +78 -0
  99. package/dist/core/adapters/select.js +80 -0
  100. package/dist/core/adapters/types.js +1 -0
  101. package/dist/core/adapters/validate.js +121 -0
  102. package/dist/core/catalog.js +3 -0
  103. package/dist/core/collectors.js +126 -0
  104. package/dist/core/discovery.js +57 -0
  105. package/dist/core/edge-cases.test.js +147 -0
  106. package/dist/core/envelope.js +1 -0
  107. package/dist/core/graph.js +123 -0
  108. package/dist/core/graph.test.js +62 -0
  109. package/dist/core/implement.js +48 -0
  110. package/dist/core/index.js +9 -0
  111. package/dist/core/load-catalog.js +24 -0
  112. package/dist/core/parse-document.js +114 -0
  113. package/dist/core/parse-document.test.js +104 -0
  114. package/dist/core/parser.js +6 -0
  115. package/dist/core/parser.test.js +134 -0
  116. package/dist/core/resolve.js +119 -0
  117. package/dist/core/resolve.test.js +108 -0
  118. package/dist/core/scanner.js +163 -0
  119. package/dist/core/search.js +34 -0
  120. package/dist/core/search.test.js +43 -0
  121. package/dist/core/section-body.js +258 -0
  122. package/dist/core/sections.js +53 -0
  123. package/dist/core/verify-implement.test.js +123 -0
  124. package/dist/core/verify.js +156 -0
  125. package/dist/generators/engine.js +86 -0
  126. package/dist/generators/generator.test.js +112 -0
  127. package/dist/generators/index.js +3 -0
  128. package/dist/generators/prototype/index.js +242 -0
  129. package/dist/generators/render.js +146 -0
  130. package/dist/generators/types.js +124 -0
  131. package/dist/generators/typescript/helpers.js +125 -0
  132. package/dist/generators/typescript/index.js +206 -0
  133. package/dist/index.js +8 -0
  134. package/dist/mcp/server.js +202 -0
  135. package/dist/mcp/server.test.js +136 -0
  136. package/dist/utils/args.js +142 -0
  137. package/package.json +38 -0
  138. package/tsconfig.json +16 -0
@@ -0,0 +1,39 @@
1
+ name: maxmind
2
+ module: ip_intelligence
3
+ version: 1.0.0
4
+ description: MaxMind IP intelligence adapter
5
+
6
+ implements:
7
+ - lookup
8
+ - isVpn
9
+ - isTor
10
+ - isDatacenter
11
+ - getGeolocation
12
+ - getThreatScore
13
+
14
+ does_not_implement: []
15
+
16
+ config:
17
+ required:
18
+ - name: account_id
19
+ type: string
20
+ description: MaxMind account ID
21
+ secret: false
22
+ - name: license_key
23
+ type: string
24
+ description: MaxMind license key
25
+ secret: true
26
+ optional:
27
+ - name: edition_id
28
+ type: string
29
+ default: "GeoIP2-City"
30
+ description: MaxMind database edition ID
31
+
32
+ dependencies:
33
+ - module: audit_log
34
+ purpose: Log IP intelligence events
35
+ required: false
36
+
37
+ metadata:
38
+ provider_url: https://www.maxmind.com
39
+ docs_url: https://dev.maxmind.com
@@ -0,0 +1,54 @@
1
+ name: bullmq
2
+ module: jobs
3
+ version: 1.0.0
4
+ description: BullMQ jobs adapter
5
+
6
+ implements:
7
+ - registerJob
8
+ - scheduleJob
9
+ - triggerJob
10
+ - disableJob
11
+ - enableJob
12
+ - getJob
13
+ - listJobs
14
+ - getExecution
15
+ - listExecutions
16
+ - cancelExecution
17
+
18
+ does_not_implement: []
19
+
20
+ config:
21
+ required:
22
+ - name: redis_url
23
+ type: string
24
+ description: Redis connection URL for BullMQ
25
+ secret: false
26
+ optional:
27
+ - name: redis_host
28
+ type: string
29
+ default: "localhost"
30
+ description: Redis host
31
+ - name: redis_port
32
+ type: integer
33
+ default: 6379
34
+ description: Redis port
35
+ - name: redis_password
36
+ type: string
37
+ description: Redis password
38
+ secret: true
39
+ - name: redis_db
40
+ type: integer
41
+ default: 0
42
+ description: Redis database number
43
+
44
+ dependencies:
45
+ - module: queues
46
+ purpose: Underlying job dispatch mechanism
47
+ required: true
48
+ - module: audit_log
49
+ purpose: Log job execution events
50
+ required: false
51
+
52
+ metadata:
53
+ provider_url: https://docs.bullmq.io
54
+ docs_url: https://docs.bullmq.io
@@ -0,0 +1,53 @@
1
+ name: temporal
2
+ module: jobs
3
+ version: 1.0.0
4
+ description: Temporal jobs adapter
5
+
6
+ implements:
7
+ - registerJob
8
+ - scheduleJob
9
+ - triggerJob
10
+ - disableJob
11
+ - enableJob
12
+ - getJob
13
+ - listJobs
14
+ - getExecution
15
+ - listExecutions
16
+ - cancelExecution
17
+
18
+ does_not_implement: []
19
+
20
+ config:
21
+ required:
22
+ - name: temporal_url
23
+ type: string
24
+ description: Temporal server URL
25
+ secret: false
26
+ - name: namespace
27
+ type: string
28
+ description: Temporal namespace
29
+ secret: false
30
+ optional:
31
+ - name: task_queue
32
+ type: string
33
+ description: Default task queue name
34
+ - name: tls_cert
35
+ type: string
36
+ description: TLS certificate for Temporal connection
37
+ secret: true
38
+ - name: tls_key
39
+ type: string
40
+ description: TLS key for Temporal connection
41
+ secret: true
42
+
43
+ dependencies:
44
+ - module: queues
45
+ purpose: Underlying job dispatch mechanism
46
+ required: true
47
+ - module: audit_log
48
+ purpose: Log job execution events
49
+ required: false
50
+
51
+ metadata:
52
+ provider_url: https://temporal.io
53
+ docs_url: https://docs.temporal.io
@@ -0,0 +1,54 @@
1
+ name: jumio
2
+ module: kyc
3
+ version: 1.0.0
4
+ description: Jumio KYC verification adapter
5
+
6
+ implements:
7
+ - submitVerification
8
+ - getVerification
9
+ - getUserVerification
10
+ - getVerificationStatus
11
+ - updateVerification
12
+ - rejectVerification
13
+ - approveVerification
14
+ - listPendingVerifications
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_token
21
+ type: string
22
+ description: Jumio API token
23
+ secret: true
24
+ - name: api_secret
25
+ type: string
26
+ description: Jumio API secret
27
+ secret: true
28
+ - name: subdomain
29
+ type: string
30
+ description: Jumio subdomain
31
+ secret: false
32
+ optional:
33
+ - name: environment
34
+ type: string
35
+ default: "production"
36
+ description: Jumio environment (demo or production)
37
+
38
+ dependencies:
39
+ - module: users
40
+ purpose: Get user data for verification
41
+ required: true
42
+ - module: storage
43
+ purpose: Store verification documents
44
+ required: true
45
+ - module: notifications
46
+ purpose: Send verification status updates
47
+ required: false
48
+ - module: audit_log
49
+ purpose: Log verification events
50
+ required: false
51
+
52
+ metadata:
53
+ provider_url: https://www.jumio.com
54
+ docs_url: https://netverifyusercontentdocs.jumio.com
@@ -0,0 +1,53 @@
1
+ name: onfido
2
+ module: kyc
3
+ version: 1.0.0
4
+ description: Onfido KYC verification adapter
5
+
6
+ implements:
7
+ - submitVerification
8
+ - getVerification
9
+ - getUserVerification
10
+ - getVerificationStatus
11
+ - updateVerification
12
+ - rejectVerification
13
+ - approveVerification
14
+ - listPendingVerifications
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_token
21
+ type: string
22
+ description: Onfido API token
23
+ secret: true
24
+ - name: region
25
+ type: string
26
+ description: Onfido region (eu or us)
27
+ secret: false
28
+ optional:
29
+ - name: webhook_secret
30
+ type: string
31
+ description: Onfido webhook secret
32
+ secret: true
33
+ - name: report_type
34
+ type: string
35
+ description: Default report type
36
+
37
+ dependencies:
38
+ - module: users
39
+ purpose: Get user data for verification
40
+ required: true
41
+ - module: storage
42
+ purpose: Store verification documents
43
+ required: true
44
+ - module: notifications
45
+ purpose: Send verification status updates
46
+ required: false
47
+ - module: audit_log
48
+ purpose: Log verification events
49
+ required: false
50
+
51
+ metadata:
52
+ provider_url: https://onfido.com
53
+ docs_url: https://developers.onfido.com
@@ -0,0 +1,48 @@
1
+ name: cloudinary
2
+ module: media
3
+ version: 1.0.0
4
+ description: Cloudinary media processing adapter
5
+
6
+ implements:
7
+ - uploadMedia
8
+ - processMedia
9
+ - getMediaAsset
10
+ - getVariants
11
+ - deleteMediaAsset
12
+ - generateThumbnail
13
+ - transcodeVideo
14
+ - getProcessingJob
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: cloud_name
21
+ type: string
22
+ description: Cloudinary cloud name
23
+ secret: false
24
+ - name: api_key
25
+ type: string
26
+ description: Cloudinary API key
27
+ secret: false
28
+ - name: api_secret
29
+ type: string
30
+ description: Cloudinary API secret
31
+ secret: true
32
+ optional:
33
+ - name: secure_url
34
+ type: boolean
35
+ default: true
36
+ description: Use secure URLs
37
+
38
+ dependencies:
39
+ - module: storage
40
+ purpose: Store media assets
41
+ required: false
42
+ - module: audit_log
43
+ purpose: Log media events
44
+ required: false
45
+
46
+ metadata:
47
+ provider_url: https://cloudinary.com
48
+ docs_url: https://cloudinary.com/documentation
@@ -0,0 +1,47 @@
1
+ name: imgix
2
+ module: media
3
+ version: 1.0.0
4
+ description: imgix media processing adapter
5
+
6
+ implements:
7
+ - uploadMedia
8
+ - processMedia
9
+ - getMediaAsset
10
+ - getVariants
11
+ - deleteMediaAsset
12
+ - generateThumbnail
13
+ - transcodeVideo
14
+ - getProcessingJob
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: domain
21
+ type: string
22
+ description: imgix domain
23
+ secret: false
24
+ - name: api_key
25
+ type: string
26
+ description: imgix API key
27
+ secret: true
28
+ optional:
29
+ - name: secure_url
30
+ type: boolean
31
+ default: true
32
+ description: Use secure URLs
33
+ - name: source_id
34
+ type: string
35
+ description: imgix source ID
36
+
37
+ dependencies:
38
+ - module: storage
39
+ purpose: Store media assets
40
+ required: false
41
+ - module: audit_log
42
+ purpose: Log media events
43
+ required: false
44
+
45
+ metadata:
46
+ provider_url: https://imgix.com
47
+ docs_url: https://docs.imgix.com
@@ -0,0 +1,45 @@
1
+ name: firebase
2
+ module: notifications
3
+ version: 1.0.0
4
+ description: Firebase Cloud Messaging adapter
5
+
6
+ implements:
7
+ - sendPush
8
+ - getNotifications
9
+ - markRead
10
+ - markAllRead
11
+ - getUnreadCount
12
+ - updatePreferences
13
+ - getPreferences
14
+
15
+ does_not_implement:
16
+ - sendEmail
17
+ - sendSMS
18
+ - sendInApp
19
+
20
+ config:
21
+ required:
22
+ - name: service_account_key
23
+ type: string
24
+ description: Firebase service account key JSON
25
+ secret: true
26
+ - name: project_id
27
+ type: string
28
+ description: Firebase project ID
29
+ secret: false
30
+ optional:
31
+ - name: database_url
32
+ type: string
33
+ description: Firebase Realtime Database URL
34
+
35
+ dependencies:
36
+ - module: users
37
+ purpose: Get user preferences
38
+ required: true
39
+ - module: audit_log
40
+ purpose: Log notification events
41
+ required: false
42
+
43
+ metadata:
44
+ provider_url: https://firebase.google.com
45
+ docs_url: https://firebase.google.com/docs/cloud-messaging
@@ -0,0 +1,46 @@
1
+ name: novu
2
+ module: notifications
3
+ version: 1.0.0
4
+ description: Novu notification infrastructure adapter
5
+
6
+ implements:
7
+ - sendPush
8
+ - sendEmail
9
+ - sendSMS
10
+ - getNotifications
11
+ - markRead
12
+ - markAllRead
13
+ - getUnreadCount
14
+ - updatePreferences
15
+ - getPreferences
16
+
17
+ does_not_implement:
18
+ - sendInApp
19
+
20
+ config:
21
+ required:
22
+ - name: api_key
23
+ type: string
24
+ description: Novu API key
25
+ secret: true
26
+ - name: environment_id
27
+ type: string
28
+ description: Novu environment ID
29
+ secret: false
30
+ optional:
31
+ - name: backend_url
32
+ type: string
33
+ default: https://api.novu.co
34
+ description: Novu backend URL
35
+
36
+ dependencies:
37
+ - module: users
38
+ purpose: Get user preferences
39
+ required: true
40
+ - module: audit_log
41
+ purpose: Log notification events
42
+ required: false
43
+
44
+ metadata:
45
+ provider_url: https://novu.co
46
+ docs_url: https://docs.novu.co
@@ -0,0 +1,45 @@
1
+ name: onesignal
2
+ module: notifications
3
+ version: 1.0.0
4
+ description: OneSignal push notification adapter
5
+
6
+ implements:
7
+ - sendPush
8
+ - getNotifications
9
+ - markRead
10
+ - markAllRead
11
+ - getUnreadCount
12
+ - updatePreferences
13
+ - getPreferences
14
+
15
+ does_not_implement:
16
+ - sendEmail
17
+ - sendSMS
18
+ - sendInApp
19
+
20
+ config:
21
+ required:
22
+ - name: app_id
23
+ type: string
24
+ description: OneSignal app ID
25
+ secret: false
26
+ - name: api_key
27
+ type: string
28
+ description: OneSignal REST API key
29
+ secret: true
30
+ optional:
31
+ - name: channel_for_external_user_ids
32
+ type: string
33
+ description: Channel for external user IDs
34
+
35
+ dependencies:
36
+ - module: users
37
+ purpose: Get user preferences
38
+ required: true
39
+ - module: audit_log
40
+ purpose: Log notification events
41
+ required: false
42
+
43
+ metadata:
44
+ provider_url: https://onesignal.com
45
+ docs_url: https://documentation.onesignal.com
@@ -0,0 +1,46 @@
1
+ name: adyen
2
+ module: payments
3
+ version: 1.0.0
4
+ description: Adyen payment processing adapter
5
+
6
+ implements:
7
+ - initiatePayment
8
+ - verifyPayment
9
+ - getPaymentByOrder
10
+ - initiateRefund
11
+ - getRefundByOrder
12
+ - getRefund
13
+
14
+ does_not_implement:
15
+ - getWallet
16
+ - creditWallet
17
+ - debitWallet
18
+ - getWalletTransactions
19
+
20
+ config:
21
+ required:
22
+ - name: api_key
23
+ type: string
24
+ description: Adyen API key
25
+ secret: true
26
+ - name: merchant_account
27
+ type: string
28
+ description: Adyen merchant account ID
29
+ secret: false
30
+ optional:
31
+ - name: environment
32
+ type: string
33
+ default: "live"
34
+ description: Adyen environment (test or live)
35
+
36
+ dependencies:
37
+ - module: notifications
38
+ purpose: Send payment confirmation emails
39
+ required: false
40
+ - module: audit_log
41
+ purpose: Log payment events
42
+ required: false
43
+
44
+ metadata:
45
+ provider_url: https://adyen.com
46
+ docs_url: https://docs.adyen.com
@@ -0,0 +1,45 @@
1
+ name: paystack
2
+ module: payments
3
+ version: 1.0.0
4
+ description: Paystack payment processing adapter
5
+
6
+ implements:
7
+ - initiatePayment
8
+ - verifyPayment
9
+ - getPaymentByOrder
10
+ - initiateRefund
11
+ - getRefundByOrder
12
+ - getRefund
13
+
14
+ does_not_implement:
15
+ - getWallet
16
+ - creditWallet
17
+ - debitWallet
18
+ - getWalletTransactions
19
+
20
+ config:
21
+ required:
22
+ - name: api_key
23
+ type: string
24
+ description: Paystack secret API key
25
+ secret: true
26
+ - name: webhook_secret
27
+ type: string
28
+ description: Paystack webhook signing secret
29
+ secret: true
30
+ optional:
31
+ - name: merchant_email
32
+ type: string
33
+ description: Merchant email for Paystack
34
+
35
+ dependencies:
36
+ - module: notifications
37
+ purpose: Send payment confirmation emails
38
+ required: false
39
+ - module: audit_log
40
+ purpose: Log payment events
41
+ required: false
42
+
43
+ metadata:
44
+ provider_url: https://paystack.com
45
+ docs_url: https://paystack.com/docs
@@ -0,0 +1,49 @@
1
+ name: stripe
2
+ module: payments
3
+ version: 1.0.0
4
+ description: Stripe payment processing adapter
5
+
6
+ implements:
7
+ - initiatePayment
8
+ - verifyPayment
9
+ - getPaymentByOrder
10
+ - initiateRefund
11
+ - getRefundByOrder
12
+ - getRefund
13
+
14
+ does_not_implement:
15
+ - getWallet
16
+ - creditWallet
17
+ - debitWallet
18
+ - getWalletTransactions
19
+
20
+ config:
21
+ required:
22
+ - name: api_key
23
+ type: string
24
+ description: Stripe secret API key
25
+ secret: true
26
+ - name: webhook_secret
27
+ type: string
28
+ description: Stripe webhook signing secret
29
+ secret: true
30
+ optional:
31
+ - name: api_version
32
+ type: string
33
+ default: "2023-10-16"
34
+ description: Stripe API version
35
+ - name: account_id
36
+ type: string
37
+ description: Stripe account ID for Connect
38
+
39
+ dependencies:
40
+ - module: notifications
41
+ purpose: Send payment confirmation emails
42
+ required: false
43
+ - module: audit_log
44
+ purpose: Log payment events
45
+ required: false
46
+
47
+ metadata:
48
+ provider_url: https://stripe.com
49
+ docs_url: https://stripe.com/docs
@@ -0,0 +1,49 @@
1
+ name: paypal
2
+ module: payouts
3
+ version: 1.0.0
4
+ description: PayPal Payouts adapter
5
+
6
+ implements:
7
+ - createPayout
8
+ - getPayout
9
+ - listPayouts
10
+ - cancelPayout
11
+ - retryPayout
12
+ - schedulePayout
13
+ - getPayoutSchedule
14
+
15
+ does_not_implement: []
16
+
17
+ config:
18
+ required:
19
+ - name: client_id
20
+ type: string
21
+ description: PayPal client ID
22
+ secret: false
23
+ - name: client_secret
24
+ type: string
25
+ description: PayPal client secret
26
+ secret: true
27
+ optional:
28
+ - name: environment
29
+ type: string
30
+ default: "production"
31
+ description: PayPal environment (sandbox or production)
32
+
33
+ dependencies:
34
+ - module: payments
35
+ purpose: Access payment data for payouts
36
+ required: true
37
+ - module: ledger
38
+ purpose: Track payout ledger entries
39
+ required: true
40
+ - module: notifications
41
+ purpose: Send payout notifications
42
+ required: false
43
+ - module: audit_log
44
+ purpose: Log payout events
45
+ required: false
46
+
47
+ metadata:
48
+ provider_url: https://www.paypal.com
49
+ docs_url: https://developer.paypal.com/docs/payouts