@brander/mcp-demo 0.1.16 → 0.1.17

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.
@@ -1,18 +1,20 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { registerBranderTools } from "@brander/mcp-tools";
3
- import { registerComponentTools } from "./tools/component-tools.js";
4
- import { registerScenarioTools } from "./tools/scenario-tools.js";
5
- import { registerCapabilityTools } from "./tools/capability-tools.js";
6
- import { registerPlatformTools } from "./tools/platform-tools.js";
3
+ import { registerPlatformOverviewTool } from "./tools/platform-overview.js";
4
+ import { registerElementShowcaseTool } from "./tools/element-showcase.js";
5
+ import { registerDemoScenarioTool } from "./tools/demo-scenarios.js";
6
+ import { registerIntegrationGuideTool } from "./tools/integration-guide.js";
7
7
  export async function createServer() {
8
8
  const server = new McpServer({
9
9
  name: "branderux-demo",
10
- version: "1.0.0",
10
+ version: "2.0.0",
11
11
  });
12
- registerComponentTools(server);
13
- registerScenarioTools(server);
14
- registerCapabilityTools(server);
15
- registerPlatformTools(server);
12
+ // Demo knowledge tools (4 tools)
13
+ registerPlatformOverviewTool(server);
14
+ registerElementShowcaseTool(server);
15
+ registerDemoScenarioTool(server);
16
+ registerIntegrationGuideTool(server);
17
+ // BranderUX rendering engine (generate_screen tool)
16
18
  await registerBranderTools(server, {
17
19
  projectId: process.env.BRANDER_PROJECT_ID,
18
20
  betaKey: process.env.BRANDER_BETA_KEY,
@@ -0,0 +1,20 @@
1
+ export interface ElementDefinition {
2
+ elementType: string;
3
+ name: string;
4
+ category: "Data Visualization" | "Data Display" | "Content & Media" | "User Interaction" | "Layout";
5
+ description: string;
6
+ useCases: string[];
7
+ interactivity: string;
8
+ bestFor: string[];
9
+ status: "stable" | "coming-soon";
10
+ sampleData: {
11
+ elementType: string;
12
+ props: Record<string, unknown>;
13
+ clickQuery?: string;
14
+ };
15
+ }
16
+ export declare const ELEMENTS: ElementDefinition[];
17
+ export declare const ELEMENT_CATEGORIES: Record<string, string[]>;
18
+ export declare function getElementSummary(): Record<string, unknown>;
19
+ export declare function getElementDetail(elementType: string): Record<string, unknown> | null;
20
+ export declare function getElementsByCategory(category: string): Record<string, unknown> | null;
@@ -0,0 +1,426 @@
1
+ // ============================================================================
2
+ // BranderUX Demo — Element Definitions & Sample Data
3
+ // All sample data conforms to generate_screen's Zod schemas.
4
+ // ============================================================================
5
+ // ============================================================================
6
+ // ALL 15 ELEMENTS + 1 COMING SOON
7
+ // ============================================================================
8
+ export const ELEMENTS = [
9
+ // ── Layout ──────────────────────────────────────────────────────────────
10
+ {
11
+ elementType: "header",
12
+ name: "Header",
13
+ category: "Layout",
14
+ description: "Page header with title and optional subtitle. Sets the context for the screen.",
15
+ useCases: ["Page titles", "Section headers", "Screen context"],
16
+ interactivity: "Click navigates to the main view for the title topic.",
17
+ bestFor: ["Every screen — always start with a header"],
18
+ status: "stable",
19
+ sampleData: {
20
+ elementType: "header",
21
+ props: {
22
+ title: "Sales Performance Dashboard",
23
+ subtitle: "Real-time overview of revenue, orders, and customer metrics",
24
+ },
25
+ },
26
+ },
27
+ // ── Data Visualization ──────────────────────────────────────────────────
28
+ {
29
+ elementType: "stats-grid",
30
+ name: "Stats Grid",
31
+ category: "Data Visualization",
32
+ description: "Grid of KPI metric cards with trend indicators (up/down/neutral with percentage).",
33
+ useCases: ["Executive KPIs", "Revenue metrics", "Operational status", "Performance overview"],
34
+ interactivity: "Click any stat card to ask the AI about that specific metric.",
35
+ bestFor: ["Dashboard headers", "At-a-glance metrics", "KPI tracking"],
36
+ status: "stable",
37
+ sampleData: {
38
+ elementType: "stats-grid",
39
+ props: {
40
+ stats: [
41
+ { id: "s1", title: "Total Revenue", value: "$2.4M", period: "This Quarter", trend: { direction: "up", percentage: "12%" } },
42
+ { id: "s2", title: "Active Users", value: "18,492", period: "This Month", trend: { direction: "up", percentage: "8.3%" } },
43
+ { id: "s3", title: "Conversion Rate", value: "3.2%", period: "This Month", trend: { direction: "down", percentage: "0.5%" } },
44
+ { id: "s4", title: "Avg Response Time", value: "142ms", period: "Today", trend: { direction: "up", percentage: "15%" } },
45
+ ],
46
+ },
47
+ clickQuery: "Show me a detailed breakdown of [title] with trends over the last 6 months",
48
+ },
49
+ },
50
+ {
51
+ elementType: "line-chart",
52
+ name: "Line Chart",
53
+ category: "Data Visualization",
54
+ description: "Time-series line chart for visualizing trends over time.",
55
+ useCases: ["Revenue trends", "User growth", "Performance over time", "Stock prices"],
56
+ interactivity: "Click a data point to ask about that specific time period.",
57
+ bestFor: ["Trends", "Time-series data", "Growth tracking"],
58
+ status: "stable",
59
+ sampleData: {
60
+ elementType: "line-chart",
61
+ props: {
62
+ title: "Monthly Revenue Trend",
63
+ labels: ["Oct", "Nov", "Dec", "Jan", "Feb", "Mar"],
64
+ data: [142000, 158000, 171000, 134000, 162000, 189000],
65
+ },
66
+ clickQuery: "What happened with revenue in [label]? Show me the details",
67
+ },
68
+ },
69
+ {
70
+ elementType: "bar-chart",
71
+ name: "Bar Chart",
72
+ category: "Data Visualization",
73
+ description: "Comparative bar chart with support for multiple series and stacking.",
74
+ useCases: ["Category comparison", "A/B test results", "Regional performance", "Product breakdown"],
75
+ interactivity: "Click a bar to ask about that specific category and series.",
76
+ bestFor: ["Comparisons across categories", "Multi-series data"],
77
+ status: "stable",
78
+ sampleData: {
79
+ elementType: "bar-chart",
80
+ props: {
81
+ title: "Revenue by Product Line",
82
+ categories: ["Enterprise", "Pro", "Starter", "Free"],
83
+ series: [
84
+ { name: "Q4 2025", data: [420000, 280000, 95000, 0] },
85
+ { name: "Q1 2026", data: [510000, 320000, 110000, 0] },
86
+ ],
87
+ },
88
+ clickQuery: "Show me details for [seriesName] in [category]",
89
+ },
90
+ },
91
+ {
92
+ elementType: "pie-chart",
93
+ name: "Pie Chart",
94
+ category: "Data Visualization",
95
+ description: "Proportional data visualization with labeled segments.",
96
+ useCases: ["Market share", "Budget allocation", "Category distribution", "User demographics"],
97
+ interactivity: "Click a segment to drill into that category.",
98
+ bestFor: ["Showing proportions", "Distribution breakdowns"],
99
+ status: "stable",
100
+ sampleData: {
101
+ elementType: "pie-chart",
102
+ props: {
103
+ title: "Revenue by Region",
104
+ labels: ["North America", "Europe", "Asia Pacific", "Latin America", "Middle East"],
105
+ data: [42, 28, 18, 8, 4],
106
+ },
107
+ clickQuery: "Show me a detailed breakdown for [label]",
108
+ },
109
+ },
110
+ // ── Data Display ────────────────────────────────────────────────────────
111
+ {
112
+ elementType: "data-table",
113
+ name: "Data Table",
114
+ category: "Data Display",
115
+ description: "Dynamic sortable, filterable table with multiple column types (text, number, status, date, currency, boolean).",
116
+ useCases: ["Order lists", "User directories", "Transaction logs", "Inventory management"],
117
+ interactivity: "Click any row to ask the AI for full details about that item.",
118
+ bestFor: ["Structured tabular data", "Lists with multiple attributes"],
119
+ status: "stable",
120
+ sampleData: {
121
+ elementType: "data-table",
122
+ props: {
123
+ title: "Recent Orders",
124
+ columns: [
125
+ { key: "orderId", label: "Order ID", type: "text" },
126
+ { key: "customer", label: "Customer", type: "text" },
127
+ { key: "amount", label: "Amount", type: "currency", sortable: true },
128
+ { key: "status", label: "Status", type: "status" },
129
+ { key: "date", label: "Date", type: "date", sortable: true },
130
+ ],
131
+ rows: [
132
+ { id: "1", orderId: "ORD-4821", customer: "Acme Corp", amount: "$4,200.00", status: "Completed", date: "2026-03-09" },
133
+ { id: "2", orderId: "ORD-4820", customer: "TechFlow Inc", amount: "$1,850.00", status: "Processing", date: "2026-03-09" },
134
+ { id: "3", orderId: "ORD-4819", customer: "DataViz Labs", amount: "$3,100.00", status: "Completed", date: "2026-03-08" },
135
+ { id: "4", orderId: "ORD-4818", customer: "CloudNine AI", amount: "$890.00", status: "Pending", date: "2026-03-08" },
136
+ { id: "5", orderId: "ORD-4817", customer: "Nexus Systems", amount: "$5,600.00", status: "Completed", date: "2026-03-07" },
137
+ ],
138
+ pageSize: 5,
139
+ },
140
+ clickQuery: "Show me full details for order [orderId] from [customer]",
141
+ },
142
+ },
143
+ {
144
+ elementType: "details-data",
145
+ name: "Details Data",
146
+ category: "Data Display",
147
+ description: "Structured key-value detail cards grouped by category. Perfect for entity detail views.",
148
+ useCases: ["Customer profiles", "Order details", "Product specs", "Configuration views"],
149
+ interactivity: "Click a detail item to ask about that specific field.",
150
+ bestFor: ["Entity detail views", "Structured information display"],
151
+ status: "stable",
152
+ sampleData: {
153
+ elementType: "details-data",
154
+ props: {
155
+ items: [
156
+ { id: "d1", title: "Company", value: "Acme Corporation", type: "text", category: "General" },
157
+ { id: "d2", title: "Industry", value: "Enterprise Software", type: "text", category: "General" },
158
+ { id: "d3", title: "Annual Revenue", value: "$12.4M", type: "price", category: "Financials" },
159
+ { id: "d4", title: "Growth Rate", value: "+24% YoY", type: "text", category: "Financials" },
160
+ { id: "d5", title: "Account Status", value: "Active", type: "status", category: "Status", color: "#22c55e" },
161
+ { id: "d6", title: "Plan", value: "Enterprise", type: "text", category: "Status" },
162
+ { id: "d7", title: "Last Contact", value: "March 8, 2026", type: "text", category: "Activity" },
163
+ { id: "d8", title: "Next Renewal", value: "June 15, 2026", type: "text", category: "Activity" },
164
+ ],
165
+ },
166
+ clickQuery: "Tell me more about [title]: [value]",
167
+ },
168
+ },
169
+ {
170
+ elementType: "item-grid",
171
+ name: "Item Grid",
172
+ category: "Data Display",
173
+ description: "Grid of item/product cards with images, pricing, ratings, and categories.",
174
+ useCases: ["Product catalogs", "Course listings", "Team directories", "Property listings"],
175
+ interactivity: "Click any card to view full details about that item.",
176
+ bestFor: ["Visual browsing", "Catalog-style layouts"],
177
+ status: "stable",
178
+ sampleData: {
179
+ elementType: "item-grid",
180
+ props: {
181
+ title: "Featured Products",
182
+ items: [
183
+ { id: "p1", title: "Smart Analytics Dashboard", description: "Real-time business intelligence with AI-powered insights", price: "$49/mo", category: "Analytics", rating: 4.8 },
184
+ { id: "p2", title: "Team Collaboration Suite", description: "Unified workspace for distributed teams", price: "$29/mo", category: "Productivity", rating: 4.6 },
185
+ { id: "p3", title: "Cloud Security Platform", description: "Enterprise-grade security monitoring and compliance", price: "$99/mo", category: "Security", rating: 4.9 },
186
+ { id: "p4", title: "API Gateway Pro", description: "High-performance API management and rate limiting", price: "$39/mo", category: "Developer Tools", rating: 4.7 },
187
+ { id: "p5", title: "Customer Success Hub", description: "360-degree customer health scoring and engagement", price: "$59/mo", category: "CRM", rating: 4.5 },
188
+ { id: "p6", title: "AI Content Studio", description: "Generate, edit, and optimize content with AI", price: "$19/mo", category: "Content", rating: 4.4 },
189
+ ],
190
+ },
191
+ clickQuery: "Show me full details for [title]",
192
+ },
193
+ },
194
+ {
195
+ elementType: "item-card",
196
+ name: "Item Card",
197
+ category: "Data Display",
198
+ description: "Individual item/product card with image, description, pricing, and action buttons.",
199
+ useCases: ["Featured product", "Single item highlight", "Recommendation card"],
200
+ interactivity: "Click to view full details.",
201
+ bestFor: ["Single item focus", "Featured content"],
202
+ status: "stable",
203
+ sampleData: {
204
+ elementType: "item-card",
205
+ props: {
206
+ id: "featured",
207
+ title: "Enterprise Analytics Platform",
208
+ description: "Full-featured business intelligence with real-time dashboards, custom reports, and AI-powered insights for teams of all sizes.",
209
+ price: "$99/mo",
210
+ category: "Analytics",
211
+ rating: 4.9,
212
+ stock: "Available",
213
+ },
214
+ clickQuery: "Show me full details for [title]",
215
+ },
216
+ },
217
+ // ── Content & Media ─────────────────────────────────────────────────────
218
+ {
219
+ elementType: "chat-bubble",
220
+ name: "Chat Bubble",
221
+ category: "Content & Media",
222
+ description: "Text/markdown response messages. Supports rich markdown formatting.",
223
+ useCases: ["AI explanations", "Summaries", "Instructions", "Contextual notes"],
224
+ interactivity: "Primarily informational — no click action.",
225
+ bestFor: ["Explanatory text", "Markdown-formatted content"],
226
+ status: "stable",
227
+ sampleData: {
228
+ elementType: "chat-bubble",
229
+ props: {
230
+ text: "Here's a summary of your account performance:\n\n**Key highlights:**\n- Revenue grew 12% quarter-over-quarter\n- Customer retention rate improved to 94%\n- Average deal size increased by $1,200\n\nYour top-performing product line is **Enterprise**, contributing 52% of total revenue. Consider expanding the sales team in the APAC region where growth is strongest.",
231
+ markdown: true,
232
+ },
233
+ },
234
+ },
235
+ {
236
+ elementType: "image",
237
+ name: "Image",
238
+ category: "Content & Media",
239
+ description: "Image display with alt text, captions, and optional sizing.",
240
+ useCases: ["Product photos", "Diagrams", "Screenshots", "Visual references"],
241
+ interactivity: "Click to view or discuss the image content.",
242
+ bestFor: ["Visual content", "Illustrations", "Product imagery"],
243
+ status: "stable",
244
+ sampleData: {
245
+ elementType: "image",
246
+ props: {
247
+ src: "https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=800",
248
+ alt: "Modern analytics dashboard on a laptop screen",
249
+ title: "BranderUX in Action",
250
+ caption: "Example of a branded analytics dashboard rendered by BranderUX",
251
+ },
252
+ },
253
+ },
254
+ {
255
+ elementType: "video",
256
+ name: "Video",
257
+ category: "Content & Media",
258
+ description: "Embedded video player supporting YouTube URLs and direct .mp4/.webm files.",
259
+ useCases: ["Product demos", "Tutorial videos", "Explainer content", "Marketing media"],
260
+ interactivity: "Play/pause controls. Optional 'Discuss' button sends a query to the AI.",
261
+ bestFor: ["Video content", "Demos", "Tutorials"],
262
+ status: "stable",
263
+ sampleData: {
264
+ elementType: "video",
265
+ props: {
266
+ id: "demo-video",
267
+ src: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
268
+ title: "BranderUX Platform Demo",
269
+ description: "See how BranderUX transforms AI responses into branded interactive UI",
270
+ },
271
+ },
272
+ },
273
+ // ── User Interaction ────────────────────────────────────────────────────
274
+ {
275
+ elementType: "form",
276
+ name: "Form",
277
+ category: "User Interaction",
278
+ description: "Dynamic form with various field types: text, email, date, amount, number, tel, select, textarea, checkbox.",
279
+ useCases: ["Data input", "Settings configuration", "Search filters", "Registration"],
280
+ interactivity: "Submit sends form data as a query to the AI for processing.",
281
+ bestFor: ["Collecting user input", "Configuration screens"],
282
+ status: "stable",
283
+ sampleData: {
284
+ elementType: "form",
285
+ props: {
286
+ title: "Schedule a Demo",
287
+ description: "Fill out the form below and we'll set up a personalized demo for your team.",
288
+ fields: [
289
+ { id: "name", name: "name", label: "Full Name", type: "text", required: true, placeholder: "John Smith" },
290
+ { id: "email", name: "email", label: "Work Email", type: "email", required: true, placeholder: "john@company.com" },
291
+ { id: "company", name: "company", label: "Company Name", type: "text", required: true, placeholder: "Acme Corp" },
292
+ { id: "size", name: "size", label: "Team Size", type: "select", required: true, options: ["1-10", "11-50", "51-200", "200+"] },
293
+ { id: "useCase", name: "useCase", label: "Primary Use Case", type: "textarea", placeholder: "Tell us about your AI-UX needs..." },
294
+ ],
295
+ submitButton: { label: "Request Demo" },
296
+ },
297
+ },
298
+ },
299
+ {
300
+ elementType: "button",
301
+ name: "Button",
302
+ category: "User Interaction",
303
+ description: "Interactive action or link button with primary/secondary/tertiary variants.",
304
+ useCases: ["Call-to-action", "Navigation", "Action triggers", "External links"],
305
+ interactivity: "Action buttons send a query to the AI. Link buttons open external URLs.",
306
+ bestFor: ["CTAs", "Navigation actions"],
307
+ status: "stable",
308
+ sampleData: {
309
+ elementType: "button",
310
+ props: {
311
+ id: "cta-button",
312
+ label: "View Full Report",
313
+ variant: "primary",
314
+ type: "action",
315
+ action: "Generate a comprehensive report with all metrics, charts, and recommendations",
316
+ },
317
+ },
318
+ },
319
+ {
320
+ elementType: "alert",
321
+ name: "Alert",
322
+ category: "User Interaction",
323
+ description: "Notification banner with severity levels: success, error, warning, info. Optional action button.",
324
+ useCases: ["Status notifications", "Warnings", "Success confirmations", "Actionable alerts"],
325
+ interactivity: "Optional action button sends a query to the AI.",
326
+ bestFor: ["Notifications", "Status messages", "Actionable warnings"],
327
+ status: "stable",
328
+ sampleData: {
329
+ elementType: "alert",
330
+ props: {
331
+ id: "alert-1",
332
+ severity: "warning",
333
+ title: "Revenue Target Alert",
334
+ message: "Current quarterly pace is 8% below the $3M target. Consider reviewing the pricing strategy for the Enterprise tier.",
335
+ actionText: "View Pricing Analysis",
336
+ actionQuery: "Show me a pricing analysis with recommendations to meet the revenue target",
337
+ },
338
+ },
339
+ },
340
+ // ── Coming Soon ─────────────────────────────────────────────────────────
341
+ {
342
+ elementType: "custom",
343
+ name: "Custom Elements (Vibe Coding)",
344
+ category: "User Interaction",
345
+ description: "Build your own element types using a visual code editor. Define custom props, rendering logic, " +
346
+ "and click behaviors. The AI learns to use your custom elements alongside the built-in ones.",
347
+ useCases: ["Domain-specific components", "Branded widgets", "Industry-specific elements"],
348
+ interactivity: "Defined by the custom element creator.",
349
+ bestFor: ["Unique business requirements", "Extending BranderUX with domain-specific UI"],
350
+ status: "coming-soon",
351
+ sampleData: {
352
+ elementType: "chat-bubble",
353
+ props: {
354
+ text: "**Custom Elements** are coming soon! You'll be able to build your own element types with a visual code editor — defining custom props, rendering logic, and click behaviors. The AI will learn to use your custom elements alongside the built-in 15 types.",
355
+ markdown: true,
356
+ },
357
+ },
358
+ },
359
+ ];
360
+ // ============================================================================
361
+ // CATEGORIES
362
+ // ============================================================================
363
+ export const ELEMENT_CATEGORIES = {
364
+ "Data Visualization": ["stats-grid", "line-chart", "bar-chart", "pie-chart"],
365
+ "Data Display": ["data-table", "details-data", "item-grid", "item-card"],
366
+ "Content & Media": ["chat-bubble", "image", "video"],
367
+ "User Interaction": ["form", "button", "alert"],
368
+ "Layout": ["header"],
369
+ };
370
+ // ============================================================================
371
+ // HANDLERS
372
+ // ============================================================================
373
+ export function getElementSummary() {
374
+ return {
375
+ totalElements: ELEMENTS.filter((e) => e.status === "stable").length,
376
+ comingSoon: ELEMENTS.filter((e) => e.status === "coming-soon").map((e) => e.elementType),
377
+ categories: ELEMENT_CATEGORIES,
378
+ elements: ELEMENTS.map((e) => ({
379
+ elementType: e.elementType,
380
+ name: e.name,
381
+ category: e.category,
382
+ description: e.description,
383
+ bestFor: e.bestFor,
384
+ status: e.status,
385
+ })),
386
+ tip: "Use explore_elements with a specific element_type to get full details and renderable sample data for any element.",
387
+ };
388
+ }
389
+ export function getElementDetail(elementType) {
390
+ const el = ELEMENTS.find((e) => e.elementType === elementType);
391
+ if (!el)
392
+ return null;
393
+ return {
394
+ element: {
395
+ elementType: el.elementType,
396
+ name: el.name,
397
+ category: el.category,
398
+ description: el.description,
399
+ useCases: el.useCases,
400
+ interactivity: el.interactivity,
401
+ bestFor: el.bestFor,
402
+ status: el.status,
403
+ sampleData: el.sampleData,
404
+ },
405
+ renderTip: "Pass sampleData directly into generate_screen's elements array to render a live demo of this element.",
406
+ };
407
+ }
408
+ export function getElementsByCategory(category) {
409
+ const normalized = Object.keys(ELEMENT_CATEGORIES).find((c) => c.toLowerCase().replace(/[^a-z]/g, "") === category.toLowerCase().replace(/[^a-z]/g, ""));
410
+ if (!normalized)
411
+ return null;
412
+ const types = ELEMENT_CATEGORIES[normalized];
413
+ const elements = ELEMENTS.filter((e) => types.includes(e.elementType));
414
+ return {
415
+ category: normalized,
416
+ elements: elements.map((e) => ({
417
+ elementType: e.elementType,
418
+ name: e.name,
419
+ description: e.description,
420
+ bestFor: e.bestFor,
421
+ status: e.status,
422
+ sampleData: e.sampleData,
423
+ })),
424
+ renderTip: "Pass any element's sampleData into generate_screen to render a live demo.",
425
+ };
426
+ }
@@ -1,31 +1,23 @@
1
1
  export interface IntegrationMethod {
2
- id: string;
2
+ slug: "sdk" | "mcp" | "embed";
3
3
  name: string;
4
- slug: string;
4
+ package: string;
5
5
  tagline: string;
6
6
  description: string;
7
7
  bestFor: string[];
8
8
  setupTime: string;
9
- techStack: string[];
10
- codeExample: string;
9
+ requirements: string[];
11
10
  steps: Array<{
12
11
  step: number;
13
12
  title: string;
14
13
  description: string;
14
+ command?: string;
15
15
  }>;
16
+ codeExample: string;
16
17
  features: string[];
17
18
  limitations: string[];
18
- adoptionRate: number;
19
19
  status: "stable" | "beta";
20
+ configExample?: string;
20
21
  }
21
22
  export declare const INTEGRATION_METHODS: IntegrationMethod[];
22
- export interface AICapability {
23
- id: string;
24
- name: string;
25
- category: string;
26
- description: string;
27
- howItWorks: string;
28
- technicalDetail: string;
29
- status: "ga" | "beta" | "coming-soon";
30
- }
31
- export declare const AI_CAPABILITIES: AICapability[];
23
+ export declare function getIntegrationData(method: string): Record<string, unknown>;