better-design 0.31.0 → 0.31.1
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/index.js +1036 -1015
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1185,6 +1185,238 @@ var init_advertised_schema = __esm({
|
|
|
1185
1185
|
}
|
|
1186
1186
|
});
|
|
1187
1187
|
|
|
1188
|
+
// ../shared/src/mcp/tool-names.ts
|
|
1189
|
+
function measurementToolFamilyV1(tool) {
|
|
1190
|
+
const current = MCP_TOOL_NAMES_V1.find((candidate) => candidate === tool);
|
|
1191
|
+
const renamed = MCP_TOOL_RENAMES_V1.find(([retired]) => retired === tool);
|
|
1192
|
+
const canonical = current ?? renamed?.[1];
|
|
1193
|
+
if (!canonical) return null;
|
|
1194
|
+
return Object.freeze([
|
|
1195
|
+
canonical,
|
|
1196
|
+
...MCP_TOOL_RENAMES_V1.filter(
|
|
1197
|
+
([, successor]) => successor === canonical
|
|
1198
|
+
).map(([retired]) => retired)
|
|
1199
|
+
]);
|
|
1200
|
+
}
|
|
1201
|
+
function measurementToolFamily(tool) {
|
|
1202
|
+
const current = MCP_TOOL_NAMES.find((candidate) => candidate === tool);
|
|
1203
|
+
const renamed = MCP_TOOL_RENAMES.find(([retired]) => retired === tool);
|
|
1204
|
+
const canonical = current ?? renamed?.[1];
|
|
1205
|
+
if (!canonical) return null;
|
|
1206
|
+
return [
|
|
1207
|
+
canonical,
|
|
1208
|
+
...MCP_TOOL_RENAMES.filter(([, successor]) => successor === canonical).map(
|
|
1209
|
+
([retired]) => retired
|
|
1210
|
+
)
|
|
1211
|
+
];
|
|
1212
|
+
}
|
|
1213
|
+
function canonicalMcpToolName(tool) {
|
|
1214
|
+
return MCP_TRACE_TOOL_NAMES.find((registeredTool) => registeredTool === tool) ?? UNKNOWN_MCP_TOOL_NAME;
|
|
1215
|
+
}
|
|
1216
|
+
var MCP_TOOL_NAMES, MCP_TOOL_NAMES_V1, HISTORICAL_MCP_TOOL_NAMES, UNKNOWN_MCP_TOOL_NAME, MCP_TRACE_TOOL_NAMES, MCP_TOOL_RENAMES, MCP_TOOL_RENAMES_V1, MCP_MEASURABLE_TOOL_NAMES_V1, MCP_MEASURABLE_TOOL_NAMES;
|
|
1217
|
+
var init_tool_names = __esm({
|
|
1218
|
+
"../shared/src/mcp/tool-names.ts"() {
|
|
1219
|
+
"use strict";
|
|
1220
|
+
MCP_TOOL_NAMES = [
|
|
1221
|
+
"build-feature-map",
|
|
1222
|
+
"check-comprehension",
|
|
1223
|
+
"create-design-system",
|
|
1224
|
+
"create-figma-prototype",
|
|
1225
|
+
"detect-icon-library",
|
|
1226
|
+
"extract-design-system",
|
|
1227
|
+
"extract-from-url",
|
|
1228
|
+
"finalize-dashboard-review",
|
|
1229
|
+
"find-design-system",
|
|
1230
|
+
"find-icon-library",
|
|
1231
|
+
"find-icons",
|
|
1232
|
+
"get-design-config",
|
|
1233
|
+
"get-design-system-kit",
|
|
1234
|
+
"get-design-system-status",
|
|
1235
|
+
"get-jig-guide",
|
|
1236
|
+
"get-motion-guide",
|
|
1237
|
+
"get-react-native-guide",
|
|
1238
|
+
"get-review-rules",
|
|
1239
|
+
"get-sales-principle",
|
|
1240
|
+
"get-shopify-guide",
|
|
1241
|
+
"get-swiftui-guide",
|
|
1242
|
+
"get-team-rules",
|
|
1243
|
+
"get-three-js-guide",
|
|
1244
|
+
"get-ui-principle",
|
|
1245
|
+
"get-ux-principle",
|
|
1246
|
+
"get-widget-guide",
|
|
1247
|
+
"inspect-spacing",
|
|
1248
|
+
"install-icons",
|
|
1249
|
+
"preview-design-system",
|
|
1250
|
+
"read-feature-map",
|
|
1251
|
+
"review-dashboard-structure",
|
|
1252
|
+
"review-illustration",
|
|
1253
|
+
"review-ui-code",
|
|
1254
|
+
"set-design-config",
|
|
1255
|
+
"update-feature-map"
|
|
1256
|
+
];
|
|
1257
|
+
MCP_TOOL_NAMES_V1 = Object.freeze([
|
|
1258
|
+
"build-feature-map",
|
|
1259
|
+
"check-comprehension",
|
|
1260
|
+
"create-design-system",
|
|
1261
|
+
"create-figma-prototype",
|
|
1262
|
+
"detect-icon-library",
|
|
1263
|
+
"extract-design-system",
|
|
1264
|
+
"extract-from-url",
|
|
1265
|
+
"finalize-dashboard-review",
|
|
1266
|
+
"find-design-system",
|
|
1267
|
+
"find-icon-library",
|
|
1268
|
+
"find-icons",
|
|
1269
|
+
"get-design-config",
|
|
1270
|
+
"get-design-system-kit",
|
|
1271
|
+
"get-design-system-status",
|
|
1272
|
+
"get-jig-guide",
|
|
1273
|
+
"get-motion-guide",
|
|
1274
|
+
"get-react-native-guide",
|
|
1275
|
+
"get-review-rules",
|
|
1276
|
+
"get-sales-principle",
|
|
1277
|
+
"get-shopify-guide",
|
|
1278
|
+
"get-swiftui-guide",
|
|
1279
|
+
"get-team-rules",
|
|
1280
|
+
"get-three-js-guide",
|
|
1281
|
+
"get-ui-principle",
|
|
1282
|
+
"get-ux-principle",
|
|
1283
|
+
"get-widget-guide",
|
|
1284
|
+
"inspect-spacing",
|
|
1285
|
+
"install-icons",
|
|
1286
|
+
"preview-design-system",
|
|
1287
|
+
"read-feature-map",
|
|
1288
|
+
"review-dashboard-structure",
|
|
1289
|
+
"review-illustration",
|
|
1290
|
+
"review-ui-code",
|
|
1291
|
+
"set-design-config",
|
|
1292
|
+
"update-feature-map"
|
|
1293
|
+
]);
|
|
1294
|
+
HISTORICAL_MCP_TOOL_NAMES = [
|
|
1295
|
+
"build-ui-app",
|
|
1296
|
+
"check-design-system-status",
|
|
1297
|
+
"find-design",
|
|
1298
|
+
"get-design-system-docs",
|
|
1299
|
+
"get-design-system-html",
|
|
1300
|
+
"resolve-design-system",
|
|
1301
|
+
"resolve-icon-library",
|
|
1302
|
+
"search-icons"
|
|
1303
|
+
];
|
|
1304
|
+
UNKNOWN_MCP_TOOL_NAME = "unknown-tool";
|
|
1305
|
+
MCP_TRACE_TOOL_NAMES = [
|
|
1306
|
+
...MCP_TOOL_NAMES,
|
|
1307
|
+
...HISTORICAL_MCP_TOOL_NAMES,
|
|
1308
|
+
UNKNOWN_MCP_TOOL_NAME
|
|
1309
|
+
];
|
|
1310
|
+
MCP_TOOL_RENAMES = [
|
|
1311
|
+
["find-design", "find-design-system"],
|
|
1312
|
+
["resolve-design-system", "find-design-system"],
|
|
1313
|
+
["check-design-system-status", "get-design-system-status"],
|
|
1314
|
+
["resolve-icon-library", "find-icon-library"],
|
|
1315
|
+
["search-icons", "find-icons"]
|
|
1316
|
+
];
|
|
1317
|
+
MCP_TOOL_RENAMES_V1 = Object.freeze([
|
|
1318
|
+
Object.freeze(["find-design", "find-design-system"]),
|
|
1319
|
+
Object.freeze(["resolve-design-system", "find-design-system"]),
|
|
1320
|
+
Object.freeze([
|
|
1321
|
+
"check-design-system-status",
|
|
1322
|
+
"get-design-system-status"
|
|
1323
|
+
]),
|
|
1324
|
+
Object.freeze(["resolve-icon-library", "find-icon-library"]),
|
|
1325
|
+
Object.freeze(["search-icons", "find-icons"])
|
|
1326
|
+
]);
|
|
1327
|
+
MCP_MEASURABLE_TOOL_NAMES_V1 = Object.freeze([
|
|
1328
|
+
...MCP_TOOL_NAMES_V1,
|
|
1329
|
+
...MCP_TOOL_RENAMES_V1.map(([retired]) => retired)
|
|
1330
|
+
]);
|
|
1331
|
+
MCP_MEASURABLE_TOOL_NAMES = [
|
|
1332
|
+
...MCP_TOOL_NAMES,
|
|
1333
|
+
...MCP_TOOL_RENAMES.map(([retired]) => retired)
|
|
1334
|
+
];
|
|
1335
|
+
}
|
|
1336
|
+
});
|
|
1337
|
+
|
|
1338
|
+
// ../shared/src/mcp/directory-listing.ts
|
|
1339
|
+
import { z as z3 } from "zod";
|
|
1340
|
+
function directoryDescription(name) {
|
|
1341
|
+
const tool = MCP_TOOL_NAMES.find((known) => known === name);
|
|
1342
|
+
if (tool === void 0) {
|
|
1343
|
+
throw new Error(`Tool "${name}" is not in MCP_TOOL_NAMES, so it has no directory description.`);
|
|
1344
|
+
}
|
|
1345
|
+
return DIRECTORY_TOOL_DESCRIPTIONS[tool];
|
|
1346
|
+
}
|
|
1347
|
+
function withoutContextArg(schema) {
|
|
1348
|
+
const asksForContext = schema instanceof z3.ZodObject && schema.keyof().options.includes("context");
|
|
1349
|
+
return asksForContext ? schema.omit({ context: true }) : schema;
|
|
1350
|
+
}
|
|
1351
|
+
function declareDirectoryListing(server) {
|
|
1352
|
+
const register = server.registerTool.bind(server);
|
|
1353
|
+
const registerForDirectory = (name, config, handler) => register(
|
|
1354
|
+
name,
|
|
1355
|
+
{
|
|
1356
|
+
...config,
|
|
1357
|
+
description: directoryDescription(name),
|
|
1358
|
+
inputSchema: withoutContextArg(config.inputSchema),
|
|
1359
|
+
// The directory reads the listing name from annotations.title, not the top-level title.
|
|
1360
|
+
annotations: { ...config.annotations, title: config.annotations?.title ?? config.title }
|
|
1361
|
+
},
|
|
1362
|
+
handler
|
|
1363
|
+
);
|
|
1364
|
+
server.registerTool = registerForDirectory;
|
|
1365
|
+
}
|
|
1366
|
+
var DIRECTORY_INSTRUCTIONS, DIRECTORY_TOOL_DESCRIPTIONS;
|
|
1367
|
+
var init_directory_listing = __esm({
|
|
1368
|
+
"../shared/src/mcp/directory-listing.ts"() {
|
|
1369
|
+
"use strict";
|
|
1370
|
+
init_tool_names();
|
|
1371
|
+
DIRECTORY_INSTRUCTIONS = `# Better Design
|
|
1372
|
+
|
|
1373
|
+
Better Design provides design systems, design principles and UI review checks for building interfaces.
|
|
1374
|
+
|
|
1375
|
+
- find-design-system searches the catalog. preview-design-system shows one system. get-design-system-kit returns its install command or CSS kit.
|
|
1376
|
+
- create-design-system generates a custom system. get-design-system-status reports its progress.
|
|
1377
|
+
- get-ui-principle, get-ux-principle and the platform guides return design principles and best practices on a topic.
|
|
1378
|
+
- get-review-rules, check-comprehension, inspect-spacing and review-dashboard-structure check finished interfaces.
|
|
1379
|
+
- find-icon-library, find-icons and install-icons return icon component files.`;
|
|
1380
|
+
DIRECTORY_TOOL_DESCRIPTIONS = {
|
|
1381
|
+
"get-ui-principle": "Returns Better Design's visual design principles on a topic: hierarchy, spacing and layout, typography, color, depth, images, accessibility, polish and animation. Pass `topic` for one principle, `query` to search by situation, or nothing for the index of topics. Use it when the user wants to know how an interface should look. `maxTokens` limits the length of the response.",
|
|
1382
|
+
"get-ux-principle": "Returns Better Design's UX principles on a topic: forms, navigation, notifications, errors, dialogs, search, onboarding, microcopy, positioning, commerce flows, behavior change and cognitive laws. Pass `topic` for one principle, `query` to search by situation, or nothing for the index of topics. Use it when the user wants to know how an interface should behave or what its copy should say. `maxTokens` limits the length of the response.",
|
|
1383
|
+
"get-sales-principle": "Returns Better Design's sales principles: handling objections, preparing a champion and mapping features to value. Pass `topic` for one principle, `query` to search by situation, or nothing for the index of topics. Use it when the user prepares a sales conversation or writes a sales asset.",
|
|
1384
|
+
"get-react-native-guide": "Returns best practices and TypeScript recipes for React Native and Expo apps: setup, components and styling, Expo Router, data and authentication, native UI, animation, notifications, EAS builds, testing and store submission. It includes the official Expo skills (MIT) under topics that start with `official-`. Pass `topic`, `query`, or nothing for the index of topics.",
|
|
1385
|
+
"get-three-js-guide": "Returns best practices and code recipes for Three.js and React Three Fiber scenes: fundamentals, materials, lights, models, particles, physics, performance, postprocessing, WebGPU, shaders and auditing an existing scene. Pass `topic`, `query`, or nothing for the index of topics.",
|
|
1386
|
+
"get-shopify-guide": "Returns Better Design's best practices for Shopify Liquid and Online Store 2.0 themes: theme architecture, Liquid objects and filters, section schema, localization, accessibility, performance and Theme Check validation, with links to Shopify's documentation. Pass `topic`, `query`, or nothing for the index of topics.",
|
|
1387
|
+
"get-motion-guide": "Returns best practices and components for building a product demo or promo video in code with Remotion: the brief, brand and motion tokens, format profiles, captions, pacing, rendering and review. `scaffold: true` returns a complete Remotion starter project. `component` returns one video component's source and install command, and no arguments lists the components. The components come from snapcn (MIT) through the Better Design registry.",
|
|
1388
|
+
"get-swiftui-guide": "Returns best practices and Swift examples for SwiftUI interfaces: layout and view composition, animation and gestures, Metal shader effects and the platform APIs they use. Pass `topic`, `query`, or nothing for the index of topics.",
|
|
1389
|
+
"get-review-rules": "Returns Better Design's review rules for UI code, each with a severity: accessibility (WCAG 2.1), visual design, animation, content, comprehension and AI features. Pass `category` for one group. Use it when the user wants UI code reviewed. `maxTokens` limits the length of the response.",
|
|
1390
|
+
"get-widget-guide": "Returns a build brief for an interactive widget on an article or landing page, such as a calculator, estimator, converter, quiz or checklist. Pass what is known about the widget. The response lists any details still missing, and once the details are complete it returns the brief with rules for calculation accuracy, form behavior, search visibility, performance and privacy.",
|
|
1391
|
+
"check-comprehension": "Checks interface copy for clarity with three tests: whether a person outside the team understands it, whether the screen can be explained in 15 seconds, and whether a screenshot alone says what the screen does. Pass the headline, body and action labels, or the markup. Returns each finding with a severity and a suggested fix. `knownTerms` lists words the audience already knows. Better Design runs the checks itself and calls no other API.",
|
|
1392
|
+
"review-dashboard-structure": "Reviews the source of a dashboard or overview page against a fixed rubric: complete source, unchanged data, supported claims, hierarchy, scan order and use of the installed Sidebar, StatCard and Table components. Pass the page source, the data fixture, its interpretation and the component sources. Returns PASS, or FAIL with every finding as a tool error.",
|
|
1393
|
+
"finalize-dashboard-review": "Captures a deployed dashboard at a public HTTPS URL in Better Design's own browser at 390, 1440 and 1728 pixels wide, compares it with the submitted source, data and components, and returns a receipt tied to that deployment. The receipt reports hierarchy, component, copy and spacing faults and any hidden data fields.",
|
|
1394
|
+
"find-icon-library": `Searches icon libraries by style, mood or use case, such as "minimal clean professional", and returns the closest matches with a note on each library's style.`,
|
|
1395
|
+
"find-icons": 'Searches one icon library for icons by concept and returns icon names that exist in that library. A single noun, such as "inbox", ranks best. `variant` lists the names that have that variant first. Takes a `libraryId` from find-icon-library.',
|
|
1396
|
+
"install-icons": "Fetches the named icons from the public Iconify API and returns one React component file per icon, plus an index.ts barrel, as text for the caller to save. It writes no files. Takes a `libraryId` and icon names from find-icons.",
|
|
1397
|
+
"detect-icon-library": "Reads the contents of the `.library.json` file that an earlier icon install left in a project and returns the icon library the project uses and the icons it has installed, or reports that none is recorded.",
|
|
1398
|
+
"find-design-system": "Searches Better Design's catalog of design systems by industry, personality or a description of the interface, and returns ranked matches with a preview link for each. Use it when the user wants a design system or a visual direction for an app, site, page, dashboard or presentation.",
|
|
1399
|
+
"get-design-system-kit": "Returns the build kit for a catalog design system or a generated project. `target` picks the format: `react` returns one shadcn install command for every component and the tokens, `html` returns framework-free token and component CSS for inline canvases, `react-native` and `swiftui` return mobile kits, `shopify` returns Liquid theme files, and `dtcg` returns a W3C Design Tokens document. `component` narrows the React install to one component.",
|
|
1400
|
+
"create-design-system": "Starts generating a custom design system from a description of the product and its look, and returns the project id and project URL at once. Generation runs in the background and typically takes 1 to 3 minutes. get-design-system-status reports progress and returns the install command when it finishes. `baseDesignSystemId` starts from a catalog system, and `brandCss` builds from an existing brand token sheet, such as the output of extract-design-system. Each call uses one credit from the user's Better Design account. Anyone with the registry or preview URL can view the generated source and previews.",
|
|
1401
|
+
"get-design-system-status": "Reports the progress of a design system started with create-design-system. While generation runs it returns the current stage. When generation finishes it returns the live preview URL and the `npx shadcn add` install command.",
|
|
1402
|
+
"preview-design-system": "Returns a visual preview of a catalog design system: its palette, typography, buttons, card, input and badge, with a link to the full live showcase. Takes an id from find-design-system.",
|
|
1403
|
+
"get-design-config": "Returns the design config saved on a generated project: exact color tokens, radius, fonts and icon library, including values the user tuned on the project page.",
|
|
1404
|
+
"set-design-config": "Saves exact design token values (colors, radius, fonts and icon library) onto a generated project, merged over its current config. The saved values replace the earlier ones, and anyone with the project's config URL can read them.",
|
|
1405
|
+
"get-jig-guide": "Returns setup code for a jig. Kind `tune-in-place` returns a control panel to wire to taste-based values in the interface being built, such as animation timing, gradients or shadows, so the user can tune them by eye. Kind `standalone-tool` returns the Toolcraft starter kit (MIT) for a reusable custom tool, such as a generator or a shader playground. `framework` picks React, vanilla JavaScript or React Native.",
|
|
1406
|
+
"extract-design-system": "Reads design tokens from CSS the caller passes in and returns the semantic palette, radius, fonts and shadow scale, with a token sheet that converts every color to `oklch()`. It accepts hex, rgb, hsl, named and oklch colors across `:root`, `.dark` and `@theme` blocks. `sources` merges several inputs, including a sample of computed styles from a live page. The server cannot read files, so the caller passes the text.",
|
|
1407
|
+
"extract-from-url": "Fetches a public web page, reads its stylesheets and renders it in a headless browser to sample the colors, fonts and radii of its body, headings, links, buttons, inputs and cards, then returns the brand as an oklch token sheet. It reads the page the way a browser does and calls no other API. A call takes about 10 to 45 seconds.",
|
|
1408
|
+
"review-illustration": "Renders an SVG illustration in a browser and returns its visible faults against Better Design's illustration principles, such as open shapes, floating parts, inconsistent light and contents outside their container. Pass the SVG and what it is meant to show. Pass the returned `reviewToken` back to review the same drawing again. SVG that carries scripts, event handlers or remote references is refused.",
|
|
1409
|
+
"inspect-spacing": "Measures spacing in a rendered interface from DOM geometry and returns the spacing faults with a correction for each. The first call returns a read-only capture script to run in the page. The second call takes the captured states, such as viewport widths or hover and focus states, and returns the measurements and findings.",
|
|
1410
|
+
"build-feature-map": "Drafts a map of a product's features and flows from its repository file list and returns it as JSON for .better-design/feature-map.json. Routes become screens, nested routes become flows, and components, API routes and hooks join the step they share a name with. Pass every path from `git ls-files` as `files`.",
|
|
1411
|
+
"read-feature-map": "Returns the flows in a feature map that match a flow name, a feature or a file path, with the screen, route, components and data files of every step. Pass the contents of .better-design/feature-map.json as `map`. With no filter it lists every flow.",
|
|
1412
|
+
"update-feature-map": "Applies one change to a feature map, such as adding, renaming or removing a feature, or setting, renaming or removing a flow, and returns the updated map.",
|
|
1413
|
+
"get-team-rules": "Returns the Markdown rules the user's Better Design team wrote for how their product is built and reviewed, or a note that the team has none yet.",
|
|
1414
|
+
"review-ui-code": "Reviews React component source and CSS and returns findings with line numbers and fixes: native elements that bypass the installed design system, undefined font variables, hardcoded colors and raw palette classes, generated-UI patterns, and WCAG faults such as missing alt text or accessible names. The same input always returns the same findings.",
|
|
1415
|
+
"create-figma-prototype": "Reads a frame from the Figma file that has the Better Design plugin open and returns it as one HTML page built from the design system's components, with a report of every layer that could not be mapped. Name a frame, or omit the name to use the current selection."
|
|
1416
|
+
};
|
|
1417
|
+
}
|
|
1418
|
+
});
|
|
1419
|
+
|
|
1188
1420
|
// ../shared/src/mcp/presentation-runtime.ts
|
|
1189
1421
|
var PRESENTATION_RUNTIME_RULE;
|
|
1190
1422
|
var init_presentation_runtime = __esm({
|
|
@@ -1469,7 +1701,7 @@ var init_presentation = __esm({
|
|
|
1469
1701
|
});
|
|
1470
1702
|
|
|
1471
1703
|
// ../shared/src/mcp/selected-icon-handoff.ts
|
|
1472
|
-
import { z as
|
|
1704
|
+
import { z as z4 } from "zod";
|
|
1473
1705
|
async function catalogKitIcons(metadata, provider) {
|
|
1474
1706
|
if (CATALOG_ICON_LIBRARY_ASSIGNMENTS[metadata.id]) return resolveDesignSystemIcons({ id: metadata.id });
|
|
1475
1707
|
if (!metadata.iconLibraryId) return void 0;
|
|
@@ -1505,11 +1737,11 @@ var init_selected_icon_handoff = __esm({
|
|
|
1505
1737
|
"../shared/src/mcp/selected-icon-handoff.ts"() {
|
|
1506
1738
|
"use strict";
|
|
1507
1739
|
init_presentation();
|
|
1508
|
-
selectedIconSchema =
|
|
1509
|
-
id:
|
|
1510
|
-
name:
|
|
1511
|
-
prefix:
|
|
1512
|
-
variant:
|
|
1740
|
+
selectedIconSchema = z4.object({
|
|
1741
|
+
id: z4.string().min(1),
|
|
1742
|
+
name: z4.string().min(1).optional(),
|
|
1743
|
+
prefix: z4.string().min(1),
|
|
1744
|
+
variant: z4.string().min(1)
|
|
1513
1745
|
});
|
|
1514
1746
|
}
|
|
1515
1747
|
});
|
|
@@ -1622,7 +1854,7 @@ var init_session_guidance = __esm({
|
|
|
1622
1854
|
|
|
1623
1855
|
// ../shared/src/mcp/tools/shared.ts
|
|
1624
1856
|
import { createHash } from "crypto";
|
|
1625
|
-
import { z as
|
|
1857
|
+
import { z as z5 } from "zod";
|
|
1626
1858
|
function mcpClientName(server) {
|
|
1627
1859
|
try {
|
|
1628
1860
|
return server.server.getClientVersion?.()?.name || void 0;
|
|
@@ -1643,33 +1875,33 @@ function buildKitOutputSchema(enableShopifyKit = true) {
|
|
|
1643
1875
|
const base = PREVIEW_OUTPUT_SCHEMA.extend({
|
|
1644
1876
|
buildInstructions: BUILD_INSTRUCTIONS_FIELD,
|
|
1645
1877
|
iconLibrary: selectedIconSchema.optional().describe("The design system's existing icon family and variant. Reuse it; do not select another pack."),
|
|
1646
|
-
iconSelectionStatus:
|
|
1647
|
-
iconInstructions:
|
|
1648
|
-
requiredWrapperClass:
|
|
1649
|
-
requiredComponentClassPrefix:
|
|
1650
|
-
customCssScope:
|
|
1651
|
-
hoverPolicy:
|
|
1652
|
-
hostIsolationCssTemplate:
|
|
1653
|
-
minimumTextContrast:
|
|
1654
|
-
textColorPolicy:
|
|
1655
|
-
hierarchyPolicy:
|
|
1656
|
-
compositionPolicy:
|
|
1657
|
-
componentCss:
|
|
1658
|
-
componentMaterialCss:
|
|
1659
|
-
componentExampleHtml:
|
|
1660
|
-
tokensJson:
|
|
1661
|
-
nativeFiles:
|
|
1662
|
-
unsupportedTokens:
|
|
1663
|
-
name:
|
|
1664
|
-
value:
|
|
1665
|
-
mode:
|
|
1878
|
+
iconSelectionStatus: z5.enum(["selected", "unverified"]).optional().describe("Selected means identity is known, not that rendered icon use was reviewed."),
|
|
1879
|
+
iconInstructions: z5.string().optional().describe("Instructions for exact selected-icon lookup, or an explicit missing-selection warning."),
|
|
1880
|
+
requiredWrapperClass: z5.literal("ds").optional().describe(`${shared} The artifact or snippet root must retain this class exactly.`),
|
|
1881
|
+
requiredComponentClassPrefix: z5.literal("ds-").optional().describe(`${shared} Interactive components must retain classes with this prefix; never rename it.`),
|
|
1882
|
+
customCssScope: z5.literal("layout-only").optional().describe(`${shared} Custom classes may arrange layout but must not replace kit component styling.`),
|
|
1883
|
+
hoverPolicy: z5.string().min(1).optional().describe(`${shared} Mandatory pointer-safe hover contract to verify before presenting.`),
|
|
1884
|
+
hostIsolationCssTemplate: z5.string().min(1).optional().describe("HTML target only. Replace APP_ROOT with the artifact root selector and paste after host/base CSS so semantic text cannot inherit the host's light/dark colors."),
|
|
1885
|
+
minimumTextContrast: z5.literal("4.5:1").optional().describe(`${shared} Minimum contrast for normal visible text against its computed background.`),
|
|
1886
|
+
textColorPolicy: z5.string().min(1).optional().describe(`${shared} Mandatory semantic foreground-token contract; surface tokens and opacity must not be used to mute text.`),
|
|
1887
|
+
hierarchyPolicy: z5.string().min(1).optional().describe("HTML target only. Mandatory first-view hierarchy, progressive-disclosure, and information-budget contract."),
|
|
1888
|
+
compositionPolicy: z5.string().min(1).optional().describe("HTML target only. Mandatory layout-density and container-restraint policy."),
|
|
1889
|
+
componentCss: z5.string().min(1).optional().describe("HTML target only. Paste this token-driven ds-* component stylesheet verbatim."),
|
|
1890
|
+
componentMaterialCss: z5.string().optional().describe("HTML target only. Paste this design-system-specific material override after componentCss."),
|
|
1891
|
+
componentExampleHtml: z5.string().min(1).optional().describe("HTML target only. Starter markup that demonstrates the required .ds wrapper and ds-* component classes."),
|
|
1892
|
+
tokensJson: z5.string().min(1).optional().describe("DTCG target only. The design tokens as a W3C Design Tokens (DTCG) document. Write it to tokens.json; every token tool reads this format, including Style Dictionary, Tokens Studio, Terrazzo, and the Figma plugins that create variables."),
|
|
1893
|
+
nativeFiles: z5.array(z5.object({ path: z5.string().min(1), content: z5.string().min(1) })).optional().describe("React Native and SwiftUI targets only. Write each file verbatim at its path: this system's stored theme and material, and the primitives that read it."),
|
|
1894
|
+
unsupportedTokens: z5.array(z5.object({
|
|
1895
|
+
name: z5.string().min(1),
|
|
1896
|
+
value: z5.string().min(1),
|
|
1897
|
+
mode: z5.enum(["light", "dark"])
|
|
1666
1898
|
})).optional().describe("React Native and SwiftUI targets only. Tokens that need a browser to resolve, a calc(), a var(), or a relative oklch(), so they carry no native value. Set them by hand if the screen needs them. A token whose mode is dark matters more: the dark palette inherits the light value for any key it does not set, so a dropped dark override reads as the light colour on a dark screen.")
|
|
1667
1899
|
});
|
|
1668
1900
|
if (!enableShopifyKit) return base;
|
|
1669
1901
|
return base.extend({
|
|
1670
|
-
supportedInstallationScope:
|
|
1671
|
-
iconMaterialStatus:
|
|
1672
|
-
themeFiles:
|
|
1902
|
+
supportedInstallationScope: z5.literal("full-storefront-only").optional().describe("Shopify full kit is not page-scoped. Withhold installation for a page-only task until isolated files and styles exist."),
|
|
1903
|
+
iconMaterialStatus: z5.enum(["current", "legacy-unverified"]).optional().describe("Shopify stored glyph metadata is current, or legacy and unverified. This is not rendered review evidence."),
|
|
1904
|
+
themeFiles: z5.array(z5.object({ path: z5.string().min(1), content: z5.string().min(1) })).optional().describe("Shopify target only. Theme files to write verbatim at each path: the per-system CSS asset, the Liquid snippets, and the theme editor sections.")
|
|
1673
1905
|
});
|
|
1674
1906
|
}
|
|
1675
1907
|
async function loadSessionGuidance(provider, userId, clientName, now = Date.now()) {
|
|
@@ -1882,21 +2114,21 @@ Composition is also pass/fail. Keep one visible identity block per level and siz
|
|
|
1882
2114
|
|
|
1883
2115
|
The UI copy inside the screen follows the same restraint: short headlines (about 6 words), supporting lines about 15 words and at most one per section, no filler adjectives, no exclamation marks, and no emoji as icons. Every visible text fragment needs one job: context, outcome, next action, real doubt, or legal/security. Do not add template footer, provenance, helper, or slogan copy. If deletion does not hurt meaning, action clarity, safety, compliance, or tone, keep it deleted. Never place an eyebrow, kicker, category, or status label immediately above an \`h1\`, \`h2\`, or \`h3\`; start with the title and put essential context in the supporting line or after the title. Avoid the template shapes (gradient hero with an uppercase eyebrow pill, centered three-card feature grid, left-border callout boxes) unless the user asks. After writing the UI, call \`get-review-rules\`. For dashboards, run \`review-dashboard-structure\`, \`check-comprehension\`, and \`inspect-spacing\`, deploy the exact source to a public HTTPS preview, then call \`finalize-dashboard-review\` with its URL, the exact source, installed component source, and unchanged fixture. Better Design captures the PNG, visible text, and measured DOM itself at 390, 1440, and 1728, then content-addresses the live deployment. A missing trusted capture, invalid deployment revision, invalid geometry, or hidden fixture field means incomplete. Only a VALID final receipt permits presentation; any later source or deployment edit voids it. For other UI, fix every critical or serious review, comprehension, and spacing finding before presenting. Screenshot desktop and mobile and squint-test each viewport; on a commerce or product page, only the product image, price, and primary CTA may dominate.`;
|
|
1884
2116
|
CODING_HOST_RE = /claude[- ]?code|cursor|windsurf|devin|antigravity|cline|continue|codeium|codex|zed|vs[- ]?code|vscode|jetbrains|intellij|webstorm|pycharm|goland|rider|neovim|nvim/i;
|
|
1885
|
-
PREVIEW_OUTPUT_SCHEMA =
|
|
1886
|
-
status:
|
|
1887
|
-
name:
|
|
1888
|
-
viewUrl:
|
|
1889
|
-
previewUrl:
|
|
1890
|
-
shotUrl:
|
|
1891
|
-
installCommand:
|
|
1892
|
-
installLibrary:
|
|
1893
|
-
installNote:
|
|
1894
|
-
step:
|
|
1895
|
-
tokensCss:
|
|
2117
|
+
PREVIEW_OUTPUT_SCHEMA = z5.object({
|
|
2118
|
+
status: z5.string().describe("completed | error | pending | generating | selected"),
|
|
2119
|
+
name: z5.string().describe("Display name of the design system or project."),
|
|
2120
|
+
viewUrl: z5.string().optional().describe("Owner-facing Better Design page (the human 'Open' link). May require login."),
|
|
2121
|
+
previewUrl: z5.string().optional().describe("Public, cookieless showcase URL used to generate preview assets. Falls back to viewUrl."),
|
|
2122
|
+
shotUrl: z5.string().optional().describe("Real screenshot of the showcase page for the self-contained preview widget."),
|
|
2123
|
+
installCommand: z5.string().optional().describe("shadcn install command, when complete."),
|
|
2124
|
+
installLibrary: z5.enum(["base-ui", "radix", "mixed"]).optional().describe("Actual component library flavor installed by installCommand."),
|
|
2125
|
+
installNote: z5.string().optional().describe("Important install flavor or fallback note for clients that read only structuredContent."),
|
|
2126
|
+
step: z5.string().optional().describe("Current generation step, while generating."),
|
|
2127
|
+
tokensCss: z5.string().describe("CSS custom-property stylesheet for the system's tokens.")
|
|
1896
2128
|
});
|
|
1897
|
-
BUILD_INSTRUCTIONS_FIELD =
|
|
2129
|
+
BUILD_INSTRUCTIONS_FIELD = z5.string().min(1).optional().describe("Required design-choice guidance and any target-specific build/review steps for clients that read only structuredContent.");
|
|
1898
2130
|
BUILD_KIT_OUTPUT_SCHEMA = buildKitOutputSchema();
|
|
1899
|
-
CONTEXT_ARG =
|
|
2131
|
+
CONTEXT_ARG = z5.string().max(280).optional().describe(
|
|
1900
2132
|
"Optional. One sentence on WHY you are calling this and what the user asked for (e.g. 'adding nav icons for the fintech dashboard'). Used only for usage analytics; does not change the result."
|
|
1901
2133
|
);
|
|
1902
2134
|
READ_ONLY_TOOL_ANNOTATIONS = {
|
|
@@ -4025,36 +4257,6 @@ var init_topic_utils = __esm({
|
|
|
4025
4257
|
}
|
|
4026
4258
|
});
|
|
4027
4259
|
|
|
4028
|
-
// ../shared/src/foundational-docs/public-paths.ts
|
|
4029
|
-
function isExcludedPublicPrincipleSource(sourceFile) {
|
|
4030
|
-
return sourceFile?.startsWith(EXCLUDED_PUBLIC_PRINCIPLE_SOURCE_PREFIX) ?? false;
|
|
4031
|
-
}
|
|
4032
|
-
function hasPublicPrinciplePage(sourceFile) {
|
|
4033
|
-
return Boolean(sourceFile) && !isExcludedPublicPrincipleSource(sourceFile);
|
|
4034
|
-
}
|
|
4035
|
-
function principleAreaPath(area) {
|
|
4036
|
-
return `${PRINCIPLES_PATH}/${area}`;
|
|
4037
|
-
}
|
|
4038
|
-
function principlePath(area, topic) {
|
|
4039
|
-
return `${principleAreaPath(area)}/${topic}`;
|
|
4040
|
-
}
|
|
4041
|
-
function principleReferralUrl(origin, area, topic) {
|
|
4042
|
-
const path6 = topic ? principlePath(area, topic) : principleAreaPath(area);
|
|
4043
|
-
return `${origin.replace(/\/$/, "")}${path6}?ref=mcp`;
|
|
4044
|
-
}
|
|
4045
|
-
function reviewRulesReferralUrl(origin) {
|
|
4046
|
-
return `${origin.replace(/\/$/, "")}${REVIEW_RULES_PATH}?ref=mcp`;
|
|
4047
|
-
}
|
|
4048
|
-
var PRINCIPLES_PATH, REVIEW_RULES_PATH, EXCLUDED_PUBLIC_PRINCIPLE_SOURCE_PREFIX;
|
|
4049
|
-
var init_public_paths = __esm({
|
|
4050
|
-
"../shared/src/foundational-docs/public-paths.ts"() {
|
|
4051
|
-
"use strict";
|
|
4052
|
-
PRINCIPLES_PATH = "/principles";
|
|
4053
|
-
REVIEW_RULES_PATH = `${PRINCIPLES_PATH}/review`;
|
|
4054
|
-
EXCLUDED_PUBLIC_PRINCIPLE_SOURCE_PREFIX = "docs/react-native/expo-skills/";
|
|
4055
|
-
}
|
|
4056
|
-
});
|
|
4057
|
-
|
|
4058
4260
|
// ../shared/src/mcp/tools/review-rules-description.ts
|
|
4059
4261
|
var REVIEW_RULE_CATEGORIES, REVIEW_RULES_DESCRIPTION;
|
|
4060
4262
|
var init_review_rules_description = __esm({
|
|
@@ -4121,7 +4323,7 @@ Use maxTokens to limit rule content (recommended: 5000\u201310000). Required wor
|
|
|
4121
4323
|
});
|
|
4122
4324
|
|
|
4123
4325
|
// ../shared/src/mcp/tools/team-rules-tools.ts
|
|
4124
|
-
import { z as
|
|
4326
|
+
import { z as z6 } from "zod";
|
|
4125
4327
|
async function loadTeamRules(provider, userId) {
|
|
4126
4328
|
if (!provider.getTeamRules) return "";
|
|
4127
4329
|
let timer;
|
|
@@ -4160,7 +4362,7 @@ function registerTeamRulesTools({ server, provider, track, userId }) {
|
|
|
4160
4362
|
description: `Read the rules this account's team wrote for how agents should build and review their product. Call it at the start of a task, then follow the rules in everything you build. get-review-rules already checks work against them.
|
|
4161
4363
|
|
|
4162
4364
|
Returns the team's own Markdown document, or a note that the team has none yet.`,
|
|
4163
|
-
inputSchema:
|
|
4365
|
+
inputSchema: z6.object({ context: CONTEXT_ARG }),
|
|
4164
4366
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
4165
4367
|
},
|
|
4166
4368
|
async ({ context }) => {
|
|
@@ -4196,35 +4398,12 @@ This account has no team rules yet. Paste them at ${APP_BASE_URL}/dashboard/sett
|
|
|
4196
4398
|
});
|
|
4197
4399
|
|
|
4198
4400
|
// ../shared/src/mcp/tools/principle-tools.ts
|
|
4199
|
-
import { z as
|
|
4401
|
+
import { z as z7 } from "zod";
|
|
4200
4402
|
function principleTopic(principle) {
|
|
4201
4403
|
return principle.topic ?? principle.id.replace("principle-", "");
|
|
4202
4404
|
}
|
|
4203
|
-
function
|
|
4204
|
-
return
|
|
4205
|
-
}
|
|
4206
|
-
function publishedPrinciplePageUrl(area, principle) {
|
|
4207
|
-
return hasPublicPrinciplePage(principle.sourceFile) ? principlePageUrl(area, principle.topic) : principlePageUrl(area);
|
|
4208
|
-
}
|
|
4209
|
-
function principleLinkFooter(lines) {
|
|
4210
|
-
const uniqueLines = [...new Set(lines)];
|
|
4211
|
-
return `
|
|
4212
|
-
|
|
4213
|
-
---
|
|
4214
|
-
|
|
4215
|
-
${uniqueLines.map((line2) => `Full principle: ${line2}`).join("\n")}`;
|
|
4216
|
-
}
|
|
4217
|
-
function principleErrorResponse(message, area) {
|
|
4218
|
-
return {
|
|
4219
|
-
content: [{
|
|
4220
|
-
type: "text",
|
|
4221
|
-
text: `Error: ${message}${principleLinkFooter([principlePageUrl(area)])}`
|
|
4222
|
-
}]
|
|
4223
|
-
};
|
|
4224
|
-
}
|
|
4225
|
-
function withoutPrincipleFooter(text3) {
|
|
4226
|
-
const footerIndex = text3.lastIndexOf(PRINCIPLE_FOOTER_SEPARATOR);
|
|
4227
|
-
return footerIndex < 0 ? text3 : text3.slice(0, footerIndex).trimEnd();
|
|
4405
|
+
function principleErrorResponse(message) {
|
|
4406
|
+
return { content: [{ type: "text", text: `Error: ${message}` }] };
|
|
4228
4407
|
}
|
|
4229
4408
|
function formatSearchResultContent(content) {
|
|
4230
4409
|
if (content.length <= SEARCH_RESULT_PREVIEW_CHARS) return content;
|
|
@@ -4297,24 +4476,18 @@ function appendReviewNudge(response, session2) {
|
|
|
4297
4476
|
if (!nudge) return response;
|
|
4298
4477
|
const [first, ...rest] = response.content;
|
|
4299
4478
|
if (!first) return response;
|
|
4300
|
-
const footerIndex = first.text.lastIndexOf(PRINCIPLE_FOOTER_SEPARATOR);
|
|
4301
|
-
const text3 = footerIndex < 0 ? `${first.text}
|
|
4302
|
-
|
|
4303
|
-
${nudge}` : `${first.text.slice(0, footerIndex)}
|
|
4304
|
-
|
|
4305
|
-
${nudge}${first.text.slice(footerIndex)}`;
|
|
4306
4479
|
return {
|
|
4307
4480
|
...response,
|
|
4308
|
-
content: [{ ...first, text:
|
|
4481
|
+
content: [{ ...first, text: `${first.text}
|
|
4482
|
+
|
|
4483
|
+
${nudge}` }, ...rest]
|
|
4309
4484
|
};
|
|
4310
4485
|
}
|
|
4311
4486
|
async function runPrincipleTool(provider, area, label, toolName, args) {
|
|
4312
4487
|
const { topic, query, maxTokens } = args;
|
|
4313
4488
|
const resourceLabel = GUIDE_AREAS.has(area) ? "Guides" : "Principles";
|
|
4314
|
-
const finish = (text3, capture
|
|
4315
|
-
response: {
|
|
4316
|
-
content: [{ type: "text", text: `${text3}${principleLinkFooter(links)}` }]
|
|
4317
|
-
},
|
|
4489
|
+
const finish = (text3, capture) => ({
|
|
4490
|
+
response: { content: [{ type: "text", text: text3 }] },
|
|
4318
4491
|
capture
|
|
4319
4492
|
});
|
|
4320
4493
|
if (topic && query) {
|
|
@@ -4345,8 +4518,7 @@ ${principle.content}`;
|
|
|
4345
4518
|
text3,
|
|
4346
4519
|
// Normalize aliases to their canonical topic so analytics and scrape
|
|
4347
4520
|
// coverage count one resource no matter which supported name was used.
|
|
4348
|
-
{ topic: principle.topic ?? topic, topResults: [{ id: principle.id }] }
|
|
4349
|
-
[publishedPrinciplePageUrl(area, principle)]
|
|
4521
|
+
{ topic: principle.topic ?? topic, topResults: [{ id: principle.id }] }
|
|
4350
4522
|
);
|
|
4351
4523
|
}
|
|
4352
4524
|
if (query) {
|
|
@@ -4367,8 +4539,7 @@ ${formatSearchResultContent(result.content)}`
|
|
|
4367
4539
|
|
|
4368
4540
|
${formatted}`;
|
|
4369
4541
|
if (maxTokens) text3 = truncateToTokens(text3, maxTokens);
|
|
4370
|
-
|
|
4371
|
-
return finish(text3, { query, topResults }, links);
|
|
4542
|
+
return finish(text3, { query, topResults });
|
|
4372
4543
|
}
|
|
4373
4544
|
const principles = await provider.listPrinciples(area);
|
|
4374
4545
|
if (principles.length === 0) {
|
|
@@ -4409,10 +4580,10 @@ You can either:
|
|
|
4409
4580
|
3. Get index of all principles: get-ui-principle({})
|
|
4410
4581
|
|
|
4411
4582
|
Use maxTokens to keep responses focused (recommended: 5000\u201310000).`,
|
|
4412
|
-
inputSchema:
|
|
4413
|
-
topic:
|
|
4414
|
-
query:
|
|
4415
|
-
maxTokens:
|
|
4583
|
+
inputSchema: z7.object({
|
|
4584
|
+
topic: z7.string().trim().min(1).max(120).optional().describe("Specific UI topic or alias to load, e.g. spacing, gestalt, hierarchy, blur test, accessibility, color, depth, animation, product-pages, product-imagery."),
|
|
4585
|
+
query: z7.string().trim().min(1).max(500).optional().describe("Natural language search query to find relevant principles."),
|
|
4586
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates content to fit. Recommended: 5000-10000."),
|
|
4416
4587
|
context: CONTEXT_ARG
|
|
4417
4588
|
}),
|
|
4418
4589
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4428,7 +4599,7 @@ Use maxTokens to keep responses focused (recommended: 5000\u201310000).`,
|
|
|
4428
4599
|
"get-ui-principle",
|
|
4429
4600
|
{ query, topic, topResults: [], context },
|
|
4430
4601
|
start,
|
|
4431
|
-
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"
|
|
4602
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4432
4603
|
true,
|
|
4433
4604
|
error instanceof Error ? error.message : String(error)
|
|
4434
4605
|
);
|
|
@@ -4450,10 +4621,10 @@ You can either:
|
|
|
4450
4621
|
4. Get index of all UX principles: get-ux-principle({})
|
|
4451
4622
|
|
|
4452
4623
|
Use maxTokens to keep responses focused (recommended: 5000\u201310000).`,
|
|
4453
|
-
inputSchema:
|
|
4454
|
-
topic:
|
|
4455
|
-
query:
|
|
4456
|
-
maxTokens:
|
|
4624
|
+
inputSchema: z7.object({
|
|
4625
|
+
topic: z7.string().trim().min(1).max(120).optional().describe("Specific UX topic or alias to load, e.g. forms, navigation, microcopy, positioning, value proposition, reward design, behavior-change, clarity audit, motion brief, design-process, cognitive-laws, psychology, commerce-catalog, commerce-checkout, brand-in-sparse-interfaces."),
|
|
4626
|
+
query: z7.string().trim().min(1).max(500).optional().describe("Natural language search query to find relevant UX principles."),
|
|
4627
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates content to fit. Recommended: 5000-10000."),
|
|
4457
4628
|
context: CONTEXT_ARG
|
|
4458
4629
|
}),
|
|
4459
4630
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4469,7 +4640,7 @@ Use maxTokens to keep responses focused (recommended: 5000\u201310000).`,
|
|
|
4469
4640
|
"get-ux-principle",
|
|
4470
4641
|
{ query, topic, topResults: [], context },
|
|
4471
4642
|
start,
|
|
4472
|
-
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"
|
|
4643
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4473
4644
|
true,
|
|
4474
4645
|
error instanceof Error ? error.message : String(error)
|
|
4475
4646
|
);
|
|
@@ -4490,10 +4661,10 @@ You can either:
|
|
|
4490
4661
|
3. Get the index of all sales principles: get-sales-principle({})
|
|
4491
4662
|
|
|
4492
4663
|
Use maxTokens to keep responses focused (recommended: 5000\u201310000).`,
|
|
4493
|
-
inputSchema:
|
|
4494
|
-
topic:
|
|
4495
|
-
query:
|
|
4496
|
-
maxTokens:
|
|
4664
|
+
inputSchema: z7.object({
|
|
4665
|
+
topic: z7.string().trim().min(1).max(120).optional().describe("Specific sales topic or alias, e.g. sales-principles, ACERS, objection handling, champion enablement, or feature value."),
|
|
4666
|
+
query: z7.string().trim().min(1).max(500).optional().describe("Natural language description of the sales conversation, objection, or asset."),
|
|
4667
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates content to fit. Recommended: 5000-10000."),
|
|
4497
4668
|
context: CONTEXT_ARG
|
|
4498
4669
|
}),
|
|
4499
4670
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4521,7 +4692,7 @@ Use maxTokens to keep responses focused (recommended: 5000\u201310000).`,
|
|
|
4521
4692
|
"get-sales-principle",
|
|
4522
4693
|
{ query, topic, topResults: [], context },
|
|
4523
4694
|
start,
|
|
4524
|
-
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"
|
|
4695
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4525
4696
|
true,
|
|
4526
4697
|
error instanceof Error ? error.message : String(error)
|
|
4527
4698
|
);
|
|
@@ -4548,10 +4719,10 @@ You can either:
|
|
|
4548
4719
|
4. Get the full topic index: get-react-native-guide({})
|
|
4549
4720
|
|
|
4550
4721
|
Prefer query search when you do not know the topic name. Use maxTokens to keep responses focused (recommended: 5000\u201310000).`,
|
|
4551
|
-
inputSchema:
|
|
4552
|
-
topic:
|
|
4553
|
-
query:
|
|
4554
|
-
maxTokens:
|
|
4722
|
+
inputSchema: z7.object({
|
|
4723
|
+
topic: z7.string().trim().min(1).max(120).optional().describe("Specific React Native topic or alias, e.g. auth-session-recipes, chat-component-recipes, development-builds, official-expo-native-ui, official-eas-app-stores."),
|
|
4724
|
+
query: z7.string().trim().min(1).max(500).optional().describe("Natural language description of the React Native task or problem."),
|
|
4725
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates content to fit. Recommended: 5000-10000."),
|
|
4555
4726
|
context: CONTEXT_ARG
|
|
4556
4727
|
}),
|
|
4557
4728
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4581,7 +4752,7 @@ Prefer query search when you do not know the topic name. Use maxTokens to keep r
|
|
|
4581
4752
|
"get-react-native-guide",
|
|
4582
4753
|
{ query, topic, topResults: [], context },
|
|
4583
4754
|
start,
|
|
4584
|
-
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"
|
|
4755
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4585
4756
|
true,
|
|
4586
4757
|
error instanceof Error ? error.message : String(error)
|
|
4587
4758
|
);
|
|
@@ -4608,10 +4779,10 @@ You can either:
|
|
|
4608
4779
|
5. Get the full topic index: get-three-js-guide({})
|
|
4609
4780
|
|
|
4610
4781
|
Prefer query search when you do not know the topic name. Use maxTokens to keep responses focused (recommended: 5000-10000).`,
|
|
4611
|
-
inputSchema:
|
|
4612
|
-
topic:
|
|
4613
|
-
query:
|
|
4614
|
-
maxTokens:
|
|
4782
|
+
inputSchema: z7.object({
|
|
4783
|
+
topic: z7.string().trim().min(1).max(120).optional().describe("Specific Three.js topic or alias, e.g. fundamentals, shader-effects-recipes, drei-catalog, webgpu-and-tsl."),
|
|
4784
|
+
query: z7.string().trim().min(1).max(500).optional().describe("Natural language description of the Three.js or React Three Fiber task or problem."),
|
|
4785
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates content to fit. Recommended: 5000-10000."),
|
|
4615
4786
|
context: CONTEXT_ARG
|
|
4616
4787
|
}),
|
|
4617
4788
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4641,7 +4812,7 @@ Prefer query search when you do not know the topic name. Use maxTokens to keep r
|
|
|
4641
4812
|
"get-three-js-guide",
|
|
4642
4813
|
{ query, topic, topResults: [], context },
|
|
4643
4814
|
start,
|
|
4644
|
-
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"
|
|
4815
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4645
4816
|
true,
|
|
4646
4817
|
error instanceof Error ? error.message : String(error)
|
|
4647
4818
|
);
|
|
@@ -4665,10 +4836,10 @@ You can either:
|
|
|
4665
4836
|
4. Get the full topic index: get-shopify-guide({})
|
|
4666
4837
|
|
|
4667
4838
|
Prefer query search when you do not know the topic name. Run Shopify Theme Check after writing files. Use maxTokens to keep responses focused (recommended: 5000-10000).`,
|
|
4668
|
-
inputSchema:
|
|
4669
|
-
topic:
|
|
4670
|
-
query:
|
|
4671
|
-
maxTokens:
|
|
4839
|
+
inputSchema: z7.object({
|
|
4840
|
+
topic: z7.string().trim().min(1).max(120).optional().describe("Specific Shopify topic or alias, e.g. shopify-theme-architecture, shopify-liquid-language, shopify-sales-page, section-schema, localization, or theme-check."),
|
|
4841
|
+
query: z7.string().trim().min(1).max(500).optional().describe("Natural language description of the Shopify theme task, API, or validation error."),
|
|
4842
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates content to fit. Recommended: 5000-10000."),
|
|
4672
4843
|
context: CONTEXT_ARG
|
|
4673
4844
|
}),
|
|
4674
4845
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4698,7 +4869,7 @@ Prefer query search when you do not know the topic name. Run Shopify Theme Check
|
|
|
4698
4869
|
"get-shopify-guide",
|
|
4699
4870
|
{ query, topic, topResults: [], context },
|
|
4700
4871
|
start,
|
|
4701
|
-
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"
|
|
4872
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4702
4873
|
true,
|
|
4703
4874
|
error instanceof Error ? error.message : String(error)
|
|
4704
4875
|
);
|
|
@@ -4733,12 +4904,12 @@ You can either:
|
|
|
4733
4904
|
6. Get the full topic and component index: get-motion-guide({})
|
|
4734
4905
|
|
|
4735
4906
|
Prefer query search when you do not know the topic name. Use maxTokens to keep responses focused (recommended: 5000-10000).`,
|
|
4736
|
-
inputSchema:
|
|
4737
|
-
scaffold:
|
|
4738
|
-
component:
|
|
4739
|
-
topic:
|
|
4740
|
-
query:
|
|
4741
|
-
maxTokens:
|
|
4907
|
+
inputSchema: z7.object({
|
|
4908
|
+
scaffold: z7.boolean().optional().describe("Return a complete brand-aware Remotion product-demo project, as files to write. Start here when building a video."),
|
|
4909
|
+
component: z7.string().trim().min(1).max(80).optional().describe("A video component name, e.g. answer-stream, prompt-zoom, terminal-simulator, phone-frame, laptop-frame, text-reveal, word-captions, logo-assemble, follower-rush. Returns its source files, prop defaults, natural length and install command."),
|
|
4910
|
+
topic: z7.string().trim().min(1).max(120).optional().describe("Specific motion topic or alias, e.g. video-design-system, product-demo-brief, formats-and-safe-areas, product-interactions, captions-and-accessibility, remotion-resources, video-components, verifying-a-render."),
|
|
4911
|
+
query: z7.string().trim().min(1).max(500).optional().describe("Natural language description of the video or animation task or problem."),
|
|
4912
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens to return for guidance and the index. Truncates content to fit. Recommended: 5000-10000. Ignored by scaffold and component, which always return whole files."),
|
|
4742
4913
|
context: CONTEXT_ARG
|
|
4743
4914
|
}),
|
|
4744
4915
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4763,7 +4934,7 @@ This call also passed ${skipped.join(" and ")}. Only component was answered. Cal
|
|
|
4763
4934
|
{
|
|
4764
4935
|
content: [{
|
|
4765
4936
|
type: "text",
|
|
4766
|
-
text:
|
|
4937
|
+
text: text3
|
|
4767
4938
|
}]
|
|
4768
4939
|
}
|
|
4769
4940
|
);
|
|
@@ -4786,7 +4957,7 @@ ${file.contents}`
|
|
|
4786
4957
|
|
|
4787
4958
|
${MOTION_SCAFFOLD_STEPS}
|
|
4788
4959
|
|
|
4789
|
-
${files}
|
|
4960
|
+
${files}`
|
|
4790
4961
|
}
|
|
4791
4962
|
]
|
|
4792
4963
|
}
|
|
@@ -4803,10 +4974,10 @@ ${files}${principleLinkFooter([principlePageUrl("motion")])}`
|
|
|
4803
4974
|
{ topic, query, maxTokens }
|
|
4804
4975
|
);
|
|
4805
4976
|
if (!topic && !query) {
|
|
4806
|
-
const joined = response.content.map((block) =>
|
|
4977
|
+
const joined = response.content.map((block) => block.text).concat(formatVideoComponentIndex()).join("\n\n");
|
|
4807
4978
|
response.content = [{
|
|
4808
4979
|
type: "text",
|
|
4809
|
-
text:
|
|
4980
|
+
text: fitTokens(joined, maxTokens)
|
|
4810
4981
|
}];
|
|
4811
4982
|
}
|
|
4812
4983
|
return trackSearch(track, "get-motion-guide", { ...capture, context }, start, response);
|
|
@@ -4816,7 +4987,7 @@ ${files}${principleLinkFooter([principlePageUrl("motion")])}`
|
|
|
4816
4987
|
"get-motion-guide",
|
|
4817
4988
|
{ query, topic, topResults: [], context },
|
|
4818
4989
|
start,
|
|
4819
|
-
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"
|
|
4990
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4820
4991
|
true,
|
|
4821
4992
|
error instanceof Error ? error.message : String(error)
|
|
4822
4993
|
);
|
|
@@ -4840,10 +5011,10 @@ You can either:
|
|
|
4840
5011
|
4. Get the full topic index: get-swiftui-guide({})
|
|
4841
5012
|
|
|
4842
5013
|
Prefer query search when you do not know the topic name. Use maxTokens to keep responses focused (recommended: 5000-10000).`,
|
|
4843
|
-
inputSchema:
|
|
4844
|
-
topic:
|
|
4845
|
-
query:
|
|
4846
|
-
maxTokens:
|
|
5014
|
+
inputSchema: z7.object({
|
|
5015
|
+
topic: z7.string().trim().min(1).max(120).optional().describe("Specific SwiftUI topic or alias, e.g. swiftui-ripple-refraction."),
|
|
5016
|
+
query: z7.string().trim().min(1).max(500).optional().describe("Natural language description of the SwiftUI task or problem."),
|
|
5017
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates content to fit. Recommended: 5000-10000."),
|
|
4847
5018
|
context: CONTEXT_ARG
|
|
4848
5019
|
}),
|
|
4849
5020
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4873,7 +5044,7 @@ Prefer query search when you do not know the topic name. Use maxTokens to keep r
|
|
|
4873
5044
|
"get-swiftui-guide",
|
|
4874
5045
|
{ query, topic, topResults: [], context },
|
|
4875
5046
|
start,
|
|
4876
|
-
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"
|
|
5047
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4877
5048
|
true,
|
|
4878
5049
|
error instanceof Error ? error.message : String(error)
|
|
4879
5050
|
);
|
|
@@ -4885,9 +5056,9 @@ Prefer query search when you do not know the topic name. Use maxTokens to keep r
|
|
|
4885
5056
|
{
|
|
4886
5057
|
title: "Get Code Review Rules",
|
|
4887
5058
|
description: REVIEW_RULES_DESCRIPTION,
|
|
4888
|
-
inputSchema:
|
|
4889
|
-
category:
|
|
4890
|
-
maxTokens:
|
|
5059
|
+
inputSchema: z7.object({
|
|
5060
|
+
category: z7.enum(REVIEW_RULE_CATEGORIES).optional().describe("Filter rules by category (defaults to 'all')"),
|
|
5061
|
+
maxTokens: z7.number().min(500).max(5e4).optional().describe("Maximum tokens of rule content. Required workflow guidance is returned in full outside this budget. Recommended: 5000\u201310000."),
|
|
4891
5062
|
context: CONTEXT_ARG
|
|
4892
5063
|
}),
|
|
4893
5064
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -4914,7 +5085,7 @@ Prefer query search when you do not know the topic name. Use maxTokens to keep r
|
|
|
4914
5085
|
type: "text",
|
|
4915
5086
|
text: `${RENDERED_REVIEW_DIRECTIVE}
|
|
4916
5087
|
|
|
4917
|
-
No review rules found. Rule retrieval is incomplete; do not report a passed review.${teamSection}
|
|
5088
|
+
No review rules found. Rule retrieval is incomplete; do not report a passed review.${teamSection}`
|
|
4918
5089
|
}]
|
|
4919
5090
|
}
|
|
4920
5091
|
);
|
|
@@ -4924,14 +5095,13 @@ No review rules found. Rule retrieval is incomplete; do not report a passed revi
|
|
|
4924
5095
|
${rule.content}`).join("\n\n---\n\n");
|
|
4925
5096
|
const preamble = guidancePreamble(session2.topics, "the build", sections);
|
|
4926
5097
|
const ruleContent = maxTokens ? truncateToTokens(rulesOutput, maxTokens) : rulesOutput;
|
|
4927
|
-
|
|
5098
|
+
const text3 = `# Code Review Rules
|
|
4928
5099
|
|
|
4929
5100
|
${preamble ? `${preamble}
|
|
4930
5101
|
|
|
4931
5102
|
` : ""}${RENDERED_REVIEW_DIRECTIVE}
|
|
4932
5103
|
|
|
4933
5104
|
${ruleContent}${teamSection}`;
|
|
4934
|
-
text3 += principleLinkFooter([reviewRulesReferralUrl(APP_BASE_URL)]);
|
|
4935
5105
|
return trackSearch(
|
|
4936
5106
|
track,
|
|
4937
5107
|
"get-review-rules",
|
|
@@ -4945,12 +5115,7 @@ ${ruleContent}${teamSection}`;
|
|
|
4945
5115
|
"get-review-rules",
|
|
4946
5116
|
{ query: category, topic: category, topResults: [], context },
|
|
4947
5117
|
start,
|
|
4948
|
-
|
|
4949
|
-
content: [{
|
|
4950
|
-
type: "text",
|
|
4951
|
-
text: `Error: ${error instanceof Error ? error.message : "Unknown error"}${principleLinkFooter([reviewRulesReferralUrl(APP_BASE_URL)])}`
|
|
4952
|
-
}]
|
|
4953
|
-
},
|
|
5118
|
+
principleErrorResponse(error instanceof Error ? error.message : "Unknown error"),
|
|
4954
5119
|
true,
|
|
4955
5120
|
error instanceof Error ? error.message : String(error)
|
|
4956
5121
|
);
|
|
@@ -4958,14 +5123,13 @@ ${ruleContent}${teamSection}`;
|
|
|
4958
5123
|
}
|
|
4959
5124
|
);
|
|
4960
5125
|
}
|
|
4961
|
-
var SEARCH_RESULT_PREVIEW_CHARS, GUIDE_AREAS,
|
|
5126
|
+
var SEARCH_RESULT_PREVIEW_CHARS, GUIDE_AREAS, fitTokens, RENDERED_REVIEW_DIRECTIVE;
|
|
4962
5127
|
var init_principle_tools = __esm({
|
|
4963
5128
|
"../shared/src/mcp/tools/principle-tools.ts"() {
|
|
4964
5129
|
"use strict";
|
|
4965
5130
|
init_motion_scaffold();
|
|
4966
5131
|
init_video_components();
|
|
4967
5132
|
init_topic_utils();
|
|
4968
|
-
init_public_paths();
|
|
4969
5133
|
init_review_rules_description();
|
|
4970
5134
|
init_shared();
|
|
4971
5135
|
init_team_rules_tools();
|
|
@@ -4979,7 +5143,6 @@ var init_principle_tools = __esm({
|
|
|
4979
5143
|
"swiftui",
|
|
4980
5144
|
"three-js"
|
|
4981
5145
|
]);
|
|
4982
|
-
PRINCIPLE_FOOTER_SEPARATOR = "\n\n---\n\nFull principle:";
|
|
4983
5146
|
fitTokens = (text3, maxTokens) => maxTokens ? truncateToTokens(text3, maxTokens) : text3;
|
|
4984
5147
|
RENDERED_REVIEW_DIRECTIVE = `${REDESIGN_SCOPE_CONTRACT}
|
|
4985
5148
|
|
|
@@ -5025,6 +5188,15 @@ function redactSecrets(value) {
|
|
|
5025
5188
|
for (const pattern of PHONE_PATTERNS) out = out.replace(pattern, "[redacted-phone]");
|
|
5026
5189
|
return out;
|
|
5027
5190
|
}
|
|
5191
|
+
function redactUrl(raw) {
|
|
5192
|
+
try {
|
|
5193
|
+
const u = new URL(raw);
|
|
5194
|
+
if (u.protocol !== "http:" && u.protocol !== "https:") return "[redacted]";
|
|
5195
|
+
return `${u.origin}${u.pathname}`;
|
|
5196
|
+
} catch {
|
|
5197
|
+
return "[redacted]";
|
|
5198
|
+
}
|
|
5199
|
+
}
|
|
5028
5200
|
var SECRET_PATTERNS, EMAIL_PATTERN, CARD_CANDIDATE_PATTERN, PHONE_PATTERNS;
|
|
5029
5201
|
var init_redact = __esm({
|
|
5030
5202
|
"../shared/src/redact.ts"() {
|
|
@@ -5053,7 +5225,7 @@ var init_redact = __esm({
|
|
|
5053
5225
|
// Authorization headers separate the scheme from the token with a space.
|
|
5054
5226
|
/\b(?:bearer|basic|token)\s+[A-Za-z0-9._~+/-]{12,}=*/gi
|
|
5055
5227
|
];
|
|
5056
|
-
EMAIL_PATTERN =
|
|
5228
|
+
EMAIL_PATTERN = /(?<![A-Za-z0-9._%+-])[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
|
|
5057
5229
|
CARD_CANDIDATE_PATTERN = /\b(?:\d[ -]?){12,18}\d\b/g;
|
|
5058
5230
|
PHONE_PATTERNS = [
|
|
5059
5231
|
/\+\d[\d\s().-]{7,17}\d/g,
|
|
@@ -5063,7 +5235,7 @@ var init_redact = __esm({
|
|
|
5063
5235
|
});
|
|
5064
5236
|
|
|
5065
5237
|
// ../shared/src/review-capture.ts
|
|
5066
|
-
import { z as
|
|
5238
|
+
import { z as z8 } from "zod";
|
|
5067
5239
|
function toRedactedJson(args) {
|
|
5068
5240
|
const text3 = JSON.stringify(args, (_key, value) => isString(value) ? redactSecrets(value) : value);
|
|
5069
5241
|
return jsonObject.parse(JSON.parse(text3));
|
|
@@ -5074,7 +5246,7 @@ var init_review_capture = __esm({
|
|
|
5074
5246
|
"use strict";
|
|
5075
5247
|
init_guards();
|
|
5076
5248
|
init_redact();
|
|
5077
|
-
jsonObject =
|
|
5249
|
+
jsonObject = z8.record(z8.string(), z8.json());
|
|
5078
5250
|
}
|
|
5079
5251
|
});
|
|
5080
5252
|
|
|
@@ -5552,7 +5724,7 @@ var init_comprehension = __esm({
|
|
|
5552
5724
|
});
|
|
5553
5725
|
|
|
5554
5726
|
// ../shared/src/mcp/tools/comprehension-tools.ts
|
|
5555
|
-
import { z as
|
|
5727
|
+
import { z as z9 } from "zod";
|
|
5556
5728
|
function registerComprehensionTools({ server, provider, track, userId }) {
|
|
5557
5729
|
server.registerTool(
|
|
5558
5730
|
"check-comprehension",
|
|
@@ -5572,13 +5744,13 @@ Pass either the copy or the markup:
|
|
|
5572
5744
|
- check-comprehension({ screen: "Billing page", code: "<section>\u2026the JSX you wrote\u2026</section>" })
|
|
5573
5745
|
|
|
5574
5746
|
Use knownTerms for words your audience genuinely knows, so the check stops flagging them. Fix every critical and serious finding, then call this again on the rewritten copy.`,
|
|
5575
|
-
inputSchema:
|
|
5576
|
-
screen:
|
|
5577
|
-
headline:
|
|
5578
|
-
body:
|
|
5579
|
-
actions:
|
|
5580
|
-
code:
|
|
5581
|
-
knownTerms:
|
|
5747
|
+
inputSchema: z9.object({
|
|
5748
|
+
screen: z9.string().trim().min(1).max(120).describe("What this screen is, e.g. 'lesson end card', 'billing page'."),
|
|
5749
|
+
headline: z9.string().trim().max(300).optional().describe("The screen's title, if you are passing copy rather than markup."),
|
|
5750
|
+
body: z9.array(z9.string().trim().min(1).max(2e3)).max(50).optional().describe("Supporting copy, one string per visible line or paragraph."),
|
|
5751
|
+
actions: z9.array(z9.string().trim().min(1).max(120)).max(20).optional().describe("Visible button and link labels, e.g. ['Claim badge', 'Not now']."),
|
|
5752
|
+
code: z9.string().max(6e4).optional().describe("JSX, TSX or HTML for the screen. Copy is extracted from it when headline/body/actions are omitted."),
|
|
5753
|
+
knownTerms: z9.array(z9.string().trim().min(1).max(60)).max(50).optional().describe("Words this audience already knows, so they are not flagged as insider language."),
|
|
5582
5754
|
context: CONTEXT_ARG
|
|
5583
5755
|
}),
|
|
5584
5756
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -5769,7 +5941,7 @@ var init_icon_installer = __esm({
|
|
|
5769
5941
|
});
|
|
5770
5942
|
|
|
5771
5943
|
// ../shared/src/mcp/tools/icon-tools.ts
|
|
5772
|
-
import { z as
|
|
5944
|
+
import { z as z10 } from "zod";
|
|
5773
5945
|
function registerIconTools({ server, provider, tracked, track }) {
|
|
5774
5946
|
const iconLibraryConfig = {
|
|
5775
5947
|
title: "Find Icon Library",
|
|
@@ -5784,8 +5956,8 @@ Examples:
|
|
|
5784
5956
|
- "minimal clean professional" \u2192 Iconoir, Feather Icons
|
|
5785
5957
|
- "friendly rounded warm" \u2192 Phosphor, MingCute
|
|
5786
5958
|
- "bold technical enterprise" \u2192 Tabler, Carbon`,
|
|
5787
|
-
inputSchema:
|
|
5788
|
-
query:
|
|
5959
|
+
inputSchema: z10.object({
|
|
5960
|
+
query: z10.string().describe("Style description or personality traits to match.")
|
|
5789
5961
|
}),
|
|
5790
5962
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
5791
5963
|
};
|
|
@@ -5858,10 +6030,10 @@ Examples:
|
|
|
5858
6030
|
- find-icons({ query: "settings", libraryId: "tabler" })
|
|
5859
6031
|
|
|
5860
6032
|
Every name returned exists in the library, so pass them to \`install-icons\` verbatim. A \`variant\` only re-orders the results, putting the names that carry that variant first; it never rewrites a name.`,
|
|
5861
|
-
inputSchema:
|
|
5862
|
-
query:
|
|
5863
|
-
libraryId:
|
|
5864
|
-
variant:
|
|
6033
|
+
inputSchema: z10.object({
|
|
6034
|
+
query: z10.string().describe("What icon you need (e.g., 'home', 'settings', 'user')"),
|
|
6035
|
+
libraryId: z10.string().describe("The icon library ID from find-icon-library"),
|
|
6036
|
+
variant: z10.string().optional().describe("Optional variant style (e.g., 'bold', 'outline', 'duotone').")
|
|
5865
6037
|
}),
|
|
5866
6038
|
// Searches the public Iconify API; it does not change the icon catalog.
|
|
5867
6039
|
annotations: READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS
|
|
@@ -5940,12 +6112,12 @@ import { HomeIcon } from "@/components/icons";
|
|
|
5940
6112
|
\`\`\`
|
|
5941
6113
|
|
|
5942
6114
|
If \`components/icons/index.ts\` already exists in the project, MERGE the new exports into it rather than overwriting.`,
|
|
5943
|
-
inputSchema:
|
|
5944
|
-
libraryId:
|
|
5945
|
-
names:
|
|
5946
|
-
targetDir:
|
|
5947
|
-
format:
|
|
5948
|
-
variant:
|
|
6115
|
+
inputSchema: z10.object({
|
|
6116
|
+
libraryId: z10.string().describe("Icon library ID from find-icon-library (e.g. 'tabler', 'phosphor')."),
|
|
6117
|
+
names: z10.array(z10.string()).min(1).describe("Icon names to install. May be bare (e.g. 'home') or prefixed (e.g. 'tabler:home')."),
|
|
6118
|
+
targetDir: z10.string().optional().describe("Directory inside the project to write into. Defaults to 'components/icons'."),
|
|
6119
|
+
format: z10.enum(["tsx", "svg"]).optional().describe("Output format. 'tsx' (default) generates React components; 'svg' generates raw .svg files."),
|
|
6120
|
+
variant: z10.string().optional().describe("Optional library variant (e.g. 'outline', 'filled')."),
|
|
5949
6121
|
context: CONTEXT_ARG
|
|
5950
6122
|
}),
|
|
5951
6123
|
// Fetching Iconify SVGs and returning file text has no stored effect.
|
|
@@ -6151,8 +6323,8 @@ Call this BEFORE find-icon-library / install-icons. If a library is already lock
|
|
|
6151
6323
|
Returns either:
|
|
6152
6324
|
- The locked library info + installed icon list, with a hint to call install-icons using that libraryId, OR
|
|
6153
6325
|
- A "no library detected" response, prompting the agent to call find-icon-library normally.`,
|
|
6154
|
-
inputSchema:
|
|
6155
|
-
manifestContent:
|
|
6326
|
+
inputSchema: z10.object({
|
|
6327
|
+
manifestContent: z10.string().optional().describe("Contents of the project's components/icons/.library.json file, if it exists. The agent should attempt to read this file from disk and pass it here. If the file doesn't exist or can't be read, omit this field."),
|
|
6156
6328
|
context: CONTEXT_ARG
|
|
6157
6329
|
}),
|
|
6158
6330
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -7320,7 +7492,7 @@ var init_dtcg = __esm({
|
|
|
7320
7492
|
});
|
|
7321
7493
|
|
|
7322
7494
|
// ../shared/src/mcp/mobile-primitives.ts
|
|
7323
|
-
import { z as
|
|
7495
|
+
import { z as z11 } from "zod";
|
|
7324
7496
|
function parseMobilePrimitiveSet(value) {
|
|
7325
7497
|
const parsed = mobilePrimitiveSetSchema.safeParse(value);
|
|
7326
7498
|
return parsed.success ? parsed.data : null;
|
|
@@ -7330,41 +7502,41 @@ var init_mobile_primitives = __esm({
|
|
|
7330
7502
|
"../shared/src/mcp/mobile-primitives.ts"() {
|
|
7331
7503
|
"use strict";
|
|
7332
7504
|
MOBILE_PRIMITIVE_CONTRACT_VERSION = 1;
|
|
7333
|
-
mobileTargetSchema =
|
|
7334
|
-
nativeShadowSchema =
|
|
7335
|
-
shadowColor:
|
|
7336
|
-
shadowOffset:
|
|
7337
|
-
shadowOpacity:
|
|
7338
|
-
shadowRadius:
|
|
7505
|
+
mobileTargetSchema = z11.enum(["react-native", "swiftui"]);
|
|
7506
|
+
nativeShadowSchema = z11.object({
|
|
7507
|
+
shadowColor: z11.string().min(1),
|
|
7508
|
+
shadowOffset: z11.object({ width: z11.number(), height: z11.number() }),
|
|
7509
|
+
shadowOpacity: z11.number().min(0).max(1),
|
|
7510
|
+
shadowRadius: z11.number().min(0),
|
|
7339
7511
|
/** Android paints elevation instead of a shadow; SwiftUI ignores it. */
|
|
7340
|
-
elevation:
|
|
7512
|
+
elevation: z11.number().min(0)
|
|
7341
7513
|
});
|
|
7342
|
-
nativeValueSchema =
|
|
7343
|
-
identityDeclarationSchema =
|
|
7344
|
-
component:
|
|
7345
|
-
variant:
|
|
7346
|
-
property:
|
|
7514
|
+
nativeValueSchema = z11.union([z11.number(), z11.string(), nativeShadowSchema]);
|
|
7515
|
+
identityDeclarationSchema = z11.object({
|
|
7516
|
+
component: z11.string().min(1),
|
|
7517
|
+
variant: z11.string().optional(),
|
|
7518
|
+
property: z11.string().min(1),
|
|
7347
7519
|
value: nativeValueSchema
|
|
7348
7520
|
});
|
|
7349
|
-
mobileFileSchema =
|
|
7350
|
-
path:
|
|
7351
|
-
content:
|
|
7521
|
+
mobileFileSchema = z11.object({
|
|
7522
|
+
path: z11.string().min(1),
|
|
7523
|
+
content: z11.string().min(1)
|
|
7352
7524
|
});
|
|
7353
|
-
mobilePrimitiveSetSchema =
|
|
7354
|
-
contractVersion:
|
|
7525
|
+
mobilePrimitiveSetSchema = z11.object({
|
|
7526
|
+
contractVersion: z11.literal(MOBILE_PRIMITIVE_CONTRACT_VERSION),
|
|
7355
7527
|
target: mobileTargetSchema,
|
|
7356
7528
|
/** The token sheet the set compiled from, kept so a reviewer can diff it. */
|
|
7357
|
-
tokensCss:
|
|
7529
|
+
tokensCss: z11.string().min(1),
|
|
7358
7530
|
/** The system's own material, lifted from its component source. */
|
|
7359
|
-
identity:
|
|
7531
|
+
identity: z11.array(identityDeclarationSchema),
|
|
7360
7532
|
/** Web primitives the extraction could carry, mirroring the Shopify field. */
|
|
7361
|
-
coveredSourcePrimitives:
|
|
7533
|
+
coveredSourcePrimitives: z11.array(z11.string()),
|
|
7362
7534
|
/** Tokens the compiler could not carry to a phone, with the scheme they came from. */
|
|
7363
|
-
unsupportedTokens:
|
|
7364
|
-
|
|
7535
|
+
unsupportedTokens: z11.array(
|
|
7536
|
+
z11.object({ name: z11.string(), value: z11.string(), mode: z11.enum(["light", "dark"]) })
|
|
7365
7537
|
),
|
|
7366
7538
|
/** The files a developer takes away, read verbatim on request. */
|
|
7367
|
-
files:
|
|
7539
|
+
files: z11.array(mobileFileSchema).min(1)
|
|
7368
7540
|
});
|
|
7369
7541
|
}
|
|
7370
7542
|
});
|
|
@@ -13137,7 +13309,7 @@ var init_shopify_accordion = __esm({
|
|
|
13137
13309
|
});
|
|
13138
13310
|
|
|
13139
13311
|
// ../shared/src/mcp/shopify-primitives.ts
|
|
13140
|
-
import { z as
|
|
13312
|
+
import { z as z12 } from "zod";
|
|
13141
13313
|
function exportedStringConstants(files) {
|
|
13142
13314
|
const constants2 = /* @__PURE__ */ new Map();
|
|
13143
13315
|
const declaration = /export\s+const\s+([A-Za-z_$][\w$]*)(?:\s*:[^=;]+)?\s*=\s*([\s\S]*?);/g;
|
|
@@ -13252,41 +13424,41 @@ var init_shopify_primitives = __esm({
|
|
|
13252
13424
|
init_shopify_icons();
|
|
13253
13425
|
SHOPIFY_PRIMITIVE_CONTRACT_VERSION = 1;
|
|
13254
13426
|
SHOPIFY_ICON_MATERIAL_VERSION = 2;
|
|
13255
|
-
shopifyThemeFileSchema =
|
|
13256
|
-
path:
|
|
13257
|
-
content:
|
|
13427
|
+
shopifyThemeFileSchema = z12.object({
|
|
13428
|
+
path: z12.string().min(1),
|
|
13429
|
+
content: z12.string().min(1)
|
|
13258
13430
|
});
|
|
13259
13431
|
primitiveFields = {
|
|
13260
|
-
tokensCss:
|
|
13261
|
-
componentMaterialCss:
|
|
13262
|
-
coveredSourcePrimitives:
|
|
13263
|
-
sourcePrimitivesWithShopifyAdapters:
|
|
13264
|
-
themeFiles:
|
|
13265
|
-
};
|
|
13266
|
-
iconLibrarySchema =
|
|
13267
|
-
id:
|
|
13268
|
-
name:
|
|
13269
|
-
prefix:
|
|
13270
|
-
variant:
|
|
13271
|
-
provenance:
|
|
13272
|
-
conflict:
|
|
13432
|
+
tokensCss: z12.string().min(1),
|
|
13433
|
+
componentMaterialCss: z12.string(),
|
|
13434
|
+
coveredSourcePrimitives: z12.array(z12.string()),
|
|
13435
|
+
sourcePrimitivesWithShopifyAdapters: z12.array(z12.string()),
|
|
13436
|
+
themeFiles: z12.array(shopifyThemeFileSchema).min(1)
|
|
13437
|
+
};
|
|
13438
|
+
iconLibrarySchema = z12.object({
|
|
13439
|
+
id: z12.string().min(1),
|
|
13440
|
+
name: z12.string().min(1),
|
|
13441
|
+
prefix: z12.string().min(1),
|
|
13442
|
+
variant: z12.string().min(1),
|
|
13443
|
+
provenance: z12.enum(["explicit", "iconify-source", "fallback"]),
|
|
13444
|
+
conflict: z12.object({ declared: z12.string(), detected: z12.string() }).optional()
|
|
13273
13445
|
});
|
|
13274
|
-
currentShopifyPrimitiveSetSchema =
|
|
13446
|
+
currentShopifyPrimitiveSetSchema = z12.object({
|
|
13275
13447
|
...primitiveFields,
|
|
13276
|
-
contractVersion:
|
|
13277
|
-
iconMaterialVersion:
|
|
13448
|
+
contractVersion: z12.literal(SHOPIFY_PRIMITIVE_CONTRACT_VERSION),
|
|
13449
|
+
iconMaterialVersion: z12.literal(SHOPIFY_ICON_MATERIAL_VERSION),
|
|
13278
13450
|
iconLibrary: iconLibrarySchema
|
|
13279
13451
|
});
|
|
13280
|
-
shopifyPrimitiveSetSchema =
|
|
13452
|
+
shopifyPrimitiveSetSchema = z12.union([
|
|
13281
13453
|
currentShopifyPrimitiveSetSchema,
|
|
13282
|
-
|
|
13454
|
+
z12.object({ ...primitiveFields, contractVersion: z12.literal(1), iconMaterialVersion: z12.undefined().optional(), iconLibrary: z12.undefined().optional() })
|
|
13283
13455
|
]);
|
|
13284
13456
|
localImport = /(^|\n)(\s*import\s*\{([^}]*)\}\s*from\s*["']\.\.?\/[^"']+["'];?)/g;
|
|
13285
13457
|
}
|
|
13286
13458
|
});
|
|
13287
13459
|
|
|
13288
13460
|
// ../shared/src/mcp/catalog-tokens.ts
|
|
13289
|
-
import { z as
|
|
13461
|
+
import { z as z13 } from "zod";
|
|
13290
13462
|
function inventoryFromRegistryDependencies(dependencies) {
|
|
13291
13463
|
const inventory = { components: [], foundations: [] };
|
|
13292
13464
|
for (const dependency of dependencies) {
|
|
@@ -13358,16 +13530,16 @@ var init_catalog_tokens = __esm({
|
|
|
13358
13530
|
"use strict";
|
|
13359
13531
|
init_preview_html();
|
|
13360
13532
|
init_shared();
|
|
13361
|
-
REGISTRY_ITEM_SCHEMA =
|
|
13362
|
-
cssVars:
|
|
13363
|
-
light:
|
|
13364
|
-
dark:
|
|
13365
|
-
theme:
|
|
13533
|
+
REGISTRY_ITEM_SCHEMA = z13.object({
|
|
13534
|
+
cssVars: z13.object({
|
|
13535
|
+
light: z13.record(z13.string(), z13.string()).optional(),
|
|
13536
|
+
dark: z13.record(z13.string(), z13.string()).optional(),
|
|
13537
|
+
theme: z13.record(z13.string(), z13.string()).optional()
|
|
13366
13538
|
}).optional(),
|
|
13367
|
-
files:
|
|
13539
|
+
files: z13.array(z13.object({ path: z13.string().optional(), content: z13.string().optional() })).optional()
|
|
13368
13540
|
});
|
|
13369
|
-
REGISTRY_ALL_SCHEMA =
|
|
13370
|
-
registryDependencies:
|
|
13541
|
+
REGISTRY_ALL_SCHEMA = z13.object({
|
|
13542
|
+
registryDependencies: z13.array(z13.string())
|
|
13371
13543
|
});
|
|
13372
13544
|
FOUNDATION_ENTRY = /^(?:_shared|globals|utils|use-.+|.+-utils|sonner|toaster|sound-provider|haptics-provider|stagger-fade-in)$/;
|
|
13373
13545
|
CATALOG_KIT_COMPONENTS = ["button", "input", "card", "badge", "switch"];
|
|
@@ -13375,7 +13547,7 @@ var init_catalog_tokens = __esm({
|
|
|
13375
13547
|
});
|
|
13376
13548
|
|
|
13377
13549
|
// ../shared/src/mcp/tools/design-system-tools.ts
|
|
13378
|
-
import { z as
|
|
13550
|
+
import { z as z14 } from "zod";
|
|
13379
13551
|
function installCommandWithInit(installCommand) {
|
|
13380
13552
|
return `${SHADCN_INIT_IF_MISSING}
|
|
13381
13553
|
|
|
@@ -13502,8 +13674,8 @@ function registerDesignSystemTools({
|
|
|
13502
13674
|
authContext,
|
|
13503
13675
|
apiFetch = globalThis.fetch
|
|
13504
13676
|
}, { enableShopifyKit = true, enableMobileKits = true } = {}) {
|
|
13505
|
-
const searchInputSchema =
|
|
13506
|
-
query:
|
|
13677
|
+
const searchInputSchema = z14.object({
|
|
13678
|
+
query: z14.string().describe(
|
|
13507
13679
|
"The user's app, UI, industry, or visual direction. Examples: 'World Cup betting app for friends', 'warm editorial ecommerce', or 'professional fintech dashboard'."
|
|
13508
13680
|
)
|
|
13509
13681
|
});
|
|
@@ -13981,9 +14153,9 @@ existing setup; otherwise use the default Base UI. Both flavors install to the
|
|
|
13981
14153
|
same components/ui/ paths.
|
|
13982
14154
|
|
|
13983
14155
|
${BUILD_TARGET_RULE}`,
|
|
13984
|
-
inputSchema:
|
|
14156
|
+
inputSchema: z14.object({
|
|
13985
14157
|
// Off-pilot callers must not see the target at all, not merely be refused it.
|
|
13986
|
-
target:
|
|
14158
|
+
target: z14.enum(
|
|
13987
14159
|
// SAFETY: at least the three open targets are always present.
|
|
13988
14160
|
[
|
|
13989
14161
|
"react",
|
|
@@ -13993,10 +14165,10 @@ ${BUILD_TARGET_RULE}`,
|
|
|
13993
14165
|
...enableMobileKits ? ["react-native", "swiftui"] : []
|
|
13994
14166
|
]
|
|
13995
14167
|
).describe(`Required build target. Use "react" for any host with filesystem + terminal; use "html" only for inline chat canvases/artifacts.${enableShopifyKit ? ' Use "shopify" for Shopify stores and themes.' : ""} Use "dtcg" to hand the tokens to a design tool: it returns a W3C Design Tokens document for Style Dictionary, Tokens Studio, Terrazzo, or a Figma plugin that creates variables. ${enableMobileKits ? ` Use "react-native" for a React Native or Expo app and "swiftui" for an iOS app: each returns this system's stored mobile kit, its own material on native primitives, plus the handoff to the matching guide.` : ""}`),
|
|
13996
|
-
designSystemId:
|
|
13997
|
-
projectId:
|
|
13998
|
-
component:
|
|
13999
|
-
library:
|
|
14168
|
+
designSystemId: z14.string().min(1).optional().describe(`Catalog design system ID from find-design-system. Required for target react; for every other target pass this or projectId.`),
|
|
14169
|
+
projectId: z14.string().min(1).optional().describe(`Generated project ID from create-design-system / get-design-system-status. Supported with every target but react.`),
|
|
14170
|
+
component: z14.union([z14.string(), z14.array(z14.string())]).optional().describe("React target only. Pass only when the user asks to inspect specific component source code. Omit to scaffold the entire design system."),
|
|
14171
|
+
library: z14.enum(["radix", "base-ui"]).optional().describe('React target only, default "base-ui". Pass "radix" when the project already uses Radix primitives.'),
|
|
14000
14172
|
context: CONTEXT_ARG
|
|
14001
14173
|
}),
|
|
14002
14174
|
outputSchema: buildKitOutputSchema(enableShopifyKit),
|
|
@@ -14246,10 +14418,10 @@ How it works:
|
|
|
14246
14418
|
3. Call \`get-design-system-status\` with the returned project id (wait ~60 seconds first) to get the live preview URL and the final \`npx shadcn add <registry-url>\` install command once it completes.
|
|
14247
14419
|
|
|
14248
14420
|
Share the project URL with the user right away so they can watch the generation live. Generated source, tokens, and previews are accessible without signing in to anyone with their registry or preview URL.`,
|
|
14249
|
-
inputSchema:
|
|
14250
|
-
prompt:
|
|
14251
|
-
baseDesignSystemId:
|
|
14252
|
-
brandCss:
|
|
14421
|
+
inputSchema: z14.object({
|
|
14422
|
+
prompt: z14.string().min(1).max(1e4).describe("Describe the design system the user wants. E.g. 'A warm, minimal design system for a personal finance app, soft pastels, rounded corners' or 'A brutalist developer tool aesthetic with sharp edges and monospace type'."),
|
|
14423
|
+
baseDesignSystemId: z14.string().optional().describe("Optional. The catalog id the USER picked from the `find-design-system` matches you showed them, used to bias generation toward that aesthetic (e.g. a theme tweak on top of Linear). Leave empty only when the user chose fully custom."),
|
|
14424
|
+
brandCss: z14.string().max(5e4).optional().describe("Optional. The user's extracted brand token sheet, verbatim: the fenced css block from extract-design-system / extract-from-url (`:root { --background: ...; }` plus optional `.dark { ... }`). When set, generation builds FROM this brand instead of a catalog look-alike, and baseDesignSystemId is ignored (a catalog base would leak its identity past the brand tokens).")
|
|
14253
14425
|
}),
|
|
14254
14426
|
// Each call starts a new generation and returns a new project id, so it
|
|
14255
14427
|
// writes and is not idempotent. It only adds a project, never replaces or
|
|
@@ -14421,8 +14593,8 @@ Check again in ~30 seconds. Watch it live on the project page: ${projectUrl}` }]
|
|
|
14421
14593
|
const statusConfig = {
|
|
14422
14594
|
title: "Get Design System Generation Status",
|
|
14423
14595
|
description: `Check on a design system generation started with 'create-design-system'. Returns progress while generating, and the live preview URL + the \`npx shadcn add\` install command once complete. Generation typically takes 1-3 minutes; poll every ~30 seconds until it reports ready. Once ready, ask the user what's next (icon library, install, or build) instead of stopping.`,
|
|
14424
|
-
inputSchema:
|
|
14425
|
-
projectId:
|
|
14596
|
+
inputSchema: z14.object({
|
|
14597
|
+
projectId: z14.string().min(1).describe("The project id returned by create-design-system."),
|
|
14426
14598
|
context: CONTEXT_ARG
|
|
14427
14599
|
}),
|
|
14428
14600
|
outputSchema: PREVIEW_OUTPUT_SCHEMA.extend({
|
|
@@ -14447,8 +14619,8 @@ Check again in ~30 seconds. Watch it live on the project page: ${projectUrl}` }]
|
|
|
14447
14619
|
{
|
|
14448
14620
|
title: "Preview a Design System",
|
|
14449
14621
|
description: `Show the user a visual preview of a design system from the catalog (use the id from 'find-design-system'). Returns a token-true HTML preview: palette, typography, buttons, card, input, badge, plus a link to the full live showcase. Use this when the user wants to SEE a design system before installing it.`,
|
|
14450
|
-
inputSchema:
|
|
14451
|
-
designSystemId:
|
|
14622
|
+
inputSchema: z14.object({
|
|
14623
|
+
designSystemId: z14.string().min(1).describe("Design system id from find-design-system, e.g. 'linear', 'editorial-warm'."),
|
|
14452
14624
|
context: CONTEXT_ARG
|
|
14453
14625
|
}),
|
|
14454
14626
|
outputSchema: PREVIEW_OUTPUT_SCHEMA,
|
|
@@ -14522,13 +14694,13 @@ var init_design_system_tools = __esm({
|
|
|
14522
14694
|
init_catalog_tokens();
|
|
14523
14695
|
SHADCN_INIT_IF_MISSING = "[ -f components.json ] || npx shadcn@latest init -d -y";
|
|
14524
14696
|
SAFE_COMPONENT_NAME_RE = /^[a-z0-9][a-z0-9-]*$/i;
|
|
14525
|
-
DS_INDEX_SCHEMA =
|
|
14526
|
-
baseComponents:
|
|
14697
|
+
DS_INDEX_SCHEMA = z14.object({
|
|
14698
|
+
baseComponents: z14.array(z14.object({ name: z14.string() })).optional()
|
|
14527
14699
|
});
|
|
14528
14700
|
}
|
|
14529
14701
|
});
|
|
14530
14702
|
|
|
14531
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14703
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/entity.js
|
|
14532
14704
|
function is(value, type) {
|
|
14533
14705
|
if (!value || typeof value !== "object") {
|
|
14534
14706
|
return false;
|
|
@@ -14554,16 +14726,16 @@ function is(value, type) {
|
|
|
14554
14726
|
}
|
|
14555
14727
|
var entityKind;
|
|
14556
14728
|
var init_entity = __esm({
|
|
14557
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14729
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/entity.js"() {
|
|
14558
14730
|
"use strict";
|
|
14559
14731
|
entityKind = /* @__PURE__ */ Symbol.for("drizzle:entityKind");
|
|
14560
14732
|
}
|
|
14561
14733
|
});
|
|
14562
14734
|
|
|
14563
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14735
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/column.js
|
|
14564
14736
|
var Column;
|
|
14565
14737
|
var init_column = __esm({
|
|
14566
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14738
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/column.js"() {
|
|
14567
14739
|
"use strict";
|
|
14568
14740
|
init_entity();
|
|
14569
14741
|
Column = class {
|
|
@@ -14618,10 +14790,10 @@ var init_column = __esm({
|
|
|
14618
14790
|
}
|
|
14619
14791
|
});
|
|
14620
14792
|
|
|
14621
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14793
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/column-builder.js
|
|
14622
14794
|
var ColumnBuilder;
|
|
14623
14795
|
var init_column_builder = __esm({
|
|
14624
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14796
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/column-builder.js"() {
|
|
14625
14797
|
"use strict";
|
|
14626
14798
|
init_entity();
|
|
14627
14799
|
ColumnBuilder = class {
|
|
@@ -14728,19 +14900,19 @@ var init_column_builder = __esm({
|
|
|
14728
14900
|
}
|
|
14729
14901
|
});
|
|
14730
14902
|
|
|
14731
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14903
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/table.utils.js
|
|
14732
14904
|
var TableName;
|
|
14733
14905
|
var init_table_utils = __esm({
|
|
14734
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14906
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/table.utils.js"() {
|
|
14735
14907
|
"use strict";
|
|
14736
14908
|
TableName = /* @__PURE__ */ Symbol.for("drizzle:Name");
|
|
14737
14909
|
}
|
|
14738
14910
|
});
|
|
14739
14911
|
|
|
14740
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14912
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/foreign-keys.js
|
|
14741
14913
|
var ForeignKeyBuilder, ForeignKey;
|
|
14742
14914
|
var init_foreign_keys = __esm({
|
|
14743
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14915
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/foreign-keys.js"() {
|
|
14744
14916
|
"use strict";
|
|
14745
14917
|
init_entity();
|
|
14746
14918
|
init_table_utils();
|
|
@@ -14802,17 +14974,17 @@ var init_foreign_keys = __esm({
|
|
|
14802
14974
|
}
|
|
14803
14975
|
});
|
|
14804
14976
|
|
|
14805
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14977
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/tracing-utils.js
|
|
14806
14978
|
function iife(fn, ...args) {
|
|
14807
14979
|
return fn(...args);
|
|
14808
14980
|
}
|
|
14809
14981
|
var init_tracing_utils = __esm({
|
|
14810
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14982
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/tracing-utils.js"() {
|
|
14811
14983
|
"use strict";
|
|
14812
14984
|
}
|
|
14813
14985
|
});
|
|
14814
14986
|
|
|
14815
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14987
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/unique-constraint.js
|
|
14816
14988
|
function unique(name) {
|
|
14817
14989
|
return new UniqueOnConstraintBuilder(name);
|
|
14818
14990
|
}
|
|
@@ -14821,7 +14993,7 @@ function uniqueKeyName(table, columns) {
|
|
|
14821
14993
|
}
|
|
14822
14994
|
var UniqueConstraintBuilder, UniqueOnConstraintBuilder, UniqueConstraint;
|
|
14823
14995
|
var init_unique_constraint = __esm({
|
|
14824
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
14996
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/unique-constraint.js"() {
|
|
14825
14997
|
"use strict";
|
|
14826
14998
|
init_entity();
|
|
14827
14999
|
init_table_utils();
|
|
@@ -14873,7 +15045,7 @@ var init_unique_constraint = __esm({
|
|
|
14873
15045
|
}
|
|
14874
15046
|
});
|
|
14875
15047
|
|
|
14876
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15048
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/utils/array.js
|
|
14877
15049
|
function parsePgArrayValue(arrayString, startFrom, inQuotes) {
|
|
14878
15050
|
for (let i = startFrom; i < arrayString.length; i++) {
|
|
14879
15051
|
const char2 = arrayString[i];
|
|
@@ -14949,15 +15121,15 @@ function makePgArray(array) {
|
|
|
14949
15121
|
}).join(",")}}`;
|
|
14950
15122
|
}
|
|
14951
15123
|
var init_array = __esm({
|
|
14952
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15124
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/utils/array.js"() {
|
|
14953
15125
|
"use strict";
|
|
14954
15126
|
}
|
|
14955
15127
|
});
|
|
14956
15128
|
|
|
14957
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15129
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/common.js
|
|
14958
15130
|
var PgColumnBuilder, PgColumn, ExtraConfigColumn, IndexedColumn, PgArrayBuilder, PgArray;
|
|
14959
15131
|
var init_common = __esm({
|
|
14960
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15132
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/common.js"() {
|
|
14961
15133
|
"use strict";
|
|
14962
15134
|
init_column_builder();
|
|
14963
15135
|
init_column();
|
|
@@ -15151,7 +15323,7 @@ var init_common = __esm({
|
|
|
15151
15323
|
}
|
|
15152
15324
|
});
|
|
15153
15325
|
|
|
15154
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15326
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/enum.js
|
|
15155
15327
|
function isPgEnum(obj) {
|
|
15156
15328
|
return !!obj && typeof obj === "function" && isPgEnumSym in obj && obj[isPgEnumSym] === true;
|
|
15157
15329
|
}
|
|
@@ -15184,7 +15356,7 @@ function pgEnumObjectWithSchema(enumName, values, schema) {
|
|
|
15184
15356
|
}
|
|
15185
15357
|
var PgEnumObjectColumnBuilder, PgEnumObjectColumn, isPgEnumSym, PgEnumColumnBuilder, PgEnumColumn;
|
|
15186
15358
|
var init_enum = __esm({
|
|
15187
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15359
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/enum.js"() {
|
|
15188
15360
|
"use strict";
|
|
15189
15361
|
init_entity();
|
|
15190
15362
|
init_common();
|
|
@@ -15244,10 +15416,10 @@ var init_enum = __esm({
|
|
|
15244
15416
|
}
|
|
15245
15417
|
});
|
|
15246
15418
|
|
|
15247
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15419
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/subquery.js
|
|
15248
15420
|
var Subquery, WithSubquery;
|
|
15249
15421
|
var init_subquery = __esm({
|
|
15250
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15422
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/subquery.js"() {
|
|
15251
15423
|
"use strict";
|
|
15252
15424
|
init_entity();
|
|
15253
15425
|
Subquery = class {
|
|
@@ -15272,19 +15444,19 @@ var init_subquery = __esm({
|
|
|
15272
15444
|
}
|
|
15273
15445
|
});
|
|
15274
15446
|
|
|
15275
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15447
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/version.js
|
|
15276
15448
|
var version;
|
|
15277
15449
|
var init_version = __esm({
|
|
15278
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15450
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/version.js"() {
|
|
15279
15451
|
"use strict";
|
|
15280
15452
|
version = "0.45.2";
|
|
15281
15453
|
}
|
|
15282
15454
|
});
|
|
15283
15455
|
|
|
15284
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15456
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/tracing.js
|
|
15285
15457
|
var otel, rawTracer, tracer;
|
|
15286
15458
|
var init_tracing = __esm({
|
|
15287
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15459
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/tracing.js"() {
|
|
15288
15460
|
"use strict";
|
|
15289
15461
|
init_tracing_utils();
|
|
15290
15462
|
init_version();
|
|
@@ -15322,16 +15494,16 @@ var init_tracing = __esm({
|
|
|
15322
15494
|
}
|
|
15323
15495
|
});
|
|
15324
15496
|
|
|
15325
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15497
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/view-common.js
|
|
15326
15498
|
var ViewBaseConfig;
|
|
15327
15499
|
var init_view_common = __esm({
|
|
15328
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15500
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/view-common.js"() {
|
|
15329
15501
|
"use strict";
|
|
15330
15502
|
ViewBaseConfig = /* @__PURE__ */ Symbol.for("drizzle:ViewBaseConfig");
|
|
15331
15503
|
}
|
|
15332
15504
|
});
|
|
15333
15505
|
|
|
15334
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15506
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/table.js
|
|
15335
15507
|
function isTable(table) {
|
|
15336
15508
|
return typeof table === "object" && table !== null && IsDrizzleTable in table;
|
|
15337
15509
|
}
|
|
@@ -15343,7 +15515,7 @@ function getTableUniqueName(table) {
|
|
|
15343
15515
|
}
|
|
15344
15516
|
var Schema, Columns, ExtraConfigColumns, OriginalName, BaseName, IsAlias, ExtraConfigBuilder, IsDrizzleTable, Table;
|
|
15345
15517
|
var init_table = __esm({
|
|
15346
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15518
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/table.js"() {
|
|
15347
15519
|
"use strict";
|
|
15348
15520
|
init_entity();
|
|
15349
15521
|
init_table_utils();
|
|
@@ -15404,7 +15576,7 @@ var init_table = __esm({
|
|
|
15404
15576
|
}
|
|
15405
15577
|
});
|
|
15406
15578
|
|
|
15407
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15579
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/sql.js
|
|
15408
15580
|
function isSQLWrapper(value) {
|
|
15409
15581
|
return value !== null && value !== void 0 && typeof value.getSQL === "function";
|
|
15410
15582
|
}
|
|
@@ -15440,7 +15612,7 @@ function isView(view) {
|
|
|
15440
15612
|
}
|
|
15441
15613
|
var FakePrimitiveParam, StringChunk, SQL, Name, noopDecoder, noopEncoder, noopMapper, Param, Placeholder, IsDrizzleView, View;
|
|
15442
15614
|
var init_sql = __esm({
|
|
15443
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15615
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/sql.js"() {
|
|
15444
15616
|
"use strict";
|
|
15445
15617
|
init_entity();
|
|
15446
15618
|
init_enum();
|
|
@@ -15797,7 +15969,7 @@ var init_sql = __esm({
|
|
|
15797
15969
|
}
|
|
15798
15970
|
});
|
|
15799
15971
|
|
|
15800
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
15972
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/alias.js
|
|
15801
15973
|
function aliasedTable(table, tableAlias) {
|
|
15802
15974
|
return new Proxy(table, new TableAliasProxyHandler(tableAlias, false));
|
|
15803
15975
|
}
|
|
@@ -15826,7 +15998,7 @@ function mapColumnsInSQLToAlias(query, alias) {
|
|
|
15826
15998
|
}
|
|
15827
15999
|
var ColumnAliasProxyHandler, TableAliasProxyHandler, RelationTableAliasProxyHandler;
|
|
15828
16000
|
var init_alias = __esm({
|
|
15829
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16001
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/alias.js"() {
|
|
15830
16002
|
"use strict";
|
|
15831
16003
|
init_column();
|
|
15832
16004
|
init_entity();
|
|
@@ -15904,20 +16076,20 @@ var init_alias = __esm({
|
|
|
15904
16076
|
}
|
|
15905
16077
|
});
|
|
15906
16078
|
|
|
15907
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16079
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/alias.js
|
|
15908
16080
|
var init_alias2 = __esm({
|
|
15909
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16081
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/alias.js"() {
|
|
15910
16082
|
"use strict";
|
|
15911
16083
|
}
|
|
15912
16084
|
});
|
|
15913
16085
|
|
|
15914
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16086
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/checks.js
|
|
15915
16087
|
function check(name, value) {
|
|
15916
16088
|
return new CheckBuilder(name, value);
|
|
15917
16089
|
}
|
|
15918
16090
|
var CheckBuilder, Check;
|
|
15919
16091
|
var init_checks = __esm({
|
|
15920
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16092
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/checks.js"() {
|
|
15921
16093
|
"use strict";
|
|
15922
16094
|
init_entity();
|
|
15923
16095
|
CheckBuilder = class {
|
|
@@ -15945,7 +16117,7 @@ var init_checks = __esm({
|
|
|
15945
16117
|
}
|
|
15946
16118
|
});
|
|
15947
16119
|
|
|
15948
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16120
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/utils.js
|
|
15949
16121
|
function orderSelectedFields(fields, pathPrefix) {
|
|
15950
16122
|
return Object.entries(fields).reduce((result, [name, field]) => {
|
|
15951
16123
|
if (typeof name !== "string") {
|
|
@@ -16017,7 +16189,7 @@ function getColumnNameAndConfig(a, b) {
|
|
|
16017
16189
|
}
|
|
16018
16190
|
var textDecoder;
|
|
16019
16191
|
var init_utils = __esm({
|
|
16020
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16192
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/utils.js"() {
|
|
16021
16193
|
"use strict";
|
|
16022
16194
|
init_column();
|
|
16023
16195
|
init_entity();
|
|
@@ -16029,10 +16201,10 @@ var init_utils = __esm({
|
|
|
16029
16201
|
}
|
|
16030
16202
|
});
|
|
16031
16203
|
|
|
16032
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16204
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/int.common.js
|
|
16033
16205
|
var PgIntColumnBaseBuilder;
|
|
16034
16206
|
var init_int_common = __esm({
|
|
16035
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16207
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/int.common.js"() {
|
|
16036
16208
|
"use strict";
|
|
16037
16209
|
init_entity();
|
|
16038
16210
|
init_common();
|
|
@@ -16076,7 +16248,7 @@ var init_int_common = __esm({
|
|
|
16076
16248
|
}
|
|
16077
16249
|
});
|
|
16078
16250
|
|
|
16079
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16251
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/bigint.js
|
|
16080
16252
|
function bigint(a, b) {
|
|
16081
16253
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
16082
16254
|
if (config.mode === "number") {
|
|
@@ -16086,7 +16258,7 @@ function bigint(a, b) {
|
|
|
16086
16258
|
}
|
|
16087
16259
|
var PgBigInt53Builder, PgBigInt53, PgBigInt64Builder, PgBigInt64;
|
|
16088
16260
|
var init_bigint = __esm({
|
|
16089
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16261
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/bigint.js"() {
|
|
16090
16262
|
"use strict";
|
|
16091
16263
|
init_entity();
|
|
16092
16264
|
init_utils();
|
|
@@ -16140,7 +16312,7 @@ var init_bigint = __esm({
|
|
|
16140
16312
|
}
|
|
16141
16313
|
});
|
|
16142
16314
|
|
|
16143
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16315
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/bigserial.js
|
|
16144
16316
|
function bigserial(a, b) {
|
|
16145
16317
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
16146
16318
|
if (config.mode === "number") {
|
|
@@ -16150,7 +16322,7 @@ function bigserial(a, b) {
|
|
|
16150
16322
|
}
|
|
16151
16323
|
var PgBigSerial53Builder, PgBigSerial53, PgBigSerial64Builder, PgBigSerial64;
|
|
16152
16324
|
var init_bigserial = __esm({
|
|
16153
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16325
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/bigserial.js"() {
|
|
16154
16326
|
"use strict";
|
|
16155
16327
|
init_entity();
|
|
16156
16328
|
init_utils();
|
|
@@ -16209,13 +16381,13 @@ var init_bigserial = __esm({
|
|
|
16209
16381
|
}
|
|
16210
16382
|
});
|
|
16211
16383
|
|
|
16212
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16384
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/boolean.js
|
|
16213
16385
|
function boolean(name) {
|
|
16214
16386
|
return new PgBooleanBuilder(name ?? "");
|
|
16215
16387
|
}
|
|
16216
16388
|
var PgBooleanBuilder, PgBoolean;
|
|
16217
16389
|
var init_boolean = __esm({
|
|
16218
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16390
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/boolean.js"() {
|
|
16219
16391
|
"use strict";
|
|
16220
16392
|
init_entity();
|
|
16221
16393
|
init_common();
|
|
@@ -16238,14 +16410,14 @@ var init_boolean = __esm({
|
|
|
16238
16410
|
}
|
|
16239
16411
|
});
|
|
16240
16412
|
|
|
16241
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16413
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/char.js
|
|
16242
16414
|
function char(a, b = {}) {
|
|
16243
16415
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
16244
16416
|
return new PgCharBuilder(name, config);
|
|
16245
16417
|
}
|
|
16246
16418
|
var PgCharBuilder, PgChar;
|
|
16247
16419
|
var init_char = __esm({
|
|
16248
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16420
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/char.js"() {
|
|
16249
16421
|
"use strict";
|
|
16250
16422
|
init_entity();
|
|
16251
16423
|
init_utils();
|
|
@@ -16276,13 +16448,13 @@ var init_char = __esm({
|
|
|
16276
16448
|
}
|
|
16277
16449
|
});
|
|
16278
16450
|
|
|
16279
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16451
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/cidr.js
|
|
16280
16452
|
function cidr(name) {
|
|
16281
16453
|
return new PgCidrBuilder(name ?? "");
|
|
16282
16454
|
}
|
|
16283
16455
|
var PgCidrBuilder, PgCidr;
|
|
16284
16456
|
var init_cidr = __esm({
|
|
16285
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16457
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/cidr.js"() {
|
|
16286
16458
|
"use strict";
|
|
16287
16459
|
init_entity();
|
|
16288
16460
|
init_common();
|
|
@@ -16305,7 +16477,7 @@ var init_cidr = __esm({
|
|
|
16305
16477
|
}
|
|
16306
16478
|
});
|
|
16307
16479
|
|
|
16308
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16480
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/custom.js
|
|
16309
16481
|
function customType(customTypeParams) {
|
|
16310
16482
|
return (a, b) => {
|
|
16311
16483
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
@@ -16314,7 +16486,7 @@ function customType(customTypeParams) {
|
|
|
16314
16486
|
}
|
|
16315
16487
|
var PgCustomColumnBuilder, PgCustomColumn;
|
|
16316
16488
|
var init_custom = __esm({
|
|
16317
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16489
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/custom.js"() {
|
|
16318
16490
|
"use strict";
|
|
16319
16491
|
init_entity();
|
|
16320
16492
|
init_utils();
|
|
@@ -16358,10 +16530,10 @@ var init_custom = __esm({
|
|
|
16358
16530
|
}
|
|
16359
16531
|
});
|
|
16360
16532
|
|
|
16361
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16533
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/date.common.js
|
|
16362
16534
|
var PgDateColumnBaseBuilder;
|
|
16363
16535
|
var init_date_common = __esm({
|
|
16364
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16536
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/date.common.js"() {
|
|
16365
16537
|
"use strict";
|
|
16366
16538
|
init_entity();
|
|
16367
16539
|
init_sql();
|
|
@@ -16375,7 +16547,7 @@ var init_date_common = __esm({
|
|
|
16375
16547
|
}
|
|
16376
16548
|
});
|
|
16377
16549
|
|
|
16378
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16550
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/date.js
|
|
16379
16551
|
function date(a, b) {
|
|
16380
16552
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
16381
16553
|
if (config?.mode === "date") {
|
|
@@ -16385,7 +16557,7 @@ function date(a, b) {
|
|
|
16385
16557
|
}
|
|
16386
16558
|
var PgDateBuilder, PgDate, PgDateStringBuilder, PgDateString;
|
|
16387
16559
|
var init_date = __esm({
|
|
16388
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16560
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/date.js"() {
|
|
16389
16561
|
"use strict";
|
|
16390
16562
|
init_entity();
|
|
16391
16563
|
init_utils();
|
|
@@ -16440,13 +16612,13 @@ var init_date = __esm({
|
|
|
16440
16612
|
}
|
|
16441
16613
|
});
|
|
16442
16614
|
|
|
16443
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16615
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/double-precision.js
|
|
16444
16616
|
function doublePrecision(name) {
|
|
16445
16617
|
return new PgDoublePrecisionBuilder(name ?? "");
|
|
16446
16618
|
}
|
|
16447
16619
|
var PgDoublePrecisionBuilder, PgDoublePrecision;
|
|
16448
16620
|
var init_double_precision = __esm({
|
|
16449
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16621
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/double-precision.js"() {
|
|
16450
16622
|
"use strict";
|
|
16451
16623
|
init_entity();
|
|
16452
16624
|
init_common();
|
|
@@ -16478,13 +16650,13 @@ var init_double_precision = __esm({
|
|
|
16478
16650
|
}
|
|
16479
16651
|
});
|
|
16480
16652
|
|
|
16481
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16653
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/inet.js
|
|
16482
16654
|
function inet(name) {
|
|
16483
16655
|
return new PgInetBuilder(name ?? "");
|
|
16484
16656
|
}
|
|
16485
16657
|
var PgInetBuilder, PgInet;
|
|
16486
16658
|
var init_inet = __esm({
|
|
16487
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16659
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/inet.js"() {
|
|
16488
16660
|
"use strict";
|
|
16489
16661
|
init_entity();
|
|
16490
16662
|
init_common();
|
|
@@ -16507,13 +16679,13 @@ var init_inet = __esm({
|
|
|
16507
16679
|
}
|
|
16508
16680
|
});
|
|
16509
16681
|
|
|
16510
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16682
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/integer.js
|
|
16511
16683
|
function integer(name) {
|
|
16512
16684
|
return new PgIntegerBuilder(name ?? "");
|
|
16513
16685
|
}
|
|
16514
16686
|
var PgIntegerBuilder, PgInteger;
|
|
16515
16687
|
var init_integer = __esm({
|
|
16516
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16688
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/integer.js"() {
|
|
16517
16689
|
"use strict";
|
|
16518
16690
|
init_entity();
|
|
16519
16691
|
init_common();
|
|
@@ -16543,14 +16715,14 @@ var init_integer = __esm({
|
|
|
16543
16715
|
}
|
|
16544
16716
|
});
|
|
16545
16717
|
|
|
16546
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16718
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/interval.js
|
|
16547
16719
|
function interval(a, b = {}) {
|
|
16548
16720
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
16549
16721
|
return new PgIntervalBuilder(name, config);
|
|
16550
16722
|
}
|
|
16551
16723
|
var PgIntervalBuilder, PgInterval;
|
|
16552
16724
|
var init_interval = __esm({
|
|
16553
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16725
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/interval.js"() {
|
|
16554
16726
|
"use strict";
|
|
16555
16727
|
init_entity();
|
|
16556
16728
|
init_utils();
|
|
@@ -16579,13 +16751,13 @@ var init_interval = __esm({
|
|
|
16579
16751
|
}
|
|
16580
16752
|
});
|
|
16581
16753
|
|
|
16582
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16754
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/json.js
|
|
16583
16755
|
function json(name) {
|
|
16584
16756
|
return new PgJsonBuilder(name ?? "");
|
|
16585
16757
|
}
|
|
16586
16758
|
var PgJsonBuilder, PgJson;
|
|
16587
16759
|
var init_json = __esm({
|
|
16588
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16760
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/json.js"() {
|
|
16589
16761
|
"use strict";
|
|
16590
16762
|
init_entity();
|
|
16591
16763
|
init_common();
|
|
@@ -16624,13 +16796,13 @@ var init_json = __esm({
|
|
|
16624
16796
|
}
|
|
16625
16797
|
});
|
|
16626
16798
|
|
|
16627
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16799
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/jsonb.js
|
|
16628
16800
|
function jsonb(name) {
|
|
16629
16801
|
return new PgJsonbBuilder(name ?? "");
|
|
16630
16802
|
}
|
|
16631
16803
|
var PgJsonbBuilder, PgJsonb;
|
|
16632
16804
|
var init_jsonb = __esm({
|
|
16633
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16805
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/jsonb.js"() {
|
|
16634
16806
|
"use strict";
|
|
16635
16807
|
init_entity();
|
|
16636
16808
|
init_common();
|
|
@@ -16669,7 +16841,7 @@ var init_jsonb = __esm({
|
|
|
16669
16841
|
}
|
|
16670
16842
|
});
|
|
16671
16843
|
|
|
16672
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16844
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/line.js
|
|
16673
16845
|
function line(a, b) {
|
|
16674
16846
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
16675
16847
|
if (!config?.mode || config.mode === "tuple") {
|
|
@@ -16679,7 +16851,7 @@ function line(a, b) {
|
|
|
16679
16851
|
}
|
|
16680
16852
|
var PgLineBuilder, PgLineTuple, PgLineABCBuilder, PgLineABC;
|
|
16681
16853
|
var init_line = __esm({
|
|
16682
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16854
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/line.js"() {
|
|
16683
16855
|
"use strict";
|
|
16684
16856
|
init_entity();
|
|
16685
16857
|
init_utils();
|
|
@@ -16739,13 +16911,13 @@ var init_line = __esm({
|
|
|
16739
16911
|
}
|
|
16740
16912
|
});
|
|
16741
16913
|
|
|
16742
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16914
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/macaddr.js
|
|
16743
16915
|
function macaddr(name) {
|
|
16744
16916
|
return new PgMacaddrBuilder(name ?? "");
|
|
16745
16917
|
}
|
|
16746
16918
|
var PgMacaddrBuilder, PgMacaddr;
|
|
16747
16919
|
var init_macaddr = __esm({
|
|
16748
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16920
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/macaddr.js"() {
|
|
16749
16921
|
"use strict";
|
|
16750
16922
|
init_entity();
|
|
16751
16923
|
init_common();
|
|
@@ -16768,13 +16940,13 @@ var init_macaddr = __esm({
|
|
|
16768
16940
|
}
|
|
16769
16941
|
});
|
|
16770
16942
|
|
|
16771
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16943
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/macaddr8.js
|
|
16772
16944
|
function macaddr8(name) {
|
|
16773
16945
|
return new PgMacaddr8Builder(name ?? "");
|
|
16774
16946
|
}
|
|
16775
16947
|
var PgMacaddr8Builder, PgMacaddr8;
|
|
16776
16948
|
var init_macaddr8 = __esm({
|
|
16777
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16949
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/macaddr8.js"() {
|
|
16778
16950
|
"use strict";
|
|
16779
16951
|
init_entity();
|
|
16780
16952
|
init_common();
|
|
@@ -16797,7 +16969,7 @@ var init_macaddr8 = __esm({
|
|
|
16797
16969
|
}
|
|
16798
16970
|
});
|
|
16799
16971
|
|
|
16800
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16972
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/numeric.js
|
|
16801
16973
|
function numeric(a, b) {
|
|
16802
16974
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
16803
16975
|
const mode = config?.mode;
|
|
@@ -16805,7 +16977,7 @@ function numeric(a, b) {
|
|
|
16805
16977
|
}
|
|
16806
16978
|
var PgNumericBuilder, PgNumeric, PgNumericNumberBuilder, PgNumericNumber, PgNumericBigIntBuilder, PgNumericBigInt;
|
|
16807
16979
|
var init_numeric = __esm({
|
|
16808
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
16980
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/numeric.js"() {
|
|
16809
16981
|
"use strict";
|
|
16810
16982
|
init_entity();
|
|
16811
16983
|
init_utils();
|
|
@@ -16923,7 +17095,7 @@ var init_numeric = __esm({
|
|
|
16923
17095
|
}
|
|
16924
17096
|
});
|
|
16925
17097
|
|
|
16926
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17098
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/point.js
|
|
16927
17099
|
function point(a, b) {
|
|
16928
17100
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
16929
17101
|
if (!config?.mode || config.mode === "tuple") {
|
|
@@ -16933,7 +17105,7 @@ function point(a, b) {
|
|
|
16933
17105
|
}
|
|
16934
17106
|
var PgPointTupleBuilder, PgPointTuple, PgPointObjectBuilder, PgPointObject;
|
|
16935
17107
|
var init_point = __esm({
|
|
16936
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17108
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/point.js"() {
|
|
16937
17109
|
"use strict";
|
|
16938
17110
|
init_entity();
|
|
16939
17111
|
init_utils();
|
|
@@ -16999,7 +17171,7 @@ var init_point = __esm({
|
|
|
16999
17171
|
}
|
|
17000
17172
|
});
|
|
17001
17173
|
|
|
17002
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17174
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.js
|
|
17003
17175
|
function hexToBytes(hex) {
|
|
17004
17176
|
const bytes = [];
|
|
17005
17177
|
for (let c = 0; c < hex.length; c += 2) {
|
|
@@ -17038,12 +17210,12 @@ function parseEWKB(hex) {
|
|
|
17038
17210
|
throw new Error("Unsupported geometry type");
|
|
17039
17211
|
}
|
|
17040
17212
|
var init_utils2 = __esm({
|
|
17041
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17213
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.js"() {
|
|
17042
17214
|
"use strict";
|
|
17043
17215
|
}
|
|
17044
17216
|
});
|
|
17045
17217
|
|
|
17046
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17218
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.js
|
|
17047
17219
|
function geometry(a, b) {
|
|
17048
17220
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17049
17221
|
if (!config?.mode || config.mode === "tuple") {
|
|
@@ -17053,7 +17225,7 @@ function geometry(a, b) {
|
|
|
17053
17225
|
}
|
|
17054
17226
|
var PgGeometryBuilder, PgGeometry, PgGeometryObjectBuilder, PgGeometryObject;
|
|
17055
17227
|
var init_geometry = __esm({
|
|
17056
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17228
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.js"() {
|
|
17057
17229
|
"use strict";
|
|
17058
17230
|
init_entity();
|
|
17059
17231
|
init_utils();
|
|
@@ -17113,13 +17285,13 @@ var init_geometry = __esm({
|
|
|
17113
17285
|
}
|
|
17114
17286
|
});
|
|
17115
17287
|
|
|
17116
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17288
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/real.js
|
|
17117
17289
|
function real(name) {
|
|
17118
17290
|
return new PgRealBuilder(name ?? "");
|
|
17119
17291
|
}
|
|
17120
17292
|
var PgRealBuilder, PgReal;
|
|
17121
17293
|
var init_real = __esm({
|
|
17122
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17294
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/real.js"() {
|
|
17123
17295
|
"use strict";
|
|
17124
17296
|
init_entity();
|
|
17125
17297
|
init_common();
|
|
@@ -17152,13 +17324,13 @@ var init_real = __esm({
|
|
|
17152
17324
|
}
|
|
17153
17325
|
});
|
|
17154
17326
|
|
|
17155
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17327
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/serial.js
|
|
17156
17328
|
function serial(name) {
|
|
17157
17329
|
return new PgSerialBuilder(name ?? "");
|
|
17158
17330
|
}
|
|
17159
17331
|
var PgSerialBuilder, PgSerial;
|
|
17160
17332
|
var init_serial = __esm({
|
|
17161
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17333
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/serial.js"() {
|
|
17162
17334
|
"use strict";
|
|
17163
17335
|
init_entity();
|
|
17164
17336
|
init_common();
|
|
@@ -17183,13 +17355,13 @@ var init_serial = __esm({
|
|
|
17183
17355
|
}
|
|
17184
17356
|
});
|
|
17185
17357
|
|
|
17186
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17358
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/smallint.js
|
|
17187
17359
|
function smallint(name) {
|
|
17188
17360
|
return new PgSmallIntBuilder(name ?? "");
|
|
17189
17361
|
}
|
|
17190
17362
|
var PgSmallIntBuilder, PgSmallInt;
|
|
17191
17363
|
var init_smallint = __esm({
|
|
17192
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17364
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/smallint.js"() {
|
|
17193
17365
|
"use strict";
|
|
17194
17366
|
init_entity();
|
|
17195
17367
|
init_common();
|
|
@@ -17219,13 +17391,13 @@ var init_smallint = __esm({
|
|
|
17219
17391
|
}
|
|
17220
17392
|
});
|
|
17221
17393
|
|
|
17222
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17394
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/smallserial.js
|
|
17223
17395
|
function smallserial(name) {
|
|
17224
17396
|
return new PgSmallSerialBuilder(name ?? "");
|
|
17225
17397
|
}
|
|
17226
17398
|
var PgSmallSerialBuilder, PgSmallSerial;
|
|
17227
17399
|
var init_smallserial = __esm({
|
|
17228
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17400
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/smallserial.js"() {
|
|
17229
17401
|
"use strict";
|
|
17230
17402
|
init_entity();
|
|
17231
17403
|
init_common();
|
|
@@ -17253,14 +17425,14 @@ var init_smallserial = __esm({
|
|
|
17253
17425
|
}
|
|
17254
17426
|
});
|
|
17255
17427
|
|
|
17256
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17428
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/text.js
|
|
17257
17429
|
function text(a, b = {}) {
|
|
17258
17430
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17259
17431
|
return new PgTextBuilder(name, config);
|
|
17260
17432
|
}
|
|
17261
17433
|
var PgTextBuilder, PgText;
|
|
17262
17434
|
var init_text = __esm({
|
|
17263
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17435
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/text.js"() {
|
|
17264
17436
|
"use strict";
|
|
17265
17437
|
init_entity();
|
|
17266
17438
|
init_utils();
|
|
@@ -17286,14 +17458,14 @@ var init_text = __esm({
|
|
|
17286
17458
|
}
|
|
17287
17459
|
});
|
|
17288
17460
|
|
|
17289
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17461
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/time.js
|
|
17290
17462
|
function time(a, b = {}) {
|
|
17291
17463
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17292
17464
|
return new PgTimeBuilder(name, config.withTimezone ?? false, config.precision);
|
|
17293
17465
|
}
|
|
17294
17466
|
var PgTimeBuilder, PgTime;
|
|
17295
17467
|
var init_time = __esm({
|
|
17296
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17468
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/time.js"() {
|
|
17297
17469
|
"use strict";
|
|
17298
17470
|
init_entity();
|
|
17299
17471
|
init_utils();
|
|
@@ -17330,7 +17502,7 @@ var init_time = __esm({
|
|
|
17330
17502
|
}
|
|
17331
17503
|
});
|
|
17332
17504
|
|
|
17333
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17505
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/timestamp.js
|
|
17334
17506
|
function timestamp(a, b = {}) {
|
|
17335
17507
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17336
17508
|
if (config?.mode === "string") {
|
|
@@ -17340,7 +17512,7 @@ function timestamp(a, b = {}) {
|
|
|
17340
17512
|
}
|
|
17341
17513
|
var PgTimestampBuilder, PgTimestamp, PgTimestampStringBuilder, PgTimestampString;
|
|
17342
17514
|
var init_timestamp = __esm({
|
|
17343
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17515
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/timestamp.js"() {
|
|
17344
17516
|
"use strict";
|
|
17345
17517
|
init_entity();
|
|
17346
17518
|
init_utils();
|
|
@@ -17421,13 +17593,13 @@ var init_timestamp = __esm({
|
|
|
17421
17593
|
}
|
|
17422
17594
|
});
|
|
17423
17595
|
|
|
17424
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17596
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/uuid.js
|
|
17425
17597
|
function uuid(name) {
|
|
17426
17598
|
return new PgUUIDBuilder(name ?? "");
|
|
17427
17599
|
}
|
|
17428
17600
|
var PgUUIDBuilder, PgUUID;
|
|
17429
17601
|
var init_uuid = __esm({
|
|
17430
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17602
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/uuid.js"() {
|
|
17431
17603
|
"use strict";
|
|
17432
17604
|
init_entity();
|
|
17433
17605
|
init_sql();
|
|
@@ -17457,14 +17629,14 @@ var init_uuid = __esm({
|
|
|
17457
17629
|
}
|
|
17458
17630
|
});
|
|
17459
17631
|
|
|
17460
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17632
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/varchar.js
|
|
17461
17633
|
function varchar(a, b = {}) {
|
|
17462
17634
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17463
17635
|
return new PgVarcharBuilder(name, config);
|
|
17464
17636
|
}
|
|
17465
17637
|
var PgVarcharBuilder, PgVarchar;
|
|
17466
17638
|
var init_varchar = __esm({
|
|
17467
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17639
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/varchar.js"() {
|
|
17468
17640
|
"use strict";
|
|
17469
17641
|
init_entity();
|
|
17470
17642
|
init_utils();
|
|
@@ -17495,14 +17667,14 @@ var init_varchar = __esm({
|
|
|
17495
17667
|
}
|
|
17496
17668
|
});
|
|
17497
17669
|
|
|
17498
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17670
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.js
|
|
17499
17671
|
function bit(a, b) {
|
|
17500
17672
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17501
17673
|
return new PgBinaryVectorBuilder(name, config);
|
|
17502
17674
|
}
|
|
17503
17675
|
var PgBinaryVectorBuilder, PgBinaryVector;
|
|
17504
17676
|
var init_bit = __esm({
|
|
17505
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17677
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.js"() {
|
|
17506
17678
|
"use strict";
|
|
17507
17679
|
init_entity();
|
|
17508
17680
|
init_utils();
|
|
@@ -17531,14 +17703,14 @@ var init_bit = __esm({
|
|
|
17531
17703
|
}
|
|
17532
17704
|
});
|
|
17533
17705
|
|
|
17534
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17706
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.js
|
|
17535
17707
|
function halfvec(a, b) {
|
|
17536
17708
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17537
17709
|
return new PgHalfVectorBuilder(name, config);
|
|
17538
17710
|
}
|
|
17539
17711
|
var PgHalfVectorBuilder, PgHalfVector;
|
|
17540
17712
|
var init_halfvec = __esm({
|
|
17541
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17713
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.js"() {
|
|
17542
17714
|
"use strict";
|
|
17543
17715
|
init_entity();
|
|
17544
17716
|
init_utils();
|
|
@@ -17573,14 +17745,14 @@ var init_halfvec = __esm({
|
|
|
17573
17745
|
}
|
|
17574
17746
|
});
|
|
17575
17747
|
|
|
17576
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17748
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.js
|
|
17577
17749
|
function sparsevec(a, b) {
|
|
17578
17750
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17579
17751
|
return new PgSparseVectorBuilder(name, config);
|
|
17580
17752
|
}
|
|
17581
17753
|
var PgSparseVectorBuilder, PgSparseVector;
|
|
17582
17754
|
var init_sparsevec = __esm({
|
|
17583
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17755
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.js"() {
|
|
17584
17756
|
"use strict";
|
|
17585
17757
|
init_entity();
|
|
17586
17758
|
init_utils();
|
|
@@ -17609,14 +17781,14 @@ var init_sparsevec = __esm({
|
|
|
17609
17781
|
}
|
|
17610
17782
|
});
|
|
17611
17783
|
|
|
17612
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17784
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.js
|
|
17613
17785
|
function vector(a, b) {
|
|
17614
17786
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
17615
17787
|
return new PgVectorBuilder(name, config);
|
|
17616
17788
|
}
|
|
17617
17789
|
var PgVectorBuilder, PgVector;
|
|
17618
17790
|
var init_vector = __esm({
|
|
17619
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17791
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.js"() {
|
|
17620
17792
|
"use strict";
|
|
17621
17793
|
init_entity();
|
|
17622
17794
|
init_utils();
|
|
@@ -17651,9 +17823,9 @@ var init_vector = __esm({
|
|
|
17651
17823
|
}
|
|
17652
17824
|
});
|
|
17653
17825
|
|
|
17654
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17826
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/index.js
|
|
17655
17827
|
var init_columns = __esm({
|
|
17656
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17828
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/index.js"() {
|
|
17657
17829
|
"use strict";
|
|
17658
17830
|
init_bigint();
|
|
17659
17831
|
init_bigserial();
|
|
@@ -17693,10 +17865,10 @@ var init_columns = __esm({
|
|
|
17693
17865
|
}
|
|
17694
17866
|
});
|
|
17695
17867
|
|
|
17696
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17868
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/query-promise.js
|
|
17697
17869
|
var QueryPromise;
|
|
17698
17870
|
var init_query_promise = __esm({
|
|
17699
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17871
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/query-promise.js"() {
|
|
17700
17872
|
"use strict";
|
|
17701
17873
|
init_entity();
|
|
17702
17874
|
QueryPromise = class {
|
|
@@ -17724,10 +17896,10 @@ var init_query_promise = __esm({
|
|
|
17724
17896
|
}
|
|
17725
17897
|
});
|
|
17726
17898
|
|
|
17727
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17899
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/selection-proxy.js
|
|
17728
17900
|
var SelectionProxyHandler;
|
|
17729
17901
|
var init_selection_proxy = __esm({
|
|
17730
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17902
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/selection-proxy.js"() {
|
|
17731
17903
|
"use strict";
|
|
17732
17904
|
init_alias();
|
|
17733
17905
|
init_column();
|
|
@@ -17804,7 +17976,7 @@ var init_selection_proxy = __esm({
|
|
|
17804
17976
|
}
|
|
17805
17977
|
});
|
|
17806
17978
|
|
|
17807
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
17979
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/all.js
|
|
17808
17980
|
function getPgColumnBuilders() {
|
|
17809
17981
|
return {
|
|
17810
17982
|
bigint,
|
|
@@ -17842,7 +18014,7 @@ function getPgColumnBuilders() {
|
|
|
17842
18014
|
};
|
|
17843
18015
|
}
|
|
17844
18016
|
var init_all = __esm({
|
|
17845
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18017
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/columns/all.js"() {
|
|
17846
18018
|
"use strict";
|
|
17847
18019
|
init_bigint();
|
|
17848
18020
|
init_bigserial();
|
|
@@ -17879,7 +18051,7 @@ var init_all = __esm({
|
|
|
17879
18051
|
}
|
|
17880
18052
|
});
|
|
17881
18053
|
|
|
17882
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18054
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/table.js
|
|
17883
18055
|
function pgTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
|
|
17884
18056
|
const rawTable = new PgTable(name, schema, baseName);
|
|
17885
18057
|
const parsedColumns = typeof columns === "function" ? columns(getPgColumnBuilders()) : columns;
|
|
@@ -17915,7 +18087,7 @@ function pgTableWithSchema(name, columns, extraConfig, schema, baseName = name)
|
|
|
17915
18087
|
}
|
|
17916
18088
|
var InlineForeignKeys, EnableRLS, PgTable, pgTable;
|
|
17917
18089
|
var init_table2 = __esm({
|
|
17918
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18090
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/table.js"() {
|
|
17919
18091
|
"use strict";
|
|
17920
18092
|
init_entity();
|
|
17921
18093
|
init_table();
|
|
@@ -17944,7 +18116,7 @@ var init_table2 = __esm({
|
|
|
17944
18116
|
}
|
|
17945
18117
|
});
|
|
17946
18118
|
|
|
17947
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18119
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/indexes.js
|
|
17948
18120
|
function index(name) {
|
|
17949
18121
|
return new IndexBuilderOn(false, name);
|
|
17950
18122
|
}
|
|
@@ -17953,7 +18125,7 @@ function uniqueIndex(name) {
|
|
|
17953
18125
|
}
|
|
17954
18126
|
var IndexBuilderOn, IndexBuilder, Index;
|
|
17955
18127
|
var init_indexes = __esm({
|
|
17956
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18128
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/indexes.js"() {
|
|
17957
18129
|
"use strict";
|
|
17958
18130
|
init_sql();
|
|
17959
18131
|
init_entity();
|
|
@@ -18065,10 +18237,10 @@ var init_indexes = __esm({
|
|
|
18065
18237
|
}
|
|
18066
18238
|
});
|
|
18067
18239
|
|
|
18068
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18240
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/policies.js
|
|
18069
18241
|
var PgPolicy;
|
|
18070
18242
|
var init_policies = __esm({
|
|
18071
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18243
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/policies.js"() {
|
|
18072
18244
|
"use strict";
|
|
18073
18245
|
init_entity();
|
|
18074
18246
|
PgPolicy = class {
|
|
@@ -18098,7 +18270,7 @@ var init_policies = __esm({
|
|
|
18098
18270
|
}
|
|
18099
18271
|
});
|
|
18100
18272
|
|
|
18101
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18273
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/primary-keys.js
|
|
18102
18274
|
function primaryKey(...config) {
|
|
18103
18275
|
if (config[0].columns) {
|
|
18104
18276
|
return new PrimaryKeyBuilder(config[0].columns, config[0].name);
|
|
@@ -18107,7 +18279,7 @@ function primaryKey(...config) {
|
|
|
18107
18279
|
}
|
|
18108
18280
|
var PrimaryKeyBuilder, PrimaryKey;
|
|
18109
18281
|
var init_primary_keys = __esm({
|
|
18110
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18282
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/primary-keys.js"() {
|
|
18111
18283
|
"use strict";
|
|
18112
18284
|
init_entity();
|
|
18113
18285
|
init_table2();
|
|
@@ -18142,16 +18314,16 @@ var init_primary_keys = __esm({
|
|
|
18142
18314
|
}
|
|
18143
18315
|
});
|
|
18144
18316
|
|
|
18145
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18317
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/view-common.js
|
|
18146
18318
|
var PgViewConfig;
|
|
18147
18319
|
var init_view_common2 = __esm({
|
|
18148
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18320
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/view-common.js"() {
|
|
18149
18321
|
"use strict";
|
|
18150
18322
|
PgViewConfig = /* @__PURE__ */ Symbol.for("drizzle:PgViewConfig");
|
|
18151
18323
|
}
|
|
18152
18324
|
});
|
|
18153
18325
|
|
|
18154
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18326
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/casing.js
|
|
18155
18327
|
function toSnakeCase(input) {
|
|
18156
18328
|
const words2 = input.replace(/['\u2019]/g, "").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g) ?? [];
|
|
18157
18329
|
return words2.map((word) => word.toLowerCase()).join("_");
|
|
@@ -18168,7 +18340,7 @@ function noopCase(input) {
|
|
|
18168
18340
|
}
|
|
18169
18341
|
var CasingCache;
|
|
18170
18342
|
var init_casing = __esm({
|
|
18171
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18343
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/casing.js"() {
|
|
18172
18344
|
"use strict";
|
|
18173
18345
|
init_entity();
|
|
18174
18346
|
init_table();
|
|
@@ -18211,10 +18383,10 @@ var init_casing = __esm({
|
|
|
18211
18383
|
}
|
|
18212
18384
|
});
|
|
18213
18385
|
|
|
18214
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18386
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/errors.js
|
|
18215
18387
|
var DrizzleError, DrizzleQueryError, TransactionRollbackError;
|
|
18216
18388
|
var init_errors = __esm({
|
|
18217
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18389
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/errors.js"() {
|
|
18218
18390
|
"use strict";
|
|
18219
18391
|
init_entity();
|
|
18220
18392
|
DrizzleError = class extends Error {
|
|
@@ -18245,7 +18417,7 @@ params: ${params}`);
|
|
|
18245
18417
|
}
|
|
18246
18418
|
});
|
|
18247
18419
|
|
|
18248
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18420
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/expressions/conditions.js
|
|
18249
18421
|
function bindIfParam(value, column) {
|
|
18250
18422
|
if (isDriverValueEncoder(column) && !isSQLWrapper(value) && !is(value, Param) && !is(value, Placeholder) && !is(value, Column) && !is(value, Table) && !is(value, View)) {
|
|
18251
18423
|
return new Param(value, column);
|
|
@@ -18343,7 +18515,7 @@ function notIlike(column, value) {
|
|
|
18343
18515
|
}
|
|
18344
18516
|
var eq, ne, gt, gte, lt, lte;
|
|
18345
18517
|
var init_conditions = __esm({
|
|
18346
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18518
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/expressions/conditions.js"() {
|
|
18347
18519
|
"use strict";
|
|
18348
18520
|
init_column();
|
|
18349
18521
|
init_entity();
|
|
@@ -18370,7 +18542,7 @@ var init_conditions = __esm({
|
|
|
18370
18542
|
}
|
|
18371
18543
|
});
|
|
18372
18544
|
|
|
18373
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18545
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/expressions/select.js
|
|
18374
18546
|
function asc(column) {
|
|
18375
18547
|
return sql`${column} asc`;
|
|
18376
18548
|
}
|
|
@@ -18378,22 +18550,22 @@ function desc(column) {
|
|
|
18378
18550
|
return sql`${column} desc`;
|
|
18379
18551
|
}
|
|
18380
18552
|
var init_select = __esm({
|
|
18381
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18553
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/expressions/select.js"() {
|
|
18382
18554
|
"use strict";
|
|
18383
18555
|
init_sql();
|
|
18384
18556
|
}
|
|
18385
18557
|
});
|
|
18386
18558
|
|
|
18387
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18559
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/expressions/index.js
|
|
18388
18560
|
var init_expressions = __esm({
|
|
18389
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18561
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/expressions/index.js"() {
|
|
18390
18562
|
"use strict";
|
|
18391
18563
|
init_conditions();
|
|
18392
18564
|
init_select();
|
|
18393
18565
|
}
|
|
18394
18566
|
});
|
|
18395
18567
|
|
|
18396
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18568
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/relations.js
|
|
18397
18569
|
function getOperators() {
|
|
18398
18570
|
return {
|
|
18399
18571
|
and,
|
|
@@ -18530,7 +18702,7 @@ function mapRelationalRow(tablesConfig, tableConfig, row, buildQueryResultSelect
|
|
|
18530
18702
|
}
|
|
18531
18703
|
var Relation, Relations, One, Many;
|
|
18532
18704
|
var init_relations = __esm({
|
|
18533
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18705
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/relations.js"() {
|
|
18534
18706
|
"use strict";
|
|
18535
18707
|
init_table();
|
|
18536
18708
|
init_column();
|
|
@@ -18592,32 +18764,32 @@ var init_relations = __esm({
|
|
|
18592
18764
|
}
|
|
18593
18765
|
});
|
|
18594
18766
|
|
|
18595
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18767
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/functions/aggregate.js
|
|
18596
18768
|
var init_aggregate = __esm({
|
|
18597
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18769
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/functions/aggregate.js"() {
|
|
18598
18770
|
"use strict";
|
|
18599
18771
|
}
|
|
18600
18772
|
});
|
|
18601
18773
|
|
|
18602
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18774
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/functions/vector.js
|
|
18603
18775
|
var init_vector2 = __esm({
|
|
18604
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18776
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/functions/vector.js"() {
|
|
18605
18777
|
"use strict";
|
|
18606
18778
|
}
|
|
18607
18779
|
});
|
|
18608
18780
|
|
|
18609
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18781
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/functions/index.js
|
|
18610
18782
|
var init_functions = __esm({
|
|
18611
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18783
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/functions/index.js"() {
|
|
18612
18784
|
"use strict";
|
|
18613
18785
|
init_aggregate();
|
|
18614
18786
|
init_vector2();
|
|
18615
18787
|
}
|
|
18616
18788
|
});
|
|
18617
18789
|
|
|
18618
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18790
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/index.js
|
|
18619
18791
|
var init_sql2 = __esm({
|
|
18620
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18792
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/sql/index.js"() {
|
|
18621
18793
|
"use strict";
|
|
18622
18794
|
init_expressions();
|
|
18623
18795
|
init_functions();
|
|
@@ -18625,10 +18797,10 @@ var init_sql2 = __esm({
|
|
|
18625
18797
|
}
|
|
18626
18798
|
});
|
|
18627
18799
|
|
|
18628
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18800
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/view-base.js
|
|
18629
18801
|
var PgViewBase;
|
|
18630
18802
|
var init_view_base = __esm({
|
|
18631
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18803
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/view-base.js"() {
|
|
18632
18804
|
"use strict";
|
|
18633
18805
|
init_entity();
|
|
18634
18806
|
init_sql();
|
|
@@ -18638,10 +18810,10 @@ var init_view_base = __esm({
|
|
|
18638
18810
|
}
|
|
18639
18811
|
});
|
|
18640
18812
|
|
|
18641
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18813
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/dialect.js
|
|
18642
18814
|
var PgDialect;
|
|
18643
18815
|
var init_dialect = __esm({
|
|
18644
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
18816
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/dialect.js"() {
|
|
18645
18817
|
"use strict";
|
|
18646
18818
|
init_alias();
|
|
18647
18819
|
init_casing();
|
|
@@ -19764,10 +19936,10 @@ var init_dialect = __esm({
|
|
|
19764
19936
|
}
|
|
19765
19937
|
});
|
|
19766
19938
|
|
|
19767
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
19939
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/query-builders/query-builder.js
|
|
19768
19940
|
var TypedQueryBuilder;
|
|
19769
19941
|
var init_query_builder = __esm({
|
|
19770
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
19942
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/query-builders/query-builder.js"() {
|
|
19771
19943
|
"use strict";
|
|
19772
19944
|
init_entity();
|
|
19773
19945
|
TypedQueryBuilder = class {
|
|
@@ -19780,7 +19952,7 @@ var init_query_builder = __esm({
|
|
|
19780
19952
|
}
|
|
19781
19953
|
});
|
|
19782
19954
|
|
|
19783
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
19955
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/select.js
|
|
19784
19956
|
function createSetOperator(type, isAll) {
|
|
19785
19957
|
return (leftSelect, rightSelect, ...restSelects) => {
|
|
19786
19958
|
const setOperators = [rightSelect, ...restSelects].map((select) => ({
|
|
@@ -19800,7 +19972,7 @@ function createSetOperator(type, isAll) {
|
|
|
19800
19972
|
}
|
|
19801
19973
|
var PgSelectBuilder, PgSelectQueryBuilderBase, PgSelectBase, getPgSetOperators, union, unionAll, intersect, intersectAll, except, exceptAll;
|
|
19802
19974
|
var init_select2 = __esm({
|
|
19803
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
19975
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/select.js"() {
|
|
19804
19976
|
"use strict";
|
|
19805
19977
|
init_entity();
|
|
19806
19978
|
init_view_base();
|
|
@@ -20615,10 +20787,10 @@ var init_select2 = __esm({
|
|
|
20615
20787
|
}
|
|
20616
20788
|
});
|
|
20617
20789
|
|
|
20618
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
20790
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/query-builder.js
|
|
20619
20791
|
var QueryBuilder;
|
|
20620
20792
|
var init_query_builder2 = __esm({
|
|
20621
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
20793
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/query-builder.js"() {
|
|
20622
20794
|
"use strict";
|
|
20623
20795
|
init_entity();
|
|
20624
20796
|
init_dialect();
|
|
@@ -20713,7 +20885,7 @@ var init_query_builder2 = __esm({
|
|
|
20713
20885
|
}
|
|
20714
20886
|
});
|
|
20715
20887
|
|
|
20716
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
20888
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/view.js
|
|
20717
20889
|
function pgViewWithSchema(name, selection, schema) {
|
|
20718
20890
|
if (selection) {
|
|
20719
20891
|
return new ManualViewBuilder(name, selection, schema);
|
|
@@ -20728,7 +20900,7 @@ function pgMaterializedViewWithSchema(name, selection, schema) {
|
|
|
20728
20900
|
}
|
|
20729
20901
|
var DefaultViewBuilderCore, ViewBuilder, ManualViewBuilder, MaterializedViewBuilderCore, MaterializedViewBuilder, ManualMaterializedViewBuilder, PgView, PgMaterializedViewConfig, PgMaterializedView;
|
|
20730
20902
|
var init_view = __esm({
|
|
20731
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
20903
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/view.js"() {
|
|
20732
20904
|
"use strict";
|
|
20733
20905
|
init_entity();
|
|
20734
20906
|
init_selection_proxy();
|
|
@@ -20963,7 +21135,7 @@ var init_view = __esm({
|
|
|
20963
21135
|
}
|
|
20964
21136
|
});
|
|
20965
21137
|
|
|
20966
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21138
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/utils.js
|
|
20967
21139
|
function extractUsedTable(table) {
|
|
20968
21140
|
if (is(table, PgTable)) {
|
|
20969
21141
|
return [table[Schema] ? `${table[Schema]}.${table[Table.Symbol.BaseName]}` : table[Table.Symbol.BaseName]];
|
|
@@ -20977,7 +21149,7 @@ function extractUsedTable(table) {
|
|
|
20977
21149
|
return [];
|
|
20978
21150
|
}
|
|
20979
21151
|
var init_utils3 = __esm({
|
|
20980
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21152
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/utils.js"() {
|
|
20981
21153
|
"use strict";
|
|
20982
21154
|
init_entity();
|
|
20983
21155
|
init_table2();
|
|
@@ -20987,10 +21159,10 @@ var init_utils3 = __esm({
|
|
|
20987
21159
|
}
|
|
20988
21160
|
});
|
|
20989
21161
|
|
|
20990
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21162
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/delete.js
|
|
20991
21163
|
var PgDeleteBase;
|
|
20992
21164
|
var init_delete = __esm({
|
|
20993
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21165
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/delete.js"() {
|
|
20994
21166
|
"use strict";
|
|
20995
21167
|
init_entity();
|
|
20996
21168
|
init_query_promise();
|
|
@@ -21096,10 +21268,10 @@ var init_delete = __esm({
|
|
|
21096
21268
|
}
|
|
21097
21269
|
});
|
|
21098
21270
|
|
|
21099
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21271
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/insert.js
|
|
21100
21272
|
var PgInsertBuilder, PgInsertBase;
|
|
21101
21273
|
var init_insert = __esm({
|
|
21102
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21274
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/insert.js"() {
|
|
21103
21275
|
"use strict";
|
|
21104
21276
|
init_entity();
|
|
21105
21277
|
init_query_promise();
|
|
@@ -21304,10 +21476,10 @@ var init_insert = __esm({
|
|
|
21304
21476
|
}
|
|
21305
21477
|
});
|
|
21306
21478
|
|
|
21307
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21479
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.js
|
|
21308
21480
|
var PgRefreshMaterializedView;
|
|
21309
21481
|
var init_refresh_materialized_view = __esm({
|
|
21310
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21482
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.js"() {
|
|
21311
21483
|
"use strict";
|
|
21312
21484
|
init_entity();
|
|
21313
21485
|
init_query_promise();
|
|
@@ -21367,17 +21539,17 @@ var init_refresh_materialized_view = __esm({
|
|
|
21367
21539
|
}
|
|
21368
21540
|
});
|
|
21369
21541
|
|
|
21370
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21542
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/select.types.js
|
|
21371
21543
|
var init_select_types = __esm({
|
|
21372
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21544
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/select.types.js"() {
|
|
21373
21545
|
"use strict";
|
|
21374
21546
|
}
|
|
21375
21547
|
});
|
|
21376
21548
|
|
|
21377
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21549
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/update.js
|
|
21378
21550
|
var PgUpdateBuilder, PgUpdateBase;
|
|
21379
21551
|
var init_update = __esm({
|
|
21380
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21552
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/update.js"() {
|
|
21381
21553
|
"use strict";
|
|
21382
21554
|
init_entity();
|
|
21383
21555
|
init_table2();
|
|
@@ -21602,9 +21774,9 @@ var init_update = __esm({
|
|
|
21602
21774
|
}
|
|
21603
21775
|
});
|
|
21604
21776
|
|
|
21605
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21777
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/index.js
|
|
21606
21778
|
var init_query_builders = __esm({
|
|
21607
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21779
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/index.js"() {
|
|
21608
21780
|
"use strict";
|
|
21609
21781
|
init_delete();
|
|
21610
21782
|
init_insert();
|
|
@@ -21616,10 +21788,10 @@ var init_query_builders = __esm({
|
|
|
21616
21788
|
}
|
|
21617
21789
|
});
|
|
21618
21790
|
|
|
21619
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21791
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/count.js
|
|
21620
21792
|
var PgCountBuilder;
|
|
21621
21793
|
var init_count = __esm({
|
|
21622
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21794
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/count.js"() {
|
|
21623
21795
|
"use strict";
|
|
21624
21796
|
init_entity();
|
|
21625
21797
|
init_sql();
|
|
@@ -21675,10 +21847,10 @@ var init_count = __esm({
|
|
|
21675
21847
|
}
|
|
21676
21848
|
});
|
|
21677
21849
|
|
|
21678
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21850
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/query.js
|
|
21679
21851
|
var RelationalQueryBuilder, PgRelationalQuery;
|
|
21680
21852
|
var init_query = __esm({
|
|
21681
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21853
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/query.js"() {
|
|
21682
21854
|
"use strict";
|
|
21683
21855
|
init_entity();
|
|
21684
21856
|
init_query_promise();
|
|
@@ -21798,10 +21970,10 @@ var init_query = __esm({
|
|
|
21798
21970
|
}
|
|
21799
21971
|
});
|
|
21800
21972
|
|
|
21801
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21973
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/raw.js
|
|
21802
21974
|
var PgRaw;
|
|
21803
21975
|
var init_raw = __esm({
|
|
21804
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
21976
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/query-builders/raw.js"() {
|
|
21805
21977
|
"use strict";
|
|
21806
21978
|
init_entity();
|
|
21807
21979
|
init_query_promise();
|
|
@@ -21835,10 +22007,10 @@ var init_raw = __esm({
|
|
|
21835
22007
|
}
|
|
21836
22008
|
});
|
|
21837
22009
|
|
|
21838
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22010
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/db.js
|
|
21839
22011
|
var PgDatabase;
|
|
21840
22012
|
var init_db = __esm({
|
|
21841
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22013
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/db.js"() {
|
|
21842
22014
|
"use strict";
|
|
21843
22015
|
init_entity();
|
|
21844
22016
|
init_query_builders();
|
|
@@ -22129,10 +22301,10 @@ var init_db = __esm({
|
|
|
22129
22301
|
}
|
|
22130
22302
|
});
|
|
22131
22303
|
|
|
22132
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22304
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/roles.js
|
|
22133
22305
|
var PgRole;
|
|
22134
22306
|
var init_roles = __esm({
|
|
22135
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22307
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/roles.js"() {
|
|
22136
22308
|
"use strict";
|
|
22137
22309
|
init_entity();
|
|
22138
22310
|
PgRole = class {
|
|
@@ -22161,13 +22333,13 @@ var init_roles = __esm({
|
|
|
22161
22333
|
}
|
|
22162
22334
|
});
|
|
22163
22335
|
|
|
22164
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22336
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/sequence.js
|
|
22165
22337
|
function pgSequenceWithSchema(name, options, schema) {
|
|
22166
22338
|
return new PgSequence(name, options, schema);
|
|
22167
22339
|
}
|
|
22168
22340
|
var PgSequence;
|
|
22169
22341
|
var init_sequence = __esm({
|
|
22170
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22342
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/sequence.js"() {
|
|
22171
22343
|
"use strict";
|
|
22172
22344
|
init_entity();
|
|
22173
22345
|
PgSequence = class {
|
|
@@ -22181,10 +22353,10 @@ var init_sequence = __esm({
|
|
|
22181
22353
|
}
|
|
22182
22354
|
});
|
|
22183
22355
|
|
|
22184
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22356
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/schema.js
|
|
22185
22357
|
var PgSchema;
|
|
22186
22358
|
var init_schema = __esm({
|
|
22187
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22359
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/schema.js"() {
|
|
22188
22360
|
"use strict";
|
|
22189
22361
|
init_entity();
|
|
22190
22362
|
init_sql();
|
|
@@ -22226,7 +22398,7 @@ var init_schema = __esm({
|
|
|
22226
22398
|
}
|
|
22227
22399
|
});
|
|
22228
22400
|
|
|
22229
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22401
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/cache/core/cache.js
|
|
22230
22402
|
async function hashQuery(sql2, params) {
|
|
22231
22403
|
const dataToHash = `${sql2}-${JSON.stringify(params)}`;
|
|
22232
22404
|
const encoder = new TextEncoder();
|
|
@@ -22238,7 +22410,7 @@ async function hashQuery(sql2, params) {
|
|
|
22238
22410
|
}
|
|
22239
22411
|
var Cache, NoopCache;
|
|
22240
22412
|
var init_cache = __esm({
|
|
22241
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22413
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/cache/core/cache.js"() {
|
|
22242
22414
|
"use strict";
|
|
22243
22415
|
init_entity();
|
|
22244
22416
|
Cache = class {
|
|
@@ -22260,10 +22432,10 @@ var init_cache = __esm({
|
|
|
22260
22432
|
}
|
|
22261
22433
|
});
|
|
22262
22434
|
|
|
22263
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22435
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/session.js
|
|
22264
22436
|
var PgPreparedQuery, PgSession, PgTransaction;
|
|
22265
22437
|
var init_session = __esm({
|
|
22266
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22438
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/session.js"() {
|
|
22267
22439
|
"use strict";
|
|
22268
22440
|
init_cache();
|
|
22269
22441
|
init_entity();
|
|
@@ -22432,24 +22604,24 @@ var init_session = __esm({
|
|
|
22432
22604
|
}
|
|
22433
22605
|
});
|
|
22434
22606
|
|
|
22435
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22607
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/subquery.js
|
|
22436
22608
|
var init_subquery2 = __esm({
|
|
22437
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22609
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/subquery.js"() {
|
|
22438
22610
|
"use strict";
|
|
22439
22611
|
}
|
|
22440
22612
|
});
|
|
22441
22613
|
|
|
22442
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22614
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/utils/index.js
|
|
22443
22615
|
var init_utils4 = __esm({
|
|
22444
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22616
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/utils/index.js"() {
|
|
22445
22617
|
"use strict";
|
|
22446
22618
|
init_array();
|
|
22447
22619
|
}
|
|
22448
22620
|
});
|
|
22449
22621
|
|
|
22450
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22622
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/index.js
|
|
22451
22623
|
var init_pg_core = __esm({
|
|
22452
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22624
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/pg-core/index.js"() {
|
|
22453
22625
|
"use strict";
|
|
22454
22626
|
init_alias2();
|
|
22455
22627
|
init_checks();
|
|
@@ -22475,10 +22647,10 @@ var init_pg_core = __esm({
|
|
|
22475
22647
|
}
|
|
22476
22648
|
});
|
|
22477
22649
|
|
|
22478
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22650
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/logger.js
|
|
22479
22651
|
var ConsoleLogWriter, DefaultLogger, NoopLogger;
|
|
22480
22652
|
var init_logger = __esm({
|
|
22481
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22653
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/logger.js"() {
|
|
22482
22654
|
"use strict";
|
|
22483
22655
|
init_entity();
|
|
22484
22656
|
ConsoleLogWriter = class {
|
|
@@ -22513,16 +22685,16 @@ var init_logger = __esm({
|
|
|
22513
22685
|
}
|
|
22514
22686
|
});
|
|
22515
22687
|
|
|
22516
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22688
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/operations.js
|
|
22517
22689
|
var init_operations = __esm({
|
|
22518
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22690
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/operations.js"() {
|
|
22519
22691
|
"use strict";
|
|
22520
22692
|
}
|
|
22521
22693
|
});
|
|
22522
22694
|
|
|
22523
|
-
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22695
|
+
// ../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/index.js
|
|
22524
22696
|
var init_drizzle_orm = __esm({
|
|
22525
|
-
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+
|
|
22697
|
+
"../../../../../.bun/install/cache/links/drizzle-orm@0.45.2+0e77e15670334f72-6b5b2d415608327f/node_modules/drizzle-orm/index.js"() {
|
|
22526
22698
|
"use strict";
|
|
22527
22699
|
init_alias();
|
|
22528
22700
|
init_column_builder();
|
|
@@ -22541,8 +22713,8 @@ var init_drizzle_orm = __esm({
|
|
|
22541
22713
|
}
|
|
22542
22714
|
});
|
|
22543
22715
|
|
|
22544
|
-
// ../../../../../.bun/install/cache/links/drizzle-zod@0.7.1+
|
|
22545
|
-
import { z as
|
|
22716
|
+
// ../../../../../.bun/install/cache/links/drizzle-zod@0.7.1+2b3f80f9e7a856f9-60f0bf5b170413db/node_modules/drizzle-zod/index.mjs
|
|
22717
|
+
import { z as z15 } from "zod";
|
|
22546
22718
|
function isColumnType(column, columnTypes) {
|
|
22547
22719
|
return columnTypes.includes(column.columnType);
|
|
22548
22720
|
}
|
|
@@ -22550,7 +22722,7 @@ function isWithEnum(column) {
|
|
|
22550
22722
|
return "enumValues" in column && Array.isArray(column.enumValues) && column.enumValues.length > 0;
|
|
22551
22723
|
}
|
|
22552
22724
|
function columnToSchema(column, factory) {
|
|
22553
|
-
const z$1 = factory?.zodInstance ??
|
|
22725
|
+
const z$1 = factory?.zodInstance ?? z15;
|
|
22554
22726
|
const coerce = factory?.coerce ?? {};
|
|
22555
22727
|
let schema;
|
|
22556
22728
|
if (isWithEnum(column)) {
|
|
@@ -22600,7 +22772,7 @@ function columnToSchema(column, factory) {
|
|
|
22600
22772
|
}
|
|
22601
22773
|
return schema;
|
|
22602
22774
|
}
|
|
22603
|
-
function numberColumnToSchema(column,
|
|
22775
|
+
function numberColumnToSchema(column, z35, coerce) {
|
|
22604
22776
|
let unsigned = column.getSQLType().includes("unsigned");
|
|
22605
22777
|
let min;
|
|
22606
22778
|
let max;
|
|
@@ -22668,20 +22840,20 @@ function numberColumnToSchema(column, z34, coerce) {
|
|
|
22668
22840
|
min = Number.MIN_SAFE_INTEGER;
|
|
22669
22841
|
max = Number.MAX_SAFE_INTEGER;
|
|
22670
22842
|
}
|
|
22671
|
-
let schema = coerce === true || coerce?.number ?
|
|
22843
|
+
let schema = coerce === true || coerce?.number ? z35.coerce.number() : z35.number();
|
|
22672
22844
|
schema = schema.min(min).max(max);
|
|
22673
22845
|
return integer2 ? schema.int() : schema;
|
|
22674
22846
|
}
|
|
22675
|
-
function bigintColumnToSchema(column,
|
|
22847
|
+
function bigintColumnToSchema(column, z35, coerce) {
|
|
22676
22848
|
const unsigned = column.getSQLType().includes("unsigned");
|
|
22677
22849
|
const min = unsigned ? 0n : CONSTANTS.INT64_MIN;
|
|
22678
22850
|
const max = unsigned ? CONSTANTS.INT64_UNSIGNED_MAX : CONSTANTS.INT64_MAX;
|
|
22679
|
-
const schema = coerce === true || coerce?.bigint ?
|
|
22851
|
+
const schema = coerce === true || coerce?.bigint ? z35.coerce.bigint() : z35.bigint();
|
|
22680
22852
|
return schema.min(min).max(max);
|
|
22681
22853
|
}
|
|
22682
|
-
function stringColumnToSchema(column,
|
|
22854
|
+
function stringColumnToSchema(column, z35, coerce) {
|
|
22683
22855
|
if (isColumnType(column, ["PgUUID"])) {
|
|
22684
|
-
return
|
|
22856
|
+
return z35.string().uuid();
|
|
22685
22857
|
}
|
|
22686
22858
|
let max;
|
|
22687
22859
|
let regex;
|
|
@@ -22713,7 +22885,7 @@ function stringColumnToSchema(column, z34, coerce) {
|
|
|
22713
22885
|
regex = /^[01]+$/;
|
|
22714
22886
|
max = column.dimensions;
|
|
22715
22887
|
}
|
|
22716
|
-
let schema = coerce === true || coerce?.string ?
|
|
22888
|
+
let schema = coerce === true || coerce?.string ? z35.coerce.string() : z35.string();
|
|
22717
22889
|
schema = regex ? schema.regex(regex) : schema;
|
|
22718
22890
|
return max && fixed ? schema.length(max) : max ? schema.max(max) : schema;
|
|
22719
22891
|
}
|
|
@@ -22734,7 +22906,7 @@ function handleColumns(columns, refinements, conditions, factory) {
|
|
|
22734
22906
|
continue;
|
|
22735
22907
|
}
|
|
22736
22908
|
const column = is(selected, Column) ? selected : void 0;
|
|
22737
|
-
const schema = column ? columnToSchema(column, factory) :
|
|
22909
|
+
const schema = column ? columnToSchema(column, factory) : z15.any();
|
|
22738
22910
|
const refined = typeof refinement === "function" ? refinement(schema) : schema;
|
|
22739
22911
|
if (conditions.never(column)) {
|
|
22740
22912
|
continue;
|
|
@@ -22750,15 +22922,15 @@ function handleColumns(columns, refinements, conditions, factory) {
|
|
|
22750
22922
|
}
|
|
22751
22923
|
}
|
|
22752
22924
|
}
|
|
22753
|
-
return
|
|
22925
|
+
return z15.object(columnSchemas);
|
|
22754
22926
|
}
|
|
22755
22927
|
function handleEnum(enum_, factory) {
|
|
22756
|
-
const zod = factory?.zodInstance ??
|
|
22928
|
+
const zod = factory?.zodInstance ?? z15;
|
|
22757
22929
|
return zod.enum(enum_.enumValues);
|
|
22758
22930
|
}
|
|
22759
22931
|
var CONSTANTS, isPgEnum2, literalSchema, jsonSchema, bufferSchema, selectConditions, insertConditions, createSelectSchema, createInsertSchema;
|
|
22760
22932
|
var init_drizzle_zod = __esm({
|
|
22761
|
-
"../../../../../.bun/install/cache/links/drizzle-zod@0.7.1+
|
|
22933
|
+
"../../../../../.bun/install/cache/links/drizzle-zod@0.7.1+2b3f80f9e7a856f9-60f0bf5b170413db/node_modules/drizzle-zod/index.mjs"() {
|
|
22762
22934
|
"use strict";
|
|
22763
22935
|
init_drizzle_orm();
|
|
22764
22936
|
CONSTANTS = {
|
|
@@ -22782,9 +22954,9 @@ var init_drizzle_zod = __esm({
|
|
|
22782
22954
|
INT64_UNSIGNED_MAX: 18446744073709551615n
|
|
22783
22955
|
};
|
|
22784
22956
|
isPgEnum2 = isWithEnum;
|
|
22785
|
-
literalSchema =
|
|
22786
|
-
jsonSchema =
|
|
22787
|
-
bufferSchema =
|
|
22957
|
+
literalSchema = z15.union([z15.string(), z15.number(), z15.boolean(), z15.null()]);
|
|
22958
|
+
jsonSchema = z15.union([literalSchema, z15.record(z15.any()), z15.array(z15.any())]);
|
|
22959
|
+
bufferSchema = z15.custom((v) => v instanceof Buffer);
|
|
22788
22960
|
selectConditions = {
|
|
22789
22961
|
never: () => false,
|
|
22790
22962
|
optional: () => false,
|
|
@@ -22810,7 +22982,7 @@ var init_drizzle_zod = __esm({
|
|
|
22810
22982
|
});
|
|
22811
22983
|
|
|
22812
22984
|
// ../shared/src/schema.ts
|
|
22813
|
-
import { z as
|
|
22985
|
+
import { z as z16 } from "zod";
|
|
22814
22986
|
var vector2, messageRoleEnum, messageTypeEnum, designSystemStatusEnum, onboardingPathValues, onboardingPathSchema, onboardingPathSqlValues, mcpIssueCategoryValues, mcpIssueStatusValues, mcpIssueImprovementStatusValues, mcpIssueImprovementVerdictValues, mcpIssueImprovementStatusSchema, mcpIssueImprovementVerdictSchema, mcpIssueImprovementStatusSqlValues, mcpIssueImprovementVerdictSqlValues, designConfigSchema, projectMemoryDataSchema, projects, messages, projectMemory, fragments, usage, scrapeBlock, resourceAccess, user, signupAlertDeliveries, billingAlertDeliveries, TEAM_RULES_MAX_BYTES, teamRules, billingSubscription, githubInstallationClaim, githubInstallation, featureAccess, session, account, verification, jwks, oauthClient, oauthRefreshToken, oauthAccessToken, oauthConsent, designSystems, designSystemComponents, foundationalDocs, apiKeys, emailCampaignSends, emailCampaignSteps, projectEvents, iconLibraries, dsSearchQueries, mcpToolCalls, mcpClientConnections, evalVerdicts, generationInputs, mcpIssues, mcpIssueImprovements, projectsRelations, projectMemoryRelations, mcpIssuesRelations, mcpIssueImprovementsRelations, messagesRelations, fragmentsRelations, designSystemsRelations, designSystemComponentsRelations, insertProjectSchema, selectProjectSchema, insertMessageSchema, selectMessageSchema, insertFragmentSchema, selectFragmentSchema, insertProjectMemorySchema, selectProjectMemorySchema, insertDesignSystemSchema, selectDesignSystemSchema, insertDesignSystemComponentSchema, selectDesignSystemComponentSchema, insertFoundationalDocSchema, selectFoundationalDocSchema, insertIconLibrarySchema, selectIconLibrarySchema, insertApiKeySchema, selectApiKeySchema, insertUserSchema, selectUserSchema, insertSignupAlertDeliverySchema, selectSignupAlertDeliverySchema, insertEmailCampaignSendSchema, selectEmailCampaignSendSchema, insertEmailCampaignStepSchema, selectEmailCampaignStepSchema, insertMcpIssueImprovementSchema, selectMcpIssueImprovementSchema, pluginAuthNonces;
|
|
22815
22987
|
var init_schema2 = __esm({
|
|
22816
22988
|
"../shared/src/schema.ts"() {
|
|
@@ -22845,7 +23017,7 @@ var init_schema2 = __esm({
|
|
|
22845
23017
|
"skip",
|
|
22846
23018
|
"legacy"
|
|
22847
23019
|
];
|
|
22848
|
-
onboardingPathSchema =
|
|
23020
|
+
onboardingPathSchema = z16.enum(onboardingPathValues);
|
|
22849
23021
|
onboardingPathSqlValues = sql.raw(
|
|
22850
23022
|
onboardingPathValues.map((path6) => `'${path6}'`).join(", ")
|
|
22851
23023
|
);
|
|
@@ -22868,10 +23040,10 @@ var init_schema2 = __esm({
|
|
|
22868
23040
|
"not_improved",
|
|
22869
23041
|
"inconclusive"
|
|
22870
23042
|
];
|
|
22871
|
-
mcpIssueImprovementStatusSchema =
|
|
23043
|
+
mcpIssueImprovementStatusSchema = z16.enum(
|
|
22872
23044
|
mcpIssueImprovementStatusValues
|
|
22873
23045
|
);
|
|
22874
|
-
mcpIssueImprovementVerdictSchema =
|
|
23046
|
+
mcpIssueImprovementVerdictSchema = z16.enum(
|
|
22875
23047
|
mcpIssueImprovementVerdictValues
|
|
22876
23048
|
);
|
|
22877
23049
|
mcpIssueImprovementStatusSqlValues = sql.raw(
|
|
@@ -22880,38 +23052,38 @@ var init_schema2 = __esm({
|
|
|
22880
23052
|
mcpIssueImprovementVerdictSqlValues = sql.raw(
|
|
22881
23053
|
mcpIssueImprovementVerdictValues.map((verdict) => `'${verdict}'`).join(", ")
|
|
22882
23054
|
);
|
|
22883
|
-
designConfigSchema =
|
|
22884
|
-
colors:
|
|
22885
|
-
primary:
|
|
22886
|
-
secondary:
|
|
22887
|
-
accent:
|
|
22888
|
-
muted:
|
|
22889
|
-
destructive:
|
|
22890
|
-
background:
|
|
22891
|
-
foreground:
|
|
22892
|
-
card:
|
|
22893
|
-
cardForeground:
|
|
22894
|
-
popover:
|
|
22895
|
-
popoverForeground:
|
|
22896
|
-
border:
|
|
22897
|
-
input:
|
|
22898
|
-
ring:
|
|
23055
|
+
designConfigSchema = z16.object({
|
|
23056
|
+
colors: z16.object({
|
|
23057
|
+
primary: z16.string(),
|
|
23058
|
+
secondary: z16.string(),
|
|
23059
|
+
accent: z16.string(),
|
|
23060
|
+
muted: z16.string(),
|
|
23061
|
+
destructive: z16.string(),
|
|
23062
|
+
background: z16.string(),
|
|
23063
|
+
foreground: z16.string(),
|
|
23064
|
+
card: z16.string(),
|
|
23065
|
+
cardForeground: z16.string(),
|
|
23066
|
+
popover: z16.string(),
|
|
23067
|
+
popoverForeground: z16.string(),
|
|
23068
|
+
border: z16.string(),
|
|
23069
|
+
input: z16.string(),
|
|
23070
|
+
ring: z16.string()
|
|
22899
23071
|
}).partial(),
|
|
22900
|
-
radius:
|
|
22901
|
-
font:
|
|
22902
|
-
sans:
|
|
22903
|
-
mono:
|
|
23072
|
+
radius: z16.string(),
|
|
23073
|
+
font: z16.object({
|
|
23074
|
+
sans: z16.string(),
|
|
23075
|
+
mono: z16.string()
|
|
22904
23076
|
}).partial(),
|
|
22905
|
-
icons:
|
|
22906
|
-
libraryId:
|
|
22907
|
-
variant:
|
|
23077
|
+
icons: z16.object({
|
|
23078
|
+
libraryId: z16.string(),
|
|
23079
|
+
variant: z16.string().nullable()
|
|
22908
23080
|
}).partial()
|
|
22909
23081
|
}).partial();
|
|
22910
|
-
projectMemoryDataSchema =
|
|
22911
|
-
lockedIn:
|
|
22912
|
-
rejected:
|
|
22913
|
-
tone:
|
|
22914
|
-
notes:
|
|
23082
|
+
projectMemoryDataSchema = z16.object({
|
|
23083
|
+
lockedIn: z16.array(z16.string()),
|
|
23084
|
+
rejected: z16.array(z16.string()),
|
|
23085
|
+
tone: z16.string().nullable(),
|
|
23086
|
+
notes: z16.string().nullable()
|
|
22915
23087
|
});
|
|
22916
23088
|
projects = pgTable("projects", {
|
|
22917
23089
|
id: uuid("id").primaryKey().defaultRandom(),
|
|
@@ -23963,7 +24135,7 @@ var init_schema2 = __esm({
|
|
|
23963
24135
|
});
|
|
23964
24136
|
|
|
23965
24137
|
// ../shared/src/mcp/tools/design-config-tools.ts
|
|
23966
|
-
import { z as
|
|
24138
|
+
import { z as z17 } from "zod";
|
|
23967
24139
|
function registerDesignConfigTools({
|
|
23968
24140
|
server,
|
|
23969
24141
|
tracked,
|
|
@@ -24014,7 +24186,7 @@ function registerDesignConfigTools({
|
|
|
24014
24186
|
{
|
|
24015
24187
|
title: "Get a Project's Tuned Design Config",
|
|
24016
24188
|
description: `Read the user-tuned design config (exact color tokens, radius, fonts, icon library) of a generated project. Call this BEFORE building or restyling UI for the project, and again after the user tunes values on the project page, so you apply their exact numbers instead of guessing from adjectives.`,
|
|
24017
|
-
inputSchema:
|
|
24189
|
+
inputSchema: z17.object({
|
|
24018
24190
|
projectId: PROJECT_ID_ARG,
|
|
24019
24191
|
context: CONTEXT_ARG
|
|
24020
24192
|
}),
|
|
@@ -24043,7 +24215,7 @@ function registerDesignConfigTools({
|
|
|
24043
24215
|
{
|
|
24044
24216
|
title: "Set a Project's Design Config",
|
|
24045
24217
|
description: `Write exact design-token values (colors, radius, fonts, icon library) onto a generated project. Use this when the user states concrete values ("make primary oklch(0.62 0.11 45)", "radius 12px"). It merges over the current config and persists, so the change survives restarts and every later get-design-config returns it. Saved config is publicly readable by anyone with the fragment config URL. For vague direction ("warmer", "more playful"), iterate with the user toward concrete values first; do not invent numbers on their behalf.`,
|
|
24046
|
-
inputSchema:
|
|
24218
|
+
inputSchema: z17.object({
|
|
24047
24219
|
projectId: PROJECT_ID_ARG,
|
|
24048
24220
|
config: CONFIG_ARG,
|
|
24049
24221
|
context: CONTEXT_ARG
|
|
@@ -24094,7 +24266,7 @@ var init_design_config_tools = __esm({
|
|
|
24094
24266
|
"use strict";
|
|
24095
24267
|
init_schema2();
|
|
24096
24268
|
init_shared();
|
|
24097
|
-
PROJECT_ID_ARG =
|
|
24269
|
+
PROJECT_ID_ARG = z17.string().min(1).describe("The project id returned by create-design-system.");
|
|
24098
24270
|
CONFIG_ARG = designConfigSchema.describe(
|
|
24099
24271
|
"Partial design config to merge over the current one. Only pass the fields the user changed. Colors are oklch() strings (e.g. 'oklch(0.62 0.11 45)'); radius is a CSS length (e.g. '0.75rem'); fonts are family names."
|
|
24100
24272
|
);
|
|
@@ -24102,16 +24274,16 @@ var init_design_config_tools = __esm({
|
|
|
24102
24274
|
});
|
|
24103
24275
|
|
|
24104
24276
|
// ../shared/src/mcp/tools/jig-tools.ts
|
|
24105
|
-
import { z as
|
|
24277
|
+
import { z as z18 } from "zod";
|
|
24106
24278
|
function registerJigTools({ server, tracked }) {
|
|
24107
24279
|
server.registerTool(
|
|
24108
24280
|
"get-jig-guide",
|
|
24109
24281
|
{
|
|
24110
24282
|
title: "Get a Jig for Parameter Work",
|
|
24111
24283
|
description: `Return the setup for a "jig", the tool you build to make the real thing precisely. Two kinds, both here. Use kind "tune-in-place" (default) when you are about to hard-code taste-based values in UI you are building: animation duration/easing/springs/stagger, particles, canvas physics, blur/glow/grain, gradient stops, shadow recipes, parallax speeds. It returns a control panel to wire to those parameters so the USER tunes by eye and you hard-code what they copy back. Use kind "standalone-tool" when the user wants a reusable custom tool instead: a generator, an image effect, a shader playground, an asset maker. That returns the Toolcraft starter kit (MIT), which ships a canvas and an export flow, with optional layers and a timeline. Tuning setups: React recommends DialKit (MIT, no re-render lag) with a dependency-free fallback; "vanilla" and "react-native" get dependency-free scaffolds.`,
|
|
24112
|
-
inputSchema:
|
|
24113
|
-
kind:
|
|
24114
|
-
framework:
|
|
24284
|
+
inputSchema: z18.object({
|
|
24285
|
+
kind: z18.enum(["tune-in-place", "standalone-tool"]).default("tune-in-place").describe("What the user needs. 'tune-in-place' (default): a control panel for parameters in the UI you are building. 'standalone-tool': a separate reusable design tool, scaffolded with Toolcraft."),
|
|
24286
|
+
framework: z18.enum(["react", "vanilla", "react-native"]).optional().describe("Which tune-in-place setup to return. 'react' (default) for React/Next web projects; 'vanilla' for plain DOM or canvas work; 'react-native' for RN/Expo apps. Ignored when kind is 'standalone-tool'."),
|
|
24115
24287
|
context: CONTEXT_ARG
|
|
24116
24288
|
}),
|
|
24117
24289
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -24943,20 +25115,12 @@ var init_brand_sources = __esm({
|
|
|
24943
25115
|
});
|
|
24944
25116
|
|
|
24945
25117
|
// ../shared/src/mcp/tools/extract-tools.ts
|
|
24946
|
-
import { z as
|
|
25118
|
+
import { z as z19 } from "zod";
|
|
24947
25119
|
function authHeaders2(authContext) {
|
|
24948
25120
|
if (!authContext) return {};
|
|
24949
25121
|
const bearer = authContext.kind === "api-key" ? authContext.apiKey : authContext.accessToken;
|
|
24950
25122
|
return { Authorization: `Bearer ${bearer}` };
|
|
24951
25123
|
}
|
|
24952
|
-
function redactUrl(raw) {
|
|
24953
|
-
try {
|
|
24954
|
-
const u = new URL(raw);
|
|
24955
|
-
return `${u.origin}${u.pathname}`;
|
|
24956
|
-
} catch {
|
|
24957
|
-
return "[redacted]";
|
|
24958
|
-
}
|
|
24959
|
-
}
|
|
24960
25124
|
function fitSheet(text3, maxTokens) {
|
|
24961
25125
|
if (!maxTokens) return text3;
|
|
24962
25126
|
return truncateToTokens(text3, Math.max(0, maxTokens - NOTE_TOKENS));
|
|
@@ -24988,15 +25152,15 @@ JSON.stringify(${buildRoleSampleScript()})
|
|
|
24988
25152
|
- kind "tokens": a design-tokens JSON export ($value entries, W3C format or the Figma variables API shape with 0..1 rgb floats).
|
|
24989
25153
|
|
|
24990
25154
|
Common vendor names (Shopify's --color-button family) are mapped into empty semantic slots automatically and the mapping is reported in the output.`,
|
|
24991
|
-
inputSchema:
|
|
24992
|
-
css:
|
|
24993
|
-
sources:
|
|
24994
|
-
name:
|
|
24995
|
-
kind:
|
|
24996
|
-
content:
|
|
25155
|
+
inputSchema: z19.object({
|
|
25156
|
+
css: z19.string().trim().min(1).max(2e5).optional().describe("Full contents of the project's globals.css (or any CSS holding the design tokens / CSS custom properties). Optional when `sources` is given."),
|
|
25157
|
+
sources: z19.array(z19.object({
|
|
25158
|
+
name: z19.string().trim().min(1).max(120).describe("Label for this source, e.g. 'globals.css', 'live site sample', 'figma variables'."),
|
|
25159
|
+
kind: z19.enum(["css", "computed", "tokens"]).optional().describe("Omit to infer: JSON with $value entries is tokens, JSON keyed by UI roles is computed, anything else is CSS."),
|
|
25160
|
+
content: z19.string().trim().min(1).max(2e5)
|
|
24997
25161
|
})).max(10).optional().describe("Any mix of brand sources, merged in order (later sources win). See the tool description for how to gather each kind."),
|
|
24998
|
-
name:
|
|
24999
|
-
maxTokens:
|
|
25162
|
+
name: z19.string().trim().min(1).max(120).optional().describe("Optional label for the extracted system, e.g. the app or repo name."),
|
|
25163
|
+
maxTokens: z19.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates the token sheet to fit.")
|
|
25000
25164
|
}),
|
|
25001
25165
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
25002
25166
|
},
|
|
@@ -25027,10 +25191,10 @@ Common vendor names (Shopify's --color-button family) are mapped into empty sema
|
|
|
25027
25191
|
Use this when the user names their site ("match uclips.eu", "use our website's style") or hands you any public URL whose look should be reused. Server side, Better Design fetches the page's stylesheets AND renders the page in a headless browser to sample what role elements actually look like (body, heading, link, button, input, card), then merges both, rendered truth last. That reads the brand even when the site's variable names are unrecognizable.
|
|
25028
25192
|
|
|
25029
25193
|
Slow by nature (a real browser loads the page): expect 10 to 45 seconds. For CSS the user already has locally, prefer extract-design-system, which is instant.`,
|
|
25030
|
-
inputSchema:
|
|
25031
|
-
url:
|
|
25032
|
-
name:
|
|
25033
|
-
maxTokens:
|
|
25194
|
+
inputSchema: z19.object({
|
|
25195
|
+
url: z19.string().trim().min(8).max(2048).describe("Public http(s) URL of the page to read, usually the homepage."),
|
|
25196
|
+
name: z19.string().trim().min(1).max(120).optional().describe("Optional label for the extracted system. Defaults to the site's hostname."),
|
|
25197
|
+
maxTokens: z19.number().min(500).max(5e4).optional().describe("Maximum tokens to return. Truncates the token sheet to fit.")
|
|
25034
25198
|
}),
|
|
25035
25199
|
// Reads any public page the user names, so the set of hosts it reaches is
|
|
25036
25200
|
// the open web, not Better Design's catalog. It stores nothing. [BD-316]
|
|
@@ -25067,6 +25231,7 @@ var init_extract_tools = __esm({
|
|
|
25067
25231
|
"use strict";
|
|
25068
25232
|
init_shared();
|
|
25069
25233
|
init_extract_design_system();
|
|
25234
|
+
init_redact();
|
|
25070
25235
|
init_brand_sources();
|
|
25071
25236
|
REFERENCE_NOTE = [
|
|
25072
25237
|
"What this sheet does not carry: an oversized blurred gradient, a frosted panel, a glow, a stagger on load, an easing curve.",
|
|
@@ -25079,7 +25244,7 @@ var init_extract_tools = __esm({
|
|
|
25079
25244
|
});
|
|
25080
25245
|
|
|
25081
25246
|
// ../shared/src/mcp/tools/illustration-tools.ts
|
|
25082
|
-
import { z as
|
|
25247
|
+
import { z as z20 } from "zod";
|
|
25083
25248
|
function fail(message) {
|
|
25084
25249
|
return {
|
|
25085
25250
|
content: [{ type: "text", text: message }],
|
|
@@ -25125,11 +25290,11 @@ How to call it:
|
|
|
25125
25290
|
4. Stop when \`faults\` is empty.
|
|
25126
25291
|
|
|
25127
25292
|
Markup carrying script, event handlers, remote references, or styles that reach outside the drawing is refused rather than cleaned, so the drawing you fix is the drawing you sent.`,
|
|
25128
|
-
inputSchema:
|
|
25129
|
-
svg:
|
|
25130
|
-
intent:
|
|
25131
|
-
animated:
|
|
25132
|
-
reviewToken:
|
|
25293
|
+
inputSchema: z20.object({
|
|
25294
|
+
svg: z20.string().min(1).describe("The complete svg element you drew."),
|
|
25295
|
+
intent: z20.string().min(1).describe('What it is meant to be, in plain words. For example "an open inbox tray with letters".'),
|
|
25296
|
+
animated: z20.boolean().optional().describe("Set when the drawing was meant to move, so the motion checks apply."),
|
|
25297
|
+
reviewToken: z20.string().optional().describe("The token from a previous review of this drawing. Reviews it again free.")
|
|
25133
25298
|
}),
|
|
25134
25299
|
outputSchema: REVIEW_OUTPUT_SCHEMA,
|
|
25135
25300
|
// A review without a valid reviewToken passes the paywall, so it spends
|
|
@@ -25208,16 +25373,16 @@ var init_illustration_tools = __esm({
|
|
|
25208
25373
|
init_shared();
|
|
25209
25374
|
REVIEW_OUTPUT_SCHEMA = {
|
|
25210
25375
|
/** Empty when nothing is visibly wrong. */
|
|
25211
|
-
faults:
|
|
25376
|
+
faults: z20.array(z20.string()),
|
|
25212
25377
|
/** Group ids in paint order, the parts an animation can target. */
|
|
25213
|
-
layers:
|
|
25378
|
+
layers: z20.array(z20.string()),
|
|
25214
25379
|
/** False when the markup was refused; faults says why. */
|
|
25215
|
-
reviewed:
|
|
25380
|
+
reviewed: z20.boolean(),
|
|
25216
25381
|
/** True when the drawing could not be rendered, so only structure was checked. */
|
|
25217
|
-
unseen:
|
|
25382
|
+
unseen: z20.boolean(),
|
|
25218
25383
|
/** Pass this back to review the same drawing again without spending another credit. */
|
|
25219
|
-
reviewToken:
|
|
25220
|
-
message:
|
|
25384
|
+
reviewToken: z20.string(),
|
|
25385
|
+
message: z20.string()
|
|
25221
25386
|
};
|
|
25222
25387
|
}
|
|
25223
25388
|
});
|
|
@@ -26579,7 +26744,7 @@ ul.evidence { padding-inline-start: 1rem; }
|
|
|
26579
26744
|
});
|
|
26580
26745
|
|
|
26581
26746
|
// ../shared/src/mcp/tools/inspection-tools.ts
|
|
26582
|
-
import { z as
|
|
26747
|
+
import { z as z21 } from "zod";
|
|
26583
26748
|
function coversRecommendedWidth(states, width) {
|
|
26584
26749
|
return states.some(
|
|
26585
26750
|
(state) => Math.abs(state.viewport.width - width) <= WIDTH_TOLERANCE
|
|
@@ -26641,30 +26806,30 @@ Workflow:
|
|
|
26641
26806
|
3. Call again with the captured states and the project's spacing scale when known. The layout counts as measured only when this second call returns status \`completed\`; reading the snapshot yourself is not a measurement. The report and summary start with the highest-priority correction. Read structuredContent.findings or use detail: "full" for every returned finding, measurement, and fix. Structured evidence retains captured geometry and optional screenshots for report renderers.
|
|
26642
26807
|
|
|
26643
26808
|
The capture reads visible layout geometry, computed spacing, corner radii, surface styles, the number of line boxes each text block rendered, and short accessible labels for interactive controls. It does not collect source code, cookies, form values, or network data. Add data-bd-inspect-label, data-bd-symmetry, data-bd-group, data-bd-compare-size, data-bd-align-group, and data-bd-align-edge attributes when the intended relationship cannot be inferred safely.`,
|
|
26644
|
-
inputSchema:
|
|
26645
|
-
states:
|
|
26646
|
-
spacingScale:
|
|
26809
|
+
inputSchema: z21.object({
|
|
26810
|
+
states: z21.array(spacingStateSchema).min(1).max(6).optional().describe("Rendered layout states from the capture script. Omit on the first call to receive the script."),
|
|
26811
|
+
spacingScale: z21.array(finiteNumber.positive()).min(2).max(32).optional().describe("Project spacing tokens in CSS pixels. Defaults to 4, 8, 12, 16, 24, 32, 48, 64, 96, 128."),
|
|
26647
26812
|
tolerance: finiteNumber.min(0).max(4).optional().describe("Pixel tolerance for grouping measurements. Defaults to 1px."),
|
|
26648
|
-
detail:
|
|
26813
|
+
detail: z21.enum(["summary", "full"]).default("summary").describe("Defaults to a short summary alongside the inline report. Use full for the capture script or all findings and measurements in text-only clients."),
|
|
26649
26814
|
context: CONTEXT_ARG
|
|
26650
26815
|
}),
|
|
26651
|
-
outputSchema:
|
|
26652
|
-
status:
|
|
26653
|
-
score:
|
|
26654
|
-
summary:
|
|
26655
|
-
critical:
|
|
26656
|
-
serious:
|
|
26657
|
-
moderate:
|
|
26658
|
-
total:
|
|
26659
|
-
truncated:
|
|
26816
|
+
outputSchema: z21.object({
|
|
26817
|
+
status: z21.enum(["needs-capture", "completed"]),
|
|
26818
|
+
score: z21.number().optional(),
|
|
26819
|
+
summary: z21.object({
|
|
26820
|
+
critical: z21.number(),
|
|
26821
|
+
serious: z21.number(),
|
|
26822
|
+
moderate: z21.number(),
|
|
26823
|
+
total: z21.number(),
|
|
26824
|
+
truncated: z21.number().optional()
|
|
26660
26825
|
}).optional(),
|
|
26661
|
-
findings:
|
|
26662
|
-
capturedWidths:
|
|
26663
|
-
missingWidths:
|
|
26664
|
-
states:
|
|
26665
|
-
rubric:
|
|
26666
|
-
rubricStatus:
|
|
26667
|
-
captureScript:
|
|
26826
|
+
findings: z21.array(findingSchema).optional(),
|
|
26827
|
+
capturedWidths: z21.array(z21.number()).optional(),
|
|
26828
|
+
missingWidths: z21.array(z21.number()).optional(),
|
|
26829
|
+
states: z21.array(overlayStateSchema).optional(),
|
|
26830
|
+
rubric: z21.array(z21.object({ id: z21.string(), title: z21.string() })).optional(),
|
|
26831
|
+
rubricStatus: z21.enum(["loaded", "unavailable"]).optional(),
|
|
26832
|
+
captureScript: z21.string().optional()
|
|
26668
26833
|
}),
|
|
26669
26834
|
annotations: READ_ONLY_TOOL_ANNOTATIONS,
|
|
26670
26835
|
_meta: {
|
|
@@ -26749,67 +26914,67 @@ var init_inspection_tools = __esm({
|
|
|
26749
26914
|
init_finding_copy();
|
|
26750
26915
|
init_spacing_inspection_html();
|
|
26751
26916
|
init_shared();
|
|
26752
|
-
finiteNumber =
|
|
26753
|
-
rectSchema =
|
|
26917
|
+
finiteNumber = z21.number().finite();
|
|
26918
|
+
rectSchema = z21.object({
|
|
26754
26919
|
x: finiteNumber,
|
|
26755
26920
|
y: finiteNumber,
|
|
26756
26921
|
width: finiteNumber.nonnegative(),
|
|
26757
26922
|
height: finiteNumber.nonnegative()
|
|
26758
26923
|
});
|
|
26759
|
-
edgesSchema =
|
|
26924
|
+
edgesSchema = z21.object({
|
|
26760
26925
|
top: finiteNumber,
|
|
26761
26926
|
right: finiteNumber,
|
|
26762
26927
|
bottom: finiteNumber,
|
|
26763
26928
|
left: finiteNumber
|
|
26764
26929
|
});
|
|
26765
|
-
cornerRadiusAxesSchema =
|
|
26930
|
+
cornerRadiusAxesSchema = z21.object({
|
|
26766
26931
|
horizontal: finiteNumber.nonnegative(),
|
|
26767
26932
|
vertical: finiteNumber.nonnegative()
|
|
26768
26933
|
});
|
|
26769
|
-
cornerRadiusSchema =
|
|
26934
|
+
cornerRadiusSchema = z21.union([
|
|
26770
26935
|
cornerRadiusAxesSchema,
|
|
26771
26936
|
finiteNumber.nonnegative().transform((value) => ({
|
|
26772
26937
|
horizontal: value,
|
|
26773
26938
|
vertical: value
|
|
26774
26939
|
}))
|
|
26775
26940
|
]);
|
|
26776
|
-
cornerRadiiSchema =
|
|
26941
|
+
cornerRadiiSchema = z21.object({
|
|
26777
26942
|
topLeft: cornerRadiusSchema,
|
|
26778
26943
|
topRight: cornerRadiusSchema,
|
|
26779
26944
|
bottomRight: cornerRadiusSchema,
|
|
26780
26945
|
bottomLeft: cornerRadiusSchema
|
|
26781
26946
|
});
|
|
26782
|
-
styleSchema =
|
|
26783
|
-
display:
|
|
26784
|
-
position:
|
|
26785
|
-
flexDirection:
|
|
26786
|
-
flexWrap:
|
|
26787
|
-
alignItems:
|
|
26788
|
-
justifyContent:
|
|
26947
|
+
styleSchema = z21.object({
|
|
26948
|
+
display: z21.string().max(60).optional(),
|
|
26949
|
+
position: z21.string().max(60).optional(),
|
|
26950
|
+
flexDirection: z21.string().max(60).optional(),
|
|
26951
|
+
flexWrap: z21.string().max(60).optional(),
|
|
26952
|
+
alignItems: z21.string().max(60).optional(),
|
|
26953
|
+
justifyContent: z21.string().max(60).optional(),
|
|
26789
26954
|
rowGap: finiteNumber.optional(),
|
|
26790
26955
|
columnGap: finiteNumber.optional(),
|
|
26791
26956
|
padding: edgesSchema.optional(),
|
|
26792
26957
|
margin: edgesSchema.optional(),
|
|
26793
|
-
overflowX:
|
|
26794
|
-
overflowY:
|
|
26958
|
+
overflowX: z21.string().max(60).optional(),
|
|
26959
|
+
overflowY: z21.string().max(60).optional(),
|
|
26795
26960
|
borderRadius: cornerRadiiSchema.optional(),
|
|
26796
|
-
backgroundColor:
|
|
26797
|
-
backgroundImage:
|
|
26798
|
-
boxShadow:
|
|
26961
|
+
backgroundColor: z21.string().max(160).optional(),
|
|
26962
|
+
backgroundImage: z21.string().max(1e3).optional(),
|
|
26963
|
+
boxShadow: z21.string().max(1e3).optional()
|
|
26799
26964
|
});
|
|
26800
|
-
elementSchema =
|
|
26801
|
-
id:
|
|
26802
|
-
selector:
|
|
26803
|
-
tag:
|
|
26804
|
-
role:
|
|
26805
|
-
label:
|
|
26806
|
-
parentId:
|
|
26807
|
-
groupId:
|
|
26808
|
-
alignmentGroup:
|
|
26809
|
-
alignmentEdge:
|
|
26810
|
-
expectedSymmetry:
|
|
26811
|
-
compareSize:
|
|
26812
|
-
interactive:
|
|
26965
|
+
elementSchema = z21.object({
|
|
26966
|
+
id: z21.string().min(1).max(300),
|
|
26967
|
+
selector: z21.string().max(500).optional(),
|
|
26968
|
+
tag: z21.string().max(80).optional(),
|
|
26969
|
+
role: z21.string().max(80).optional(),
|
|
26970
|
+
label: z21.string().max(160).optional(),
|
|
26971
|
+
parentId: z21.string().max(300).optional(),
|
|
26972
|
+
groupId: z21.string().max(300).optional(),
|
|
26973
|
+
alignmentGroup: z21.string().max(300).optional(),
|
|
26974
|
+
alignmentEdge: z21.enum(["left", "right", "top", "bottom", "center-x", "center-y"]).optional(),
|
|
26975
|
+
expectedSymmetry: z21.enum(["horizontal", "vertical", "both"]).optional(),
|
|
26976
|
+
compareSize: z21.enum(["width", "height", "both"]).optional(),
|
|
26977
|
+
interactive: z21.boolean().optional(),
|
|
26813
26978
|
rect: rectSchema,
|
|
26814
26979
|
style: styleSchema.optional(),
|
|
26815
26980
|
lineCount: finiteNumber.int().positive().optional(),
|
|
@@ -26818,41 +26983,41 @@ var init_inspection_tools = __esm({
|
|
|
26818
26983
|
scrollWidth: finiteNumber.nonnegative().optional(),
|
|
26819
26984
|
scrollHeight: finiteNumber.nonnegative().optional()
|
|
26820
26985
|
});
|
|
26821
|
-
screenshotSchema =
|
|
26822
|
-
spacingStateSchema =
|
|
26823
|
-
name:
|
|
26824
|
-
viewport:
|
|
26986
|
+
screenshotSchema = z21.string().max(5e6).regex(/^data:image\/(?:png|jpeg|webp);base64,/, "Use a PNG, JPEG, or WebP data URL.");
|
|
26987
|
+
spacingStateSchema = z21.object({
|
|
26988
|
+
name: z21.string().min(1).max(100),
|
|
26989
|
+
viewport: z21.object({
|
|
26825
26990
|
width: finiteNumber.positive().max(2e4),
|
|
26826
26991
|
height: finiteNumber.positive().max(2e4),
|
|
26827
26992
|
devicePixelRatio: finiteNumber.positive().max(10).optional()
|
|
26828
26993
|
}),
|
|
26829
|
-
elements:
|
|
26994
|
+
elements: z21.array(elementSchema).max(1500),
|
|
26830
26995
|
screenshotDataUrl: screenshotSchema.optional().describe("Optional browser screenshot as a data URL. It remains in the structured evidence for report renderers and is not persisted.")
|
|
26831
26996
|
});
|
|
26832
|
-
evidenceSchema =
|
|
26833
|
-
label:
|
|
26834
|
-
value:
|
|
26835
|
-
unit:
|
|
26997
|
+
evidenceSchema = z21.object({
|
|
26998
|
+
label: z21.string(),
|
|
26999
|
+
value: z21.union([z21.number(), z21.string()]),
|
|
27000
|
+
unit: z21.enum(["px", "count"]).optional()
|
|
26836
27001
|
});
|
|
26837
|
-
findingSchema =
|
|
26838
|
-
id:
|
|
26839
|
-
ruleId:
|
|
26840
|
-
state:
|
|
26841
|
-
severity:
|
|
26842
|
-
message:
|
|
26843
|
-
fix:
|
|
26844
|
-
elementIds:
|
|
26845
|
-
evidence:
|
|
27002
|
+
findingSchema = z21.object({
|
|
27003
|
+
id: z21.string(),
|
|
27004
|
+
ruleId: z21.string(),
|
|
27005
|
+
state: z21.string(),
|
|
27006
|
+
severity: z21.enum(["critical", "serious", "moderate"]),
|
|
27007
|
+
message: z21.string(),
|
|
27008
|
+
fix: z21.string(),
|
|
27009
|
+
elementIds: z21.array(z21.string()),
|
|
27010
|
+
evidence: z21.array(evidenceSchema)
|
|
26846
27011
|
});
|
|
26847
|
-
overlayStateSchema =
|
|
26848
|
-
name:
|
|
26849
|
-
viewport:
|
|
26850
|
-
width:
|
|
26851
|
-
height:
|
|
26852
|
-
devicePixelRatio:
|
|
27012
|
+
overlayStateSchema = z21.object({
|
|
27013
|
+
name: z21.string(),
|
|
27014
|
+
viewport: z21.object({
|
|
27015
|
+
width: z21.number(),
|
|
27016
|
+
height: z21.number(),
|
|
27017
|
+
devicePixelRatio: z21.number().optional()
|
|
26853
27018
|
}),
|
|
26854
|
-
elements:
|
|
26855
|
-
screenshotDataUrl:
|
|
27019
|
+
elements: z21.array(z21.object({ id: z21.string(), label: z21.string().optional(), rect: rectSchema })),
|
|
27020
|
+
screenshotDataUrl: z21.string().optional()
|
|
26856
27021
|
});
|
|
26857
27022
|
RECOMMENDED_VIEWPORT_WIDTHS = [390, 1440, 1728];
|
|
26858
27023
|
WIDTH_TOLERANCE = 40;
|
|
@@ -26894,7 +27059,7 @@ var init_inspection_resource = __esm({
|
|
|
26894
27059
|
});
|
|
26895
27060
|
|
|
26896
27061
|
// ../shared/src/mcp/tools/dashboard-review-tools.ts
|
|
26897
|
-
import { z as
|
|
27062
|
+
import { z as z22 } from "zod";
|
|
26898
27063
|
function finding(id, severity, message, fix) {
|
|
26899
27064
|
return { id, severity, message, fix };
|
|
26900
27065
|
}
|
|
@@ -27401,11 +27566,11 @@ function registerDashboardReviewTools({ server, track }) {
|
|
|
27401
27566
|
Pass the complete page module source, the unchanged fixture, the factual interpretation, and the installed Sidebar, StatCard, and Table source files. Never summarize, reconstruct, or submit only the overview component. The tool derives the overview contract from the fixture. It fails incomplete source, rewritten copy, unsupported claims, weak hierarchy, missing or under-composed installed components, raw aside/table markup, the wrong scan order, action color on every rate, and stepper rails on short flows.
|
|
27402
27567
|
|
|
27403
27568
|
FAIL is blocking and returns an MCP tool error. Fix every finding and call the tool again until PASS. Then run check-comprehension and inspect-spacing, and call finalize-dashboard-review. Only its VALID source-bound receipt permits presentation.`,
|
|
27404
|
-
inputSchema:
|
|
27405
|
-
screen:
|
|
27406
|
-
source:
|
|
27569
|
+
inputSchema: z22.object({
|
|
27570
|
+
screen: z22.string().trim().min(1).max(120).describe("What this dashboard is, e.g. 'funnel report overview'."),
|
|
27571
|
+
source: z22.string().min(1).max(12e4).describe("Complete TSX or JSX source for the dashboard page."),
|
|
27407
27572
|
fixture: dashboardFixtureSchema.describe("The request's unchanged fixture object. The first step is the overview; remaining steps are dependent task screens."),
|
|
27408
|
-
interpretation:
|
|
27573
|
+
interpretation: z22.string().trim().min(1).max(2e3).describe("Exact supplied or factually derived takeaway that must appear after records."),
|
|
27409
27574
|
componentSources: dashboardComponentSourcesSchema.optional().describe("Installed Sidebar, StatCard, and Table source files for compound-composition review."),
|
|
27410
27575
|
context: CONTEXT_ARG
|
|
27411
27576
|
}),
|
|
@@ -27453,34 +27618,34 @@ var init_dashboard_review_tools = __esm({
|
|
|
27453
27618
|
"use strict";
|
|
27454
27619
|
init_review_capture();
|
|
27455
27620
|
init_shared();
|
|
27456
|
-
dashboardFixtureSchema =
|
|
27457
|
-
stats:
|
|
27458
|
-
label:
|
|
27459
|
-
value:
|
|
27621
|
+
dashboardFixtureSchema = z22.object({
|
|
27622
|
+
stats: z22.array(z22.object({
|
|
27623
|
+
label: z22.string().trim().min(1).max(300),
|
|
27624
|
+
value: z22.string().trim().min(1).max(300)
|
|
27460
27625
|
})).max(100).optional(),
|
|
27461
|
-
records:
|
|
27462
|
-
title:
|
|
27463
|
-
detail:
|
|
27464
|
-
meta:
|
|
27465
|
-
status:
|
|
27626
|
+
records: z22.array(z22.object({
|
|
27627
|
+
title: z22.string().trim().min(1).max(300),
|
|
27628
|
+
detail: z22.string().trim().min(1).max(1e3),
|
|
27629
|
+
meta: z22.string().trim().min(1).max(300),
|
|
27630
|
+
status: z22.string().trim().min(1).max(300)
|
|
27466
27631
|
})).max(100).optional(),
|
|
27467
|
-
steps:
|
|
27468
|
-
title:
|
|
27469
|
-
description:
|
|
27470
|
-
action:
|
|
27632
|
+
steps: z22.array(z22.object({
|
|
27633
|
+
title: z22.string().trim().min(1).max(300),
|
|
27634
|
+
description: z22.string().trim().min(1).max(1e3),
|
|
27635
|
+
action: z22.string().trim().min(1).max(200)
|
|
27471
27636
|
})).min(2).max(50)
|
|
27472
27637
|
});
|
|
27473
|
-
dashboardComponentSourcesSchema =
|
|
27474
|
-
sidebar:
|
|
27475
|
-
statCard:
|
|
27476
|
-
table:
|
|
27638
|
+
dashboardComponentSourcesSchema = z22.object({
|
|
27639
|
+
sidebar: z22.string().min(1).max(12e4),
|
|
27640
|
+
statCard: z22.string().min(1).max(12e4),
|
|
27641
|
+
table: z22.string().min(1).max(12e4)
|
|
27477
27642
|
});
|
|
27478
27643
|
}
|
|
27479
27644
|
});
|
|
27480
27645
|
|
|
27481
27646
|
// ../shared/src/mcp/tools/final-ui-review-tools.ts
|
|
27482
27647
|
import { createHash as createHash2 } from "crypto";
|
|
27483
|
-
import { z as
|
|
27648
|
+
import { z as z23 } from "zod";
|
|
27484
27649
|
function digest(value) {
|
|
27485
27650
|
return createHash2("sha256").update(value).digest("hex");
|
|
27486
27651
|
}
|
|
@@ -27892,15 +28057,15 @@ function registerFinalUiReviewTools({
|
|
|
27892
28057
|
description: `Issue a source-bound receipt for a completed dashboard.
|
|
27893
28058
|
|
|
27894
28059
|
Submit the public HTTPS preview plus exact source, unchanged data, and installed components. Better Design's own browser captures the deployed page at 390, 1440, and 1728 pixels and content-addresses the live deployment. No trusted browser capture means incomplete. The review blocks weak hierarchy, under-composed components, hidden fixture fields, unclear copy, spacing defects, unsupported interpretations, or source edits.`,
|
|
27895
|
-
inputSchema:
|
|
27896
|
-
screen:
|
|
27897
|
-
previewUrl:
|
|
28060
|
+
inputSchema: z23.object({
|
|
28061
|
+
screen: z23.string().trim().min(1).max(120),
|
|
28062
|
+
previewUrl: z23.string().url().max(2048).refine((value) => new URL(value).protocol === "https:", {
|
|
27898
28063
|
message: "Use a public HTTPS preview URL."
|
|
27899
28064
|
}).describe("Public HTTPS URL for the exact deployed dashboard route."),
|
|
27900
|
-
source:
|
|
28065
|
+
source: z23.string().min(1).max(24e4).describe(
|
|
27901
28066
|
"Complete TSX or JSX page source, including its default export."
|
|
27902
28067
|
),
|
|
27903
|
-
visibleSource:
|
|
28068
|
+
visibleSource: z23.string().min(1).max(12e4).describe(
|
|
27904
28069
|
"Exact visible screen component copied unchanged from source."
|
|
27905
28070
|
),
|
|
27906
28071
|
fixture: dashboardFixtureSchema.describe(
|
|
@@ -27909,7 +28074,7 @@ Submit the public HTTPS preview plus exact source, unchanged data, and installed
|
|
|
27909
28074
|
componentSources: dashboardComponentSourcesSchema.describe(
|
|
27910
28075
|
"Exact installed Sidebar, StatCard, and Table component source files."
|
|
27911
28076
|
),
|
|
27912
|
-
knownTerms:
|
|
28077
|
+
knownTerms: z23.array(z23.string().trim().min(1).max(60)).max(50).optional(),
|
|
27913
28078
|
context: CONTEXT_ARG
|
|
27914
28079
|
}),
|
|
27915
28080
|
annotations: READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS
|
|
@@ -27980,7 +28145,7 @@ var init_final_ui_review_tools = __esm({
|
|
|
27980
28145
|
});
|
|
27981
28146
|
|
|
27982
28147
|
// ../shared/src/mcp/tools/widget-tools.ts
|
|
27983
|
-
import { z as
|
|
28148
|
+
import { z as z24 } from "zod";
|
|
27984
28149
|
function hasIntake(args) {
|
|
27985
28150
|
return Boolean(args.widgetType || INTAKE_FIELDS.some(({ key }) => args[key]));
|
|
27986
28151
|
}
|
|
@@ -28103,16 +28268,16 @@ var init_widget_tools = __esm({
|
|
|
28103
28268
|
WIDGET_GUIDE_TOPIC = "better-widgets";
|
|
28104
28269
|
WIDGET_GUIDE_TOOL = "get-widget-guide";
|
|
28105
28270
|
MINIMUM_CONTRACT_HEADING = "## Minimum build contract";
|
|
28106
|
-
WIDGET_GUIDE_INPUT_SCHEMA =
|
|
28107
|
-
widgetType:
|
|
28108
|
-
userGoal:
|
|
28109
|
-
inputs:
|
|
28110
|
-
interaction:
|
|
28111
|
-
transformation:
|
|
28112
|
-
result:
|
|
28113
|
-
hostFramework:
|
|
28114
|
-
visualContext:
|
|
28115
|
-
maxTokens:
|
|
28271
|
+
WIDGET_GUIDE_INPUT_SCHEMA = z24.object({
|
|
28272
|
+
widgetType: z24.enum(BETTER_WIDGET_TYPES).optional().describe("Widget kind: calculator, estimator, converter, generator, quiz, or checklist."),
|
|
28273
|
+
userGoal: z24.string().trim().min(1).max(500).optional().describe("Who will use the widget and the decision or task it helps them complete."),
|
|
28274
|
+
inputs: z24.string().trim().min(1).max(1e3).optional().describe("Required inputs, including units, allowed ranges, and defaults."),
|
|
28275
|
+
interaction: z24.string().trim().min(1).max(750).optional().describe("How readers tune inputs and see feedback, including presets, custom controls, direct manipulation, and exact-value entry."),
|
|
28276
|
+
transformation: z24.string().trim().min(1).max(1500).optional().describe("Formula, scoring rule, conversion, or transformation that produces the result."),
|
|
28277
|
+
result: z24.string().trim().min(1).max(750).optional().describe("What the result shows, explains, and lets the user do next."),
|
|
28278
|
+
hostFramework: z24.string().trim().min(1).max(300).optional().describe("The host framework and the page or component that will contain the widget."),
|
|
28279
|
+
visualContext: z24.string().trim().min(1).max(750).optional().describe("Existing design tokens, components, or brand reference the widget must match."),
|
|
28280
|
+
maxTokens: z24.number().min(2e3).max(5e4).optional().describe("Maximum tokens to return. Truncates content to fit. Recommended: 5000-10000."),
|
|
28116
28281
|
context: CONTEXT_ARG
|
|
28117
28282
|
});
|
|
28118
28283
|
INTAKE_FIELDS = [
|
|
@@ -28166,7 +28331,7 @@ The completed response combines a scoped build brief with Better Design's stable
|
|
|
28166
28331
|
});
|
|
28167
28332
|
|
|
28168
28333
|
// ../shared/src/mcp/feature-map/schema.ts
|
|
28169
|
-
import { z as
|
|
28334
|
+
import { z as z25 } from "zod";
|
|
28170
28335
|
function oneLine(text3) {
|
|
28171
28336
|
return text3.replace(/\s+/g, " ").trim();
|
|
28172
28337
|
}
|
|
@@ -28201,38 +28366,38 @@ var init_schema3 = __esm({
|
|
|
28201
28366
|
"use strict";
|
|
28202
28367
|
FEATURE_MAP_PATH = ".better-design/feature-map.json";
|
|
28203
28368
|
FEATURE_MAP_LIMITS = { features: 200, flows: 100, steps: 50, paths: 200, name: 120 };
|
|
28204
|
-
NAME =
|
|
28205
|
-
PATHS =
|
|
28206
|
-
featureMapStepSchema =
|
|
28369
|
+
NAME = z25.string().trim().min(1).max(FEATURE_MAP_LIMITS.name);
|
|
28370
|
+
PATHS = z25.array(z25.string().trim().min(1).max(500)).max(FEATURE_MAP_LIMITS.paths).default([]);
|
|
28371
|
+
featureMapStepSchema = z25.object({
|
|
28207
28372
|
name: NAME,
|
|
28208
28373
|
/** URL path such as `/settings/billing`. Absent for a dialog or an email. */
|
|
28209
|
-
route:
|
|
28374
|
+
route: z25.string().trim().max(300).optional(),
|
|
28210
28375
|
/** The file that renders the step, such as the route's page file. */
|
|
28211
|
-
screen:
|
|
28376
|
+
screen: z25.string().trim().max(500).optional(),
|
|
28212
28377
|
/** What the user does here, such as "confirms the cancellation". */
|
|
28213
|
-
action:
|
|
28378
|
+
action: z25.string().trim().max(300).optional(),
|
|
28214
28379
|
components: PATHS,
|
|
28215
28380
|
/** API routes, server actions, hooks and queries the step reads or writes. */
|
|
28216
28381
|
data: PATHS
|
|
28217
28382
|
});
|
|
28218
|
-
featureMapFlowSchema =
|
|
28383
|
+
featureMapFlowSchema = z25.object({
|
|
28219
28384
|
id: NAME,
|
|
28220
28385
|
name: NAME,
|
|
28221
|
-
description:
|
|
28222
|
-
steps:
|
|
28386
|
+
description: z25.string().trim().max(500).optional(),
|
|
28387
|
+
steps: z25.array(featureMapStepSchema).min(1).max(FEATURE_MAP_LIMITS.steps)
|
|
28223
28388
|
});
|
|
28224
|
-
featureMapFeatureSchema =
|
|
28389
|
+
featureMapFeatureSchema = z25.object({
|
|
28225
28390
|
id: NAME,
|
|
28226
28391
|
name: NAME,
|
|
28227
|
-
description:
|
|
28228
|
-
flows:
|
|
28392
|
+
description: z25.string().trim().max(500).optional(),
|
|
28393
|
+
flows: z25.array(featureMapFlowSchema).max(FEATURE_MAP_LIMITS.flows),
|
|
28229
28394
|
/** Components that belong to the feature but to no single step. */
|
|
28230
28395
|
components: PATHS
|
|
28231
28396
|
});
|
|
28232
|
-
featureMapSchema =
|
|
28233
|
-
version:
|
|
28234
|
-
product:
|
|
28235
|
-
features:
|
|
28397
|
+
featureMapSchema = z25.object({
|
|
28398
|
+
version: z25.literal(1),
|
|
28399
|
+
product: z25.string().trim().max(120).optional(),
|
|
28400
|
+
features: z25.array(featureMapFeatureSchema).max(FEATURE_MAP_LIMITS.features)
|
|
28236
28401
|
});
|
|
28237
28402
|
}
|
|
28238
28403
|
});
|
|
@@ -28510,7 +28675,7 @@ var init_read = __esm({
|
|
|
28510
28675
|
});
|
|
28511
28676
|
|
|
28512
28677
|
// ../shared/src/mcp/feature-map/update.ts
|
|
28513
|
-
import { z as
|
|
28678
|
+
import { z as z26 } from "zod";
|
|
28514
28679
|
function find(items, ref) {
|
|
28515
28680
|
const r = ref.trim();
|
|
28516
28681
|
const index2 = items.findIndex((i) => i.id === r || i.name.toLowerCase() === r.toLowerCase());
|
|
@@ -28573,21 +28738,21 @@ var init_update2 = __esm({
|
|
|
28573
28738
|
"../shared/src/mcp/feature-map/update.ts"() {
|
|
28574
28739
|
"use strict";
|
|
28575
28740
|
init_schema3();
|
|
28576
|
-
NAME2 =
|
|
28577
|
-
REF =
|
|
28741
|
+
NAME2 = z26.string().trim().min(1).max(120);
|
|
28742
|
+
REF = z26.string().trim().min(1).max(120).describe("The id or exact name of an existing feature or flow.");
|
|
28578
28743
|
FLOW_INPUT = featureMapFlowSchema.omit({ id: true });
|
|
28579
|
-
featureMapChangeSchema =
|
|
28580
|
-
|
|
28581
|
-
op:
|
|
28744
|
+
featureMapChangeSchema = z26.discriminatedUnion("op", [
|
|
28745
|
+
z26.object({
|
|
28746
|
+
op: z26.literal("add-feature"),
|
|
28582
28747
|
name: NAME2,
|
|
28583
|
-
description:
|
|
28584
|
-
flows:
|
|
28748
|
+
description: z26.string().trim().max(500).optional(),
|
|
28749
|
+
flows: z26.array(FLOW_INPUT).max(100).optional()
|
|
28585
28750
|
}),
|
|
28586
|
-
|
|
28587
|
-
|
|
28588
|
-
|
|
28589
|
-
|
|
28590
|
-
|
|
28751
|
+
z26.object({ op: z26.literal("rename-feature"), feature: REF, name: NAME2 }),
|
|
28752
|
+
z26.object({ op: z26.literal("remove-feature"), feature: REF }),
|
|
28753
|
+
z26.object({ op: z26.literal("set-flow"), feature: REF, flow: FLOW_INPUT }),
|
|
28754
|
+
z26.object({ op: z26.literal("rename-flow"), feature: REF, flow: REF, name: NAME2 }),
|
|
28755
|
+
z26.object({ op: z26.literal("remove-flow"), feature: REF, flow: REF })
|
|
28591
28756
|
]);
|
|
28592
28757
|
idTaken = (items, id, except2) => items.some((item, i) => item.id === id && i !== except2);
|
|
28593
28758
|
toFlow = (f) => ({ id: slugify(f.name), ...f });
|
|
@@ -28606,7 +28771,7 @@ var init_feature_map = __esm({
|
|
|
28606
28771
|
});
|
|
28607
28772
|
|
|
28608
28773
|
// ../shared/src/mcp/tools/feature-map-tools.ts
|
|
28609
|
-
import { z as
|
|
28774
|
+
import { z as z27 } from "zod";
|
|
28610
28775
|
function registerFeatureMapTools({ server, tracked }) {
|
|
28611
28776
|
server.registerTool(
|
|
28612
28777
|
"build-feature-map",
|
|
@@ -28617,9 +28782,9 @@ function registerFeatureMapTools({ server, tracked }) {
|
|
|
28617
28782
|
Run \`git ls-files\` in the repository and pass every path as \`files\`. Routes become screens (Next.js app and pages routers, Remix and React Router flat routes, SvelteKit, Nuxt), each chain of nested routes becomes a flow (/settings/billing/cancel is Settings \u2192 Billing \u2192 Cancel), and components, API routes, hooks and server actions join the step whose name they share.
|
|
28618
28783
|
|
|
28619
28784
|
The result is a first draft. Write it to ${FEATURE_MAP_PATH}, show the user the flows, and ask which steps are missing: a dialog, an email or a background job has no route, so add those with update-feature-map (op "set-flow").`,
|
|
28620
|
-
inputSchema:
|
|
28621
|
-
files:
|
|
28622
|
-
product:
|
|
28785
|
+
inputSchema: z27.object({
|
|
28786
|
+
files: z27.array(z27.string().max(500)).min(1).max(5e4).describe("Every file path in the repository, relative to its root, as printed by `git ls-files`."),
|
|
28787
|
+
product: z27.string().trim().max(120).optional().describe("The product's name, stored at the top of the map."),
|
|
28623
28788
|
context: CONTEXT_ARG
|
|
28624
28789
|
}),
|
|
28625
28790
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -28649,11 +28814,11 @@ ${serializeFeatureMap(map).trimEnd()}
|
|
|
28649
28814
|
description: `Find the flows a change touches, with the screen, route, components and data files of every step. ${WHEN_TO_USE}
|
|
28650
28815
|
|
|
28651
28816
|
Pass \`flow\` ("cancel account"), \`feature\` ("billing") or \`file\` (a path you are about to edit) to narrow it. With no query it lists every flow.`,
|
|
28652
|
-
inputSchema:
|
|
28817
|
+
inputSchema: z27.object({
|
|
28653
28818
|
map: MAP_ARG,
|
|
28654
|
-
feature:
|
|
28655
|
-
flow:
|
|
28656
|
-
file:
|
|
28819
|
+
feature: z27.string().trim().max(120).optional().describe("A feature id or part of its name."),
|
|
28820
|
+
flow: z27.string().trim().max(120).optional().describe("A flow id or part of its name."),
|
|
28821
|
+
file: z27.string().trim().max(500).optional().describe("A file path or route; returns every flow that uses it."),
|
|
28657
28822
|
context: CONTEXT_ARG
|
|
28658
28823
|
}),
|
|
28659
28824
|
annotations: READ_ONLY_TOOL_ANNOTATIONS
|
|
@@ -28679,7 +28844,7 @@ Changes, one per call:
|
|
|
28679
28844
|
- { op: "remove-flow", feature, flow }
|
|
28680
28845
|
|
|
28681
28846
|
\`feature\` and \`flow\` take an id or an exact name. Write the returned file to ${FEATURE_MAP_PATH}.`,
|
|
28682
|
-
inputSchema:
|
|
28847
|
+
inputSchema: z27.object({
|
|
28683
28848
|
map: MAP_ARG,
|
|
28684
28849
|
change: featureMapChangeSchema,
|
|
28685
28850
|
context: CONTEXT_ARG
|
|
@@ -28701,7 +28866,7 @@ var init_feature_map_tools = __esm({
|
|
|
28701
28866
|
"use strict";
|
|
28702
28867
|
init_feature_map();
|
|
28703
28868
|
init_shared();
|
|
28704
|
-
MAP_ARG =
|
|
28869
|
+
MAP_ARG = z27.string().min(1).max(2e6).describe(`The exact contents of ${FEATURE_MAP_PATH}.`);
|
|
28705
28870
|
text2 = (body, isError = false) => ({
|
|
28706
28871
|
content: [{ type: "text", text: body }],
|
|
28707
28872
|
isError
|
|
@@ -28781,157 +28946,7 @@ var MCP_IMPLEMENTATION_VERSION;
|
|
|
28781
28946
|
var init_version2 = __esm({
|
|
28782
28947
|
"../shared/src/mcp/version.ts"() {
|
|
28783
28948
|
"use strict";
|
|
28784
|
-
MCP_IMPLEMENTATION_VERSION = "0.31.
|
|
28785
|
-
}
|
|
28786
|
-
});
|
|
28787
|
-
|
|
28788
|
-
// ../shared/src/mcp/tool-names.ts
|
|
28789
|
-
function measurementToolFamilyV1(tool) {
|
|
28790
|
-
const current = MCP_TOOL_NAMES_V1.find((candidate) => candidate === tool);
|
|
28791
|
-
const renamed = MCP_TOOL_RENAMES_V1.find(([retired]) => retired === tool);
|
|
28792
|
-
const canonical = current ?? renamed?.[1];
|
|
28793
|
-
if (!canonical) return null;
|
|
28794
|
-
return Object.freeze([
|
|
28795
|
-
canonical,
|
|
28796
|
-
...MCP_TOOL_RENAMES_V1.filter(
|
|
28797
|
-
([, successor]) => successor === canonical
|
|
28798
|
-
).map(([retired]) => retired)
|
|
28799
|
-
]);
|
|
28800
|
-
}
|
|
28801
|
-
function measurementToolFamily(tool) {
|
|
28802
|
-
const current = MCP_TOOL_NAMES.find((candidate) => candidate === tool);
|
|
28803
|
-
const renamed = MCP_TOOL_RENAMES.find(([retired]) => retired === tool);
|
|
28804
|
-
const canonical = current ?? renamed?.[1];
|
|
28805
|
-
if (!canonical) return null;
|
|
28806
|
-
return [
|
|
28807
|
-
canonical,
|
|
28808
|
-
...MCP_TOOL_RENAMES.filter(([, successor]) => successor === canonical).map(
|
|
28809
|
-
([retired]) => retired
|
|
28810
|
-
)
|
|
28811
|
-
];
|
|
28812
|
-
}
|
|
28813
|
-
function canonicalMcpToolName(tool) {
|
|
28814
|
-
return MCP_TRACE_TOOL_NAMES.find((registeredTool) => registeredTool === tool) ?? UNKNOWN_MCP_TOOL_NAME;
|
|
28815
|
-
}
|
|
28816
|
-
var MCP_TOOL_NAMES, MCP_TOOL_NAMES_V1, HISTORICAL_MCP_TOOL_NAMES, UNKNOWN_MCP_TOOL_NAME, MCP_TRACE_TOOL_NAMES, MCP_TOOL_RENAMES, MCP_TOOL_RENAMES_V1, MCP_MEASURABLE_TOOL_NAMES_V1, MCP_MEASURABLE_TOOL_NAMES;
|
|
28817
|
-
var init_tool_names = __esm({
|
|
28818
|
-
"../shared/src/mcp/tool-names.ts"() {
|
|
28819
|
-
"use strict";
|
|
28820
|
-
MCP_TOOL_NAMES = [
|
|
28821
|
-
"build-feature-map",
|
|
28822
|
-
"check-comprehension",
|
|
28823
|
-
"create-design-system",
|
|
28824
|
-
"create-figma-prototype",
|
|
28825
|
-
"detect-icon-library",
|
|
28826
|
-
"extract-design-system",
|
|
28827
|
-
"extract-from-url",
|
|
28828
|
-
"finalize-dashboard-review",
|
|
28829
|
-
"find-design-system",
|
|
28830
|
-
"find-icon-library",
|
|
28831
|
-
"find-icons",
|
|
28832
|
-
"get-design-config",
|
|
28833
|
-
"get-design-system-kit",
|
|
28834
|
-
"get-design-system-status",
|
|
28835
|
-
"get-jig-guide",
|
|
28836
|
-
"get-motion-guide",
|
|
28837
|
-
"get-react-native-guide",
|
|
28838
|
-
"get-review-rules",
|
|
28839
|
-
"get-sales-principle",
|
|
28840
|
-
"get-shopify-guide",
|
|
28841
|
-
"get-swiftui-guide",
|
|
28842
|
-
"get-team-rules",
|
|
28843
|
-
"get-three-js-guide",
|
|
28844
|
-
"get-ui-principle",
|
|
28845
|
-
"get-ux-principle",
|
|
28846
|
-
"get-widget-guide",
|
|
28847
|
-
"inspect-spacing",
|
|
28848
|
-
"install-icons",
|
|
28849
|
-
"preview-design-system",
|
|
28850
|
-
"read-feature-map",
|
|
28851
|
-
"review-dashboard-structure",
|
|
28852
|
-
"review-illustration",
|
|
28853
|
-
"review-ui-code",
|
|
28854
|
-
"set-design-config",
|
|
28855
|
-
"update-feature-map"
|
|
28856
|
-
];
|
|
28857
|
-
MCP_TOOL_NAMES_V1 = Object.freeze([
|
|
28858
|
-
"build-feature-map",
|
|
28859
|
-
"check-comprehension",
|
|
28860
|
-
"create-design-system",
|
|
28861
|
-
"create-figma-prototype",
|
|
28862
|
-
"detect-icon-library",
|
|
28863
|
-
"extract-design-system",
|
|
28864
|
-
"extract-from-url",
|
|
28865
|
-
"finalize-dashboard-review",
|
|
28866
|
-
"find-design-system",
|
|
28867
|
-
"find-icon-library",
|
|
28868
|
-
"find-icons",
|
|
28869
|
-
"get-design-config",
|
|
28870
|
-
"get-design-system-kit",
|
|
28871
|
-
"get-design-system-status",
|
|
28872
|
-
"get-jig-guide",
|
|
28873
|
-
"get-motion-guide",
|
|
28874
|
-
"get-react-native-guide",
|
|
28875
|
-
"get-review-rules",
|
|
28876
|
-
"get-sales-principle",
|
|
28877
|
-
"get-shopify-guide",
|
|
28878
|
-
"get-swiftui-guide",
|
|
28879
|
-
"get-team-rules",
|
|
28880
|
-
"get-three-js-guide",
|
|
28881
|
-
"get-ui-principle",
|
|
28882
|
-
"get-ux-principle",
|
|
28883
|
-
"get-widget-guide",
|
|
28884
|
-
"inspect-spacing",
|
|
28885
|
-
"install-icons",
|
|
28886
|
-
"preview-design-system",
|
|
28887
|
-
"read-feature-map",
|
|
28888
|
-
"review-dashboard-structure",
|
|
28889
|
-
"review-illustration",
|
|
28890
|
-
"review-ui-code",
|
|
28891
|
-
"set-design-config",
|
|
28892
|
-
"update-feature-map"
|
|
28893
|
-
]);
|
|
28894
|
-
HISTORICAL_MCP_TOOL_NAMES = [
|
|
28895
|
-
"build-ui-app",
|
|
28896
|
-
"check-design-system-status",
|
|
28897
|
-
"find-design",
|
|
28898
|
-
"get-design-system-docs",
|
|
28899
|
-
"get-design-system-html",
|
|
28900
|
-
"resolve-design-system",
|
|
28901
|
-
"resolve-icon-library",
|
|
28902
|
-
"search-icons"
|
|
28903
|
-
];
|
|
28904
|
-
UNKNOWN_MCP_TOOL_NAME = "unknown-tool";
|
|
28905
|
-
MCP_TRACE_TOOL_NAMES = [
|
|
28906
|
-
...MCP_TOOL_NAMES,
|
|
28907
|
-
...HISTORICAL_MCP_TOOL_NAMES,
|
|
28908
|
-
UNKNOWN_MCP_TOOL_NAME
|
|
28909
|
-
];
|
|
28910
|
-
MCP_TOOL_RENAMES = [
|
|
28911
|
-
["find-design", "find-design-system"],
|
|
28912
|
-
["resolve-design-system", "find-design-system"],
|
|
28913
|
-
["check-design-system-status", "get-design-system-status"],
|
|
28914
|
-
["resolve-icon-library", "find-icon-library"],
|
|
28915
|
-
["search-icons", "find-icons"]
|
|
28916
|
-
];
|
|
28917
|
-
MCP_TOOL_RENAMES_V1 = Object.freeze([
|
|
28918
|
-
Object.freeze(["find-design", "find-design-system"]),
|
|
28919
|
-
Object.freeze(["resolve-design-system", "find-design-system"]),
|
|
28920
|
-
Object.freeze([
|
|
28921
|
-
"check-design-system-status",
|
|
28922
|
-
"get-design-system-status"
|
|
28923
|
-
]),
|
|
28924
|
-
Object.freeze(["resolve-icon-library", "find-icon-library"]),
|
|
28925
|
-
Object.freeze(["search-icons", "find-icons"])
|
|
28926
|
-
]);
|
|
28927
|
-
MCP_MEASURABLE_TOOL_NAMES_V1 = Object.freeze([
|
|
28928
|
-
...MCP_TOOL_NAMES_V1,
|
|
28929
|
-
...MCP_TOOL_RENAMES_V1.map(([retired]) => retired)
|
|
28930
|
-
]);
|
|
28931
|
-
MCP_MEASURABLE_TOOL_NAMES = [
|
|
28932
|
-
...MCP_TOOL_NAMES,
|
|
28933
|
-
...MCP_TOOL_RENAMES.map(([retired]) => retired)
|
|
28934
|
-
];
|
|
28949
|
+
MCP_IMPLEMENTATION_VERSION = "0.31.1";
|
|
28935
28950
|
}
|
|
28936
28951
|
});
|
|
28937
28952
|
|
|
@@ -28940,6 +28955,8 @@ var mcp_exports = {};
|
|
|
28940
28955
|
__export(mcp_exports, {
|
|
28941
28956
|
ADVERTISED_JSON_SCHEMA_DIALECT: () => ADVERTISED_JSON_SCHEMA_DIALECT,
|
|
28942
28957
|
BUILD_TARGET_RULE: () => BUILD_TARGET_RULE,
|
|
28958
|
+
DIRECTORY_INSTRUCTIONS: () => DIRECTORY_INSTRUCTIONS,
|
|
28959
|
+
DIRECTORY_TOOL_DESCRIPTIONS: () => DIRECTORY_TOOL_DESCRIPTIONS,
|
|
28943
28960
|
DRAFT_7_ONLY_KEYWORDS: () => DRAFT_7_ONLY_KEYWORDS,
|
|
28944
28961
|
GUIDANCE_TOOLS: () => GUIDANCE_TOOLS,
|
|
28945
28962
|
HISTORICAL_MCP_TOOL_NAMES: () => HISTORICAL_MCP_TOOL_NAMES,
|
|
@@ -28993,12 +29010,13 @@ function createMcpServer(options) {
|
|
|
28993
29010
|
enableMobileKits = true,
|
|
28994
29011
|
apiFetch = globalThis.fetch,
|
|
28995
29012
|
userId,
|
|
28996
|
-
captureDashboardBrowser: captureDashboardBrowser2
|
|
29013
|
+
captureDashboardBrowser: captureDashboardBrowser2,
|
|
29014
|
+
directoryListing = false
|
|
28997
29015
|
} = options;
|
|
28998
29016
|
const server = new McpServer(
|
|
28999
29017
|
{ name, version: version2 },
|
|
29000
29018
|
{
|
|
29001
|
-
instructions: getMcpInstructions({
|
|
29019
|
+
instructions: directoryListing ? DIRECTORY_INSTRUCTIONS : getMcpInstructions({
|
|
29002
29020
|
enableReactNativeGuide,
|
|
29003
29021
|
enableThreeJsGuide,
|
|
29004
29022
|
enableShopifyKit
|
|
@@ -29006,6 +29024,7 @@ function createMcpServer(options) {
|
|
|
29006
29024
|
}
|
|
29007
29025
|
);
|
|
29008
29026
|
declareAdvertisedSchemaDialect(server);
|
|
29027
|
+
if (directoryListing) declareDirectoryListing(server);
|
|
29009
29028
|
registerAllTools(
|
|
29010
29029
|
server,
|
|
29011
29030
|
provider,
|
|
@@ -29027,10 +29046,12 @@ var init_mcp = __esm({
|
|
|
29027
29046
|
"../shared/src/mcp/index.ts"() {
|
|
29028
29047
|
"use strict";
|
|
29029
29048
|
init_advertised_schema();
|
|
29049
|
+
init_directory_listing();
|
|
29030
29050
|
init_instructions();
|
|
29031
29051
|
init_tools();
|
|
29032
29052
|
init_version2();
|
|
29033
29053
|
init_tools();
|
|
29054
|
+
init_directory_listing();
|
|
29034
29055
|
init_advertised_schema();
|
|
29035
29056
|
init_tool_names();
|
|
29036
29057
|
init_principle_tools();
|
|
@@ -31070,7 +31091,7 @@ var init_engine = __esm({
|
|
|
31070
31091
|
});
|
|
31071
31092
|
|
|
31072
31093
|
// ../shared/src/lint/config.ts
|
|
31073
|
-
import { z as
|
|
31094
|
+
import { z as z28 } from "zod";
|
|
31074
31095
|
function mergeReviewConfig(override) {
|
|
31075
31096
|
if (!override) return DEFAULT_REVIEW_CONFIG;
|
|
31076
31097
|
return {
|
|
@@ -31128,47 +31149,47 @@ var init_config = __esm({
|
|
|
31128
31149
|
semanticTokens: { enabled: true }
|
|
31129
31150
|
}
|
|
31130
31151
|
};
|
|
31131
|
-
reviewFlowStepSchema =
|
|
31132
|
-
|
|
31133
|
-
|
|
31134
|
-
|
|
31135
|
-
|
|
31152
|
+
reviewFlowStepSchema = z28.discriminatedUnion("action", [
|
|
31153
|
+
z28.object({ action: z28.literal("click"), selector: z28.string() }),
|
|
31154
|
+
z28.object({ action: z28.literal("type"), selector: z28.string(), value: z28.string() }),
|
|
31155
|
+
z28.object({ action: z28.literal("press"), key: z28.string() }),
|
|
31156
|
+
z28.object({ action: z28.literal("wait"), milliseconds: z28.number().finite().nonnegative() })
|
|
31136
31157
|
]);
|
|
31137
|
-
visualReviewConfigSchema =
|
|
31138
|
-
enabled:
|
|
31139
|
-
model:
|
|
31140
|
-
enabled:
|
|
31141
|
-
maxScreenshots:
|
|
31158
|
+
visualReviewConfigSchema = z28.object({
|
|
31159
|
+
enabled: z28.boolean().optional(),
|
|
31160
|
+
model: z28.object({
|
|
31161
|
+
enabled: z28.boolean().optional(),
|
|
31162
|
+
maxScreenshots: z28.number().int().nonnegative().optional()
|
|
31142
31163
|
}).optional(),
|
|
31143
|
-
routes:
|
|
31144
|
-
viewports:
|
|
31145
|
-
flows:
|
|
31146
|
-
name:
|
|
31147
|
-
persona:
|
|
31148
|
-
path:
|
|
31149
|
-
steps:
|
|
31164
|
+
routes: z28.array(z28.string()).optional(),
|
|
31165
|
+
viewports: z28.array(z28.enum(["desktop", "mobile", "reflow"])).optional(),
|
|
31166
|
+
flows: z28.array(z28.object({
|
|
31167
|
+
name: z28.string(),
|
|
31168
|
+
persona: z28.string(),
|
|
31169
|
+
path: z28.string().optional(),
|
|
31170
|
+
steps: z28.array(reviewFlowStepSchema)
|
|
31150
31171
|
})).optional(),
|
|
31151
|
-
componentGallery:
|
|
31152
|
-
enabled:
|
|
31153
|
-
componentSelector:
|
|
31154
|
-
canvasSelector:
|
|
31155
|
-
labelSelector:
|
|
31156
|
-
maxComponents:
|
|
31172
|
+
componentGallery: z28.object({
|
|
31173
|
+
enabled: z28.boolean().optional(),
|
|
31174
|
+
componentSelector: z28.string().optional(),
|
|
31175
|
+
canvasSelector: z28.string().optional(),
|
|
31176
|
+
labelSelector: z28.string().optional(),
|
|
31177
|
+
maxComponents: z28.number().int().nonnegative().optional()
|
|
31157
31178
|
}).optional()
|
|
31158
31179
|
});
|
|
31159
|
-
reviewConfigOverrideSchema =
|
|
31160
|
-
designSystem:
|
|
31180
|
+
reviewConfigOverrideSchema = z28.object({
|
|
31181
|
+
designSystem: z28.string().optional(),
|
|
31161
31182
|
visual: visualReviewConfigSchema.optional(),
|
|
31162
|
-
rules:
|
|
31163
|
-
elements:
|
|
31164
|
-
tokens:
|
|
31165
|
-
wcag:
|
|
31166
|
-
enabled:
|
|
31167
|
-
severity:
|
|
31183
|
+
rules: z28.object({
|
|
31184
|
+
elements: z28.record(z28.string(), z28.object({ use: z28.string(), from: z28.string() })).optional(),
|
|
31185
|
+
tokens: z28.record(z28.string(), z28.string()).optional(),
|
|
31186
|
+
wcag: z28.object({
|
|
31187
|
+
enabled: z28.boolean().optional(),
|
|
31188
|
+
severity: z28.enum(["all", "critical+serious"]).optional()
|
|
31168
31189
|
}).optional(),
|
|
31169
|
-
slop:
|
|
31170
|
-
copy:
|
|
31171
|
-
semanticTokens:
|
|
31190
|
+
slop: z28.object({ enabled: z28.boolean().optional() }).optional(),
|
|
31191
|
+
copy: z28.object({ enabled: z28.boolean().optional() }).optional(),
|
|
31192
|
+
semanticTokens: z28.object({ enabled: z28.boolean().optional() }).optional()
|
|
31172
31193
|
}).optional()
|
|
31173
31194
|
});
|
|
31174
31195
|
}
|
|
@@ -31544,7 +31565,7 @@ __export(review_tool_exports, {
|
|
|
31544
31565
|
isReviewableSourcePath: () => isReviewableSourcePath,
|
|
31545
31566
|
registerReviewTool: () => registerReviewTool
|
|
31546
31567
|
});
|
|
31547
|
-
import { z as
|
|
31568
|
+
import { z as z29 } from "zod";
|
|
31548
31569
|
function isReviewableSourcePath(path6) {
|
|
31549
31570
|
return /\.(tsx|jsx|ts|js|css)$/i.test(path6);
|
|
31550
31571
|
}
|
|
@@ -31568,11 +31589,11 @@ get-review-rules gives you the judgment rules to apply yourself. This tool is th
|
|
|
31568
31589
|
This source reviewer cannot judge rendered hierarchy or semantic color roles. After it passes, inspect the rendered dashboard and confirm title \u2192 metrics \u2192 records \u2192 interpretation, distinct action and status colors, and that a stepper begins only after a task starts.
|
|
31569
31590
|
|
|
31570
31591
|
Fix every critical and serious finding, then call it again on the fixed source. Findings feed the same loop as a human code review: read, fix, re-check.`,
|
|
31571
|
-
inputSchema:
|
|
31572
|
-
files:
|
|
31573
|
-
|
|
31574
|
-
path:
|
|
31575
|
-
content:
|
|
31592
|
+
inputSchema: z29.object({
|
|
31593
|
+
files: z29.array(
|
|
31594
|
+
z29.object({
|
|
31595
|
+
path: z29.string().trim().min(1).max(400).describe("Repo-relative file path, e.g. components/signup-form.tsx."),
|
|
31596
|
+
content: z29.string().max(MAX_FILE_CHARS).describe("The file's full source.")
|
|
31576
31597
|
})
|
|
31577
31598
|
).min(1).max(MAX_FILES).describe("The .tsx, .jsx, .ts, .js, and .css files to review, as written."),
|
|
31578
31599
|
context: CONTEXT_ARG
|
|
@@ -31633,7 +31654,7 @@ review-ui-code({ files: [{ path: "components/signup-form.tsx", content: "..." },
|
|
|
31633
31654
|
});
|
|
31634
31655
|
|
|
31635
31656
|
// ../shared/src/mcp/figma-prototype.ts
|
|
31636
|
-
import { z as
|
|
31657
|
+
import { z as z30 } from "zod";
|
|
31637
31658
|
function escapeHtml(value) {
|
|
31638
31659
|
return value.replace(/[&<>"]/g, (char2) => ESCAPES.get(char2) ?? char2);
|
|
31639
31660
|
}
|
|
@@ -31667,63 +31688,63 @@ var colorSchema, paintSchema, sizingSchema, baseSchema, prototypeNodeSchema, pro
|
|
|
31667
31688
|
var init_figma_prototype = __esm({
|
|
31668
31689
|
"../shared/src/mcp/figma-prototype.ts"() {
|
|
31669
31690
|
"use strict";
|
|
31670
|
-
colorSchema =
|
|
31671
|
-
paintSchema =
|
|
31672
|
-
sizingSchema =
|
|
31673
|
-
baseSchema =
|
|
31674
|
-
name:
|
|
31675
|
-
width:
|
|
31676
|
-
height:
|
|
31677
|
-
x:
|
|
31678
|
-
y:
|
|
31679
|
-
sizing:
|
|
31680
|
-
absolute:
|
|
31681
|
-
opacity:
|
|
31691
|
+
colorSchema = z30.object({ r: z30.number(), g: z30.number(), b: z30.number(), a: z30.number() });
|
|
31692
|
+
paintSchema = z30.object({ variable: z30.string().optional(), color: colorSchema.optional() });
|
|
31693
|
+
sizingSchema = z30.enum(["FIXED", "HUG", "FILL"]);
|
|
31694
|
+
baseSchema = z30.object({
|
|
31695
|
+
name: z30.string(),
|
|
31696
|
+
width: z30.number(),
|
|
31697
|
+
height: z30.number(),
|
|
31698
|
+
x: z30.number(),
|
|
31699
|
+
y: z30.number(),
|
|
31700
|
+
sizing: z30.object({ horizontal: sizingSchema, vertical: sizingSchema }).optional(),
|
|
31701
|
+
absolute: z30.boolean().optional(),
|
|
31702
|
+
opacity: z30.number().optional()
|
|
31682
31703
|
});
|
|
31683
|
-
prototypeNodeSchema =
|
|
31704
|
+
prototypeNodeSchema = z30.lazy(() => z30.discriminatedUnion("kind", [
|
|
31684
31705
|
baseSchema.extend({
|
|
31685
|
-
kind:
|
|
31686
|
-
auditKey:
|
|
31687
|
-
systemId:
|
|
31688
|
-
texts:
|
|
31689
|
-
mainTexts:
|
|
31706
|
+
kind: z30.literal("instance"),
|
|
31707
|
+
auditKey: z30.string(),
|
|
31708
|
+
systemId: z30.string(),
|
|
31709
|
+
texts: z30.array(z30.string()),
|
|
31710
|
+
mainTexts: z30.array(z30.string())
|
|
31690
31711
|
}),
|
|
31691
31712
|
baseSchema.extend({
|
|
31692
|
-
kind:
|
|
31693
|
-
layout:
|
|
31694
|
-
direction:
|
|
31695
|
-
gap:
|
|
31696
|
-
padding:
|
|
31697
|
-
primary:
|
|
31698
|
-
counter:
|
|
31699
|
-
wrap:
|
|
31713
|
+
kind: z30.literal("frame"),
|
|
31714
|
+
layout: z30.object({
|
|
31715
|
+
direction: z30.enum(["HORIZONTAL", "VERTICAL"]),
|
|
31716
|
+
gap: z30.number(),
|
|
31717
|
+
padding: z30.tuple([z30.number(), z30.number(), z30.number(), z30.number()]),
|
|
31718
|
+
primary: z30.enum(["MIN", "CENTER", "MAX", "SPACE_BETWEEN"]),
|
|
31719
|
+
counter: z30.enum(["MIN", "CENTER", "MAX", "BASELINE"]),
|
|
31720
|
+
wrap: z30.boolean().optional()
|
|
31700
31721
|
}).optional(),
|
|
31701
31722
|
fill: paintSchema.optional(),
|
|
31702
|
-
stroke:
|
|
31703
|
-
radius:
|
|
31704
|
-
clips:
|
|
31705
|
-
children:
|
|
31723
|
+
stroke: z30.object({ paint: paintSchema, weight: z30.number() }).optional(),
|
|
31724
|
+
radius: z30.number().optional(),
|
|
31725
|
+
clips: z30.boolean().optional(),
|
|
31726
|
+
children: z30.array(prototypeNodeSchema)
|
|
31706
31727
|
}),
|
|
31707
31728
|
baseSchema.extend({
|
|
31708
|
-
kind:
|
|
31709
|
-
characters:
|
|
31710
|
-
fontSize:
|
|
31711
|
-
fontWeight:
|
|
31712
|
-
lineHeight:
|
|
31713
|
-
letterSpacing:
|
|
31714
|
-
fontFamily:
|
|
31715
|
-
align:
|
|
31729
|
+
kind: z30.literal("text"),
|
|
31730
|
+
characters: z30.string(),
|
|
31731
|
+
fontSize: z30.number(),
|
|
31732
|
+
fontWeight: z30.number(),
|
|
31733
|
+
lineHeight: z30.number().optional(),
|
|
31734
|
+
letterSpacing: z30.number().optional(),
|
|
31735
|
+
fontFamily: z30.string().optional(),
|
|
31736
|
+
align: z30.enum(["LEFT", "CENTER", "RIGHT", "JUSTIFIED"]),
|
|
31716
31737
|
fill: paintSchema.optional()
|
|
31717
31738
|
}),
|
|
31718
31739
|
baseSchema.extend({
|
|
31719
|
-
kind:
|
|
31720
|
-
svg:
|
|
31721
|
-
reason:
|
|
31740
|
+
kind: z30.literal("shape"),
|
|
31741
|
+
svg: z30.string(),
|
|
31742
|
+
reason: z30.string()
|
|
31722
31743
|
})
|
|
31723
31744
|
]));
|
|
31724
|
-
prototypeRequestSchema =
|
|
31725
|
-
type:
|
|
31726
|
-
id:
|
|
31745
|
+
prototypeRequestSchema = z30.object({
|
|
31746
|
+
type: z30.literal("better-design-figma-prototype"),
|
|
31747
|
+
id: z30.string(),
|
|
31727
31748
|
frame: prototypeNodeSchema
|
|
31728
31749
|
});
|
|
31729
31750
|
ESCAPES = /* @__PURE__ */ new Map([["&", "&"], ["<", "<"], [">", ">"], ['"', """]]);
|
|
@@ -31909,7 +31930,7 @@ var init_figma_model_prompt = __esm({
|
|
|
31909
31930
|
});
|
|
31910
31931
|
|
|
31911
31932
|
// ../shared/src/mcp/figma-model.ts
|
|
31912
|
-
import { z as
|
|
31933
|
+
import { z as z31 } from "zod";
|
|
31913
31934
|
function fenced(text3, language) {
|
|
31914
31935
|
const match = text3.match(new RegExp("```" + language + "[^\\n]*\\n([\\s\\S]*?)```", "i"));
|
|
31915
31936
|
return match ? match[1] : null;
|
|
@@ -32115,8 +32136,8 @@ var init_figma_model = __esm({
|
|
|
32115
32136
|
init_figma_prototype();
|
|
32116
32137
|
init_html_kit();
|
|
32117
32138
|
init_preview_html();
|
|
32118
|
-
unplacedSchema =
|
|
32119
|
-
unplaced:
|
|
32139
|
+
unplacedSchema = z31.object({
|
|
32140
|
+
unplaced: z31.array(z31.object({ name: z31.string(), reason: z31.string() }))
|
|
32120
32141
|
});
|
|
32121
32142
|
UNSAFE_BLOCKS = /<(script|iframe|object|embed|noscript)\b[\s\S]*?(<\/\1[^>]*>|$)/gi;
|
|
32122
32143
|
UNSAFE_TAGS = /<\/?(meta|link|base|form|style)\b[^>]*(>|$)/gi;
|
|
@@ -32217,7 +32238,7 @@ var init_figma_model_handoff = __esm({
|
|
|
32217
32238
|
});
|
|
32218
32239
|
|
|
32219
32240
|
// ../shared/src/mcp/figma-model-providers.ts
|
|
32220
|
-
import { z as
|
|
32241
|
+
import { z as z32 } from "zod";
|
|
32221
32242
|
function serverLabel(url) {
|
|
32222
32243
|
try {
|
|
32223
32244
|
const parsed = new URL(url);
|
|
@@ -32310,19 +32331,19 @@ var init_figma_model_providers = __esm({
|
|
|
32310
32331
|
DEFAULT_LOCAL_MODEL = "gemma4:latest";
|
|
32311
32332
|
DEFAULT_LOCAL_BASE_URL = "http://localhost:11434/v1";
|
|
32312
32333
|
MAX_OUTPUT_TOKENS = 16e3;
|
|
32313
|
-
chatReplySchema =
|
|
32314
|
-
choices:
|
|
32315
|
-
message:
|
|
32316
|
-
finish_reason:
|
|
32334
|
+
chatReplySchema = z32.object({
|
|
32335
|
+
choices: z32.array(z32.object({
|
|
32336
|
+
message: z32.object({ content: z32.string().nullable().optional() }),
|
|
32337
|
+
finish_reason: z32.string().nullable().optional()
|
|
32317
32338
|
})).min(1),
|
|
32318
|
-
usage:
|
|
32339
|
+
usage: z32.object({ prompt_tokens: z32.number(), completion_tokens: z32.number() }).optional()
|
|
32319
32340
|
});
|
|
32320
|
-
errorCodeSchema =
|
|
32341
|
+
errorCodeSchema = z32.object({ code: z32.string() });
|
|
32321
32342
|
}
|
|
32322
32343
|
});
|
|
32323
32344
|
|
|
32324
32345
|
// ../shared/src/mcp/figma-relay.ts
|
|
32325
|
-
import { z as
|
|
32346
|
+
import { z as z33 } from "zod";
|
|
32326
32347
|
function noPluginMessage() {
|
|
32327
32348
|
return "No Figma plugin is connected. Open the Figma file, run Plugins, Development, Better Design, and leave the panel open.";
|
|
32328
32349
|
}
|
|
@@ -32336,35 +32357,35 @@ var init_figma_relay = __esm({
|
|
|
32336
32357
|
"use strict";
|
|
32337
32358
|
init_figma_prototype();
|
|
32338
32359
|
FIGMA_RELAY_PORT = 4397;
|
|
32339
|
-
relayRequestSchema =
|
|
32340
|
-
id:
|
|
32360
|
+
relayRequestSchema = z33.object({
|
|
32361
|
+
id: z33.string(),
|
|
32341
32362
|
/** A frame name as it reads in Figma. Omitted means the current selection. */
|
|
32342
|
-
frame:
|
|
32363
|
+
frame: z33.string().optional(),
|
|
32343
32364
|
/**
|
|
32344
32365
|
* `model` asks for the serialized frame and its PNG instead of a rendered
|
|
32345
32366
|
* page, so a model can rebuild a frame that holds no library component.
|
|
32346
32367
|
* Omitted means the library path, unchanged. [BD-866]
|
|
32347
32368
|
*/
|
|
32348
|
-
mode:
|
|
32369
|
+
mode: z33.enum(["library", "model"]).optional()
|
|
32349
32370
|
});
|
|
32350
|
-
relayResultSchema =
|
|
32351
|
-
id:
|
|
32352
|
-
html:
|
|
32353
|
-
error:
|
|
32354
|
-
components:
|
|
32355
|
-
report:
|
|
32356
|
-
frame:
|
|
32371
|
+
relayResultSchema = z33.object({
|
|
32372
|
+
id: z33.string(),
|
|
32373
|
+
html: z33.string().optional(),
|
|
32374
|
+
error: z33.string().optional(),
|
|
32375
|
+
components: z33.number().optional(),
|
|
32376
|
+
report: z33.array(z33.object({ name: z33.string(), reason: z33.string() })).default([]),
|
|
32377
|
+
frame: z33.string().optional(),
|
|
32357
32378
|
/** The frames the plugin found, so a missing name can say what is there. */
|
|
32358
|
-
frames:
|
|
32379
|
+
frames: z33.array(z33.string()).optional(),
|
|
32359
32380
|
/** Model mode: the serialized frame, for the model to rebuild. */
|
|
32360
32381
|
tree: prototypeNodeSchema.optional(),
|
|
32361
32382
|
/** Model mode: the frame's PNG export, base64. */
|
|
32362
|
-
png:
|
|
32383
|
+
png: z33.string().optional()
|
|
32363
32384
|
});
|
|
32364
|
-
relayHelloSchema =
|
|
32365
|
-
file:
|
|
32385
|
+
relayHelloSchema = z33.object({
|
|
32386
|
+
file: z33.string(),
|
|
32366
32387
|
/** The design system the file holds, when the plugin knows it. */
|
|
32367
|
-
system:
|
|
32388
|
+
system: z33.string().optional()
|
|
32368
32389
|
});
|
|
32369
32390
|
POLL_HOLD_MS = 25e3;
|
|
32370
32391
|
REQUEST_TIMEOUT_MS = 3e5;
|
|
@@ -32532,7 +32553,7 @@ __export(figma_prototype_tool_exports, {
|
|
|
32532
32553
|
});
|
|
32533
32554
|
import { mkdir as mkdir2, readFile, stat, writeFile as writeFile2 } from "fs/promises";
|
|
32534
32555
|
import { dirname as dirname3, resolve as resolve2 } from "path";
|
|
32535
|
-
import { z as
|
|
32556
|
+
import { z as z34 } from "zod";
|
|
32536
32557
|
async function ensureRelay() {
|
|
32537
32558
|
if (relay) return relay;
|
|
32538
32559
|
starting ??= startFigmaRelay().then((started) => {
|
|
@@ -32592,30 +32613,30 @@ function registerFigmaPrototypeTool(server) {
|
|
|
32592
32613
|
"yourself: the tool returns a prompt file and the frame's image, you write the answer to a file, and",
|
|
32593
32614
|
"you call this tool again with frameId and answerPath so it checks the page and reports what is missing."
|
|
32594
32615
|
].join(" "),
|
|
32595
|
-
inputSchema:
|
|
32596
|
-
frame:
|
|
32597
|
-
outputPath:
|
|
32598
|
-
mode:
|
|
32616
|
+
inputSchema: z34.object({
|
|
32617
|
+
frame: z34.string().optional().describe("The frame's name as it reads in Figma. Omit to use the current selection."),
|
|
32618
|
+
outputPath: z34.string().optional().describe("Where to write the HTML. Relative paths resolve against the working directory."),
|
|
32619
|
+
mode: z34.enum(["library", "model"]).optional().describe(
|
|
32599
32620
|
"library (the default) maps components from a Better Design library. model asks a model to rebuild a frame from any file."
|
|
32600
32621
|
),
|
|
32601
|
-
system:
|
|
32602
|
-
provider:
|
|
32622
|
+
system: z34.string().optional().describe("Model mode: the catalog design system to build with, as find-design-system names it."),
|
|
32623
|
+
provider: z34.enum(["agent", "openai-compatible"]).optional().describe(
|
|
32603
32624
|
"Model mode: agent (the default) hands the frame to you to rebuild; openai-compatible calls a local server, Ollama by default."
|
|
32604
32625
|
),
|
|
32605
|
-
model:
|
|
32606
|
-
frameId:
|
|
32607
|
-
answerPath:
|
|
32626
|
+
model: z34.string().optional().describe(`Model mode with openai-compatible: the local model id. Defaults to ${DEFAULT_LOCAL_MODEL}.`),
|
|
32627
|
+
frameId: z34.string().optional().describe("Model mode, second call: the frameId the first call returned."),
|
|
32628
|
+
answerPath: z34.string().optional().describe("Model mode, second call: the file holding your answer, as the prompt file asks.")
|
|
32608
32629
|
}),
|
|
32609
|
-
outputSchema:
|
|
32610
|
-
status:
|
|
32611
|
-
message:
|
|
32612
|
-
frameId:
|
|
32613
|
-
promptPath:
|
|
32614
|
-
imagePath:
|
|
32615
|
-
path:
|
|
32616
|
-
components:
|
|
32617
|
-
report:
|
|
32618
|
-
model:
|
|
32630
|
+
outputSchema: z34.object({
|
|
32631
|
+
status: z34.enum(["completed", "failed", "needs-answer"]),
|
|
32632
|
+
message: z34.string(),
|
|
32633
|
+
frameId: z34.string().optional(),
|
|
32634
|
+
promptPath: z34.string().optional(),
|
|
32635
|
+
imagePath: z34.string().optional(),
|
|
32636
|
+
path: z34.string().optional(),
|
|
32637
|
+
components: z34.number().optional(),
|
|
32638
|
+
report: z34.array(z34.object({ name: z34.string(), reason: z34.string() })).optional(),
|
|
32639
|
+
model: z34.string().optional()
|
|
32619
32640
|
}),
|
|
32620
32641
|
annotations: { readOnlyHint: false, openWorldHint: true }
|
|
32621
32642
|
},
|