@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,43 @@
1
+ name: sendgrid
2
+ module: emails
3
+ version: 1.0.0
4
+ description: SendGrid email delivery adapter
5
+
6
+ implements:
7
+ - sendTransactional
8
+ - sendBulk
9
+ - createTemplate
10
+ - updateTemplate
11
+ - getTemplate
12
+ - listTemplates
13
+ - getDeliveryStatus
14
+ - getDeliveryEvents
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_key
21
+ type: string
22
+ description: SendGrid API key
23
+ secret: true
24
+ - name: from_email
25
+ type: string
26
+ description: Default sender email address
27
+ secret: false
28
+ optional:
29
+ - name: from_name
30
+ type: string
31
+ description: Default sender name
32
+ - name: reply_to
33
+ type: string
34
+ description: Default reply-to email address
35
+
36
+ dependencies:
37
+ - module: audit_log
38
+ purpose: Log email delivery events
39
+ required: false
40
+
41
+ metadata:
42
+ provider_url: https://sendgrid.com
43
+ docs_url: https://docs.sendgrid.com
@@ -0,0 +1,52 @@
1
+ name: bugsnag
2
+ module: error_tracking
3
+ version: 1.0.0
4
+ description: Bugsnag error tracking adapter
5
+
6
+ implements:
7
+ - recordError
8
+ - getErrorEvent
9
+ - listErrorEvents
10
+ - getIssue
11
+ - listIssues
12
+ - updateIssue
13
+ - assignIssue
14
+ - muteIssue
15
+ - unmuteIssue
16
+ - createAlertRule
17
+ - getAlertRule
18
+ - listAlertRules
19
+
20
+ does_not_implement: []
21
+
22
+ config:
23
+ required:
24
+ - name: api_key
25
+ type: string
26
+ description: Bugsnag API key
27
+ secret: true
28
+ optional:
29
+ - name: notify_url
30
+ type: string
31
+ description: Bugsnag notify URL
32
+ - name: sessions_url
33
+ type: string
34
+ description: Bugsnag sessions URL
35
+ - name: release_stage
36
+ type: string
37
+ description: Bugsnag release stage
38
+ - name: app_version
39
+ type: string
40
+ description: Application version
41
+
42
+ dependencies:
43
+ - module: notifications
44
+ purpose: Send alert notifications
45
+ required: false
46
+ - module: audit_log
47
+ purpose: Log error tracking events
48
+ required: false
49
+
50
+ metadata:
51
+ provider_url: https://www.bugsnag.com
52
+ docs_url: https://docs.bugsnag.com
@@ -0,0 +1,58 @@
1
+ name: sentry
2
+ module: error_tracking
3
+ version: 1.0.0
4
+ description: Sentry error tracking adapter
5
+
6
+ implements:
7
+ - recordError
8
+ - getErrorEvent
9
+ - listErrorEvents
10
+ - getIssue
11
+ - listIssues
12
+ - updateIssue
13
+ - assignIssue
14
+ - muteIssue
15
+ - unmuteIssue
16
+ - createAlertRule
17
+ - getAlertRule
18
+ - listAlertRules
19
+
20
+ does_not_implement: []
21
+
22
+ config:
23
+ required:
24
+ - name: dsn
25
+ type: string
26
+ description: Sentry DSN
27
+ secret: true
28
+ - name: org
29
+ type: string
30
+ description: Sentry organization slug
31
+ secret: false
32
+ - name: project
33
+ type: string
34
+ description: Sentry project slug
35
+ secret: false
36
+ optional:
37
+ - name: environment
38
+ type: string
39
+ description: Sentry environment
40
+ - name: release
41
+ type: string
42
+ description: Sentry release version
43
+ - name: traces_sample_rate
44
+ type: number
45
+ default: 0.1
46
+ description: Traces sample rate
47
+
48
+ dependencies:
49
+ - module: notifications
50
+ purpose: Send alert notifications
51
+ required: false
52
+ - module: audit_log
53
+ purpose: Log error tracking events
54
+ required: false
55
+
56
+ metadata:
57
+ provider_url: https://sentry.io
58
+ docs_url: https://docs.sentry.io
@@ -0,0 +1,41 @@
1
+ name: flagsmith
2
+ module: feature_flags
3
+ version: 1.0.0
4
+ description: Flagsmith feature flags adapter
5
+
6
+ implements:
7
+ - isEnabled
8
+ - getVariant
9
+ - setFlag
10
+ - archiveFlag
11
+ - listFlags
12
+ - getFlag
13
+ - rolloutToPercent
14
+ - evaluateAll
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_key
21
+ type: string
22
+ description: Flagsmith API key
23
+ secret: true
24
+ - name: environment_key
25
+ type: string
26
+ description: Flagsmith environment key
27
+ secret: false
28
+ optional:
29
+ - name: base_url
30
+ type: string
31
+ default: https://api.flagsmith.com/api/v1
32
+ description: Flagsmith API base URL
33
+ - name: project
34
+ type: string
35
+ description: Flagsmith project name
36
+
37
+ dependencies: []
38
+
39
+ metadata:
40
+ provider_url: https://flagsmith.com
41
+ docs_url: https://docs.flagsmith.com
@@ -0,0 +1,41 @@
1
+ name: launchdarkly
2
+ module: feature_flags
3
+ version: 1.0.0
4
+ description: LaunchDarkly feature flags adapter
5
+
6
+ implements:
7
+ - isEnabled
8
+ - getVariant
9
+ - setFlag
10
+ - archiveFlag
11
+ - listFlags
12
+ - getFlag
13
+ - rolloutToPercent
14
+ - evaluateAll
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: sdk_key
21
+ type: string
22
+ description: LaunchDarkly SDK key
23
+ secret: true
24
+ - name: project_key
25
+ type: string
26
+ description: LaunchDarkly project key
27
+ secret: false
28
+ optional:
29
+ - name: environment
30
+ type: string
31
+ description: LaunchDarkly environment
32
+ - name: base_uri
33
+ type: string
34
+ default: https://app.launchdarkly.com
35
+ description: LaunchDarkly API base URI
36
+
37
+ dependencies: []
38
+
39
+ metadata:
40
+ provider_url: https://launchdarkly.com
41
+ docs_url: https://docs.launchdarkly.com
@@ -0,0 +1,41 @@
1
+ name: unleash
2
+ module: feature_flags
3
+ version: 1.0.0
4
+ description: Unleash feature flags adapter
5
+
6
+ implements:
7
+ - isEnabled
8
+ - getVariant
9
+ - setFlag
10
+ - archiveFlag
11
+ - listFlags
12
+ - getFlag
13
+ - rolloutToPercent
14
+ - evaluateAll
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_token
21
+ type: string
22
+ description: Unleash API token
23
+ secret: true
24
+ - name: app_name
25
+ type: string
26
+ description: Unleash application name
27
+ secret: false
28
+ optional:
29
+ - name: url
30
+ type: string
31
+ default: https://app.getunleash.io/api
32
+ description: Unleash API URL
33
+ - name: project
34
+ type: string
35
+ description: Unleash project name
36
+
37
+ dependencies: []
38
+
39
+ metadata:
40
+ provider_url: https://www.getunleash.io
41
+ docs_url: https://docs.getunleash.io
@@ -0,0 +1,41 @@
1
+ name: riskified
2
+ module: fraud_detection
3
+ version: 1.0.0
4
+ description: Riskified fraud detection adapter
5
+
6
+ implements:
7
+ - scoreTransaction
8
+ - scoreSignUp
9
+ - scoreLogin
10
+ - reportFraud
11
+ - blockEntity
12
+ - unblockEntity
13
+ - isBlocked
14
+ - getRiskHistory
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_key
21
+ type: string
22
+ description: Riskified API key
23
+ secret: true
24
+ - name: domain
25
+ type: string
26
+ description: Riskified domain
27
+ secret: false
28
+ optional:
29
+ - name: environment
30
+ type: string
31
+ default: "production"
32
+ description: Riskified environment (sandbox or production)
33
+
34
+ dependencies:
35
+ - module: audit_log
36
+ purpose: Log fraud detection events
37
+ required: false
38
+
39
+ metadata:
40
+ provider_url: https://www.riskified.com
41
+ docs_url: https://docs.riskified.com
@@ -0,0 +1,40 @@
1
+ name: sift
2
+ module: fraud_detection
3
+ version: 1.0.0
4
+ description: Sift fraud detection adapter
5
+
6
+ implements:
7
+ - scoreTransaction
8
+ - scoreSignUp
9
+ - scoreLogin
10
+ - reportFraud
11
+ - blockEntity
12
+ - unblockEntity
13
+ - isBlocked
14
+ - getRiskHistory
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_key
21
+ type: string
22
+ description: Sift API key
23
+ secret: true
24
+ optional:
25
+ - name: environment
26
+ type: string
27
+ default: "production"
28
+ description: Sift environment (sandbox or production)
29
+ - name: account_id
30
+ type: string
31
+ description: Sift account ID
32
+
33
+ dependencies:
34
+ - module: audit_log
35
+ purpose: Log fraud detection events
36
+ required: false
37
+
38
+ metadata:
39
+ provider_url: https://sift.com
40
+ docs_url: https://sift.com/developers
@@ -0,0 +1,51 @@
1
+ name: easyship
2
+ module: fulfillment
3
+ version: 1.0.0
4
+ description: Easyship fulfillment adapter
5
+
6
+ implements:
7
+ - createFulfillment
8
+ - getFulfillment
9
+ - listFulfillments
10
+ - assignWarehouse
11
+ - markPacked
12
+ - markShipped
13
+ - markDelivered
14
+ - cancelFulfillment
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_key
21
+ type: string
22
+ description: Easyship API key
23
+ secret: true
24
+ optional:
25
+ - name: store_id
26
+ type: string
27
+ description: Easyship store ID
28
+ - name: warehouse_id
29
+ type: string
30
+ description: Easyship warehouse ID
31
+
32
+ dependencies:
33
+ - module: orders
34
+ purpose: Get order data for fulfillment
35
+ required: true
36
+ - module: inventory
37
+ purpose: Check inventory availability
38
+ required: true
39
+ - module: shipping
40
+ purpose: Create and track shipments
41
+ required: true
42
+ - module: notifications
43
+ purpose: Send fulfillment updates
44
+ required: false
45
+ - module: audit_log
46
+ purpose: Log fulfillment events
47
+ required: false
48
+
49
+ metadata:
50
+ provider_url: https://www.easyship.com
51
+ docs_url: https://docs.easyship.com
@@ -0,0 +1,51 @@
1
+ name: shipengine
2
+ module: fulfillment
3
+ version: 1.0.0
4
+ description: ShipEngine fulfillment adapter
5
+
6
+ implements:
7
+ - createFulfillment
8
+ - getFulfillment
9
+ - listFulfillments
10
+ - assignWarehouse
11
+ - markPacked
12
+ - markShipped
13
+ - markDelivered
14
+ - cancelFulfillment
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_key
21
+ type: string
22
+ description: ShipEngine API key
23
+ secret: true
24
+ optional:
25
+ - name: carrier_id
26
+ type: string
27
+ description: Default carrier ID
28
+ - name: warehouse_id
29
+ type: string
30
+ description: Default warehouse ID
31
+
32
+ dependencies:
33
+ - module: orders
34
+ purpose: Get order data for fulfillment
35
+ required: true
36
+ - module: inventory
37
+ purpose: Check inventory availability
38
+ required: true
39
+ - module: shipping
40
+ purpose: Create and track shipments
41
+ required: true
42
+ - module: notifications
43
+ purpose: Send fulfillment updates
44
+ required: false
45
+ - module: audit_log
46
+ purpose: Log fulfillment events
47
+ required: false
48
+
49
+ metadata:
50
+ provider_url: https://www.shipengine.com
51
+ docs_url: https://www.shipengine.com/docs
@@ -0,0 +1,49 @@
1
+ name: opsgenie
2
+ module: incident_management
3
+ version: 1.0.0
4
+ description: Opsgenie incident management adapter
5
+
6
+ implements:
7
+ - createIncident
8
+ - getIncident
9
+ - listIncidents
10
+ - acknowledgeIncident
11
+ - assignIncident
12
+ - updateIncidentSeverity
13
+ - addIncidentNote
14
+ - resolveIncident
15
+ - createRunbookLink
16
+
17
+ does_not_implement: []
18
+
19
+ config:
20
+ required:
21
+ - name: api_key
22
+ type: string
23
+ description: Opsgenie API key
24
+ secret: true
25
+ - name: team_id
26
+ type: string
27
+ description: Opsgenie team ID
28
+ secret: false
29
+ - name: service_id
30
+ type: string
31
+ description: Opsgenie service ID
32
+ secret: false
33
+ optional:
34
+ - name: region
35
+ type: string
36
+ default: "us"
37
+ description: Opsgenie region (us or eu)
38
+
39
+ dependencies:
40
+ - module: notifications
41
+ purpose: Send incident notifications
42
+ required: false
43
+ - module: audit_log
44
+ purpose: Log incident events
45
+ required: false
46
+
47
+ metadata:
48
+ provider_url: https://www.atlassian.com/software/opsgenie
49
+ docs_url: https://docs.opsgenie.com
@@ -0,0 +1,48 @@
1
+ name: pagerduty
2
+ module: incident_management
3
+ version: 1.0.0
4
+ description: PagerDuty incident management adapter
5
+
6
+ implements:
7
+ - createIncident
8
+ - getIncident
9
+ - listIncidents
10
+ - acknowledgeIncident
11
+ - assignIncident
12
+ - updateIncidentSeverity
13
+ - addIncidentNote
14
+ - resolveIncident
15
+ - createRunbookLink
16
+
17
+ does_not_implement: []
18
+
19
+ config:
20
+ required:
21
+ - name: api_key
22
+ type: string
23
+ description: PagerDuty API key
24
+ secret: true
25
+ - name: service_id
26
+ type: string
27
+ description: PagerDuty service ID
28
+ secret: false
29
+ - name: escalation_policy_id
30
+ type: string
31
+ description: PagerDuty escalation policy ID
32
+ secret: false
33
+ optional:
34
+ - name: from_email
35
+ type: string
36
+ description: PagerDuty user email for API calls
37
+
38
+ dependencies:
39
+ - module: notifications
40
+ purpose: Send incident notifications
41
+ required: false
42
+ - module: audit_log
43
+ purpose: Log incident events
44
+ required: false
45
+
46
+ metadata:
47
+ provider_url: https://www.pagerduty.com
48
+ docs_url: https://developer.pagerduty.com
@@ -0,0 +1,54 @@
1
+ name: freshbooks
2
+ module: invoicing
3
+ version: 1.0.0
4
+ description: FreshBooks invoicing adapter
5
+
6
+ implements:
7
+ - createInvoice
8
+ - issueInvoice
9
+ - sendInvoice
10
+ - getInvoice
11
+ - listInvoices
12
+ - recordInvoicePayment
13
+ - voidInvoice
14
+ - createCreditNote
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: client_id
21
+ type: string
22
+ description: FreshBooks client ID
23
+ secret: false
24
+ - name: client_secret
25
+ type: string
26
+ description: FreshBooks client secret
27
+ secret: true
28
+ - name: access_token
29
+ type: string
30
+ description: FreshBooks access token
31
+ secret: true
32
+ - name: refresh_token
33
+ type: string
34
+ description: FreshBooks refresh token
35
+ secret: true
36
+ optional:
37
+ - name: business_id
38
+ type: string
39
+ description: FreshBooks business ID
40
+
41
+ dependencies:
42
+ - module: payments
43
+ purpose: Process invoice payments
44
+ required: true
45
+ - module: notifications
46
+ purpose: Send invoice emails
47
+ required: false
48
+ - module: audit_log
49
+ purpose: Log invoice events
50
+ required: false
51
+
52
+ metadata:
53
+ provider_url: https://www.freshbooks.com
54
+ docs_url: https://www.freshbooks.com/api
@@ -0,0 +1,47 @@
1
+ name: stripe
2
+ module: invoicing
3
+ version: 1.0.0
4
+ description: Stripe invoicing adapter
5
+
6
+ implements:
7
+ - createInvoice
8
+ - issueInvoice
9
+ - sendInvoice
10
+ - getInvoice
11
+ - listInvoices
12
+ - recordInvoicePayment
13
+ - voidInvoice
14
+ - createCreditNote
15
+
16
+ does_not_implement: []
17
+
18
+ config:
19
+ required:
20
+ - name: api_key
21
+ type: string
22
+ description: Stripe secret API key
23
+ secret: true
24
+ - name: webhook_secret
25
+ type: string
26
+ description: Stripe webhook signing secret
27
+ secret: true
28
+ optional:
29
+ - name: api_version
30
+ type: string
31
+ default: "2023-10-16"
32
+ description: Stripe API version
33
+
34
+ dependencies:
35
+ - module: payments
36
+ purpose: Process invoice payments
37
+ required: true
38
+ - module: notifications
39
+ purpose: Send invoice emails
40
+ required: false
41
+ - module: audit_log
42
+ purpose: Log invoice events
43
+ required: false
44
+
45
+ metadata:
46
+ provider_url: https://stripe.com
47
+ docs_url: https://stripe.com/docs/billing/invoices
@@ -0,0 +1,37 @@
1
+ name: ipinfo
2
+ module: ip_intelligence
3
+ version: 1.0.0
4
+ description: IPinfo 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: api_token
19
+ type: string
20
+ description: IPinfo API token
21
+ secret: true
22
+ optional:
23
+ - name: country
24
+ type: string
25
+ description: Default country filter
26
+ - name: fields
27
+ type: string
28
+ description: Fields to include in response
29
+
30
+ dependencies:
31
+ - module: audit_log
32
+ purpose: Log IP intelligence events
33
+ required: false
34
+
35
+ metadata:
36
+ provider_url: https://ipinfo.io
37
+ docs_url: https://ipinfo.io/developers