@workday/canvas-kit-mcp 15.0.0-alpha.0056-next.0 → 15.0.0-alpha.0060-next.0

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 CHANGED
@@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url";
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "@workday/canvas-kit-mcp",
9
- version: "14.1.27",
9
+ version: "14.1.28",
10
10
  description: "MCP package for Canvas Kit",
11
11
  author: "Workday, Inc. (https://www.workday.com)",
12
12
  license: "Apache-2.0",
@@ -64,12 +64,26 @@ var package_default = {
64
64
  // lib/config.json
65
65
  var config_default = {
66
66
  upgradeGuideFiles: [
67
+ "upgrade-guides/9.0-UPGRADE-GUIDE.md",
68
+ "upgrade-guides/10.0-UPGRADE-GUIDE.md",
69
+ "upgrade-guides/11.0-UPGRADE-GUIDE.md",
67
70
  "upgrade-guides/12.0-UPGRADE-GUIDE.md",
68
71
  "upgrade-guides/13.0-UPGRADE-GUIDE.md",
69
72
  "upgrade-guides/14.0-UPGRADE-GUIDE.md",
70
73
  "upgrade-guides/15.0-UPGRADE-GUIDE.md",
71
- "llm-txt/llm-token-migration-14.txt",
72
- "llm-txt/llm-style-props-migration.txt"
74
+ "llm-token-migration-14.txt",
75
+ "llm-style-props-migration.txt",
76
+ "theming.md"
77
+ ],
78
+ tokenFiles: [
79
+ "tokens/token-migration.md",
80
+ "tokens/color-palette.md",
81
+ "tokens/color-tokens.md",
82
+ "tokens/color-contrast.md",
83
+ "tokens/color-roles.md",
84
+ "tokens/color-scale.md",
85
+ "llm-token-migration-14.txt",
86
+ "llm-style-props-migration.txt"
73
87
  ]
74
88
  };
75
89
 
@@ -94,6 +108,54 @@ function getServer() {
94
108
  );
95
109
  function getUpgradeGuideResource(fileName) {
96
110
  switch (fileName) {
111
+ case "upgrade-guides/9.0-UPGRADE-GUIDE.md":
112
+ return {
113
+ title: "Canvas Kit 9.0 Upgrade Guide",
114
+ description: `# Canvas Kit 9.0 Upgrade Guide
115
+ This guide contains an overview of the changes in Canvas Kit v9.
116
+
117
+ In this release, we:
118
+ - introduced new Table component
119
+ - removed Drawer, Layout, Column, Stack, HStack, and VStack components
120
+ - removed focusRing and composeModelHooks utilities
121
+ - updated Button, Toast, and Collection components
122
+ - added depth token updates`,
123
+ mimeType: "text/markdown",
124
+ uri: "docs://upgrade-guides/9.0-UPGRADE-GUIDE",
125
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
126
+ };
127
+ case "upgrade-guides/10.0-UPGRADE-GUIDE.md":
128
+ return {
129
+ title: "Canvas Kit 10.0 Upgrade Guide",
130
+ description: `# Canvas Kit 10.0 Upgrade Guide
131
+ This guide contains an overview of the changes in Canvas Kit v10.
132
+
133
+ In this release, we:
134
+ - introduced new styling package @workday/canvas-kit-styling
135
+ - removed CSS packages and useBanner
136
+ - deprecated Input Icon Container, Select Preview, Space Numbers, and Table
137
+ - updated space and depth tokens
138
+ - updated Button, Popups, and Select components`,
139
+ mimeType: "text/markdown",
140
+ uri: "docs://upgrade-guides/10.0-UPGRADE-GUIDE",
141
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
142
+ };
143
+ case "upgrade-guides/11.0-UPGRADE-GUIDE.md":
144
+ return {
145
+ title: "Canvas Kit 11.0 Upgrade Guide",
146
+ description: `# Canvas Kit 11.0 Upgrade Guide
147
+ This guide contains an overview of the changes in Canvas Kit v11.
148
+
149
+ In this release, we:
150
+ - transitioned to new CSS variable-based styling approach
151
+ - introduced Canvas Tokens Web package for semantic tokens
152
+ - introduced new styling API for component styling
153
+ - deprecated Form Field Main, Label Text, Text Area Preview, Text Input Preview
154
+ - updated components to use CSS tokens`,
155
+ mimeType: "text/markdown",
156
+ uri: "docs://upgrade-guides/11.0-UPGRADE-GUIDE",
157
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
158
+ };
97
159
  case "upgrade-guides/12.0-UPGRADE-GUIDE.md":
98
160
  return {
99
161
  title: "Canvas Kit 12.0 Upgrade Guide",
@@ -120,24 +182,24 @@ In this release, we:
120
182
  uri: "docs://upgrade-guides/13.0-UPGRADE-GUIDE",
121
183
  contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
122
184
  };
123
- case "llm-txt/llm-token-migration-14.txt":
185
+ case "llm-token-migration-14.txt":
124
186
  return {
125
187
  title: "Canvas Kit Token Migration Guide",
126
188
  description: `# Canvas Kit Token Migration Guide
127
189
  Guide for migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web.
128
190
  This migration enables better theming capabilities, improved performance, and a more standardized approach to styling.`,
129
191
  mimeType: "text/plain",
130
- uri: "docs://llm-txt/llm-token-migration-14",
192
+ uri: "docs://llm-token-migration-14",
131
193
  contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
132
194
  };
133
- case "llm-txt/llm-style-props-migration.txt":
195
+ case "llm-style-props-migration.txt":
134
196
  return {
135
197
  title: "Canvas Kit Style Props Migration Guide",
136
198
  description: `# Canvas Kit Style Props Migration Guide
137
199
  Guide for migrating from Emotion's style props to @workday/canvas-kit-styling.
138
200
  This migration improves performance, consistency, and maintainability by moving away from runtime styling to static CSS compilation.`,
139
201
  mimeType: "text/plain",
140
- uri: "docs://llm-txt/llm-style-props-migration",
202
+ uri: "docs://llm-style-props-migration",
141
203
  contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
142
204
  };
143
205
  case "upgrade-guides/14.0-UPGRADE-GUIDE.md":
@@ -154,6 +216,25 @@ In this release, we:
154
216
  uri: "docs://upgrade-guides/14.0-UPGRADE-GUIDE",
155
217
  contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
156
218
  };
219
+ case "theming.md":
220
+ return {
221
+ title: "Canvas Kit Theming Guide",
222
+ description: `# Canvas Kit Theming Guide
223
+ Comprehensive guide for theming Canvas Kit applications in v14.
224
+
225
+ Covers:
226
+ - Global theming with CSS variables at :root level (recommended approach)
227
+ - Scoped theming with CanvasProvider for specific sections
228
+ - CSS token structure: base tokens, brand tokens, and system tokens
229
+ - Dark mode implementation
230
+ - RTL support with CSS logical properties
231
+ - Migration from JavaScript theme objects to CSS variables
232
+ - Theming modals, dialogs, and popups
233
+ - Best practices for semantic token usage and accessibility`,
234
+ mimeType: "text/markdown",
235
+ uri: "docs://theming",
236
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
237
+ };
157
238
  default:
158
239
  throw new Error(`${fileName} is not a valid resource`);
159
240
  }
@@ -228,6 +309,190 @@ In this release, we:
228
309
  };
