@bubblelab/bubble-core 0.1.234 → 0.1.235

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 (87) hide show
  1. package/dist/bubble-bundle.d.ts +116 -116
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +76 -76
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts +16 -16
  4. package/dist/bubbles/service-bubble/airtable.d.ts +46 -46
  5. package/dist/bubbles/service-bubble/apify/apify.d.ts +12 -12
  6. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +62 -62
  7. package/dist/bubbles/service-bubble/assembled/assembled.d.ts +26 -26
  8. package/dist/bubbles/service-bubble/attio/attio.d.ts +28 -28
  9. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +28 -28
  10. package/dist/bubbles/service-bubble/confluence/confluence.d.ts +26 -26
  11. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +86 -86
  12. package/dist/bubbles/service-bubble/eleven-labs.d.ts +28 -28
  13. package/dist/bubbles/service-bubble/firecrawl.d.ts +294 -294
  14. package/dist/bubbles/service-bubble/followupboss.d.ts +128 -128
  15. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +28 -28
  16. package/dist/bubbles/service-bubble/github.d.ts +168 -168
  17. package/dist/bubbles/service-bubble/gmail.d.ts +387 -320
  18. package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -1
  19. package/dist/bubbles/service-bubble/gmail.js +54 -0
  20. package/dist/bubbles/service-bubble/gmail.js.map +1 -1
  21. package/dist/bubbles/service-bubble/google-calendar.d.ts +30 -30
  22. package/dist/bubbles/service-bubble/google-drive.d.ts +56 -56
  23. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +22 -22
  24. package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
  25. package/dist/bubbles/service-bubble/http.d.ts +49 -26
  26. package/dist/bubbles/service-bubble/http.d.ts.map +1 -1
  27. package/dist/bubbles/service-bubble/http.js +87 -12
  28. package/dist/bubbles/service-bubble/http.js.map +1 -1
  29. package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +38 -38
  30. package/dist/bubbles/service-bubble/insforge-db.d.ts +10 -10
  31. package/dist/bubbles/service-bubble/jira/jira.d.ts +62 -62
  32. package/dist/bubbles/service-bubble/linear/linear.d.ts +22 -22
  33. package/dist/bubbles/service-bubble/notion/notion.d.ts +669 -669
  34. package/dist/bubbles/service-bubble/postgresql.d.ts +10 -10
  35. package/dist/bubbles/service-bubble/posthog/posthog.d.ts +12 -12
  36. package/dist/bubbles/service-bubble/ramp/ramp.d.ts +28 -28
  37. package/dist/bubbles/service-bubble/resend.d.ts +16 -16
  38. package/dist/bubbles/service-bubble/s3/s3.d.ts +12 -12
  39. package/dist/bubbles/service-bubble/sendsafely/sendsafely.d.ts +10 -10
  40. package/dist/bubbles/service-bubble/slab/slab.d.ts +26 -26
  41. package/dist/bubbles/service-bubble/slack/slack.d.ts +326 -326
  42. package/dist/bubbles/service-bubble/storage.d.ts +24 -24
  43. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +50 -50
  44. package/dist/bubbles/service-bubble/telegram.d.ts +56 -56
  45. package/dist/bubbles/service-bubble/xero/xero.d.ts +16 -16
  46. package/dist/bubbles/service-bubble/zendesk/zendesk.d.ts +36 -36
  47. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +20 -20
  48. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts +2 -2
  49. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +2 -2
  50. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts +2 -2
  51. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts +2 -2
  52. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +8 -8
  53. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
  54. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +4 -4
  55. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +14 -14
  56. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
  57. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
  58. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +12 -12
  59. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +14 -14
  60. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +112 -112
  61. package/dist/bubbles/tool-bubble/list-airtable-bases-tool.d.ts +4 -4
  62. package/dist/bubbles/tool-bubble/list-airtable-tables-tool.d.ts +4 -4
  63. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
  64. package/dist/bubbles/tool-bubble/list-capabilities-tool.d.ts +4 -4
  65. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +38 -38
  66. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +24 -24
  67. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +8 -8
  68. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  69. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +12 -12
  70. package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
  71. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +48 -48
  72. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +18 -18
  73. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +16 -16
  74. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +14 -14
  75. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +12 -12
  76. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +8 -8
  77. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +24 -24
  78. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  79. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +16 -16
  80. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +4 -4
  81. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +24 -24
  82. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +24 -24
  83. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +6 -6
  84. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +14 -14
  85. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +4 -4
  86. package/dist/bubbles.json +95 -6
  87. package/package.json +2 -2
