@bubblelab/bubble-core 0.1.216 → 0.1.218
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/bubble-bundle.d.ts +274 -188
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +8 -0
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/agi-inc.d.ts +80 -80
- package/dist/bubbles/service-bubble/ai-agent.d.ts +74 -74
- package/dist/bubbles/service-bubble/airtable.d.ts +102 -102
- package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +6 -6
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +20 -20
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +26 -26
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +90 -90
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +70 -70
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +16 -16
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +37 -37
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +16 -16
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +243 -243
- package/dist/bubbles/service-bubble/apify/apify.d.ts +30 -30
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +64 -64
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +86 -86
- package/dist/bubbles/service-bubble/assembled/assembled.d.ts +42 -42
- package/dist/bubbles/service-bubble/assembled/assembled.schema.d.ts +42 -42
- package/dist/bubbles/service-bubble/attio/attio.d.ts +34 -34
- package/dist/bubbles/service-bubble/attio/attio.schema.d.ts +34 -34
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +31 -31
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +33 -33
- package/dist/bubbles/service-bubble/confluence/confluence.d.ts +24 -24
- package/dist/bubbles/service-bubble/confluence/confluence.schema.d.ts +24 -24
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +126 -126
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +158 -158
- package/dist/bubbles/service-bubble/eleven-labs.d.ts +28 -28
- package/dist/bubbles/service-bubble/firecrawl.d.ts +834 -834
- package/dist/bubbles/service-bubble/followupboss.d.ts +144 -144
- package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +68 -68
- package/dist/bubbles/service-bubble/fullenrich/fullenrich.schema.d.ts +108 -108
- package/dist/bubbles/service-bubble/github.d.ts +144 -144
- package/dist/bubbles/service-bubble/gmail.d.ts +240 -240
- package/dist/bubbles/service-bubble/google-calendar.d.ts +138 -138
- package/dist/bubbles/service-bubble/google-drive.d.ts +52 -52
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +44 -44
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +48 -48
- package/dist/bubbles/service-bubble/hello-world.d.ts +8 -8
- package/dist/bubbles/service-bubble/http.d.ts +18 -18
- package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +8 -8
- package/dist/bubbles/service-bubble/hubspot/hubspot.schema.d.ts +8 -8
- package/dist/bubbles/service-bubble/insforge-db.d.ts +16 -16
- package/dist/bubbles/service-bubble/jira/jira.d.ts +60 -60
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +62 -62
- package/dist/bubbles/service-bubble/linear/linear.d.ts +32 -32
- package/dist/bubbles/service-bubble/linear/linear.schema.d.ts +32 -32
- package/dist/bubbles/service-bubble/notion/notion.d.ts +682 -682
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +16 -16
- package/dist/bubbles/service-bubble/postgresql.d.ts +16 -16
- package/dist/bubbles/service-bubble/posthog/posthog.d.ts +24 -24
- package/dist/bubbles/service-bubble/posthog/posthog.schema.d.ts +30 -30
- package/dist/bubbles/service-bubble/ramp/index.d.ts +5 -0
- package/dist/bubbles/service-bubble/ramp/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/ramp/index.js +5 -0
- package/dist/bubbles/service-bubble/ramp/index.js.map +1 -0
- package/dist/bubbles/service-bubble/ramp/ramp.d.ts +1128 -0
- package/dist/bubbles/service-bubble/ramp/ramp.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/ramp/ramp.integration.flow.d.ts +15 -0
- package/dist/bubbles/service-bubble/ramp/ramp.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/ramp/ramp.integration.flow.js +169 -0
- package/dist/bubbles/service-bubble/ramp/ramp.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/ramp/ramp.js +183 -0
- package/dist/bubbles/service-bubble/ramp/ramp.js.map +1 -0
- package/dist/bubbles/service-bubble/ramp/ramp.schema.d.ts +1373 -0
- package/dist/bubbles/service-bubble/ramp/ramp.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/ramp/ramp.schema.js +536 -0
- package/dist/bubbles/service-bubble/ramp/ramp.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/ramp/ramp.utils.d.ts +13 -0
- package/dist/bubbles/service-bubble/ramp/ramp.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/ramp/ramp.utils.js +36 -0
- package/dist/bubbles/service-bubble/ramp/ramp.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/resend.d.ts +28 -28
- package/dist/bubbles/service-bubble/s3/s3.d.ts +10 -10
- package/dist/bubbles/service-bubble/s3/s3.schema.d.ts +10 -10
- package/dist/bubbles/service-bubble/sendsafely/sendsafely.d.ts +10 -10
- package/dist/bubbles/service-bubble/sendsafely/sendsafely.schema.d.ts +12 -12
- package/dist/bubbles/service-bubble/slack/slack-table-blocks.d.ts +1 -0
- package/dist/bubbles/service-bubble/slack/slack-table-blocks.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/slack/slack-table-blocks.js +1 -0
- package/dist/bubbles/service-bubble/slack/slack-table-blocks.js.map +1 -1
- package/dist/bubbles/service-bubble/slack/slack.d.ts +556 -556
- package/dist/bubbles/service-bubble/slack/slack.utils.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/slack/slack.utils.js +63 -17
- package/dist/bubbles/service-bubble/slack/slack.utils.js.map +1 -1
- package/dist/bubbles/service-bubble/storage.d.ts +20 -20
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts +157 -157
- package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +183 -183
- package/dist/bubbles/service-bubble/telegram.d.ts +1540 -1540
- package/dist/bubbles/service-bubble/xero/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/xero/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/xero/index.js +3 -0
- package/dist/bubbles/service-bubble/xero/index.js.map +1 -0
- package/dist/bubbles/service-bubble/xero/xero.d.ts +975 -0
- package/dist/bubbles/service-bubble/xero/xero.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/xero/xero.js +477 -0
- package/dist/bubbles/service-bubble/xero/xero.js.map +1 -0
- package/dist/bubbles/service-bubble/xero/xero.schema.d.ts +924 -0
- package/dist/bubbles/service-bubble/xero/xero.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/xero/xero.schema.js +366 -0
- package/dist/bubbles/service-bubble/xero/xero.schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +19 -19
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +21 -21
- package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.d.ts +2 -2
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.d.ts +2 -2
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts +2 -2
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.d.ts +2 -2
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +2 -2
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.d.ts +2 -2
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts +2 -2
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.d.ts +2 -2
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts +2 -2
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +26 -26
- package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +62 -62
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +14 -14
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +567 -567
- package/dist/bubbles/tool-bubble/list-airtable-bases-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/list-airtable-tables-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/list-capabilities-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +58 -58
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +28 -28
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +88 -88
- package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +188 -188
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +22 -22
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +26 -26
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +38 -38
- package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +40 -40
- package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +8 -8
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +72 -72
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +32 -32
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +32 -32
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +104 -104
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +8 -8
- package/dist/bubbles.json +2600 -2
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ramp.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/ramp/ramp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BubbleFlow, type WebhookEvent } from '@bubblelab/bubble-core';
|
|
2
|
+
export interface Output {
|
|
3
|
+
testResults: {
|
|
4
|
+
operation: string;
|
|
5
|
+
success: boolean;
|
|
6
|
+
details?: string;
|
|
7
|
+
}[];
|
|
8
|
+
}
|
|
9
|
+
export interface TestPayload extends WebhookEvent {
|
|
10
|
+
testName?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class RampIntegrationTest extends BubbleFlow<'webhook/http'> {
|
|
13
|
+
handle(_payload: TestPayload): Promise<Output>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ramp.integration.flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ramp.integration.flow.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/ramp/ramp.integration.flow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,mBAAoB,SAAQ,UAAU,CAAC,cAAc,CAAC;IAC3D,MAAM,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CAgMrD"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { BubbleFlow, RampBubble, } from '@bubblelab/bubble-core';
|
|
2
|
+
export class RampIntegrationTest extends BubbleFlow {
|
|
3
|
+
async handle(_payload) {
|
|
4
|
+
const results = [];
|
|
5
|
+
// 1. Test get_business
|
|
6
|
+
const businessResult = await new RampBubble({
|
|
7
|
+
operation: 'get_business',
|
|
8
|
+
}).action();
|
|
9
|
+
results.push({
|
|
10
|
+
operation: 'get_business',
|
|
11
|
+
success: businessResult.success,
|
|
12
|
+
details: businessResult.success
|
|
13
|
+
? `Business: ${JSON.stringify(businessResult.data?.business)}`
|
|
14
|
+
: businessResult.error,
|
|
15
|
+
});
|
|
16
|
+
// 2. Test list_transactions
|
|
17
|
+
const txResult = await new RampBubble({
|
|
18
|
+
operation: 'list_transactions',
|
|
19
|
+
page_size: 5,
|
|
20
|
+
}).action();
|
|
21
|
+
results.push({
|
|
22
|
+
operation: 'list_transactions',
|
|
23
|
+
success: txResult.success,
|
|
24
|
+
details: txResult.success
|
|
25
|
+
? `Found ${txResult.data?.transactions?.length ?? 0} transactions`
|
|
26
|
+
: txResult.error,
|
|
27
|
+
});
|
|
28
|
+
// 3. Test get_transaction (if we have one)
|
|
29
|
+
if (txResult.success && txResult.data?.transactions?.[0]?.id) {
|
|
30
|
+
const txId = txResult.data.transactions[0].id;
|
|
31
|
+
const singleTxResult = await new RampBubble({
|
|
32
|
+
operation: 'get_transaction',
|
|
33
|
+
transaction_id: txId,
|
|
34
|
+
}).action();
|
|
35
|
+
results.push({
|
|
36
|
+
operation: 'get_transaction',
|
|
37
|
+
success: singleTxResult.success,
|
|
38
|
+
details: singleTxResult.success
|
|
39
|
+
? `Transaction: ${singleTxResult.data?.transaction?.merchant_name ?? 'N/A'}`
|
|
40
|
+
: singleTxResult.error,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
// 4. Test list_users
|
|
44
|
+
const usersResult = await new RampBubble({
|
|
45
|
+
operation: 'list_users',
|
|
46
|
+
page_size: 5,
|
|
47
|
+
}).action();
|
|
48
|
+
results.push({
|
|
49
|
+
operation: 'list_users',
|
|
50
|
+
success: usersResult.success,
|
|
51
|
+
details: usersResult.success
|
|
52
|
+
? `Found ${usersResult.data?.users?.length ?? 0} users`
|
|
53
|
+
: usersResult.error,
|
|
54
|
+
});
|
|
55
|
+
// 5. Test get_user (if we have one)
|
|
56
|
+
if (usersResult.success && usersResult.data?.users?.[0]?.id) {
|
|
57
|
+
const userId = usersResult.data.users[0].id;
|
|
58
|
+
const singleUserResult = await new RampBubble({
|
|
59
|
+
operation: 'get_user',
|
|
60
|
+
user_id: userId,
|
|
61
|
+
}).action();
|
|
62
|
+
results.push({
|
|
63
|
+
operation: 'get_user',
|
|
64
|
+
success: singleUserResult.success,
|
|
65
|
+
details: singleUserResult.success
|
|
66
|
+
? `User: ${singleUserResult.data?.user?.first_name} ${singleUserResult.data?.user?.last_name}`
|
|
67
|
+
: singleUserResult.error,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
// 6. Test list_cards
|
|
71
|
+
const cardsResult = await new RampBubble({
|
|
72
|
+
operation: 'list_cards',
|
|
73
|
+
page_size: 5,
|
|
74
|
+
}).action();
|
|
75
|
+
results.push({
|
|
76
|
+
operation: 'list_cards',
|
|
77
|
+
success: cardsResult.success,
|
|
78
|
+
details: cardsResult.success
|
|
79
|
+
? `Found ${cardsResult.data?.cards?.length ?? 0} cards`
|
|
80
|
+
: cardsResult.error,
|
|
81
|
+
});
|
|
82
|
+
// 7. Test list_departments
|
|
83
|
+
const deptsResult = await new RampBubble({
|
|
84
|
+
operation: 'list_departments',
|
|
85
|
+
page_size: 5,
|
|
86
|
+
}).action();
|
|
87
|
+
results.push({
|
|
88
|
+
operation: 'list_departments',
|
|
89
|
+
success: deptsResult.success,
|
|
90
|
+
details: deptsResult.success
|
|
91
|
+
? `Found ${deptsResult.data?.departments?.length ?? 0} departments`
|
|
92
|
+
: deptsResult.error,
|
|
93
|
+
});
|
|
94
|
+
// 8. Test list_locations
|
|
95
|
+
const locsResult = await new RampBubble({
|
|
96
|
+
operation: 'list_locations',
|
|
97
|
+
page_size: 5,
|
|
98
|
+
}).action();
|
|
99
|
+
results.push({
|
|
100
|
+
operation: 'list_locations',
|
|
101
|
+
success: locsResult.success,
|
|
102
|
+
details: locsResult.success
|
|
103
|
+
? `Found ${locsResult.data?.locations?.length ?? 0} locations`
|
|
104
|
+
: locsResult.error,
|
|
105
|
+
});
|
|
106
|
+
// 9. Test list_spend_programs
|
|
107
|
+
const spResult = await new RampBubble({
|
|
108
|
+
operation: 'list_spend_programs',
|
|
109
|
+
page_size: 5,
|
|
110
|
+
}).action();
|
|
111
|
+
results.push({
|
|
112
|
+
operation: 'list_spend_programs',
|
|
113
|
+
success: spResult.success,
|
|
114
|
+
details: spResult.success
|
|
115
|
+
? `Found ${spResult.data?.spend_programs?.length ?? 0} spend programs`
|
|
116
|
+
: spResult.error,
|
|
117
|
+
});
|
|
118
|
+
// 10. Test list_limits
|
|
119
|
+
const limitsResult = await new RampBubble({
|
|
120
|
+
operation: 'list_limits',
|
|
121
|
+
page_size: 5,
|
|
122
|
+
}).action();
|
|
123
|
+
results.push({
|
|
124
|
+
operation: 'list_limits',
|
|
125
|
+
success: limitsResult.success,
|
|
126
|
+
details: limitsResult.success
|
|
127
|
+
? `Found ${limitsResult.data?.limits?.length ?? 0} limits`
|
|
128
|
+
: limitsResult.error,
|
|
129
|
+
});
|
|
130
|
+
// 11. Test list_reimbursements
|
|
131
|
+
const reimbResult = await new RampBubble({
|
|
132
|
+
operation: 'list_reimbursements',
|
|
133
|
+
page_size: 5,
|
|
134
|
+
}).action();
|
|
135
|
+
results.push({
|
|
136
|
+
operation: 'list_reimbursements',
|
|
137
|
+
success: reimbResult.success,
|
|
138
|
+
details: reimbResult.success
|
|
139
|
+
? `Found ${reimbResult.data?.reimbursements?.length ?? 0} reimbursements`
|
|
140
|
+
: reimbResult.error,
|
|
141
|
+
});
|
|
142
|
+
// 12. Test list_bills
|
|
143
|
+
const billsResult = await new RampBubble({
|
|
144
|
+
operation: 'list_bills',
|
|
145
|
+
page_size: 5,
|
|
146
|
+
}).action();
|
|
147
|
+
results.push({
|
|
148
|
+
operation: 'list_bills',
|
|
149
|
+
success: billsResult.success,
|
|
150
|
+
details: billsResult.success
|
|
151
|
+
? `Found ${billsResult.data?.bills?.length ?? 0} bills`
|
|
152
|
+
: billsResult.error,
|
|
153
|
+
});
|
|
154
|
+
// 13. Test list_vendors
|
|
155
|
+
const vendorsResult = await new RampBubble({
|
|
156
|
+
operation: 'list_vendors',
|
|
157
|
+
page_size: 5,
|
|
158
|
+
}).action();
|
|
159
|
+
results.push({
|
|
160
|
+
operation: 'list_vendors',
|
|
161
|
+
success: vendorsResult.success,
|
|
162
|
+
details: vendorsResult.success
|
|
163
|
+
? `Found ${vendorsResult.data?.vendors?.length ?? 0} vendors`
|
|
164
|
+
: vendorsResult.error,
|
|
165
|
+
});
|
|
166
|
+
return { testResults: results };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=ramp.integration.flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ramp.integration.flow.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/ramp/ramp.integration.flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { ServiceBubble } from '../../../types/service-bubble-class.js';
|
|
2
|
+
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
3
|
+
import { RampParamsSchema, RampResultSchema, } from './ramp.schema.js';
|
|
4
|
+
import { makeRampRequest } from './ramp.utils.js';
|
|
5
|
+
/**
|
|
6
|
+
* Ramp Service Bubble
|
|
7
|
+
*
|
|
8
|
+
* Agent-friendly Ramp integration for corporate expense management.
|
|
9
|
+
*
|
|
10
|
+
* Operations:
|
|
11
|
+
* - list_transactions / get_transaction: View spending activity
|
|
12
|
+
* - list_users / get_user: View employees
|
|
13
|
+
* - list_cards / get_card: View corporate cards
|
|
14
|
+
* - list_departments: View departments
|
|
15
|
+
* - list_locations: View locations
|
|
16
|
+
* - list_spend_programs: View spend programs
|
|
17
|
+
* - list_limits: View spend limits/funds
|
|
18
|
+
* - list_reimbursements: View reimbursements
|
|
19
|
+
* - list_bills: View bills
|
|
20
|
+
* - list_vendors: View vendors
|
|
21
|
+
* - get_business: Get business info
|
|
22
|
+
*
|
|
23
|
+
* Features:
|
|
24
|
+
* - OAuth 2.0 authentication
|
|
25
|
+
* - Cursor-based pagination
|
|
26
|
+
* - REST API integration
|
|
27
|
+
*/
|
|
28
|
+
export class RampBubble extends ServiceBubble {
|
|
29
|
+
static type = 'service';
|
|
30
|
+
static service = 'ramp';
|
|
31
|
+
static authType = 'oauth';
|
|
32
|
+
static bubbleName = 'ramp';
|
|
33
|
+
static schema = RampParamsSchema;
|
|
34
|
+
static resultSchema = RampResultSchema;
|
|
35
|
+
static shortDescription = 'Ramp integration for corporate expense management';
|
|
36
|
+
static longDescription = `
|
|
37
|
+
Agent-friendly Ramp integration for corporate expense and spend management.
|
|
38
|
+
|
|
39
|
+
Operations:
|
|
40
|
+
- list_transactions / get_transaction: View spending activity across cards
|
|
41
|
+
- list_users / get_user: View and manage employees
|
|
42
|
+
- list_cards / get_card: View corporate cards
|
|
43
|
+
- list_departments: View departments
|
|
44
|
+
- list_locations: View locations
|
|
45
|
+
- list_spend_programs: View spend programs
|
|
46
|
+
- list_limits: View spend limits/funds
|
|
47
|
+
- list_reimbursements: View reimbursements
|
|
48
|
+
- list_bills: View bills
|
|
49
|
+
- list_vendors: View vendors
|
|
50
|
+
- get_business: Get business information
|
|
51
|
+
|
|
52
|
+
Features:
|
|
53
|
+
- OAuth 2.0 authentication
|
|
54
|
+
- Cursor-based pagination
|
|
55
|
+
- Comprehensive spend visibility
|
|
56
|
+
`;
|
|
57
|
+
static alias = 'ramp';
|
|
58
|
+
constructor(params, context) {
|
|
59
|
+
super(params, context);
|
|
60
|
+
}
|
|
61
|
+
async testCredential() {
|
|
62
|
+
const accessToken = this.chooseCredential();
|
|
63
|
+
if (!accessToken) {
|
|
64
|
+
throw new Error('Ramp credentials are required');
|
|
65
|
+
}
|
|
66
|
+
// Test by fetching business info
|
|
67
|
+
const data = await makeRampRequest(accessToken, '/business');
|
|
68
|
+
if (!data || typeof data !== 'object') {
|
|
69
|
+
throw new Error('Ramp API returned no data');
|
|
70
|
+
}
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
getAccessToken() {
|
|
74
|
+
const { credentials } = this.params;
|
|
75
|
+
if (!credentials || typeof credentials !== 'object') {
|
|
76
|
+
throw new Error('Ramp credentials are required. Connect your Ramp account via OAuth.');
|
|
77
|
+
}
|
|
78
|
+
const token = credentials[CredentialType.RAMP_CRED];
|
|
79
|
+
if (!token) {
|
|
80
|
+
throw new Error('Ramp credentials are required. Connect your Ramp account via OAuth.');
|
|
81
|
+
}
|
|
82
|
+
return token;
|
|
83
|
+
}
|
|
84
|
+
async performAction(context) {
|
|
85
|
+
void context;
|
|
86
|
+
const { operation } = this.params;
|
|
87
|
+
try {
|
|
88
|
+
const result = await (async () => {
|
|
89
|
+
const params = this.params;
|
|
90
|
+
const token = this.getAccessToken();
|
|
91
|
+
switch (operation) {
|
|
92
|
+
case 'list_transactions':
|
|
93
|
+
return await this.listPaginated(token, '/transactions', 'list_transactions', 'transactions', params);
|
|
94
|
+
case 'get_transaction':
|
|
95
|
+
return await this.getSingle(token, `/transactions/${params.transaction_id}`, 'get_transaction', 'transaction');
|
|
96
|
+
case 'list_users':
|
|
97
|
+
return await this.listPaginated(token, '/users', 'list_users', 'users', params);
|
|
98
|
+
case 'get_user':
|
|
99
|
+
return await this.getSingle(token, `/users/${params.user_id}`, 'get_user', 'user');
|
|
100
|
+
case 'list_cards':
|
|
101
|
+
return await this.listPaginated(token, '/cards', 'list_cards', 'cards', params);
|
|
102
|
+
case 'get_card':
|
|
103
|
+
return await this.getSingle(token, `/cards/${params.card_id}`, 'get_card', 'card');
|
|
104
|
+
case 'list_departments':
|
|
105
|
+
return await this.listPaginated(token, '/departments', 'list_departments', 'departments', params);
|
|
106
|
+
case 'list_locations':
|
|
107
|
+
return await this.listPaginated(token, '/locations', 'list_locations', 'locations', params);
|
|
108
|
+
case 'list_spend_programs':
|
|
109
|
+
return await this.listPaginated(token, '/spend-programs', 'list_spend_programs', 'spend_programs', params);
|
|
110
|
+
case 'list_limits':
|
|
111
|
+
return await this.listPaginated(token, '/limits', 'list_limits', 'limits', params);
|
|
112
|
+
case 'list_reimbursements':
|
|
113
|
+
return await this.listPaginated(token, '/reimbursements', 'list_reimbursements', 'reimbursements', params);
|
|
114
|
+
case 'list_bills':
|
|
115
|
+
return await this.listPaginated(token, '/bills', 'list_bills', 'bills', params);
|
|
116
|
+
case 'list_vendors':
|
|
117
|
+
return await this.listPaginated(token, '/vendors', 'list_vendors', 'vendors', params);
|
|
118
|
+
case 'get_business': {
|
|
119
|
+
const data = await makeRampRequest(token, '/business');
|
|
120
|
+
return {
|
|
121
|
+
operation: 'get_business',
|
|
122
|
+
success: true,
|
|
123
|
+
business: data,
|
|
124
|
+
error: '',
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
default:
|
|
128
|
+
throw new Error(`Unsupported operation: ${operation}`);
|
|
129
|
+
}
|
|
130
|
+
})();
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
return {
|
|
135
|
+
operation,
|
|
136
|
+
success: false,
|
|
137
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async listPaginated(token, endpoint, operation, dataKey, params) {
|
|
142
|
+
const queryParams = {};
|
|
143
|
+
if ('page_size' in params && params.page_size) {
|
|
144
|
+
queryParams.page_size = params.page_size;
|
|
145
|
+
}
|
|
146
|
+
if ('start' in params && params.start) {
|
|
147
|
+
queryParams.start = params.start;
|
|
148
|
+
}
|
|
149
|
+
if ('from_date' in params && params.from_date) {
|
|
150
|
+
queryParams.from_date = params.from_date;
|
|
151
|
+
}
|
|
152
|
+
if ('to_date' in params && params.to_date) {
|
|
153
|
+
queryParams.to_date = params.to_date;
|
|
154
|
+
}
|
|
155
|
+
const data = await makeRampRequest(token, endpoint, {
|
|
156
|
+
params: queryParams,
|
|
157
|
+
});
|
|
158
|
+
return {
|
|
159
|
+
operation,
|
|
160
|
+
success: true,
|
|
161
|
+
[dataKey]: (data.data ?? []),
|
|
162
|
+
has_more: !!data.page?.next,
|
|
163
|
+
error: '',
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
async getSingle(token, endpoint, operation, dataKey) {
|
|
167
|
+
const data = await makeRampRequest(token, endpoint);
|
|
168
|
+
return {
|
|
169
|
+
operation,
|
|
170
|
+
success: true,
|
|
171
|
+
[dataKey]: data,
|
|
172
|
+
error: '',
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
chooseCredential() {
|
|
176
|
+
const { credentials } = this.params;
|
|
177
|
+
if (!credentials || typeof credentials !== 'object') {
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
return credentials[CredentialType.RAMP_CRED];
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=ramp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ramp.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/ramp/ramp.ts"],"names":[],"mappings":"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"}
|