229
310
  }
230
311
  );
312
+ function getTokenResource(fileName) {
313
+ switch (fileName) {
314
+ case "tokens/token-migration.md":
315
+ return {
316
+ title: "Canvas Kit Token Migration v2 to v3",
317
+ description: `# Design Token Migration: v2 to v3
318
+ Comprehensive mapping of deprecated tokens to new values. Includes:
319
+ - Old fruit-named palette tokens (cinnamon, cantaloupe, blueberry, etc.) mapped to new color family names (red, amber, blue, etc.)
320
+ - System token replacements for semantic color usage (sys.color.bg.*, sys.color.fg.*, sys.color.border.*)
321
+ - Migration phases: Assessment, Replacement, Testing, Documentation
322
+ - Accessibility considerations for OKLCH color space changes`,
323
+ mimeType: "text/markdown",
324
+ uri: "docs://tokens/token-migration",
325
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
326
+ };
327
+ case "tokens/color-palette.md":
328
+ return {
329
+ title: "Canvas Kit Color Palette",
330
+ description: `# Canvas Kit Color Palette
331
+ Overview of Workday's shared color palette. Includes:
332
+ - Global palette with 11 colors and 2 neutrals (Slate, Neutral), each with 13 shades
333
+ - OKLCH color space for perceptual balance
334
+ - Accent colors, neutral colors, and alpha colors guidance
335
+ - Token hierarchy: Base tokens (raw values), Brand tokens (tenant theming), System tokens (semantic roles)
336
+ - Color roles mapping (primary, positive, caution, critical, etc.)`,
337
+ mimeType: "text/markdown",
338
+ uri: "docs://tokens/color-palette",
339
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
340
+ };
341
+ case "tokens/color-tokens.md":
342
+ return {
343
+ title: "Canvas Kit Color Tokens",
344
+ description: `# Canvas Kit Color Tokens
345
+ Design tokens naming system and usage guide. Includes:
346
+ - Token naming pattern: [property].[role].[modifier]
347
+ - Properties: bg, fg, text, border, icon, shadow, static
348
+ - Roles: default, primary, positive, critical, caution, info, alt, muted, contrast, ai, focus, disabled, inverse, hint, input, container, divider, transparent, translucent, overlay
349
+ - Modifiers: softest, softer, soft, default, strong, stronger, strongest
350
+ - Theming and platform adaptation guidance`,
351
+ mimeType: "text/markdown",
352
+ uri: "docs://tokens/color-tokens",
353
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
354
+ };
355
+ case "tokens/color-contrast.md":
356
+ return {
357
+ title: "Canvas Kit Color Contrast",
358
+ description: `# Canvas Kit Color Contrast
359
+ Accessibility contrast guidelines for color pairings. Includes:
360
+ - WCAG 2.1 compliance requirements (4.5:1 for text, 3:1 for non-text, 7:1 for AAA)
361
+ - Step difference framework: 500+ for AA text, 400+ for AA non-text, 700+ for AAA
362
+ - Practical contrast tables for background/foreground combinations
363
+ - High contrast (7:1+) guidelines for low vision support`,
364
+ mimeType: "text/markdown",
365
+ uri: "docs://tokens/color-contrast",
366
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
367
+ };
368
+ case "tokens/color-roles.md":
369
+ return {
370
+ title: "Canvas Kit Color Roles",
371
+ description: `# Canvas Kit Color Roles
372
+ Semantic color role system for consistent UI styling. Includes:
373
+ - Role categories: Interactive (primary, focus), Status (positive, caution, critical), Hierarchy (alt, muted, contrast), Functional (disabled, translucent, overlay)
374
+ - Property types: bg, fg, text, icon, border, shadow, static, brand
375
+ - Usage guidance with Do's and Don'ts for each role
376
+ - Modifier scale: softest \u2192 softer \u2192 soft \u2192 default \u2192 strong \u2192 stronger \u2192 strongest`,
377
+ mimeType: "text/markdown",
378
+ uri: "docs://tokens/color-roles",
379
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
380
+ };
381
+ case "tokens/color-scale.md":
382
+ return {
383
+ title: "Canvas Kit Color Scale",
384
+ description: `# Canvas Kit Color Scale
385
+ Tonal scale system from 0 (lightest) to 1000 (darkest). Includes:
386
+ - Step guidelines: 0 (page bg), 50-100 (subtle bg), 200-300 (borders), 400-500 (interactive), 600-700 (accents), 800-950 (text), 975-1000 (dark mode)
387
+ - Perceptual uniformity across color families using OKLCH
388
+ - Amber exception: chroma peaks at 300-400 instead of 500
389
+ - Practical examples for each step range`,
390
+ mimeType: "text/markdown",
391
+ uri: "docs://tokens/color-scale",
392
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
393
+ };
394
+ case "llm-token-migration-14.txt":
395
+ return {
396
+ title: "Canvas Kit v14 Token Migration Guide",
397
+ description: `# Canvas Kit v14 Token Migration Guide
398
+ Complete migration guide from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web. Includes:
399
+ - Installation and CSS variable imports setup
400
+ - Color token mapping tables (old fruit names \u2192 new base tokens \u2192 system tokens)
401
+ - Brand color migration from Emotion theme to CSS variables
402
+ - Spacing tokens (space.s \u2192 system.space.x4), shape tokens (borderRadius \u2192 system.shape)
403
+ - Typography tokens (type.levels \u2192 system.type), depth tokens (depth \u2192 system.depth)
404
+ - Complete before/after code examples for cards, forms, and buttons
405
+ - Best practices and common pitfalls`,
406
+ mimeType: "text/plain",
407
+ uri: "docs://llm-token-migration-14",
408
+ contents: fs.readFileSync(path.resolve(__dirname, "lib", fileName), "utf8")
409
+ };
410
+ default:
411
+ throw new Error(`${fileName} is not a valid token resource`);
412
+ }
413
+ }
414
+ config_default.tokenFiles.forEach((fileName) => {
415
+ const resource = getTokenResource(fileName);
416
+ if (!resource || !resource.contents) {
417
+ throw new Error(`Resource ${fileName} not found`);
418
+ }
419
+ server.registerResource(
420
+ resource.title,
421
+ resource.uri,
422
+ {
423
+ title: resource.title,
424
+ description: resource.description,
425
+ mimeType: resource.mimeType
426
+ },
427
+ async (uri) => ({
428
+ contents: [
429
+ {
430
+ uri: uri.href,
431
+ text: resource.contents
432
+ }
433
+ ]
434
+ })
435
+ );
436
+ });
437
+ server.registerTool(
438
+ "get-canvas-kit-tokens",
439
+ {
440
+ title: "Get Canvas Kit Tokens",
441
+ description: `Retrieve Canvas Kit design token documentation for migrating from old tokens to the new @workday/canvas-tokens-web system.
442
+
443
+ Use this tool when:
444
+ - Migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web
445
+ - Converting old fruit-named colors (cinnamon, blueberry, cantaloupe) to new token system
446
+ - Understanding the token hierarchy: base tokens, system tokens, and brand tokens
447
+ - Finding the correct system token replacement (sys.color.bg.*, sys.color.fg.*, sys.color.border.*)
448
+ - Learning the token naming pattern: [property].[role].[modifier]
449
+ - Understanding color roles (primary, positive, caution, critical, muted, etc.)
450
+ - Migrating spacing (space.s \u2192 system.space.x4), shape, typography, or depth tokens
451
+ - Ensuring WCAG accessibility compliance with color contrast requirements
452
+
453
+ Returns links to token documentation resources including migration guides, color palettes, color roles, contrast guidelines, and complete v14 migration examples.`,
454
+ annotations: {
455
+ readOnlyHint: true
456
+ }
457
+ },
458
+ async () => {
459
+ const output = {
460
+ count: config_default.tokenFiles.length,
461
+ files: config_default.tokenFiles.map((fileName) => {
462
+ const resource = getTokenResource(fileName);
463
+ if (!resource) {
464
+ throw new Error(`Resource ${fileName} not found`);
465
+ }
466
+ return {
467
+ name: resource.title,
468
+ uri: resource.uri
469
+ };
470
+ })
471
+ };
472
+ return {
473
+ content: [
474
+ { type: "text", text: JSON.stringify(output) },
475
+ ...config_default.tokenFiles.map((fileName) => {
476
+ const resource = getTokenResource(fileName);
477
+ if (!resource) {
478
+ throw new Error(`Resource ${fileName} not found`);
479
+ }
480
+ return {
481
+ type: "resource_link",
482
+ uri: resource.uri,
483
+ name: resource.title,
484
+ mimeType: resource.mimeType,
485
+ description: resource.description,
486
+ annotations: {
487
+ audience: ["user", "assistant"]
488
+ }
489
+ };
490
+ })
491
+ ],
492
+ structuredContent: output
493
+ };
494
+ }
495
+ );
231
496
  return server;