@@ -22,12 +22,12 @@ declare const HelloWorldResultSchema: z.ZodObject<{
22
22
  success: z.ZodBoolean;
23
23
  error: z.ZodString;
24
24
  }, "strip", z.ZodTypeAny, {
25
- error: string;
26
25
  success: boolean;
26
+ error: string;
27
27
  greeting: string;
28
28
  }, {
29
- error: string;
30
29
  success: boolean;
30
+ error: string;
31
31
  greeting: string;
32
32
  }>;
33
33
  type HelloWorldResult = z.output<typeof HelloWorldResultSchema>;
@@ -54,12 +54,12 @@ export declare class HelloWorldBubble extends ServiceBubble<HelloWorldParams, He
54
54
  success: z.ZodBoolean;
55
55
  error: z.ZodString;
56
56
  }, "strip", z.ZodTypeAny, {
57
- error: string;
58
57
  success: boolean;
58
+ error: string;
59
59
  greeting: string;
60
60
  }, {
61
- error: string;
62
61
  success: boolean;
62
+ error: string;
63
63
  greeting: string;
64
64
  }>;
65
65
  static readonly shortDescription = "Simple hello world bubble for testing purposes";
@@ -11,27 +11,30 @@ declare const HttpParamsSchema: z.ZodObject<{
11
11
  followRedirects: z.ZodDefault<z.ZodBoolean>;
12
12
  authType: z.ZodDefault<z.ZodEnum<["none", "bearer", "basic", "api-key", "api-key-header", "custom"]>>;
13
13
  authHeader: z.ZodOptional<z.ZodString>;
14
+ responseType: z.ZodDefault<z.ZodEnum<["auto", "text", "binary"]>>;
14
15
  credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
15
16
  }, "strip", z.ZodTypeAny, {
16
17
  url: string;
18
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
17
19
  timeout: number;
18
- method: "POST" | "DELETE" | "GET" | "PUT" | "PATCH" | "HEAD" | "OPTIONS";
19
20
  followRedirects: boolean;
20
- authType: "none" | "custom" | "bearer" | "basic" | "api-key" | "api-key-header";
21
- credentials?: Partial<Record<CredentialType, string>> | undefined;
21
+ authType: "custom" | "none" | "bearer" | "basic" | "api-key" | "api-key-header";
22
+ responseType: "binary" | "auto" | "text";
22
23
  headers?: Record<string, string> | undefined;
23
24
  body?: string | Record<string, unknown> | undefined;
24
25
  authHeader?: string | undefined;
26
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
25
27
  }, {
26
28
  url: string;
27
- credentials?: Partial<Record<CredentialType, string>> | undefined;
28
- timeout?: number | undefined;
29
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | undefined;
29
30
  headers?: Record<string, string> | undefined;
30
- method?: "POST" | "DELETE" | "GET" | "PUT" | "PATCH" | "HEAD" | "OPTIONS" | undefined;
31
31
  body?: string | Record<string, unknown> | undefined;
32
+ timeout?: number | undefined;
32
33
  followRedirects?: boolean | undefined;
33
- authType?: "none" | "custom" | "bearer" | "basic" | "api-key" | "api-key-header" | undefined;
34
+ authType?: "custom" | "none" | "bearer" | "basic" | "api-key" | "api-key-header" | undefined;
34
35
  authHeader?: string | undefined;
36
+ responseType?: "binary" | "auto" | "text" | undefined;
37
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
35
38
  }>;
36
39
  type HttpParamsInput = z.input<typeof HttpParamsSchema>;
