@bubblelab/bubble-core 0.1.278 → 0.1.280
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 +178 -157
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +3 -0
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubble-trigger/index.d.ts +2 -0
- package/dist/bubble-trigger/index.d.ts.map +1 -0
- package/dist/bubble-trigger/index.js +2 -0
- package/dist/bubble-trigger/index.js.map +1 -0
- package/dist/bubble-trigger/types.d.ts +87 -0
- package/dist/bubble-trigger/types.d.ts.map +1 -0
- package/dist/bubble-trigger/types.js +14 -0
- package/dist/bubble-trigger/types.js.map +1 -0
- package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
- package/dist/bubbles/service-bubble/ai-agent.d.ts +74 -74
- package/dist/bubbles/service-bubble/airtable.d.ts +76 -76
- package/dist/bubbles/service-bubble/apify/actors/app-rankings-scraper.d.ts +6 -6
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
- package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +132 -132
- package/dist/bubbles/service-bubble/apify/apify.d.ts +18 -18
- package/dist/bubbles/service-bubble/asana/asana.d.ts +1 -1
- package/dist/bubbles/service-bubble/asana/asana.schema.d.ts +1 -1
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +20 -20
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +28 -28
- package/dist/bubbles/service-bubble/assembled/assembled.d.ts +8 -8
- package/dist/bubbles/service-bubble/assembled/assembled.schema.d.ts +8 -8
- package/dist/bubbles/service-bubble/attio/attio.d.ts +6 -6
- package/dist/bubbles/service-bubble/attio/attio.schema.d.ts +6 -6
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +1 -1
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +10 -10
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +24 -24
- package/dist/bubbles/service-bubble/discord/discord.d.ts +12 -12
- package/dist/bubbles/service-bubble/discord/discord.schema.d.ts +12 -12
- package/dist/bubbles/service-bubble/firecrawl.d.ts +330 -330
- package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
- package/dist/bubbles/service-bubble/github.d.ts +60 -60
- package/dist/bubbles/service-bubble/gmail.d.ts +164 -164
- package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
- package/dist/bubbles/service-bubble/google-drive.d.ts +4 -4
- package/dist/bubbles/service-bubble/google-sheets.d.ts +1811 -0
- package/dist/bubbles/service-bubble/google-sheets.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets.js +904 -0
- package/dist/bubbles/service-bubble/google-sheets.js.map +1 -0
- package/dist/bubbles/service-bubble/http.d.ts +6 -6
- package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +2 -2
- package/dist/bubbles/service-bubble/hubspot/hubspot.schema.d.ts +2 -2
- package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
- package/dist/bubbles/service-bubble/jira/jira.d.ts +30 -30
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
- package/dist/bubbles/service-bubble/looker/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/looker/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/looker/index.js +3 -0
- package/dist/bubbles/service-bubble/looker/index.js.map +1 -0
- package/dist/bubbles/service-bubble/looker/looker.d.ts +768 -0
- package/dist/bubbles/service-bubble/looker/looker.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/looker/looker.js +319 -0
- package/dist/bubbles/service-bubble/looker/looker.js.map +1 -0
- package/dist/bubbles/service-bubble/looker/looker.schema.d.ts +735 -0
- package/dist/bubbles/service-bubble/looker/looker.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/looker/looker.schema.js +264 -0
- package/dist/bubbles/service-bubble/looker/looker.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/metabase/index.d.ts +4 -0
- package/dist/bubbles/service-bubble/metabase/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/metabase/index.js +4 -0
- package/dist/bubbles/service-bubble/metabase/index.js.map +1 -0
- package/dist/bubbles/service-bubble/metabase/metabase.d.ts +746 -0
- package/dist/bubbles/service-bubble/metabase/metabase.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/metabase/metabase.js +221 -0
- package/dist/bubbles/service-bubble/metabase/metabase.js.map +1 -0
- package/dist/bubbles/service-bubble/metabase/metabase.schema.d.ts +1125 -0
- package/dist/bubbles/service-bubble/metabase/metabase.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/metabase/metabase.schema.js +222 -0
- package/dist/bubbles/service-bubble/metabase/metabase.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/metabase/metabase.utils.d.ts +15 -0
- package/dist/bubbles/service-bubble/metabase/metabase.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/metabase/metabase.utils.js +32 -0
- package/dist/bubbles/service-bubble/metabase/metabase.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/notion/notion.d.ts +168 -168
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +16 -16
- package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
- package/dist/bubbles/service-bubble/posthog/posthog.d.ts +10 -10
- package/dist/bubbles/service-bubble/posthog/posthog.schema.d.ts +14 -14
- package/dist/bubbles/service-bubble/pylon/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/pylon/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/pylon/index.js +3 -0
- package/dist/bubbles/service-bubble/pylon/index.js.map +1 -0
- package/dist/bubbles/service-bubble/pylon/pylon.d.ts +435 -0
- package/dist/bubbles/service-bubble/pylon/pylon.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/pylon/pylon.js +375 -0
- package/dist/bubbles/service-bubble/pylon/pylon.js.map +1 -0
- package/dist/bubbles/service-bubble/pylon/pylon.schema.d.ts +408 -0
- package/dist/bubbles/service-bubble/pylon/pylon.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/pylon/pylon.schema.js +249 -0
- package/dist/bubbles/service-bubble/pylon/pylon.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/resend.d.ts +12 -12
- package/dist/bubbles/service-bubble/slack/slack.d.ts +392 -392
- package/dist/bubbles/service-bubble/slack.d.ts +5869 -0
- package/dist/bubbles/service-bubble/slack.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/slack.js +1536 -0
- package/dist/bubbles/service-bubble/slack.js.map +1 -0
- package/dist/bubbles/service-bubble/snowflake/snowflake.d.ts +4 -4
- package/dist/bubbles/service-bubble/snowflake/snowflake.schema.d.ts +4 -4
- package/dist/bubbles/service-bubble/sortly/sortly.d.ts +36 -36
- package/dist/bubbles/service-bubble/sortly/sortly.schema.d.ts +40 -40
- package/dist/bubbles/service-bubble/stripe/stripe.d.ts +24 -24
- package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
- package/dist/bubbles/service-bubble/xero/xero.d.ts +2 -2
- package/dist/bubbles/service-bubble/xero/xero.schema.d.ts +2 -2
- package/dist/bubbles/service-bubble/zendesk/zendesk.d.ts +20 -20
- package/dist/bubbles/service-bubble/zendesk/zendesk.schema.d.ts +20 -20
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +6 -6
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
- package/dist/bubbles/tool-bubble/app-rankings-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/index.d.ts +3 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/index.js +3 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +160 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.js +706 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.d.ts +93 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.js +50 -0
- package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +384 -384
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +44 -44
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +134 -134
- package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +114 -0
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -0
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +777 -0
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -0
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +24 -24
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +34 -34
- package/dist/bubbles.json +510 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/ai-models.d.ts +4 -0
- package/dist/types/ai-models.d.ts.map +1 -0
- package/dist/types/ai-models.js +16 -0
- package/dist/types/ai-models.js.map +1 -0
- package/dist/utils/param-helper.d.ts +2 -0
- package/dist/utils/param-helper.d.ts.map +1 -0
- package/dist/utils/param-helper.js +5 -0
- package/dist/utils/param-helper.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metabase.schema.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/metabase/metabase.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAiCY,CAAC;AAEhD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA0BI,CAAC;AAEzC,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;gCAkBV,CAAC;AAEnC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA4BqB,CAAC;AAErD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAwBqC,CAAC;AAoD5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAuCvE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// DATA SCHEMAS - Metabase API Response Objects
|
|
4
|
+
// ============================================================================
|
|
5
|
+
export const MetabaseDashcardSchema = z
|
|
6
|
+
.object({
|
|
7
|
+
id: z.number().describe('Unique dashcard identifier'),
|
|
8
|
+
card_id: z.number().nullable().describe('ID of the card in this dashcard'),
|
|
9
|
+
card: z
|
|
10
|
+
.object({
|
|
11
|
+
id: z
|
|
12
|
+
.number()
|
|
13
|
+
.nullable()
|
|
14
|
+
.optional()
|
|
15
|
+
.describe('Card ID (null/absent for text/heading dashcards)'),
|
|
16
|
+
name: z
|
|
17
|
+
.string()
|
|
18
|
+
.nullable()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('Card name (null/absent for text/heading dashcards)'),
|
|
21
|
+
display: z.string().optional().describe('Card display type'),
|
|
22
|
+
description: z
|
|
23
|
+
.string()
|
|
24
|
+
.nullable()
|
|
25
|
+
.optional()
|
|
26
|
+
.describe('Card description'),
|
|
27
|
+
})
|
|
28
|
+
.passthrough()
|
|
29
|
+
.nullable()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('Embedded card metadata (null for virtual/text dashcards)'),
|
|
32
|
+
row: z.number().describe('Row position on dashboard grid'),
|
|
33
|
+
col: z.number().describe('Column position on dashboard grid'),
|
|
34
|
+
size_x: z.number().describe('Width in grid units'),
|
|
35
|
+
size_y: z.number().describe('Height in grid units'),
|
|
36
|
+
})
|
|
37
|
+
.passthrough()
|
|
38
|
+
.describe('Dashboard card (dashcard) object');
|
|
39
|
+
export const MetabaseDashboardSchema = z
|
|
40
|
+
.object({
|
|
41
|
+
id: z.number().describe('Unique dashboard identifier'),
|
|
42
|
+
name: z.string().describe('Dashboard name'),
|
|
43
|
+
description: z
|
|
44
|
+
.string()
|
|
45
|
+
.nullable()
|
|
46
|
+
.optional()
|
|
47
|
+
.describe('Dashboard description'),
|
|
48
|
+
collection_id: z
|
|
49
|
+
.number()
|
|
50
|
+
.nullable()
|
|
51
|
+
.optional()
|
|
52
|
+
.describe('Collection the dashboard belongs to'),
|
|
53
|
+
dashcards: z
|
|
54
|
+
.array(MetabaseDashcardSchema)
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('List of dashcards on this dashboard'),
|
|
57
|
+
parameters: z
|
|
58
|
+
.array(z.record(z.unknown()))
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Dashboard filter parameters'),
|
|
61
|
+
created_at: z.string().optional().describe('Creation timestamp'),
|
|
62
|
+
updated_at: z.string().optional().describe('Last update timestamp'),
|
|
63
|
+
})
|
|
64
|
+
.passthrough()
|
|
65
|
+
.describe('Metabase dashboard object');
|
|
66
|
+
export const MetabaseDashboardListItemSchema = z
|
|
67
|
+
.object({
|
|
68
|
+
id: z.number().describe('Unique dashboard identifier'),
|
|
69
|
+
name: z.string().describe('Dashboard name'),
|
|
70
|
+
description: z
|
|
71
|
+
.string()
|
|
72
|
+
.nullable()
|
|
73
|
+
.optional()
|
|
74
|
+
.describe('Dashboard description'),
|
|
75
|
+
collection_id: z
|
|
76
|
+
.number()
|
|
77
|
+
.nullable()
|
|
78
|
+
.optional()
|
|
79
|
+
.describe('Collection the dashboard belongs to'),
|
|
80
|
+
model: z.string().optional().describe('Entity model type'),
|
|
81
|
+
created_at: z.string().optional().describe('Creation timestamp'),
|
|
82
|
+
})
|
|
83
|
+
.passthrough()
|
|
84
|
+
.describe('Dashboard list item');
|
|
85
|
+
export const MetabaseCardSchema = z
|
|
86
|
+
.object({
|
|
87
|
+
id: z.number().describe('Unique card identifier'),
|
|
88
|
+
name: z.string().describe('Card name'),
|
|
89
|
+
description: z.string().nullable().optional().describe('Card description'),
|
|
90
|
+
display: z.string().optional().describe('Visualization type'),
|
|
91
|
+
collection_id: z
|
|
92
|
+
.number()
|
|
93
|
+
.nullable()
|
|
94
|
+
.optional()
|
|
95
|
+
.describe('Collection the card belongs to'),
|
|
96
|
+
database_id: z
|
|
97
|
+
.number()
|
|
98
|
+
.nullable()
|
|
99
|
+
.optional()
|
|
100
|
+
.describe('Database this card queries'),
|
|
101
|
+
dataset_query: z
|
|
102
|
+
.record(z.unknown())
|
|
103
|
+
.optional()
|
|
104
|
+
.describe('The query definition'),
|
|
105
|
+
result_metadata: z
|
|
106
|
+
.array(z.record(z.unknown()))
|
|
107
|
+
.optional()
|
|
108
|
+
.describe('Column metadata from the result'),
|
|
109
|
+
created_at: z.string().optional().describe('Creation timestamp'),
|
|
110
|
+
updated_at: z.string().optional().describe('Last update timestamp'),
|
|
111
|
+
})
|
|
112
|
+
.passthrough()
|
|
113
|
+
.describe('Metabase card (saved question) object');
|
|
114
|
+
export const MetabaseQueryResultSchema = z
|
|
115
|
+
.object({
|
|
116
|
+
rows: z.array(z.array(z.unknown())).describe('Result data rows'),
|
|
117
|
+
cols: z
|
|
118
|
+
.array(z
|
|
119
|
+
.object({
|
|
120
|
+
name: z.string().describe('Column name'),
|
|
121
|
+
display_name: z
|
|
122
|
+
.string()
|
|
123
|
+
.optional()
|
|
124
|
+
.describe('Display name for column'),
|
|
125
|
+
base_type: z
|
|
126
|
+
.string()
|
|
127
|
+
.optional()
|
|
128
|
+
.describe('Base data type of column'),
|
|
129
|
+
})
|
|
130
|
+
.passthrough())
|
|
131
|
+
.describe('Column metadata'),
|
|
132
|
+
row_count: z.number().optional().describe('Total number of rows returned'),
|
|
133
|
+
status: z.string().optional().describe('Query execution status'),
|
|
134
|
+
})
|
|
135
|
+
.passthrough()
|
|
136
|
+
.describe('Flattened Metabase query result — rows and cols at top level');
|
|
137
|
+
// ============================================================================
|
|
138
|
+
// OPERATION SCHEMAS - Input Parameters
|
|
139
|
+
// ============================================================================
|
|
140
|
+
const credentialsField = z
|
|
141
|
+
.record(z.string())
|
|
142
|
+
.optional()
|
|
143
|
+
.describe('Credential mapping for authentication');
|
|
144
|
+
const GetDashboardSchema = z.object({
|
|
145
|
+
operation: z.literal('get_dashboard').describe('Get dashboard by ID'),
|
|
146
|
+
dashboard_id: z.number().describe('The dashboard ID to retrieve'),
|
|
147
|
+
credentials: credentialsField,
|
|
148
|
+
});
|
|
149
|
+
const ListDashboardsSchema = z.object({
|
|
150
|
+
operation: z
|
|
151
|
+
.literal('list_dashboards')
|
|
152
|
+
.describe('List all available dashboards'),
|
|
153
|
+
credentials: credentialsField,
|
|
154
|
+
});
|
|
155
|
+
const GetCardSchema = z.object({
|
|
156
|
+
operation: z.literal('get_card').describe('Get card metadata by ID'),
|
|
157
|
+
card_id: z.number().describe('The card ID to retrieve'),
|
|
158
|
+
credentials: credentialsField,
|
|
159
|
+
});
|
|
160
|
+
const QueryCardSchema = z.object({
|
|
161
|
+
operation: z
|
|
162
|
+
.literal('query_card')
|
|
163
|
+
.describe("Execute a card's query and return results"),
|
|
164
|
+
card_id: z.number().describe('The card ID to query'),
|
|
165
|
+
pivot: z
|
|
166
|
+
.boolean()
|
|
167
|
+
.optional()
|
|
168
|
+
.describe('Use the pivot endpoint (/api/card/pivot/:id/query) for pivot-table results'),
|
|
169
|
+
parameters: z
|
|
170
|
+
.record(z.unknown())
|
|
171
|
+
.optional()
|
|
172
|
+
.describe('Optional query parameters (filters)'),
|
|
173
|
+
credentials: credentialsField,
|
|
174
|
+
});
|
|
175
|
+
// ============================================================================
|
|
176
|
+
// COMBINED SCHEMAS
|
|
177
|
+
// ============================================================================
|
|
178
|
+
export const MetabaseParamsSchema = z.discriminatedUnion('operation', [
|
|
179
|
+
GetDashboardSchema,
|
|
180
|
+
ListDashboardsSchema,
|
|
181
|
+
GetCardSchema,
|
|
182
|
+
QueryCardSchema,
|
|
183
|
+
]);
|
|
184
|
+
// ============================================================================
|
|
185
|
+
// RESULT SCHEMAS
|
|
186
|
+
// ============================================================================
|
|
187
|
+
const GetDashboardResultSchema = z.object({
|
|
188
|
+
operation: z.literal('get_dashboard'),
|
|
189
|
+
success: z.boolean(),
|
|
190
|
+
error: z.string().default(''),
|
|
191
|
+
data: MetabaseDashboardSchema.optional(),
|
|
192
|
+
});
|
|
193
|
+
const ListDashboardsResultSchema = z.object({
|
|
194
|
+
operation: z.literal('list_dashboards'),
|
|
195
|
+
success: z.boolean(),
|
|
196
|
+
error: z.string().default(''),
|
|
197
|
+
data: z
|
|
198
|
+
.object({
|
|
199
|
+
dashboards: z.array(MetabaseDashboardListItemSchema),
|
|
200
|
+
total: z.number(),
|
|
201
|
+
})
|
|
202
|
+
.optional(),
|
|
203
|
+
});
|
|
204
|
+
const GetCardResultSchema = z.object({
|
|
205
|
+
operation: z.literal('get_card'),
|
|
206
|
+
success: z.boolean(),
|
|
207
|
+
error: z.string().default(''),
|
|
208
|
+
data: MetabaseCardSchema.optional(),
|
|
209
|
+
});
|
|
210
|
+
const QueryCardResultSchema = z.object({
|
|
211
|
+
operation: z.literal('query_card'),
|
|
212
|
+
success: z.boolean(),
|
|
213
|
+
error: z.string().default(''),
|
|
214
|
+
data: MetabaseQueryResultSchema.optional(),
|
|
215
|
+
});
|
|
216
|
+
export const MetabaseResultSchema = z.discriminatedUnion('operation', [
|
|
217
|
+
GetDashboardResultSchema,
|
|
218
|
+
ListDashboardsResultSchema,
|
|
219
|
+
GetCardResultSchema,
|
|
220
|
+
QueryCardResultSchema,
|
|
221
|
+
]);
|
|
222
|
+
//# sourceMappingURL=metabase.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metabase.schema.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/metabase/metabase.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,+CAA+C;AAC/C,+EAA+E;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC1E,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,EAAE,EAAE,CAAC;aACF,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;QACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC5D,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,kBAAkB,CAAC;KAChC,CAAC;SACD,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC1D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAClD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CACpD,CAAC;KACD,WAAW,EAAE;KACb,QAAQ,CAAC,kCAAkC,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,uBAAuB,CAAC;IACpC,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5B,QAAQ,EAAE;SACV,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAChE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CACpE,CAAC;KACD,WAAW,EAAE;KACb,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC7C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,uBAAuB,CAAC;IACpC,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CACjE,CAAC;KACD,WAAW,EAAE;KACb,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC7D,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,gCAAgC,CAAC;IAC7C,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,4BAA4B,CAAC;IACzC,aAAa,EAAE,CAAC;SACb,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IACnC,eAAe,EAAE,CAAC;SACf,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5B,QAAQ,EAAE;SACV,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAChE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CACpE,CAAC;KACD,WAAW,EAAE;KACb,QAAQ,CAAC,uCAAuC,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAChE,IAAI,EAAE,CAAC;SACJ,KAAK,CACJ,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QACxC,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yBAAyB,CAAC;QACtC,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0BAA0B,CAAC;KACxC,CAAC;SACD,WAAW,EAAE,CACjB;SACA,QAAQ,CAAC,iBAAiB,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC1E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACjE,CAAC;KACD,WAAW,EAAE;KACb,QAAQ,CAAC,8DAA8D,CAAC,CAAC;AAE5E,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAClB,QAAQ,EAAE;KACV,QAAQ,CAAC,uCAAuC,CAAC,CAAC;AAErD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACrE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjE,WAAW,EAAE,gBAAgB;CAC9B,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC;SACT,OAAO,CAAC,iBAAiB,CAAC;SAC1B,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,WAAW,EAAE,gBAAgB;CAC9B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACvD,WAAW,EAAE,gBAAgB;CAC9B,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC;SACT,OAAO,CAAC,YAAY,CAAC;SACrB,QAAQ,CAAC,2CAA2C,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACpD,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,4EAA4E,CAC7E;IACH,UAAU,EAAE,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,WAAW,EAAE,gBAAgB;CAC9B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IACpE,kBAAkB;IAClB,oBAAoB;IACpB,aAAa;IACb,eAAe;CAChB,CAAC,CAAC;AAKH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,IAAI,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC;QACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,IAAI,EAAE,yBAAyB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IACpE,wBAAwB;IACxB,0BAA0B;IAC1B,mBAAmB;IACnB,qBAAqB;CACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface MetabaseCredentials {
|
|
2
|
+
url: string;
|
|
3
|
+
apiKey: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Parse a multi-field credential value into typed Metabase fields.
|
|
7
|
+
* Uses the shared decodeCredentialPayload() which handles both
|
|
8
|
+
* base64 (injection path) and raw JSON (validator path).
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseMetabaseCredential(value: string): MetabaseCredentials;
|
|
11
|
+
/**
|
|
12
|
+
* Enhance Metabase API error messages with helpful hints
|
|
13
|
+
*/
|
|
14
|
+
export declare function enhanceMetabaseErrorMessage(error: string, statusCode?: number): string;
|
|
15
|
+
//# sourceMappingURL=metabase.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metabase.utils.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/metabase/metabase.utils.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAW1E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAWR"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { decodeCredentialPayload } from '@bubblelab/shared-schemas';
|
|
2
|
+
/**
|
|
3
|
+
* Parse a multi-field credential value into typed Metabase fields.
|
|
4
|
+
* Uses the shared decodeCredentialPayload() which handles both
|
|
5
|
+
* base64 (injection path) and raw JSON (validator path).
|
|
6
|
+
*/
|
|
7
|
+
export function parseMetabaseCredential(value) {
|
|
8
|
+
const parsed = decodeCredentialPayload(value);
|
|
9
|
+
if (!parsed.url || !parsed.apiKey) {
|
|
10
|
+
throw new Error('Metabase credential is missing required fields: url, apiKey');
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
url: parsed.url.replace(/\/+$/, ''), // strip trailing slashes
|
|
14
|
+
apiKey: parsed.apiKey,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Enhance Metabase API error messages with helpful hints
|
|
19
|
+
*/
|
|
20
|
+
export function enhanceMetabaseErrorMessage(error, statusCode) {
|
|
21
|
+
if (statusCode === 401) {
|
|
22
|
+
return `${error}\n\nHint: Your Metabase API key may be invalid or expired. Please check your credentials.`;
|
|
23
|
+
}
|
|
24
|
+
if (statusCode === 403) {
|
|
25
|
+
return `${error}\n\nHint: Your Metabase API key may not have permission for this operation.`;
|
|
26
|
+
}
|
|
27
|
+
if (statusCode === 404) {
|
|
28
|
+
return `${error}\n\nHint: The requested resource was not found. Check that the ID is correct.`;
|
|
29
|
+
}
|
|
30
|
+
return error;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=metabase.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metabase.utils.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/metabase/metabase.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOpE;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,MAAM,GAAG,uBAAuB,CAAyB,KAAK,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,yBAAyB;QAC9D,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,UAAmB;IAEnB,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,GAAG,KAAK,2FAA2F,CAAC;IAC7G,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,GAAG,KAAK,6EAA6E,CAAC;IAC/F,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,GAAG,KAAK,+EAA+E,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|