232
497
  }
233
498
  export {
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../lib/index.ts", "../package.json", "../lib/config.json"],
4
- "sourcesContent": ["// @ts-nocheck\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {fileURLToPath} from 'node:url';\n\nimport packageJson from '../package.json';\nimport fileNames from './config.json';\nimport {McpServer} from '@modelcontextprotocol/sdk/server/mcp.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nexport function getServer() {\n const mcpVersion = packageJson.version;\n const mcpName = packageJson.name;\n\n const server = new McpServer(\n {\n name: mcpName,\n version: mcpVersion,\n },\n {\n capabilities: {\n tools: {},\n resources: {},\n },\n }\n );\n\n /**\n * Metadata for agents about the resource files.\n */\n function getUpgradeGuideResource(fileName: string) {\n switch (fileName) {\n case 'upgrade-guides/12.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 12.0 Upgrade Guide',\n description: `# Canvas Kit 12.0 Upgrade Guide\nCanvas Kit is transitioning into a new way of styling.\nTheming and building an in sync Canvas Kit CSS has been at the top of our minds.\nWe've started using our new Canvas Tokens Web package to take advantage of CSS variables and provide semantic tokens that can translate to theming components.`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/12.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/13.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 13.0 Upgrade Guide',\n description: `# Canvas Kit 13.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v13.\n\nIn this release, we:\n- refactored components to use our Canvas tokens and styling API\n- made several accessibility improvements\n- updated our brand logos\n- improved our infrastructure`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/13.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-txt/llm-token-migration-14.txt':\n return {\n title: 'Canvas Kit Token Migration Guide',\n description: `# Canvas Kit Token Migration Guide\nGuide for migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web.\nThis migration enables better theming capabilities, improved performance, and a more standardized approach to styling.`,\n mimeType: 'text/plain',\n uri: 'docs://llm-txt/llm-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-txt/llm-style-props-migration.txt':\n return {\n title: 'Canvas Kit Style Props Migration Guide',\n description: `# Canvas Kit Style Props Migration Guide\nGuide for migrating from Emotion's style props to @workday/canvas-kit-styling.\nThis migration improves performance, consistency, and maintainability by moving away from runtime styling to static CSS compilation.`,\n mimeType: 'text/plain',\n uri: 'docs://llm-txt/llm-style-props-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/14.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 14.0 Upgrade Guide',\n description: `# Canvas Kit 14.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v14.\n\nIn this release, we:\n- introduced Workday's new brand direction with a new color palette\n- made styling updates to our components\n- improved token system and theming capabilities`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/14.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n default:\n throw new Error(`${fileName} is not a valid resource`);\n }\n }\n\n fileNames.upgradeGuideFiles.forEach(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource || !resource.contents) {\n throw new Error(`Resource ${fileName} not found`);\n }\n server.registerResource(\n resource.title,\n resource.uri,\n {\n title: resource.title,\n description: resource.description,\n mimeType: resource.mimeType,\n },\n async (uri: URL) => ({\n contents: [\n {\n uri: uri.href,\n text: resource.contents,\n },\n ],\n })\n );\n });\n\n server.registerTool(\n 'get-canvas-kit-upgrade-guides',\n {\n title: 'Get Canvas Kit Upgrade Guides',\n description: 'Retrieve the Canvas Kit Upgrade Guide documentation.',\n annotations: {\n readOnlyHint: true,\n },\n },\n async () => {\n const output = {\n count: fileNames.upgradeGuideFiles.length,\n files: fileNames.upgradeGuideFiles.map(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n name: resource.title,\n uri: resource.uri,\n };\n }),\n };\n return {\n content: [\n {type: 'text', text: JSON.stringify(output)},\n ...fileNames.upgradeGuideFiles.map(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n type: 'resource_link' as const,\n uri: resource.uri,\n name: resource.title,\n mimeType: resource.mimeType,\n description: resource.description,\n annotations: {\n audience: ['user', 'assistant'] as ('user' | 'assistant')[],\n },\n };\n }),\n ],\n structuredContent: output,\n };\n }\n );\n return server;\n}\n", "{\n \"name\": \"@workday/canvas-kit-mcp\",\n \"version\": \"14.1.27\",\n \"description\": \"MCP package for Canvas Kit\",\n \"author\": \"Workday, Inc. (https://www.workday.com)\",\n \"license\": \"Apache-2.0\",\n \"type\": \"module\",\n \"sideEffects\": false,\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/Workday/canvas-kit.git\",\n \"directory\": \"modules/mcp\"\n },\n \"bin\": {\n \"canvas-kit-mcp\": \"./dist/cli.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./lib\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"main\": \"./dist/index.js\",\n \"types\": \"./dist/types/index.d.ts\",\n \"files\": [\n \"dist\"\n ],\n \"scripts\": {\n \"build:copy\": \"tsx ./build/index.ts\",\n \"build:types\": \"tsc --project tsconfig.build.json -d true --declarationDir dist/types --emitDeclarationOnly --pretty\",\n \"build:mcp\": \"esbuild lib/index.ts --bundle --platform=node --packages=external --outfile=dist/index.js --format=esm --sourcemap && esbuild lib/cli.ts --bundle --platform=node --packages=external --outfile=dist/cli.js --format=esm --sourcemap\",\n \"build\": \"npm-run-all build:copy build:types build:mcp\",\n \"clean\": \"rimraf dist && rimraf .build-info && mkdirp dist\"\n },\n \"keywords\": [\n \"canvas\",\n \"canvas-kit\",\n \"workday\",\n \"mcp\"\n ],\n \"dependencies\": {\n \"@modelcontextprotocol/sdk\": \"^1.20.2\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.0.0\",\n \"esbuild\": \"^0.25.11\",\n \"mkdirp\": \"^1.0.3\",\n \"rimraf\": \"^5.0.0\",\n \"tsx\": \"^4.7.0\",\n \"typescript\": \"5.0\"\n }\n}\n", "{\n \"upgradeGuideFiles\": [\n \"upgrade-guides/12.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/13.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/14.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/15.0-UPGRADE-GUIDE.md\",\n \"llm-txt/llm-token-migration-14.txt\",\n \"llm-txt/llm-style-props-migration.txt\"\n ]\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// @ts-nocheck\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {fileURLToPath} from 'node:url';\n\nimport packageJson from '../package.json';\nimport fileNames from './config.json';\nimport {McpServer} from '@modelcontextprotocol/sdk/server/mcp.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nexport function getServer() {\n const mcpVersion = packageJson.version;\n const mcpName = packageJson.name;\n\n const server = new McpServer(\n {\n name: mcpName,\n version: mcpVersion,\n },\n {\n capabilities: {\n tools: {},\n resources: {},\n },\n }\n );\n\n /**\n * Metadata for agents about the resource files.\n */\n function getUpgradeGuideResource(fileName: string) {\n switch (fileName) {\n case 'upgrade-guides/9.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 9.0 Upgrade Guide',\n description: `# Canvas Kit 9.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v9.\n\nIn this release, we:\n- introduced new Table component\n- removed Drawer, Layout, Column, Stack, HStack, and VStack components\n- removed focusRing and composeModelHooks utilities\n- updated Button, Toast, and Collection components\n- added depth token updates`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/9.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/10.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 10.0 Upgrade Guide',\n description: `# Canvas Kit 10.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v10.\n\nIn this release, we:\n- introduced new styling package @workday/canvas-kit-styling\n- removed CSS packages and useBanner\n- deprecated Input Icon Container, Select Preview, Space Numbers, and Table\n- updated space and depth tokens\n- updated Button, Popups, and Select components`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/10.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/11.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 11.0 Upgrade Guide',\n description: `# Canvas Kit 11.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v11.\n\nIn this release, we:\n- transitioned to new CSS variable-based styling approach\n- introduced Canvas Tokens Web package for semantic tokens\n- introduced new styling API for component styling\n- deprecated Form Field Main, Label Text, Text Area Preview, Text Input Preview\n- updated components to use CSS tokens`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/11.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/12.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 12.0 Upgrade Guide',\n description: `# Canvas Kit 12.0 Upgrade Guide\nCanvas Kit is transitioning into a new way of styling.\nTheming and building an in sync Canvas Kit CSS has been at the top of our minds.\nWe've started using our new Canvas Tokens Web package to take advantage of CSS variables and provide semantic tokens that can translate to theming components.`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/12.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/13.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 13.0 Upgrade Guide',\n description: `# Canvas Kit 13.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v13.\n\nIn this release, we:\n- refactored components to use our Canvas tokens and styling API\n- made several accessibility improvements\n- updated our brand logos\n- improved our infrastructure`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/13.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-token-migration-14.txt':\n return {\n title: 'Canvas Kit Token Migration Guide',\n description: `# Canvas Kit Token Migration Guide\nGuide for migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web.\nThis migration enables better theming capabilities, improved performance, and a more standardized approach to styling.`,\n mimeType: 'text/plain',\n uri: 'docs://llm-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-style-props-migration.txt':\n return {\n title: 'Canvas Kit Style Props Migration Guide',\n description: `# Canvas Kit Style Props Migration Guide\nGuide for migrating from Emotion's style props to @workday/canvas-kit-styling.\nThis migration improves performance, consistency, and maintainability by moving away from runtime styling to static CSS compilation.`,\n mimeType: 'text/plain',\n uri: 'docs://llm-style-props-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'upgrade-guides/14.0-UPGRADE-GUIDE.md':\n return {\n title: 'Canvas Kit 14.0 Upgrade Guide',\n description: `# Canvas Kit 14.0 Upgrade Guide\nThis guide contains an overview of the changes in Canvas Kit v14.\n\nIn this release, we:\n- introduced Workday's new brand direction with a new color palette\n- made styling updates to our components\n- improved token system and theming capabilities`,\n mimeType: 'text/markdown',\n uri: 'docs://upgrade-guides/14.0-UPGRADE-GUIDE',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'theming.md':\n return {\n title: 'Canvas Kit Theming Guide',\n description: `# Canvas Kit Theming Guide\nComprehensive guide for theming Canvas Kit applications in v14.\n\nCovers:\n- Global theming with CSS variables at :root level (recommended approach)\n- Scoped theming with CanvasProvider for specific sections\n- CSS token structure: base tokens, brand tokens, and system tokens\n- Dark mode implementation\n- RTL support with CSS logical properties\n- Migration from JavaScript theme objects to CSS variables\n- Theming modals, dialogs, and popups\n- Best practices for semantic token usage and accessibility`,\n mimeType: 'text/markdown',\n uri: 'docs://theming',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n default:\n throw new Error(`${fileName} is not a valid resource`);\n }\n }\n\n fileNames.upgradeGuideFiles.forEach(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource || !resource.contents) {\n throw new Error(`Resource ${fileName} not found`);\n }\n server.registerResource(\n resource.title,\n resource.uri,\n {\n title: resource.title,\n description: resource.description,\n mimeType: resource.mimeType,\n },\n async (uri: URL) => ({\n contents: [\n {\n uri: uri.href,\n text: resource.contents,\n },\n ],\n })\n );\n });\n\n server.registerTool(\n 'get-canvas-kit-upgrade-guides',\n {\n title: 'Get Canvas Kit Upgrade Guides',\n description: 'Retrieve the Canvas Kit Upgrade Guide documentation.',\n annotations: {\n readOnlyHint: true,\n },\n },\n async () => {\n const output = {\n count: fileNames.upgradeGuideFiles.length,\n files: fileNames.upgradeGuideFiles.map(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n name: resource.title,\n uri: resource.uri,\n };\n }),\n };\n return {\n content: [\n {type: 'text', text: JSON.stringify(output)},\n ...fileNames.upgradeGuideFiles.map(fileName => {\n const resource = getUpgradeGuideResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n type: 'resource_link' as const,\n uri: resource.uri,\n name: resource.title,\n mimeType: resource.mimeType,\n description: resource.description,\n annotations: {\n audience: ['user', 'assistant'] as ('user' | 'assistant')[],\n },\n };\n }),\n ],\n structuredContent: output,\n };\n }\n );\n /**\n * Metadata for agents about the token documentation files.\n */\n function getTokenResource(fileName: string) {\n switch (fileName) {\n case 'tokens/token-migration.md':\n return {\n title: 'Canvas Kit Token Migration v2 to v3',\n description: `# Design Token Migration: v2 to v3\nComprehensive mapping of deprecated tokens to new values. Includes:\n- Old fruit-named palette tokens (cinnamon, cantaloupe, blueberry, etc.) mapped to new color family names (red, amber, blue, etc.)\n- System token replacements for semantic color usage (sys.color.bg.*, sys.color.fg.*, sys.color.border.*)\n- Migration phases: Assessment, Replacement, Testing, Documentation\n- Accessibility considerations for OKLCH color space changes`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/token-migration',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-palette.md':\n return {\n title: 'Canvas Kit Color Palette',\n description: `# Canvas Kit Color Palette\nOverview of Workday's shared color palette. Includes:\n- Global palette with 11 colors and 2 neutrals (Slate, Neutral), each with 13 shades\n- OKLCH color space for perceptual balance\n- Accent colors, neutral colors, and alpha colors guidance\n- Token hierarchy: Base tokens (raw values), Brand tokens (tenant theming), System tokens (semantic roles)\n- Color roles mapping (primary, positive, caution, critical, etc.)`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-palette',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-tokens.md':\n return {\n title: 'Canvas Kit Color Tokens',\n description: `# Canvas Kit Color Tokens\nDesign tokens naming system and usage guide. Includes:\n- Token naming pattern: [property].[role].[modifier]\n- Properties: bg, fg, text, border, icon, shadow, static\n- Roles: default, primary, positive, critical, caution, info, alt, muted, contrast, ai, focus, disabled, inverse, hint, input, container, divider, transparent, translucent, overlay\n- Modifiers: softest, softer, soft, default, strong, stronger, strongest\n- Theming and platform adaptation guidance`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-tokens',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-contrast.md':\n return {\n title: 'Canvas Kit Color Contrast',\n description: `# Canvas Kit Color Contrast\nAccessibility contrast guidelines for color pairings. Includes:\n- WCAG 2.1 compliance requirements (4.5:1 for text, 3:1 for non-text, 7:1 for AAA)\n- Step difference framework: 500+ for AA text, 400+ for AA non-text, 700+ for AAA\n- Practical contrast tables for background/foreground combinations\n- High contrast (7:1+) guidelines for low vision support`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-contrast',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-roles.md':\n return {\n title: 'Canvas Kit Color Roles',\n description: `# Canvas Kit Color Roles\nSemantic color role system for consistent UI styling. Includes:\n- Role categories: Interactive (primary, focus), Status (positive, caution, critical), Hierarchy (alt, muted, contrast), Functional (disabled, translucent, overlay)\n- Property types: bg, fg, text, icon, border, shadow, static, brand\n- Usage guidance with Do's and Don'ts for each role\n- Modifier scale: softest \u2192 softer \u2192 soft \u2192 default \u2192 strong \u2192 stronger \u2192 strongest`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-roles',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'tokens/color-scale.md':\n return {\n title: 'Canvas Kit Color Scale',\n description: `# Canvas Kit Color Scale\nTonal scale system from 0 (lightest) to 1000 (darkest). Includes:\n- Step guidelines: 0 (page bg), 50-100 (subtle bg), 200-300 (borders), 400-500 (interactive), 600-700 (accents), 800-950 (text), 975-1000 (dark mode)\n- Perceptual uniformity across color families using OKLCH\n- Amber exception: chroma peaks at 300-400 instead of 500\n- Practical examples for each step range`,\n mimeType: 'text/markdown',\n uri: 'docs://tokens/color-scale',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n case 'llm-token-migration-14.txt':\n return {\n title: 'Canvas Kit v14 Token Migration Guide',\n description: `# Canvas Kit v14 Token Migration Guide\nComplete migration guide from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web. Includes:\n- Installation and CSS variable imports setup\n- Color token mapping tables (old fruit names \u2192 new base tokens \u2192 system tokens)\n- Brand color migration from Emotion theme to CSS variables\n- Spacing tokens (space.s \u2192 system.space.x4), shape tokens (borderRadius \u2192 system.shape)\n- Typography tokens (type.levels \u2192 system.type), depth tokens (depth \u2192 system.depth)\n- Complete before/after code examples for cards, forms, and buttons\n- Best practices and common pitfalls`,\n mimeType: 'text/plain',\n uri: 'docs://llm-token-migration-14',\n contents: fs.readFileSync(path.resolve(__dirname, 'lib', fileName), 'utf8'),\n };\n default:\n throw new Error(`${fileName} is not a valid token resource`);\n }\n }\n\n fileNames.tokenFiles.forEach(fileName => {\n const resource = getTokenResource(fileName);\n if (!resource || !resource.contents) {\n throw new Error(`Resource ${fileName} not found`);\n }\n server.registerResource(\n resource.title,\n resource.uri,\n {\n title: resource.title,\n description: resource.description,\n mimeType: resource.mimeType,\n },\n async (uri: URL) => ({\n contents: [\n {\n uri: uri.href,\n text: resource.contents,\n },\n ],\n })\n );\n });\n\n server.registerTool(\n 'get-canvas-kit-tokens',\n {\n title: 'Get Canvas Kit Tokens',\n description: `Retrieve Canvas Kit design token documentation for migrating from old tokens to the new @workday/canvas-tokens-web system.\n\nUse this tool when:\n- Migrating from @workday/canvas-kit-react/tokens to @workday/canvas-tokens-web\n- Converting old fruit-named colors (cinnamon, blueberry, cantaloupe) to new token system\n- Understanding the token hierarchy: base tokens, system tokens, and brand tokens\n- Finding the correct system token replacement (sys.color.bg.*, sys.color.fg.*, sys.color.border.*)\n- Learning the token naming pattern: [property].[role].[modifier]\n- Understanding color roles (primary, positive, caution, critical, muted, etc.)\n- Migrating spacing (space.s \u2192 system.space.x4), shape, typography, or depth tokens\n- Ensuring WCAG accessibility compliance with color contrast requirements\n\nReturns links to token documentation resources including migration guides, color palettes, color roles, contrast guidelines, and complete v14 migration examples.`,\n annotations: {\n readOnlyHint: true,\n },\n },\n async () => {\n const output = {\n count: fileNames.tokenFiles.length,\n files: fileNames.tokenFiles.map(fileName => {\n const resource = getTokenResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n name: resource.title,\n uri: resource.uri,\n };\n }),\n };\n return {\n content: [\n {type: 'text', text: JSON.stringify(output)},\n ...fileNames.tokenFiles.map(fileName => {\n const resource = getTokenResource(fileName);\n if (!resource) {\n throw new Error(`Resource ${fileName} not found`);\n }\n return {\n type: 'resource_link' as const,\n uri: resource.uri,\n name: resource.title,\n mimeType: resource.mimeType,\n description: resource.description,\n annotations: {\n audience: ['user', 'assistant'],\n },\n };\n }),\n ],\n structuredContent: output,\n };\n }\n );\n return server;\n}\n", "{\n \"name\": \"@workday/canvas-kit-mcp\",\n \"version\": \"14.1.28\",\n \"description\": \"MCP package for Canvas Kit\",\n \"author\": \"Workday, Inc. (https://www.workday.com)\",\n \"license\": \"Apache-2.0\",\n \"type\": \"module\",\n \"sideEffects\": false,\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/Workday/canvas-kit.git\",\n \"directory\": \"modules/mcp\"\n },\n \"bin\": {\n \"canvas-kit-mcp\": \"./dist/cli.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./lib\": {\n \"types\": \"./dist/types/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"main\": \"./dist/index.js\",\n \"types\": \"./dist/types/index.d.ts\",\n \"files\": [\n \"dist\"\n ],\n \"scripts\": {\n \"build:copy\": \"tsx ./build/index.ts\",\n \"build:types\": \"tsc --project tsconfig.build.json -d true --declarationDir dist/types --emitDeclarationOnly --pretty\",\n \"build:mcp\": \"esbuild lib/index.ts --bundle --platform=node --packages=external --outfile=dist/index.js --format=esm --sourcemap && esbuild lib/cli.ts --bundle --platform=node --packages=external --outfile=dist/cli.js --format=esm --sourcemap\",\n \"build\": \"npm-run-all build:copy build:types build:mcp\",\n \"clean\": \"rimraf dist && rimraf .build-info && mkdirp dist\"\n },\n \"keywords\": [\n \"canvas\",\n \"canvas-kit\",\n \"workday\",\n \"mcp\"\n ],\n \"dependencies\": {\n \"@modelcontextprotocol/sdk\": \"^1.20.2\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.0.0\",\n \"esbuild\": \"^0.25.11\",\n \"mkdirp\": \"^1.0.3\",\n \"rimraf\": \"^5.0.0\",\n \"tsx\": \"^4.7.0\",\n \"typescript\": \"5.0\"\n }\n}\n", "{\n \"upgradeGuideFiles\": [\n \"upgrade-guides/9.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/10.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/11.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/12.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/13.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/14.0-UPGRADE-GUIDE.md\",\n \"upgrade-guides/15.0-UPGRADE-GUIDE.md\",\n \"llm-token-migration-14.txt\",\n \"llm-style-props-migration.txt\",\n \"theming.md\"\n ],\n \"tokenFiles\": [\n \"tokens/token-migration.md\",\n \"tokens/color-palette.md\",\n \"tokens/color-tokens.md\",\n \"tokens/color-contrast.md\",\n \"tokens/color-roles.md\",\n \"tokens/color-scale.md\",\n \"llm-token-migration-14.txt\",\n \"llm-style-props-migration.txt\"\n ]\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -44,7 +44,7 @@ assist with your migration process.
44
44
  migration
45
45
 
46
46
  <DownloadLLMFile
47
- rawFileLink="https://raw.githubusercontent.com/Workday/canvas-kit/master/modules/docs/llm-txt/llm-style-props-migration.txt"
47
+ rawFileLink="https://raw.githubusercontent.com/Workday/canvas-kit/master/modules/docs/llm/llm-style-props-migration.txt"
48
48
  filename="llm-style-props-migration.txt"
49
49
  />
50
50