37
40
  type HttpParams = z.output<typeof HttpParamsSchema>;
@@ -40,6 +43,8 @@ declare const HttpResultSchema: z.ZodObject<{
40
43
  statusText: z.ZodString;
41
44
  headers: z.ZodRecord<z.ZodString, z.ZodString>;
42
45
  body: z.ZodString;
46
+ isBase64: z.ZodBoolean;
47
+ contentType: z.ZodString;
43
48
  json: z.ZodOptional<z.ZodUnknown>;
44
49
  success: z.ZodBoolean;
45
50
  error: z.ZodString;
@@ -47,23 +52,27 @@ declare const HttpResultSchema: z.ZodObject<{
47
52
  size: z.ZodNumber;
48
53
  }, "strip", z.ZodTypeAny, {
49
54
  status: number;
50
- error: string;
51
- success: boolean;
52
55
  headers: Record<string, string>;
53
- size: number;
54
56
  body: string;
57
+ isBase64: boolean;
55
58
  statusText: string;
59
+ contentType: string;
60
+ success: boolean;
61
+ error: string;
56
62
  responseTime: number;
63
+ size: number;
57
64
  json?: unknown;
58
65
  }, {
59
66
  status: number;
60
- error: string;
61
- success: boolean;
62
67
  headers: Record<string, string>;
63
- size: number;
64
68
  body: string;
69
+ isBase64: boolean;
65
70
  statusText: string;
71
+ contentType: string;
72
+ success: boolean;
73
+ error: string;
66
74
  responseTime: number;
75
+ size: number;
67
76
  json?: unknown;
68
77
  }>;
69
78
  type HttpResult = z.output<typeof HttpResultSchema>;
@@ -81,33 +90,38 @@ export declare class HttpBubble extends ServiceBubble<HttpParams, HttpResult> {
81
90
  followRedirects: z.ZodDefault<z.ZodBoolean>;
82
91
  authType: z.ZodDefault<z.ZodEnum<["none", "bearer", "basic", "api-key", "api-key-header", "custom"]>>;
83
92
  authHeader: z.ZodOptional<z.ZodString>;
93
+ responseType: z.ZodDefault<z.ZodEnum<["auto", "text", "binary"]>>;
84
94
  credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
85
95
  }, "strip", z.ZodTypeAny, {
86
96
  url: string;
97
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
87
98
  timeout: number;
88
- method: "POST" | "DELETE" | "GET" | "PUT" | "PATCH" | "HEAD" | "OPTIONS";
89
99
  followRedirects: boolean;
90
- authType: "none" | "custom" | "bearer" | "basic" | "api-key" | "api-key-header";
91
- credentials?: Partial<Record<CredentialType, string>> | undefined;
100
+ authType: "custom" | "none" | "bearer" | "basic" | "api-key" | "api-key-header";
101
+ responseType: "binary" | "auto" | "text";
92
102
  headers?: Record<string, string> | undefined;
93
103
  body?: string | Record<string, unknown> | undefined;
94
104
  authHeader?: string | undefined;
105
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
95
106
  }, {
96
107
  url: string;
97
- credentials?: Partial<Record<CredentialType, string>> | undefined;
98
- timeout?: number | undefined;
108
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | undefined;
99
109
  headers?: Record<string, string> | undefined;
100
- method?: "POST" | "DELETE" | "GET" | "PUT" | "PATCH" | "HEAD" | "OPTIONS" | undefined;
101
110
  body?: string | Record<string, unknown> | undefined;
111
+ timeout?: number | undefined;
102
112
  followRedirects?: boolean | undefined;
103
- authType?: "none" | "custom" | "bearer" | "basic" | "api-key" | "api-key-header" | undefined;
113
+ authType?: "custom" | "none" | "bearer" | "basic" | "api-key" | "api-key-header" | undefined;
104
114
  authHeader?: string | undefined;
115
+ responseType?: "binary" | "auto" | "text" | undefined;
116
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
105
117
  }>;
106
118
  static readonly resultSchema: z.ZodObject<{
107
119
  status: z.ZodNumber;
108
120
  statusText: z.ZodString;
109
121
  headers: z.ZodRecord<z.ZodString, z.ZodString>;
110
122
  body: z.ZodString;
123
+ isBase64: z.ZodBoolean;
124
+ contentType: z.ZodString;
111
125
  json: z.ZodOptional<z.ZodUnknown>;
112
126
  success: z.ZodBoolean;
113
127
  error: z.ZodString;
@@ -115,23 +129,27 @@ export declare class HttpBubble extends ServiceBubble<HttpParams, HttpResult> {
115
129
  size: z.ZodNumber;
116
130
  }, "strip", z.ZodTypeAny, {
117
131
  status: number;
118
- error: string;
119
- success: boolean;
120
132
  headers: Record<string, string>;
121
- size: number;
122
133
  body: string;
134
+ isBase64: boolean;
123
135
  statusText: string;
136
+ contentType: string;
137
+ success: boolean;
138
+ error: string;
124
139
  responseTime: number;
140
+ size: number;
125
141
  json?: unknown;
126
142
  }, {
127
143
  status: number;
128
- error: string;
129
- success: boolean;
130
144
  headers: Record<string, string>;
131
- size: number;
132
145
  body: string;
146
+ isBase64: boolean;
133
147
  statusText: string;
148
+ contentType: string;
149
+ success: boolean;
150
+ error: string;
134
151
  responseTime: number;
152
+ size: number;
135
153
  json?: unknown;
136
154
  }>;
137
155
  static readonly shortDescription = "Makes HTTP requests to external APIs and services";
@@ -141,6 +159,11 @@ export declare class HttpBubble extends ServiceBubble<HttpParams, HttpResult> {
141
159
  protected chooseCredential(): string | undefined;
142
160
  testCredential(): Promise<boolean>;
143
161
  protected performAction(context?: BubbleContext): Promise<HttpResult>;
162
+ /**
163
+ * Determines if a Content-Type represents text content (as opposed to binary).
164
+ * Binary content will be base64-encoded in the response body.
165
+ */
166
+ private isTextMimeType;
144
167
  }
145
168
  export {};
146
169
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","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;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAc5E,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CpB,CAAC;AAEH,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACxD,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAGpD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpB,CAAC;AAEH,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpD,qBAAa,UAAW,SAAQ,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC;IACnE,MAAM,CAAC,QAAQ,CAAC,OAAO,gBAAgB;IACvC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAoB;IAC1C,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAoB;IAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,uDACsB;IACtD,MAAM,CAAC,QAAQ,CAAC,eAAe,orBAkB7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;gBAG9B,MAAM,GAAE,eAGP,EACD,OAAO,CAAC,EAAE,aAAa;IAKzB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAenC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;cAM/B,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;CAwI5E"}
1
+ {"version":3,"file":"http.d.ts","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;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAc5E,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDpB,CAAC;AAEH,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACxD,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAGpD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BpB,CAAC;AAEH,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpD,qBAAa,UAAW,SAAQ,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC;IACnE,MAAM,CAAC,QAAQ,CAAC,OAAO,gBAAgB;IACvC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAU;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAoB;IAC1C,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAoB;IAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,uDACsB;IACtD,MAAM,CAAC,QAAQ,CAAC,eAAe,orBAkB7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;gBAG9B,MAAM,GAAE,eAGP,EACD,OAAO,CAAC,EAAE,aAAa;IAKzB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAenC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;cAM/B,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAuK3E;;;OAGG;IACH,OAAO,CAAC,cAAc;CA4BvB"}
@@ -44,6 +44,10 @@ const HttpParamsSchema = z.object({
44
44
  .string()
45
45
  .optional()
46
46
  .describe('Custom header name when authType is "custom" (e.g., "X-Custom-Auth")'),
47
+ responseType: z
48
+ .enum(['auto', 'text', 'binary'])
49
+ .default('auto')
50
+ .describe('How to handle the response body. auto: detects from Content-Type (e.g., application/pdf → base64). text: always returns UTF-8 string. binary: always returns base64-encoded string. Use binary when downloading files like PDFs or images.'),
47
51
  credentials: z
48
52
  .record(z.nativeEnum(CredentialType), z.string())
49
53
  .optional()
@@ -54,14 +58,24 @@ const HttpResultSchema = z.object({
54
58
  status: z.number().describe('HTTP status code'),
55
59
  statusText: z.string().describe('HTTP status text'),
56
60
  headers: z.record(z.string()).describe('Response headers'),
57
- body: z.string().describe('Response body as string'),
61
+ body: z
62
+ .string()
63
+ .describe('Response body. For text responses (HTML, JSON, etc.) this is the raw text. For binary responses (PDFs, images, etc.) this is base64-encoded — check isBase64 to know which.'),
64
+ isBase64: z
65
+ .boolean()
66
+ .describe('True when body is base64-encoded binary data. When true, pass body directly to tools that accept base64 content (e.g., google_drive upload_file, resend attachment content).'),
67
+ contentType: z
68
+ .string()
69
+ .describe('Response Content-Type (e.g., application/pdf, text/html). Pass to downstream tools as mimeType/contentType.'),
58
70
  json: z.unknown().optional().describe('Parsed JSON response (if applicable)'),
59
71
  success: z
60
72
  .boolean()
61
73
  .describe('Whether the request was successful (HTTP 2xx status codes)'),
62
74
  error: z.string().describe('Error message if request failed'),
63
75
  responseTime: z.number().describe('Response time in milliseconds'),
64
- size: z.number().describe('Response size in bytes'),
76
+ size: z
77
+ .number()
78
+ .describe('Raw response size in bytes (before base64 encoding, if applicable)'),
65
79
  });
66
80
  export class HttpBubble extends ServiceBubble {
67
81
  static service = 'nodex-core';
@@ -179,18 +193,44 @@ export class HttpBubble extends ServiceBubble {
179
193
  const response = await fetch(url, requestOptions);
180
194
  clearTimeout(timeoutId); // Clear timeout if request completes
181
195
  const responseTime = Date.now() - startTime;
182
- // Read response body
183
- const responseText = await response.text();
184
- const responseSize = new Blob([responseText]).size;
185
- // Try to parse as JSON
186
- let jsonResponse;
187
- try {
188
- jsonResponse = JSON.parse(responseText);
196
+ // Determine binary vs text handling
197
+ const rawContentType = response.headers.get('content-type') ?? '';
198
+ const responseTypeParam = this.params.responseType ?? 'auto';
199
+ let isBinary;
200
+ if (responseTypeParam === 'binary') {
201
+ isBinary = true;
202
+ }
203
+ else if (responseTypeParam === 'text') {
204
+ isBinary = false;
189
205
  }
190
- catch {
191
- // Not JSON, that's fine
206
+ else {
207
+ isBinary = !this.isTextMimeType(rawContentType);
208
+ }
209
+ // Read response body based on detected type
210
+ let responseBody;
211
+ let responseSize;
212
+ let jsonResponse;
213
+ if (isBinary) {
214
+ const arrayBuffer = await response.arrayBuffer();
215
+ responseSize = arrayBuffer.byteLength;
216
+ responseBody =
217
+ arrayBuffer.byteLength > 0
218
+ ? Buffer.from(arrayBuffer).toString('base64')
219
+ : '';
192
220
  jsonResponse = undefined;
193
221
  }
222
+ else {
223
+ responseBody = await response.text();
224
+ responseSize = new Blob([responseBody]).size;
225
+ try {
226
+ jsonResponse = JSON.parse(responseBody);
227
+ }
228
+ catch {
229
+ jsonResponse = undefined;
230
+ }
231
+ }
232
+ // Clean Content-Type for result (strip charset and other params)
233
+ const cleanContentType = rawContentType.split(';')[0].trim();
194
234
  // Convert headers to plain object
195
235
  const responseHeaders = {};
196
236
  response.headers.forEach((value, key) => {
@@ -200,7 +240,9 @@ export class HttpBubble extends ServiceBubble {
200
240
  status: response.status,
201
241
  statusText: response.statusText,
202
242
  headers: responseHeaders,
203
- body: responseText,
243
+ body: responseBody,
244
+ isBase64: isBinary,
245
+ contentType: cleanContentType,
204
246
  json: jsonResponse,
205
247
  success: response.ok,
206
248
  error: response.ok
@@ -221,6 +263,8 @@ export class HttpBubble extends ServiceBubble {
221
263
  statusText: 'Request Failed',
222
264
  headers: {},
223
265
  body: '',
266
+ isBase64: false,
267
+ contentType: '',
224
268
  json: undefined,
225
269
  success: false,
226
270
  error: errorMessage,
@@ -229,5 +273,36 @@ export class HttpBubble extends ServiceBubble {
229
273
  };
230
274
  }
231
275
  }
276
+ /**
277
+ * Determines if a Content-Type represents text content (as opposed to binary).
278
+ * Binary content will be base64-encoded in the response body.
279
+ */
280
+ isTextMimeType(rawContentType) {
281
+ if (!rawContentType)
282
+ return true; // default to text for backward compat
283
+ // Strip charset and other params: "text/html; charset=utf-8" → "text/html"
284
+ const mimeType = rawContentType.split(';')[0].trim().toLowerCase();
285
+ // Text prefixes
286
+ if (mimeType.startsWith('text/'))
287
+ return true;
288
+ // Explicit text types
289
+ const textTypes = [
290
+ 'application/json',
291
+ 'application/xml',
292
+ 'application/javascript',
293
+ 'application/typescript',
294
+ 'application/x-sh',
295
+ 'application/x-yaml',
296
+ 'application/x-toml',
297
+ 'application/csv',
298
+ 'application/x-www-form-urlencoded',
299
+ ];
300
+ if (textTypes.includes(mimeType))
301
+ return true;
302
+ // Structured syntax suffixes (e.g., application/vnd.api+json, application/soap+xml)
303
+ if (mimeType.endsWith('+json') || mimeType.endsWith('+xml'))
304
+ return true;
305
+ return false;
306
+ }
232
307
  }
233
308
  //# sourceMappingURL=http.js.map
@@ -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,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,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,OAAO,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;QACD,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,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"}
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,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SAChC,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,4OAA4O,CAC7O;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;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,6KAA6K,CAC9K;IACH,QAAQ,EAAE,CAAC;SACR,OAAO,EAAE;SACT,QAAQ,CACP,8KAA8K,CAC/K;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CACP,6GAA6G,CAC9G;IACH,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;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,oEAAoE,CAAC;CAClF,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,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,OAAO,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;QACD,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,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,oCAAoC;YACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAClE,MAAM,iBAAiB,GAAI,IAAI,CAAC,MAAqB,CAAC,YAAY,IAAI,MAAM,CAAC;YAE7E,IAAI,QAAiB,CAAC;YACtB,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBACnC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;gBACxC,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAClD,CAAC;YAED,4CAA4C;YAC5C,IAAI,YAAoB,CAAC;YACzB,IAAI,YAAoB,CAAC;YACzB,IAAI,YAAqB,CAAC;YAE1B,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACjD,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC;gBACtC,YAAY;oBACV,WAAW,CAAC,UAAU,GAAG,CAAC;wBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC7C,CAAC,CAAC,EAAE,CAAC;gBACT,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrC,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,IAAI,CAAC;oBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC1C,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,GAAG,SAAS,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAE7D,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,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,gBAAgB;gBAC7B,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,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;gBACnB,YAAY;gBACZ,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,cAAsB;QAC3C,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,CAAC,sCAAsC;QAExE,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEnE,gBAAgB;QAChB,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9C,sBAAsB;QACtB,MAAM,SAAS,GAAG;YAChB,kBAAkB;YAClB,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,kBAAkB;YAClB,oBAAoB;YACpB,oBAAoB;YACpB,iBAAiB;YACjB,mCAAmC;SACpC,CAAC;QACF,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9C,oFAAoF;QACpF,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzE,OAAO,KAAK,CAAC;IACf,CAAC"}