@bubblelab/bubble-core 0.1.11 → 0.1.13
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 +183 -117
- package/dist/bubble-factory.d.ts +2 -3
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +28 -96
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.d.ts +14 -14
- package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.js +3 -6
- package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
- package/dist/bubbles/service-bubble/apify/apify.d.ts +5 -5
- package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/apify/apify.js +20 -8
- package/dist/bubbles/service-bubble/apify/apify.js.map +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +542 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts +37 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js +203 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.js +593 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +518 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +311 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/browserbase/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/index.js +3 -0
- package/dist/bubbles/service-bubble/browserbase/index.js.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +1358 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.js +219 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.js.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +1604 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js +194 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/crustdata/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/index.js +3 -0
- package/dist/bubbles/service-bubble/crustdata/index.js.map +1 -0
- package/dist/bubbles/service-bubble/firecrawl.d.ts +4 -4
- package/dist/bubbles/service-bubble/firecrawl.js +1 -1
- package/dist/bubbles/service-bubble/firecrawl.js.map +1 -1
- package/dist/bubbles/service-bubble/github.d.ts +0 -6
- package/dist/bubbles/service-bubble/github.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/github.js +1 -7
- package/dist/bubbles/service-bubble/github.js.map +1 -1
- package/dist/bubbles/service-bubble/gmail.d.ts +84 -84
- package/dist/bubbles/service-bubble/google-drive.d.ts +32 -32
- package/dist/bubbles/service-bubble/http.d.ts +13 -1
- package/dist/bubbles/service-bubble/http.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/http.integration.flow.d.ts +49 -0
- package/dist/bubbles/service-bubble/http.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/http.integration.flow.js +425 -0
- package/dist/bubbles/service-bubble/http.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/http.js +40 -4
- package/dist/bubbles/service-bubble/http.js.map +1 -1
- package/dist/bubbles/service-bubble/resend.d.ts +4 -4
- package/dist/bubbles/service-bubble/slack.d.ts +978 -35
- package/dist/bubbles/service-bubble/slack.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/slack.js +320 -26
- package/dist/bubbles/service-bubble/slack.js.map +1 -1
- package/dist/bubbles/service-bubble/storage.d.ts +1 -1
- package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/storage.js +2 -2
- package/dist/bubbles/service-bubble/storage.js.map +1 -1
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +494 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts +31 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js +100 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.js +1301 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +473 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.js +230 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.d.ts +3 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.js +3 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +740 -0
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/company-enrichment-tool.js +350 -0
- package/dist/bubbles/tool-bubble/company-enrichment-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +146 -0
- package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/get-trigger-detail-tool.js +128 -0
- package/dist/bubbles/tool-bubble/get-trigger-detail-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/google-maps-tool.js +1 -0
- package/dist/bubbles/tool-bubble/google-maps-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/instagram-tool.js +2 -0
- package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +6 -6
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/linkedin-tool.js +6 -4
- package/dist/bubbles/tool-bubble/linkedin-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/research-agent-tool.js +6 -1
- package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +10 -10
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/twitter-tool.js +3 -0
- package/dist/bubbles/tool-bubble/twitter-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +6 -6
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/web-scrape-tool.js +4 -1
- package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/youtube-tool.js +3 -0
- package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +24 -24
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +8 -8
- package/dist/bubbles.json +64 -15
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/logging/BubbleLogger.d.ts +10 -0
- package/dist/logging/BubbleLogger.d.ts.map +1 -1
- package/dist/logging/BubbleLogger.js +14 -0
- package/dist/logging/BubbleLogger.js.map +1 -1
- package/dist/logging/StreamingBubbleLogger.d.ts +8 -0
- package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
- package/dist/logging/StreamingBubbleLogger.js +29 -0
- package/dist/logging/StreamingBubbleLogger.js.map +1 -1
- package/dist/types/available-tools.d.ts +1 -1
- package/dist/types/available-tools.d.ts.map +1 -1
- package/dist/types/available-tools.js +7 -0
- package/dist/types/available-tools.js.map +1 -1
- package/dist/types/base-bubble-class.d.ts.map +1 -1
- package/dist/types/base-bubble-class.js +0 -8
- package/dist/types/base-bubble-class.js.map +1 -1
- package/dist/types/tool-bubble-class.d.ts.map +1 -1
- package/dist/types/tool-bubble-class.js +58 -8
- package/dist/types/tool-bubble-class.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
import { BubbleFlow, HttpBubble } from '@bubblelab/bubble-core';
|
|
2
|
+
export class HttpBubbleIntegrationTest extends BubbleFlow {
|
|
3
|
+
// Test basic GET request
|
|
4
|
+
async testBasicGet(baseUrl) {
|
|
5
|
+
const result = await new HttpBubble({
|
|
6
|
+
url: `${baseUrl}/get`,
|
|
7
|
+
method: 'GET',
|
|
8
|
+
}).action();
|
|
9
|
+
const data = result.data;
|
|
10
|
+
return {
|
|
11
|
+
operation: 'basic_get',
|
|
12
|
+
success: result.success && data?.status === 200,
|
|
13
|
+
details: `Status: ${data?.status}, Response time: ${data?.responseTime}ms`,
|
|
14
|
+
status: data?.status,
|
|
15
|
+
responseTime: data?.responseTime,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
// Test GET with query parameters
|
|
19
|
+
async testGetWithParams(baseUrl) {
|
|
20
|
+
const result = await new HttpBubble({
|
|
21
|
+
url: `${baseUrl}/get?foo=bar&baz=123`,
|
|
22
|
+
method: 'GET',
|
|
23
|
+
}).action();
|
|
24
|
+
const data = result.data;
|
|
25
|
+
const json = data?.json;
|
|
26
|
+
const args = json?.args;
|
|
27
|
+
const hasParams = args?.foo === 'bar' && args?.baz === '123';
|
|
28
|
+
return {
|
|
29
|
+
operation: 'get_with_params',
|
|
30
|
+
success: result.success && hasParams,
|
|
31
|
+
details: `Query params preserved: ${hasParams}`,
|
|
32
|
+
status: data?.status,
|
|
33
|
+
responseTime: data?.responseTime,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
// Test POST with JSON body
|
|
37
|
+
async testPostJson(baseUrl) {
|
|
38
|
+
const testData = {
|
|
39
|
+
name: 'Integration Test',
|
|
40
|
+
value: 42,
|
|
41
|
+
nested: { key: 'value' },
|
|
42
|
+
};
|
|
43
|
+
const result = await new HttpBubble({
|
|
44
|
+
url: `${baseUrl}/post`,
|
|
45
|
+
method: 'POST',
|
|
46
|
+
body: testData,
|
|
47
|
+
}).action();
|
|
48
|
+
const data = result.data;
|
|
49
|
+
const json = data?.json;
|
|
50
|
+
const echoedJson = json?.json;
|
|
51
|
+
const bodyMatches = echoedJson?.name === 'Integration Test' && echoedJson?.value === 42;
|
|
52
|
+
return {
|
|
53
|
+
operation: 'post_json',
|
|
54
|
+
success: result.success && bodyMatches,
|
|
55
|
+
details: `JSON body echoed correctly: ${bodyMatches}`,
|
|
56
|
+
status: data?.status,
|
|
57
|
+
responseTime: data?.responseTime,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// Test POST with string body
|
|
61
|
+
async testPostString(baseUrl) {
|
|
62
|
+
const rawData = 'raw string data for testing';
|
|
63
|
+
const result = await new HttpBubble({
|
|
64
|
+
url: `${baseUrl}/post`,
|
|
65
|
+
method: 'POST',
|
|
66
|
+
body: rawData,
|
|
67
|
+
headers: {
|
|
68
|
+
'Content-Type': 'text/plain',
|
|
69
|
+
},
|
|
70
|
+
}).action();
|
|
71
|
+
const data = result.data;
|
|
72
|
+
const json = data?.json;
|
|
73
|
+
const echoedData = json?.data;
|
|
74
|
+
return {
|
|
75
|
+
operation: 'post_string',
|
|
76
|
+
success: result.success && echoedData === rawData,
|
|
77
|
+
details: `String body echoed: ${echoedData === rawData}`,
|
|
78
|
+
status: data?.status,
|
|
79
|
+
responseTime: data?.responseTime,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// Test PUT request
|
|
83
|
+
async testPut(baseUrl) {
|
|
84
|
+
const result = await new HttpBubble({
|
|
85
|
+
url: `${baseUrl}/put`,
|
|
86
|
+
method: 'PUT',
|
|
87
|
+
body: { updated: true },
|
|
88
|
+
}).action();
|
|
89
|
+
const data = result.data;
|
|
90
|
+
const json = data?.json;
|
|
91
|
+
const echoedJson = json?.json;
|
|
92
|
+
return {
|
|
93
|
+
operation: 'put_request',
|
|
94
|
+
success: result.success && echoedJson?.updated === true,
|
|
95
|
+
details: `PUT successful`,
|
|
96
|
+
status: data?.status,
|
|
97
|
+
responseTime: data?.responseTime,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// Test PATCH request
|
|
101
|
+
async testPatch(baseUrl) {
|
|
102
|
+
const result = await new HttpBubble({
|
|
103
|
+
url: `${baseUrl}/patch`,
|
|
104
|
+
method: 'PATCH',
|
|
105
|
+
body: { patched: 'field' },
|
|
106
|
+
}).action();
|
|
107
|
+
const data = result.data;
|
|
108
|
+
const json = data?.json;
|
|
109
|
+
const echoedJson = json?.json;
|
|
110
|
+
return {
|
|
111
|
+
operation: 'patch_request',
|
|
112
|
+
success: result.success && echoedJson?.patched === 'field',
|
|
113
|
+
details: `PATCH successful`,
|
|
114
|
+
status: data?.status,
|
|
115
|
+
responseTime: data?.responseTime,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
// Test DELETE request
|
|
119
|
+
async testDelete(baseUrl) {
|
|
120
|
+
const result = await new HttpBubble({
|
|
121
|
+
url: `${baseUrl}/delete`,
|
|
122
|
+
method: 'DELETE',
|
|
123
|
+
}).action();
|
|
124
|
+
const data = result.data;
|
|
125
|
+
return {
|
|
126
|
+
operation: 'delete_request',
|
|
127
|
+
success: result.success && data?.status === 200,
|
|
128
|
+
details: `DELETE successful`,
|
|
129
|
+
status: data?.status,
|
|
130
|
+
responseTime: data?.responseTime,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
// Test custom headers
|
|
134
|
+
async testCustomHeaders(baseUrl) {
|
|
135
|
+
const result = await new HttpBubble({
|
|
136
|
+
url: `${baseUrl}/headers`,
|
|
137
|
+
method: 'GET',
|
|
138
|
+
headers: {
|
|
139
|
+
'X-Custom-Header': 'test-value',
|
|
140
|
+
'X-Another-Header': 'another-value',
|
|
141
|
+
},
|
|
142
|
+
}).action();
|
|
143
|
+
const data = result.data;
|
|
144
|
+
const json = data?.json;
|
|
145
|
+
const headers = json?.headers;
|
|
146
|
+
const headersReceived = headers?.['X-Custom-Header'] === 'test-value';
|
|
147
|
+
return {
|
|
148
|
+
operation: 'custom_headers',
|
|
149
|
+
success: result.success && headersReceived,
|
|
150
|
+
details: `Custom headers received: ${headersReceived}`,
|
|
151
|
+
status: data?.status,
|
|
152
|
+
responseTime: data?.responseTime,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// Test Bearer auth type (credentials injected at runtime)
|
|
156
|
+
async testBearerAuth(baseUrl) {
|
|
157
|
+
const result = await new HttpBubble({
|
|
158
|
+
url: `${baseUrl}/headers`,
|
|
159
|
+
method: 'GET',
|
|
160
|
+
authType: 'bearer',
|
|
161
|
+
// credentials will be injected at runtime by BubbleInjector
|
|
162
|
+
}).action();
|
|
163
|
+
const data = result.data;
|
|
164
|
+
const json = data?.json;
|
|
165
|
+
const headers = json?.headers;
|
|
166
|
+
const authHeader = headers?.Authorization;
|
|
167
|
+
const hasBearerToken = authHeader?.startsWith('Bearer ') ?? false;
|
|
168
|
+
return {
|
|
169
|
+
operation: 'bearer_auth',
|
|
170
|
+
success: result.success && hasBearerToken,
|
|
171
|
+
details: `Bearer auth header present: ${hasBearerToken}`,
|
|
172
|
+
status: data?.status,
|
|
173
|
+
responseTime: data?.responseTime,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
// Test Basic auth type (credentials injected at runtime)
|
|
177
|
+
async testBasicAuth(baseUrl) {
|
|
178
|
+
const result = await new HttpBubble({
|
|
179
|
+
url: `${baseUrl}/headers`,
|
|
180
|
+
method: 'GET',
|
|
181
|
+
authType: 'basic',
|
|
182
|
+
// credentials will be injected at runtime by BubbleInjector
|
|
183
|
+
}).action();
|
|
184
|
+
const data = result.data;
|
|
185
|
+
const json = data?.json;
|
|
186
|
+
const headers = json?.headers;
|
|
187
|
+
const authHeader = headers?.Authorization;
|
|
188
|
+
const hasBasicToken = authHeader?.startsWith('Basic ') ?? false;
|
|
189
|
+
return {
|
|
190
|
+
operation: 'basic_auth',
|
|
191
|
+
success: result.success && hasBasicToken,
|
|
192
|
+
details: `Basic auth header present: ${hasBasicToken}`,
|
|
193
|
+
status: data?.status,
|
|
194
|
+
responseTime: data?.responseTime,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
// Test X-API-Key auth type (credentials injected at runtime)
|
|
198
|
+
async testApiKeyAuth(baseUrl) {
|
|
199
|
+
const result = await new HttpBubble({
|
|
200
|
+
url: `${baseUrl}/headers`,
|
|
201
|
+
method: 'GET',
|
|
202
|
+
authType: 'api-key',
|
|
203
|
+
// credentials will be injected at runtime by BubbleInjector
|
|
204
|
+
}).action();
|
|
205
|
+
const data = result.data;
|
|
206
|
+
const json = data?.json;
|
|
207
|
+
const headers = json?.headers;
|
|
208
|
+
const apiKeyHeader = headers?.['X-Api-Key'];
|
|
209
|
+
const hasApiKey = !!apiKeyHeader;
|
|
210
|
+
return {
|
|
211
|
+
operation: 'api_key_auth',
|
|
212
|
+
success: result.success && hasApiKey,
|
|
213
|
+
details: `X-API-Key header present: ${hasApiKey}`,
|
|
214
|
+
status: data?.status,
|
|
215
|
+
responseTime: data?.responseTime,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
// Test Api-Key header auth type (credentials injected at runtime)
|
|
219
|
+
async testApiKeyHeaderAuth(baseUrl) {
|
|
220
|
+
const result = await new HttpBubble({
|
|
221
|
+
url: `${baseUrl}/headers`,
|
|
222
|
+
method: 'GET',
|
|
223
|
+
authType: 'api-key-header',
|
|
224
|
+
// credentials will be injected at runtime by BubbleInjector
|
|
225
|
+
}).action();
|
|
226
|
+
const data = result.data;
|
|
227
|
+
const json = data?.json;
|
|
228
|
+
const headers = json?.headers;
|
|
229
|
+
const apiKeyHeader = headers?.['Api-Key'];
|
|
230
|
+
const hasApiKey = !!apiKeyHeader;
|
|
231
|
+
return {
|
|
232
|
+
operation: 'api_key_header_auth',
|
|
233
|
+
success: result.success && hasApiKey,
|
|
234
|
+
details: `Api-Key header present: ${hasApiKey}`,
|
|
235
|
+
status: data?.status,
|
|
236
|
+
responseTime: data?.responseTime,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
// Test custom auth header (credentials injected at runtime)
|
|
240
|
+
async testCustomAuth(baseUrl) {
|
|
241
|
+
const result = await new HttpBubble({
|
|
242
|
+
url: `${baseUrl}/headers`,
|
|
243
|
+
method: 'GET',
|
|
244
|
+
authType: 'custom',
|
|
245
|
+
authHeader: 'X-Custom-Auth-Token',
|
|
246
|
+
// credentials will be injected at runtime by BubbleInjector
|
|
247
|
+
}).action();
|
|
248
|
+
const data = result.data;
|
|
249
|
+
const json = data?.json;
|
|
250
|
+
const headers = json?.headers;
|
|
251
|
+
const customHeader = headers?.['X-Custom-Auth-Token'];
|
|
252
|
+
const hasCustomAuth = !!customHeader;
|
|
253
|
+
return {
|
|
254
|
+
operation: 'custom_auth_header',
|
|
255
|
+
success: result.success && hasCustomAuth,
|
|
256
|
+
details: `Custom auth header present: ${hasCustomAuth}`,
|
|
257
|
+
status: data?.status,
|
|
258
|
+
responseTime: data?.responseTime,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
// Test dynamic API key in headers (manual injection via headers parameter)
|
|
262
|
+
async testDynamicApiKeyInHeaders(baseUrl, authToken) {
|
|
263
|
+
const result = await new HttpBubble({
|
|
264
|
+
url: `${baseUrl}/headers`,
|
|
265
|
+
method: 'GET',
|
|
266
|
+
headers: {
|
|
267
|
+
Authorization: authToken,
|
|
268
|
+
'Content-Type': 'application/json',
|
|
269
|
+
Accept: 'application/json',
|
|
270
|
+
'x-ms-version': '2021-04-10',
|
|
271
|
+
},
|
|
272
|
+
}).action();
|
|
273
|
+
const data = result.data;
|
|
274
|
+
const json = data?.json;
|
|
275
|
+
const headers = json?.headers;
|
|
276
|
+
const authReceived = headers?.Authorization === authToken;
|
|
277
|
+
return {
|
|
278
|
+
operation: 'dynamic_api_key_headers',
|
|
279
|
+
success: result.success && authReceived,
|
|
280
|
+
details: `Dynamic auth header received: ${authReceived}`,
|
|
281
|
+
status: data?.status,
|
|
282
|
+
responseTime: data?.responseTime,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
// Test HTTP error handling (404)
|
|
286
|
+
async testErrorHandling404(baseUrl) {
|
|
287
|
+
const result = await new HttpBubble({
|
|
288
|
+
url: `${baseUrl}/status/404`,
|
|
289
|
+
method: 'GET',
|
|
290
|
+
}).action();
|
|
291
|
+
const data = result.data;
|
|
292
|
+
return {
|
|
293
|
+
operation: 'error_handling_404',
|
|
294
|
+
success: !data?.success && data?.status === 404,
|
|
295
|
+
details: `404 handled correctly: ${data?.status === 404}`,
|
|
296
|
+
status: data?.status,
|
|
297
|
+
responseTime: data?.responseTime,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
// Test HTTP error handling (500)
|
|
301
|
+
async testErrorHandling500(baseUrl) {
|
|
302
|
+
const result = await new HttpBubble({
|
|
303
|
+
url: `${baseUrl}/status/500`,
|
|
304
|
+
method: 'GET',
|
|
305
|
+
}).action();
|
|
306
|
+
const data = result.data;
|
|
307
|
+
return {
|
|
308
|
+
operation: 'error_handling_500',
|
|
309
|
+
success: !data?.success && data?.status === 500,
|
|
310
|
+
details: `500 handled correctly: ${data?.status === 500}`,
|
|
311
|
+
status: data?.status,
|
|
312
|
+
responseTime: data?.responseTime,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
// Test response with different content types
|
|
316
|
+
async testHtmlResponse(baseUrl) {
|
|
317
|
+
const result = await new HttpBubble({
|
|
318
|
+
url: `${baseUrl}/html`,
|
|
319
|
+
method: 'GET',
|
|
320
|
+
}).action();
|
|
321
|
+
const data = result.data;
|
|
322
|
+
const isHtml = data?.body?.includes('<html>') || data?.body?.includes('<!DOCTYPE');
|
|
323
|
+
return {
|
|
324
|
+
operation: 'html_response',
|
|
325
|
+
success: result.success && isHtml,
|
|
326
|
+
details: `HTML response received: ${isHtml}`,
|
|
327
|
+
status: data?.status,
|
|
328
|
+
responseTime: data?.responseTime,
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
// Test timeout behavior
|
|
332
|
+
async testTimeout(baseUrl) {
|
|
333
|
+
const result = await new HttpBubble({
|
|
334
|
+
url: `${baseUrl}/delay/1`, // 1 second delay
|
|
335
|
+
method: 'GET',
|
|
336
|
+
timeout: 5000, // 5 second timeout (should succeed)
|
|
337
|
+
}).action();
|
|
338
|
+
const data = result.data;
|
|
339
|
+
return {
|
|
340
|
+
operation: 'timeout_handling',
|
|
341
|
+
success: result.success,
|
|
342
|
+
details: `Request with delay completed: ${result.success}`,
|
|
343
|
+
status: data?.status,
|
|
344
|
+
responseTime: data?.responseTime,
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
// Test redirect handling
|
|
348
|
+
async testRedirectFollow(baseUrl) {
|
|
349
|
+
const result = await new HttpBubble({
|
|
350
|
+
url: `${baseUrl}/redirect/2`, // 2 redirects
|
|
351
|
+
method: 'GET',
|
|
352
|
+
followRedirects: true,
|
|
353
|
+
}).action();
|
|
354
|
+
const data = result.data;
|
|
355
|
+
return {
|
|
356
|
+
operation: 'redirect_follow',
|
|
357
|
+
success: result.success && data?.status === 200,
|
|
358
|
+
details: `Redirects followed: ${result.success}`,
|
|
359
|
+
status: data?.status,
|
|
360
|
+
responseTime: data?.responseTime,
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
// Test redirect handling disabled
|
|
364
|
+
async testRedirectManual(baseUrl) {
|
|
365
|
+
const result = await new HttpBubble({
|
|
366
|
+
url: `${baseUrl}/redirect/1`,
|
|
367
|
+
method: 'GET',
|
|
368
|
+
followRedirects: false,
|
|
369
|
+
}).action();
|
|
370
|
+
const data = result.data;
|
|
371
|
+
const status = data?.status ?? 0;
|
|
372
|
+
// When followRedirects is false, we should get a 3xx status
|
|
373
|
+
const isRedirect = status >= 300 && status < 400;
|
|
374
|
+
return {
|
|
375
|
+
operation: 'redirect_manual',
|
|
376
|
+
success: isRedirect || status === 200, // Some implementations may still follow
|
|
377
|
+
details: `Manual redirect handling: status ${status}`,
|
|
378
|
+
status: data?.status,
|
|
379
|
+
responseTime: data?.responseTime,
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
async handle(payload) {
|
|
383
|
+
const baseUrl = payload.baseUrl || 'https://httpbin.org';
|
|
384
|
+
const results = [];
|
|
385
|
+
// Basic HTTP method tests
|
|
386
|
+
results.push(await this.testBasicGet(baseUrl));
|
|
387
|
+
results.push(await this.testGetWithParams(baseUrl));
|
|
388
|
+
results.push(await this.testPostJson(baseUrl));
|
|
389
|
+
results.push(await this.testPostString(baseUrl));
|
|
390
|
+
results.push(await this.testPut(baseUrl));
|
|
391
|
+
results.push(await this.testPatch(baseUrl));
|
|
392
|
+
results.push(await this.testDelete(baseUrl));
|
|
393
|
+
results.push(await this.testCustomHeaders(baseUrl));
|
|
394
|
+
// Auth type tests (credentials injected at runtime)
|
|
395
|
+
// Note: These tests will only pass when CUSTOM_AUTH_KEY credential is configured
|
|
396
|
+
results.push(await this.testBearerAuth(baseUrl));
|
|
397
|
+
results.push(await this.testBasicAuth(baseUrl));
|
|
398
|
+
results.push(await this.testApiKeyAuth(baseUrl));
|
|
399
|
+
results.push(await this.testApiKeyHeaderAuth(baseUrl));
|
|
400
|
+
results.push(await this.testCustomAuth(baseUrl));
|
|
401
|
+
// Dynamic API key in headers (manual approach)
|
|
402
|
+
results.push(await this.testDynamicApiKeyInHeaders(baseUrl, 'Bearer test-token-12345'));
|
|
403
|
+
// Error handling tests
|
|
404
|
+
results.push(await this.testErrorHandling404(baseUrl));
|
|
405
|
+
results.push(await this.testErrorHandling500(baseUrl));
|
|
406
|
+
// Response type tests
|
|
407
|
+
results.push(await this.testHtmlResponse(baseUrl));
|
|
408
|
+
// Timeout and redirect tests
|
|
409
|
+
results.push(await this.testTimeout(baseUrl));
|
|
410
|
+
results.push(await this.testRedirectFollow(baseUrl));
|
|
411
|
+
results.push(await this.testRedirectManual(baseUrl));
|
|
412
|
+
// Calculate summary
|
|
413
|
+
const passed = results.filter((r) => r.success).length;
|
|
414
|
+
const failed = results.filter((r) => !r.success).length;
|
|
415
|
+
return {
|
|
416
|
+
testResults: results,
|
|
417
|
+
summary: {
|
|
418
|
+
total: results.length,
|
|
419
|
+
passed,
|
|
420
|
+
failed,
|
|
421
|
+
},
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
//# sourceMappingURL=http.integration.flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.integration.flow.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/http.integration.flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,14 @@ const HttpParamsSchema = z.object({
|
|
|
36
36
|
.boolean()
|
|
37
37
|
.default(true)
|
|
38
38
|
.describe('Whether to follow HTTP redirects (default: true)'),
|
|
39
|
+
authType: z
|
|
40
|
+
.enum(['none', 'bearer', 'basic', 'api-key', 'api-key-header', 'custom'])
|
|
41
|
+
.default('none')
|
|
42
|
+
.describe('Authentication type: none (default), bearer (Authorization: Bearer), basic (Authorization: Basic), api-key (X-API-Key), api-key-header (Api-Key), custom (user-specified header)'),
|
|
43
|
+
authHeader: z
|
|
44
|
+
.string()
|
|
45
|
+
.optional()
|
|
46
|
+
.describe('Custom header name when authType is "custom" (e.g., "X-Custom-Auth")'),
|
|
39
47
|
credentials: z
|
|
40
48
|
.record(z.nativeEnum(CredentialType), z.string())
|
|
41
49
|
.optional()
|
|
@@ -57,7 +65,7 @@ const HttpResultSchema = z.object({
|
|
|
57
65
|
});
|
|
58
66
|
export class HttpBubble extends ServiceBubble {
|
|
59
67
|
static service = 'nodex-core';
|
|
60
|
-
static authType = '
|
|
68
|
+
static authType = 'apikey';
|
|
61
69
|
static bubbleName = 'http';
|
|
62
70
|
static type = 'service';
|
|
63
71
|
static schema = HttpParamsSchema;
|
|
@@ -90,8 +98,11 @@ export class HttpBubble extends ServiceBubble {
|
|
|
90
98
|
super(params, context);
|
|
91
99
|
}
|
|
92
100
|
chooseCredential() {
|
|
93
|
-
|
|
94
|
-
|
|
101
|
+
const credentials = this.params.credentials;
|
|
102
|
+
if (!credentials || typeof credentials !== 'object') {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
return credentials[CredentialType.CUSTOM_AUTH_KEY];
|
|
95
106
|
}
|
|
96
107
|
async testCredential() {
|
|
97
108
|
// HTTP bubble doesn't require specific credentials to test
|
|
@@ -100,7 +111,7 @@ export class HttpBubble extends ServiceBubble {
|
|
|
100
111
|
}
|
|
101
112
|
async performAction(context) {
|
|
102
113
|
void context; // Context available but not currently used
|
|
103
|
-
const { url, method, headers, body, timeout, followRedirects } = this.params;
|
|
114
|
+
const { url, method, headers, body, timeout, followRedirects, authType, authHeader, } = this.params;
|
|
104
115
|
const startTime = Date.now();
|
|
105
116
|
try {
|
|
106
117
|
console.log(`[HttpBubble] Making ${method} request to ${url}`);
|
|
@@ -109,11 +120,36 @@ export class HttpBubble extends ServiceBubble {
|
|
|
109
120
|
const timeoutId = setTimeout(() => {
|
|
110
121
|
abortController.abort();
|
|
111
122
|
}, timeout);
|
|
123
|
+
// Build auth headers based on authType
|
|
124
|
+
const authHeaders = {};
|
|
125
|
+
const credential = this.chooseCredential();
|
|
126
|
+
if (credential && authType !== 'none') {
|
|
127
|
+
switch (authType) {
|
|
128
|
+
case 'bearer':
|
|
129
|
+
authHeaders['Authorization'] = `Bearer ${credential}`;
|
|
130
|
+
break;
|
|
131
|
+
case 'basic':
|
|
132
|
+
authHeaders['Authorization'] = `Basic ${credential}`;
|
|
133
|
+
break;
|
|
134
|
+
case 'api-key':
|
|
135
|
+
authHeaders['X-API-Key'] = credential;
|
|
136
|
+
break;
|
|
137
|
+
case 'api-key-header':
|
|
138
|
+
authHeaders['Api-Key'] = credential;
|
|
139
|
+
break;
|
|
140
|
+
case 'custom':
|
|
141
|
+
if (authHeader) {
|
|
142
|
+
authHeaders[authHeader] = credential;
|
|
143
|
+
}
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
112
147
|
// Prepare request options
|
|
113
148
|
const requestOptions = {
|
|
114
149
|
method,
|
|
115
150
|
headers: {
|
|
116
151
|
'User-Agent': 'NodeX-HttpBubble/1.0',
|
|
152
|
+
...authHeaders,
|
|
117
153
|
...headers,
|
|
118
154
|
},
|
|
119
155
|
redirect: followRedirects ? 'follow' : 'manual',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAE5E,oBAAoB;AACpB,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9B,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH,mDAAmD;AACnD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,qBAAqB,CAAC;SAC1B,QAAQ,CAAC,qCAAqC,CAAC;IAClD,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC9C,mCAAmC,CACpC;IACD,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC1C,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,GAAG,CAAC,MAAM,CAAC;SACX,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChD,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC,CAAC;AAKH,0CAA0C;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC7E,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,CAAC,4DAA4D,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACpD,CAAC,CAAC;AAIH,MAAM,OAAO,UAAW,SAAQ,aAAqC;IACnE,MAAM,CAAU,OAAO,GAAG,YAAY,CAAC;IACvC,MAAM,CAAU,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAE5E,oBAAoB;AACpB,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9B,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH,mDAAmD;AACnD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,qBAAqB,CAAC;SAC1B,QAAQ,CAAC,qCAAqC,CAAC;IAClD,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC9C,mCAAmC,CACpC;IACD,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC1C,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,GAAG,CAAC,MAAM,CAAC;SACX,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;SACxE,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,kLAAkL,CACnL;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sEAAsE,CACvE;IACH,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChD,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC,CAAC;AAKH,0CAA0C;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC7E,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,CAAC,4DAA4D,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACpD,CAAC,CAAC;AAIH,MAAM,OAAO,UAAW,SAAQ,aAAqC;IACnE,MAAM,CAAU,OAAO,GAAG,YAAY,CAAC;IACvC,MAAM,CAAU,QAAQ,GAAG,QAAiB,CAAC;IAC7C,MAAM,CAAU,UAAU,GAAe,MAAM,CAAC;IAChD,MAAM,CAAU,IAAI,GAAG,SAAkB,CAAC;IAC1C,MAAM,CAAU,MAAM,GAAG,gBAAgB,CAAC;IAC1C,MAAM,CAAU,YAAY,GAAG,gBAAgB,CAAC;IAChD,MAAM,CAAU,gBAAgB,GAC9B,mDAAmD,CAAC;IACtD,MAAM,CAAU,eAAe,GAAG;;;;;;;;;;;;;;;;;;GAkBjC,CAAC;IACF,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC;IAEhC,YACE,SAA0B;QACxB,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE,KAAK;KACd,EACD,OAAuB;QAEvB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAES,gBAAgB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,2DAA2D;QAC3D,sDAAsD;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,OAAuB;QACnD,KAAK,OAAO,CAAC,CAAC,2CAA2C;QAEzD,MAAM,EACJ,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,eAAe,EACf,QAAQ,EACR,UAAU,GACX,GAAG,IAAI,CAAC,MAAM,CAAC;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,eAAe,GAAG,EAAE,CAAC,CAAC;YAE/D,sCAAsC;YACtC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,uCAAuC;YACvC,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,IAAI,UAAU,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACtC,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,QAAQ;wBACX,WAAW,CAAC,eAAe,CAAC,GAAG,UAAU,UAAU,EAAE,CAAC;wBACtD,MAAM;oBACR,KAAK,OAAO;wBACV,WAAW,CAAC,eAAe,CAAC,GAAG,SAAS,UAAU,EAAE,CAAC;wBACrD,MAAM;oBACR,KAAK,SAAS;wBACZ,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;wBACtC,MAAM;oBACR,KAAK,gBAAgB;wBACnB,WAAW,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;wBACpC,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,UAAU,EAAE,CAAC;4BACf,WAAW,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;wBACvC,CAAC;wBACD,MAAM;gBACV,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,MAAM,cAAc,GAAgB;gBAClC,MAAM;gBACN,OAAO,EAAE;oBACP,YAAY,EAAE,sBAAsB;oBACpC,GAAG,WAAW;oBACd,GAAG,OAAO;iBACX;gBACD,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBAC/C,MAAM,EAAE,eAAe,CAAC,MAAM;aAC/B,CAAC;YAEF,+BAA+B;YAC/B,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,OAAO,GAAG;wBACvB,cAAc,EAAE,kBAAkB;wBAClC,GAAG,cAAc,CAAC,OAAO;qBAC1B,CAAC;oBACF,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAClD,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,qCAAqC;YAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE5C,qBAAqB;YACrB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YAEnD,uBAAuB;YACvB,IAAI,YAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;gBACxB,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC;YAED,kCAAkC;YAClC,MAAM,eAAe,GAA2B,EAAE,CAAC;YACnD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;gBACtD,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAe;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO,EAAE,eAAe;gBACxB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACpB,KAAK,EAAE,QAAQ,CAAC,EAAE;oBAChB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE;gBACrD,YAAY;gBACZ,IAAI,EAAE,YAAY;aACnB,CAAC;YAEF,OAAO,CAAC,GAAG,CACT,mCAAmC,QAAQ,CAAC,MAAM,KAAK,YAAY,KAAK,CACzE,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC5C,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAE3D,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;YAE5D,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,gBAAgB;gBAC5B,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;gBACnB,YAAY;gBACZ,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;IACH,CAAC"}
|
|
@@ -47,12 +47,12 @@ declare const ResendParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
|
|
|
47
47
|
to: string | string[];
|
|
48
48
|
subject: string;
|
|
49
49
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
50
|
-
text?: string | undefined;
|
|
51
50
|
tags?: {
|
|
52
51
|
value: string;
|
|
53
52
|
name: string;
|
|
54
53
|
}[] | undefined;
|
|
55
54
|
headers?: Record<string, string> | undefined;
|
|
55
|
+
text?: string | undefined;
|
|
56
56
|
attachments?: {
|
|
57
57
|
content: string | Buffer<ArrayBufferLike>;
|
|
58
58
|
filename: string;
|
|
@@ -69,12 +69,12 @@ declare const ResendParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObj
|
|
|
69
69
|
to: string | string[];
|
|
70
70
|
subject: string;
|
|
71
71
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
72
|
-
text?: string | undefined;
|
|
73
72
|
tags?: {
|
|
74
73
|
value: string;
|
|
75
74
|
name: string;
|
|
76
75
|
}[] | undefined;
|
|
77
76
|
headers?: Record<string, string> | undefined;
|
|
77
|
+
text?: string | undefined;
|
|
78
78
|
attachments?: {
|
|
79
79
|
content: string | Buffer<ArrayBufferLike>;
|
|
80
80
|
filename: string;
|
|
@@ -194,12 +194,12 @@ export declare class ResendBubble<T extends ResendParams = ResendParams> extends
|
|
|
194
194
|
to: string | string[];
|
|
195
195
|
subject: string;
|
|
196
196
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
197
|
-
text?: string | undefined;
|
|
198
197
|
tags?: {
|
|
199
198
|
value: string;
|
|
200
199
|
name: string;
|
|
201
200
|
}[] | undefined;
|
|
202
201
|
headers?: Record<string, string> | undefined;
|
|
202
|
+
text?: string | undefined;
|
|
203
203
|
attachments?: {
|
|
204
204
|
content: string | Buffer<ArrayBufferLike>;
|
|
205
205
|
filename: string;
|
|
@@ -216,12 +216,12 @@ export declare class ResendBubble<T extends ResendParams = ResendParams> extends
|
|
|
216
216
|
to: string | string[];
|
|
217
217
|
subject: string;
|
|
218
218
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
219
|
-
text?: string | undefined;
|
|
220
219
|
tags?: {
|
|
221
220
|
value: string;
|
|
222
221
|
name: string;
|
|
223
222
|
}[] | undefined;
|
|
224
223
|
headers?: Record<string, string> | undefined;
|
|
224
|
+
text?: string | undefined;
|
|
225
225
|
attachments?: {
|
|
226
226
|
content: string | Buffer<ArrayBufferLike>;
|
|
227
227
|
filename: string;
|